1. 1
Metodologías para el desarrollo de
Unidad VI – software
Metodologías para el desarrollo de
software
( Parte II )
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.- Modelo de procesos de desarrollo de software
Modelos de desarrollo Ágil
Desarrollo Ágil de software
Manifiesto Ágil
Modelos de desarrollo Ágil
Programación Extrema (XP)
Desarrollo adaptativo de software (DAS)
Modelo de desarrollo de sistemas dinámicos (MDSD)
Modelo SCRUM
Desarrollo conducido por características (DCC)
Proceso Unificado Racional (RUP)
2.- Análisis y diseño orientado a objetos
3.- Desarrollo Orientado a Objetos
4.- Aspectos positivos de las metodologías orientadas a objetos
5.- Clasificación de las Metodologías según su enfoque
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
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil.
Los modelos de desarrollo ágil combina una filosofía y un conjunto de
directrices de desarrollo.
• Busca la satisfacción del cliente.
• Entrega temprana de software incremental.
• Utilizan métodos informales.
• Simplicidad general del desarrollo.
• La comunicación entre los desarrolladores y los clientes durante el
desarrollo del proyecto es activa y continua.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Desarrollo ágil de software
Los procesos ágiles de desarrollo de software, conocidos
anteriormente como metodologías livianas, intentan evitar
los tortuosos y burocráticos caminos de las metodologías
tradicionales enfocándose en la gente y los resultados.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil.
En marzo de 2001 diecisiete críticos de los
modelos de mejora del desarrollo de
software basados en procesos,
Manifiesto ágil convocados por Kent Beck,
En el Manifiesto Ágil firmado por:
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn,
Ward Cunningham, Martin Fowler, James Grenning, Jim
Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick,
Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland y
Dave Thomas.
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
Modelos de procesos en el desarrollo de software
Principios del Manifiesto Ágil
• Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software de
valor.
• Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los procesos ágiles se
doblegan al cambio como ventaja competitiva para el cliente.
• Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses,
con preferencia en los periodos breves.
• Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto.
• Construcción de proyectos en torno a individuos motivados, dándoles la oportunidad y el respaldo que
necesitan y procurándoles confianza para que realicen la tarea.
• La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de un equipo de desarrollo
es mediante la conversación cara a cara.
• El software que funciona es la principal medida del progreso.
• Los procesos ágiles promueven el desarrollo sostenido. Los patrocinadores, desarrolladores y usuarios deben
mantener un ritmo constante de forma indefinida.
• La atención continua a la excelencia técnica enaltece la agilidad.
• La simplicidad como arte de maximizar la cantidad de trabajo que no se hace, es esencial.
• Las mejores arquitecturas, requisitos y diseños emergen de equipos que se auto-organizan.
• En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en
consecuencia.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil.
Se pone al descubierto mejores métodos para desarrollar software, haciéndolo y
ayudando a otros a que lo hagan. Con este trabajo hemos llegado a valorar:
• A los individuos y su interacción, por encima de los procesos y las
herramientas.
• El software que funciona, por encima de la documentación exhaustiva.
• La colaboración con el cliente, por encima de la negociación contractual.
• La respuesta al cambio, por encima del seguimiento de un plan.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil.
Las características esenciales del proceso de desarrollo ágil para la
mayoría de los proyectos son las siguientes:
1. Dificultad para predecir los requerimientos que persistirán y
probablemente cambiaran.
2. El diseño y la construcción están intercalados y deben realizarse
de manera conjunta de modo que puedan ser aprobados conforme
se crean.
3. El análisis, el diseño y la construcción no son predecibles.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil.
Motivado a las características anteriores:
• El proceso ágil de software debe adaptarse de manera incremental.
• La idea es que se mantenga un canal de retroalimentación con el
cliente, a traves de entregas de prototipos ejecutable o porción de un
sistema operacional, en periodos cortos para que la adaptabilidad
mantenga un buen ritmo con el cambio.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil.
• Programación extrema (XP)
• Desarrollo adaptativo del software (DAS)
• Modelo de desarrollo de sistemas dinámicos (MDSD).
• Modelo Scrum.
• Desarrollo conducido por características (DCC).
• Proceso unificado de Rational.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Programación extrema (XP)
• Es una de las metodologías de desarrollo de software utilizada en la
actualidad para proyectos de corto plazo
• Esta conformado por equipos de proyectos pequeño.
• La metodología consiste en una programación rápida y extrema
• Utiliza un enfoque orientada a objetivos, cuya particularidad es tener
como parte del equipo, al usuario final, pues es uno de los requisitos
para llevar al éxito 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.
12. 12
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Programación extrema (XP)
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Programación extrema (XP)
Las características más relevantes son:
Refabricación: se basa en la utilización repetitiva de código, para lo cual se
establecen patrones, permitiendo mayor flexibilidad al cambio.
Programación en pares: Consiste en que dos desarrolladores trabajen para un
proyecto en la misma estación de trabajo.
Pruebas: La fase de prueba se compone de dos tipos, las pruebas de unidad y
las pruebas de aceptación.
Las pruebas de unidad se basa en las pruebas realizadas a los
principales procesos
Las pruebas de aceptación son realizadas por los clientes y se enfoca
en las característica generales del sistema de su parte visible y su
funcionalidad como tal.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Desarrollo adaptativo del software (DAS)
El desarrollo adaptativo de software (DAS) fue propuesto por Jim
Highsmith como una metodología para desarrollar software y
sistemas muy complejos. El se centra en la colaboración humana
y la organización del equipo.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Desarrollo adaptativo del software (DAS)
El ciclo de vida del
DAS se conforma de
tres fases.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Desarrollo adaptativo del software (DAS)
Ciclo de Vida:
• Fase de especulación: se inicia el desarrollo del proyecto. En ella se utiliza información como
la visión del cliente, las restricciones del proyecto y los requisitos básicos para definir el conjunto
de ciclos en el que se harán los incrementos del software.
• Fase de colaboración: se busca que el equipo no solo se comunique o se encuentren
completamente integrados, se desea que exista confianza, donde se pueda realizar críticas
constructivas y ayudar sin resentimientos, trabajar tan duro como sea posible, comunicar de una
forma oportuna los problemas que se presenten para tomar acciones efectivas y poseer un
conducta de aptitudes que contribuyan al trabajo que se encuentran realizando.
• Fase de aprendizaje: permite mejorar el entendimiento real sobre la tecnología, los procesos
utilizados y el proyecto. El aprendizaje individual permite al equipo tener mayor posibilidad de
éxito.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Modelo de Desarrollo de sistemas dinámicos (MDSD)
Este método permite la construcción de sistemas con
restricción de tiempo, realizando prototipos incrementales en
un ambiente de proyecto controlado.
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Modelo de Desarrollo de sistemas dinámicos (MDSD)
Este modelo se compone de dos actividades que se realizan primero y consecuente
con ellas se realizan tres ciclos de vida adicionales,
- La primera actividades es el estudio de factibilidad: en donde se
establecen los requisitos básico del negocio y las restricciones asociadas a
la metodología de manera de evaluar si la misma puede ser realizara bajo el
esquema MDSD
- La segunda actividad es el estudio del negocio: donde se establecen los
requerimientos funcionales y la arquitectura básica de la 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.
19. 19
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Modelo de Desarrollo de sistemas dinámicos (MDSD)
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
Modelos de Desarrollo Ágil
Modelo de Desarrollo de sistemas dinámicos (MDSD)
Ciclo de vida:
• La iteración de modelo funcional, se realizan diversos prototipos incrementales
que permite mostrar al cliente la funcionalidad del sistema. con cada iteración se
recopilan requisitos adicionales que pueden ir siendo incluidos en el prototipo.
La iteración de construcción y diseño, contribuye a agregar el valor operativo
del negocio para los usuarios, a través de la construcción de prototipos durante la
iteración del modelo funcional.
Implementación, los prototipos que vayan surgiendo de la fase de construcción y
diseño, le irán colocando en ambientes operativos (prototipos operacionales).
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
Modelos de Desarrollo Ágil
Modelo Scrum
Es un modelo ágil de proceso desarrollado por Jefff Suterland y
su equipo a comienzos de la década de los 90
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
Modelos de Desarrollo Ágil
Modelo Scrum
Posee los siguientes principios que van en concordancia con los métodos de
desarrollo ágiles:
• Equipos auto-dirigidos y auto-organizados.
• Una vez elegida una tarea, no se agrega trabajo extra. en caso que se agregue
algo, se recomienda quitar alguna otra cosa.
• Encuentros diarios con las tres preguntas indicadas en la figura 10 . Se realizan
siempre en el mismo lugar, en círculo.
• Iteraciones de treinta días; aunque se pueden realizar con mas frecuencia.
• Demostración a participantes externos una vez culminada cada iteración. Al
principio de cada iteración, planeamiento adaptativo guiado por el cliente.
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
Modelos de Desarrollo Ágil
Modelo Scrum
Ciclo de vida:
• Planeamiento: Se establece la visión, definir expectativas y asegurar la financiación. Las
actividades son la escritura de la visión, el presupuesto, el registro de acumulación y retraso
del producto inicial y los ítems estimados, así como la arquitectura de alto nivel, el diseño
exploratorio y los prototipos.
• Montaje: Se identifican más requerimientos y priorizar las tareas para la primera iteración.
Las actividades son planificación, diseño exploratorio y prototipos.
• Desarrollo: Se implementa un sistema listo para entrega en una serie de iteraciones de
treinta días llamadas “corridas". Las actividades son un encuentro de planeamiento de corridas
en cada iteración, la definición del registro de acumulación de corridas y los estimados, y
encuentros diarios.
• Liberación: Es el despliegue operacional. Las actividades, documentación, entrenamiento,
mercadeo y venta
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
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Desarrollo conducido por características (DCC)
• Es un modelo de proceso práctico para la ingeniería del software
orientada a objetivos.
• Es aplicado en proyectos de software de tamaño moderado y
grande.
• Para la metodología una característica es una función validad por el
cliente y que puede ser implementada en dos o menos semanas.
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
Modelos de Desarrollo Ágil
Desarrollo conducido por características (DCC)
Las características permite a la metodología poseer los siguientes beneficios:
• Las características son pequeños bloques de funcionalidad entregables,
los usuarios las describen con mayor facilidad, permitiéndoles revisarlas de
mejor manera en búsqueda de errores u omisiones.
• Las características pueden ser agrupadas por orden jerárquico
relacionado con el negocio.
• La característica es el incremento del software entregable, así que el
equipo desarrolla características operativas cada dos semanas.
• La planificación del proyecto lo guía la jerarquía de la característica, en
lugar de hacerlo un conjunto de tareas de la ingeniería de software
adaptado en forma arbitraria
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
Modelos de Desarrollo Ágil
Desarrollo conducido por características (DCC)
El DCC concede una mayor
importancia a las directrices
y técnicas de la gestión del
proyecto que muchos otros
métodos ágiles, ya que
enfatiza cuestiones de
calidad y define claramente
entregas tangibles y formas
de evaluación del progreso
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 de Desarrollo Ágil
Desarrollo conducido por características (DCC)
Desarrollo de un modelo general, en esta fase ya se tiene el dominio de la
visión, el contexto y los requerimientos del sistema a construir. En este
momento se posee información básica de las especificaciones funcionales.
Construcción de la lista de características, Los ensayos, modelos de objeto
y documentación de requerimientos proporcionan la base para construir una
amplia lista de características. Las funciones se agrupan conforme a diversas
actividades en áreas de dominio específicas. La lista de características es
revisada por los usuarios para asegurar su validez y exhaustividad.
Diseño y Construcción por característica, Se selecciona las características
a desarrollar y los equipos dispuestos por cada una de ellas. Luego se
procede iterativamente hasta que se producen las características
seleccionadas.
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 de Desarrollo Ágil
Proceso Unificado de Rational (RUP)
Es una metodología que posee un poco de controversia, ya que cuenta
con características esenciales de los procesos de desarrollo ágil como
es el crecimiento iterativo o que se encuentra centrado en la
arquitectura, pero a la vez tiende a caer en las rigidez de los métodos
convencionales.
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 de Desarrollo Ágil
Proceso Unificado de Rational (RUP)
El proceso unificado de Rational implementa las siguientes mejoras
prácticas asociadas al proceso de Ingeniería de Software:
• Desarrollo Iterativo.
• Manejo de los requerimientos.
• Uso de una arquitectura basada en componentes.
• Modelización Visual.
• Verificación continua de la Calidad.
• Manejo de los Cambios.
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 de Desarrollo Ágil
Proceso Unificado de Rational (RUP)
La metodología RUP,
divide en 4 fases el
desarrollo del software.
Cada Fase tiene definido
un conjunto de objetivos
y un punto de control
especifico.
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 de Desarrollo Ágil
Proceso Unificado de Rational (RUP)
Inicio: - Se especifican los objetivos del ciclo de vida del proyecto y las necesidades
de cada participante.
- Se establecer el alcance, las limitaciones y los criterios de aceptabilidad.
- Se identifican los casos de uso que orientarán la funcionalidad.
- Se diseñan las arquitecturas probables y se estima la duración.
Elaboración: - Se define el plan del proyecto.
- La fase de elaboración brinda una arquitectura, requerimientos y planes
suficientemente sólidos y estables.
- Se describen en detalle la infraestructura y el ambiente de desarrollo.
- Se debe crear un prototipo de ella. Al final de la fase se realiza un análisis
para determinar los 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.
32. 32
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Proceso Unificado de Rational (RUP)
Construcción: - Se desarrollan, integran y verifican todos los componentes y rasgos de
la aplicación.
- Los resultados de esta fase (las versiones alfa, beta y otras versiones
de prueba) se crean tan rápido como sea posible.
- Se debe compilar también una versión de entrega.
- Es la fase más prolongada de todas.
Transición: - Comienza cuando el producto está suficientemente maduro para ser
entregado.
- Se corrigen los últimos errores y se agregan los rasgos pospuestos.
- La fase consiste en prueba beta, piloto y entrenamiento a usuarios.
- Se produce también la documentació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.
33. 33
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Modelos de Desarrollo Ágil
Proceso Unificado de Rational (RUP)
Cada una de las etapas es desarrollada mediante el ciclo de
iteraciones, la cual consiste en reproducir el ciclo de vida en cascada a
menor escala.
Los Objetivos de una iteración se establecen en función de la
evaluación de las iteraciones precedentes.
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
Análisis y Diseño Orientado a Objetos
• El Análisis enfatiza en la investigación del problema y los
requerimientos, en vez de una solución.
• El Análisis es un término amplio, por lo tanto es mejor especificar
más, por ejemplo un Análisis de Requerimientos (una investigación de
los requerimientos) o un Análisis Orientado a Objetos (una
investigación acerca de los objetos del dominio)
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.
35. 35
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
DESARROLLO ORIENTADO A OBJETO
La esencia del desarrollo orientado a objetos
es la identificación y organización de
conceptos del dominio de la aplicación y no
tanto de su representación final en un 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.
36. 36
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
DESARROLLO ORIENTADO A OBJETO
CONSIDERACIONES SOBRE METODOLOGIAS Orientada a Objetos
• Se eliminan fronteras entre fases debido a la naturaleza iterativa del
desarrollo orientado al objeto.
• Aparece una nueva forma de concebir los lenguajes de programación y su
uso al incorporarse bibliotecas de clases y otros componentes reutilizables.
• Hay un alto grado de iteración y solapamiento, lo que lleva a una forma de
trabajo muy dinámica.
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
Análisis y Diseño Orientado a Objetos
El Diseño enfatiza una solución conceptual (en software y hardware)
que satisface los requerimientos, en vez de su implementación. Por
ejemplo la definición de un esquema de base de datos y objetos de
software. Las ideas de diseño excluyen detalles de bajo nivel u obvios
para el cliente. En ultima instancia, los diseños pueden ser
implementados y la implementación (el código) expresa el diseño
verdadero y completamente realizado.
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.
38. 38
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Análisis y Diseño Orientado a Objetos
•Durante el análisis orientado a objetos existe un énfasis en encontrar y
describir los objetos, o conceptos, en el dominio del problema.
•Durante el diseño Orientado a Objetos se hace énfasis sobre la
definición de los objetos de software y como ellos colaboran para
satisfacer los requerimientos.
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.
39. 39
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
ASPECTOS POSITIVOS DE LAS METODOLOGÍAS Orientada a Objetos
• Son interactivas e incrementales.
• Fácil de dividir el sistema en varios subsistemas independientes.
• Se fomenta la reutilización de 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.
40. 40
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
Estructuradas
Clasificación de las
Metodologías - •Orientadas a Procesos
Según su Enfoque
•Orientadas a Datos
•No Jerárquicas
•Jerárquicas
•Mixtas
Para Sistemas en Tiempo Real
Orientadas a Objetos
•Revolucionarias o Puras
•Ágiles
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
METODOLOGIAS ESTRUCTURADA ORIENTADAS A DATOS JERARQUICOS
• La estructura de control del programa debe ser jerárquica y se debe
derivar de la estructura de datos del programa.
• El proceso de diseño consiste en definir primero las estructuras de los
datos de entrada y salida, mezclarlas todas en una estructura
jerárquica de programa y después ordenar detalladamente la lógica
procedimental para que se ajuste a esta estructura-
• El diseño lógico debe preceder y estar separado del diseño físico
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
METODOLOGIAS ESTRUCTURADO ORIENTADAS A DATOS NO JERARQUICOS
• Metodología Ingeniería de la Información
Planificación: construir una arquitectura de la Información y una
estrategia que soporte los objetivos de la organización.
Análisis: comprender las áreas del negocio y determinar los requisitos
del sistema.
Diseño: establecer el comportamiento del sistema deseado por el
usuario y que sea alcanzable por la tecnología.
Construcción: construir sistemas que cumplan los tres niveles
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.
43. 43
Metodologías para el desarrollo de
Unidad VI – software
Modelos de procesos en el desarrollo de software
METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL
Manejo de interrupciones.
Comunicación y sincronización entre tareas.
Gestión de procesos concurrentes.
Respuesta oportuna ante eventos externos.
Datos continuos o discretos
Se está produciendo una evolución de las metodologías orientadas a
objetos para desarrollos de sistemas de tiempo real
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
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.