Anda di halaman 1dari 43

Universidad de San Martín de Porres

Facultad de Ingeniería y Arquitectura

INGENIERIA DE SOFTWARE I

Diagramas UML

PROFESOR: Dr. CARLOS BERNAL ORTÍZ


Jefe de FIA DATA USMP
Centro de Computo y Lab. Académicos
UML 2.0
En OMG UML 2.0 se definen una serie de diagramas adicionales a
los establecidos en OMG UML 1.x. El conjunto de diagramas se
encuentra organizado en torno a dos categorías: diagramas
estructurales (representados en verdes) y diagramas dinámicos o de
comportamiento (representados en celeste). Los diferentes diagramas
son indicados en la figura siguiente:
Organización de la estrutura de UML
El bloque de construcción básico del UML es un diagrama. La
estructura de los diagramas UML. Los diagramas se organizan de
acuerdo a esta estructura taxonómica, que da la perspectiva a los
diagramas y a sus interrelaciones.
Diagramas
Diagramas de estructura enfatizan en los
elementos que deben existir en el sistema
modelado:
 Diagrama de clases
 Diagrama de componentes
 Diagrama de objetos
 Diagrama de estructura compuesta (UML 2.0)
 Diagrama de despliegue
 Diagrama de paquetes
Diagramas

Diagramas de comportamiento enfatizan en lo


que debe suceder en el sistema modelado:
 Diagrama de actividades
 Diagrama de casos de uso
 Diagrama de estados
...continua , Jerarquía de Diagramas
Diagramas de Interacción, un subtipo de
diagramas de comportamiento, que enfatiza
sobre el flujo de control y de datos entre los
elementos del sistema modelado:

Diagrama de secuencia
Diagrama de comunicación
Diagrama de tiempos (UML 2.0)
Diagrama de vista de interacción (UML 2.0)
Diagrama de Casos de Uso.
Permiten realizar la especificación del alcance funcional
del producto software que se construye y de los actores,
entes que interactúan con el producto software, que
requieren los diferentes casos de usos.

Los casos de usos pueden relacionarse entre sí a través de


asociaciones que permiten, entre otras cosas, refinar el
Modelo de Casos de Usos a través de las asociaciones de:

•Generalización
•Extends
•Include
Enfatizan el qué en lugar del cómo.
...continua , Diagrama de Casos de Uso
Generalización.

Asociación estereotipada Alumno


como “generalization”.
Permite establecer una Reservar recursos
jerarquía de herencia al nivel
de los casos de uso, donde el
caso de uso derivado adquiere
toda la especificación del
caso de uso base e incorporar Reservar libros Reservar cubiculos

nuevos requerimientos a la
especificación.
...contiuna , Diagrama de Casos de Uso
En el paquete tipos de venta:

Venta Normal

Venta en Rebajas
Vendedor

Venta en Ofertas
...contiuna , Diagrama de Casos de Uso
Extensión.
Asociación estereotipada
como: extend. Permite
incorporar el flujo de
eventos de un caso de uso Cliente
Solicitar Préstamo

pequeño dentro de un
caso de uso base de la [Tarjeta Caducada]

aplicación bajo la <<extend> >

ocurrencia de una
determinada condición,
cuando la misma evalúa Solic itar N ueva Tarjeta

verdadero.
...contiuna, Diagrama de Casos de Uso
Inclusión.
Asociación estereotipada como: incluye. Permite
incorporar el flujo de eventos de un caso de uso pequeño
dentro de un caso de uso base de la aplicación.

<<include>>
Consignación

Cliente Verificar Operación

<<include>>

Pago de Crédito
Diagrama de Clases
 Un diagrama de clases muestra la existencia de clases
y otras relaciones en la ventana lógica de un sistema.

 UML modela los elementos en el diagrama de clases


– Las clases, su estructura y su conducta
– Asociación, agregación, dependencia, y relaciones
inherentes
– Multiplicidad e indicadores de navegación
– Nombre de los roles
...continua, Diagrama de Clases
Durante el diseño de un producto se emplea el diagrama de
clases para representar su estructura estática. El diagrama
de clases en OMG UML 2.0 no introduce aspectos
radicales en comparación a OMG UML 1.x.
Diagrama de clases de diseño:
Relaciones

ScheduleAlgorithm
RegistrationForm

RegistrationManager
addStudent(Course, StudentInfo)
Course
name
numberCredits
Student open()
name addStudent(StudentInfo)
major

Professor
name CourseOffering
tenureStatus
location

open()
addStudent(StudentInfo)
Multiplicidad y Navegación
 Multiplicidad define cuantos objetos
participan en la relación
 Multiplicidad es el número de
instancias de una clase para UNA
instancia de otra clase
 Algunas asociaciones y agregaciones
son bi direccionales por defecto, esto
es a veces deseable para restringir la
dirección de la navegación.
Multiplicidad y Navegación

ScheduleAlgorithm
RegistrationForm

0..*
1 RegistrationManager
addStudent(Course, StudentInfo)
1 Course
name
0..* numberCredits
Student open()
addStudent(StudentInfo)
major

1
3..10
Professor 1..*
4 CourseOffering
tenureStatus
location
1
0..4 open()
addStudent(StudentInfo)
Generalización y Herencia

 Generalización: Es la asociación entre una


clase y otras clases refinadas de sí misma
 Herencia: Es el mecanismo por el cual una
clase puede ser definida a partir de otra
heredando automáticamente las propiedades
y métodos de la superclase
Medio de Transporte
placa
capacidad max
potencia
combustible

Tipo de medio de transporte

Terrestre Marítimo Fluvial Ferroviario Aéreo


nro ejes
nro puertas motor motor nro turbinas
motor nivel de flotación tipo vagón nro ruedas
tracción dirección altímetro
dirección

Tipo de medio de Tipo de medio de


transporte terrestre transporte aéreo

Liviano Mediano Pesado Carga Pasajeros

carga modelo
nro asientos nro asientos capacidad cargada
nro baños nro pasajeros
modelo carga
nro baños
nro baños
nro pisos

(Medio de transporte (Medio de transporte


(Medio de transporte
terrestre liviano) aéreo de pasajeros)
marítimo fluvial)
placa=BO4185 placa=WKQ12HG
placa=SP2HR
capacidad max=0.5tons capacidad max=3tons
capacidad max=60tons
potencia=25HP potencia=125HP
potencia=825HP
combustible=95oct combustible=132oct
combustible=Diesel4
nro ejes=1 nro turbinas=4
motor=EIRU258A
nro puertas=2 nro ruedas=6
nivel de flotación=25mt
motor=135B4587 altímetro=2P
tracción=delantera modelo=Boeing747
dirección=hidraúlica nro asientos=130
nro asientos=4 nro baños=3
modelo=coupe
Jerarquía de herencia
multinivel con instancias
...continua, Diagrama de Clases
Autoagregación:

Relación de auto agregación. Un


departamento puede estar compuesto por
varios sub departamentos, o ninguno, con
la restricción de que el mínimo número
de personas en los sub departamentos
debe ser dos. En UML las restricciones
se expresan mediante llaves “{condición
a cumplir siempre}”.
Diagrama de Objetos

Los diagramas de
objetos son análogos
a los de clases, con
la particularidad de
que en lugar de
encontrar clases,
encontramos
instancias de éstas.
Son útiles para
explicar partes
pequeñas del modelo
en las que hay
relaciones complejas
Diagrama de Actividades

Los diagramas de
actividades muestran
como las actividades
fluyen y las
dependencias entre
ellas.
...continua, Diagrama de Actividades

[no hay café] [no zumo]


Buscar Bebida
[hay café [hay zumo]

Poner café en filtro Añadir agua al depósito Coger taza

Poner filtro en máquina Coger zumo

Encender máquina
/ cafetera.On
Café en preparación

indicador de fin
Servir café
Beber
...continua, Diagrama de Actividades
Ejemplo (con swim lines)
Pasajero Vendedor Airline

Solicitar pasaje
Verificar
existencia vuelo

Dar detalles vuelo

Informar alternativas
y precios
Seleccionar vuelo

Solicitar pago Reservar plazas

Confirmar
Pagar pasaje plaza reservada

Emitir billete
Diagrama de Estados
Muestran los posibles estados en que puede encontrarse un objeto y
las transiciones que pueden causar un cambio de estado. El estado
de un objeto depende de la actividad que esté llevando a cabo o de
alguna condición.

Circunstancia o condición
que provoca la transición Resultado de
inicio
actividad
acción

fin
...continua, Diagrama de Estados
Los estados pueden anidarse, agrupando estados relacionados en
un estado compuesto. Puede ser necesario cuando una actividad
involucra actividades concurrentes o asíncronas.
Diagrama de Secuencia
Al diagrama de secuencia se le ha incorporado un mecanismo a través
del cual se puede realizar la especificación de bloques repetitivos,
opcionales, alternativos, entre otros. En el siguiente diagrama se puede
observar que el registro del préstamo solo se efectúa si el usuario
satisface la regla de negocio que establece que el video se encuentre
disponible .

: WInP réstam os :Socio :Video : Préstamo


: Encargado

prestar(video, socio)
verificar situación socio

verificar situación video

registrar préstamo

entregar recibo
Diagrama de Comunicación (colaboración)
Muestra la distribución estática de los objetos. Resalta la relación
estructural de los objetos que intercambian mensajes.

:Socio

:Video

2: verificar situación socio

1: prestar(video, socio) 3: verificar situación video


:WInPréstamos

5: entregar recibo
: Encargado 4: registrar préstamo

:Préstamo
Diagrama de Secuencia y de
Comunicación (colaboración)
Los diagramas de secuencia y de colaboración son Isomorfos.

Un diagrama de secuencia se puede transformar mecánicamente en


un diagrama de comunicación.

Un diagrama de comunicación se puede transformar


mecanicamente en un diagrama de secuencia.
Diagrama de Componentes
Uno de los principales elementos incorporados al diagrama de
componentes consiste en la definición de puertos a través de los
cuales cada componente de software entrega un conjunto de servicios
a través de interfaces proveídas y de manera declarativa se definen
los servicios requeridos por el componente software. Este mecanismo
permite, que un componente software de manera aislada cuente con
toda la especificación no solo interna sino además de la
especificación de los requerimientos para la integración del
componente software con otros componentes software.

El diagrama de componente muestra interfaces y dependencias entre


los componentes del software, los componentes de código de fuente,
código binario y ejecutables. Un módulo del software puede
representarse como un tipo de componente.
...continua, Diagrama de Componentes

Un componente es un módulo
de código, de modo que los
diagramas de componentes
son los análogos físicos a los
diagramas de clases.

Muestran la organización y
dependencias de un conjunto
de componentes. Cubren la
vista de implementación
estática de un sistema.
...continua, Diagrama de Componentes
actor

EntidadDeTarjetasDeCrédito

CargosDeTarjetasDeCrédito
componente BDEntradas

proveedor
compra
cargo estado

cliente
VendedorDeEntradas
Ventasdegrupo
InterfazDeGestor

Ventasindividuales
Ventasdesuscripción
Supervisor

InterfazDeQuiosco InterfazDeVendedor

Cliente Vendedor
Diagrama de Despliegue
El diagrama de despliegue propuesto por OMG UML 2.0 introduce una serie de
elementos significativamente diferentes y mejorados en relación. Sobre los
diferentes nodos de la infraestructura de red se colocan, a modo de artefactos, los
elementos componentes del software. Un artefacto puede ser elemento físico
simple (por ejemplo, un archivo de configuración del despliegue) o estar
constituido por otros artefactos (por ejemplo, un archivo WAR, un JAR o EAR).
...continua, Diagrama de Despliegue

Los diagramas de despliegue sirven para modelar la configuración


del hardware del sistema, mostrando qué nodos lo componen
...continua, Diagrama de Despliegue
Nivel de Descripción:
EntidadDeTarjetasDeCrédito Gestor

CargosDeTarjetasDeCrédito InterfazDeGestor
componente

VendedorDeEntradas BDEntradas

ServidorDeEntradas

1 multiplicidad
dependencia
de nodo
*
Quiosco TerminaDeVentas

InterfazDeCliente InterfazDeVendedor

nodo

Cliente Vendedor
...continua, Diagrama de Despliegue
Nivel de instancia:

Instancia de nodo
quiosco de la calle Mayor: Quiosco

Nombre de nodo
Tipo de nodo
enlace de comunicación

oficina central: ServidorDeEntradas

taquilla de la calle del Rio: oficina de televentas:


TerminalDeVentas TerminalDeVentas

quiosco del mercado: Quiosco


Diagrama de Estructura Compuesta
Se emplea para visualizar de manera gráfica las partes que definen la
estructura interna de un clasificador. Cuando se utiliza en el marco
de una clase, este diagrama permite elaborar un diagrama de clases
donde se muestran los diferentes atributos (partes) y las clases, a
partir de las cuales se definen los atributos, indicando principalmente
las asociaciones de agregación o de composición de la clase a la que
se le elabora el diagrama.

Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/CompositeStructureDiagram.html
Diagrama de General de Interacción
Se emplea fundamentalmente
para representar las
interacciones, a través de
diagramas o fragmentos de
diagramas de secuencias,
entre los actores y el sistema
como una gran caja negra, y
de diagramas de actividades
en los que aparecen dichos
fragmentos.

Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/InteractionOverviewDiagram.html
Diagrama de Tiempos

Empleados para mostrar las


interacciones donde el
propósito fundamental
consiste en razonar sobre la
ocurrencia de eventos en el
tiempo que provocan el
cambio de estados de un
elemento estructural (clase,
componente, etc.).

Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/TimingDiagram.html
Paquetes UML

 Los paquetes ofrecen un mecanismo general para la


organización de los modelos /subsistemas agrupando
elementos de modelado

 Se representan gráficamente como:

Nombre de
paquete
...continua, Paquetes UML

 Cada paquete corresponde a un submodelo (subsistema) del


modelo (sistema)

 Un paquete puede contener otros paquetes, sin límite de


anidamiento pero cada elemento pertenece a (está definido
en) sólo un paquete

 Una clase de un paquete puede aparecer en otro paquete por


la importación a través de una relación de dependencia entre
paquetes
¿Cómo utilizar UML?

Lo primero que se debe hacer para comenzar a desarrollar un


proyecto con UML, es seleccionar una metodología de desarrollo
que defina la naturaleza concreta del proceso a seguir.

El modelo a definir en base al proceso elegido, se divide en realidad


en varios tipos de modelo o vistas, cada una centrada en un aspecto o
punto de vista del sistema. En general, independientemente del
proceso que se emplee, se puede encontrar las siguientes vistas
Fuentes de consulta:

http://www.americasistemas.com.pe/noticiero_digital/omg.htm

Avatar SRLhttp://www.avatar.com.pe

OBJECT MANAGEMENT GROUP}2005 UML 2.0, The current Oficial


Version. http://www.uml.org/#UML2.0

IBM2005 Rational Software Modeler,


http://www3.software.ibm.com/ibmdl/pub/software/rational/web/datasheets/rsm.p
df

Departamento de Informática y Automática - Universidad de Salamanca - Diego


Samir Melo Solarte.

Tutorial UML (VII Congreso nacional de Informática de la Salud – Madrid 2004 -


Òscar Coltell, y Miguel Arregui.

OMG en Internet: http://www.omg.org


Links:

http://elvex.ugr.es/decsai/java/

http://docs.kde.org/stable/es/kdesdk/umbrello/index.html

http://www.visual-paradigm.com/VPGallery/diagrams/TimingDiagram.html

http://www.visual-paradigm.com/VPGallery/diagrams/

http://www.visual-paradigm.com/product/vpuml/tutorials/uml.jsp

Anda mungkin juga menyukai