tutorial. uml y proceso unificado en informática biomédica

138
© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 1/138 Tutorial. UML y Proceso Unificado en Informática Biomédica VII CONGRESO NACIONAL DE INFORMÁTICA DE LA SALUD Madrid, 24-26 de marzo de 2004 Òscar Coltell , y Miguel Arregui Grupo de Integración y Re-Ingeniería de Sistemas (IRIS) Departamento de Lenguajes y Sistemas Informáticos Universitat Jaume I Universitat Jaume I

Upload: karl

Post on 04-Jan-2016

63 views

Category:

Documents


2 download

DESCRIPTION

VII CONGRESO NACIONAL DE INFORMÁTICA DE LA SALUD Madrid, 24-26 de marzo de 2004. Tutorial. UML y Proceso Unificado en Informática Biomédica. Òscar Coltell , y Miguel Arregui. Grupo de Integración y Re-Ingeniería de Sistemas (IRIS) Departamento de Lenguajes y Sistemas Informáticos - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 1/138

Tutorial. UML y Proceso Unificado en Informática Biomédica

VII CONGRESO NACIONAL DEINFORMÁTICA DE LA SALUD

Madrid, 24-26 de marzo de 2004

Òscar Coltell, y Miguel Arregui

Grupo de Integración y Re-Ingeniería de Sistemas (IRIS)Departamento de Lenguajes y Sistemas Informáticos

Universitat Jaume IUniversitat Jaume I

Page 2: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 2/138

CONTENIDOGENERAL

Parte I: Introducción a UML.Parte II: Introducción al Proceso Unificado.

Page 3: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 3/138

Parte I:Introducción a UMLIntroducción a UML

Miguel Arregui

Page 4: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 4/138

PARTE I. CONTENIDO

1. Objetivos.2. Introducción. 3. La Orientación a Objetos, OO.4. El Lenguaje Unificado de Modelado.

(Elementos, Relaciones, Diagramas).5. Cómo utilizar UML.6. Bibliografía.

Page 5: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 5/138

1. Objetivos:

1. Introducir los conceptos que maneja UML

2. Ser una útil toma de contacto con UML para

• Conocer sus posibilidades• Decidir si incluirlo en el arsenal de desarrollo

3. Ser breve, conciso y no entrar en excesivos detalles

4. Describir cómo emplear UML en un proyecto

1.1. Objetivos1.1. Objetivos

Page 6: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 6/138

2. Introducción:

Problema: Actualmente, Software Grande y Complejo.Demanda de interfaces más completas, funcionalidadesmás elaboradas Impacto en complejidad del producto.

Requisitos: Los programas deben poder ser mantenidos yampliados con garantías de éxito.

Solución: Estructuración, modelado.

2.1. Introducción2.1. Introducción

Page 7: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 7/138

2. Introducción:

Ante problemas complejos Divide y vence Estructura

Modela

Modelar es diseñar y estructurar, antes de programar.Sirve para visualizar un diseño y especificar su estructura y comportamiento. Se abstraen los detalles del problema complejo simplificando su desarrollo.

2.2. Introducción2.2. Introducción

Page 8: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 8/138

2. Introducción:

UML es un lenguaje gráfico para: Modelar, diseñar, estructurar, visualizar, especificar y documentar Software.

Proporciona vocabulario común a la cadena de producción.

Es un estándar para crear planos completos y no ambiguos.

Creado por el OMG y usado por NASA, ESA, EBI, W3C...

2.3. Introducción2.3. Introducción

Page 9: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 9/138

3. La Orientación a Objetos, OO:

UML está muy cerca de este paradigma.

Objeto: Intuitivamente todo lo que tiene masa, aunquetambién hay objetos no tangibles. En informática, definenrepresentaciones abstractas de entidades del mundo, tangibles o no, con la intención de emularlas.

Objetos mudo real Objetos informáticos

3.1. La Orientación a Objetos3.1. La Orientación a Objetos

Page 10: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 10/138

3. La Orientación a Objetos, OO:

Los objetos se caracterizan por su estado y comportamiento.

Estado: Situación en que se encuentra un objeto, tal quecumple alguna condición/es particulares, realiza una actividad o espera que suceda un acontecimiento.

Los objetos mantienen su estado en uno o mas atributos.

Atributo: Dato identificado por un nombre.

3.2. La Orientación a Objetos3.2. La Orientación a Objetos

Page 11: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 11/138

3. La Orientación a Objetos, OO:

Los objetos exhiben su comportamiento a través de métodos.

Método: Trozos de funcionalidad asociados al objeto.

Objeto Conjunto de Atributos y Métodos

3.3. La Orientación a Objetos3.3. La Orientación a Objetos

Page 12: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 12/138

3. La Orientación a Objetos, OO:

Los objetos revelan su utilidad en un contexto de comunicación con otros objetos, por medio del paso de mensajes, para componer un sistema con un comportamiento más complejo que el suyo propio.

3.4. La Orientación a Objetos3.4. La Orientación a Objetos

Page 13: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 13/138

3. La Orientación a Objetos, OO:

El envío de mensajes es la forma en que se invoca loscomportamientos de un objeto (cada método define uncomportamiento).

La invocación de métodos permite a un objeto cambiarsu estado o el de otro objeto.

Los detalles internos del objeto quedan ocultos para losDemás objetos Encapsulación.

3.5. La Orientación a Objetos3.5. La Orientación a Objetos

Page 14: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 14/138

3. La Orientación a Objetos, OO:

Clase: Son patrones que definen qué atributos y qué métodos son comunes a un conjunto de objetos, que pertenecen a dicha clase.

Es más fácil de entenderlo si se toma tipo como equivalente. Todos los objetos del mismo tipo comparten el mismo juegode atributos y métodos y, por tanto, pertenecen a la misma clase.

3.6. La Orientación a Objetos3.6. La Orientación a Objetos

Page 15: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 15/138

3. La Orientación a Objetos, OO:

Cada objeto tiene sus atributos y sus métodos, empleando unaclase como patrón. Una vez creado el objeto pasa a ser unainstancia particular de la clase a la que pertenece.

Dos objetos distintos de la misma clase pueden tener el mismo valor en todos sus atributos. Estos atributos que pueden variar de instancia a instancia se conocen comovariables de instancia.

3.7. La Orientación a Objetos3.7. La Orientación a Objetos

Page 16: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 16/138

3. La Orientación a Objetos, OO:

Hay atributos que no varían de una instancia a otra. Todas lasinstancias de la clase tienen el mismo valor. Estos atributos que no varían de instancia a instancia se conocen comovariables de clase.

De manera análoga hay métodos de instancia y métodos de clase.

3.8. La Orientación a Objetos3.8. La Orientación a Objetos

Page 17: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 17/138

3. La Orientación a Objetos, OO:

Herencia: Los objetos se definen a partir de clases. Se puede saber mucho de un objeto sabiendo a qué clase pertenece.Las clases permiten su definición a partir de otras clases. Esto permite definir una jerarquía de especialización. UnaClase definida a partir de otra, hereda todos los atributos y métodos de su clase ancestro. Las clases herederas pueden sobrescribir los atributos y los métodos heredados y puedenañadir nuevos.

3.9. La Orientación a Objetos3.9. La Orientación a Objetos

Page 18: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 18/138

3. La Orientación a Objetos, OO:

La clase tomada como patrón se conoce como Superclase o clase padre, mientras que la heredera se llama clase hija.

La jerarquía de herencia puede ser todo lo profunda que sea necesario. Una clase puede tener varias clases como patrón.

3.10. La Orientación a Objetos3.10. La Orientación a Objetos

Page 19: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 19/138

3. La Orientación a Objetos, OO:

Interfaces: Mecanismo que emplean dos objetos para interactuar. Definen un conjunto de métodos para establecerel protocolo en base al que interactúan dos objetos.

Interfaces Protocolos

Las interfaces capturan similitudes entre clases no relacionadas. Son clases a su vez.

3.11. La Orientación a Objetos3.11. La Orientación a Objetos

Page 20: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 20/138

4. El Lenguaje Unificado de Modelado

4.1. El UML4.1. El UML

Page 21: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 21/138

4. El Lenguaje Unificado de Modelado:

UML es un lenguaje para modelar. Su vocabulario y sintaxis están ideados para la representación conceptual y física de unsistema.

Sus modelos son precisos, no ambiguos y se pueden trasladara una gran variedad de lenguajes de programación, como Java, C++, visual basic, pero también a tablas de bases de datos relacionales y orientadas a objetos.

4.2. El UML4.2. El UML

Page 22: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 22/138

4. El Lenguaje Unificado de Modelado:

Ingeniería directa: Es posible generar código a partir de un modelo UML.

Ingeniería inversa: Es posible generar un modelo UML a partir de la implementación.

En ambos casos se requiere mayor o menor supervisión, en función de lo buenas que sean las herramientas usadas.

4.3. El UML4.3. El UML

Page 23: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 23/138

4. El Lenguaje Unificado de Modelado:

UML tiene tres bloques básicos de construcción, elementos,relaciones y diagramas.

Elementos: Unidades básicas de construcción, cuatro tipos:• Estructurales: Partes estáticas de los modelos, representan aspectos conceptuales o materiales.• De comportamiento: Partes dinámicas de los modelos, representan comportamientos en el tiempo y espacio.• De agrupación: Partes organizativas de los modelos.• De Notación: Partes explicativas de los modelos.

4.4. El UML4.4. El UML

Page 24: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 24/138

4. El Lenguaje Unificado de Modelado:

Elementos estructurales:

Clase

Clase activa

Describe un conjunto de objetos que comparten los mismos atributos, métodos, relaciones y semántica. Las clases implementan una o más interfaces.

Se trata de una clase, en la que existe procesos o hilos de ejecución concurrentes con otros elementos. Las líneas del contorno son más gruesas que en la clase “normal”.

4.5. El UML4.5. El UML

Page 25: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 25/138

4. El Lenguaje Unificado de Modelado:

Elementos estructurales:

Agrupación de métodos u operaciones que especifican un servicio de una clase o componente, describiendo su comportamiento, completo o parcial, externamente visible. UML permite emplear un círculo para representar las interfaces, aunque lo más normal es emplear la clase con el nombre en cursiva.

Define una interacción entre elementos que cooperan para proporcionar un comportamiento mayor que la suma de los comportamientos de sus elementos.

4.6. El UML4.6. El UML

Page 26: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 26/138

4. El Lenguaje Unificado de Modelado:

Elementos estructurales:

Describe un conjunto de secuencias de acciones que un sistema ejecuta, para producir un resultado observable de interés. Se emplea para estructurar los aspectos de comportamiento de un modelo.

Parte física y por tanto reemplazable de un modelo, que agrupa un conjunto de interfaces, archivos de código fuente, clases, colaboraciones y proporciona la implementación de dichos elementos.

Elemento físico que existe en tiempo de ejecución y representa un recurso computacional con capacidad de procesar.

4.7. El UML4.7. El UML

Page 27: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 27/138

4. El Lenguaje Unificado de Modelado:

Elementos de comportamiento:

Comprende un conjunto de mensajes que se intercambian entre un conjunto de objetos, para cumplir un objetivo especifico.

Especifica la secuencia de estados por los que pasa un objeto o una interacción, en respuesta a eventos.

4.8. El UML4.8. El UML

Page 28: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 28/138

4. El Lenguaje Unificado de Modelado:

Elementos de agrupación:

Se emplea para organizar otros elementos en grupos.

Elementos de notación:

Partes explicativa de UML, que puede describir textualmente cualquier aspecto del modelo.

4.9. El UML4.9. El UML

Page 29: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 29/138

4. El Lenguaje Unificado de Modelado:

Relaciones: Abstracciones que actúan de unión entre los elementos.

Dependencia

Asociación

Generalización

Realización

Es una relación entre dos elementos, tal que un cambio en uno puede afectar al otro.

Es una relación estructural que resume un conjunto de enlaces que son conexiones entre objetos.

Es una relación en la que el elemento generalizado puede ser substituido por cualquiera de los elementos hijos, ya que comparten su estructura y comportamiento.

Es una relación que implica que la parte realizante cumple con una serie de especificaciones propuestas por la clase realizada (interfaces).

4.10. El UML4.10. El UML

Page 30: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 30/138

Diagramas: Disponen un conjunto de elementos, que representan el modelo desde distintas perspectivas. UMLtiene nueve diagramas fundamentales, clasificados en dos grupos, uno para modelar la estructura estática del sistema y otro para modelar el comportamiento dinámico.

4. El Lenguaje Unificado de Modelado:

Diagramas estáticos: Clases, Objetos, componentes y despliegue.

Diagramas dinámicos: Casos de Uso, secuencia, colaboración, estados y actividades.

4.11. El UML4.11. El UML

Page 31: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 31/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Clases:

Muestran un resumen del sistemaen términos de sus clases y lasrelaciones entre ellas.

Las clases abstractas tienen sunombre en itálica.Son interfaces.

Las flechas navegables son asociaciones navegables que expresan el sentido en que se consultan los datos. El Resto son asociacionesbidireccionales.

4.12. El UML4.12. El UML

Page 32: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 32/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Clases:

Las relaciones pueden traer asociada una multiplicidad, expresada “en el lado opuesto” dela relación. Resume el número de posibles instancias de una clase asociadas a una únicainstancia de la clase en el otro extremo.

  

Multiplicidad Significado

1 Una única instancia

N / * N instancias

0..N / 0..* Entre ninguna y N instancias

1..N / 1..* Entre una y N instancias

0..1 Ninguna o una instancia

N..M Entre N y M instancias

4.13. El UML4.13. El UML

Page 33: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 33/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Clases:

Compartimentos de la clase: primero nombre segundo atributos tercero métodos

  

En las relaciones de dependencia un cambio en la clase dependida afectará la clase dependiente.

Acceso de atributos y métodos: “+” público “-” privado (sólo los métodos), “#” protegido (sólo clases hija).

Los atributos y métodos estáticos (de clase) se representan mediante un subrayado. Los métodos pueden emplear el estereotipo <<static>>.

Argumentos: nombre:tipo [=val] (, nombre:tipo[=val])*

4.14. El UML4.14. El UML

Page 34: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 34/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Clases:

  

Relación de auto agregación. Un departamento puede estarcompuesto por varios sub departamentos, o ninguno, con larestricción de que el mínimo número de personas en los sub departamentos debe ser dos. En UML las restricciones se expresan mediante llaves “{condicion a cumplir siempre}”.

Los diagramas de objetos son análogos a los de clases, con la particularidad de que en lugar de encontrar clases, encontramos instancias de éstas. Son útiles para explicar partes pequeñas del modelo en las que hay relaciones complejas

Diagrama de Objetos:

4.15. El UML4.15. El UML

Page 35: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 35/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Componentes:

  

Un componente es un módulo de código, de modo que los diagramas de componentes son los análogos físicos a los diagramas de clases.

Muestran la organización y dependencias de un conjunto de componentes. Cubren la vista de implementación estática de un sistema.

4.16. El UML4.16. El UML

Page 36: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 36/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Despliegue:

  

Los diagramas de despliegue sirven para modelar la configuración hardware del sistema, mostrando qué nodos lo componen

4.17. El UML4.17. El UML

Page 37: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 37/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Casos de Uso:

  

Describen lo que hace el sistema desde el punto de vista de un observador externo.

Enfatizan el qué en lugar del cómo.

Plantean escenarios, lo que pasa cuando alguien interactúa con el sistema. Proporcionan un resumen para una objetivo.

Los Actores son papeles que determinadas personas u objetos desempeñan.

Las líneas que unen los Actores con los Casos de Uso (óvalos) representan una asociación de comunicación.

4.18. El UML4.18. El UML

Page 38: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 38/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Casos de Uso:

  

Los Casos de Uso pueden explosionarse para describir en mayor profundidad.

“Carlos tuesta el pan en la tostadora, después lo unta con mantequilla y mermelada de fresa y se lo come, posiblemente mojándolo en un café.”

“Carlos calienta leche, añade café y azúcar al gusto y se lo bebe.”

Los Casos de Uso pueden acompañarse de texto que enriquezca el lenguaje gráfico.

4.19. El UML4.19. El UML

Page 39: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 39/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Casos de Uso:

  

frontera

estereotipo

generalización

Paralelo, orden irrelevante

4.20. El UML4.20. El UML

Page 40: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 40/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Secuencia:

  

Describen cómo los objetos del sistema colaboran.

Detalla cómo las operaciones se llevan a cabo en términos de qué mensajes son enviados y cuando (en torno al tiempo).

tiem

po

Orden participación

Los corchetes expresan condición [condición].Si son precedidos por “*” iteración mientras.

Línea de vida obj.

Su vida termina.

4.21. El UML4.21. El UML

Page 41: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 41/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Secuencia:

  

Los rectángulos verticales son barras de activación. Representan la duración de la ejecución del mensaje.

Mensaje asíncronos: El emisor puede enviar otros mientras éste está siendo procesado.Es independiente a otros mensajes.

Mensaje síncronos: El emisor debe esperar que termine el tiempo de proceso de éste para enviar nuevos mensajes.

Mensaje simplepuede ser síncronoo asíncrono

Mensaje simplede vuelta (opt)

SíncronoAsíncrono

4.22. El UML4.22. El UML

Page 42: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 42/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Colaboración:

  

Son otro tipo de diagramas de interacción. Contienen la misma información que los diagramas de secuencia, pero se centran en la responsabilidad de cada objeto en lugar de en el tiempo en que los mensajes son enviados

Cada mensaje tiene un número de secuencia. El primer nivel comienza en 1, los mensajes que son enviados durante la misma llamada a un método se numeran 1.1, 1.2 ... 1.i, tantos niveles como sea necesario.

4.23. El UML4.23. El UML

Page 43: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 43/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Estados:

  

Muestran los posibles estados en que puede encontrarse un objeto y las transiciones que pueden causar un cambio de estado. El estado de un objeto depende de la actividad que esté llevando a cabo o de alguna condición.

Circunstancia o condición que provoca la transición

acción

Resultado de actividad

inicio

fin

4.24. El UML4.24. El UML

Page 44: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 44/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Estados:

  

Los estados pueden anidarse, agrupando estados relacionados en un estado compuesto.Puede ser necesario cuando una actividad involucra actividades concurrentes o asíncronas.

4.25. El UML4.25. El UML

Page 45: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 45/138

4. El Lenguaje Unificado de Modelado:

Diagrama de Actividades:

  

Son diagramas de flujo adornados, con mucha similitud a los diagramas de estados.

Mientras los diagramas de estados centran su atención en el proceso que lleva a cabo un objeto, los diagramas de actividades muestran como las actividades fluyen y las dependencias entre ellas.

4.26. El UML4.26. El UML

Page 46: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 46/138

5. Cómo utilizar UML:

UML es simplemente un lenguaje. Define un conjunto deelementos y las relaciones entre ellos y esto se emplea paradefinir modelos.

UML se usa típicamente como parte de un proceso de desarrollo, con ayuda de una herramienta CASE.

UML es independiente de cualquier proceso particular, noEstá ligado a ningún ciclo de vida de desarrollo de software concreto.

5.1. Cómo Utilizar UML5.1. Cómo Utilizar UML

Page 47: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 47/138

UML proporciona mayores beneficios si se selecciona un proceso dirigido por Casos de Uso, centrado en la arquitectura y sea incremental.

Dirigido por Casos de Uso: Los Casos de Uso son básicosPara establecer el comportamiento deseado del sistema, para verificarlo, para validar su arquitectura y para comunicarse Con todas las personas involucradas en el proyecto.

5. Cómo utilizar UML:

5.2. Cómo Utilizar UML5.2. Cómo Utilizar UML

Page 48: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 48/138

Centrado en la arquitectura: La arquitectura de un sistema es el conjunto de decisiones significativas que se toma en torno a su organización, la selección de elementos estructurales, la definición de las interfaces entre estos elementos, su comportamiento, su división en subsistemas, qué elementos son estáticos y cuales dinámicos. La arquitectura también incluye el uso que se le va a dar al sistema, la funcionalidad, el rendimiento, la capacidad de adaptación, la reutilización, la capacidad de ser comprendido, las restricciones económicas, las temporales, los compromisos entre alternativas y los aspectos estéticos.

5. Cómo utilizar UML:

5.3. Cómo Utilizar UML5.3. Cómo Utilizar UML

Page 49: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 49/138

Proceso incremental: aquél que consiste en sucesivas ampliaciones y mejoras de la arquitectura, a partir de una línea básica. Cada incremento resuelve los problemas encontrados en la versión anterior minimizando progresivamente los riesgos más significativos para el éxito del proyecto.

5. Cómo utilizar UML:

5.4. Cómo Utilizar UML5.4. Cómo Utilizar UML

Page 50: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 50/138

Lo primero que se debe hacer para comenzar a desarrollar un proyecto con UML, es seleccionar una metodología de desarrollo que defina la naturaleza concreta del proceso a seguir.

El modelo a definir en base al proceso elegido, se divide en realidad en varios tipos de modelo o vistas, cada una centrada en un aspecto o punto de vista del sistema. En general, independientemente del proceso que se emplee, se puede encontrar las siguientes vistas

5. Cómo utilizar UML:

5.5. Cómo Utilizar UML5.5. Cómo Utilizar UML

Page 51: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 51/138

Vista de Casos de Uso: Engloba los Casos de Uso que describen el comportamiento del sistema como lo verían los usuarios finales, los analistas y demás componentes del equipo de desarrollo. No especifica la organización del sistema. Con UML los aspectos estáticos de esta vista se pueden concretar con los diagramas de Casos de Uso; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.

Vista de Diseño: Engloba las clases e interfaces que conforman el vocabulario del problema y su solución. Da soporte a los requisitos funcionales del sistema, es decir los servicios que proporciona a los usuarios finales. Con UML los aspectos estáticos de esta vista se pueden concretar con los diagramas de clases y de objetos; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.

5. Cómo utilizar UML:

5.6. Cómo Utilizar UML5.6. Cómo Utilizar UML

Page 52: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 52/138

Vista de Procesos: Engloba los hilos y procesos que forman los mecanismos de sincronización y concurrencia del sistema. Da soporte al funcionamiento, capacidad de crecimiento y rendimiento del sistema. Con UML los aspectos estáticos de esta vista se pueden concretar con los diagramas de clases, de clases activas y de objetos; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.

Vista de Despliegue: Engloba los nodos que forman la topología hardware sobre el que se ejecuta el sistema. Da soporte a la distribución, entrega e instalación de las partes que conforman el sistema físico. Con UML los aspectos estáticos de esta vista se pueden concretar con los diagramas despliegue; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.

5. Cómo utilizar UML:

5.7. Cómo Utilizar UML5.7. Cómo Utilizar UML

Page 53: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 53/138

Vista de Implementación: Engloba los componentes y archivos empleados para hacer posible el sistema físico. Da soporte a la gestión de configuraciones de las distintas versiones del sistema, a partir de componentes y archivos. Con UML los aspectos estáticos de esta vista se pueden concretar con los diagramas de componentes; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.

5. Cómo utilizar UML:

5.8. Cómo Utilizar UML5.8. Cómo Utilizar UML

Page 54: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 54/138

Ejemplo para la construcción de un programa:

  

Un ejemplo de proceso para la construcción de un programa, podría ser similar al siguiente, teniendo en cuenta que el proceso descrito deja muchas cosas por ampliar. Se proporciona meramente como un ejemplo de cómo se puede encajar UML como soporte para el desarrollo de un proyecto.

1. Iniciar y mantener reuniones con los usuarios finales del programa, para comprender sus necesidades, el contexto en que lo usarán y todos los detalles necesarios para comprender el ámbito del problema a resolver. Esta información será empleada para capturar las actividades y procesos involucrados y susceptibles de ser incorporados en el programa, a un nivel alto, y proporcionará la base para construir la vista de Casos de Uso.

5. Cómo utilizar UML:

5.9. Cómo Utilizar UML5.9. Cómo Utilizar UML

Page 55: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 55/138

Ejemplo para la construcción de un programa:

  

2. Construir la vista de Casos de Uso definiendo exactamente la funcionalidad que se va a incorporar en el programa, desde el punto de vista de sus usuarios. El modelo resultante es realmente un mapeo de la información obtenida en el paso anterior, en el que cada nuevo Caso de Uso realiza un aspecto de la funcionalidad planteada. Refinar, en conjunto con los usuarios finales, todos los diagramas de Casos de Uso, incluyendo requisitos y restricciones, para llegar a un acuerdo común en lo que el programa hará y no hará. En este punto puede ser conveniente diseñar escenarios de prueba que ayuden a verificar si el programa finalizado cumple con las expectativas del contrato.

5. Cómo utilizar UML:

5.10. Cómo Utilizar UML5.10. Cómo Utilizar UML

Page 56: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 56/138

Ejemplo para la construcción de un programa:

  

3. Partiendo del modelo de Casos de Uso se comienza a estructurar los requisitos en una arquitectura llamada “línea base”. Se definen clases y relaciones entre ellas, los primeros diagramas de secuencia y colaboración, definiendo los comportamientos de cada clase, también las interfaces entre los diferentes elementos de la arquitectura. Se construye aquí la vista de diseño y la vista de procesos. Construir diagramas de clases más elaborados y refinar los comportamientos del sistema.

4. A medida que crece el modelo se puede fraccionar en componentes software y paquetes. Aparecen nuevos requisitos que deben ser integrados. Se define la vista de despliegue, que define la arquitectura física del sistema, y la vista de implementación.

5. Cómo utilizar UML:

5.11. Cómo Utilizar UML5.11. Cómo Utilizar UML

Page 57: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 57/138

Ejemplo para la construcción de un programa:

  

5. Construir el sistema, repartiendo las tareas entre el equipo de programación.

6. Buscar errores de programación, o incluso de diseño, corregirlos e ir sacando sucesivas versiones del programa hasta llegar a una versión que cumpla con todos los requisitos especificados en el contrato con los usuarios.

7. Documentar y entregar el programa a los usuarios finales.

5. Cómo utilizar UML:

5.12. Cómo Utilizar UML5.12. Cómo Utilizar UML

Page 58: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 58/138

6. Bibliografía:

Grady Booch, James Rumbaugh, Ivar Jacobson, (1996) El Lenguaje Unificado de Modelado¸Addison Wesley.

  

Schneider G., Winters J.P., (2001) Applying Use Cases: A Practical Guide, Addison Wesley.

OMG en Internet: http://www.omg.org

6.1. Bibliografía PARTE I6.1. Bibliografía PARTE I

Page 59: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 59/138

Parte II:Introducción al Proceso Introducción al Proceso

UnificadoUnificado

Òscar Coltell

Page 60: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 60/138

PARTE II. CONTENIDO7. Objetivos.8. Conceptos fundamentales. 9. El Proceso Unificado.10.Fases del ciclo.11.Flujos de trabajo.12.Tipos de resultados. 13.Captura y Modelado de Requisitos.14.Modelado de Análisis.15.Modelado de Diseño.16.Modelado de Implementación.17.Resumen.18.Bibliografía

Page 61: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 61/138

7. OBJETIVOS

• Introducir los aspectos generales del Proceso Unificado de Rational (RUP), también denominado Proceso Unificado de Desarrollo de Software (SDUP).

• Asociar las fases de un proyecto de software con las fases del RUP y el ciclo de vida del desarrollo del software.

• Presentar los artefactos fundamentales del Proceso Unificado.

7.1. OBJETIVOS7.1. OBJETIVOS

Page 62: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 62/138

8. Conceptos fundamentales

• Proceso:

– Es un marco de trabajo común compuesto por actividades de trabajo (conjuntos de tareas, hitos, productos y puntos de garantía de calidad) y actividades de protección (garantía de calidad, gestión de configuración y medición) (Pressman 2001).

• Producto:– Es el resultado previsto y consistente del proceso.

8.1. Conceptos fundamentales8.1. Conceptos fundamentales

Page 63: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 63/138

8. Conceptos fundamentales

• Fase:– Es el intervalo de tiempo entre dos hitos

importantes del proceso durante el que se cumple un conjunto bien definido de objetivos, se completan partes del sistema y se toman decisiones sobre si pasar o no a la siguiente fase.

• Iteración:– Representa un ciclo de desarrollo completo,

desde la captura de requisitos en el análisis hasta la implementación y pruebas, que produce como resultado la entrega al cliente o la salida al mercado de un proyecto ejecutable.

8.2. Conceptos fundamentales8.2. Conceptos fundamentales

Page 64: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 64/138

8. Conceptos fundamentales

• Ciclo de vida del software:

– Es el conjunto de fases por las que pasa el software, que abarcan desde su creación u origen, hasta su eliminación o liquidación formal.

• Modelo de desarrollo:– También denominado Modelo de Proceso.– Estrategia de desarrollo basada en el ciclo de

vida, naturaleza del proyecto y metodología, que determina las características específicas del proceso (Pressman 2001).

8.3. Conceptos fundamentales8.3. Conceptos fundamentales

Page 65: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 65/138

8. Conceptos fundamentales

8.4. Conceptos fundamentales8.4. Conceptos fundamentales

Ciclo de vida del software completo

Liqui-dación

Explotación

Explo-tación / Mantenimiento

Entre-ga

DesarrolloConcepción

Prue-bas

Cons-truc-ción

Dise-ño

Análi-sis

Análi-sis de requi-sitos

Mode-lado del

nego-cio

Prepa-ración

del proble

ma

Liqui-dación

Explotación

Explo-tación / Mantenimiento

Entre-ga

DesarrolloConcepción

Prue-bas

Cons-truc-ción

Dise-ño

Análi-sis

Análi-sis de requi-sitos

Mode-lado del

nego-cio

Prepa-ración

del proble

ma

Tiempo

% C

on

oci

mie

nto

% I

mp

lem

enta

ció

n

ConocimientoImplementación

Page 66: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 66/138

8. Conceptos fundamentales

• Principios fundamentales:

– Son asertos de ingeniería que prescriben restricciones sobre soluciones de problemas o sobre el proceso de desarrollo de soluciones, se evalúan rigurosamente en la práctica, y se juzgan sobre la base de la utilidad, la relevancia y la significación (Bourque et al., 2002).

• Normas:– Son el desarrollo de los principios fundamentales

para ámbitos particulares de tipo técnico, económico y organizativo.

8.5. Conceptos fundamentales8.5. Conceptos fundamentales

Page 67: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 67/138

8. Conceptos fundamentales

8.6. Conceptos fundamentales8.6. Conceptos fundamentales

PRINCIPIOS DELA INGENIERÍA DEL SOFTWARE

PRINCIPIOS DELA INGENIERÍA DEL SOFTWARE

NORMAS DELA INGENIERÍA DEL SOFTWARE

NORMAS DELA INGENIERÍA DEL SOFTWARE

NORMASTÉCNICAS

ESTÁNDARES

OTRASNORMAS

PROCESO

PRODUCTOPRODUCTO

MODELOS DEPROCESO

MODELOS DEPROCESO

METODOLOGÍAS/ PARADIGMAS

METODOLOGÍAS/ PARADIGMAS

TÉCNICASTÉCNICAS HERRAMIENTASHERRAMIENTAS

Estructura formal de la Ingeniería del Software

RUP

Page 68: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 68/138

9. El Proceso Unificado

El Proceso Unificado:

A. Es un Proceso iterativoiterativo.

B. Está centradocentrado en la arquitectura.

C. Está dirigidodirigido por los casos de uso.

D. Es un proceso configurable.

E. Soporta las técnicas orientadas a objetos.

F. Impulsa un control de calidad y una gestión del riesgo objetivos y continuos.

9.1. El Proceso Unificado9.1. El Proceso Unificado

Page 69: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 69/138

9. El Proceso Unificado

• A. El RUP es un proceso iterativo:

– Un enfoque iterativo propone una comprensión incremental del problema a través de refinamientos sucesivos y un crecimiento incremental de una solución efectiva a través de varias versiones.

– Como parte del enfoque iterativo se encuentra la flexibilidad para acomodarse a nuevos requisitos o a cambios tácticos en los objetivos del negocio.

– Permite que el proyecto identifique y resuelva los riesgos más bien pronto que tarde.

9.2. El Proceso Unificado9.2. El Proceso Unificado

Page 70: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 70/138

9. El Proceso Unificado

• B. Aspectos del RUP:

– El desarrollo bajo el Proceso Unificado está centrado en la arquitectura.

– El proceso se centra en establecer al principio una arquitectura software que guía el desarrollo del sistema:

• Se facilita el desarrollo en paralelo.

• Se minimiza la repetición de trabajos.

• Se incrementa la probabilidad de reutilización de componentes y el mantenimiento posterior del sistema.

– Este diseño arquitectónico sirve como una sólida base sobre la cual se puede planificar y manejar el desarrollo de software basado en componentes.

9.3. El Proceso Unificado9.3. El Proceso Unificado

Page 71: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 71/138

9. El Proceso Unificado

• C. Aspectos del RUP:

– Las actividades de desarrollo bajo el Proceso Unificado están dirigidas por los casos de uso.

– El Proceso Unificado pone un gran énfasis en la construcción de sistemas basada en una amplia comprensión de cómo se utilizará el sistema que se entregue.

– Las nociones de los casos de uso y los escenarios se utilizan para guiar el flujo de procesos desde la captura de los requisitos hasta las pruebas, y para proporcionar caminos que se pueden reproducir durante el desarrollo del sistema.

9.4. El Proceso Unificado9.4. El Proceso Unificado

Page 72: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 72/138

9. El Proceso Unificado

• D. Aspectos del RUP:

– El Proceso Unificado es un proceso configurable.– Aunque un único proceso no es adecuado para todas las

organizaciones de desarrollo de software, el Proceso Unificado es adaptable y puede configurarse para cubrir las necesidades de proyectos que van desde pequeños equipos de desarrollo de software hasta grandes empresas de desarrollo.

– También se basa en una arquitectura de proceso simple y clara, que proporciona un marco común a toda una familia de procesos y que, además, puede variarse para acomodarse a distintas situaciones.

9.5. El Proceso Unificado9.5. El Proceso Unificado

Page 73: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 73/138

9. El Proceso Unificado

• E. Aspectos del RUP:

– El Proceso Unificado soporta las técnicas orientadas a objetos.

– Los modelos del Proceso Unificado se basan en los conceptos de objeto y clase y las relaciones entre ellos, y utilizan UML como la notación común.

9.6. El Proceso Unificado9.6. El Proceso Unificado

Page 74: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 74/138

9. El Proceso Unificado

• F. Aspectos del RUP:

– El Proceso Unificado es impulsa un control de calidad y una gestión del riesgo objetivos y continuos.

– La evaluación de la calidad va contenida en el proceso, en todas las actividades, e implicando a todos los participantes, mediante medidas y criterios objetivos. No se trata como algo a posteriori o una actividad separada.

– La gestión del riesgo va contenida en el proceso, de manera que los riesgos para el éxito del proyecto se identifican y se acometen al principio del proceso de desarrollo, cuando todavía hay tiempo de reaccionar.

9.7. El Proceso Unificado9.7. El Proceso Unificado

Page 75: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 75/138

9. El Proceso Unificado

• El Proceso Unificado tiene una estructura matricial donde se relacionan esfuerzos y tiempos: – Los tiempos están definidos por las fases y las iteraciones.– Los esfuerzos están definidos por los flujos de trabajo del

proceso y de soporte.– La representación gráfica se denomina en la jerga el

Diagrama de Montañas.

9.8. El Proceso Unificado9.8. El Proceso Unificado

Page 76: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 76/138

Flujos de trabajodel proceso

Gestión del proyecto

Flujos de trabajode soporte

Iniciación Elaboración Construcción Transición

Iteracionespreliminares

Iter#m+1

Modelado delnegocio

Pruebas

Despliegue

Gestión del cambioy configuraciones

Entorno

Implementación

Requisitos

Análisis y diseño

Iter#2

Iter#n

Iter#n+1

Iter#n+2

Iter#1

Iter#m

El ciclo de vida del desarrollo del software

9.9. El Proceso Unificado9.9. El Proceso Unificado

Fuente: Jacobson et al., 2000

Page 77: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 77/138

9. El Proceso Unificado

• En esta estructura matricial se puede deducir que: – Los resultados de los flujos de trabajo de proceso

son los MODELOS.– La conjunción de tiempo (fases) y esfuerzos

(flujos de trabajo) da lugar a las iteraciones.– La conjunción de resultados (modelos) y

esfuerzos (flujos de trabajo) da lugar a los tipos de modelos.

– La conjunción de tiempo (fases) y resultados (modelos) da lugar a las versiones.

9.10. El Proceso Unificado9.10. El Proceso Unificado

Page 78: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 78/138

9. El Proceso Unificado

• Se puede representar esta estructura conceptual (metamodelo) mediante una figura tridimensional donde:– Eje X: Fases tiempo– Eje Y: Flujos de trabajo esfuerzos– Eje Z: Modelos resultados

9.11. El Proceso Unificado9.11. El Proceso Unificado

Page 79: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 79/138

Z: Modelos

X: Fases

Y: Flujosde trabajo (x,y): iteraciones

(x,z): versiones

(y,z): tipos de modelos

tiempo

resultados

esfuerzo

9.12. El Proceso Unificado9.12. El Proceso Unificado

X,Y,Z:X,Y,Z:ConfiguracionesConfiguracionesdel sistemadel sistema

Page 80: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 80/138

10. Fases del ciclo

• Fase: es el intervalo de tiempo entre dos hitos importantes del proceso durante el que se cumple un conjunto bien definido de objetivos, se completan artefactos y se toman decisiones sobre si pasar o no a la siguiente fase.

• Dentro de cada fase hay varias iteraciones– Iteración: representa un ciclo de desarrollo completo, desde

la captura de requisitos en el análisis hasta la implementación y pruebas, que produce como resultado la entrega al cliente o la salida al mercado de un proyecto ejecutable.

10.1. Fases del ciclo10.1. Fases del ciclo

Page 81: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 81/138

10. Fases del ciclo• Iniciación.

– Se establece la planificación del proyecto y se delimita su alcance.

• Elaboración.– Se analiza el dominio del problema, se establece una base

arquitectónica sólida, se desarrolla el plan del proyecto y se eliminan los elementos de más alto riesgo del proyecto.

• Construcción.– Se desarrolla de forma iterativa e incremental un producto

completo que está preparado para la transición hacia la comunidad de usuarios.

• Transición.– El software se despliega en la comunidad de usuarios.

10.2. Fases del ciclo10.2. Fases del ciclo

Page 82: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 82/138

Flujos de trabajodel proceso

Gestión del proyecto

Flujos de trabajode soporte

Iniciación Elaboración Construcción Transición

Iteracionespreliminares

Iter#m+1

Modelado delnegocio

Pruebas

Despliegue

Gestión del cambioy configuraciones

Entorno

Implementación

Requisitos

Análisis y diseño

Iter#2

Iter#n

Iter#n+1

Iter#n+2

Iter#1

Iter#m

Flujos de trabajodel proceso

Gestión del proyecto

Flujos de trabajode soporte

Iniciación Elaboración Construcción Transición

Iteracionespreliminares

Iter#m+1

Modelado delnegocio

Pruebas

Despliegue

Gestión del cambioy configuraciones

Entorno

Implementación

Requisitos

Análisis y diseño

Iter#2

Iter#n

Iter#n+1

Iter#n+2

Iter#1

Iter#m

F1:

F2:

F3:

F4:

F5:

F6:

F7:

F8:F9:

F2 F1

F3

F4

F5F6 F7

F8

F9

F2 F1

F3

F4

F5F6 F7

F8

F9

F2 F1

F3

F4

F5F6 F7

F8

F9

F2 F1

F3

F4

F5F6 F7

F8

F9

F2

F1

F3F4

F5F6 F7

F8

F9

F2

F1

F3F4

F5F6 F7

F8

F9

Las iteraciones son distintas en el ciclo de vida

10.3. Fases del ciclo10.3. Fases del ciclo

Page 83: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 83/138

10. Fases del ciclo

• Cada iteración pasa a través de varios flujos de trabajo del proceso, aunque con un énfasis diferente en cada uno de ellos, dependiendo de la fase en que se encuentre:– Durante la iniciación, el interés se orienta hacia el análisis y

el diseño.– También durante la elaboración.– Durante la construcción, la actividad central es la

implementación.– La transición se centra en despliegue.

10.4. Fases del ciclo10.4. Fases del ciclo

Page 84: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 84/138

11. Flujos de trabajo

• Los esfuerzos aplicados en el ciclo de vida de desarrollo son de dos tipos:

• Flujos de trabajo del proceso:– Conjunto de actividades fundamentalmente

técnicas.

• Flujos de trabajo de soporte:– Conjunto de actividades fundamentalmente de

gestión.

11.1. Flujos de trabajo11.1. Flujos de trabajo

Page 85: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 85/138

11. Flujos de trabajo

1. Modelado del negocio: describe la estructura y la dinámica de la organización.

2. Requisitos: describe el método basado en casos de uso para extraer los requisitos.

3. Análisis y diseño: describe las diferentes vistas arquitectónicas.

4. Implementación: tiene en cuenta el desarrollo de software, la prueba de unidades y la integración.

5. Pruebas: describe los casos de pruebas, los procedimientos y las métricas para evaluación de defectos.

6. Despliegue: cubre la configuración del sistema entregable.

Flujos de trabajo del proceso:

11.2. Flujos de trabajo11.2. Flujos de trabajo

Page 86: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 86/138

11. Flujos de trabajo

1. Gestión de configuraciones: controla los cambios y mantiene la integridad de los artefactos de un proyecto.

2. Gestión del Proyecto: describe varias estrategias de trabajo en un proceso iterativo.

3. Entorno: cubre la infraestructura necesaria para desarrollar un sistema.

Flujos de trabajo de soporte:

11.3. Flujos de trabajo11.3. Flujos de trabajo

Page 87: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 87/138

Flujos de trabajodel proceso

Gestión del proyecto

Flujos de trabajode soporte

Iniciación Elaboración Construcción Transición

Iteracionespreliminares

Iter#m+1

Modelado delnegocio

Pruebas

Despliegue

Gestión del cambioy configuraciones

Entorno

Implementación

Requisitos

Análisis y diseño

Iter#2

Iter#n

Iter#n+1

Iter#n+2

Iter#1

Iter#m

El ciclo de vida del desarrollo del software:Flujos

11.4. Flujos de trabajo11.4. Flujos de trabajo

Page 88: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 88/138

12. Tipos de resultados

• Un modelomodelo es una abstracción de la realidad o de un sistema real tomando los elementos más representativos con un propósito determinado.

• De un mismo sistema puede haber más de un modelo, porque, según el propósito del mismo, los elementos representativos pueden ser distintos.

• Los elementos a considerar en la construcción de modelos son: supuestos, simplificaciones, limitaciones o restricciones y preferencias

12.1. 12.1. Tipos de resultadosTipos de resultados

Page 89: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 89/138

12. Tipos de resultados

• Los supuestos:– Son elementos para la construcción de modelos que reducen el

número de permutaciones y variaciones posibles, permitiendo al modelo reflejar el problema de manera razonable.

• Las simplificaciones: – Son elementos para la construcción de modelos que permiten

crear el modelo a tiempo.

• Las limitaciones o restricciones: – Son elementos para la construcción de modelos que ayudan a

delimitar el problema.

• Las preferencias: – Son elementos para la construcción de modelos que indican la

arquitectura preferida para toda la información, funciones y tecnología.

– Pueden tener conflictos con otros factores restrictivos.– Es recomendable tenerlas en cuenta para obtener un resultado

aceptado, además de correcto.

12.2. 12.2. Tipos de resultadosTipos de resultados

Page 90: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 90/138

12. Tipos de resultados

• Un modelo de objetosmodelo de objetos o modelo orientado a objetosmodelo orientado a objetos es una abstracción de un sistema informático orientado a objetos real que tiene un propósito determinado.

• Según el propósito final, el mismo sistema puede tener distintos modelos.

• Sin embargo, cualquiera de los modelos se construye con el mismo conjunto de elementos para representar las propiedades estáticas (estructura) y dinámicas (comportamiento) tanto del sistema como de las entidades que lo componen.

12.3. 12.3. Tipos de resultadosTipos de resultados

Page 91: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 91/138

12. Tipos de resultados

• Cada actividad del Proceso Unificado lleva algunos artefactos asociados.

• Algunos artefactos:– Se utilizan como entradas directas en las actividades

siguientes.– Se mantienen como recursos de referencia en el

proyecto.– Se generan en algún formato específico, en forma de

entregas definidas en el contrato.

• Estos artefactos son adicionales a los que proporciona el propio UML:

– Los modelos y los conjuntos.

12.4. 12.4. Tipos de resultadosTipos de resultados

Page 92: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 92/138

12. Tipos de resultados

• Los modelosmodelos son el tipo de artefacto más importante en el Proceso Unificado.

• Constituyen el tercer eje del metamodelo 3-D:– Los tipos de resultados obtenidos con los distintos

esfuerzos a lo largo de las fases del ciclo.

• Hay nueve modelos que en conjunto cubren todas las decisiones importantes implicadas en la visualización, especificación, construcción y documentación de un sistema con gran cantidad de software.

12.5. 12.5. Tipos de resultadosTipos de resultados

Page 93: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 93/138

12. Tipos de resultados

1. Modelo del negocio: establece una abstracción de la organización.

2. Modelo del dominio: establece el contexto del sistema.

3. Modelo de casos de uso: establece los requisitos funcionales del sistema.

4. Modelo de análisis (opcional): establece un diseño de las ideas.

5. Modelo de diseño: establece el vocabulario del problema y su solución.

6. Modelo del proceso (opcional): establece los mecanismos de concurrencia y sincronización del sistema.

7. Modelo de despliegue: establece la topología hardware sobre la cual se ejecutará el sistema.

8. Modelo de implementación: establece las partes que se utilizarán para ensamblar y hacer disponible el sistema físico.

9. Modelo de pruebas: establece las formas de validar y verificar el sistema.

12.6. 12.6. Tipos de resultadosTipos de resultados

Modelos del Proceso Unificado:

Page 94: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 94/138

Modelo deCasos de Uso

Modelo deAnálisis

Modelo deDiseño

Modelo deDespliegue

Modelo deImplementación

Modelo dePrueba

especificado por realizado por

distribuido por

implementado por

verificado por

12.7. 12.7. Tipos de resultadosTipos de resultados

Relaciones lógicas entre los modelos :

Page 95: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 95/138

Modelos y flujos de trabajodel Proceso Unificado

12.8. 12.8. Tipos de resultadosTipos de resultados

Modelado del Negocio

Requisitos Análisis Diseño Implementa-

ción Prueba Despliegue

Modelo del Negocio X

Modelo del Dominio X X

Modelo de Casos de Uso X

Modelo de Análisis X

Modelo de Diseño X

Modelo de Procesos X

Modelo de Despliegue X X Modelo de Implementación X X Modelo de Prueba X X

Page 96: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 96/138

Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din.

Diagrama de Casos de Uso X X X

Diagrama de Interacción-Secuencia

X X X X X X X X

Diagrama de Interacción-Colaboración

X X X X X X X X

Diagrama de Clases de Análisis

X

Diagrama de Objetos de Análisis

X

Diagrama de Clases de Diseño

X X

Diagrama de Objetos de Diseño

X X

Diagrama de Estados X X X X X X

Diagrama de Actividades X X X X X

Diagrama de Componentes X

Diagrama de Despliegue X

Modelo de Prueba

Modelo de Diseño

Modelo de Procesos

Modelo de Despliegue

Modelo Implemen-

tación

Modelo del Negocio

Modelo del Dominio

Modelo de Casos de

Uso

Modelo de Análisis

MODELOS Y DIAGRAMAS EN EL RUP

12.9. 12.9. Tipos de resultadosTipos de resultados

Page 97: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 97/138

6. Tipos de resultados• El Proceso Unificado recupera el concepto de vistavista

de UML.• Para el Proceso Unificado una vistavista es:

– Una proyección de un modelo.– Una proyección de la organización y la estructura del

sistema que se centra en un aspecto particular del sistema.

• La arquitectura de un sistema se captura en forma de cinco vistas que interactúan entre sí:

– La vista de casos de uso.– La vista de diseño.– La vista de procesos.– La vista de despliegue.– La vista de implementación.

12.10. 12.10. Tipos de resultadosTipos de resultados

Page 98: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 98/138

Vista de diseño

Vista de procesos

Vista de despliegue

Vista de implementación

Vista de casos de uso

vocabulario,funcionalidad

comportamiento

Funcionamiento,capacidad decrecimiento,rendimiento

topología delsistema,distribución,entrega,instalación

ensamblado delsistema,gestión deconfiguracionesVista de diseño

Vista de procesos

Vista de despliegue

Vista de implementación

Vista de casos de uso

vocabulario,funcionalidad

comportamiento

Funcionamiento,capacidad decrecimiento,rendimiento

topología delsistema,distribución,entrega,instalación

ensamblado delsistema,gestión deconfiguraciones

Vistas de la arquitectura de un sistema

12.11. 12.11. Tipos de resultadosTipos de resultados

Page 99: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 99/138

6. Tipos de resultados

• Cada una de las vistas presenta:• Aspectos estáticos: mediante los diagramas

estructurales de UML.• Aspectos dinámicos: mediante diagramas

dinámicos de UML.• Ejemplo: se puede trabajar con la vista de casos de

uso estática y la vista de casos de uso dinámica, la vista de diseño estática y la vista de diseño dinámica, y así sucesivamente.

• En el RUP se da más importancia a los modelos que a las vistas. Aunque se siguen manteniendo para determinados propósitos de modelado.

12.12. 12.12. Tipos de resultadosTipos de resultados

Page 100: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 100/138

6. Tipos de resultados

12.13. 12.13. Tipos de resultadosTipos de resultados

Nombre Descripción Aspectos Estáticos

Aspectos Dinámicos

Vista de casos de uso

Proyecta el comportamiento del sistema tal y como es percibido por los: usuarios finales, analistas y en-cargados de las pruebas. Especifica las fuerzas que configuran la arquitectura del sistema.

Diagramas de casos de uso

Diagramas de interacción

Diagramas de estados

Vista de diseño Soporta los requisitos funcionales del sistema: servi-cios proporcionados a los usuarios finales. Vocabula-rio del problema y su solución: clases, interfaces y colaboraciones.

Diagramas de clases

Diagramas de objetos

Diagramas de interacción

Diagramas de estados

Diagramas de actividades

Vista de procesos Cubre el funcionamiento, capacidad de crecimiento y rendimiento del sistema. Mecanismos de sincroniza-ción y concurrencia del sistema: hilos y procesos.

Diagramas de clases (activas)

Diagramas de objetos

Diagramas de interacción

Diagramas de estados

Diagramas de actividades

Vista de implementa-ción

Cubre la gestión de configuraciones de las distintas versiones de un sistema a partir de componentes y archivos quasi-independientes. Ensamblado y dispo-nibilidad del sistema: componentes y archivos.

Diagramas de componen-tes

Diagramas de interacción

Diagramas de estados

Diagramas de actividades

Vista de despliegue Contiene los nodos que forman la arquitectura (topo-logía) hardware sobre la que se ejecuta el sistema a través de sus componentes. Está destinada a repre-sentar la distribución, entrega e instalación de las partes que forman el sistema informático físico.

Diagramas de despliegue Diagramas de interacción

Diagramas de estados

Diagramas de actividades

Page 101: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 101/138

Diagra-ma de Casos de Uso

Diagrama de Interac-ción-Secuen-cia

Diagrama de Interacción-Colabora-ción

Diagra-ma de Clases

Diagra-ma de Objetos

Diagrama de Estados

Diagrama de Activida-des

Diagrama de Compo-nentes

Diagrama de Desplie-gue

Estática

Dinámica

Estática

Dinámica

Estática

Dinámica

Estática

Dinámica

Estática

Dinámica

Vista de Despliegue

Vista de Casos de Uso

Vista de Diseño

Vista de Procesos

Vista de Implemen-tación

VISTAS Y DIAGRAMAS EN UML

12.14. 12.14. Tipos de resultadosTipos de resultados

Page 102: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 102/138

6. Tipos de resultados

• Los artefactos conjuntoconjunto del RUP son los siguientes:

1. Conjunto de requisitos.

2. Conjunto de diseño.

3. Conjunto de implementación.

4. Conjunto de despliegue.

12.15. 12.15. Tipos de resultadosTipos de resultados

Page 103: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 103/138

6. Tipos de resultados

1. Conjunto de requisitos:• Agrupa toda la información que describe lo que

debe hacer el sistema.• Puede comprender un modelo de casos de uso,

un modelo de requisitos no funcionales, un modelo del dominio, un modelo de análisis y otras formas de expresión de las necesidades del usuario, incluyendo pero no limitándose a maquetas, prototipos de la interfaz, restricciones legales, etc.

12.16. 12.16. Tipos de resultadosTipos de resultados

Page 104: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 104/138

6. Tipos de resultados

2. Conjunto de diseño:• Agrupa información que describe cómo se va a

construir el sistema y captura las decisiones acerca de cómo se va realizar, teniendo en cuenta las restricciones de tiempo, presupuesto, aplicaciones existentes, reutilización, objetivos de calidad y demás consideraciones.

• Puede implicar un modelo de diseño, un modelo de pruebas y otras formas de expresión de la naturaleza del sistema, incluyendo, pero no limitándose, a prototipos y arquitecturas ejecutables.

12.17. 12.17. Tipos de resultadosTipos de resultados

Page 105: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 105/138

6. Tipos de resultados

3. Conjunto de implementación:• Agrupa toda la información acerca de los

elementos software que comprende el sistema, incluyendo, pero no limitándose, a código fuente en varios lenguajes de programación, archivos de configuración, archivos de datos, componentes software, etc., junto con la información que describe cómo ensamblar el sistema.

12.18. 12.18. Tipos de resultadosTipos de resultados

Page 106: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 106/138

6. Tipos de resultados

4. Conjunto de despliegue:• Agrupa toda la información acerca de la forma

en que se empaqueta actualmente el software, se distribuye, se instala y se ejecuta en el entorno destino.

12.19. 12.19. Tipos de resultadosTipos de resultados

Page 107: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 107/138

13. Captura y Modeladode Requisitos

• El Análisis de Requisitos tiene por misión convertir el problema, expresado en términos del dominio del negocio, a soluciones descritas en en lenguaje del dominio de la Tecnología de Información.

• El problema y su planteamiento pertenecen al Espacio del Espacio del ProblemaProblema:

– Descripción concreta del negocio.– Dominio de los Objetos de Negocio (DON).

• Las soluciones pertenecen al Espacio de la SoluciónEspacio de la Solución:– Descripción concreta del sistema de información.– Dominio de los Objetos de Negocio.– Dominio de los Objetos de Infraestructura (DOI):

• Subdominio de Objetos de Bases de Datos (SDOBD).• Subdominio de Objetos de Interfaz (SDOIZ).

13.1. 13.1. Captura y Modelado de Requisitos Captura y Modelado de Requisitos

Page 108: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 108/138

13. Captura y Modeladode Requisitos

13.2. 13.2. Captura y Modelado de Requisitos Captura y Modelado de Requisitos

Espacio delProblema

Espacio de la Solución de Usuario

Análisis deRequisitos

Espacio de laSolución Técnica

Análisis OO

Diseño OO

Espacio de laSolución de

Implementación

Diseño

Page 109: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 109/138

13. Captura y Modeladode Requisitos

• El Análisis de Requisitos en el RUP se realiza por medio de los flujos de trabajo:

– Modelado del negocio.– Requisitos.

• El resultado del Análisis de Requisitos es el siguiente:– Modelo del Negocio.– Modelo del Dominio.– Modelo de Casos de Uso.– Documento de Especificaciones Técnicas del Sistema

(según norma IEEE-830/1999).

13.3. 13.3. Captura y Modelado de Requisitos Captura y Modelado de Requisitos

Page 110: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 110/138

13. Captura y Modeladode Requisitos

13.4. 13.4. Captura y Modelado de Requisitos Captura y Modelado de Requisitos

Flujos de trabajodel proceso

Gestión del proyecto

Flujos de trabajode soporte

Iniciación Elaboración Construcción Transición

Iteracionespreliminares

Iter#m+1

Modelado delnegocio

Pruebas

Despliegue

Gestión del cambioy configuraciones

Entorno

Implementación

Requisitos

Análisis y diseño

Iter#2

Iter#n

Iter#n+1

Iter#n+2

Iter#1

Iter#m

Requisitos

Page 111: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 111/138

13. Captura y Modeladode Requisitos

• El Modelo de Casos de Uso (MCU) establece los requisitos funcionales del sistema de información.

• En el MCU se recoge la descripción externa y observable de cómo se utiliza el sistema de información:

– Descripción de CÓMO se utiliza el sistema:• Funciones, Servicios y Procesos.

– Descripción EXTERNA del uso del sistema:• Se identifican y describen funciones/servicios/procesos

del negocio que un usuario puede hacer con el soporte del sistema de información.

– Descripción OBSERVABLE del uso del sistema:• Es como si hubiera un observador externo que va

anotando lo que hace el usuario con el sistema y lo que el sistema responde al usuario.

13.5. 13.5. Captura y Modelado de Requisitos Captura y Modelado de Requisitos

Page 112: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 112/138

13. Captura y Modeladode Requisitos

13.6. 13.6. Captura y Modelado de Requisitos Captura y Modelado de Requisitos

SubModelo de Casosde Uso de Negocio

SubModelo de Casosde Uso (Técnico)

Diagrama Principaldel Modelo de Casosde Uso

Use-Case Model

The Use-Case Model is traceable to (and derives from) the Business Model. The system (as described in the Use Case Model) provides behavior that supports the bus iness.

Business Use-Case Model

Diagrama de Contextodel SMCU de Negocio

Diagrama de Contextodel SMCU Técnico

Page 113: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 113/138

13. Captura y Modeladode Requisitos

13.7. 13.7. Captura y Modelado de Requisitos Captura y Modelado de Requisitos

Diagrama de Contextodel MCU

Page 114: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 114/138

14. Modelado de Análisis

• Una vez completado el modelo de casos de uso (CU) se ha llegado a obtener diagramas de casos de uso en determinados niveles que ya no se pueden explotar más.

• Si se intentara explotar los CU, se pasaría a describir el comportamiento interno de las funciones con artefactos inadecuados.

• Los casos de uso contenidos en estos diagramas se denominan casos de uso elementales.

• Esta situación límite indica que se debe pasar a trabajar con otros artefactos, que son los del modelo de análisis:

– Clases de análisis.– Asociaciones.– Diagramas de clases.– Diagramas de colaboración asociados a los diagramas de

clases.

14.1. 14.1. Modelado de AnálisisModelado de Análisis

Page 115: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 115/138

14. Modelado de Análisis

14.2. 14.2. Modelado de AnálisisModelado de Análisis

Modelo deCasos de Uso

Modelo deAnálisis

Modelo deDiseño

Modelo deDespliegue

Modelo deImplementación

Modelo dePrueba

especificado por realizado por

distribuido por

implementado por

verificado por

Transición del MCU hacia el MA

Page 116: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 116/138

14. Modelado de Análisis

• El Análisis en el RUP se realiza por medio de los flujos de trabajo:

– Análisis y diseño.

• El resultado del Análisis es el siguiente:– Modelo de Análisis.

• El Modelo de Análisis contiene:– La Vista de Diseño de UML.– La Vista de Procesos de UML.

14.3. 14.3. Modelado de AnálisisModelado de Análisis

Page 117: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 117/138

14. Modelado de Análisis

14.4. 14.4. Modelado de AnálisisModelado de Análisis

Flujos de trabajodel proceso

Gestión del proyecto

Flujos de trabajode soporte

Iniciación Elaboración Construcción Transición

Iteracionespreliminares

Iter#m+1

Modelado delnegocio

Pruebas

Despliegue

Gestión del cambioy configuraciones

Entorno

Implementación

Requisitos

Análisis y diseño

Iter#2

Iter#n

Iter#n+1

Iter#n+2

Iter#1

Iter#m

Análisis

Page 118: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 118/138

Cada caso de uso sedesglosa en un diagramaen el nivel inferior

NIVEL 0

NIVEL1

NIVEL 2

Cada caso de uso sedesglosa en un diagramaen el nivel inferior

Modelo de casos de usocon estructura de desglose de diagramas

14.5. 14.5. Modelado de AnálisisModelado de Análisis

Gestor/ControlGestor/Control

caso de uso (MCU)caso de uso (MCU) Realización (MA)

InterfazInterfaz EntidadEntidad

MODELO DE CASOS DE USO MODELO DE ANÁLISIS

«trace»

Artefactos del modelo de análisis

Proceso de Conversión:Casos de Uso Análisis

Page 119: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 119/13814.6. 14.6. Modelado de AnálisisModelado de Análisis

Gestor/ControlGestor/Control

caso de uso (MCU)caso de uso (MCU) Realización (MA)

InterfazInterfaz EntidadEntidad

MODELO DE CASOS DE USO MODELO DE ANÁLISIS

«trace»

Artefactos del modelo de análisis

Proceso de Conversión:Casos de Uso Análisis

I_Cajero Cta_ClienteCliente

I_Autenticacion

C_Gestor_Interfaz

C_Verificador_Autenticacion

F01.01 Consulta saldo

Diagrama deClases de AnálisisAtómico

Page 120: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 120/13814.7. 14.7. Modelado de AnálisisModelado de Análisis

Modelo de Casos de Uso Modelo de Análisis

MCUNivel i

MCUNivel 2

MCUNivel 1

MCUNivel 0

MANivel j

MANivel 2

MANivel 1

MANivel 0Top-Down Bottom-Up

Gestor/ControlGestor/Control

caso de uso (MCU)caso de uso (MCU) Realización (MA)

InterfazInterfaz EntidadEntidad

MODELO DE CASOS DE USO MODELO DE ANÁLISIS

«trace»

Artefactos del modelo de análisis

Subsistema 1

Subsistema 2

Subsistema 3

Servicio(CU)-Subsistema(DA)

I_Cajero Cta_ClienteCliente

I_Autenticacion

C_Ges tor_Interfaz

C_Verificador_Autenticacion

F01.01 Consulta saldo

Page 121: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 121/13814.8. 14.8. Modelado de AnálisisModelado de Análisis

La estructura del modelo en Rose:La estructura del modelo en Rose:

Diagrama de ClasesDiagrama de Clasesde Análisis de Contextode Análisis de Contexto

Carpeta de trabajoCarpeta de trabajoen la conversiónen la conversión

D. Clases Análisis AtómicoD. Clases Análisis Atómicopara el Caso de Usopara el Caso de UsoF01.01 <F01.01 <Nombre funciónNombre función>>

Diagrama de ColaboraciónDiagrama de Colaboraciónpara DCAA F01.01para DCAA F01.01

Page 122: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 122/138

15. Modelado de Diseño

• En el flujo de requisitos se construye un modelo que representa el comportamiento observable o externo del sistema que se quiere obtener.

• En los flujos de análisisanálisis, diseñodiseño e implementaciónimplementación, se representa la estructura y el comportamiento internos del sistema a realizar.

• Característica común de los tres flujos frente al flujo de requisitos:

– En los tres flujos se trabaja a diferentes niveles de abstracción, desde el más elevado en el análisis, hasta el más bajo en la implementación.

15.1. 15.1. Modelado de DiseñoModelado de Diseño

Page 123: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 123/138

15. Modelado de Diseño

15.2. 15.2. Modelado de Modelado de DiseñoDiseño

Modelo deCasos de Uso

Modelo deAnálisis

Modelo deDiseño

Modelo deDespliegue

Modelo deImplementación

Modelo dePrueba

especificado por

realizado por distribuido por

implementado por

verificado por

Transición del MCA hacia el MD

Flujo de Análisis de Requisitos

Flujo de Análisis y Diseño

Page 124: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 124/138

15. Modelado de Diseño

• La técnica de modelado consiste en identificar, a través de las especificaciones de las clases de análisis las clases de diseño correspondientes.

• Para cada clase de análisis se puede derivar una o más clases de diseño:

– Clase de control clase activaclase activa (>= 1)

– Clase de entidad clase de entidadclase de entidad (>= 1)

– Clase de interfaz clase de interfazclase de interfaz (>= 1)

15.3. 15.3. Modelado de DiseñoModelado de Diseño

Page 125: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 125/13815.4. 15.4. Modelado de Modelado de DiseñoDiseño

G estor de cuentas

G estor de clientes

Ge s to r d e clie n te<<p ro ce s s >>

Ge s to r d e cu e n ta<<p ro ce s s >><<trace>>

<<trace>>Facturas

Factura

Albarán

<<trace>>

<<trace>>

In te r fa z d e te r m in a l c e lu la r

T e c la d o< < In te r fa c e _ d e s ig n > >

P a n ta l la< < In te r fa c e _ d e s ig n > >

Mi cr ó fo n o< < In te r fa c e _ d e s ig n > >

A lt a vo z< < In te r fa c e _ d e s ig n > >

P u e r to M S V L< < In te r fa c e _ d e s ig n > >

< < tra c e > >

< < tra c e > >

< < tra c e > >

< < tra c e > >

< < tra c e > >

Page 126: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 126/138

15. Modelado de Diseño

• En el proceso de conversión del Modelo de Análisis (MA) al Modelo de Diseño (MD), la estrategia adoptada es mixta:

Top-Down

+

Level-to-Level

15.6. 15.6. Modelado de DiseñoModelado de Diseño

Page 127: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 127/13815.7. 15.7. Modelado de Modelado de DiseñoDiseño

Modelo de Análisis

MANivel j

MANivel 2

MANivel 1

MANivel 0

Top-Down

Bottom-UpSubsistema 1

Subsistema 2

Subsistema 3

Subsistema(DA)-Subsistema(DD)

Modelo de Diseño

MDNivel i

MDNivel 2

MDNivel 1

MDNivel 0

Modelo deCasos de Uso

Subsistema 1

Subsistema 2

Subsistema 3

Page 128: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 128/13815.8. 15.8. Modelado de Modelado de DiseñoDiseño

Modelo de Análisis

MANivel j

MANivel 2

MANivel 1

MANivel 0

Top-Down

Bottom-Up Subsistema(DA)-Subsistema(DD)

Modelo de Diseño

MDNivel i

MDNivel 2

MDNivel 1

MDNivel 0

Modelo deCasos de Uso

I_Cajero Cta_ClienteCliente

I_Autenticacion

C_Gestor_Interfaz

C_Verificador_Autenticacion

F01.01 Consulta saldo

Punto

Coord_X : DoubleCoord_Y : Double

Figura_2D

Centro : PuntoSuperficie : Double

define

Punto: Pto_1

Coord_X = 5Coord_Y = 6

<<object>>

Punto: Pto_3

Coord_X = 11Coord_Y = 15

<<object>>

Punto: Pto_2

Coord_X = 7Coord_Y = 3

<<object>>

Figura_2D: Triángulo_T1define

define

define

Instancias de la c lase Punto

Instancia de la clase Figura_2D

asociación

enlace

abstracciónabstracción

Level-to-Level

Page 129: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 129/13815.9. 15.9. Modelado de Modelado de DiseñoDiseño

Page 130: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 130/13815.10. 15.10. Modelado de Modelado de DiseñoDiseño

La estructura del modelo en Rose:La estructura del modelo en Rose:

Diagrama de ClasesDiagrama de Clasesde Diseño de Contextode Diseño de Contexto

Page 131: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 131/138

16. Modelado de Implementación

• El modelado de implementación se realiza para obtener:– La implementación del sistema en términos de lenguajes y

elementos de programación.– La distribución de los módulo software en los elementos

hardware del sistema.

• En el flujo de implementaciónimplementación se construye un modelo que representa la estructura y el comportamiento internos del sistema en cuanto a:

– Componentes y módulos.– Arquitectura software del sistema.

• En el flujo de desplieguedespliegue se construye un modelo que representa la estructura y el comportamiento internos del sistema en cuanto a:

– Arquitectura hardware del sistema.

16.1. 16.1. Modelado de ImplementaciónModelado de Implementación

Page 132: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 132/138

Flujo de Implementa

ción

16. Modelado de Implementación

16.2. 16.2. Modelado de ImplementaciónModelado de Implementación

Modelo deCasos de Uso

Modelo deAnálisis

Modelo deDiseño

Modelo deDespliegue

Modelo deImplementación

Modelo dePrueba

especificado por

realizado por distribuido por

implementado por

verificado por

Transición del MD hacia el MDP

Flujo de Análisis de Requisitos

Flujo de Análisis y Diseño Flujo de

Despliegue

Page 133: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 133/138

Programa Principal

Gestión individuos

Gestión ProyectosGestión Población

Gestor Base de Datos

Gestión Agentes

Gestión Cálculo

Gestión Interfaces

16. Modelado de Implementación

16.3. 16.3. Modelado de ImplementaciónModelado de Implementación

Modelo de

Implementación

(Vista parcial)

componentes

Page 134: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 134/138

16. Modelado de Implementación

16.4. 16.4. Modelado de ImplementaciónModelado de Implementación

Modelo de Despliegue

(Vista parcial)

nodos /

procesadores

Page 135: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 135/138

17. Resumen

• El Proceso Unificado es una metodología creada principalmente para el desarrollo de software orientado a objetos.

• Utiliza el soporte de modelado de UML, pero es independiente de UML.

• El Proceso Unificado:– Es un Proceso iterativo.– Está centrado en la arquitectura.– Está dirigido por los casos de uso.– Es un proceso configurable.– Soporta las técnicas orientadas a objetos.– Impulsa un control de calidad y una gestión del riesgo

objetivos y continuos.

17.1. 17.1. ResumenResumen

Page 136: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 136/138

17. Resumen

• La aplicación formal del Proceso Unificado supone:

– Desventajas:• Grandes esfuerzos en la construcción de modelos.• Necesidad del soporte de herramientas informáticas.

– Ventajas: • Disminuye el riesgo del error de análisis / diseño

acumulado.• Aligera el esfuerzo en implementación.• Proporciona la documentación del ciclo de vida en el

mismo proceso.

17.2. 17.2. ResumenResumen

Page 137: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 137/138

17. Resumen

• El Proceso Unificado es flexible y se puede adaptar al grado de complejidad del modelo de proceso de desarrollo (descarte de algunos modelos o flujos).

• El Proceso Unificado es abierto y permite la incorporación de enfoques y artefactos complementarios:

– Patrones de diseño.– Patrones de implementación.– Marcos de diseño.– Combinación de varios modelos de proceso.– Arquitecturas Dirigidas por Modelos (Model Driven

Architectures).– Ejecutabilidad de modelos: UML 2, validación y

verificación formales.

17.3. 17.3. ResumenResumen

Page 138: Tutorial. UML y  Proceso Unificado en Informática Biomédica

© O. Coltell, M. Arregui, 2004 Tutorial UML y PU: 138/138

18. Bibliografía1. Booch G., Rumbaugh J., Jacobson I. El Lenguaje Unificado de

Modelado, Addison-Wesley, Madrid, 1999.

2. Bruegge B., Dutoit A.H. Ingeniería de Software Orientado a Objetos, Prentice Hall– Pearson educación, México, 2002.

3. Jacobson I., Booch G., Rumbaugh J. El Proceso Unificado de Desarrollo de Software, Addison-Wesley, Madrid, 2000.

4. Pressman R.S. Ingeniería del Software. Un enfoque práctico (5ª ed.) Mc Graw-Hill; New York , 2001.

5. Rumbaugh J., Jacobson I., Booch G. El Lenguaje Unificado de Modelado. Manual de Referencia, Addison-Wesley, Madrid, 2000.

6. Sommerville I. Ingeniería de software, 6ª edición, Prentice Hall – Pearson educación, México, 2002.

7. Stevens P., Pooley R. Utilización de UML en Ingeniería del Software con Objetos y Componentes, Addison-Wesley, Madrid, 2002.

8. http://www.omg.org

9. http://www.uml.org

18. 18. Bibliografía Parte IIBibliografía Parte II