Documentos de Académico
Documentos de Profesional
Documentos de Cultura
n
3.1.1 Concepto de Método y Proceso
3.1.2 Generaciones de métodos OO
El Proceso Unificado n 3.2 El Proceso Unificado de Desarrollo o Unified
Process
n 3.2.1 UML no es suficiente
n 3.2.3 Características del Proceso Unificado
n 3.3 Fases y disciplinas (o flujos de trabajo)
n 3.3.1 Fases y puntos de control
n 3.3.2 Disciplinas (flujos de trabajo)
n 3.3.3 Artefactos
Miguel A. Laguna n 3.4 La fase de Inicio ( Inception)
n 3.5 La fase de Elaboración
n 3.6 Las fases de Construcción y Transición
1
Concepto de Método (o Metodología) ...Concepto de Método
n Resulta necesario establecer un enfoque sistemático
y disciplinado para llevar a cabo un desarrollo
n El desarrollo de un sistema se puede explicar también
software
como:
n Una secuencia de modelados que ayuda a construir, a partir de
n Definiciones: la realidad, uno o varios modelos, derivados unos de otros, con
n Una metodología de ingeniería del software es un proceso el objetivo de lograr un modelo final o sistema.
para producir software de forma organizada, empleando una
colección de técnicas y convenciones de notación
predefinidas n Y entonces:
(James Rumbaugh et al.) n Un método es una guía que define las reglas de paso de un
modelo a otro para evolucionar progresivamente hasta el
n Conjunto de procedimientos, técnicas, herramientas y un modelo final.
soporte documental que ayuda a los desarrolladores a
realizar nuevo software
(Mario Piattini et al.)
n Años 60 y 70:
REALIDAD n COBOL, FORTRAN, C
Lenguaje de especificación n Métodos de análisis y diseño estructurados
n Años 80 y primeros 90:
Modelos n C++, Smalltalk, Ada
n Métodos OO de primera generación: OMT,
Lenguaje de Jacobson
Programación IMPLEMENTACIÓN
n Finales de los 90:
n Java
n Los modelos son representaciones semánticas
simplificadas de un sistema para analizarlo y n UML
comprenderlo a fin de diseñarlo mejor. n Métodos OO avanzados, Proceso Unificado
2
Métodos estructurados y... ...Métodos orientados a objetos
PROCESOS STD
DFD PROGRAMA Análisis Diseño Implementación
Clases
DATOS
RELACIONAL TABLAS
DER
• Métodos dirigidos por los datos (data-driven) n Desarrollado en General Electric a finales de los 80
- OMT (Rumbaugh et al. 1991) n El método OO más difundido antes de UML/U P
- FUSION (Coleman et al. 1994) n Aunque tiene cuatro fases definidas, se centra de una forma
especial en el análisis
• Métodos dirigidos por responsabilidades
n Presenta una continuidad respecto a las métodos estructurados
(responsability-driven)
- RDD (Wirfs- Brock et al. 1990)
- OBA ( Rubin y Goldberg 1992)
n El libro “Object -Oriented Modeling and Design” escrito por
• Métodos dirigidos por casos de uso Rumbaugh et al. en 1991 es un best-seller mundial:
(use case-driven)
- OOSE/Objectory (Jacobson et al. 1992) & Rumbaugh, James, Blaha, Michael, Premerlani, William, Eddy,
Frederick, Lorensen, William. “Modelado y Diseño Orientados a
• Métodos dirigidos por estados (state-driven) Objetos. Metodología OMT”. 2ª Reimpresión. Prentice Hall. 1998.
- Shlaer y Mellor ( Shlaer y Mellor 1992)
3
... OMT Método de Booch
4
OOSE (Jacobson) ...OOSE: Casos de Uso
n Es un método que se basa en la idea de los casos de uso como
n Aunque tiene su propia notación, lo más característico son los
forma de analizar los requisitos del usuario casos de uso
Cliente local
Proceso de análisis:
<<uses>> Giro
Identificación
n Métrica versión 3
n Además del desarrollo, contempla procesos de Planificación y
n Métodos “ágiles” Mantenimiento
n eXtreme Programming (XP)
n Facilita la realización de los procesos de apoyo u organizativos
n Métodos “marco” adaptables
n OPEN n Procesos principales de desarrollo en Métrica 3:
n Proceso Unificado (Unified Process) n Estudio de Viabilidad del Sistema
n Análisis del Sistema de Información
n Diseño del Sistema de Información
n Construcción del Sistema de Información
n Implantación y aceptación
5
Métrica Versión 3 Métrica 3. Análisis
n Objetivo: obtención de una
especificación detallada del sistema
que satisfaga las necesidades de los
usuarios y sirva de base para el
posterior diseño del sistema
6
eXtreme Programming (XP)
n Proceso
Tiene como cometido la formalización de las actividades Lenguaje
n
Proceso
relacionadas con la elaboración de sistemas software de Modelado
n Experiencia
n Una colección de reglas y heurísticas para llevar a cabo el
desarrollo
?
7
¿Qué es un Proceso? Dos elementos complementarios
n Describe un conjunto de actividades que deben
realizarse en un determinado orden
qué hacer, cómo hacerlo, cuando hacerlo y el motivo por el cual
n
Unified Process
SPEM
OMG
1999
(2002) SPEM,
2002
Rational Unified Process 5.0
1998
Estándares
OMG
Rational Objectory Process 4.1
1996-1997
UML
Objectory Process 1.0- 3.8
Rational 1987-1995
Ericsson ( Jacobson)
8
UP es un Proceso “marco” Características del Proceso Unificado
n Se centra en la arquitectura:
n La arquitectura es prioritaria desde el principio hasta el
final
n No existe un proceso Universal n Se facilita el refinamiento progresivo de la arquitectura
n UP es flexible y extensible:
n Permite varias estrategias de desarrollo n Iterativo e incremental:
n Se pueden definir diferentes conjuntos de productos n El trabajo se divide en iteraciones pequeñas en función
de la importancia de los casos de uso y el análisis de
n Se pueden definir actividades y encargados de las
riesgos
mismas
9
Modelo de Arquitectura: 4 + 1 vistas Arquitectura y Modelos
n Los modelos son instrumentos para visualizar, especificar,
construir y documentar la arquitectura del sistema
Modelo de Modelo de Modelo de Modelo de Modelo de Modelo de
casos de uso análisis diseño despliegue Implement. Pruebas
n Cada vista es una parte de u n modelo
Modelos
Vista de
Vista Lógica
Realización
Vista de
Casos de Uso
Vistas
Vista de Vista de
Procesos Despliegue La arquitectura incorpora una colección de vistas de los modelos
(Philippe Kruchten)
equilibrio
Análisis Diseño Implementación Prueba
Tiempo
10
Proceso iterativo e incremental Iterativo: varias espirales
n El resultado de cada iteración es un sistema ejecutable
(aunque sea incompleto y no esté listo para su instalación) Etapa de Ingeniería Etapa de Producción
n Un sistema instalable requiere varias iteraciones
Inicio Elaboración Construcción Transición
§ Evolución de prototipos ejecutables
§ Los objetivos de una iteración se establecen en función de la
evaluación de las iteraciones precedentes
§ Concepto de “time-boxing”: cada iteración debe tener una
duración fija (el máximo, 6 meses)
§ En lugar de retrasar el final de una iteración se recomienda eliminar
algunos de los requisitos (se dejan para la siguiente iteración)
Visión Arquitectura Versiones Beta Productos
§ La realimentación del usuario es fundamental en este proceso
§ El progreso es visible
n Codificación y pruebas. La integración del nuevo código con el Inicio Elaboración Construcción Transición
existente de iteraciones anteriores se hace gradualmente durante
la construcción
Implemen tación
Implemen tación
Implemen tación
Implemen tación
Diseño
Diseño
Diseño
Diseño
Instalación
Instalación
Instalación
Instalación
Requisitos
Requisitos
Requisitos
Requisitos
n Evaluación de la entrega ejecutable (evaluación del prototipo en
función de las pruebas y de los criterios definidos)
Gestión Gestión Gestión Gestión
n Preparación de la entrega (documentación e instalación del
prototipo)
Visión Arquitectura Versiones Beta Productos
11
Gestión del riesgo
§ El análisis de ries gos consiste en evaluar el proyecto, la
tecnología y los recursos con el fin determinar y comprender la 3.3
naturaleza y el origen de los riesgos
Fases y disciplinas
§ Posibles riesgos: (o flujos de trabajo)
§ Comerciales (competencia, etc.)
n Financieros (económicos, etc.)
n Técnicos (¿base tecnológica sólida y probada?)
n De desarrollo (¿equipo experimentado?) n Fases y puntos de control
n Disciplinas (Flujos de trabajo)
§ Cada iteración se centra en los riesgos más importantes n Artefactos
n Artefactos:
n Cualquier tipo de información producida por los desarrolladores de un
sistema (diagramas UML, código, ejecutables, casos de prueba...)
n Se construyen de forma incremental
Etapa de Ingeniería Etapa de Producción
12
Etapas y fases del ciclo de vida Objetivos de las fases
§ Etapa de Ingeniería: equipos pequeños, actividades poco § Inicio del proyecto (inception)
predecibles (análisis, viabilidad, planificación). Las fases son: n Define el ámbito y objetivos del proyecto
n Inicio
§ Elaboración
n Elaboración
n Define la funcionalidad y una arquitectura
básica
n Etapa de Producción: equipos grandes, actividades
predecibles, menos riesgos (programación, pruebas). Las § Construcción
fases son: n El producto se desarrolla a través de iteraciones
n Construcción
§ Transición
n Transición
n Se libera el producto y se entrega al usuario
Inicio Elaboración Construcción Transición para su uso real
tiempo
13
Disciplinas o flujos de trabajo Fases, iteraciones y disciplinas
Fases
n Organizan las actividades fundamentales de gestión y
Disciplinas: Inicio Elaboración Construcción Transición
desarrollo del proyecto
Requisitos
Iteraciones
Requisitos Requisitos
Diseño Diseño
Implementación Implementación
Prueba Prueba
Despliegue Despliegue
Gestión de la Gestión de la
Configuración Configuración
Entorno Entorno
Iteraciones Iteraciones
14
Artefactos Disciplinas y modelos principales
Los diagramas UML
n Definición de artefacto (o producto): representan vistas de
n Cualquier tipo de información producida por los cada modelo
desarrolladores de un sistema. Requisitos Modelo de
casos de uso
n Código fuente
n Ejecutables Implementación Modelo de
Implement.
n Casos de prueba...
Pruebas Modelo de
n Los modelos son los artefactos básicos que producen Pruebas
las disciplinas (incluyen otros artefactos) Cada disciplina se
asocia con modelos
Diagramas Diagramas
Modelo de de secuencia Modelo de de secuencia
despliegue despliegue
Diagramas Diagramas
Modelo de de colaboración Modelo de de colaboración
Implement. Implement.
Diagramas Diagramas
de estados de estados
Modelo de Modelo de
Pruebas Pruebas
Diagramas Diagramas
de actividades de actividades
15
El “Caso de desarrollo” Ejemplo de un “Caso de desarrollo”
n El número de posibles diagramas, modelos, vistas, Disciplina Artefacto Inicio Elabora- Construc- Tran-
ficheros fuente, casos de pruebas, etc. es muy grande ción ción sición
16
Objetivos de la fase de Inicio Criterios de evaluación de la fase
negocio”)
n Hacer estimaciones iniciales de costes, agenda
17
Objetivos de la fase de Elaboración
n Análisis
n Respecto a los requisitos: n Análisis de la arquitectura
n ¿Se han identificado? ¿Se han detallado lo suficiente? n Análisis de los casos de uso
n En cuanto a la arquitectura: n Análisis de clases y paquetes
n Diseño
n ¿Satisface los requisitos? ¿Es robusta?
n Diseño de la arquitectura (estilo, subsistemas)
n Los riesgos: n Diseño de los casos de uso
n ¿Se han eliminado los críticos? ¿Se ha completado la n Implementación
lista? n Implementación de la arquitectura base (para una fracción de
casos de uso)
n Evaluar el proyecto: n Integración del sistema (con bibliotecas de servicios, frameworks)
n ¿Se puede fijar un precio y una fecha de entrega? n Pruebas
n Planificar y diseñar las pruebas
n Realizar pruebas de integración y de sistema
18
Artefactos de la fase de Elaboración
19
Control en la fase de Construcción Artefactos de la fase de Construcción
n Además de las disciplinas técnicas, es preciso llevar a Artefacto Descripción
cabo labores de gestión:
Modelo de casos de uso Conjunto de artefactos producidos hasta ahora
n Control del análisis de negocio
Modelo de análisis
n Evaluación de la fase de Construcción Modelo de diseño
n Planificación de la fase de Transición Modelo de pruebas
Arquitectura del sistema Arquitectura definitiva
Modelo de implementación Incluye el código fuente
Modelo de pruebas
20
Bibliografía Recomendada Lecturas complementarias
& Ministerio de Administraciones Públicas. “MÉ TRICA. Framework”. Addison Wesley, 1998.
Versió n 3. Metodología de Planificación, Desarrollo y
Mantenimiento de sistemas de información”. & Kruchten , Philippe. "A Software Development Process for a
http://www.map.es/csi/metrica3/. 2001. Team of One", The Rational edge. Feb 2002.
http://www.therationaledge.com/
SPEM
Software Process
Engineering Metamodel
Miguel A. Laguna
21
SPEM: estructura SPEM: dependencias
22
SPEM: Ciclo de vida SPEM: notación (1)
23