El documento presenta una lista de 7 integrantes que estudian modelos de procesos de software. Luego introduce varios modelos de desarrollo de software como el modelo en cascada, modelo de prototipos, modelo en espiral, desarrollo por etapas, desarrollo iterativo e incremental, RAD, desarrollo concurrente, proceso unificado y RUP. Cada modelo se describe brevemente con sus características principales. Finalmente, concluye que el desarrollo de software es fundamental para la informática y requiere mucho esfuerzo.
2. Introducción
El modelo de proceso de desarrollo de software es quizás la pieza más importante de este
engranaje conocido como ingeniería de software. Existen varios modelos para el proceso de
desarrollo software. Los modelos están conformados por etapas que son generales a todos los
enfoques.
3. Modelo en cascada o Clásico (modelo tradicional)
● Primer modelo empleado (Royce, 1970), también denominado
ciclo de vida clásico y modelo lineal secuencial.
● Consiste en la ejecución secuencial de una serie de fases que
se suceden, lo que da nombre al modelo.
● Cada fase genera documentación para la siguiente. Esta
documentación debe ser aprobada.
● Una fase no comienza hasta que la anterior ha terminado.
4. Modelo de prototipos
● El modelo de prototipos. También conocido como desarrollo con
prototipación o modelo de desarrollo evolutivo.
● Este modelo se utiliza para dar al usuario una vista preliminar de
parte del software.
● Este modelo es básicamente prueba y error ya que si al usuario no le
gusta una parte del prototipo significa que la prueba fallo por lo cual
se debe corregir el error que se tenga hasta que el usuario quede
satisfecho.
5. Modelo en espiral
● Puede considerarse como un metamodelo de
proceso
● Principalmente, reúne características del
modelo clásico y de prototipos
● Aparece el análisis de riesgo
● Se divide en un número de actividades
estructurales, también denominadas regiones
de tareas. En el modelo original de Boehm
aparecen cuatro regiones de tareas
● Los roles se establecen en : Cliente, analista,
desarrolladores y especialista en pruebas.
6. Desarrollo por etapas
● Es similar al Modelo de prototipos ya que se muestra al cliente el software en
diferentes estados sucesivos de desarrollo
● Se diferencia en que las especificaciones no son conocidas en detalle al inicio
del proyecto
● Se desarrollan simultáneamente con las diferentes versiones del código.
● Las actividades de los sistemas de la información evolucionaron alrededor del
procesamiento de datos pesados y las rutinas de procesamiento de números.
7. Desarrollo iterativo y creciente o Iterativo e
Incremental
● Es un proceso de desarrollo de software creado en respuesta a las debilidades del
modelo tradicional de cascada.
● Es un conjunto de tareas agrupadas en pequeñas etapas repetitivas (iteraciones).
● Es uno de los más utilizados en los últimos tiempos, empleado en metodologías diversas.
● El modelo consta de diversas etapas de desarrollo en cada incremento, las cuales inician
con el análisis y finalizan con la instauración y aprobación del sistema.
● Las actividades son las siguientes: Planificar la iteración, Análisis de los Casos de Uso y
escenarios, Diseño de opciones arquitectónicas, Codificación y pruebas, Evaluación de
la entrega de ejecutable y Preparación de la entrega.
8. RAD
● Es un proceso de desarrollo de software.
● El método comprende el desarrollo interactivo,
la construcción de prototipos y el uso de
utilidades CASE (Computer Aided Software
Engineering).
● Tradicionalmente, el desarrollo rápido de
aplicaciones tiende a englobar también la
usabilidad, utilidad y la rapidez de ejecución.
9. Desarrollo Concurrente
● La programación concurrente tiene sus
raíces en los sistemas operativos y en la
programación de sistemas.
● La aparición del concepto de Thread o
hilo que hace que los programas puedan
ejecutarse con mayor velocidad
comparados con aquellos que utilizan el
concepto de proceso.
10. Proceso Unificado
● El Proceso Unificado de Desarrollo de Software (ISBN 84-7829-036-2) y fue
publicado en 1999 por Ivar Jacobson, Grady Booch y James Rumbaugh,
● El Proceso Unificado es un proceso de desarrollo de software: “conjunto de
actividades necesarias para transformar los requisitos del usuario en un
sistema software”.
RUP
● RUP es un marco genérico que puede especializarse para una variedad de
tipos de sistemas, diferentes áreas de aplicación, tipos de organizaciones,
niveles de aptitud y diferentes tamaños de proyectos.
● RUP está dirigido por casos de uso, centrado en la arquitectura, y es iterativo
e incremental.
11. Conclusiones
El desarrollo de software es uno de los pilares fundamentales de la
Informática y al cual se dedican muchas horas de esfuerzos en
universidades, centros de investigación y empresas de todos los
tamaños.