Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccionuml
Introduccionuml
Tabla de contenidos
Bibliografa
[Booch 99] G.Booch., J. Rumbaugh, I. Jacobson The unified modeling language. User
guide. Addison-Wesley (1999). Versin castellana: El lenguaje Unificado de
Modelado.Addison-Wesley (1999).
[Eriksson 98] H-E Eriksson & M. Penker. UML Toolkit. Wiley, 1998.
[Fowler 97] M. Fowler with K. Scott, UML Distilled: Applying the Standard Object
Modeling Language, ISBN 0-201-32563-2, Addison-Wesely, 1997.
[Lee 97] R. C.Lee & W. M. Tepfenhart. UML and C++, Prentice-Hall, 1997
[Rumbaught 91] Rumbaught J., Blaha M., Premerlani W., Wddy F., Lorensen W.
Object-oriented modeling and design. Prentice-Hall (1991). Versin castellana:
Modelado y diseo orientado a objetos. Metodologa OMT. Prentice-Hall (1996)
Mtodo y metodologas
Yourdon y Constantine
Wirth
Dahl, Dijkstra y Hoare
Jackson
Warnier y Orr
Booch
OMT (Rumbaugh et al.)
Objectory (Jacobson et al.)
Schlaer-Mellor
Coad/Yourdon
Fusion (Coleman et al.)
6-1
Notacin
6-2
Modelos, metamodelos y
herramientas
Herramientas
Notacin
Metamodelo
6-3
Comparacin de metodologas
6-4
Desarrollo de software
Modelo en cascada
Requisitos
Anlisis
Integracin
Mantenimiento
5-1
Desarrollo de software
Modelo en espiral
Esfuerzo
Prueba
Diseo
Implementacin
Anlisis
Tiempo
5-2
Requisitos
Implementacin
5-3
Modelo lgico
Qu clases existen y como se relacionan estas clases?
Qu mecanismos se utilizan para regular la forma en
que los objetos colaboran?
Modelo fsico
Dnde debera declararse y construirse cada clase y
objeto?
A qu procesador debera asignarse un proceso, y para
un procesador dado, cmo deberan planificarse sus
mltiples procesos?
5-4
Diagrama de mdulos
Diagrama de procesos
Diagramas de clases
Diagramas de objetos
Por cada dimensin se define una serie de diagramas que denotan una vista de los modelos del sistema
Cuando el modelo es estable cada uno de los diagramas permanece semnticamente consistente con el
resto de los diagramas
6-5
1. Ttulo de la aplicacin
El ttulo de una aplicacin debe reflejar de la mejor forma posible sus fines y su funcionalidad
2. Documentos de anlisis
5. Escenarios y sub-escenarios
A cada caso de uso le corresponden varios escenarios donde se pueden mostrar los detalles
Cada escenario puede dividirse en sub-escenarios para bajar ms el nivel de detalle
Los escenarios se codifican siguiendo los valores de los casos de uso
6. Diagramas de Secuencia
7. Diccionario de datos
5-5
8. Diagramas de Colaboracin
9. Diagramas Estticos
10. Diagramas de Actividad
11. Diagramas de Estados
12. Diagramas de implementacin
En algunos casos en el diseo preliminar es necesario hacer algunos
diagramas del diseo detallado pero de forma sencilla
El diseo preliminar puede ser interesante para poder dar una idea de los
costes y de los tiempos de desarrollo de una aplicacin
Especificaciones del dominio
del problema a resolver
AOO
DOO
POO
5-6
Industrializacin
UML 1.1
Estandarizacin
Publicacin de
UML 1.0, Enero 97
realimentacin
pblica
OOPSLA 95
Otros mtodos
UML 1.0
Booch 91
Compaeros UML
Expertos
Unificacin
OMT - 2
OMT - 1
OOSE
Fragmentacin
5-7
Ejemplo de ttulo
5-8
5-9
5-10
5-11
Casos de uso
Un caso de uso es una tcnica de modelado utilizada para
describir lo que un nuevo sistema debe hacer o lo que un
sistema existente ya hace.
Un modelo de casos de uso se construye mediante un
proceso iterativo durante las reuniones entre los
desarrolladores del sistema y los clientes (y/o los usuarios
finales) conduciendo a una especificacin de requisitos
sobre la que todos coinciden.
Un caso de uso captura algunas de las acciones y
comportamientos del sistema y de los actores
El modelado con casos de uso fue desarrollado por Ivar
Jacobson [Jacobson 92]
Escenarios
A veces se utiliza escenario como sinnimo de caso de uso
Sin embargo en UML un escenario se refiere a los pasos
que se desarrollan dentro de un caso de uso
Fichas CRC
Son muy tiles para la enseanza del AOO, DOO y POO
No estn contempladas en UML
5-12
Actor 3
Caso de uso 4
Actor
Caso de uso 5
Actor 1
Interaccin
Caso de uso 6
Caso de uso 7
Actor 2
Sistema
5-13
La relacin << usa >> se utiliza cuando se tiene una parte del comportamiento
comn a ms de un caso de uso, y no se desea almacenar una copia en cada caso
de uso de la descripcin de este comportamiento.
Caso de uso
Actor
<<extiende >>
5-14
PEDIDOS
INFORMES
AVERIAS
RESERVAS
Responsable
de
mantenimiento
SUGERENCIAS
Responsable
de informtica
INFORME PARA
USUARIO
ACTIVIDAD
Usuario
5-15
2.INFORMES
Todos los informes que son necesarios para el funcionamiento de la
empresa: informe de pedido, de amortizaciones, de inactividad, de
composicin de equipos bsicos, de composicin de otros equipos, de
inventario software y manuales, de garantas y de disponibilidad. Estos
informes son realizados para el Responsable de Informtica.
3.AVERIAS
Engloba todas ls operaciones relativas a las averas tanto el aviso
que puede ser realizado por cualquier actor (Responsable de Informtica, de
Mantenimiento o Usuario) , como el parte de avera que es realizado por el
Responsable de Mantenimiento y entregado al Responsable de Informtica.
4.RESERVAS
Es tanto la peticin de reserva de un equipo con unas caractersticas
determinadas, que puede ser realizada por cualquier usuario al Responsable
de Informtica, como la concesin de una reserva que realiza este ltimo a
un usuario.
5.SUGERENCIAS
Es una lnea de comunicacin entre los diferente agentes que
interaccionan con el sistema.
7.ACTIVIDAD
Realizado por el Responsable de Informtica engloba todo lo
relativo al buen funcionamiento del material de la empresa: dar de baja
temporalmente un equipo cuando esta en reparacin, dar de baja
permanentemente un equipo cuando no tiene arreglo y actualizar tanto
software como los manuales.
5-16
Numeracin: 1.1.
Titulo: Hacer pedido
Precondiciones: Sugerencias de compra, caducidad de licencias, bajas permanente
hardware,
Quien Lo Comienza: Responsable de Informtica.
Quien Lo Finaliza: Responsable de Informtica.
Postcondiciones:
Descripcin: Son las operaciones de compra de todos los componentes (hardware,
software y manuales) que realiza el responsable de informtica. Adems da estos
equipos de alta y debe apoyarse en el sistema para gestionar los pedidos correctamente
para lo que debe anotar en el sistema que ha pedido un componente a un proveedor ( por
tanto que est pendiente de recibir).
Numeracin: 1.2.
Titulo: Anular pedido
Precondiciones: Cambio de precio, cambio de necesidades de la Empresa.
Quien Lo Comienza: Responsable de Informtica
Quien Lo Finaliza: Responsable de Informtica
Postcondiciones:
Descripcin: Esta operacin la realiza el responsable de informtica cuando toma la
decisin de anular un pedido que haba realizado con anterioridad.
Numeracin: 1.3
Titulo: Recibir pedido
Precondiciones: Haber realizado la peticin de un pedido.
Quien Lo Comienza: Responsable de Informtica
Quien Lo Finaliza: Responsable de Informtica
Postcondiciones:
Descripcin: El responsable de informtica confirma la recepcin de los pedidos.
5-17
Tiene una seccin para ir introduciendo los Casos de Uso (Use Case View)
Permite el manejo de actores, que se traducirn al sistema como clases
Cada sistema recibe un nombre (no aparece el rectngulo)
5-18
5-19
EJERCICIOS PROPUESTOS
5.1 Realizar el anlisis y el diseo preliminar del juego del ajedrez. Se puede jugar
dos personas entre s o una persona contra el ordenador. En este ltimo caso debe ser
posible seleccionar el nivel de dificultad entre una lista de varios niveles. El juego de
ajedrez permitir al jugador elegir el color de las piezas. La aplicacin deber permitir
detectar los movimientos ilegales de las piezas, tiempos utilizados cada jugador,
registro de jugadas y piezas perdidas. Tambin determinar si se alcanzan tablas, y
permitir abandonar la partida a un jugador.
5.2 Realizar el anlisis y diseo preliminar de una aplicacin que realiza estudios de
mercado para situar grandes superficies (hipermercados). Se supone que cada gran
superficie necesita un mnimo de poblacin que pueda acceder a dicho hipermercado
en menos de un tiempo dado. La red de carreteras se puede representar mediante un
grafo.
5.3 Realizar el anlisis y diseo preliminar para gestionar los fondos bibliogrficos y
de socios de una biblioteca.
5.4 Realizar el anlisis y diseo preliminar para gestionar un centro de enseanza
5-20
Diagramas de Secuencia
Se denominan
Diagramas de Secuencia en UML
Diagramas de Interaccin en Booch
Diagramas de seguimiento de sucesos en OMT
6-1
Diagramas de interaccin
Traza de la ejecucin de un escenario
Notacin de Booch
6-2
Diagrama de interaccin
Guiones y centros de control
Ejemplo en notacin de Booch
6-3
6-4
6-5
6-6
Diagramas de Colaboracin
Se denominan
Diagramas de Colaboracin en UML
Diagramas de objetos en Booch
6-7
Diagramas de objetos
Muestra la existencia de objetos y sus relaciones en la vista lgica de un sistema
Notacin de Booch
6-8
Diagrama de objetos
Ejemplo en notacin de Booch
6-9
Diagramas de objetos
Papeles (roles) y flujo de datos
Notacin de Booch
6-10
Diagramas de objetos
Visibilidad
Notacin de Booch
6-11
Diagramas de objetos
Objetos activos y sincronizacin
Notacin de Booch
6-12
Diagramas de objetos
Presupuestos de tiempo y especificaciones
Notacin de Booch
6-13
3 Comienza un bucle
6-14
Diagramas de colaboracin
UML
6-15
6-16
Diagramas Estticos
Se denominan
6-17
6-18
Clases
Booch
OMT
Sin detalle
Detalles a nivel de anlisis y diseo
Detalle a nivel de implementacin
+ publico
# protegido
- privado
UML
6-19
6-20
Estereotipos en UML
Un estereotipo es una forma de clasificar las clases a alto nivel
Los estereotipos se muestran con un texto entre doble ngulo << y >>, por
ejemplo: <<control>>
Los estereotipos tambin se pueden definir con un icono
Muchas extensiones del ncleo de UML se pueden describir mediante una
coleccin de estereotipos
Tambin se puede razonar que los tipos clase, asociacin, y generalizacin
son subtipos de estereotipos del metamodelo
Los estereotipos tambin se pueden colocar a grupos de la lista de
elementos de una clase
6-21
6-22
Interfaces en UML
Circulo unido por una lnea a una clase con las operaciones de
interfaz al lado del crculo
Rectngulo con la palabra reservada <<interface>> y la seccin de
operaciones
Una clase que usa las operaciones de una interfaz se une por
medio de una flecha de lnea discontinua a los crculos o al
rectngulo de la interfaz
Tambin se puede utilizar la relacin Realiza desde una clase a
una interfaz que soporta
6-23
1 (exactamente uno)
N (cero o ms)
1..N (uno o ms)
3..7 (rango especificado)
7 (nmero exacto)
Si no se indica se considera
sin especificar
6-24
Asociacin ternaria
6-25
6-26
Utilidades de clase
Booch
UML
6-27
Control de exportacin
(control de acceso)
UML
+
#
{implementation}
Acceso pblico
Acceso protegido
Acceso privado
Se utiliza en la implementacin
Booch
6-28
Propiedades
Califican la relacin entre clases, en C++ hay tres propiedades:
Booch
UML
<<static>>
<<virtual>>
<<friend>>
UML
Booch
<<friend>>
6-29
Contencin fsica
UML
Por referencia
Por valor
Booch
6-30
6-31
6-32
Anidamiento de clases
A
UML
B
Booch
6-33
Composicin en UML
Adems de la agregacin UML aade la composicin
Con la composicin las partes slo se puede pertenecer a un todo
Si se elimina el todo se eliminan las partes
Distintas formas de mostrar la composicin en UML
6-34
6-35
Restricciones
Booch
6-36
Booch
UML
Esto es un ejemplo de
nota en UML
6-37
Especificaciones
Nombre: identificador
Definicin: texto
Especificaciones de clases
Responsabilidades: texto
Atributos: lista de atributos
Operaciones: lista de operaciones
Especificaciones de operaciones
6-38
Un atributo de enlace es
una propiedad del enlace
de una asociacin
Los atributos del enlace son
una propiedad de la
asociacin y no de las
clases enlazadas
Tambin puede haber
atributos de enlace para
asociaciones ternaria
6-39
6-40
Se marcan con /
6-41
6-42
Restricciones en UML
6-43
Ejemplo OMT
Diagrama de clases de un sistema de ventanas
6-44
6-45
Herencia en UML
6-46
6-47
6-48
6-49
6-50
6-51
Diagramas de Actividad
Se utilizarn
Diagramas de Actividad en situaciones donde todos o la
mayora de los eventos representan la totalidad de acciones
generadas internamente (es decir procedimientos de control
de flujo)
Diagramas de Estados en situaciones donde ocurren
eventos asncronos
6-52
6-53
Decisiones
6-54
6-55
Iconos de control
A) Smbolos de envo y recepcin de seales
B) Eventos aplazados
6-56
Diagramas de Estados
Se denominan
Diagramas de Transicin de Estados en Booch
Diagramas de Estados en OMT
Diagramas de Estados en UML
6-57
Notacin de Booch
6-58
6-59
entrada Calentador::activar
salida Calentador::desactivar
6-60
En el ejemplo
6-61
6-62
Diagramas de estados
Ejemplos en OMT
Diagrama de estados simplificado de la clase ajedrez
6-63
Diagramas de estados
Concurrencia de agregacin (OMT)
Cada estado componente experimenta transiciones en paralelo a todos los
dems. Los diagramas de estados de los componentes son independientes,
excepto si hay expresiones de proteccin como la que se muestra en la clase
encendido que obliga a encender con [Transmisin en punto muerto]
6-64
6-65
6-66
6-67
Diagramas de Implementacin
6-68
c) Nodos
Son objetos fsicos en tiempo de
ejecucin que representan algn
recurso que se pueda procesar.
Los nodos incluyen perifricos
Pueden representarse como tipos e
instancias
b) Diagramas Desplegables
Son grafos de nodos conectados por
asociaciones de comunicacin
d) Componentes
Representa un elemento de
implementacin que se puede
redistribuir
6-69
Categoras de clases
Booch
6-70
Paquetes en UML
6-71
Diagramas de mdulos
Muestran la asignacin de clases y objetos a mdulos en la vista fsica de un sistema
Notacin Booch
6-72
Diagramas de mdulos
Ejemplo en la notacin de Booch
6-73
6-74
Diagramas de mdulos
Subsistemas
Ejemplo en la notacin de Booch
6-75
Diagramas de procesos
Muestran la asociacin de procesos a procesadores en la vista fsica de un sistema
Notacin Booch
6-76
Diagramas de procesos
Ejemplo en la notacin de Booch
6-77
6-78
6-79
6-80
Criterios de seleccin de
herramientas de AyDOO
Ejemplo: No debe permitir que una clase padre herede de una clase hija
Completa
Bien diseada, cmoda de utilizar y de usar
Personalizable (se genera en formatos estndar que pueden ser
manejados por herramientas de maquetacin estndar)
6-81