Este documento presenta una unidad sobre metodologías para el desarrollo de software. Explica conceptos clave como ingeniería de software, procesos de software y calidad de software. Luego describe qué es una metodología y contrasta metodologías con ciclos de vida. Finalmente, introduce diferentes modelos de procesos para el desarrollo de software como modelos en cascada, incrementales y basados en prototipos. El objetivo es dotar a los estudiantes de conocimientos sobre metodologías para el desarrollo de sistemas de información.
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
Unidad vi adsi - p1- web
1. 1
Metodologías para el desarrollo de
Unidad VI – software
Metodologías para el desarrollo de
software
( Parte I )
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
2. 2
Contenido Detallado
Unidad VI : Metodologías para el desarrollo de
software
1.- Conceptos de repaso fundamental.…..
Ingeniería de Software
Procesos de software
Elementos del Proceso de Software (PS)
Modelo de proceso
Calidad del Software
Incidencia del proceso de software en la calidad del producto
2.- ¿ Que es una Metodologías ?
Conceptos fundamentales de desarrollo de software.
Metodología vs Ciclo de vida
Impacto de las metodologías en el entorno de desarrollo
Características deseables de una metodología
3.- Modelos de procesos en el desarrollo de software
Codificar y Corregir
Vertientes de los modelos de desarrollo de software
Modelos Convencionales
Modelos en cascada
Modelos de procesos incrementales
Modelo de desarrollo rápido de aplicaciones (DRA)
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
3. 3
Contenido Detallado
Unidad VI : Metodologías para el desarrollo de
software
Modelo de procesos evolutivos
Construcción de prototipos
Modelo en Espiral
Modelo de desarrollo concurrente
Modelos especificados de procesos
Desarrollo basado en Aspectos
Desarrollo basado en componentes
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
4. 4
Metodologías para el desarrollo de
Unidad VI – software
Objetivo General
Esta unidad tendrá como objetivo fundamental dotar al
alumno de los conocimientos fundamentales (tanto
teóricos como prácticos) para la automatización de
soluciones a problemas de gestión de empresas. Se
estudiaran las diversas estrategias para el desarrollo
de sistemas de información, así como las principales
técnicas de análisis, diseño e implementación de un
sistema de información.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
5. 5
Metodologías para el desarrollo de
Unidad VI – software
Objetivos Específicos de la Unidad
• .- Desarrollar en el alumno capacidades críticas y de razonamiento.
• .- Mejorar su capacidad de comunicación con otros alumnos, como preparación
para trabajar en grupo.
• .- Dotar al alumno de una disciplina para desarrollar software.
• .- Que el alumno conozca distintos métodos de desarrollo de software.
• .- Dotarle de la capacidad de aplicar los métodos de desarrollo de software
estudiados utilizando las herramientas adecuadas.
• .- Conseguir que el alumno sea capaz de integrarse en grupos de trabajo para
desarrollar software.
• .- Dotar al alumno de la capacidad de evaluación y crítica de los resultados
obtenidos al desarrollar una aplicación
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
6. 6
Metodologías para el desarrollo de
Unidad VI – software
¿ Como Comenzamos ?
¡¡¡ Repasemos algunos conceptos ! !!
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
7. 7
Metodologías para el desarrollo de
Unidad VI – software
Ingeniería de Software
Es la aplicación de un planteamiento
sistemático, disciplinado y cuantificable al
desarrollo, operación y mantenimiento de
software.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
8. 8
Metodologías para el desarrollo de
Unidad VI – software
Proceso de Software
Es un conjunto de actividades técnicas y
administrativas realizadas durante la
adquisición, desarrollo, mantenimiento y
retiro de software.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
9. 9
Metodologías para el desarrollo de
Unidad VI – software
Elementos de Proceso de Software (PS)
Fases
Actividades
Productos
Roles
Agentes
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
10. 10
Metodologías para el desarrollo de
Unidad VI – software
Calidad de Software
Vista interna
– Grado en que un sistema, componente o proceso
cumple con los requerimientos especificados.
Vista externa
– Grado en que un sistema, componente o proceso
cumple con las necesidades o expectativas del cliente
o usuario.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
11. 11
Metodologías para el desarrollo de
Unidad VI – software
Incidencia de proceso en la calidad de
producto de software
Cliente/Usuario
Proceso
Proceso
Producto
Desarrollador
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
12. 12
Metodologías para el desarrollo de
Unidad VI – software
2.- ¿ QUE ES UNA METODOLOGÍA ?
“Conjunto de métodos empleados para el desarrollo de
sistemas automatizados”.
“Conjunto de métodos que se siguen en una investigación
científica o en una exposición doctrinal”.
Se nivel de conjunto de métodos ejecutados por una o más personas
A refiere al desarrollo de Software:
con la finalidad de producir un software que signifique la solución para
cualquiera de los diferentes sistemas involucrados en una organización.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
13. 13
Metodologías para el desarrollo de
Unidad VI – software
Conceptos Fundamentales del Desarrollo de
Software
Proceso:
Conjunto de las fases sucesivas de un fenómeno natural o de una
operación artificial.
Método:
1. Modo de decir o hacer con orden.
2. Modo de obrar o proceder, hábito o costumbre que cada uno tiene
y observa.
Tarea:
Actividades elementales en que se dividen los procesos.
Procedimiento:
Definición de la forma de ejecutar la tarea.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
14. 14
Metodologías para el desarrollo de
Unidad VI – software
Conceptos Fundamentales del Desarrollo de
Software
Técnica:
Herramienta utilizada para aplicar un procedimiento. Se
puede utilizar una o varias.
Herramienta :
Para realizar una técnica, podemos apoyarnos en las
herramientas de software que automatizan su aplicación.
Producto:
Resultado de cada etapa.
Fuente: Diccionario de la Real Academia Española ( www.rae.es )
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
15. 15
Metodologías para el desarrollo de
Unidad VI – software
METODOLOGÍA Vs CICLO DE VIDA
2.- Determinación de
los requerimientos de
1.- Identificación de información. 3.- Análisis de las
problemas, oportunidades y necesidades del sistema.
objetivos
7.- Implementación y 4.- Diseño del sistema
evaluación del recomendado.
sistema. 5.- Desarrollo y
6.- Prueba y mantenimiento documentación del
del sistema software.
Una metodología puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida
indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cómo hacerlo.
La metodología indica cómo hay que obtener los distintos productos parciales y finales
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
16. 16
Metodologías para el desarrollo de
Unidad VI – software
Impacto de la
Entorno de Desarrollo de Software
Metodología Organización de Desarrollo de Software
en el entorno
de Desarrollo Equipo de Desarrollo de Software
Selecciona las Dan una
Herramientas Procedimientos estructura
de Gestión visible
Coordinan
Da informes a y guían
la dirección
METODOLOGIA
DE
DESARROLLO
Soportan
Métodos
Soporte
Automatizado
Técnicas
Determinan las
herramientas
necesarias
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
17. 17
Metodologías para el desarrollo de
Unidad VI – software
Las metodologías suelen responder a las preguntas:
?
e? en
Qu
¿C
om Q ui ¿ Y
Cu
¿ o? ¿ and
o?
En lo relativo al camino a seguir para producir el software.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
18. 18
Metodologías para el desarrollo de
Unidad VI – software
Una metodología completa es algo más que una notación, un proceso, y
herramientas.
Estas "metodologías completas" proporcionan:
• Guías para estimar costos.
• Manejo del proyecto en las tareas y entregas.
• Medidas y métricas.
• Formas definidas y dirección en las entregas de la construcción.
• Políticas y procedimientos para garantizar la calidad del software.
• Descripciones de los roles y programas de entrenamiento detallados.
• Ejemplos totalmente trabajados.
• Ejercicios de entrenamiento.
• Técnicas para adaptar el método.
• Técnicas definidas.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
19. 19
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Un sistema informático está compuesto por hardware y software.
• En cuanto al hardware, su producción se realiza sistemáticamente y la base de conocimiento para el
desarrollo de dicha actividad está claramente definida.
• Respecto del software, su construcción y resultados han sido históricamente cuestionados debido a
los problemas asociados
Se pueden destacar los siguientes :
• Los sistemas no responden a las expectativas de los usuarios.
• Los programas “fallan” con cierta frecuencia.
• Los costes del software son difíciles de prever y normalmente superan las estimaciones.
• La modificación del software es una tarea difícil y costosa.
• El software se suele presentar fuera del plazo establecido y con menos prestaciones de las
consideradas inicialmente.
• Normalmente, es difícil cambiar de entorno hardware usando el mismo software.
• El aprovechamiento óptimo de los recursos (personas, tiempo, dinero, herramientas, etc.) no suele
cumplirse.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
20. 20
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Algunas deficiencias comunes en el desarrollo de software son:
• Escasa o tardía validación con el cliente.
• Inadecuada gestión de los requisitos.
• No existe medición del proceso ni registro de datos históricos.
• Estimaciones imprevistas de plazos y costos.
• Excesiva e irracional presión en los plazos.
• Escaso o deficiente control en el progreso del proceso de desarrollo.
• No se hace gestión de riesgos formalmente.
• No se realiza un proceso formal de pruebas.
• No se realizan revisiones técnicas formales e inspecciones de código
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
21. 21
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Un proceso de desarrollo de software tiene como propósito la producción eficaz y
eficiente de un producto software que reúna los requisitos del cliente.
Este proceso es intensamente intelectual, afectado por la creatividad y juicio de las
personas involucradas.
Un producto software es intangible y por lo general muy abstracto, esto dificulta la
definición del producto y sus requisitos, sobre todo cuando no se tiene precedentes en
productos software similares.
Esto hace que los requisitos sean difíciles de consolidar tempranamente. Así, los
cambios en los requisitos son inevitables, no sólo después de entregado en producto
sino también durante el proceso de desarrollo
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
22. 22
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Sommerville I. define modelo de proceso de software como
“Una representación simplificada de un proceso de software, representada
desde una perspectiva específica. Por su naturaleza los modelos son
simplificados, por lo tanto un modelo de procesos del software es una
abstracción de un proceso real.”
Sommerville, I., Ingeniería de Software, Pearson Educación, 2002.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
23. 23
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Codificar y corregir (Code-and-Fix)
Este es el modelo básico utilizado en los inicios del desarrollo de software. Contiene dos
pasos:
• Escribir código.
• Corregir problemas en el código.
Se trata de primero implementar algo de código y luego pensar acerca de requisitos, diseño,
validación, y mantenimiento.
Este modelo tiene tres problemas principales :
• Después de un número de correcciones, el código puede tener una muy mala
estructura, hace que los arreglos sean muy costosos.
• Frecuentemente, aún el software bien diseñado, no se ajusta a las necesidades del
usuario, por lo que es rechazado o su reconstrucción es muy cara.
• El código es difícil de reparar por su pobre preparación para probar y modificar.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
24. 24
Metodologías para el desarrollo de
Unidad VI – software
CARACTERISTICAS DESEABLES DE UNA METODOLOGIA
☺ Existencia de reglas predefinidas
☺ Cobertura total del ciclo de desarrollo
☺ Verificaciones intermedias
☺ Planificación y control
☺ Comunicación efectiva
☺ Utilización sobre un abanico amplio de proyectos
☺ Fácil formación
☺ Herramientas CASE
☺ Actividades que mejoren el proceso de desarrollo
☺ Soporte al mantenimiento
☺ Soporte de la reutilización de software
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
25. 25
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Los procesos utilizados para el desarrollo de software se pueden
dividir en dos grandes vertientes:
*.- Modelos convencionales (prescriptivos de proceso).
*.- Desarrollo ágil.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
26. 26
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Los modelos convencionales, llamados también "prescriptivos", determina un
conjunto de elementos del proceso:
*.- actividades del marco de trabajo
*.- acciones de ingeniería del software
*.- tareas
*.- productos del trabajo
*.- aseguramiento de la calidad
*.- mecanismos de control de cambio para cada proyecto
Los modelos convencionales en esencia son más estrictos o rígidos que los de
desarrollo ágil, pero nos da mayor seguridad cuando se desea desarrollar un software
de alta calidad.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
27. 27
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
• Modelo en cascada
• Modelo de proceso incremental
• Modelo de desarrollo rápido de aplicaciones (DRA)
• Modelos de procesos evolutivos
• Modelos especificados de procesos
•Modelo de desarrollo iterativos
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
28. 28
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo en cascada
En este tipo de modelo las fases se desarrollan de forma lineal ó
secuencial. Es ideal cuando se desea realizar adaptaciones o mejoras
bien definidas a software ya existentes, en caso de que sea nuevo se hace
imprescindible que se tengan los requerimientos bien claros y definidos.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
29. 29
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo en cascada
Entre los problemas que se presentan con el modelo en cascada se mencionan los
siguientes:
• Por lo general los proyecto de desarrollo de software, difícilmente siguen un
modelo secuencial, y a pesar de que este modelo permite realizar iteraciones, se
realizan de manera indirecta, confundiendo al equipo de proyecto, que se encuentra
actuando.
• En muchas oportunidades al cliente se le hace difícil definir los requisitos de
manera explicita.
• La primera versión que tendrá el cliente del producto se obtendrá cuando el
proyecto se encuentre muy avanzado, así que un error grave será de gran impacto
para el desarrollo del mismo.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
30. 30
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de Procesos Incrementales
• En ocasiones se tienen bien definida en forma razonable los requisitos iniciales
del software, pero se desea tener con celeridad un grupo de funcionalidades
requeridas por el usuario, lo que conduce a ordenar las entregas de una manera
incremental.
• Esta metodología utiliza el modelo de cascada de forma incremental.
• Ella permite priorizar las funcionalidades del sistema requeridas por los usuarios e
ir desarrollándolas en función de las necesidades. Pero a diferencia de los modelos
evolutivos este modelo se centra en cada entregable a realizar, sin revisar o
mejorar funcionalidades desarrolladas en iteraciones anteriores.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
31. 31
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de Procesos Incrementales
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
32. 32
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de desarrollo rápido de aplicaciones (DRA)
• Es un proceso de desarrollo incremental que resalta un ciclo de
desarrollo corto.
• En el las actividades de modelado y construcción se realizan en forma
de escala
• Se definen "n" número de equipos que trabajarán en un lapso de
tiempo restringido entre los 60 y 90 días.
• Se culmina con la integración de todas las funcionalidades
desarrolladas en la etapa de despliegue.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
33. 33
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de desarrollo rápido de aplicaciones (DRA)
Comprende las siguiente fases:
I - Modelado de gestión: el flujo de información entre las funciones de gestión se
modela de forma que responda a las siguientes preguntas: ¿Qué información
conduce el proceso de gestión? ¿Qué información se genera? ¿Quién la genera? ¿A
dónde va la información? ¿Quién la proceso?
II - Modelado de datos: el flujo de información definido como parte de la fase de
modelado de gestión se refina como un conjunto de objetos de datos necesarios para
apoyar la empresa. Se definen las características (llamadas atributos) de cada uno
de los objetos y las relaciones entre estos objetos.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
34. 34
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de desarrollo rápido de aplicaciones (DRA)
Comprende las siguiente fases:
III - Modelado de proceso: los objetos de datos definidos en la fase de modelado de datos
quedan transformados para lograr el flujo de información necesario para implementar una función
de gestión. Las descripciones del proceso se crean para añadir, modificar, suprimir, o recuperar
un objeto de datos. Es la comunicación entre los objetos.
IV - Generación de aplicaciones: El DRA asume la utilización de técnicas de cuarta generación.
En lugar de crear software con lenguajes de programación de tercera generación, el proceso DRA
trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a
crear componentes reutilizables (cuando sea necesario).
V - Pruebas de entrega: Como el proceso DRA enfatiza la reutilización, ya se han comprobado
muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se
deben probar todos los componentes nuevos y se deben ejercitar todas las interfases a fondo.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
35. 35
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de desarrollo rápido de aplicaciones (DRA)
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
36. 36
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de desarrollo rápido de aplicaciones (DRA)
Esta metodología posee algunos inconvenientes:
• En proyectos grandes escalables se requiere de suficiente recursos humanos
para definir el número correcto de equipos.
• Debe existir compromiso entre los clientes y los desarrolladores de las
actividades rápidas necesarias para completar el sistema en un lapso breve de
tiempo.
• Esta metodología no es apropiada para cuando se tienen altos riesgos.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
37. 37
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos
• Para los sistemas complejos, que evolucionan con el tiempo, es
necesario utilizar una metodología que permita que los requisitos del
negocio y productos vayan cambiando conforme se realiza el proyecto.
• Por lo tanto una ruta lineal que conduce a un producto final no da
flexibilidad al producto para ir adecuándose a las reales necesidades
del cliente.
• Los modelos evolutivos permiten a los desarrolladores crear versiones
cada vez más complejas del software.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
38. 38
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos
Entre los modelos evolutivos se tiene:
• Construcción de prototipos
• Modelos en espiral
• Modelo de desarrollo concurrente
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
39. 39
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Construcción de prototipo
Desventajas de la construcción de
prototipo son:
El prototipo sirve para que los • La rapidez en que se desarrolla el
clientes vean el sistema real en sistema se sacrificar la calidad en la
poco tiempo y los desarrolladores construcción del mismo
construir algo de inmediato. • Se dificulte el mantenimiento del
mismo a largo plazo.
• Por la premura en realizar el
prototipo se puede hacer una
inadecuada selección del sistema
operativo y lenguaje de programación.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
40. 40
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Construcción de prototipo
El modelo de construcción de prototipos inicia
con la actividad de comunicación, continua con
la realización de un plan rápido y un modelado
ó diseño rápido, para luego construir el
prototipo y desarrollarlo.
Una vez que se tenga listo es entregado al
cliente para recibir la retroalimentación que
servirá para aclarar los requisitos o
funcionalidades que debe poseer el sistema.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
41. 41
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Modelo en Espiral
• Pertenece a los modelos de proceso evolutivos.
• El software se desarrolla en una serie de versiones increméntales.
Durante las primeras iteraciones.
• La versión incremental podría ser un modelo en papel o un prototipo.
• A medida que se va incrementando el número de iteraciones, se
producen versiones cada vez mas completas.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
42. 42
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Modelo en Espiral
El modelo en espiral se
divide en un número de
actividades estructurales,
también llamadas regiones
de tareas.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
43. 43
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Modelo en Espiral
Ventajas de este modelo:
• Puede adaptarse y aplicarse a lo largo de la vida del software.
• Como el software evoluciona, a medida que progresa el proceso, el desarrollador
y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de los
niveles evolutivos.
• Permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos en
cualquier etapa de evolución del producto.
•Demanda una consideración directa de los riesgos técnicos en todas las etapas
del proyecto. Reduce los riesgos antes de que se conviertan en problemáticos.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
44. 44
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Modelo en Espiral
Desventajas de este modelo:
• Demostrar al cliente "exigentes (bajo contrato) que el enfoque evolutivo
es controlable.
• Requiere gran habilidad y experiencia para valorar el riesgo y saber
cuando detener la evolución.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
45. 45
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Modelo de Desarrollo Concurrente
• Se puede representar en forma de esquema como una serie de
actividades técnicas importantes, tareas y estados asociados a ellas.
• Define una serie de acontecimientos que dispararan transiciones de
estado a estado para cada una de las actividades de la ingeniería del
software.
• Es utilizado en todos los tipos de desarrollo de software y
proporciona una visión certera del estado actual del proyecto.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
46. 46
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de procesos evolutivos Modelo de Desarrollo Concurrente
Como funciona el proceso:
• Cada actividad, acción o tarea
dentro de la red existe de manera
simultánea con otras.
• Los sucesos generados dentro de
una actividad dada o algún otro lado
de la red de actividad inicia las
transiciones entre los estado de una
actividad.
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
47. 47
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de desarrollo Iterativo
•Es un enfoque para construir software (o cualquier cosa) en el cual el
ciclo de vida total está compuesto de algunas iteraciones en secuencia.
Cada iteración es un mini proyecto auto contenido compuesto de
actividades como análisis de requerimientos, diseño, programación y
pruebas.
•El objetivo para el final de una iteración es una “liberación de la iteración”,
es decir, un sistema estable, integrado y probado parcialmente completo.
Craig Larman. Applying UML and Patterns. 2004
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
48. 48
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos Convencionales (prescriptivos de proceso).
Modelo de desarrollo Iterativo
Planeación Requerimientos
Inicial Planeación
Análisis y Diseño
Evaluación
Desarrollo
Puesta en Marcha
Pruebas
Fuente: The Rational Unified Process. An Introduction. Phillipe Kruchten (2000)
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.
49. 49
Metodologías para el desarrollo de
Unidad VI – software
Curso: Análisis yy Diseño de Sistemas de Información
Curso: Análisis Diseño de Sistemas de Información Prof.(Ing.) Jesús E. Chaparro D.