Está en la página 1de 44

CAPÍTULO 7:

Lenguaje de modelado unificado


(UML)

Ing. Diana López A.


Ingeniería de Software 1
Objetivo del capítulo

• Conocer los paradigmas (los métodos y los modelos) existentes


para el análisis de los requerimientos.
Contenido

UML: metamodelo. Diagramas de Estructura


Características y notación UML

Modelo básico de un modelo


Diagramas de de requerimiento
Introducción Comportamiento
UML - MODELO.
Modelo

Representación en cierto medio de algo en el mismo u otro medio.

Capta los aspectos importantes de lo que se desea modelar, desde cierto


punto de vista y simplifica u omite el resto.

Un modelo de un sistema construido en un lenguaje de modelado, como


UML.

Tiene semántica y notación, puede adoptar varios formatos que incluye texto
y gráficos.
¿Para qué sirven los modelos?
Para captar y enumerar exhaustivamente los requisitos y el dominio de
conocimiento de forma que todos los implicados pueden entenderlos y estar
de acuerdo con ellos.
Para pensar del diseño de un sistema.

Para capturar decisiones del diseño en una forma mutable a partir de los
requisitos.

Para generar productos aprovechables para el trabajo.

Para organizar, encontrar, filtrar, recuperar, y corregir la información en


grandes sistemas.
¿Qué hay en un modelo?

Información semántica (semántica)

• Capta el significado de una aplicación como una red de


construcciones lógicas, clases, asociaciones, estados,
casos de uso y mensajes.
• Se utilizan para la generación del código, la comprobación
de la validez, las métricas de complejidad, entre otros.
• Comprende una estructura sintáctica, reglas para asegurar
su corrección y dinámica de ejecución.
¿Qué hay en un modelo?

Presentación visual (notación)

• Muestra la información semántica de modo que pueda


ser considerada y corregida por los usuarios.
• Muestra el modelo en forma comprensible por las
personas.
• No agregan significado organizan la presentación de
los elementos del modelo.
¿Qué hay en un modelo?

Contexto

• Los modelos se utilizan dentro de un contexto más grande que les dé


significado completo.
• Este contexto incluye la organización interna del modelo, anotaciones
sobre el uso, un sistema de valores por defecto y de suposiciones para la
creación y manipulación del elemento y una relación al entorno el cual la
utilizan.
• Los modelos no se construyen y utilizan aislados. Son parte de un
entorno más grande que incluye: herramientas de modelado, lenguajes y
compiladores, sistemas operativos, redes de computadores, restricciones
de implementación, entre otros.
UML - METAMODELO.
Meta-Object Facility - MOF

Es un metamodelo que se define a sí mismo.

Se desarrolló para proporcionar un sistema de tipos para utilizarse en


la arquitectura CORBA, un conjunto de esquemas mediante los cuales
se podrían definir la estructura, significado y comportamiento de los
objetos, y un conjunto de interfaces de CORBA que permiten que
estos esquemas se puedan crear, almacenar y manipular.

Common Object Request Broker Architecture (CORBA) es un estándar definido por 


Object Management Group (OMG) que permite que diversos 
componentes de software escritos en múltiples lenguajes de programación y que
corren en diferentes computadoras, puedan trabajar juntos; es decir, facilita el
desarrollo de aplicaciones distribuidas en entornos heterogéneos
OMG (Object Management Group)

El OMG (Object Management Group) se crea en 1989 como


una asociación de las 1000 empresas que son líderes de la
tecnología software, a fin definir especificaciones que puedan
ser implementadas por todos ellas, y con ello, facilitar la
interoperatividad de sus productos.
Arquitectura CORBA

CORBA es una arquitectura de objetos distribuidos


diseñada
para permitir que dichos objetos distribuidos interoperen sobre
entornos heterogéneos, donde los objetos estar
pueden
implementados en diferentes lenguajes de programación
y/o desplegados sobre diferentes plataformas.

ORB (Object Request Brocker):


Constituye la infraestructura de
comunicación estandarizada, a través
de las que se realizan las
invocaciones de los métodos de los
objetos y servicios
MOF se diseñó como una arquitectura de cuatro capas.

Capa M3.
Proporciona un modelo meta-meta en la capa más alta,
denominada

Capa M2.
Son modelos creados a partir del lenguaje utilizado por
MOF para construir meta-modelos, denominados
modelos. Ejemplo: El meta-modelo UML, el modelo que
describe el propio UML.

Capa M1
Los modelos son descritos a partir de la Capa M2.
Ejemplos: Modelos escritos en UML.

Capa M0 o capa de información.


Se utiliza para describir objetos del mundo real.
Definición de un metamodelo
para RDBMS
Definición de un
metamodelo de UML
Jerarquía de metamodelos
UML
UML – CONCEPTOS GENERALES
DIAGRAMA
MODELO
LENGUAJE DE Representación de (parte de)
Representación abstracta de un modelo de diseño (casos
MODELADO una especificación, un diseño de uso, de clase, de
Permite expresar los distintos o un sistema desde un punto comportamiento, de estado,
modelos que se producen de vista particular. Se de actividad, de interacción,
en el proceso de desarrollo. representa por uno o más de implementación, de
diagramas componentes, de despliegue)

ELEMENTOS
RELACIONES
(Estructurales, de
(Dependencia, asociación,
comportamiento,
generalización, realización y
agrupamiento de
agregación)
anotacionales) y
VISTAS DE UML

• Subconjunto UML, que modela construcciones que


representan
de un aspecto de un sistema.
• Se dividen en áreas: clasificación
comportamiento
tres dinámico y gestión del modelo.
estructural,
1. Clasificación estructural describe los elementos
del sistema y sus relaciones con otros elementos.
2. Comportamiento dinámico describe el comportamiento de
un sistema en el tiempo.
3. Gestión del modelo describe la organización de los propios
modelos en unidades jerárquicas.
Área Vista Diagramas Conceptos principales
Clase, asociación,
Diagrama de
Vista estática generalización, dependencia,
clases
realización, interfaz

Caso de uso, actor,


Diagrama de asociación, extensión,
Estructural Vista de casos de uso inclusión, generalización de
casos de usos
casos de uso
Vista de Diagrama de Componente, interfaz,
implementación componentes dependencia, realización
Diagrama de Nodo, componente,
Vista de despliegue
despliegue dependencia, localización
Área Vista Diagramas Conceptos principales
Vista de máquina de Diagrama de Estado, evento, transición,
estados estados acción

Estado, actividad, transición


Diagrama de
Vista de actividad de terminación, división,
actividad
Dinámica unión

Diagrama de
secuencia Interacción, objeto, mensaje,
Vista de interacción
activación
Diagrama de

colaboración
Área Vista Diagramas Conceptos principales

Gestión del Vista de gestión del Diagrama de Paquete, subsistema,


modelo modelo clases modelo

Extensión de Restricción, estereotipo,


Todas Todos
UML valores etiquetados
UML - CARACTERÍSTICAS
Es un lenguaje de modelado visual que se usa para especificar,
visualizar, construir y documentar artefactos de un sistema.

Capta la información sobre la estructura estática y el comportamiento


dinámico de un sistema.

UML no es un lenguaje de programación.

Fue desarrollado para simplificar y consolidar el gran número de métodos de


desarrollo orientado a objetos.
El modelado de sistema desde varios puntos de vistas
permite entender diferentes propósitos:

La estructura estática define los tipos de objetos importantes para un sistema


y para su implementación, así como las relaciones.

El comportamiento dinámico define la historia de los objetos en el tiempo y la


comunicación entre objetos para cumplir sus objetivos.
UML - NOTACIÓN UML
UML 2.0 define 13 tipos de diagramas:
Diagramas Diagrama de Diagrama de
estructurales comportamiento interacción
• Diagrama de clases • Diagrama de casos • Diagrama de
• Diagrama de objetos de uso
• Diagrama de • Diagrama de colaboración
componentes actividades • Diagrama de
• Diagrama de • Diagrama de secuencia
estructura compuesta estados • Diagrama de
• Diagrama de tiempo
paquetes • Diagrama general de
• Diagrama de interacciones
despliegue
DIAGRAMAS DE ESTRUCTURA
DIAGRAMAS DE CLASES
Describen la estructura estática de un sistema.

Las cosas que existen y que nos rodean se agrupan naturalmente en


categorías.

Una clase es una categoría o grupo de cosas que tienen atributos


(propiedades) y acciones similares.

Un rectángulo es el símbolo que representa a la clase, y se divide en


tres áreas.
Un diagrama de clases está formado por varios rectángulos de este tipo
conectados por líneas que representan las asociaciones o maneras en
que las clases se relacionan entre si.
Clase Abstracta

Las clases se representan con rectángulos divididos en tres


áreas: la superior contiene el nombre de la clase, la central
contiene los atributos y la inferior las acciones.
Ejemplo
 Clase “Aviones”
 Atributos: “modelo de avión”, “la cantidad de motores”, “la
velocidad de crucero” y “la capacidad de carga útil”.
 Acciones a realizar: “acelerar”, “elevarse”, “girar”, “descender”,
“desacelerar”.
Asociaciones
 Las asociaciones son las que representan a las relaciones
estáticas entre las clases.
 El nombre de la asociación va por sobre o por debajo de la
línea que la representa.
 Una flecha rellena indica la dirección de la relación.
 Los roles se ubican cerca del final de una asociación. Los
roles representan la manera en que dos clases se ven entre
ellas.
 No es común el colocar ambos nombres, el de la asociación
y el de los roles a la vez.
 Cuando una asociación es calificada, el símbolo
correspondiente se coloca al final de la asociación, contra la
clase que hace de calificador.
Multiplicidad

 Las notaciones utilizadas para señalar la multiplicidad se


colocan cerca del final de una asociación.
 Estos símbolos indican el número de instancias de una clase
vinculadas a una de las instancias de la otra clase.
 Por ejemplo, una empresa puede tener uno o más empleados,
pero cada empleado trabaja para una sola empresa solamente.
Composición y Agregación

Composición es un tipo especial de agregación que


denota una fuerte posesión de la Clase “Todo”, a la
Clase “Parte”.
Se grafica con un rombo diamante relleno contra la
clase que representa el todo.
La agregación es una relación en la que la Clase “Todo”
juega un rol más importante que la Clase "Parte", pero
las dos clases no son dependientes una de otra.
Se gráfica con un rombo diamante vacío contra la Clase
“Todo”.
Generalización

Generalización es otro nombre para herencia. Se refiere a


una relación entre dos clases en donde una Clase
“Específica” es una versión especializada de la otra, o Clase
“General”.
Por ejemplo, Honda es un tipo de auto, por lo que la Clase
“Honda” va a tener una relación de generalización con la
Clase “Auto”.
Diagrama de Objetos

Los Diagramas de Objetos están vinculados con los Diagramas de


Clases.
Un objeto es una instancia de una clase, por lo que un diagrama de
objetos puede ser visto como una instancia de un diagrama de clases.
Los diagramas de objetos describen la estructura estática de un
sistema en un momento particular y son usados para probar la
precisión de los diagramas de clases.
Nombre de los objetos

Cada objeto es representado como un


rectángulo, que contiene el nombre del
objeto y su clase subrayadas y separadas
por dos puntos.
Atributos Como con las clases, los
atributos se listan en un área inferior.
Sin embargo , los atributos de los objetos
deben tener un valor asignado.
Diagrama de Casos de Uso

Un caso de uso es una descripción de las acciones de un


sistema desde el punto de vista del usuario.
Es una herramienta valiosa dado que es una técnica de aciertos
y errores para obtener los requerimientos del sistema,
justamente desde el punto de vista del usuario.
Los diagramas de caso de uso modelan la funcionalidad del
sistema usando actores y casos de uso.

Los casos de uso son servicios o funciones provistas por el


sistema para sus usuarios.
Sistema: El rectángulo representa los límites del
sistema que contiene los casos de uso. Los actores
se ubican fuera de los límites del sistema.
Casos de Uso: Se representan con óvalos.
La etiqueta en el óvalo indica la función del sistema.
Actores: Los actores son los usuarios de un sistema.
Relaciones:
Las relaciones entre un actor y un caso
de uso, se dibujan con una línea simple.
Para relaciones entre casos de uso, se
utilizan flechas etiquetadas "incluir" o
"extender."
Una relación "incluir" indica que un caso de
uso es necesitado por otro para poder
cumplir una tarea.
Una relación "extender" indica opciones
alternativas para un cierto caso de uso.
Taller N° 8
Elabore los diagrama de clases para los siguientes enunciado.
1. Una aplicación necesita almacenar información sobre empresas, sus empleados y sus
clientes. Ambos se caracterizan por su nombre y edad. Los empleados tienen un sueldo
bruto, los empleados que son directivos tienen una categoría, así como un conjunto de
empleados subordinados. De los clientes además se necesita conocer su teléfono de
contacto. La aplicación necesita mostrar los datos de empleados y clientes.
2. Una biblioteca tiene copias de libros Estos últimos se caracterizan por su nombre, tipo
(novela, teatro, poesía, ensayo), editorial, año y autor. Los autores se caracterizan por su
nombre, nacionalidad y fecha de nacimiento. Cada copia tiene un identificador y puede
estar en la biblioteca, prestada, con retraso o en reparación. Los lectores pueden tener un
máximo de 3 libros en préstamo. Cada libro se presta un máximo de 30 días, por cada día
de retraso, se impone una “multa” de dos días sin posibilidad de coger un nuevo libro.
Realiza un diagrama de clases y añade los métodos necesarios para realizar el préstamo y
devolución de necesarios.

También podría gustarte