¿QUÉ SON EL ANÁLISIS Y EL DISEÑO? Análisis:...

30
Guía 4. Parte 1. Conceptos. Aspectos Fundamentales del Proceso Unificado. 1 ¿QUÉ SON EL ANÁLISIS Y EL DISEÑO? Análisis: Investigación Para crear una aplicación de software hay que describir el problema y las necesidades o requerimientos: en qué consiste el conflicto y que debe hacerse. El análisis se centra en una investigación del problema, no en la manera de definir una solución. Diseño: Solución Para desarrollar una aplicación, también es necesario contar con descripciones detalladas y de alto nivel de la solución lógica y saber cómo satisface los requerimientos y las restricciones. El diseño pone de relieve la solución lógica: cómo el sistema cumple con los requerimientos.

Transcript of ¿QUÉ SON EL ANÁLISIS Y EL DISEÑO? Análisis:...

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.

12

RUP: Dos Dimensiones

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