El proceso de desarrollo Angélica de Antonio, 2007 1
ontenidos de las clases Planteamiento del desarrollo orientado a objetos: El paradigma El proceso: Proceso Unificado La notación: UML Disciplinas, productos y técnicas del Proceso Unificado: equisitos Modelo de asos de Uso (asos de uso, Diagrama de casos de uso, Diagramas de secuencia del sistema, ontratos) Modelado del Negocio - Modelo del dominio Diseño: Modelo de diseño (Diagramas de clases, Diagramas de interacción) Arquitectura software Modelo de datos (diseño de la Persistencia) Patrones de diseño Angélica de Antonio, 2007 2
Proceso de Desarrollo Texto de referencia: UML y Patrones: una introducción al análisis y diseño orientado a objetos y al proceso unificado, 2ª edición, raig Larman, Ed. Prentice-Hall, 2002 (2003 la edición en Español) apítulos 1 y 2: pp.3-26 (introducción) apítulo 4: pp.33-37 (Inicio) apítulo 8: pp. 103-110 (Inicio a Elaboración) apítulos 36 y 37: pp. 537-563 (ampliación) Angélica de Antonio, 2007 3
Proceso de Desarrollo Textos de ampliación Kruchten, P., 2000, The ational Unified Process - An Introduction, Addison-Wesley Jacobson, I., Booch,G., umbaugh,j., 1999, The Unified Software Development Process, Addison-Wesley Angélica de Antonio, 2007 4
onstrucción de Software onstruir sistemas software requiere: onocimiento de paradigmas de desarrollo conocimiento de procesos de desarrollo (UP, UP, Larman, ) conocimiento de técnicas (diagramas de secuencia, diagramas de clases, etc. para OO) conocimiento de notaciones (UML para OO) Pero esto no es suficiente Angélica de Antonio, 2007 5
onstrucción de Software Para hacer un BUEN software: Hay que conocer las propiedades que debe tener un buen diseño, y dado un diseño saber si tiene o no dichas propiedades. No basta que funcione. Hay que aprender a tomar decisiones y manejar trade-offs. La experiencia es la madre de la ciencia. Hay que practicar. Angélica de Antonio, 2007 6
onstrucción de Software onstruir sistemas software requiere: onocimiento de paradigmas de desarrollo conocimiento de procesos de desarrollo (UP, UP, Larman, ) conocimiento de técnicas (diagramas de secuencia, diagramas de clases, etc. para OO) conocimiento de notaciones (UML para OO) Pero esto no es suficiente Angélica de Antonio, 2007 7
Paradigmas de desarrollo Estructurado entra su atención en las FUNIONES que realiza un sistema El sistema como caja negra que recibe datos y los transforma El diseño como descomposición jerárquica Orientado a objetos El sistema como un conjunto de OBJETOS que asumen ESPONSABILIDADES El problema se va a resolver mediante la OOPEAIÓN entre varios objetos Orientado a agentes Angélica de Antonio, 2007 8
onstrucción de Software onstruir sistemas software requiere: onocimiento de paradigmas de desarrollo conocimiento de procesos de desarrollo (UP, UP, Larman, ) conocimiento de técnicas (diagramas de secuencia, diagramas de clases, etc. para OO) conocimiento de notaciones (UML para OO) Pero esto no es suficiente Angélica de Antonio, 2007 9
Proceso de Desarrollo onjunto de actividades a realizar para la construcción de un sistema: Analizar Diseñar odificar Probar onjunto de productos o artefactos a generar como resultado de dichas actividades Dependencias entre actividades Para llevar a cabo las actividades se utilizan técnicas Para representar los productos se utilizan notaciones NO ES LO MISMO QUE ILO DE VIDA Angélica de Antonio, 2007 10
iclo de Vida Determina cómo organizar en el tiempo las actividades del proceso de desarrollo Secuencial (cascada) Incremental Evolutivo Angélica de Antonio, 2007 11
Procesos asociados a la OO Objectory (Jacobson) OMT (umbaugh) Proceso de Larman (primera edición) Proceso Unificado UP Angélica de Antonio, 2007 12
aracterísticas del Proceso Unificado Iterativo: Evolutivo Incremental Dirigido por asos de Uso Dirigido por el iesgo Mitigación de riesgos altos tan pronto como sea posible Progreso visible desde las primeras etapas etroalimentación temprana Angélica de Antonio, 2007 13
Proceso Unificado - Fases Inicio Elaboración onstrucción Transición UIDADO: Esto no se corresponde con un ciclo de vida en ascada. Inicio no es requisitos, Elaboración no es Diseño Las fases de elaboración y construcción constan de un conjunto de iteraciones de duración más o menos fija. Se recomienda que la longitud de una iteración sea de 2 a 6 semanas. Angélica de Antonio, 2007 14
Proceso Unificado - Disciplinas Modelado del negocio equisitos Diseño Implementación Prueba Despliegue Gestión del proyecto Entorno Gestión de configuraciones y cambios Las actividades a realizar en un proyecto se agrupan en disciplinas. Angélica de Antonio, 2007 15
equisitos (Análisis) vs. Diseño Análisis: especificar QUE debe hacer el sistema: EQUISITOS Diseño: decidir OMO lo hará Ejemplo: El sistema registra la venta El sistema escribe la venta en una BD No está tan claramente separado Intentar postponer las decisiones de diseño Angélica de Antonio, 2007 16
Fases del Proceso Unificado INIIO: Se estudia el negocio y se delimita el alcance y dimensión del proyecto Se hace un estudio de viabilidad y un análisis costebeneficio Se obtiene también la aceptación del cliente para seguir adelante. Fundamentalmente equisitos Angélica de Antonio, 2007 17
Fases del Proceso Unificado ELABOAIÓN: obtener más detalles, pero no todos. Investigación DIIGIDA PO EL IESGO: en los EQUISITOS. El peligro es construir un sistema que no satisfaga las necesidades TENOLÓGIO funcionará la tecnología elegida? encajarán unas piezas con otras? equisitos y algo de Diseño. Muy poca Implementación Implementación iterativa del Núcleo entral de la Arquitectura Angélica de Antonio, 2007 18
Fases del Proceso Unificado ONSTUIÓN: Se completa el diseño Implementación iterativa de requisitos de menor riesgo TANSIIÓN: consta de pruebas beta y despliegue Angélica de Antonio, 2007 19
Marco de Desarrollo (adaptación UP) Disciplina Artefacto Inicio Elaboración (iterativa) Modelado del Negocio Modelo del Dominio onstrucción (iterativa) Transición equisitos Modelo de asos de Uso Visión Especificación omplementaria Glosario Diseño Modelo de Diseño Documento de Arquitectura SW Modelo de Datos Implementación Modelo de Implementación Gestión del Proyecto Plan de Desarrollo SW Pruebas Modelo de Pruebas Entorno Marco de Desarrollo Angélica de Antonio, 2007 20
Artefactos del Proceso Unificado (los que se van a ver) Modelo del Dominio = Modelo onceptual Modelo de asos de Uso: Diagrama de asos de Uso asos de Uso Diagramas de Secuencia del Sistema ontratos de Operaciones del Sistema Modelo de Diseño: Diagrama de lases de Diseño Diagramas de Interacción Angélica de Antonio, 2007 21
onstrucción de Software onstruir sistemas software requiere: onocimiento de paradigmas de desarrollo conocimiento de procesos de desarrollo (UP, UP, Larman, ) conocimiento de técnicas (diagramas de secuencia, diagramas de clases, etc. para OO) conocimiento de notaciones (UML para OO) Pero esto no es suficiente Angélica de Antonio, 2007 22
La Notación - UML lenguaje estándar de modelado para expresar el diseño de un sistema software diseño = conjunto de DIAGAMAS independiente del proceso SW. No dice cómo hacer los diagramas, sólo cómo representarlos Angélica de Antonio, 2007 23
UML Estándar de la OMG omponentes: una notación o sintaxis un meta-modelo (diagrama que dota de semántica a la notación) Grado de rigor. Depende. LO IMPOTANTE ES PODE OMUNIA Angélica de Antonio, 2007 24
onstrucción de Software onstruir sistemas software requiere: onocimiento de paradigmas de desarrollo conocimiento de procesos de desarrollo (UP, UP, Larman, ) conocimiento de técnicas (diagramas de secuencia, diagramas de clases, etc. para OO) conocimiento de notaciones (UML para OO) Pero esto no es suficiente Angélica de Antonio, 2007 25
Los asos de Uso en el Proceso Unificado Disciplina: equisitos Artefacto: Modelo de casos de uso asos de uso Diagrama de casos de uso (Diagramas de secuencia del sistema) (ontratos de operaciones del sistema) Angélica de Antonio, 2007 26
Los asos de Uso en UP Disciplina Artefacto Inicio Elaboración (iterativa) Modelado del Negocio Modelo del Dominio onstrucción (iterativa) Transición equisitos Modelo de asos de Uso Visión Especificación omplementaria Glosario Diseño Modelo de Diseño Documento de Arquitectura SW Modelo de Datos Implementación Modelo de Implementación Gestión del Proyecto Plan de Desarrollo SW Pruebas Modelo de Pruebas Entorno Marco de Desarrollo Angélica de Antonio, 2007 27
Los asos de Uso en el Proceso Unificado Formato Breve : Inicio (la mayoría), Elaboración (el resto) Formato ompleto Esencial: Inicio (un 10 a 20%), Elaboración (hasta el 80 a 90%), onstrucción (el resto) Formato ompleto oncreto: Elaboración y onstrucción Angélica de Antonio, 2007 28
Los DSS en UP Forman parte del Modelo de asos de Uso UP no los menciona explícitamente La mayoría se crean en Elaboración, el resto en onstrucción Angélica de Antonio, 2007 29
Los ontratos en UP Forman parte del Modelo de asos de Uso UP no los menciona explícitamente La mayoría se crean en Elaboración, el resto (si hacen falta) en onstrucción Angélica de Antonio, 2007 30
Modelo del Dominio en UP Se genera en la Disciplina Modelado del Negocio Se va refinando en cada iteración de la Elaboración Se centra en los casos de uso de la iteración actual y las anteriores Influye sobre: el Modelo de asos de Uso (contratos de operaciones del sistema) - equisitos el Glosario (define sus elementos) - equisitos el Modelo de Diseño - Diseño Angélica de Antonio, 2007 31
Modelo del Dominio en UP Disciplina Artefacto Inicio Elaboración (iterativa) Modelado del Negocio Modelo del Dominio onstrucción (iterativa) Transición equisitos Modelo de asos de Uso Visión Especificación omplementaria Glosario Diseño Modelo de Diseño Documento de Arquitectura SW Modelo de Datos Implementación Modelo de Implementación Gestión del Proyecto Plan de Desarrollo SW Pruebas Modelo de Pruebas Entorno Marco de Desarrollo Angélica de Antonio, 2007 32
Trabajo Previo al Diseño Se centra en la capa externa del sistema a desarrollar: cuál será la interacción de los actores con el sistema (casos de uso) cuáles deben ser las operaciones ofrecidas por el sistema para llevar a cabo dicha interacción (diagramas de secuencia del sistema) cuáles son las responsabilidades y post-condiciones de dichas operaciones del sistema (contratos) cuáles son los conceptos y relaciones significativos en el dominio del sistema (modelo del dominio) Angélica de Antonio, 2007 33
El Modelo de Diseño en el Proceso Unificado Disciplina: Diseño Artefactos: Modelo de diseño Diagramas de Interacción Diagramas de lases de Diseño Arquitectura Software Modelo de Datos Angélica de Antonio, 2007 34
Marco de Desarrollo (adaptación UP) Disciplina Artefacto Inicio Elaboración (iterativa) Modelado del Negocio Modelo del Dominio onstrucción (iterativa) Transición equisitos Modelo de asos de Uso Visión Especificación omplementaria Glosario Diseño Modelo de Diseño Documento de Arquitectura SW Modelo de Datos Implementación Modelo de Implementación Gestión del Proyecto Plan de Desarrollo SW Pruebas Modelo de Pruebas Entorno Marco de Desarrollo Angélica de Antonio, 2007 35