Está en la página 1de 16

12/04/2016

Universidad Nacional de Trujillo


Facultad de Ciencias Físicas y Matemáticas
Departamento Académico de Informática

Lenguaje de Modelado Unificado


UML: Unified Modeling Language

Ms. Ing Carlos Castillo Diestra

Construcción de una casa para “fido”

Puede hacerlo una sola persona


Requiere:
Modelado mínimo
Proceso simple
Herramientas simples

Extraída desde la presentación “Software Architecture and UML” de Grady Booch

1
12/04/2016

Construcción de una casa

Construida eficientemente y en un tiempo


razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas

Extraída desde la presentación “Software Architecture and UML” de Grady Booch

Construcción de un rascacielos

Extraída desde la presentación “Software Architecture and UML” de Grady Booch

2
12/04/2016

Claves en Desarrollo de SI

Notación

Herramientas Proceso
Figura “Triangle for Success” adaptada desde “Visual Modeling with Rational Rose and UML” de Terry Quatrani

Abstracción - Modelado Visual (MV)

“El modelado captura las


partes esenciales del sistema”

Orden

Item

envío

Proceso de Negocios

Sistema Computacional

3
12/04/2016

Notación (Visual) - Beneficios


Manejar la complejidad

Interface de Usuario
(Visual Basic,
Java, ..)
Lógica del Negocio
(C++, Java, ..)

Múltiples Sistemas

Servidor de BDs
(C++ & SQL, ..)

“Modelar el sistema
independientemente Componentes
del lenguaje de Reutilizados

implementación”
Promover la Reutilización

¿Qué es UML?
 UML = Unified Modeling Language
 Un lenguaje de propósito general para el modelado orientado a
objetos
 Documento “OMG Unified Modeling Language Specification”
 UML combina notaciones provenientes desde:
– Modelado Orientado a Objetos
– Modelado de Datos
– Modelado de Componentes
– Modelado de Flujos de Trabajo (Workflows)

• UML es el lenguaje “Standard” para visualización, especificación,


construcción, y documentación de los elementos de un sistema
“software intensivo”
• Puede ser utilizado a través de todo el ciclo de vida de desarrollo

4
12/04/2016

Situación de Partida
 Diversos métodos y técnicas OO, con muchos
aspectos en común pero utilizando distintas
notaciones
 Inconvenientes para el aprendizaje, aplicación,
construcción y uso de herramientas, etc.
 Pugna entre distintos enfoques (y
correspondientes gurús)

Establecer una notación estándar

Historia de UML
 Comenzó como el “Método Unificado”,
con la participación de Grady Booch y Jim
Rumbaugh. Se presentó en el
OOPSLA’95
 El mismo año se unió Ivar Jacobson. Los
“Tres Amigos” son socios en la compañía
Rational Software. Herramienta CASE
Rational Rose

5
12/04/2016

Historia de UML
2007 UML 2.0

2003 UML 1.5

2001 UML 1.4

1999 UML 1.3


Revisiones menores
1998
UML 1.2
Nov ‘97 UML aprobado por el OMG

Participantes en UML 1.0


 Rational Software  MCI Systemhouse
(Grady Booch, Jim  Microsoft
Rumbaugh y Ivar Jacobson)
 Digital Equipment  ObjecTime
 Hewlett-Packard  Oracle Corp.
 i-Logix (David Harel)  Platinium Technology
 IBM  Sterling Software
 ICON Computing  Taskon
(Desmond D’Souza)  Texas Instruments
 Intellicorp and James Martin  Unisys
& co. (James Odell)

6
12/04/2016

Entradas a UML
Harel
Meyer Gamma, et al
Statecharts
Before and after Frameworks and patterns,
conditions
HP Fusion
Booch
Operation descriptions and
Booch method message numbering

Embley
Rumbaugh
Singleton classes and
OMT
high-level view

Jacobson Wirfs-Brock
OOSE
Responsibilities

Shlaer - Mellor Odell

Object lifecycles Classification

Diagramas de UML
Los diagramas expresan gráficamente partes de un modelo
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de Casos de Uso
Diagrams Diagrams
Objetos
Diagrams
Secuencia

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboración Modelos Componentes

Scenario Component
Un modelo es una
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribución descripción completa de
Estados Diagramas de un sistema desde una
Actividad perspectiva particular

7
12/04/2016

Aspectos Novedosos
 Definición semi-formal del Metamodelo de UML
 Mecanismos de Extensión en UML:
 Stereotypes
 Constraints
 Tagged Values
Permiten adaptar los elementos de modelado,
asignándoles una semántica particular

Inconvenientes en UML
 Definición del proceso de desarrollo
usando UML. UML no es una
metodología
 Falta integración con respecto de otras
técnicas tales como patrones de
diseño, interfaces de usuario,
documentación, etc.
 Ejemplos aislados
 “Monopolio de conceptos, técnicas y
métodos en torno a UML”

8
12/04/2016

Beneficios del Lenguaje de


Modelado Unificado
– Define un mapa parecido para el
análisis y el diseño de
implementaciones
– Define una notación expresiva y
consistente
• Hace más fácil el comunicarse con
otros
• Ayuda a detectar omisiones e
inconsistencias
• Permite análisis y diseño a pequeña
y gran escala

Modelos y Diagramas
• Un modelo captura una vista de un sistema del mundo
real. Es una abstracción de dicho sistema, considerando
un cierto propósito. Así, el modelo describe
completamente aquellos aspectos del sistema que son
relevantes al propósito del modelo, y a un apropiado nivel
de detalle.

• Diagrama: una representación gráfica de una colección


de elementos de modelado, a menudo dibujada como un
grafo con vértices conectados por arcos
OMG UML 1.4 Specification

9
12/04/2016

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 interés

 El código fuente del sistema es el modelo más detallado del


sistema (y además 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

Diagramas de UML
 Diagrama de Casos de Uso
 Diagrama de Clases
 Diagrama de Objetos
Diagramas de Comportamiento
 Diagrama de Estados
 Diagrama de Actividad
Diagramas de Interacción
 Diagrama de Secuencia
 Diagrama de Colaboración
Diagramas de implementación
 Diagrama de Componentes
 Diagrama de Despliegue

10
12/04/2016

UML 2.0

Unified Modeling Language (UML) specification, version 2.1.1, is


available.
There are two specifications that comprise the UML 2.1.1
specification: Superstructure and Infrastructure.
There are also two specifications that relate to the UML2 specification
(Diagram Interchange and Object Constraint Language).

Objetivos del UML 2.0


1. Hacer el lenguaje de modelado
mucho más extensible de lo
que era.
2. Permitir la validación y
ejecución de modelos creados
mediante el UML.

11
12/04/2016

UML y la Industria del Software

El UML se ha vuelto el estándar de


facto (impuesto por la industria y los
usuarios) para el modelado de
aplicaciones de software. En los
últimos años, su popularidad
trascendió al desarrollo de software
y, en la actualidad, el UML es
utilizado para modelar muchos otros
dominios, como por ejemplo el
modelado de procesos de negocios.

Conceptos básicos sobre UML


Lenguaje: el UML es, precisamente, un lenguaje. Lo que implica que
éste cuenta con una sintaxis y una semántica. Por lo tanto, al
modelar un concepto en UML, existen reglas sobre cómo deben
agruparse los elementos del lenguaje y el significado de esta
agrupación.
Modelado: el UML es visual. Mediante su sintaxis se modelan
distintos aspectos del mundo real, que permiten una mejor
interpretación y entendimiento de éste.
Unificado: unifica varias técnicas de modelado en una única.
Ya que el UML proviene de técnicas orientadas a objetos, se crea con
la fuerte intención de que este permita un correcto modelado
orientado a objetos.

12
12/04/2016

Estándares que conforman el UML 2.0

• Superestructura: Es la especificación que


usamos todos los días. Aquí se encuentran
todos los diagramas que la mayoría de los
desarrolladores conocen.
• Infraestructura: Conceptos de bajo nivel.
Meta-Modelo da soporte a la superestructura,
entre otras.
• OCL: Lenguaje de restricción. De utilidad para
especificar conceptos ambiguos sobre los
distintos elementos del diagrama.
• XMI / Intercambio de diagramas: Permite
compartir diagramas entre diferentes
herramientas de modelado UML.

La Superestructura del UML


Es en la Superestructura donde encontramos los cambios que más afectan
en el día a día a quienes trabajan como desarrolladores de aplicaciones de
negocios, es decir, profesionales que, en general, deben interpretar o crear
modelos que especifiquen el dominio de tales aplicaciones.

Es aquí dónde se definen los diagramas y los elementos que los componen.
La Superestructura se encuentra dividida en niveles. Estos niveles se
conocen como:
Básico (L1): Contiene los elementos básicos del UML 2.0, entre ellos:
Diagramas de clases, Diagramas de actividades, Diagramas de
Interacciones, y Diagramas de Casos de Uso
Intermedio (L2): Contiene los siguientes diagramas: Diagramas de estado,
Perfiles, Diagramas de Componentes y Diagramas de despliegue.
Completo (L3): Representa la especificación del UML 2.0 completa, como
por ejemplo: las Acciones, Características avanzadas y PowerTypes entre
otros.
Es importante destacar que basta con que una herramienta implemente el
nivel de conformidad Básico (L1), para que se considere UML 2.0
compatible. Por eso, es normal ver una disparidad de características
(features) bastante amplia entre dos herramientas distintas, aunque éstas
sean UML 2.0 compatibles

13
12/04/2016

Breve descripción sobre los diagramas

Diagrama Descripción Prioridad

Diagrama de Muestra una colección de elementos de modelado declarativo Alta


Clases (estáticos), tales como clases, tipos y sus contenidos y
relaciones.

Diagrama de Representa los componentes que componen una aplicación, Media


Componentes sistema o empresa. Los componentes, sus relaciones,
interacciones y sus interfaces públicas.

Diagrama de Representa la estructura interna de un clasificador (tal como Baja


Estructura de una clase, un componente o un caso de uso), incluyendo los
Composición puntos de interacción de clasificador con otras partes del
sistema.

Breve descripción sobre los diagramas


Diagrama Descripción Prioridad

Diagrama de Un diagrama de despliegue físico muestra cómo y dónde se Media


Despliegue Físico desplegará el sistema. Las máquinas físicas y los procesadores
se representan como nodos y la construcción interna puede
ser representada por nodos o artefactos embebidos. Como los
artefactos se ubican en los nodos para modelar el despliegue
del sistema, la ubicación es guiada por el uso de las
especificaciones de despliegue.

Diagrama de Un diagrama que presenta los objetos y sus relaciones en un Baja


Objetos punto del tiempo. Un diagrama de objetos se puede considerar
como un caso especial de un diagrama de clases o un
diagrama de comunicaciones.

Diagrama de Un diagrama que presenta cómo se organizan los elementos Baja


Paquetes de modelado en paquetes y las dependencias entre ellos,
incluyendo importaciones y extensiones de paquetes.

14
12/04/2016

Breve descripción sobre los diagramas


Diagrama Descripción Prioridad
Diagrama de Actividades Representa los procesos de negocios de alto nivel, Alta
incluidos el flujo de datos. También puede utilizarse
para modelar lógica compleja y/o paralela dentro de
un sistema.
Diagrama de Comunicaciones Es un diagrama que enfoca la interacción entre Baja
(anteriormente: Diagrama de líneas de vida, donde es central la arquitectura de la
colaboraciones) estructura interna y cómo ella se corresponde con el
pasaje de mensajes. La secuencia de los mensajes
se da a través de un esquema de numerado de la
secuencia.
Diagrama de Revisión de la Los Diagramas de Revisión de la Interacción enfocan Baja
Interacción la revisión del flujo de control, donde los nodos son
Interacciones u Ocurrencias de Interacciones. Las
Líneas de Vida los Mensajes no aparecen en este
nivel de revisión

Diagrama de Secuencias Un diagrama que representa una interacción, Alta


poniendo el foco en la secuencia de los mensajes
que se intercambian, junto con sus correspondientes
ocurrencias de eventos en las Líneas de Vida.

Breve descripción sobre los diagramas


Diagrama Descripción Prioridad
Diagrama de Un diagrama de Máquina de Estados ilustra cómo un Media
Máquinas de Estado elemento, muchas veces una clase, se puede mover entre
estados que clasifican su comportamiento, de acuerdo con
disparadores de transiciones, guardias de restricciones y
otros aspectos de los diagramas de Máquinas de Estados, que
representan y explican el movimiento y el comportamiento.

Diagrama de El propósito primario del diagrama de tiempos es mostrar los Baja


Tiempos cambios en el estado o la condición de una línea de vida
(representando una Instancia de un Clasificador o un Rol de
un clasificador) a lo largo del tiempo lineal. El uso más
común es mostrar el cambio de estado de un objeto a lo
largo del tiempo, en respuesta a los eventos o estímulos
aceptados. Los eventos que se reciben se anotan, a medida
que muestran cuándo se desea mostrar el evento que causa
el cambio en la condición o en el estado.

Diagrama de Casos Un diagrama que muestra las relaciones entre los actores y el Media
de Uso sujeto (sistema), y los casos de uso.

15
12/04/2016

Breve descripción sobre los diagramas

Diagrama Descripción Prioridad

Diagrama de Muestra una colección de elementos de modelado declarativo Alta


Clases (estáticos), tales como clases, tipos y sus contenidos y
relaciones.

Diagrama de Representa los componentes que componen una aplicación, Media


Componentes sistema o empresa. Los componentes, sus relaciones,
interacciones y sus interfaces públicas.

Diagrama de Representa la estructura interna de un clasificador (tal como Baja


Estructura de una clase, un componente o un caso de uso), incluyendo los
Composición puntos de interacción de clasificador con otras partes del
sistema.

16

También podría gustarte