Introducción a UML

Anuncio
Con la colaboración de:
Introducción a UML
Unified Modeling Language
Josep Vilalta Marzo
www.vico.org
Universitat Internacional de Catalunya
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
1
Qué es UML
Unified Modeling Language “UML”, es
una notación patrocinada por el
Object Management Group (OMG), que
se ha convertido en un estándar para
definir, organizar y visualizar los
elementos que configuran la
arquitectura de un sistema.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
2
Qué es UML
A través de la notación UML podemos
comunicar y compartir el conocimiento de
una arquitectura gracias a la combinación
simultánea de distintas perspectivas:
• Definir.- Fijar, determinar, especificar, explicar un
concepto a través de sus atributos distintivos.
Señalar sus límites y dar una idea exacta de lo que
es esencial y de lo que es circunstancial en su ciclo
de vida.
Entidad
Class_CD : CS
CD : CV
Determiner_CD : CS
Status_CD : CS
ID : II
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
3
Qué es UML
• Organizar.- Establecer unos recursos, disponer un
flujo de trabajo con un orden de responsabilidades
y formalizar unas reglas de relación y actuación;
todo ello orientado a conseguir el propósito de un
proceso de negocio.
Entidad
0..1
Class_CD : CS
CD : CV
Determiner_CD : CS
Status_CD : CS
ID : II
[email protected]
Rol
juega
0..*
habilita
0..1
0..*
Class_CD : CS
CD : CV
Effective_TMR : IVL<TS>
Status_CD : CS
ID : II
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
4
Qué es UML
• Visualizar.- Representar mediante artefactos y
diagramas el contenido y la organización de los
conceptos que configuran la naturaleza y
complejidad de un sistema. Hacer visible su
granularidad y entrelazamiento.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
5
Qué es UML
• Actuar.- Tomar decisiones de manera ágil y
sistemática, siguiendo un método; éste a su vez,
define el modo de actuar en base a la relación de
un conjunto de actores, actividades, entregables y
certificaciones posibles en un escenario concreto.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
6
Qué es UML
• Construir.- Realizar modelos que organizan la
experiencia de los usuarios en patrones de
conocimiento y procesar dichos modelos para
generar una arquitectura de aplicaciones en base a
componentes y procesos de negocio.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
7
Qué es UML
• Análisis y diseño independiente de plataforma
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
8
Qué es UML
• Documentar.- Compartir el conocimiento con un
vocabulario controlado que permite mantener la
trazabilidad entre la concepción, la construcción, el
despliegue, la implantación y la ejecución de los
componentes de negocio.
Usuarios
Datos
Coste
Arquitectura
Reutilización
de Código
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
9
Qué es UML
• Certificar.- Comprobar de manera fehaciente que
un entregable es coherente y completo en
referencia al propósito para el que ha sido creado,
y que es usable dentro de la cadena de valor de los
Actores implicados e involucrados.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
10
Qué es UML
El resultado, es una comprensión visual
de las coordenadas Espacio – Tiempo –
Información, que condicionan los
dominios restringidos de una forma de
vida organizativa.
• Espacio.- Existen unos OBJETOS que colaboran
para cumplir un propósito.
• Tiempo.- Ocurren una serie de EVENTOS dentro de
una secuencia acotada por escenarios.
• Información.- Los OBJETOS y EVENTOS producen
HECHOS inteligibles, registrables y comunicables.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
11
Qué es UML
Notación
Metodologías
[email protected]
Herramientas
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
12
Cooperación y fusión de notaciones
Harel
Meyer
Pre Condiciones
Post Condiciones
Diagramas
de Estado
Gamma, et al
Frameworks y patrones
HP Fusion
Booch
Descripción de operaciónes y
Numeración de mensajes
Método de Booch
Embley
Rumbaugh
Clases de Singleton y
Vistas de alto nivel
OMT
Jacobson
OOSE
Odell
Clasificación
[email protected]
Wirfs-Brock
Responsabilidades
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
13
Evolución
draft UML 2.0, Agosto ‘03
UML 2.0
UML RTF recomienda draft final UML 1.3, Junio ‘99
UML 1.3
OMG Aceptación, Noviembre ’97. UML estándar
oficial de notación de modelado de software
Propuesta final OMG, Septiembre ‘97
UML 1.1
OMG, Enero ´97 Propuesto como estándar
UML 1.0
UML-partners
UML 0.9
Web - Junio ´96
OOPSLA ´95
Guerra de Métodos
Otros Métodos
[email protected]
Unified Method 0.8
Método de Booch
OMT
OOSE
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
14
Múltiples perspectivas
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Casos de Uso
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Colaboración
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados
[email protected]
State
State
Diagramas de
Diagrams
Diagrams
Clases
State
State
Diagramas de
Diagrams
Diagrams
Componentes
Modelo
Diagramas de
Actividad
State
State
Diagramas de
Diagrams
Diagrams
Objetos
Component
Component
Diagrams
Diagramas
Diagrams de
Despliegue
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
15
Actores
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
16
Escenarios de usabilidad
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
17
Modelos de negocio
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
18
Procesos de
negocio
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
19
Orientación a objetos
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
20
Metodologías asociadas
Actuaciones, Entregables,
Participantes, Roles, Agentes
Plantillas de Proceso de Proyecto
Fases e hitos de Proyecto
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
21
Herramientas de modelado
Desarrollo de software
Modelado de procesos de negocio
Dirección eficaz de proyectos
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
22
Desarrollo de software
Casting de roles
Repertorio de entregables UML
Casting de participantes
Esquema cooperativo
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
23
Modelado de procesos de negocio
Mapa de procesos
Reglas de Negocio
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
24
Dirección eficaz de proyectos
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
25
Dirección eficaz de proyectos
Aprobación
Anteproyecto
Realización
Plan Director
Documentación
Interfaces
Implementación
Especificaciones Bases de Datos Certificación
Código
Matrícula
Proyecto
[email protected]
Procesos
Principales
Funcionalidad
Análisis
Diseño
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
Componentes
Despliegue
26
Vistas de arquitectura
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
27
Repertorio de entregables
Relación de artefactos a elaborar y
certificar durante el desarrollo de
un proyecto aplicando una plantilla
de procesos de proyecto.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
28
Requerimientos y análisis
Modelo de Negocio
Representa, con un nivel muy alto de abstracción, las entidades principales del
negocio, su cardinalidad y los roles de sus asociaciones más relevantes en un
diagrama de Clases de Análisis. Es una visión estática de la estructura del
sistema (visto desde dentro), con una granularidad básica; opcionalmente,
pueden mostrarse algunos de los atributos más semánticos de cada Clase, pero
sin tener en cuenta las operaciones. Tampoco es necesario precisar la fuerza de
la asociación (agregación o composición), ni su navegabilidad.
Autor: Analista de Negocio.
Certificador: Gestor de Conocimiento & Interlocutor Cliente.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
29
Requerimientos y análisis
Proceso de Negocio
Representa con un nivel muy alto de abstracción, y a una escala macro, el
comportamiento del sistema visto desde fuera, a partir de los eventos
producidos por los Actores involucrados e implicados. Con una granularidad
básica, definimos un diagrama de Actividad que muestra los hilos de proceso
de las distintas actividades. Su lectura permite identificar un flujo de trabajo
principal, y a través de él, los escenarios de usabilidad del sistema en
discusión más relevantes; siempre desde el punto de vista de los Actores.
Puede especificarse con un mayor nivel de detalle, a una escala micro, a través
de los Casos de Uso y los diagramas de Actividad de sus escenarios.
Autor: Analista de Negocio.
Certificador: Gestor de Conocimiento & Interlocutor Cliente.
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
30
Requerimientos y análisis
Modelo de Casos de Uso
A partir de tres paquetes básicos: 1.- Administrar aplicación; 2.- Realizar
procesos de negocio; 3.- Consultar puntos de información; organizamos los
Casos de Uso en distintos diagramas que representan la combinación de piezas
de funcionalidad que se activan para resolver un proceso de negocio (no hay
que confundir este modelo con una descomposición funcional o un flujo de
trabajo, en el modelo de Casos de Uso todas las piezas estan desacopladas y
pueden cohesionarse puntualmente en una red de funciones centrada en un
proceso). Aplicamos un criterio de granularidad y un criterio de agrupación.
Autor: Analista de Negocio
Certificador: Gestor de Conocimento & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
31
Requerimientos y análisis
Censo de Casos de Uso contractuales
Relación de Casos de Uso que han sido certificados como punto de partida de
la funcionalidad de referencia para construir el software. Durante el proceso de
Requerimientos y Análisis a lo largo de las distintas fases del proyecto,
aparecerán nuevos Casos de Uso secundarios y auxiliares, pero sólo romperá el
esquema contractual si aparece un nuevo Caso de Uso Principal. Este hecho
implicaría que ha sido identificado un nuevo Actor involucrado y tendrá un
impacto importante en la estimación de horas del proyecto que han sido
previamente pactadas.
Autor: Analista de Negocio
Certificador: Coordinador de Proyecto
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
32
Requerimientos y análisis
Especificación de los escenarios de un CU
A través de un Caso de Uso describimos las distintas interacciones que se
producen entre los Actores y el Sistema. Con este artefacto delimitamos un flujo
de eventos principal y declaramos todas sus variaciones posibles y sus
excepciones probables. Especificamos un Caso de Uso con los siguientes
elementos: Nombre, Activador, Propósito, Precondiciones, Postcondiciones y
Escenarios. Un Caso de Uso es una pieza de funcionalidad que con el objeto de
cumplir su propósito (dar valor a un Actor), activa a otras piezas secundarias
(incluidas en un Caso de Uso principal), o auxiliares (extensiones opcionales de
otro Caso de Uso).
Autor: Analista de Negocio
Certificador: Gestor de Conocimento & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
33
Requerimientos y análisis
Prototipos de interfaz GUI y de comunicación
Un Caso de Uso principal es activado por un Actor involucrado y se desarrollan,
a través de una interfaz gráfica de usuario (GUI), o una interfaz de
comunicación, distintos escenarios de usabilidad, los cuales determinarán el
comportamiento del sistema. Durante la especificación del flujo de eventos
Actor-Sistema, se elabora un prototipo básico de la interfaz necesaria, sin caer
en la trampa de abordar en ese momento la implementación de la lógica de
presentación.
Autor: Analista de Negocio
Certificador: Gestor de Conocimento & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
34
Requerimientos y análisis
Formalización de escenarios
Las fichas donde se mantiene la especificación de los Casos de Uso son
reelaboradas formalmente en un diagrama de Actividad que muestra el hilo de
proceso de su flujo de trabajo principal, la diversidad de escenarios y la claves
de su sincronización o fusión con el flujo de eventos principal.
Denominamos “formalización” del Caso de Uso al proceso de revisión y
representación de los escenarios de usabilidad: Actor-Sistema con un
diagrama de Actividad.
Autor: Analista de Negocio
Certificador: Gestor de Conocimento & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
35
Diseño
Normalización de escenarios con los objetos
El diagrama de Secuencia muestra con todo detalle el intercambio de mensajes
que se establece entre los objetos que configuran los escenarios de un Caso de
Uso. La visión de este diagrama es temporal a través de dos dimensiones: a).una horizontal donde mostramos todos aquellos objetos que intercambian
mensajes; y b).- una dimensión vertical donde aparecen los mensajes por orden
de aparición siguiendo el ciclo de vida de los objetos.
Autor: Analista de Negocio & Programador
Certificador: Arquitecto & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
36
Diseño
Normalización de escenarios con los objetos
El diagrama de Colaboración muestra con todo detalle el intercambio de
mensajes que se establece entre los objetos que colaboran dentro de un
escenario de Caso de Uso. La visión de este diagrama es espacial. Es la otra
cara del diagrama de secuencia que en este caso muestra la dinámica de
intercambio de mensajes desde un esquema de colaboración, no desde un orden
de secuencia en un marco temporal. Es muy útil para visualizar la acumulación de
mensajes que recibe cada objeto.
Autor: Analista de Negocio & Programador
Certificador: Arquitecto & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
37
Diseño
Arquitectura de diseño
Con este diagrama disponemos de las Clases que configuran la arquitectura de
diseño de la aplicación: Interfaces de Actor, Entidades de negocio persistentes,
Actuaciones donde participan n Entidades, Interfaces de sistema que facilitan usar
un conjunto básico de métodos a toda una colección de componentes. A través del
polimorfismo, escribimos el código una sola vez, lo publicamos en los métodos de
una interfaz, y su invocación por objetos externos producirá distintos
comportamientos en los mismos.
Autor: Analista de Negocio & Programador
Certificador: Arquitecto & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
38
Diseño
Arquitectura de diseño
Con los diagramas de Objetos podemos evaluar la correspondencia
entre la abstracción de las Clases de Diseño y los objetos que se
instancian dentro del marco de un escenario de usabilidad cuando se
ejecuta la aplicación.
Autor: Analista de Negocio & Programador
Certificador: Arquitecto & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
39
Diseño
Máquina de estados
El diagrama de Estados-Transición muestra el ciclo de vida de los
objetos que instancia una Clase. Todos los objetos disponen de un
ciclo de estados pero no todos son candidatos a la elaboración de este
tipo de diagrama. Normalmente escogemos sólo aquel Objeto que
representa el eje central del sistema en discusión. Tan importante es
averiguar todos los estados posibles (empezando por identificar el
primero y el último), como todos aquellos eventos, acciones y
condiciones que permiten la transición de un estado al otro.
Autor: Analista de Negocio & Programador
Certificador: Arquitecto & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
40
Diseño
Modelos de datos
Con el propósito de manejar todos los objetos que requieren
persistencia, a partir del diagrama de Clases de diseño, generamos un
esquema lógico de datos que mapeará en tablas o contenedores la
estructura de las asociaciones entre las Clases. El modelo incluye la
descripción de los datos persistentes utilizados en la aplicación o
sistema. A partir del modelo lógico de datos se generan todas las
sentencias SQL que definen el modelo físico ajustado a sistema
gestor de Base de Datos relacional.
Autor: Analista de Negocio & Programador
Certificador: Arquitecto & Líder Técnico
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
41
Diseño
Modelos de arquitecturas
Una arquitectura configura un todo autosuficiente de componentes
interdependientes. Hemos de distinguir tres entornos de arquitectura:
conceptual, desarrollo y ejecución. El primero define la granularidad
de los elementos que configuran el sistema en discusión; el segundo,
nos permitirá construir dicho sistema dentro de un entorno de
desarrollo centrado en componentes; el tercero, nos permitirá instalar y
desplegar la aplicación desarrollada durante el proceso de
implantación.
Autor: Líder Técnico & Programador
Certificador: Arquitecto
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
42
Diseño
Organización de arquitecturas
El diagrama de Paquetes es un artefacto de propósito general que
nos permite agrupar otros artefactos UML, en concreto: Casos de Uso,
Clases y Componentes. Podemos estructurar una jerarquía de
paquetes anidados e indicar su dependencia con otros paquetes. El
paquete principal contendrá la arquitectura de todos los elementos del
modelo.
Autor: Líder Técnico & Programador
Certificador: Arquitecto
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
43
Implementación
Componentes
El diagrama de Componentes representa una vista física del sistema
y su propósito es hacer visible las dependencias entre los distintos
componentes de software (Librerías, APIs, GUI, conectores a bases de
datos, etc.) . Un Componente es una unidad de composición que
ofrece su funcionalidad a través de la especificación contractual de sus
interfaces. El diagrama muestra una vista estática de todos los
componentes y subsistemas a implementar con una clara indicación de
sus interfaces y dependencias.
Autor: Líder Técnico & Programador
Certificador: Arquitecto
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
44
Implementación
Despliegue
El diagrama de Despliegue Muestra de que manera vamos a
desplegar físicamente el sistema que hemos construido dentro de un
entorno de ejecución. Su propósito es mostrar donde se ubicarán los
distintos nodos del sistema (máquinas físicas o virtuales), y cómo se
comunicarán entre ellos. Es una documentación muy útil para el equipo
de implantación ya que la correcta ubicación de los distintos nodos en
la red condicionará críticamente la mayoría de nuestros requerimientos
no funcionales: seguridad, rendimiento, escalabilidad, etc.
Autor: Líder Técnico & Programador
Certificador: Arquitecto
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
45
Plan Director de Iteraciones
Fases, Procesos y Entregables
Fases
Procesos Generales
Concepción
Elaboración
Construcción
Transición
Reglas de Negocio
Funcionalidad
Análisis
Diseño
Implementación
Certificación
Entrega
Procesos de Soporte
Control de cambios
Gestión del Proyecto
Entorno
Iteraciones
prelim
[email protected]
Iter.
#1
Iter.
#2
Iter.
#n
Iter.
#n+1
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
Iter.
#n+2
Iter.
#m
Iter.
#m+1
46
Metodología de desarrollo
Certificación de Entregables
Requerimientos
Modelo
Casos de Uso
Diagr. de
Casos de Uso
[email protected]
Análisis
Modelo
Análisis
Diagr. de
Actividad
Diagr. de
Secuencia
Diseño
Modelo
Diseño
Implementación
Modelo
de Componentes
Diagr. de
Diagr. de
Colaboración Clases/Objetos
Modelo
de Despliegue
Diagr. de
Estados
Certificación
Modelo
de Certificación
Diagr. de
Diagr. de
Componentes Despliegue
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
47
Donde localizar recursos UML
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
48
Donde localizar recursos UML
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
49
Con la colaboración de:
[email protected]
[email protected]
Seminario Técnico HL7 – Claves de la interoperabilidad de un Sistema Sanitario
Madrid 25 de Mayo de 2004
50
Descargar