Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado. 1
¿QUÉ SON EL ANÁLISIS Y EL DISEÑO?
Análisis: InvestigaciónPara crear una aplicación de software hay que describir elproblema y las necesidades o requerimientos: en qué consisteel conflicto y que debe hacerse. El análisis se centra en unainvestigación del problema, no en la manera de definiruna solución.
Diseño: SoluciónPara desarrollar una aplicación, también es necesario contarcon descripciones detalladas y de alto nivel de la soluciónlógica y saber cómo satisface los requerimientos y lasrestricciones. El diseño pone de relieve la soluciónlógica: cómo el sistema cumple con los requerimientos.
2
¿QUÉ SON EL ANÁLISIS Y EL DISEÑO ORIENTADO A OBJETOS?
Su esencia consiste en situar el dominio de un problema y su soluciónlógica dentro de la perspectiva de los objetos.
Durante el análisis orientado a objetos se procura ante todo identificary describir los objetos o conceptos dentro del dominio del problema.Durante el diseño orientado a objetos, se procura definir los objetos decarácter lógico del software que serán implementados en un LPOO.
No olvidar: Objeto = Atributos + Métodos.
Se diferencia del Análisis Estructurado en que este va orientado adescomponer un sistema de acuerdo con sus funciones.
Análisis Diseño Construcción
Investigación
del problemaSolución Lógica Código
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
3
¿Qué es UML?
UML = Unified Modeling Language
Un lenguaje de propósito general para el modelado orientado a objetos
Documento “OMG Unified Modeling Language Specification”
UML combina notaciones provenientes desde:Modelado Orientado a Objetos
Modelado de Datos
Modelado de Componentes
Modelado de Flujos de Trabajo (Workflows)
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
4
Modelos y Diagramas
Un modelo captura una vista de un sistema del mundo
real. Es una abstracción de dicho sistema,
considerando un cierto propósito. Así, el modelo
describe completamente aquellos aspectos del
sistema que son relevantes al propósito del modelo, y
a un apropiado nivel de detalle.
Diagrama: una representación gráfica de una colección
de elementos de modelado.
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
5
Modelos y DiagramasUn proceso de desarrollo de software debe ofrecer un
conjunto de modelos que permitan expresar el producto
desde cada una de las perspectivas de interés
El código fuente del sistema es el modelo más detallado del
sistema (y además es ejecutable). Sin embargo, se
requieren otros modelos ...
Cada modelo es completo desde su punto de vista del
sistema, sin embargo, existen relaciones de trazabilidad
entre los diferentes modelos
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
6
Diagramas de UML Diagrama de Casos de Uso
Diagrama de Clases
Diagrama de Objetos
Diagramas de Comportamiento
Diagrama de Estados
Diagrama de Actividad
Diagramas de Interacción
Diagrama de Secuencia
Diagrama de Colaboración
Diagramas de implementación
Diagrama de Componentes
Diagrama de Despliegue
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
7
Diagramas de UML
Use CaseDiagrams
Use CaseDiagrams
Diagramas de Casos de Uso
ScenarioDiagrams
ScenarioDiagrams
Diagramas deColaboración
StateDiagrams
StateDiagrams
Diagramas deComponentes
ComponentDiagramsComponent
DiagramsDiagramas deDistribución
StateDiagrams
StateDiagrams
Diagramas de Objetos
ScenarioDiagrams
ScenarioDiagrams
Diagramas deEstados
Use CaseDiagrams
Use CaseDiagrams
Diagramas deSecuencia
StateDiagrams
StateDiagrams
Diagramas deClases
Diagramas deActividad
Modelo
Los diagramas expresan gráficamente partes de un modelo
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
8
Organización de Modelos
Vista Lógica(Estructural)
Vista de Procesos(Comportamiento)
Vista de Distribución(Ambiente)
Vista de Realización(Implementación)
Vista de los Casos de Uso
4 +1 vistas de Kruchten
•Clases
•Objetos
•Secuencia
•Colaboración
•Estados
•Actividades
•Componentes
•Despliegue
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
9
Organización de Modelos
Propuesta de Rational Unified Process (RUP)
M. de Casos de Uso del Negocio (Business Use-Case Model)
M. de Objetos del Negocio (Business Object Model)
M. de Casos de Uso (Use-Case Model)
M. de Análisis (Analysis Model)
M. de Diseño (Design Model)
M. de Despliegue (Deployment Model)
M. de Datos (Data Model)
M. de Implementación (Implementation Model)
M. de Pruebas (Test Model)
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
10
Rational Unified Process (RUP)Captura varias de las mejores prácticas en el desarrollomoderno de software en una forma que es aplicable paraun amplio rango de proyectos y organizaciones.
Es una guía de cómo utilizar de manera efectiva UML.
Provee a cada miembro de un equipo un fácil acceso auna base de conocimiento con guías, plantillas yherramientas para todas las actividades críticas dedesarrollo.
Crea y mantiene modelos, en lugar de enfocarse en laproducción de una gran cantidad de papeles dedocumentación.
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
11
RUP: Dos Dimensiones
El proceso puede describirse en dos dimensiones,
o a lo largo de dos ejes:
El eje horizontal representa tiempo y muestra el
aspecto dinámico del proceso, expresado en
términos de ciclos, fases, iteraciones, y metas.
El eje vertical representa el aspecto estático del
proceso; como está descrito en términos de
actividades, artefactos, trabajadores y flujos de
trabajo.
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
13
RUP: Fases e Hitos (Milestones)
tiempo
Objetivos(Vision)
Arquitectura CapacidadOperacional
Inicial
Releasedel Producto
Inception Elaboration Construction Transition
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
14
Elementos en RUP Workflows (Disciplinas)
WORKFLOWS PRIMARIOS
Business Modeling (Modelado del Negocio)
Requirements (Requisitos)
Analysis & Design (Análisis y Diseño)
Implementation (Implementación)
Test (Pruebas)
Deployment (Despliegue)
WORKFLOWS DE APOYO
Environment (Entorno)
Project Management (Gestión del Proyecto)
Configuration & Change Management (Gestión de Configuración y Cambios)
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
15
Elementos en RUP Analyst workersBusiness-Process Analyst
Business Designer
Business-Model Reviewer
Requirements Reviewer
System Analyst
Use-Case Specifier
User-Interface Designer
Developer workersArchitect
Architecture Reviewer
Capsule Designer
Code Reviewer
Database Designer
Design Reviewer
Designer
Implementer
Integrator
Testing professional workers
Test Designer
Tester
Manager workers
Change Control Manager
Configuration Manager
Deployment Manager
Process Engineer
Project Manager
Project Reviewer
Other workers
Course Developer
Graphic Artist
Stakeholder
System Administrator
Technical Writer
Tool Specialist
Workers
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
16
Resultado parcial o final que es producido y usado durante el
proyecto. Son las entradas y salidas de las actividades
Un artefacto puede ser un documento, un modelo o un elemento de
modelo
Conjuntos de Artefactos
ArtefactosElementos en RUP
Deployment Set
Project Management Set
Configuration & Change Management Set
Environment Set
Business Modeling Set
Requirements Set
Analysis & Design Set
Implementation Set
Test Set
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
17
Características Esenciales de RUP
Proceso Dirigido por los Casos de Uso
Proceso Iterativo e Incremental
Proceso Centrado en la Arquitectura
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
18
Proceso Dirigido por los Casos de Uso
RequisitosCapturar, definir y
validar los casos de uso
Realizar los casos de uso
Verificar que se satisfacen los casos
de uso
Análisis & Diseño
Implementación
Pruebas
Casos de Uso
integran el
trabajo
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
19
Proceso Dirigido por los Casos de Uso
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
Caso de Uso Realización de Análisis Realización de Diseño
Caso de Prueba
X
«trace» «trace»
«trace»«trace»
Pruebas Funcionales
PruebasUnitarias
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
20
Proceso Dirigido por los Casos de Uso
Modelo de
Negocio
Terminado
Casos de Uso
Identificados
Casos de Uso
Descritos
Casos de Uso
Analizados
Casos de Uso
diseñados,
implementados
y probados
Fase de Inicio
(concepción)50% - 70% 50% 10% 5%
Muy poco,
puede que solo
algo relativo a
un prototipo
para probar
conceptos.
Fase de
ElaboraciónCasi el 100% 80% o más 40% - 80% 20% - 40% Menos del 10%
Fase de
Construcción100% 100% 100% 100% 100%
Fase de
Transición
Estado de aspectos de los Casos de Uso al finalizar cada fase
Fuente: The Unified Software Development Process. Jacobson,Booch, Rumbaugh. Página 358. Addison-Wesley, 1999.
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
21
Proceso Iterativo e Incremental
El ciclo de vida iterativo se basa en la evolución de
prototipos ejecutables que se muestran a los usuarios y
clientes
En el ciclo de vida iterativo a cada iteración se
reproduce 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
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
22
Proceso Iterativo e Incremental
Las actividades se encadenan en una mini-
cascada con un alcance limitado por los
objetivos de la iteración
Análisis
Diseño
Codific.
Pruebas eIntegración
N veces
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
23
Proceso Iterativo e Incremental
Cada iteración comprende:
Planificar la iteración (Estudio de riesgos)
Análisis de los Casos de Uso y escenarios
Diseño de opciones arquitectónicas
Codificación y pruebas. La integración del nuevo códigocon el existente de iteraciones anteriores se hacegradualmente durante la construcción
Evaluación de la entrega ejecutable. Evaluación delprototipo en función de las pruebas y criterios definidos
Preparación de la entrega Documentación e instalación delprototipo
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
24
Proceso Centrado en la Arquitectura
Arquitectura de un sistema es la organización o estructura
de sus partes más relevantes
Un arquitectura ejecutable es una implementación parcial
del sistema, construida para demostrar algunas
funciones y propiedades
RUP establece refinamientos sucesivos de una
arquitectura ejecutable, construida como un prototipo
evolutivo
Arquitectura
Inicio Elaboración Construcción Transición
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
25
Fases del Ciclo de Vida
El ciclo de vida consiste en una serie de ciclos, cada unode los cuales produce una nueva versión del producto
Cada ciclo está compuesto por fases y cada una de estasfases está compuesta por un número de iteraciones
Las fases son:
Inicio o Estudio de oportunidad. Define el alcance y laviabilidad (factibilidad) del proyecto.
Elaboración. Plan del proyecto, especificación decaracterísticas, arquitectura base.
Construcción. Construir el producto.
Transición. Puesta en marcha del producto a lacomunidad del usuario.
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
26
Fase de Inicio
Propósito(s)Establecer casos de negocios para un nuevo sistema o paraalguna actualización importante de un sistema existente
Especificar el alcance del proyecto
ResultadoUna visión general de los requerimientos del proyecto, i.e.,los requerimientos principales
Un modelo inicial de casos de uso y modelo del dominio (10-20%)
Un caso de negocios inicial: modelar la empresa(cómo funciona laempresa a la que se le va a desarrollar el software). Ese caso de negociosdebe incluir:
- Evaluación inicial de riesgos
- Una estimación de los recursos requeridos
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
27
Fase de Elaboración
PropósitoAnalizar el dominio del problema
Establecer una buena arquitectura
Asumir los elementos de riesgo más altos del proyecto
Desarrollar un plan comprensivo mostrando como el proyecto será completado
ResultadoUn modelo del dominio y de casos de uso 80% completo
Requerimientos suplementarios que capturen los requerimientosno funcionales y cualesquiera requerimientos que no esténasociados con un caso de uso específico
Una lista de riesgos revisada
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
28
Fase de Construcción
PropósitoDesarrollar incrementalmente producto de software completo
el cual estará listo para ser transferido al usuario
ProductosUn modelo completo de diseño y casos de uso
Liberaciones de productos ejecutables de funcionalidad incremental
Documentación de usuario
Una liberación “beta” del producto
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
29
Fase de Transición
Hacer la puesta en marcha del
producto de software al usuario
ProductosLiberaciones ejecutables de producto
“Pruebas beta” para validar el nuevo sistema vs.
las expectativas del usuario
Manuales de usuario actualizados
Documentación de desarrollo actualizada
¿Está el usuario satisfecho?
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
30
INICIO ELABORACION CONSTRUCCION TRANSICION ESFUERZO
Requisitos 15%
Análisis 10%
Diseño 15%
Implementación 30%
Pruebas 15%
Otras 15%
ESFUERZO 5% 20% 65% 10% 100%
DURACION 10% 30% 50% 10% 100%
Esfuerzo respecto de las disciplinas (workflows) y respecto de las fases.
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado.
----------------------------------- FIN DEL DOCUMENTO