Modelos Del Proceso de Software P II
Modelos Del Proceso de Software P II
SOFTWARE I
Ing. Angel Ochoa Flores, MSc.
[email protected]
MODELOS
DEL PROCESO DE SOFTWARE
MODELOS DE PROCESO PRESCRIPTIVO
En este caso, tal vez sea posible planear los primeros incrementos de
forma que eviten el uso de dicho hardware, y así proporcionar una
funcionalidad parcial a los usuarios finales sin un retraso importante.
El modelo incremental
Modelos de proceso evolutivo
El software, como todos los sistemas complejos, evoluciona en el tiempo. Es
frecuente que los requerimientos del negocio y del producto cambien conforme
avanza el desarrollo, lo que hace que no sea realista trazar una trayectoria
rectilínea hacia el producto final; los plazos apretados del mercado hacen que sea
imposible la terminación de un software perfecto, pero debe lanzarse una versión
limitada a fin de aliviar la presión de la competencia o del negocio; se comprende
bien el conjunto de requerimientos o el producto básico, pero los detalles del
producto o extensiones del sistema aun están por definirse.
En estas situaciones y otras parecidas se necesita un modelo de proceso diseñado
explícitamente para adaptarse a un producto que evoluciona con el tiempo.
Los modelos evolutivos son iterativos. Se caracterizan por la manera en la que
permiten desarrollar versiones cada vez mas completas del software.
A continuación se presentan dos modelos comunes de proceso evolutivo.
Hacer prototipos
Es frecuente que un cliente defina un conjunto de objetivos generales para el
software, pero que no identifique los requerimientos detallados para las funciones
y características.
En otros casos, el desarrollador tal vez no este seguro de la eficiencia de un
algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debe
adoptar la interacción entre el humano y la maquina. En estas situaciones, y
muchas otras, el paradigma de hacer prototipos tal vez ofrezca el mejor enfoque.
Aunque es posible hacer prototipos como un modelo de proceso aislado, es mas
común usarlo como una técnica que puede implementarse en el contexto de
cualquiera de los modelos de proceso descritos. Sin importar la manera en la que
se aplique, el paradigma de hacer prototipos le ayudara a usted y a otros
participantes a mejorar la comprensión de lo que hay que elaborar cuando los
requerimientos no están claros.
El paradigma de hacer prototipos comienza con comunicación. Usted se
reúne con otros participantes para definir los objetivos generales del
software, identifica cualesquiera requerimientos que conozca y detecta
las áreas en las que es imprescindible una mayor definición.
1. Los participantes ven lo que parece ser una versión funcional del software, sin
darse cuenta de que el prototipo se obtuvo de manera rápida; no perciben que
en la prisa por hacer que funcionara, usted no considero la calidad general del
software o la facilidad de darle mantenimiento a largo plazo. Cuando se les
informa que el producto debe rehacerse a fin de obtener altos niveles de
calidad, los participantes gritan que es usted un tonto y piden “unos cuantos
arreglos” para hacer del prototipo un producto funcional. Con demasiada
frecuencia, el gerente de desarrollo del software cede.
2. Como ingeniero de software, es frecuente que llegue a compromisos respecto
de la implementación a fin de hacer que el prototipo funcione rápido. Quizá
utilice un sistema operativo inapropiado, o un lenguaje de programación tan
solo porque cuenta con el y lo conoce; tal vez implemento un algoritmo
ineficiente solo para demostrar capacidad. Después de un tiempo, quizá se
sienta cómodo con esas elecciones y olvide todas las razones por las que eran
inadecuadas. La elección de algo menos que lo ideal ahora ha pasado a formar
parte del sistema.