Beruflich Dokumente
Kultur Dokumente
Introduccin al UML
El Lenguaje de Modelado Unificado (UML) es una notacin grfica la cual permite: especificar, construir, visualizar y documentar los objetos de un sistema programado.
UML
puede ser utilizado por cualquier metodologa de anlisis y diseo orientada por objetos para expresar los diseos.
Historia de UML
Este
lenguaje es el resultado de la unificacin de los mtodos de modelado orientados a objetos de Booch, Rumbaugh (OMT: Object Modeling Technique) y Jacobson (OOSE: Object-Oriented Sotfware Engineering) .
A
mediados de los 90 comenzaron a prestarse ideas entre s, de manera que decidieron trabajar juntos. Un consorcio UML fue formado; entre sus miembros se incluyen DEC, Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas Instruments, Rational, y otros.
Historia de UML
Rumbaugh
Jacobson Meyer
Pre- and Post-conditions
UML
State Charts
Harel
Embly
Singleton classes
Fusion
Operation descriptions, message numbering
Wirfs-Brock
Responsabilities
Historia de UML
En
1997, el consorcio produjo la versin 1.0 de UML y lo someti al Object Management Group (OMG) como respuesta a la peticin de OMG para producir un lenguaje de modelado estndar.
El
consorcio expandido gener la versin 1.1 y la someti a la OMG, quien la adopt a finales de 1997. OMG realiz mantenimientos del UML y produjo dos revisiones ms en 1998
Historia de UML
UML
es un estndar administrado por la OMG y ha evolucionado agregando mayor poder y capacidad semntica a cada nueva versin. La versin 1.4 fue liberada a finales del 2001, La versin 1.5 en marzo de 2003. La versin 2.0 el 23 de junio de 2003 y La versin 2.1.1 a principios de 2007.
La
especificaciones http://www.omg.org
tcnicas
de
UML
se
encuentran
en
Historia de UML
2007 2003 2000 1999 UML 2.1.1 UML 2.0 UML 1.4
UML 1.3
UML aprobado por el OMG
1998 Nov 97
UML 1.2
Revisiones menores
UML
notaciones grficas o diagramas son usadas para modelar las diferentes perspectiva de un sistema de software, facilitando la representacin del conocimiento acerca de un sistema.
El
lenguaje formal OCL 2.0 (Object Constraint Language 2.0) es utilizado para completar los diferentes artefactos de la notacin UML con requerimientos formalmente expresados.
Diagramas de Clases
Diagramas de Componentes
Diagramas de Objetos
Diagramas Actividades
Diagramas de Paquetes
Diagramas de Despliegues
Diagramas de Interaccin
Diagramas de Secuencias
Diagramas de Comunicacin
Diagramas Temporales
OCL
2.0 fue adoptado en octubre de 2003 por el grupo OMG como parte de UML 2.0.
OCL
es un lenguaje para la descripcin formal de expresiones en los modelos UML. Sus expresiones pueden representar invariantes, precondiciones, postcondiciones, inicializaciones, guardias, reglas de derivacin, as como consultas a objetos para determinar sus condiciones de estado.
Se
trata de un lenguaje sin efectos de borde, de manera que la verificacin de una condicin, que se presupone una operacin instantnea, nunca altera los objetos del modelo.
10
Funcional
Casos de Uso
Comportamiento
Modelos
Estructural
Clases, Objetos
Implementacin
Componente, Despliegue
11
Vista de Realizacin
Vista de Distribucin
12
Al tener una jerarqua con una profundidad prefijada, se puede usar un esquema de nombres para describir cada nivel, y saber as cuando est en la jerarquia de instancia:
14
Uno de los principales objetivos de MDA es separar el diseo de la arquitectura y de las tecnologas de construccin, facilitando que el
15
16
17
Es una herramienta esencial para la captura de requerimientos y para la planificacin y control de un proyecto interactivo. El conjunto de casos de uso representa la totalidad de las funcionalidades de un sistema. Entendindose por funcionalidad, el conjunto de funciones que un sistema provee a sus usuarios.
18
Los diagramas de Casos de Uso modelan: Los actores de un sistema. Los casos de uso Las relaciones entre actores Las relaciones entre casos de uso. Las relaciones de comunicacin entre actores y casos de uso. Los lmites del sistema (frontera). El refinamiento o descomposicin de los casos de uso.
19
No pertenece estrictamente al enfoque orientado a objeto, es una tcnica para captura de requisitos
20
Un Caso de Uso esta muy relacionado con lo que pudiera ser considerado un escenario en el sistema; esto es, lo que ocurre cuando alguien interacta con el sistema, por ejemplo: "Acude un mesero a colocar la orden, la orden es tomada por el cocinero, y posteriormente se abona a la cuenta del cliente el cargo".
21
22
23
<<Actor>> Estudiante
24
Caso de Uso: El caso de uso en s es representado por un valo que describe la funcionalidad a grosso modo que se requiere por el sistema.
25
Relacin entre un actor y el caso de uso: Asociacin o comunicacin Relacin entre actores: Generalizacin. Relacin entre casos de uso: Extensin Inclusin Generalizacin
26
Actor
Caso de Uso
27
28
<<include>>
29
Identificacin
Cliente
Transferencia
Transferencia en Internet
30
<<extend>>
31
32
33
34
35
36
37
Caso de Uso: Comprar Boleto de Lotera Actores: Cliente (iniciador) y Banquero Tipo: Primario y esencial
Resumen: Este caso de uso se inicia cuando un cliente llega al despacho de lotera e indica los nmeros a comprar. El banquero registra los nmero y cobra el importe. Al terminar la operacin, el cliente se marcha con el boleto.
38
39
40
9 Registra la venta.
Cursos Alterno.
Lnea 3: El nmero est cerrado. Indicar mensaje. Lnea 4: El cliente no tiene dinero. Cancelar transaccin.
41
Descripcin de Casos de Uso Expandidos: Muestra ms detalle que uno de alto nivel, suele utilizarse para obtener mayor conocimiento de los procesos y requerimientos. Se clasifican en dos tipos: ESENCIALES y REALES.
42
Opcionales: Representa los procesos que pueden no abordarse. PAGAR NUMERO SIN BOLETO.
43
El diagrama de Casos de Uso es empleado, con ms frecuencia, en algunas de las siguientes etapas : Determinacin de Requerimientos: Por lo general nuevos requerimientos del sistema generan nuevos casos de usos, conforme es analizado y diseado el sistema.
44
Comunicacin con el Cliente: Debido a la sencillez de este tipo de diagramas, son fciles de emplear para comunicarse con el cliente final del proyecto. Generacin de pruebas de Sistemas: A travs de estos los diagramas se pueden generar una serie de pruebas de sistema. Estimar calendario. Planificar N de iteraciones.
45
Taller N 2
Seleccionar un sistema de informacin conocido por los miembros del grupo -o al menos por uno de sus integrantes- y disear el diagrama de Casos de Uso. Describir, al menos, uno de los casos de uso detectados.
Duracin: 45 minutos
46
Diagramas de Clase.
Un diagrama de clases describe los tipos de objetos en el sistema y los diferentes tipos de relaciones que existen entre ellos. Los diagramas de clases tambin muestran los atributos y operaciones de una clase y las restricciones que se aplican a la forma como estn conectados.
Martin Fowler
47
Diagramas de Clase.
Ejemplo:
48
Clase: Es la unidad bsica que encapsula toda la informacin de un Objeto (un objeto es una instancia de una clase). A travs de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).
49
Nombre de la Clase
Atributos
Mtodos
50
51
52
Multiplicidad: Describe la cardinalidad de la relacin, es decir, cuanto objetos de esa clase pueden participar en la relacin dada [ Int-2].
53
54
Al contrario, si la existencia de objetos de la clase PARTE es independiente de la existencia de objetos de la clase TOTAL, entonces la relacin es agregacin.
55
Generalizacin: La relacin de generalizacin denota una relacin de herencia entre clases. La subclase hereda todos los atributos y mensajes descritos en la superclase [Int-2, FMAR97].
56
Diagramas de Objetos
Diagrama de objetos muestra la interaccin directa entre los objetos
:Coche
:Motor :Rueda
Coche 1
4 Rueda
57
Motor
:Rueda :Rueda
:Rueda
Diagrama de Paquetes
Los diagramas de paquetes permite que cualquier sistema grande pueda ser dividido en unidades ms pequeas, de modo que las personas puedan trabajar con una cantidad de informacin limitada. Los paquetes contienen elementos del modelo al ms alto nivel, tales
Diagrama de Paquetes
Un paquete es una parte de un modelo. Cada parte del modelo debe pertenecer a un paquete. Pero para ser funcional, la asignacin debe seguir un cierto principio racional, tal como funcionalidad comn, implementacin relacionada y punto de vista comn. UML no impone una regla para componer los paquetes.
Nombre de paquete
Diagrama de Paquetes
Un paquete puede contener otros paquetes, sin lmite de anidamiento pero cada elemento pertenece a (est definido en) slo un paquete. Definen un espacio de nombre. Los paquetes no son clasificadores, es decir no se pueden instanciar.
Diagrama de Paquetes
Una clase de un paquete puede aparecer en otro paquete por la
importacin a travs de una relacin de dependencia entre paquetes.
Diagrama de Paquetes
Taller N 3
Disear el diagrama de clases del sistema que han seleccionado como caso de estudio.
Duracin: 45 minutos
68
Diagrama de Actividad
69
Diagrama de Actividad
Ejemplo:
70
Diagrama de Actividad
Los
sus resultados.
Enfatizan Modelan
71
Diagrama de Actividad
72
Diagrama de Actividad
interrelacionado de acciones.
73
Diagrama de Actividad
Una accin toma uno o ms objetos de entrada y los transforma en uno o ms objetos de salida.
74
Diagrama de Actividad
Transicin:
75
Diagrama de Actividad
Orden incompleta
Orden Completa
Si
A
A
No
76
Diagrama de Actividad
Nombre
Actividad o accin
77
Diagrama de Actividad
Nodo de Decisin: Nodo de control que selecciona entre dos o ms flujos de salida
Nodo de Sincronizacin (Fork): Nodo de control que divide un flujo en dos o ms flujos concurrentes(paralelos)
78
Diagrama de Actividad
Particin de actividades y carriles (swimlanes):
Permiten agrupar las acciones de acuerdo a los actores o unidades organizacionales responsables de su ejecucin.
Swimlane1
Swimlane1
Swimlane2
Actor o Dependencia
Swimlane2
79
Diagrama de Actividad
Ejemplo:
80
Taller N 4
Elaborar un diagramas de actividades Conformarse en grupos de 3 participantes. Tomar como caso de estudio un sistema que el grupo conozca. Utilizar la Herramienta Case. Duracin: 30 minutos.
81
Una mquina de estado es un modelo que especfica las secuencias de estados que un objeto puede recorrer durante su existencia.
Los Diagramas de Mquina de Estado son usados para modelar la dinmica de los objetos de una sociedad.
82
Modelan un objeto individual. Son tiles slo para los objetos con un comportamiento significativo.
83
84
Ejemplos
respectivamente:
En vuelo
crash
aterrizar
85
Diagrama de Interaccin
Los objetos interactan para realizar colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interaccin muestran cmo se comunican los objetos en una interaccin. Una interaccin es una relacin entre los objetos y su entorno
(actores).
Ejemplo: la activacin de una funcin descrita por un caso de uso.
Diagrama de Interaccin
Existen cuatro tipos de diagramas de interaccin: Diagrama de vista de interaccin. Diagrama de Secuencia. Diagrama de Comunicacin.
Diagrama de Temporizacin.
Diagrama de Interaccin
Diagrama de Secuencia
Un diagrama de secuencia muestra la interaccin de un conjunto de objetos de una aplicacin a travs del tiempo.
Diagrama de Secuencia
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
90
Diagrama de Secuencia
Muestra
escenario concreto.
Presenta
aplicacin y cmo los objetos del programa se comunican entre s mediante el pase de mensaje.
Diagrama de Secuencia
Cada
Cuando
Diagrama de Secuencia
Ejemplo:
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
Nombre de la interaccin
Objeto
Operador de Interaccin Fragmento combinado (alternativa) Mensaje de un objeto a otro Restriccin de interaccin Mensaje recursivo Lnea de Vida Destruccin del objeto X
X>0
else
ob4 : C4
more( )
Diagrama de Comunicacin
Un
representan objetos y sus arcos los mensajes que se pasan entre los objetos.
Los
Diagrama de Comunicacin
La
La
Diagrama de Comunicacin
:Socio
4: registrar prstamo
:Prstamo
Diagrama de Temporizacin
Estos diagramas estn compuestos por elementos de marcas, intervalos de duracin e intervalos de tiempo {t1..t2}.
99
Diagrama de Temporizacin
Sd UsuarioAcc_Usuario
{d..3*d}
: Usuario
desocupado
EsperaTarjeta
EsperaAcceso
desocupado
100
Taller N 5
Construir el diagrama de secuencia para uno de los casos de uso detectados en el taller N 2.
Duracin: 45 minutos
101
Diagrama de Componente
Diagrama de Componente
Actualizar_transacciones
Transacciones
bsqueda
Consultas /reportes
Reservas
Diagrama de Componente
Componente de Software:
Es
Ejecuta Es
Cada
COMPONENTE
Diagrama de Componente
Componentes bien diseados tienen las siguientes cualidades:
Son
independientes de manera directa de otros componentes. una interfaz bien definidas a travs de la cual se integra a
Tiene
otros sistemas.
Puedes
mismas interfaces.
Tiene
Diagrama de Componente
Interfaz: Es un descriptor de las operaciones visibles de una clase, o un componente u otro entidad.
Diagrama de Componente
Interfaz: Una interfaz es una coleccin de operaciones que trabajan juntos para llevar a cabo algn comportamiento lgico del sistema( o de una parte).
Diagrama de Componente
Clasificacin de los Componentes:
Segn
su modificabilidad:
su granulidad:
de implementacin espcifica. de Negocios.
Componentes
Diagrama de Componente
Clasificacin de los Componentes:
Segn
su Tecnologa: Funcionales.
desarrollados usando lenguajes de programacin imperativa (C, Son normalmente
Componentes
Componentes Orientados
a Objetos.
Formadas por una coleccin de clases relacionadas. Las clases se agrupan en paquetes.
Diagrama de Componente
Clasificacin de los Componentes:
Segn
Componentes
Componentes
Distribuidos.
Diagrama de Componente
Transacciones
Diagrama de Despliegue
El Diagrama de Despliegue muestra la disposicin fsica de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos. La vista de despliegue representa la disposicin de las instancias de componentes de ejecucin en instacias de nodos conectados por enlaces de comunicacin.
Diagrama de Despliegue
<<Servidor>>
<<Servidor>>
ServidorApp
ServidorDB
Diagrama de Despliegue
Los nodos se interconectan mediante soportes bidireccionales que pueden a su vez estereotiparse.
Esta vista permite determinar las consecuencias de la distribucin y la asignacin de recursos. Las instancias de los nodos pueden contener
Diagrama de Despliegue
Podemos distinguir tipos de nodos y conexiones por estereotipado
<<RDSI>>
Control
<<RDSI>>
Diagrama de Despliegue
El mismo ejemplo del diagrama de componentes, pero ahora ubicando los componentes en sus nodos.
Cliente:cliente remoto Servidor:ServidorCentral Actualizar_transacciones
:Transacciones
bsqueda
:Consultas /reportes
:Reservas
Taller N 6
Duracin: 30 minutos
117