Академический Документы
Профессиональный Документы
Культура Документы
Clase 6
UML
Webs
www.omg.org/uml
Ejemplos Modelado
Construccin de una
Proceso bien
definido
cucha para un perro
Herramientas ms
Puede hacerlo una sofisticadas
sola persona
Requiere:
Construccin de un
Modelado mnimo rascacielos
Proceso simple Contexto de
Herramientas simples desarrollo
Construccin de una Determinar
casa configuracin del
Construida proceso
eficientemente y en Recursos necesarios
un tiempo razonable Herramientas ms
de un equipo sofisticadas an.
Notacin
Herramientas Proceso
Orden
Item
envo
Proceso de Negocios
Sistema Computacional
UNPSJB - 200 Ingeniera de Software 6
Qu es UML? www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Rumbaugh
Booch Jacobson
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor UML
Object life cycles
Harel
State Charts
Gamma et. al.
Frameworks, patterns,
notes
Embly Wirfs-Brock
Singleton classes Responsabilities
Fusion
Operation descriptions,
message numbering
UNPSJB - 200 Ingeniera de Software 11
Aspectos Novedosos www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Diagramas de Comportamiento
Diagrama de Estados
Diagrama de Actividad
Diagramas de Interaccin
Diagrama de Secuencia
Diagrama de Colaboracin
Diagramas de implementacin
Diagrama de Componentes
Diagrama de Despliegue
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboracin Modelo Componentes
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribucin
Estados Diagramas de
Actividad
UNPSJB - 200 Ingeniera de Software 18
Organizacin de Modelos www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Vista de
Vista Lgica Realizacin
Vista de los
Casos de Uso
Vista de Vista de
Procesos Distribucin
Nombre de
paquete
trabaja, o de cmo se
desea que trabaje
No pertenece
estrictamente al
enfoque orientado a Administrativo Preparar Catlogo
Sistema
Inventario
objeto, es una tcnica
para captura de
requisitos Tipos de Venta
[Tarjeta Caducada]
<<extend>>
Venta en Rebajas
Vendedor
<<include>>
Reintegro Cuenta Corriente
<<include>>
prestar(video, socio)
verificar situacin socio
registrar prstamo
entregar recibo
:Socio
:Video
5: entregar recibo
: Encargado 4: registrar prstamo
:Prstamo
(Clase
(Clase yy Visibilidad)
Visibilidad) Asociacin
Asociacin
Alumno
dirige director
DNI : char[10] Departamento Profesor
nmero_exp : int
nombre : char[50]
0..1 1
alta()
poner_nota(asignatura : char *, ao : int, nota : float)
matricular(cursos : asignatura, ao : int)
listar_expediente()
empleador trabajadores
Empresa Empleado
* 1..*
Cargo
superior
nombre
sueldo 0..1
subordinado 1..*
Trabajador
{ disjunta, completa }
1..4 1..2 1
1 n
n
1 n 1 n
Avin Vuelo Reserva
n
{ disjunta, completa }
{ disjunta, completa }
alta baja
nmero_prstamos = 0
sin prstamos
Socio
nmero : int
nombre : char[50]
nmero_prestamos : int = 0
prestar devolver[ nmero_prstamos = 1 ]
alta()
baja()
prestar(cdigo_libro : int, fecha : date)
devolver(cdigo_libro : int, fecha : date)
nmero_prstamos > 0
con prstamos
prestar
Encender mquina
/ cafetera.On
Caf en preparacin
indicador de fin
Servir caf
Beber
Solicitar pasaje
Verificar
existencia vuelo
Informar alternativas
y precios
Seleccionar vuelo
Confirmar
Pagar pasaje plaza reservada
Emitir billete
Control y Anlisis
Interfaz de Terminal
Comment
Comment
Acceso a BD Comment
Comment
Rutinas de Coneccion
Comment
Terminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion
Comment Comment
Punto de Venta
Rutinas de Coneccion
Comment
Comment Comment
Paradigma OO
Diagramas
Conceptos comunes
Proximidad de los conceptos de modelado durante
de modelado respecto de las el anlisis, diseo e
entidades del mundo real implementacin
Mejora captura y validacin Facilita la transicin
de requisitos entre distintas fases
Acerca el espacio del
problema y el espacio de la
Favorece el desarrollo
solucin iterativo del sistema
Modelado integrado de Disipa la barrera
propiedades estticas y entre el qu y el
dinmicas del mbito del cmo
problema Sin embargo, existen
Facilita construccin, problemas ...
mantenimiento y reutilizacin
DFDs DEs
Enfoque Entornos de
Estructurado E-R Programacin
Modelo Visual
Diagramas de Casos de Uso Relacional
Diagramas de Actividad
Diagramas de Secuencia
Modelo
Diagramas de Colaboracin d
Relacional !!
Bases de Datos
(Objeto-)
Enfoque OO Diagrama de Clases Relacionales
Diagrama de Estados
Diagramas de Actividad
particionan el conjunto de
necesidades atendiendo a
la categora de usuarios
que participan en el mismo Caso de Uso B
Actor B
Estn basado en el
lenguaje natural, es decir,
es accesible por los
usuarios
Actores:
Principales: personas que usan el sistema
Secundarios: personas que mantienen o administran
el sistema
Material externo: dispositivos materiales
imprescindibles que forman parte del mbito de la
aplicacin y deben ser utilizados
Otros sistemas: sistemas con los que el sistema
interacta
La misma persona fsica puede interpretar varios
papeles como actores distintos
El nombre del actor describe el papel desempeado
Ejemplo:
Identificacin
<<include>>
Transferencia
Cliente
<<extend>>
Transferencia en Internet
Ejemplo:
El Diagrama de Secuencia es ms
adecuados para observar la perspectiva
cronolgica de las interacciones
El Diagrama de Colaboracin ofrece una
mejor visin espacial mostrando los
enlaces de comunicacin entre objetos
El D. de Colaboracin puede obtenerse
automticamente a partir del
correspondiente D. de Secuencia (o
viceversa)
Un mensaje Un mensaje se
desencadena una
accin en el objeto
enva de manera
destinatario condicionada:
Un mensaje se enva
si han sido enviados
los mensajes de una [x>y] 1: Mensaje
lista (sincronizacin): B
A
arrancar
acelerar
UNPSJB - 200 Ingeniera de Software frenar 71
Clases: Notacin Grfica www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Otros ejemplos:
lista
pila
primero
ultimo apilar
aadir desapilar
quitar cardinalidad
cardinalidad
Ejemplo:
Reglas de visibilidad
+ "Operacin pblica"
# "Operacin protegida"
- "Operacin privada"
Universidad Estudiante
Una asociacin
Ejemplo:
marido
casado-con 0.. 1
0.. 1 * Compaa
Persona *
trabaja-para
mujer
nombre emplea-a
jefe nombre
0.. 1 s. s. direccin
Administra
* empleado
Especificacin de multiplicidad
(mnima...mxima)
1 Uno y slo uno
0..1 Cero o uno
M..N Desde M hasta N (enteros naturales)
* Cero o muchos
0..* Cero o muchos
1..* Uno o muchos (al menos uno)
La multiplicidad mnima >= 1 establece
una restriccin de existencia
* 0..1
Aerolnea nro_billete Viajero
Tablero 1 1
fila
Cuadro
Ajedrez columna
Multiplicidad Mxima
Multiplicidad Mnima (mnc, mxc) 1 univaluado
0 nulos permitidos
> 1 multivaluado
> 0 nulos no
permitidos Objeto
UNPSJB - 200 Componente
Ingeniera de Software 82
... Agregacin: Caracterizacin
www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
1 contiene 3.. *
Agregacin Polgono Punto
{ordenado}
* * Persona
Cuenta Asociacin excluyente
or
*
Empresa
1
* est-autorizado-en *
Usuario Estacin
Autorizacin
prioridad
Clase de asociacin privilegios
UNPSJB - 200 camb_privil
Ingeniera de Software 86
Clases y Objetos www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
La Generalizacin y
Nombres usados: clase Especializacin son
padre - clase hija. Otros equivalentes en
nombres: superclase - cuanto al resultado: la
subclase, clase base - jerarqua y herencia
clase derivada establecidas
Las subclases heredan Generalizacin y
propiedades de sus clases Especializacin no son
padre, es decir, atributos operaciones reflexivas
y operaciones (y ni simtricas pero s
asociaciones) de la clase transitivas
padre estn disponibles
en sus clases hijas
Vehculo
Coche
Restricciones predefinidas
Funcionando Estropeadoen UML:
disjunta - no disjunta
total (completa) - parcial (incompleta)
Particionamiento del
La nocin de clase est espacio de objetos =>
prxima a la de conjunto Clasificacin Esttica
Dada una clase, podemos Particionamiento del
ver el conjunto relativo a espacio de estados de
las instancias que posee o los objetos =>
bien relativo a las Clasificacin Dinmica
propiedades de la clase En ambos casos se
Generalizacin y recomienda considerar
especializacin expresan generalizaciones/espe
relaciones de inclusin cializaciones disjuntas
entre conjuntos
Un ejemplo de Clasificacin
Esttica:
Vehculo Areo
{ esttica }
Avin Helicptero
Un ejemplo de Clasificacin
Dinmica:
Coche
{ dinmica }
Funcionando Estropeado
int(A) int(B)
ext(B) ext(A)
B
Clasificacin Esttica
C0
ext(C0) = ext(Ci)
{ static } completa
ext(Ci) ext(Cj) =
C1 Cn
disjunta
Clasificacin Dinmica
C0
ext(C0) = ext(Ci) completa
extt(Ci) extt(Cj) = disjunta en t
{ dinmica }
extt1(Ci) extt2(Cj)
posiblemente
C1 Cn no disjunta en
diferentes
instantes
uso
Vehculo Areo
estructura
Avin Helicptero
UNPSJB - 200 Ingeniera de Software 98
www.dsic.upv.es/~uml
Clasificacin Mltiple (herencia mltiple) www.dsic.upv.es/~uml
cubertura comida
Animal
Con Plumas cobertura
comida
cobertura Carnvoro
Con Escamas
Conejo
?
Len Oso Tigre
Animal Dormir()
{
dormir()
}
Estados y Transiciones
A B
perder empleo
jubilarse
jubilarse
jubilado
estado A
entry: accin por entrar
exit: accin por salir
do: accin mientras en estado
on evento: accin
Ejemplo:
e1
A B
e2
e2
Quedara como:
e1
Aa b
B
e2
C
UNPSJB - 200 Ingeniera de Software 116
Generalizacin de Estados
www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
e1
Aa Bb
e2
e0
e1
Aa b
B
e2 C
e0
La agregacin de estados es la
composicin de un estado a partir
de varios estados independientes
La composicin es concurrente por
lo que el objeto estar en alguno de
los estados de cada uno de los
subestados concurrentes
Ejemplo:
e1
e1
Ejemplo:
Ejemplo:
A
d2
B
in
D x y
out
d1
C
H*
UNPSJB - 200 Ingeniera de Software 123
Historia www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Ejemplo:
Espera
La destruccin de un objeto es
efectiva cuando el flujo de control
del autmata alcanza un estado
final no anidado
La llegada a un estado final anidado
implica la subida al superestado
asociado, no el fin del objeto
Ejemplo:
crash
En vuelo
despegar aterrizar
Crear(matricula)
En tierra
Ejemplo: A
/ Abrir ranura
Depsito efectuado
B
UNPSJB - 200 Ingeniera de Software 128
Diagrama de Actividad www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Ejemplo:
Nodo
<<RDSI>>
<<RDSI>>
Podemos distinguir Control
tipos de nodos y
connexiones por
estereotipado
UNPSJB - 200 Ingeniera de Software 139
Proceso de Desarrollo de SW
basado en UML
Enfoque Ericsson
UNPSJB - 200 Ingeniera de Software 142
www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Dos dimensiones
tiempo
Workflows (Disciplinas)
Workflows Primarios
Business Modeling (Modado del Negocio)
Requirements (Requisitos)
Analysis & Design (Anlisis y Diseo)
Implementation (Implementacin)
Test (Pruebas)
Deployment (Despliegue)
Workflows de Apoyo
Environment (Entorno)
Project Management (Gestin del Proyecto)
Workers Artefactos
UNPSJB - 200 Ingeniera de Software Actividades 146
... Elementos en RUP www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Artefactos Conjuntos de
Resultado parcial o Artefactos
final que es producido Business Modeling Set
y usado durante el Requirements Set
proyecto. Son las Analysis & Design Set
entradas y salidas de Implementation Set
las actividades Test Set
Un artefacto puede Deployment Set
ser un documento, un Project Management Set
modelo o un elemento Configuration & Change
de modelo Management Set
Environment Set
Verificar que se
Pruebas satisfacen los
casos de uso
trace trace
trace
trace
Pruebas
Unitarias
Pruebas Funcionales X
Caso de Prueba
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
UNPSJB - 200 Ingeniera de Software 153
..Proceso dirigido por los casos de Uso
www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Anlisis
Diseo
Codific.
n veces Pruebas e
Integracin
UNPSJB - 200 Ingeniera de Software 156
www.dsic.upv.es/~uml
... Proceso Iterativo e Incremental www.dsic.upv.es/~uml
Enfoque
Cascada
Enfoque
Iterativo e
Incremental
Proceso Centrado
Arquitectura en la
de un sistema Arquitectura
es la organizacin o
estructura de sus partes ms relevantes
Un arquitectura ejecutable es una implementacin
parcial del sistema, construida para demostrar
algunas funciones y propiedades
RUP establece refinamientos sucesivos de una
arquitectura ejecutable, construida como un prototipo
evolutivo
Architecture
UNPSJB - 200 Ingeniera de Software 160
Fases del Ciclo de Vida www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Construccin
El producto se desarrolla a travs de iteraciones
donde cada iteracin involucra tareas de anlisis,
diseo e implementacin
Las fases de estudio y anlisis slo dieron una
arquitectura bsica que es aqu refinada de manera
incremental conforme se construye (se permiten
cambios en la estructura)
Gran parte del trabajo es programacin y pruebas
Se documenta tanto el sistema construido como el
manejo del mismo
Esta fase proporciona un producto construido junto
con la documentacin
Transicin
Se libera el producto y se entrega al usuario
para un uso real
Se incluyen tareas de marketing, empaquetado
atractivo, instalacin, configuracin,
entrenamiento, soporte, mantenimiento, etc.
Los manuales de usuario se completan y
refinan con la informacin anterior
Estas tareas se realizan tambin en iteraciones
15%
Requisitos
Una iteracin en la
fase de elaboracin
Anlisis
10%
Diseo 15%
Implementacin
30%
Pruebas 15%
P re lim ina ry ite r. ite r. ite r. ite r. ite r. ite r. ite r.
Ite ra tion (s) #1 #2 #n # n+ 1 # n+2 #m #m +1
Ingeniera de10%
UNPSJB - 200 5% mantenimiento gestin cambios
Software 165
...Esfuerzo respecto de las Fases
Inception Elaboration Construction Transition
Requisitos
Una iteracin en la
fase de elaboracin
Anlisis
Diseo
Implementacin
Pruebas
Esfuerzo:
UNPSJB - 200 5%Ingeniera
20% de 65%
Software 10% 166
Duracin: 10% 30% 50% 10%
UML - ANEXO
Otro
Objeto
Banco de Valencia
Felipe
Cuenta Corriente 114
Azul
979 Kg
70 CV
...
Ejemplo de interaccin:
Comunicacin
Categoras de objetos:
Activos - Pasivos
Cliente Servidores, Agentes
Objeto Activo: posee un hilo de ejecucin
(thread) propio y puede iniciar una actividad
Objeto Pasivo: no puede iniciar una actividad
pero puede enviar estmulos una vez que se le
solicita un servicio
Cliente es el objeto que solicita un servicio.
Servidor es el objeto que provee el servicio
solicitado
Servidor 2
Un cliente
Objeto 1
: Mensaje A
Objeto 2
: Mensaje C : Mensaje E
Objeto 3 Objeto 4
: Mensaje D
UNPSJB - 200 Ingeniera de Software 184
Mensaje y Estmulo www.dsic.upv.es/~uml
www.dsic.upv.es/~uml