Professional Documents
Culture Documents
Usos de UML
El lenguaje unificado de modelado UML se usa para:
Mostrar los lmites de un sistema y sus funcionalidades principales, utilizando casos de uso y actores Ilustrar la realizaciones de casos de uso, utilizando diagramas de interaccin Representar una estructrua esttica del sistema, utilizando diagramas de clases
Tipos de diagrama
UML ofrece 9 tipos de diagramas
Diagramas Diagramas Diagramas Diagramas Diagramas de de de de de clases casos de uso colaboracin actividades componentes Diagramas Diagramas Diagramas Diagramas de de de de objetos secuencia estados despliegue
Actores
Un actor es alguien o algo que tiene que interactuar con el sistema que se est desarrollando
Casos de uso
Un caso de uso es un patrn de comportamiento que muestra el sistema
Cada caso de uso es una secuencia de transacciones relacionadas llevadas a cabo por un actor y el sistema a modo de dilogo.
Editar horario
Pedir listas
Detalla lo que el sistema debe proporcionar al actor cuando se ejecuta el caso de uso Contenidos tpicos
Cmo empiea y acaba el caso de uso El flujo normal de eventos Flujos alternativos de eventos Flujos excepcionales de eventos
Profesor
Diagrama de secuencia
Un diagrama de secuencia muestra las interacciones entre objetos en orden cronolgico
: Estudiante
impreso matrcula
gestor matriculas
matematica 101
1: rellenar datos 2: enviar 3: aadir asignatura(juan, matematica 101) 4: quedan plazas? 5: quedan plazas? 6: aadir(juan) 7: aadir (juan)
Diagrama de colaboracin
Un diagrama de colaboracin muestra las interacciones entre objetos organizadas en torno a los objetos y sus relaciones entre ellos.
1: rellena info asignatura 2: procesa impreso asignatura : Impreso asignatura
: Administrador
3: aade asignatura
unaAsignatura : Asignatura
Diagramas de clases
Capturan la vista de diseo esttica de un sistema desde el punto de vista de las clases Un diagrama de clases muestra la existencia de clases y las relaciones entre ellas en la vista lgica del sistema Elementos de UML de los diagramas de clases
Clases, su estructura y su comportamiento Relaciones de asociacin, agregacin, dependencia, y herencia Indicadores de multiplicidad y navegacin Nombres del papel que juega cada clase en una relacin
Clases
Una clase es una coleccin de objetos con estructura comn, comportamiento comn, relaciones comunes, y semntica comn Se encuentran las clases a base de examinar los objetos en los diagramas de secuencia y colaboracin Una clase se dibuja como un rectngulo con tres compartimentos Se debe poner nombre a las clases usando el vocabulario del dominio
Se debe intentar definir maneras pre-establecidas de poner nombres Por ejemplo, todas las clases son nombres en singular que empiezan por mayscula
Copyright 1997 by Rational Software Corporation
Nombre
Ve n ta n a ta m a o : Are a vis ib le : Bo o le a n o
Pers ona
Representacin en detalle
Gran nivel de detalle
Atributos mbitos Visibilidad Abstraccin Presentaciones
V entana + tam ao : A rea = (100,100) # vis ible : B ooleano + tam ao-defec to : Rec tngulo # tam ao-m x im o : Rec tngulo - Xptr : V entana + m os trar() + oc ultar() + c rear()
Clases
ImpresoMatricula GestorMatriculas Asignatura Estudiante AlgoritmoHorarios
Profesor OfertaAsignatura
Operaciones
El comportamiento de una clase se representa mediante operaciones Las operaciones se encuentran examinado los diagramas de interaccin
impreso matricula gestor matriculas
Gestor Matriculas
aadir asig(Estud,Asigna)
3: aadir asignatura(juan, matem. 101)
Atributos
La estructura de una clase se representa mediante sus atributos Los atributos se encuentran examinando las definiciones de las clases, los requisitos del problema, y aplicando conocimiento del dominio
Clases
ImpresoMatricula GestorMatriculas
aadirEstudiante(Asig, InfoEstud)
AlgoritmoHorarios
Asignatura
nombre numero de creditos
Estudiante
carrera
abrir() aadirEst(InfoEstud)
Profesor
categoria
OfertaAsignatura
lugar abrir() aadirEst(InfoEstud)
Relaciones
Las relaciones constituyen el camino para que se comuniquen los objetos Se examinan los diagramas de secuencia y colaboracin para determinar qu relaciones entre objetos tienen que existir para que pueda darse el comportamiento deseado - si dos objetos necesitan comunicarse, deber haber una relacin entre ellos Hay tres tipos de relacin:
Asociacin Agregacin Dependencia
Relaciones
Una asociacin es una conexin bi-direccional entre clases
Una asociacin se representa como una lna que conecta las clases relacionadas
Una agregacin es una relacin ms fuerte: entre el todo y las partes que lo componen
Una agregacin se representa como una lnea que conecta las clases relacionadas con un rombo junto a la clase que representa el todo
Una relacin de dependencia es una relacin ms dbil: la qu hay entre un cliente y un proveedor cuando el cliente no tiene conocimiento semntico del proveedor
Una dependencia se representa como una lnea punteada que apunta del cliente al proveedor
Copyright 1997 by Rational Software Corporation
Asociacin
Direccin
< E m pleo Com paa E mp leador
Nombre
P ers ona E m pleado
Rol
Direccin
Multiplicidad y navegacin
La multiplicidad define cmo varios objetos participan en las relaciones
La multiplicidad de una relacin es el nmero de ejemplares de una clase relacionados con UNA instancia de otra clase Para cada asociacin y agregacin, hay dos decisioens de multiplicidad que tomar: una para cada extremo de la relacin
Aunque las asociaciones y las agregaciones son bi-direccionales por defecto, a veces es deseable restringir la navegabilidad de la relacin a una sola direccin Si la navegabilidad est restringida, se aade una punta de flecha para indicar la direccin de navegacin
Multiplicidad
0 ms
1 ms
Com paa
< E m pleo
1..* E m pleado
P ers ona
E m pleador
Ejemplos de multiplicidades
Ejemplos de multiplicidades
0..1 1 0..* * 1..* 1..6 1..3,7..10,15,19..*
Agregacin
Agregacin
Tipo especial de asociacin Connotacin semntica de posesin, contencin o composicin
Po lg o n o
3 ..*
Pu n to
Smbolo de agregacin
Composicin
Composicin
Agregacin con connotacin de posesin Coincidencia en tiempo de vida entre el todo y las partes
V entana
Smbolo de composicin
Cuerpo 1
Ttulo
B arra
E nc abez ado
P anel
Representacin de la composicin
V entana
Dependencia
Dependencia
Refleja relacin semntica entre dos clases No representa asociacin entre ejemplares Refleja que el cambio de una clase puede afectar a la otra
< < am iga> >
ClaseB
Clas eA
Dependencia
Clas eC
Multiplicidad y navegacin
ImpresoMatricula 0..* GestorMatriculas 1
aadirEstudiante(Asig, InfoEstud)
AlgoritmoHorarios
1 0..* Estudiante
carrera
Asignatura
nombre numero de creditos abrir() aadirEst(InfoEstud)
1 3..10 Profesor
categoria
4 1 0..4
1..* OfertaAsignatura
lugar abrir() aadirEst(InfoEstud)
Herencia
Herencia es la relacin entre una superclase y sus subclases Hay dos maneras de encontrar la herencia:
Generalizacin Especializacin
Los atributos, operaciones, y/o relaciones comunes deben representarse al nivel aplicable ms alto de la jerarqua
Representacin de la herencia
Form a
P olgono
E lips e
S pline
Form a
P olgono
E lips e
S pline
Encontrar relaciones
Se encuentran relaciones examinando los diagramas de interaccin
Si dos objetos "hablan" debe haber un camino para la comunicacin
Gestor Matriculas
Gestor Matriculas
Relaciones
ImpresoMatricula GestorMatriculas
aadirEstudiante(Asig, InfoEstud)
AlgoritmoHorarios
Asignatura
nombre numero de creditos
Estudiante
carrera
abrir() aadirEst(InfoEstud)
Profesor
categoria
OfertaAsignatura
lugar abrir() aadirEst(InfoEstud)
Herencia
ImpresoMatricula GestorMatriculas
aadirEstudiante(Asig, InfoEstud)
AlgoritmoHorarios
Asignatura
nombre numero de creditos
UsuarioSistema
nombre
Estudiante
carrera
abrir() aadirEst(InfoEstud)
Profesor
categoria
OfertaAsignatura
lugar abrir() aadirEst(InfoEstud)
Diagramas de objetos
Capturan la vista de diseo esttica de un sistema desde el punto de vista de los objetos En los diagramas de objetos
No aparece la herencia No aparecen las dependencias
Representacin de un objeto
Tringulo: Polgono centro = (0,0) vrtices = ((0,0),(4,0),(4,3)) colorLnea = negro colorFondo = blanco
Nombre y tipo
Atributos y valores
Variaciones posibles
Tringulo: Polgono
Objeto con nombre y tipo Objeto con nombre y sin tipo Objeto annimo con tipo
Tringulo
: Polgono
Estado de un Objeto
Un diagrama de transicin de estados muestra
La evolucin de una clase dada Los eventos que producen una transicin de un estado a otro Las acciones que resultan de un cambio de estado
Los diagramas de transicin de estado se crean para objetos que tengan un comportamiento dinmico significativo
Open
entry: Register student exit: Increment count
[ count = 10 ]
Cancel
Closed
do: Finalize course
Diagrama de componentes
Billing.exe Billing System Register.exe
People.dll Course.dll
Course User
Professor
Diagrama de despliegue
Matricula
Base de datos
Biblioteca
Edificio Principal
Residencia
Ampliando UML
Se utilizan estereotipos para ampliar la notacin de UML Se usan los esterereotipos para clasificar y ampliar asociaciones, relaciones de herancia, clases y componentes Ejemplos:
Estereotipos de clase: interfaz, control, entidad, excepcion Estereotipos de componente: subsistema