Académique Documents
Professionnel Documents
Culture Documents
Qu es UML?
El UML modela sistema mediante el uso de objetos que
forman parte de l as como, las relaciones estticas o dinmicas que existen entre ellos. UML puede ser utilizado por cualquier metodologa de anlisis y diseo orientada por objetos para expresar los diseos.
Qu es UML?
UML es un Lenguaje de Modelado Unificado basado en una
notacin grfica la cual permite: especificar, construir, visualizar y documentar los objetos de un sistema programado. 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).
UML
UML es un lenguaje de modelado que sirve para visualizar,
Smbolos con semntica bien definida. UML transciende al lenguaje de programacin. Modelo explcito, que facilita la comunicacin.
las condiciones de no ambigedad y completitud. UML cubre la especificacin del anlisis, diseo e implementacin de un sistema software.
corresponder con los lenguajes de Modelo programacin UML (Java, C#, B.Datos, etc.).
Jacobson
Meyer
Pre- and Post-conditions
UML
State Charts
Harel
Embly
Singleton classes
Wirfs-Brock
Fusion
Operation descriptions, message numbering Responsabilities
Historia de UML
2001 2000
1999
1998 Nov 97
UML aprobado por el OMG
UML 1.2
Modelos y Diagramas
Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de inters
El cdigo fuente del sistema es el modelo ms detallado del sistema (y adems es ejecutable). Sin embargo, se requieren otros modelos ... Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos
Modelos y Diagramas
Modelo: captura una vista de un sistema del mundo real. Es una abstraccin de dicho sistema, considerando un cierto propsito.
Organizacin de Modelos
Vista de Diseo Vista de Implementacin
Vista de Despliegue
Diagramas de UML
Use Case Use Case Diagramas Diagrams de Diagrams Secuencia Scenario Scenario Diagramas Diagrams de Diagrams Colaboracin Scenario Scenario Diagramas Diagrams de Diagrams Estados Use Case Use Case Diagramas Diagrams de Diagrams Casos de Uso State State Diagramas Diagrams de Diagrams Clases State State Diagramas Diagrams de Diagrams Objetos State State Diagramas Diagrams de Diagrams Componentes
Component Component Diagrams Diagramas de Diagrams
Modelo
Diagramas de Actividad
Distribucin
Bloques de construccin
UML incluye tres clases de bloques de construccin: Elementos
Relaciones
Interfaz
Colaboraciones Casos de Uso Clases Activas Componentes Nodos
servicio de una clase o componente. Lo que describe el comportamiento visible externamente. Colaboracin: Define una interaccin. Es una agrupacin de roles y otros elementos que colaboran para proporcionar un comportamiento cooperativo.
Cadena de Responsabilidad
Iortografa
secuencias de acciones que un sistema ejecuta y que produce un resultado observable de inters para un actor particular.
Realizar pedido
procesos o hilos de ejecucin y por lo tanto pueden dar origen a actividades de control. Componente: Parte fsica y reemplazable de un sistema que conforma un conjunto de interfaces y su implementacin (cdigo).
GestorEventos Orderform.java
Suspender() Vaciarcola()
Servidor
en las que puede descomponerse un Modelo. Hay un elemento principal de agrupacin, los Paquetes.
Mecanismo de propsito general para organizar
Reglas de Negocio
comentarios que se pueden aplicar para describir, clarificar y hacer observaciones sobre cualquier elemento de un modelo.
elementos. Un cambio en el elemento independiente puede provocar un cambio en el sentido del elemento dependiente. Puede incluir a veces una etiqueta.
Asociacin: Son conexiones entre objetos y representa
generalizacin en la que los objetos del elemento especializado (hijo) pueden sustituir al general (padre). El hijo comparte la estructura del padre.
Realizacin: Es una relacin entre un Clasificador que
especifica un contrato que otro Clasificador garantiza. Suelen encontrarse entre interfaces y las clases y componentes que las realizan, y los casos de uso y las colaboraciones.
conjunto de elementos, visualizado habitualmente como un grafo conexo de nodos. Diagrama de clases:
Muestra un conjunto de clases, interfaces y
colaboraciones, as como sus relaciones. Habituales en el modelado de sistemas orientados a objetos. Vista de diseo esttica. Incluye las Clases Activas.
Muestra un conjunto de objetos y sus relaciones. Incluye mensajes que se envan entre ellos Vista dinmica de un sistema. Resalta la ordenacin temporal de los mensajes. Resalta la organizacin estructural de los objetos que envan y reciben mensajes.
Diagrama de Secuencia:
Diagrama de Colaboracin
Reglas de UML
Un modelo bien formado es aqul que es semnticamente
autoconsistente y est en armona con todos sus modelos relacionados UML tiene reglas para
Nombres, alcance, visibilidad, integridad, ejecutar.
Tambin es habitual que los modelos sean: Abreviados (elementos se ocultan para simplificar) Incompletos (pueden estar ausentes ciertos elementos) Inconsistentes (no se garantiza la integridad del modelo). Las reglas UML estimulan la consistencia pero no obligan.
procesos y UML aplica esta misma teora mediante cuatro mecanismos comunes que se aplican de forma consistente en todo el lenguaje:
Especificaciones
Adornos Divisiones comunes
Mecanismos de extensibilidad
semntica que incluye a todos los elementos de todos los modelos de un sistema, y cada elemento esta relacionando de forma consistente.
Detrs de un objeto (pej Clase) hay una especificacin
que proporciona el conjunto completo de atributos, operaciones y comportamiento. Las especificacin UML se utiliza para enunciar los detalles del sistema.
y clara Las especificaciones suelen incluir gran cantidad de detalles sobre dicho elemento. Los adornos nos apoyan la visin grfica de un elemento dando mas informacin (pej. Publico +, protegido #, privado -) GestorEventos
Elisa
Interfaz(contrato)-Implementacin(realizacin)
Asistenteortografico.dll
Iunknown
Iortografa
bloques derivados de los existentes, pero especficos para un problema. (buscar ejemplo). Valores Etiquetados: Permite aadir nueva informacin de un elemento. (pej. Indicar version de una clase {ver =1.2}. Restricciones: Permite aadir o modificar reglas existentes.
ColaEventos {ver=1.2 Autor=yomismo}
exception Overflow
{ordenado}
Arquitectura
Conjunto de decisiones significativas sobre: Organizacin de un sistema software Seleccin de elementos (estructurales e interfaces). Comportamiento. Especifica colaboraciones entre elementos. Composicin y comportamiento en subsistemas. Estilo arquitectnico (elementos estticos, dinmicos, sus interfaces, colaboraciones y composicin final).
Arquitectura
La arquitectura puede describirse sobre 5 vistas interrelacionadas
comportamiento del sistema Diseo: Clases, interfaces y colaboraciones (requisitos funcionales) Procesos: Mecanismos de sincronizacin y concurrencia (hilos y procesos) Implementacin: Componentes y archivos. Despliegue: Nodos que conforman la topologa hardware.
Casos de Uso
Un diagrama de Casos de Uso muestra la distintas
operaciones que se esperan de una aplicacin o sistema y cmo se relaciona con su entorno (usuario u otras aplicaciones).
Es
una herramienta esencial para la captura de requerimientos y para la planificacin y control de un proyecto interactivo.
Casos de Usos
Los casos de Uso Se representa en el diagrama por una
elipse que denota un requerimiento solucionando por el sistema. Cada caso de uso de uso es una operacin completa desarrollada por los actores y por el sistema en un dilogo. El conjunto de casos de uso representa la totalidad de operaciones desarrolladas por el sistema.
Casos de Uso
Para elaborar correctamente un diagrama hay: Nombrar un comportamiento simple, identificable y razonablemente atmico del sistema. Factoriza el comportamiento comn, incorporando ese comportamiento desde otros casos de uso que incluye. Factoriza las variantes, colocando ese comportamiento en otros casos de uso que lo extienden. Describe el flujo de eventos de forma clara para que alguien externo sea capaz de entenderlo. El caso de uso se describe por un conjunto mnimo de escenario que especifican la semntica y las variantes.
Nota 1: Hay que mostrar slo los casos de uso que sean importantes para comprender el comportamiento del sistema Nota 2: Hay que mostrar slo los actores relacionado con ese caso de uso.
Casos de Uso
Actor: Es un usuario del sistema, que necesita o usa alguno
de los casos de uso. Un usuario puede jugar ms de un rol. Un solo actor puede actuar en muchos casos de uso; recprocamente, un caso de uso puede tener varios actores. Los actores no necesitan ser humanos pueden ser sistemas externos que necesitan alguna informacin del sistema actual.
Casos de Uso
Casos de Uso
Tambin se puede encontrar tres tipos de relaciones,
como son:
Comunica (comunicates) Entre un actor y un caso de
Casos de Uso
Usa (uses): Relacin entre dos casos de uso, denota la
inclusin del comportamiento de un escenario en otro. Se utiliza cuando se repite un caso de uso en dos o ms casos de uso separados. Frecuentemente no hay actor asociado con el caso de uso comn.
Casos de Uso
Extiende (extends): Relacin entre dos casos, denota
cuando un caso de uso es una especializacin de otro. Se usa cuando se describe una variacin sobre el normal comportamiento.
Red telefnica
extend
Usuario
Diagramas de Interaccin
Son los diagramas que se utilizan para modelar los
aspectos dinmicos de los sistemas. Estos diagramas muestran una interaccin entre objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos.
Diagrama de Secuencia: Destaca la ordenacin temporal
de los mensajes. Diagrama de colaboracin: Destaca la organizacin estructural de los objetos que envan y reciben mensajes.
Diagramas de Interaccin
Cundo debemos utilizar uno u otro diagrama?. Si queremos modelar flujos de control por ordenacin temporal deberemos utilizar los diagramas de secuencias. Si queremos modelar los flujos de control por organizacin deberemos utilizar los diagramas de colaboracin. Los diagramas de colaboracin nos permiten visualizar mejor las iteraciones y bifurcaciones complejas.
Ejercicio
Identificar las clases relevantes y realizar el diagrama de
secuencia para el siguiente caso de uso, que corresponde a la realizacin de una llamada desde un telfono mvil.
El usuario pulsa los dgitos del nmero de telfono Para cada dgito la pantalla se actualiza para aadir el dgito marcado se emite un tono por el receptor El usuario pulsa el botn Enviar El indicador en uso se ilumina en pantalla El mvil establece conexin con la red Los dgitos acumulados se mandan a la red Se establece la conexin con el nmero marcado
Ejercicio
Ejercicio
Diagramas de Clases
Son los diagramas ms utilizados en el modelado de
sistemas orientados a objetos. Los diagramas muestran Clases, Interfaces y Colaboraciones as como sus relaciones. Los diagramas de Clases estn relacionados con los diagramas de componentes y de despliegue.
Responsabilidades
Descripcin de lo que tiene que realizar la clase
Clase1
Plantilla
Rol 1 [0..*] Relacin 1-2 {Restriccin} Rol 2 [0..*]
Clase1
Clase2
Clase1
Clase2
Relacin de asociacin
Relacin de composicin
Clase1
Clase2
Clase1
Clase2
Clase1
Clase1
Clases asociacin
Clase2
Clase2
Clase3
Clase1 Clase3
Clase2
{subconjunto}
miembro
1 ..*
director