MODULO IIIMODULO III
Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de Sistemas de InformaciónSistemas de Información
INFINF--162162
III. UML
3.1 Introducción
1Facilitador: Miguel Facilitador: Miguel CotañaCotaña 02 de Abril 2009
¿QUÉ ES UML?¿QUÉ ES UML?
UML = Unified Modeling Language
Un lenguaje de propósito general para el modelado orientado a objetos.
Impulsado por el Object Management Group (OMG, www.omg.org). Se
encarga de la definición y
2
encarga de la definición y mantenimiento de estándares para aplicaciones de la industria de la
computación
UML combina notaciones provenientesUML combina notaciones provenientesdesde:
Modelado Orientado a Objetos;Modelado de Datos;Modelado de Componentes;Modelado de Flujos de Trabajo
3
Modelado de Flujos de Trabajo(Workflows).
Entre la guerra de los métodos,aparecieron los siguientes:
Booch (Rational Software);
HISTORIAHISTORIA
Booch (Rational Software);OOSE (Objet-Oriented SoftwareEngineering) de Jacobson(Objectory: casos de uso);OMT (Object Modeling Technique)
4
OMT (Object Modeling Technique)de Rumbaugh (G&E);Fusión;Shlaer-Mellor;Coad-Yourdon.
Rumbaugh
UML “aglutina“ enfoques OOUML “aglutina“ enfoques OO
UML
Jacobson
Meyer
Harel
Gamma et. al.
Shlaer-Mellor
Odell
Booch
Pre- and Post-conditions
State Charts
Object life cycles
5
Wirfs-BrockFusion
Embly
Gamma et. al.
Responsabilities
Operation descriptions, message numbering
Singleton classes
Frameworks, patterns, notes
2000 UML 1.4
2005? UML 2.0
Revisiones menores
UML 1.52003
Nov ‘97 UML aprobadopor el OMG
1998
1999
UML 1.2
UML 1.3 Revisiones menores
6
UML, es un lenguaje de modelado, yno un método. La mayor parte delos métodos consisten, al menos alno un método. La mayor parte delos métodos consisten, al menos alprincipio, en un lenguaje y en unproceso para modelar.
El lenguaje de modelado es lanotación (principalmente gráfica) de
7
notación (principalmente gráfica) deque se valen los métodos paraexpresar los diseños. El proceso esla orientación que nos dan sobre lospasos a seguir para hacer el diseño.
UML, define una notación y unmetamodelo:metamodelo:
Notación: es el material gráfico quese ve en los modelos; es la sintaxisdel lenguaje de modelado;
Metamodelo: Modelo que defineotros modelos (un diagrama,
8
otros modelos (un diagrama,usualmente un diagrama de clases,que defina la notación)
UML, es un lenguaje estándar paraUML, es un lenguaje estándar paraescribir planos de software;
UML, es un lenguaje expresivo;
UML es un lenguaje para:
Visualizar;
Especificar;
9
Especificar;
Construir;
Documentar.
MODULO IIIMODULO III
Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de Sistemas de InformaciónSistemas de Información
INFINF--162162
III. UML
3.2 Modelado básico
10Facilitador: Miguel Facilitador: Miguel CotañaCotaña 02 de Abril 2009
Para comprender UML, se necesitaadquirir un modelo conceptual del
MODELO CONCEPTUAL DE UMLMODELO CONCEPTUAL DE UML
adquirir un modelo conceptual dellenguaje, que comprende:
Los bloques básicos deconstrucción;
Las reglas que dictan cómo sepueden combinar esos bloques
11
pueden combinar esos bloquesbásicos;
Algunos mecanismos comunes quese aplican a través de UML.
El vocabulario de UML incluye 3clases de bloques de construcción:
BLOQUES DE CONSTRUCCIONBLOQUES DE CONSTRUCCION
clases de bloques de construcción:1.Elementos;2.Relaciones;3.Diagramas.
Los elementos son abstracciones
12
Los elementos son abstraccionesque son ciudadanos de primeraclase en un modelo; Las relacionesligan los elementos; los diagramasagrupan elementos.
Existen 4 tipos:1. Elementos estructurales;
1. Elementos1. Elementos
1. Elementos estructurales;2. Elementos de
comportamiento;3. Elementos de agrupación;4. Elementos de anotación.
13
4. Elementos de anotación.
Estos elementos son los bloquesbásicos de construcción OO de UML.
Son los nombres de los modelosUML. En su mayoría son partes
1.1 Elementos estructurales1.1 Elementos estructurales
UML. En su mayoría son partesestáticas de un modelo yrepresentan cosas que sonconceptuales o materiales. Existen7 tipos:Clase: conjunto de objetos que
14
Clase: conjunto de objetos quecomparten atributos, operaciones,relaciones y semántica;
interfaz: colección de operacionesque especifican un servicio de unaque especifican un servicio de unaclase o componente. Una interfazdescribe el comportamiento visibleexternamente de ese elemento. Unainterfaz puede representar elcomportamiento completo de unaclase o componente o sólo una
15
comportamiento completo de unaclase o componente o sólo unaparte de ese comportamiento;
IOrtografía
colaboración: define unainteracción y es una sociedad deinteracción y es una sociedad deroles y otros elementos quecolaboran para proporcionar uncomportamiento cooperativo mayorque la suma de loscomportamientos de sus elementos;
16
comportamientos de sus elementos;
Cadena deresponsabilidad
Caso de uso: es una descripción deun conjunto de secuencias deun conjunto de secuencias deacciones que un sistema ejucuta yque produce un resultadoobservable. Se utiliza parastructurar los aspectos decomportamiento en un modelo. Uncaso de uso es realizado por una
17
comportamiento en un modelo. Uncaso de uso es realizado por unacolaboración;
Realizar pedido
Clase activa: es una clase cuyosobjetos tienen uno o más procesosobjetos tienen uno o más procesoso hilos de ejecución. Es igual queuna clase, excepto en que susobjetos representan elementos cuyocomportamiento es concurrentecon otros elementos;
18
con otros elementos;
GestorEventos
Suspender()VaciarCola()
componente: es una parte física yreemplazable de un sistema quereemplazable de un sistema queconforma con un conjunto deinterfaces y proporciona laimplementación de dicho conjunto.Representa típicamente elempaquetamiento físico dediferentes elementos lógicos;
19
diferentes elementos lógicos;
Orderform.java
nodo: elemento físico que existe entiempo de ejecución y representatiempo de ejecución y representaun recurso computacional, que porgeneral dispone de memoria ycapacidad de procesamiento.
Servidor
20
Servidor
Son las partes dinámicas de losmodelos UML. Hay 2 tipos:
1.2 Elementos de comportamiento1.2 Elementos de comportamiento
modelos UML. Hay 2 tipos:interacción: conjunto demensajes;Máquina de estados: especifica lasecuencia de estados por las quepasa un objeto
21
pasa un objeto
esperandodibujar
Son las partes organizativas. Soncajas en las que pude
1.3 Elementos de agrupación1.3 Elementos de agrupación
cajas en las que pudedescomponerse un modelo:paquete: organiza elementos engrupo. Es puramente conceptual(sólo existe en tiempo dedesarrollo).
22
desarrollo).
Reglas del negocio
Son las partes explicativas. Soncomentarios que se pueden aplicar
1.4 Elementos de anotación1.4 Elementos de anotación
comentarios que se pueden aplicarpara describir, clarificar y hacerobservaciones sobre cualquierelemento de un modelo:nota: se utilizarán para adornar losdiagramas con restricciones o
23
diagramas con restricciones ocomentarios
Devuelve una copia del objeto
receptor
Existen 4 tipos:1. Dependencia;
2. Relaciones2. Relaciones
1. Dependencia; >
2. Asociación;3. Generalización;4. Realización.
24
Estos relaciones son los bloquesbásicos de construcción pararelaciones UML.
3. Diagramas3. Diagramas
Es la representación gráfica de unconjunto de elementos.
� Diagrama de Casos de Uso
� Diagrama de Clases
� Diagrama de Objetos
Diagramas de Comportamiento
� Diagrama de Estados
� Diagrama de Actividad
Diagramas de Interacción
25
Diagramas de Interacción
� Diagrama de Secuencia
� Diagrama de Colaboración
Diagramas de implementación
� Diagrama de Componentes
� Diagrama de Despliegue
Use Case
StateDiagrams
StateDiagramas deUse Case
DiagramsUse CaseDiagrams
Diagramas de Casos de Uso
ScenarioDiagrams
ScenarioDiagrams
Diagramas deColaboración
StateDiagrams
StateDiagrams
Diagramas deComponentes
StateDiagrams
StateDiagrams
Diagramas de Objetos
Use CaseDiagrams
Use CaseDiagrams
Diagramas deSecuencia
DiagramsState
DiagramsDiagramas de
Clases
Modelos
26
ComponentDiagramsComponent
DiagramsDiagramas dedespliegue
ScenarioDiagrams
ScenarioDiagrams
Diagramas deEstados Diagramas de
Actividad
En OMG UML 2.0 se definen unaserie de diagramas adicionales a los
UML 2.0UML 2.0
serie de diagramas adicionales a losestablecidos en OMG UML 1.x. Elconjunto de diagramas se encuentraorganizado en torno a doscategorías: diagramas
27
categorías: diagramasestructurales (representados enverdes) y diagramas dinámicos ode comportamiento (representadosen celeste
En UML 2.0 hay 13 tipos diferentes de diagramas. diagramas.
Use CaseDiagrams
Use CaseDiagrams
Diagramas de Estructuracompuestacompuesta
ScenarioDiagrams
ScenarioDiagrams
Diagramas de
Diagrama detiempos
Diagrama deSecuencias
Use CaseDiagrams
Use CaseDiagrams
Diagramas decomponentes
StateDiagrams
StateDiagrams
Diagramas deEstructurapaquetepaquete Diagrama gral
interacción
28
DiagramsDiagrams
Diagramas dedespliegue
Diagrama deCasosCasos de de UsoUso
Diagramas deMaquina de
estadosestados
ScenarioDiagrams
DiagramaDe De objetosobjetos
Diagramas deClases
Diagramas deActividad
UML 2.0 Diagrama decomunicación
Diagrama de EstructuraCompuesta. Se emplea paraCompuesta. Se emplea paravisualizar de manera gráfica laspartes que definen la estructurainterna de un clasificador. Cuando seutiliza en el marco de una clase, estediagrama permite elaborar un
29
diagrama permite elaborar undiagrama de clases donde semuestran los atributos y las clases,indicando asociaciones de agregacióno de composición.
Diagrama General de Interacción.Se emplea fundamentalmente paraSe emplea fundamentalmente pararepresentar las interacciones, a travésde diagramas o fragmentos dediagramas de secuencias, entre losactores y el sistema como una gran
30
actores y el sistema como una grancaja negra, y de diagramas deactividades en los que aparecendichos fragmentos.
Diagramas de Tiempos. Empleados paramostrar las interacciones donde elpropósito fundamental consiste en razonarpropósito fundamental consiste en razonarsobre la ocurrencia de eventos en el tiempoque provocan el cambio de estados de unelemento estructural.Diagrama de Comunicación . Equivalente
31
Diagrama de Comunicación . Equivalenteal diagrama de colaboración, los diagramasaparecen dentro de un frame que poseeuna etiqueta para indicar el tipo dediagrama.
Estructural :pkg Diagrama de Paquete pkg Diagrama de Paquete
cmp Diagrama Componentes
Dinámica o Comportamientouc Diagrama de Casos de Uso
act Diagrama de Actividad
32
act Diagrama de Actividad
stm Diagrama de Máquina de Estados
sd Diagrama de Secuencia
El Diagrama de Casos de Uso permiten,entre otras cosas, refinar el MCU a travésentre otras cosas, refinar el MCU a travésde las asociaciones de: <<incluye>>).Permite incorporar el flujo de eventos de uncaso de uso pequeño dentro de un caso deuso base de la aplicación. <<extend>>).Permite incorporar el flujo de eventos de un
33
Permite incorporar el flujo de eventos de uncaso de uso pequeño bajo la ocurrencia deuna determinada condición, cuando lamisma evalúa verdadero.
El Diagrama de Clases, no ha sufridocambios radicales en OMG UML 2.0.cambios radicales en OMG UML 2.0.El Diagrama de Secuencia, se le haincorporado:
opt : Indica que el fragmento de diagrama esopcional.alt : Indica que el fragmento de diagrama es una
34
alt : Indica que el fragmento de diagrama es unaalternativa.loop : Indica que el fragmento de diagrama seejecuta repetidas veces.par : Indica que el fragmento de diagrama incluyehilos de ejecución paralelos
El Diagrama de Clases de diseño.El Diagrama de Componentes, uno de losEl Diagrama de Componentes, uno de loselementos incorporados consiste en ladefinición de puertos a través de los cualescada componente software entrega unconjunto de servicios a través de interfacesproveídas .
35
proveídas .El Despliegue de la Solución sobre laInfraestructura TI, A través del diagrama dedespliegue se combina la Arquitectura de TIcon la Arquitectura de Aplicación o Software.
Diagramas de Estructura:Diagrama de clasesDiagrama de componentesDiagrama de objetosDiagrama de objetosDiagrama de estructura compuesta (UML 2.0) Diagrama de despliegueDiagrama de paquetes
Diagramas de Comportamiento:Diagrama de actividadesDiagrama de casos de uso
36
Diagrama de casos de usoDiagrama de estados
Diagramas de Interacción:Diagrama de secuenciaDiagrama de colaboraciónDiagrama de tiempos (UML 2.0) Diagrama de vista de interacción (UML 2.0)