Pressman[1] define
el proceso del software como una estructura para las actividades, acciones y
tareas que se requieren a fin de construir software de alta calidad.
Su ciclo de vida, entonces refiere desde que éste
es planeado y no termina cuando sale al mercado o cuando sus clientes lo
comienzan a utilizar, sino que continúa con la parte del mantenimiento que el
desarrollador debe darle para que no llegue a ser obsoleto.
En el siguiente gráfico se describe dicho modelo en
cascada, basado en las referencias de Somerville[2] y su
texto Ingeniería de Software.
En la parte de la Planificación se indica que hay que:
- · Describir el entorno
- · Definir recursos humanos y costos
- · Identificar necesidades
- · Identificar restricciones de costo y tiempo
- · Evaluar viabilidad y riesgos
- · Asignar funciones al software, hardware y bases de datos
- · Definir el sistema y crear el modelo de arquitectura
Además, se hace énfasis en que en el
área del diseño, es la parte central de la Ingeniería de Software, se debe
pensar en el usuario y crear una interfaz que le sea amigable a quien sea que
vaya a ser el usuario final (al cual se tiene estudiado en la parte de la
planeación), ya que el 50% del desarrollo del prototipo viene de parte del
usuario.
Sin embargo, existen críticas hacia
este modelo en cascada, ya que al ser muy lineal, y pese a que se analizan
riesgos para prevenir errores o corregirlos conforme se vayan presentando, en
las empresas no suele trabajarse de esa manera.
Además, dicho modelo requiere que el
cliente desde un principio defina todas sus necesidades, y esta situación ya en
estos tiempos suena utópica ya que los cambios se presentan muchas o en la
mayoría de las veces, sobre la marcha. Aquí, tanto el equipo de desarrollo,
como la empresa y el cliente deben desarrollar la paciencia.
Por otra parte se nos presenta también
el modelo incremental en el cual se
inicia entregando lo más básico y conforme los requerimientos vayan siendo
mayores, se va mejorando el software, de manera que el resultado final resulta
más detallado y acorde a las necesidades del cliente.
· Se usa cuando no se dispone de personal suficiente para entregar un
producto completo, sino por partes.
·
Incrementos planean riesgos técnicos.
·
Proporcionan funcionalidad con poco retraso.
Importancia
La importancia del software actual
está implícita en nuestras actividades cotidianas, y en el ciclo de vida del mismo
no se abarca la parte en la que éste muere. Como en el humano hay una parte
donde se termina nuestra existencia, el software debe adaptarse a los nuevos
modelos y nuevas tecnologías para seguir subsistiendo.
Un ejemplo de esto serían los antivirus[3]. En mayo
de 2014, el vicepresidente de Symantec declaró prácticamente la muerte de éstos
ya que detectan únicamente el 45% del malware existente. Dicho malware
evoluciona mucho más rápido que los antivirus, por lo que empresas y usuarios
están constantemente en peligro y dichas compañías no han podido hacer mucho o
nada para evitar que los ordenadores se infecten.
[1] Roger
S. Pressman. (2010). Ingeniería del Software. Un enfoque práctico. New York:
Editorial McGraw Hill.
No hay comentarios:
Publicar un comentario