Академический Документы
Профессиональный Документы
Культура Документы
I)
Tema 8:
Anlisis Orientado a Objetos con UML
Presentacin de UML
UML (Unified Modeling Language)
Es un lenguaje estndar para construir planos software
Modelo Conceptual de UML
Tres elementos principales:
Bloques
Piezas bsicas utilizadas en el modelado.
Reglas
Dictan c mo combinar los bloques.
Mecanismos
Aportan patrones que permiten construir modelos ms
consistentes.
Presentacin de UML
Modelo Conceptual de UML
Bloques de construccin
Reglas
Elementos
Diagramas
Nombre
Estructurales
Clases
Comportamiento
Objetos
Agrupacin
Casos de Uso
Anotacin
Secuencia
Afectan
Alcance
Visibilidad
Integridad
Afectan
Colaboracin
Estados
Actividad
Colaboracin
Componentes
Despliegue
Mecanismos
Relaciones
Especificaciones
Dependencia
Asociacin
Generalizacin
Actan
Adornos
Divisiones comunes
Extensibilidad
Presentacin de UML
Bloques
Tres tipos bsicos:
? Elementos.- son las abstracciones de primer nivel.
? Relaciones.- unen a los elementos entre s.
? Diagramas.- son agrupaciones de elementos que
reflejan una vista del sistema .
Presentacin de UML
Elementos
Dependiendo del uso:
? elementos estructurales.- describen los elementos
bsicos de la visin esttica del sistema.
? elementos de comportamiento.- describen los
elementos bsicos de la visin dinmica del sistema.
? elementos de agrupacin.- describe los elementos de
agrupacin o empaquetamiento de algunos elementos
fuertemente relacionados.
? elementos de anotacin.- describen los elementos que
se utilizan para incluir notas descriptivas dentro de los
modelos.
Presentacin de UML
Elementos estructurales
Clase
Interfaz
Clase Activa
Caso de Uso
Componente
Colaboracin
Nodo
Presentacin de UML
Elementos de comportamiento
Interaccin (mensaje)
Dibujar
Esperando
Elementos de
agrupamiento
Paquete
Elementos de
anotacin
Notas
Presentacin de UML
Relaciones
En funcin del tipo de interaccin existente entre los elementos :
? relaciones de dependencia .- indica que un cambio en
la especificacin de un elemento puede afectar a otro
que lo utiliza.
? relaciones de generalizacin.- expresa una relacin
entre un elemento general y una ocurrencia ms
especfica de ese elemento (relacin "es un tipo de")
? relaciones de asociacin.- especifica que los objetos
de un elemento estn conectados con los objetos de otro.
? relaciones de realizacin.- define una relacin
semntica entre clasificadores, en donde un clasificador
especifica un contrato que otro garantiza que cumplir.
Dependencia
Generalizacin
Asociacin
0..1
patrn
*
empleado
Realizacin
Presentacin de UML
Diagramas
Representan grficamente una vista de una parte del
sistema, aportando diferentes perspectivas y diferentes
niveles de detalle que facilitan la comprensin del sistema
Diagrama de Casos de Uso
Diagrama de Clases
Motor
Piloto
1..4
Diagrama de Secuencia
Vendedor de billetes
1
1.2
: Socio
: Libro
: Encargado
: Ficha socio
: Ficha libro
: Prstamo
Coger libro
Venta Normal
1
Avin
*
1
Vuelo
*
1
Reserva
Solicitar prstamo
{ disjunta, completa }
Venta en Rebajas
Cliente
Vendedor
Avinmilitar
1
Lnea area
Avin comercial
{ disjunta, completa }
Introducir prstamo
Autorizarprstamo
Avin de carga
Avin de pasajeros
Venta en Oferta
Diagrama de Colaboracin
1:Cogerlibro
Diagrama de Estados
Diagrama de Actividad
: Libro
Prestar
2: Solicitar prstamo
Con prstamos
: Ficha s
ocio
Prestar
Devolver[ Nmero prstamos = 1 ]
6: Situacin libro ok
:Encargado
: Prsta
mo
7: Introducir prstamo
Sinprstamos
Alta
Nmero prstamos = 0
Baja
: Ficha li
bro
Diagrama de Objetos
P1:
Diagrama de Componentes
Diagrama de Distribucin
Control y Anlisis
Profesor
Interfaz de Terminal
DNI : 59.455.111
N Contrato:1000
Comment
S e r v i d o r
A c c e s o
Comment
C e n t r Ca ol n t r o l
a
B D
d e
Anlisis
C o n e c c i o n
Asignatura
A2:
Asignatura
-1 - 0
3
Cdigo:4
Curso:
- 0
5
Gestin de Cuentas
Cuarto
Comment
Rutinas de Coneccion
Comment
T e r m i n a l
R u t i n a s
Acceso a BD
Comment
P u n t o
d e
G e s t i n
T1:
C o m m e n t
C o m m e n t
R u t i n a s
A1:
Cdigo:T1
Curso: Primero
Nombre : Introduccin a la Informtica
Titulacin
T2:
V e n t a
R u t i n a s
d e
d e
d e
d e
C o
I n st u
e lr t f a a z
C o n e c c i o n
d e
T e r m i n a l
C o n e c c i o n
C u e n t a s
I n t e r f a z
d e
T e r m i n a l
Titulacin
C o m m e n t
Cdigo:
T1
Cdigo:
T1
Presentacin de UML
Diagramas
Diagrama de casos de uso.
Venta en Rebajas
Cliente
Vendedor
Venta en Oferta
Diagrama de clases.
Muestra las clases, interfaces y
colaboraciones, as como sus
relaciones. Cubren la vista de diseo
esttica de un sistema.
Diagrama de Clases
Motor
1..2
1
Avin
Vendedor de billetes
Piloto
1..4
*
1
Vuelo
*
1
Reserva
{ disjunta, completa }
1
Avin militar
Avin comercial
Lnea area
{ disjunta, completa }
Avin de carga
Avin de pasajeros
Presentacin de UML
Diagramas
Diagrama de actividad.
Diagrama de Actividad
Diagrama de estados.
Muestra una mquina de estados que
consta de estados, transiciones,
eventos y actividades.
Diagrama de Estados
Prestar
Devolver[ Nmero prstamos = 1 ]
Con prstamos
Nmero prstamos > 1
Prestar
Devolver[ Nmero prstamos = 1 ]
Sin prstamos
Alta
Nmero prstamos = 0
Baja
Presentacin de UML
Diagramas
Diagrama de secuencia.
Diagrama de Secuencia
Es un tipo de diagrama de
interaccin que resalta la
ordenacin temporal de los
mensajes
: Libro
: Socio
: Ficha socio
: Ficha libro
: Prstamo
: Encargado
Cogerlibro
Solicitarprstamo
Verificar situacin socio
Situacin socio ok
Verificar situacin libro
Situacin libro ok
Introducirprstamo
Autorizar prstamo
Diagrama de colaboracin.
Diagrama de Colaboracin
1: Coger libro
:Socio
: Libro
2: Solicitar prstamo
: Ficha s
ocio
3: Verificar situacin socio
8: Autorizar prstamo
4: Situacin socio ok
6: Situacin libro ok
: Encargado
7: Introducir prstamo
: Prsta
mo
Presentacin de UML
Diagramas
Diagrama de objetos.
Diagrama de Objetos
P1: Profesor
DNI : 59.455.111
N Contrato:1000
Nombre : Jos Prez Lpez
A1: Asignatura
A2: Asignatura
Cdigo:T1- 1- 03
Curso: Primero
Nombre : Introduccin a la Informtica
Cdigo:4
- 05
Curso: Cuarto
Nombre : Ingeniera del Software I
T1: Titulacin
T2: Titulacin
Cdigo: T1
Nombre : I. Tcnica Informtica Sistemas
Cdigo: T1
Nombre : Ing. Superior en Informtica
Diagrama de componentes.
Muestra la organizacin y
dependencias de un conjunto de
componentes. Un componente se
corresponde con clases, interfaces y
colaboraciones.
Diagrama de Componentes
Control y Anlisis
Interfaz de Terminal
Comment
Comment
Gestin de Cuentas
Rutinas de Coneccion
Comment
Acceso a BD
Comment
Comment
Presentacin de UML
Diagramas
Diagrama de distribucin o despliegue.
Diagrama de Distribucin
Servidor Central
Acceso a BD
Control y Anlisis
Comment
Comment
Rutinas de Coneccion
Terminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion
Punto de Venta
Rutinas de Coneccion
Gestin de Cuentas
Interfaz de Terminal
Presentacin de UML
Reglas
Establece restricciones a la hora de combinar los bloques
de construccin. UML define reglas semnticas para:
? Nombres.- cmo llamar a los elementos, relaciones y
diagramas.
? Alcance.- contexto que da un significado especfico a
un nombre.
? Visibilidad.- cmo se pueden ver y utilizar esos
nombres por otros.
? Integridad.- cmo se relacionan apropiada y
consistentemente unos elementos con otros.
? Ejecucin.- qu significa ejecutar o simular un modelo
dinmico.
Presentacin de UML
Mecanismos
Aportan patrones que permiten construir modelos ms
consistentes . Podemos encontrar los siguientes:
? Especificaciones.- Asociada a cada elemento
proporciona una explicacin textual de la sintaxis y
semntica del bloque de construccin.
? Adornos.- Se incluye para resaltar algunos detalles
de un determinado elemento y pueden ser de tipo
textual o grfico.
? Divisiones comunes.- Divisin entre clase y objeto;
divisin entre interfaz e implementacin.
? Mecanismos de extensibilidad.- permiten extender
de manera controlada el lenguaje.
Presentacin de UML
Adornos
Son complementos gr ficos o textuales que se aaden a la
notacin bsica de un elemento para mostrar detalles de su
especificacin.
? Notas.- se utilizan para especificar
caractersticas no recogidas en los elementos
Nota
del modelo (requisitos, observaciones,
revisiones, restricciones, etc.).
? Otros adornos.- Asociada a cada elemento
proporciona una explicacin textual de la
sintaxis
Dar nombre a los adornos para evitar confusin.
Transaccin
AadirAccin()
QuitarAccin()
Excepciones
TransaccinVacia
RecursoBloqueado
Presentacin de UML
Mecanismos de extensibilidad
Permiten extender de manera controlada el lenguaje de
modelado propuesto.
? Estereotipos.- extiende el vocabulario, permitiendo
crear nuevos bloques derivados de los existentes.
? Valores etiquetados.- extiende las propiedades de
un bloque permitiendo aadir nueva informacin a
un elemento.
? Restricciones.- extiende la semntica de un bloque
permitiendo aadir nuevas reglas o modificar las
existentes.
Presentacin de UML
Estereotipos
Es un metatipo ya que equivale a crear una nueva clase del
metamodelo en el que se apoya UML
Los nuevos bloque estereotipados tiene:
Sus atributos (su propio conjunto de valores etiquetados.
Su semntica (puede proporcionar restricciones propias).
Su notacin (puede proporcionar su propio icono)
Generalmente se presenta como un << nombre >>
<< metaclase>>
ElementoMetamodelo
<<excepcin>>
!
Overflow
Clase Interfaz
Presentacin de UML
Estereotipos
Solo deben crearse cuando realmente son necesarios y no por un
desarrollador aislado sino dentro de un proyecto o empresa.
Cuatro tipos de estereotipos:
Decorativos .- aportan smbolos que hacen ms comprensibles
los modelos (p.e. smbolo de actor)
Descriptivos.- Utilizados para describir el contexto de
aplicacin del concepto (p.e. clase de negocio)
Restrictivos .- Aportan restricciones aplicables a ciertos
elementos (p.e. interfaz)
Actor
Clase Entidad
Clase Interfaz
Clase Control
10
Presentacin de UML
Valores etiquetados
Puede especificar nuevas propiedades a un elemento
cualquiera. Por tanto, son una herramienta til para definir
detalles semnticos.
Es un metadato porque su valor se aplica al propio elemento,
no a sus instancias.
Generalmente se presenta como una cadena de caracteres
entre llaves que se coloca debajo del nombre de otro
elemento.
FiguraGeomtrica
{abstract Versin=1.3}
Servidor Central
Visible: Boolean{sololectura}
{procesadores=2}
Presentacin de UML
Restricciones
Especifica condiciones que deben cumplirse para que el
modelo est bien formado.
Estas se pueden escribir en texto libre o utilizando OCL
(Object Constraint Language) si se desea una especificacin
ms precisa.
Empresa
{segura}
Cuenta Bancaria
{OR}
0..1 Marido
Persona
Sexo{Hombre, mujer}
0..1 Esposa
11
Presentacin de UML
Restricciones
Pueden identificarse varios tipos de restricciones bsicas:
?
?
?
?
?
?
?
Dependencia.
Consistencia.
Exclusin.
Valores.
Ordenacin.
Frmulas.
Enumeracin.
Presentacin de UML
Restricciones
Dependencia.- Expresan subordinacin entre dos relaciones.
Trabaja en
Empleado
{subconjunto}
Proyecto
Responsable de
Proyecto
self.TrabajaEn->includes(self.ResponsableDe)
ConsistenciaCliente
Tiene
1
Recibe
0..*
Factua
self.Contrato.Cliente= self.cliente
0..*
BasadoEn
Factura
Contrato
12
Presentacin de UML
Restricciones
Exclusin.- Expresan relaciones de tipo OR o XOR.
TrabajaEn
Persona
Proyecto
civil
{OR}
TrabajaEn
Proyecto
militar
TrabajaEn
Persona
Proyecto
Proyecto
militar
Presentacin de UML
Restricciones
Valores.- Las restricciones se aplican a los posibles valores
de un atributo.
Tringulo
a {c-b<a<b+c}
b {a-c<b<a+c}
a {a-b<c<a+b}
Departamento
Tiene
1..*
Empleado
{Ordenacin:Apellido}
13
Presentacin de UML
Restricciones
Frmulas.- Definicin de reglas de clculo asociadas a
atributos derivados.
Persona
fechaNacimiento
/edad {edad=hoy-fechaNacimiento}
Color
14
Captura de requisitos.
Requisitos
Se recomienda utilizar los siguientes artefactos:
Descripcin bsica de los objetivos y metas del sistema.
Descripcin de los clientes para los que se desarrolla el
producto.
Funciones bsicas, es decir, lo que el sistema deber
hacer.
Caractersticas no funcionales que debe tener el producto
final.
15
Captura de requisitos.
Caractersticas no funcionales
Dentro de las caractersticas no funcionales podemos
encontrar:
Facilidad de uso.
Tiempo de respuesta.
Plataforma de desarrollo e implementacin.
Tolerancia a fallos.
Fiabilidad y precisin.
Mantenibilidad.
Prioridades de implementacin.
...
Casos de Uso.
Caso de Uso
Realizar
Pedido
Qu es un caso de uso?
Es una descripcin de un conjunto de acciones
que ejecuta un sistema para producir un resultado
observable de valor para un actor.
?Captura y especifica el comportamiento de un sistema
o de parte del mismo, sin tener que especificar cmo se
implementa.
?Representa la interaccin de los elementos externos al
sistema.
16
Caso de Uso
Casos de Uso.
Realizar
Pedido
Casos de Uso.
Caso de Uso
Realizar
Pedido
17
Caso de Uso
Casos de Uso.
Realizar
Pedido
Actor
?Son entidades externas (personas o sistemas externos) que
interaccionan con el sistema para conseguir una meta.
?Representa un conjunto coherente de roles que juegan los
usuarios de los casos de uso al interaccionar con stos.
?Pueden definirse categoras de actores
Cliente
comercial
Casos de Uso.
Cliente
Caso de Uso
Realizar
Pedido
Actor
? Es frecuente que los actores coincidan con reas de la
empresa (vendedor, gestor de almacn, etc.) o distinto nivel
en la jerarqua (empleado, supervisor, etc.)
?Se conectan a los casos de uso a travs de asociaciones.
Una asociacin indica que el actor y el caso de uso se comunican
entre s y cada uno puede enviar o recibir mensajes
18
Casos de Uso.
Caso de Uso
Realizar
Pedido
Flujo de eventos
El comportamiento de un caso de uso puede especificarse
describiendo un flujo de eventos mediante texto.
? La especificacin de un flujo de eventos debe incluir:
?Cmo y cundo empieza y acaba.
?Cundo interacta con los actores.
?Qu objetos se intercambian.
?El flujo bsico y los flujos alternativos.
Casos de Uso.
Caso de Uso
Realizar
Pedido
Escenarios
Representa una instancia de un caso de uso y, por tanto, es
una secuencia especfica de acciones que ilustra un posible
comportamiento dentro de un caso de uso.
? Escenario Bsico.- se corresponde con la
funcionalidad bsica
? Escenarios Secundarios.- se corresponden con
funcionalidades alternativas y tratamiento de casos de
error. No tienen sentido fuera del contexto del caso de uso
donde ocurren.
Para su descripcin se pueden utilizar texto, pseudocdigo o
incluso diagramas de interaccin.
19
Caso de Uso
Casos de Uso.
Realizar
Pedido
Colaboraciones
Es una sociedad de elementos (tanto estticos como
dinmicos) que colaboran para llevar a cabo el
comportamiento de un caso de uso.
Especifican la realizacin de un caso de uso, es decir
describen cmo se implementa.
Caso de uso
Colaboracin
Hacer pedido
Gestin de
pedidos
Realizacin
Casos de Uso.
Caso de Uso
Realizar
Pedido
20
Caso de Uso
Casos de Uso.
Realizar
Pedido
<<include>>
Hacer pedido
Validar Usuario
? Generalizacin
Hacer pedido
<<extend>>
Hacer
pedido
urgente
Comprobar clave
Generalizacin
Comprobar retina
Casos de Uso.
Validar Usuario
Caso de Uso
Realizar
Pedido
21
Casos de Uso.
Caso de Uso
Realizar
Pedido
Casos de Uso.
Caso de Uso
Realizar
Pedido
22
Caso de Uso
Casos de Uso.
Realizar
Pedido
Caso de Uso
Casos de Uso.
Realizar
Pedido
Curso alternativo
23
Caso de Uso
Casos de Uso.
Realizar
Pedido
Curso alternativo
Casos de Uso.
Caso de Uso
Realizar
Pedido
24
Casos de Uso.
Caso de Uso
Realizar
Pedido
Casos de Uso.
Caso de Uso
Realizar
Pedido
25
Casos de Uso.
Caso de Uso
Realizar
Pedido
Casos de Uso.
Caso de Uso
Realizar
Pedido
26
Casos de Uso.
Caso de Uso
Realizar
Pedido
Casos de Uso.
Caso de Uso
Realizar
Pedido
27
Caso de Uso
Casos de Uso.
Realizar
Pedido
Caso de Uso
Casos de Uso.
Realizar
Pedido
28
Caso de Uso
Casos de Uso.
Realizar
Pedido
Venta Normal
Cliente
VentaenRebajas Vendedor
Venta en Oferta
29
Cliente
VentaenRebajas Vendedor
Venta en Oferta
Venta Normal
Cliente
VentaenRebajas Vendedor
Venta en Oferta
30
Venta Normal
Cliente
VentaenRebajas Vendedor
Venta en Oferta
Ejemplo
Comprar
productos
efectivo
Cajero
Cliente
<< extiende>>
Comprar
tarjeta
Cliente
VentaenRebajas Vendedor
Venta en Oferta
Ejemplo
Se desea desarrollar un sistema para una empresa dedicada al transporte de pasajeros por
avin. El sistema debe planificar los vuelos para el transporte de pasajeros.
El sistema se encarga de transportan tanto pasajeros (nombre, origen, destino, tipo de
asiento, etc), como carga (peso, tamao, origen, destino, etc.), considerando a cada uno
como elemento de embarque. Los clientes (tanto empresas como particulares) realizan
sus reservas de embarque para el vuelo que desean al sistema, el cual debe responder con
la confirmacin de las mismas.
Cada vuelo completo (misin) consta de un conjunto de saltos (segmentos de vuelo) que
relacionan un aeropuerto de origen y otro de destino.
El personal de control de trfico debe realizar la asignacin de un avin (nmero, estado,
modelo, capacidad, situacin, etc) a cada salto. Junto a ello se encargan de controlar y
resolver las incidencias o fallos producidos en el transporte (fecha incidente, descripcin,
accin correctora, etc.)
Para realizar la asignacin de un avin el personal de control de trfico necesita localizar
al avin. Para ello necesita obtener informacin de un radar que enva posiciones en el
espacio areo de un avin. Con dichas posiciones se genera una t rayectoria que permite
predecir la nueva posicin del avin en un instante posterior.
31
Venta Normal
Cliente
VentaenRebajas Vendedor
Venta en Oferta
Ejemplo
Solicitar
elemento de
embarque
Cliente
Persona
Asignar
avin a
salto
Empresa
Control
de trfico
<< include>>
Localizar
avin
Radar
Controlar
y resolver
incidencias
Clase
Clases.
Qu es una clase?
Es una descripcin de un conjunto de objetos
que comparten los mismos atributos, operaciones,
relaciones y semntica.
Nombre
Atributos
Operaciones
32
Clase
Clases.
Nombre
? Es una cadena de texto que denomina y describe el
concepto asociado a una clase.
? Es interesante que se asocie a un nombre genrico.
? Por ejemplo, en vez de Terminal de Registro de Ventana
(TRV) es mejor poner registro, pues no se asocia con un
dispositivo fsico concreto como en el caso de TRV.
Clase
Clases.
Atributo
? Es una propiedad, cualidad o caracterstica asociada a
una clase, identificada por un nombre que describe un
rango de valores que puede tomar la propiedad.
? Para identificarlos, cada clase debe preguntarse:
Qu conozca de mi?
? El nombre de un atributo es un nombre corto o
expresin nominal extrada del dominio.
? Por lo general se suele poner la primera letra de cada palabra
en maysculas, excepto de la primera (precio; tipoProducto)
33
Clase
Clases.
Operacin
? Es una implementacin de un servicio que puede ser
requerido a cualquier objeto de la clase para que muestre
un comportamiento.
? Generalmente la invocacin de una operacin sobre un
objeto produce un cambio en los datos o el estado de ste.
? El nombre de una operacin es un verbo o expresin
verbal extrado del dominio.
? Por lo general se suele poner la primera letra de cada palabra
en maysculas, excepto de la primera (comprar; calcularImporte)
Clase
Clases.
Operacin
? Junto al nombre se puede especificar su signatura.
? Nombre, tipo y valores por defecto de los parmetros y en
ciertos casos necesarios tipo de retorno.
SensorTemperatura
reiniciar()
ponerAlarma(t: Temperatura)
valor() : Temperatura
34
Clase
Clases.
Responsabilidad
? Es un contrato o una obligacin de una clase.
? Las responsabilidades se llevan a cabo mediante los
atributos y operaciones.
? Un buen comienzo en el modelado de las clases es
especificar las responsabilidades de los conceptos
manejados en el dominio del problema.
? Tcnicas para definir responsabilidades:
? Tarjetas CRC (Clase-Responsabilidad-Colaborador).
? Anlisis basado en casos de uso.
Clase
Clases.
Especificacin de una clase
? Para facilitar la comprensin no se suelen mostrar
todos los atributos y operaciones de la clase, o incluso a
veces slo se muestra el nombre de la clase.
? Se puede indicar explcitamente que hay ms atributos o
propiedades mediante: ...
? Para organizar mejor las listas de atributos y operaciones es
interesante utilizar estereotipos para anteponer a cada grupo una
categora descriptiva.
35
Clase
Clases.
Identificacin de clases
El objetivo es identificar los conceptos significativos
del dominio.
Dos posibles estrategias:
?A partir de una lista de categoras.
?A partir de identificacin de frases nominales.
Clase
Clases.
Lista de categoras conceptos
Categora del concepto
Ejemplo
Camin
Especificaciones o
descripciones de cosas
Lugares
Transacciones
Vendedor, Camionero
Tienda, Almacn,
Delegacin
36
Clase
Clases.
Lista de categoras conceptos
Categora del concepto
Ejemplo
Contenedores de cosas
Tienda, Almacn
Producto
Sistema de autorizacin de
tarjeta de crdito
Conceptos abstractos
Hambre
Organizaciones
Depto de Ventas
Eventos
Pago, Anulacin
Clase
Clases.
Lista de categoras conceptos
Categora del concepto
Ejemplo
Procesos
Venta de un producto
Reglas y polticas
Catlogos
Catlogo de productos
Documentos, libros
Manual de Personal,
Ticket de compra
Existencias, Lnea de crdito
Instrumentos y servicios
financieros
37
Clase
Clases.
Identificacin de frases nominales
Este mtodo consiste en identificar en las descripciones
textuales del dominio nombre o frases nominales y
considerarlas como conceptos.
En esta estructura los verbos representan asociaciones
entre conceptos.
Ejemplo.El cliente realiza los pedidos
Cliente
Realiza
Pedido
Clase
Clases.
Errores y problemas en la identificacin de clases
?Incorporacin de documentos como clases.
? Incorporarlos slo si cumplen un papel especial respecto
a las reglas del negocio (ejemplo.- un recibo de compra
puede ser necesario para realizar una devolucin).
38
Clase
Clases.
Errores y problemas en la identificacin de clases
?Diferenciacin entre elementos fsicos y descripcin de
elementos.
? Incorpore una clase que hace referencia a una descripcin de
elementos si:
? La eliminacin de las instancias de los elementos fsicos
da como resultado la prdida de informacin.
? Reduce informacin redundante o duplicada.
Producto
identificacin
descripcin
precio
nmeroSerie
Desc. Producto
identificacin
descripcin
precio
Producto fsico
nmeroSerie
Clase
Clases.
Tarjetas CRC
? Son tarjetas donde se describen las clases sus
responsabilidades y otros colaboradores.
? Un colaborador son aquellas otras clases que deben
existir para permitir que la clase original pueda asumir una
responsabilidad.
? Es una herramienta particularmente til en el anlisis.
? Ayudan a obtener una visin ms completa y
compresible de los conceptos del dominio del problema.
? Su principal aplicacin es estructurar y describir de
manera detallada aunque abstracta los conceptos del
dominio del problema.
39
Clase
Clases.
Tarjetas CRC
? Se suele crear una CRC para cada concepto que aparece
en un caso de uso. Dicho concepto se asocia con una clase.
? Mientras los casos de uso se encargan de definir el
comportamiento, las CRC ayudan a clarificar su estructura.
Responsabilidad
Pedido
Colaborador
LneaPedido,Artculo
Determina el precio
LneaPedido,Artculo
Cliente
Clase
Clases.
Tarjetas CRC
? Las tarjetas CRC son una tcnica muy vlida para ser
utilizada en sesiones en grupo.
? Son utilizadas con dos propsitos bsicos:
? Es una tcnica colectiva que permite definir los conceptos del
dominio.
? Las discusiones de las diferentes perspectivas permite que las
ideas aportadas por los diferentes participantes puedan ser
comprobadas en cuanto a su validez.
40
Clase
Clases.
Clase bien estructurada
?Proporciona una abstraccin precisa de algo extrado
del dominio del problema.
?Contiene un conjunto pequeo de responsabilidades.
?Proporciona una clara diferenciacin entre la
especificacin y su implementacin.
Clase
Clases.
Clase de anlisis
? Se centra en los requisitos funcionales
? Debe describir un concepto ms conceptual.
? Raramente define u ofrece un interfaz en trminos de
operaciones con su signatura.
? Su comportamiento se define mediante responsabilidades
a un alto nivel de descripcin.
?Responsabilidad es una descripcin textual de un conjunto
cohesivo del comportamiento de una clase.
41
Clase
Clases.
Clase de anlisis
? Puede incluir atributos pero a alto nivel de abstraccin y
deben ser claramente reconocibles en el dominio del
problema.
? Adems los atributos identificados durante el anlisis puede
convertirse en clases durante le diseo.
Clase
Clases.
Clase de interfaz
? Se utilizan para modelar la interaccin entre el sistema y
sus actores
? Modelan las partes del sistema que dependen de los
actores y, por tanto, renen los requisitos en los lmites del
sistema.
? Por tanto, las interfaces de usuario y las interfaces de
comunicacin quedan aisladas en este tipo de clases.
? Cada clase interfaz debera estar asociada al menos a un
actor.
42
Clase
Clases.
Clase de interfaz
? Representan abstracciones de los elementos de la
interfaz, pero deben mantenerse a un nivel de abstraccin
elevado.
?Pueden representar abstracciones de ventanas, formularios,
interfaces de comunicacin, sensores , etc., pero no deben
detallarse en exceso. Por tanto, no se est pidiendo un prototipo
final de la interfaz.
Clase
Clases.
Clase de entidad
? Se utilizan para modelar la informacin que posee una
vida ms larga y que a menudo es persistente.
? Se corresponden con conceptos del dominio del
problema.
? Se pueden derivar directamente de una clase de entidad
del negocio, aunque pueden corresponder a un subconjunto
de ellas.
? Puede tener un comportamiento relativo a la informacin
que representa.
43
Clase
Clases.
Clase de control
? Representa la coordinacin, secuencia, transacciones y
control de la lgica del negocio compleja que implica a
varios objetos.
? Se utilizan para encapsular el control de un caso de uso
concreto.
? Se pueden utilizar tambin para representar derivaciones
o clculos complejos que no pueden asociarse a ninguna
informacin (clase entidad) concreta.
Clase
Clases.
Diagrama de clases asociado a la realizacin de
un caso de uso
? Una clase de anlisis y sus objetos participan en varias
realizaciones de casos de uso.
? Algunas responsabilidades, atributos y asociaciones
suelen ser slo relevantes para una nica realizacin de caso
de uso.
? Es importante, por tanto, durante el anlisis coordinar
todos los requisitos sobre una clase y sus objetos que puede
estar asociados a diferentes casos de uso.
44
Clase
Clases.
Ejemplo
PedidosConfirmados
GestorPedidos
Factura
Pagos
Comprador
IU SolicitudPago
GestorPagos
Clase
Atributos.
Qu es un atributo?
? Es una propiedad, cualidad o caracterstica asociada a
una clase, identificada por un nombre que describe un
rango de valores que puede tomar la propiedad.
? Para identificarlos, cada clase debe preguntarse:
Qu conozca de mi?
? Un atributo no debera ser un concepto complejo del
dominio.
? Para establecer relaciones entre conceptos se deben
utilizar relaciones, no atributos.
45
Clase
Atributos.
?Los atributos tienen un tipo que no tiene que corresponder
obligatoriamente con un tipo primitivo (nmero, carcter, etc.)
?Represente como tipos no primitivos aquellos que pueden
considerarse primitivos si:
? Se compone de secciones independientes (n telfono, nombre de
una persona).
? Normalmente se le asocian operaciones de anlisis o validacin
(DNI,ranking o importancia de un cliente, etc).
? Posee otros atributos asociados (el precio de rebajas est asociado
a una fecha de inicio y otra de final).
? Es una cantidad con una unidad asociada (el importe del pago
puede tener asociada una unidad monetaria).
Relaciones.
0..1
patrn
*
empleado
Qu es una relacin?
Expresa una conexin entre las clases del dominio.
Podemos encontrar tres tipos bsicos de relaciones:
? Dependencias.- Representan relaciones de uso entre
clases.
? Generalizaciones.- Conectan clases generales con
sus especializaciones.
?Asociaciones.- Representan relaciones estructurales
entre objetos.
46
Relaciones.
0..1
patrn
*
empleado
Dependencia
? Declara que un cambio en la especificacin de un
elemento puede afectar a otro elemento que lo utiliza, pero
no necesariamente a la inversa.
? Se representa mediante una flecha con trazo discontinuo
que va dirigida hacia el elemento del cual se depende.
? La mayora de las veces se utiliza para indicar que una
clase utiliza otra como argumento en la signatura de una
operacin.
PelculaVideo
Canal
reproducirEn (c:Canal)
Relaciones.
0..1
patrn
*
empleado
Generalizacin
? Indica una relacin entre un elemento ms general
(supertipo) y un caso ms especfico (subtipo) de ese
elemento.
? A veces se le denomina relacin es-un-tipo-de.
? Los objetos hijos se pueden emplear en cualquier lugar
que pueda aparecer el padre, pero no a la inversa.
? Las clases hijas heredan las caractersticas (atributos,
operaciones y relaciones) de sus clases padres.
47
Relaciones.
0..1
patrn
*
empleado
Generalizacin
? La generalizacin produce una estructura jerrquica en la
que existen clases sin padres (clase base) y clases sin hijos
(clases especializadas u hojas).
Figura
posicin: Punto
mover()
dibujar()
Rectngulo
esquina: Punto
dibujar()
Polgono
Crculo
radio:Float
puntos: Lista
dibujar()
dibujar()
Cuadrado
Relaciones.
0..1
patrn
*
empleado
Generalizacin
Cuando deberamos definir un subtipo?.
? Debemos asegurarnos que esta particin es til en el
dominio del problema.
? Motivos para realizar la particin:
?El subtipo tiene otros atributos.
?El subtipo tiene otras asociaciones.
?Se pude especificar un comportamiento especfico para el
subtipo o se reacciona ante l de manera diferente a como se
hara ante el supertipo.
48
Relaciones.
0..1
patrn
*
empleado
Generalizacin
Cuando deberamos definir un supertipo?.
? Motivos para realizar la generalizacin:
?Los conceptos asociados a subtipos potenciales
representan variaciones de un concepto semejante.
?Los conceptos comparten entre si varios atributos o
comportamientos semejantes.
?Existen relaciones compartidas por los conceptos
candidatos a subtipos que pueden generalizarse y asociarse al
supertipo.
Relaciones.
0..1
patrn
*
empleado
Generalizacin
Clases abstractas
? Representan clases que no contienen objetos.Slo
pueden aparecer dentro de jerarquas de generalizacin.
? Se pueden asociar a clases de una jerarqua en la que
los objetos siempre deben pertenecer a uno de los
subtipo definidos.
Figuras
Rectngulos
Crculos
Polgonos
49
Relaciones.
0..1
patrn
empleado
Generalizacin
Clases abstractas
? Se representan poniendo el nombre de la clase en
cursiva o mediante el valor etiquetado {abstract} debajo
del nombre de la clase.
Figura
{abstract}
Figura
posicin: Punto
mover()
dibujar()
Rectngulo
posicin: Punto
mover()
dibujar()
Polgono
esquina: Punto
Crculo
dibujar()
radio:Float
puntos: Lista
dibujar()
dibujar()
Relaciones.
0..1
patrn
empleado
Generalizacin
Estructuras mltiples:
? La generalizacin puede ser:
? simple.- un subtipo solo tiene un supertipo (padre).
? mltiple.- un subtipo puede tener varios supertipos (padres).
Persona
Persona
nombre
direccin
Empleado
fechaNacimiento
identificacionUsuario
password
Accionista
nmeroAcciones
nombre
direccin
EmpleadoAccionista
fechaNacimiento
identificacionUsuario
password
nmeroAcciones
Empleado
fechaNacimiento
identificacionUsuario
password
Accionista
nmeroAcciones
EmpleadoAccionista
50
Relaciones.
0..1
Asociacin
patrn
0..1
patrn
*
empleado
*
empleado
Relaciones.
Asociacin
0..1
patrn
0..1
patrn
*
empleado
*
empleado
Persona
51
Relaciones.
0..1
Asociacin
patrn
0..1
patrn
*
empleado
*
empleado
Empresa
Persona
Patrn
Empleado
Relaciones.
Asociacin
0..1
patrn
0..1
patrn
*
empleado
*
empleado
1 -> exactamente 1
0,1 -> cero o uno
0..4 -> entre cero y cuatro
3,7 -> tres o siete
0..* -> mayor o igual de cero (por defecto)
1..* -> mayor o igual a uno
0..3, 7, 9..* -> cualquier nmero menos 4, 5, 6 y 8
52
Relaciones.
0..1
Asociacin
patrn
0..1
patrn
*
empleado
*
empleado
1..*
Empresa
Persona
Persona 1
Empresa 1
Persona 2
Empresa 2
Persona 3
Relaciones.
Asociacin
0..1
patrn
0..1
patrn
*
empleado
*
empleado
Todo
1
*
Departamento
Parte
53
Relaciones.
Asociacin
0..1
patrn
0..1
patrn
empleado
*
empleado
Avin
Agregaciones tpicas.-
0,1
0..4
Motor
Avin
0,1
0..n
Pasajeros
Vuelo
1..n
1..n
SegmentoVuelo
Relaciones.
Asociacin
0..1
patrn
0..1
patrn
*
empleado
*
empleado
Todo
0..*
CuentaBancaria
Parte
54
Relaciones.
0..1
patrn
*
empleado
Otras caractersticas
Las relaciones pueden tener asociados atributos.
Empresa
1..*
Empleo
desde
hasta
*
Empleado
Clase
Relaciones.
Lista de categoras asociaciones
Categora de asociacin
Ejemplo
Ala-Avin;
TramoVuelo-RutaVuelo
Producto-Estante;
Pasajero-Avin
Producto-Catlogo
A es una descripcin de B
DescripcinProducto-Producto
55
Clase
Relaciones.
Lista de categoras asociaciones
Categora de asociacin
A se conoce/introduce/
registra/presenta/captura en B
A es miembro de B
A es una subunidad
organizacional de B
Ejemplo
Reserva-ListaPasajeros;
Venta-Caja
Piloto-Avin;
Vendedor-Tienda
Departamento-Tienda;
Mantenimiento-LneaArea
A usa o dirige a B
Piloto-Avin
A se comunica con B
Cliente-Vendedor;
AgenteReserva-Pasajero
Pago-Pedido;
Pasajero-Billete
Clase
Relaciones.
Lista de categoras asociaciones
Categora de asociacin
Ejemplo
Pago-Venta;
Reserva-Cancelacin
A est contiguo a B
Ciudad-Ciudad
A es propiedad de B
Avin-LineaArea;
56
Diagrama de Clases
Motor
Piloto
1..4
Diagramas de Clases.
Vendedordebilletes
1
1..2
Avin 1
Vuelo 1
*
*
Reserva
{ disjunta, completa }
1
Avincomercial
Avin militar
Lneaarea
{ disjunta, completa }
Avin de carga
Avin de pasajeros
Diagrama de Clases
Motor
Piloto
1..4
Diagramas de Clases.
*
*
Vuelo 1
*
*
Reserva
{ disjunta, completa }
1
Avin militar
Avincomercial
Lneaarea
{ disjunta, completa }
Avin de carga
Ejemplo
Vendedordebilletes
1..2
1
Avin 1
Avin de pasajeros
Empresa
1
1..*
1..*
Departamento
nombre
Se ubica
0,1
Persona
nombre
direccin
Oficina
direccin
telfono
{subconjunto}
miembro
director
1..*
Accionista
Empleado
nmeroAcciones
fechaNacimiento
identificacionUsuario
password
RegistroPersonal
historialEmpleos
salario
IinformacinSegura
obtenerResgistrosPersonales
57
Diagrama de Clases
Motor
Piloto
1..4
Diagramas de Clases.
Vendedordebilletes
1
1..2
Avin 1
Vuelo 1
Reserva
{ disjunta, completa }
1
Avincomercial
Avin militar
Lneaarea
{ disjunta, completa }
Avin de carga
Avin de pasajeros
Se utiliza para:
? Modelar el vocabulario de un sistema.
? Tomar decisiones sobre qu abstracciones son parte del sistema
y cules caen fuera de sus lmites. Se utilizan para especificar
abstracciones y sus responsabilidades.
Diagrama de Clases
Motor
Piloto
1..4
Diagramas de Clases.
Vendedordebilletes
1
1..2
Avin 1
Vuelo 1
*
*
Reserva
{ disjunta, completa }
1
Avin militar
Avincomercial
Lneaarea
{ disjunta, completa }
Avin de carga
Avin de pasajeros
58
Diagrama de Clases
Motor
Piloto
1..4
Diagramas de Clases.
Vendedordebilletes
1
1..2
Avin 1
Vuelo 1
Reserva
{ disjunta, completa }
1
Avincomercial
Avin militar
Lneaarea
{ disjunta, completa }
Avin de carga
Avin de pasajeros
Diagrama de Clases
Motor
Piloto
1..4
Diagramas de Clases.
destino
Avincomercial
0..n
0..n
origen
ElementoEmbarque
nmero
situacinActual
0..n
0,1
Avin
nmero
estado
modelo
capacidad
Cliente
Empresa
razonSocial
Particular
Trayectoria
fecha
tiene
1
0,1
1
2..n
adquiere
0..n
Avin de pasajeros
0..n
se asigna
destino
Lneaarea
0..n
Aeropuerto
nombre
ciudad
Reserva
FallosAvin
fecha
hora
descripcin
SegmentoVuelo
nmero
descripcin
destino
origen
{ disjunta, completa }
1..n
origen
Vuelo 1
1
Avin militar
1..n
Misin
nmero
descripcin
horario
*
*
{ disjunta, completa }
Avin de carga
Ejemplo
Vendedordebilletes
1..2
1
Avin 1
Persona
nombreApellidos
Carga
Pasajeros
PuntoEspacioAreo
fecha
hora
posicin
peso
tamao
descripcin
asiento
59
Diagramas de Actividades.
Qu es un diagrama de actividades?
Es fundamentalmente un diagrama de flujo que muestra el
flujo de control entre actividades.
?Un diagrama de interaccin muestra objetos que se pasan
mensajes, un diagrama de actividades muestra las operaciones
que se pasan entre los objetos.
Diagramas de Actividades.
Ejemplo
Disponer de solar
Estado inicial
Contratar arquitecto
Estado accin
Obtener plano y
presupuesto obra
Bifurcacin
[no aceptado]
Guarda
Divisin
Construir casa ( )
Estado de actividad
con submquina
Vender casa
Flujo de objeto
:CertificadoVivienda
Terminar
promocin vivienda
[terminado]
Unin
Estado final
60
Diagramas de Actividades.
Normalmente los diagramas de actividades contienen:
?Estados de actividad y estados de accin.
?Estado de actividad.-Elemento compuesto cuyo flujo de control
se compone de otros estados de actividad y de accin.
?Estado de accin.- Estado que representa la ejecucin de una
accin atmica, normalmente la invocacin de una operacin.
?Transiciones.
?Relacin entre dos estados que indica que un objeto en el primer
estado realizar ciertas acciones y pasar al segundo estado cuando
ocurra un evento especfico y satisfaga ciertas condiciones.
?Objetos.
? Manifestacin concreta de una abstraccin o instancia de una
clase.
Diagramas de Actividades.
Estados de actividad y de accin
?Estado de actividad.-Elemento compuesto, cuyo flujo de
control se compone de otros estado de actividad y de accin.
Procesar Pedido (f)
61
Diagramas de Actividades.
Transiciones
?Se representa mediante una lnea dirigida del estado inicial
al siguiente.
Estado inicial
Estado final
Diagramas de Actividades.
Transiciones
?Secuencial o sin disparadores.Al completar la accin del estado origen se ejecuta la accin de
salida y, sin ningn retraso, el control sigue por la transicin y
pasa al siguiente estado.
Estado accin 1
Estado accin
Estado accin 2
62
Diagramas de Actividades.
Transiciones
?Bifurcacin.Especifica caminos alternativos, elegidos segn el valor de alguna
expresin booleana.
Guardas
[x>0]
Actividad
[x=0]
[x>0]
[x=0]
Actividad
[x<0]
[x<0]
Diagramas de Actividades.
Transiciones
?Divisin y unin. Permiten expresar la sincronizacin o ejecucin paralela de
actividades.
Sincronizacin o unin
63
Diagramas de Actividades.
Transiciones
?Divisin y unin. Por definicin, en la unin los flujos entrantes se sincronizan, es
decir, cada uno espera hasta que todos los flujos de entrada han
alcanzado la unin.
? Para expresar otro tipo de unin se pueden utilizar valores
etiquetados.
{AND}
{OR}
{XOR}
Diagramas de Actividades.
Ejemplo
Cuando recibimos un pedido, comprobamos cada artculo de la
lnea de pedido para ver si tenemos existencias de l. Si la
respuesta es afirmativa, asignamos la mercanca al pedido. Si esta
asignacin hace bajar la cantidad de productos en almacn por
debajo del nivel mnimo, se realiza un pedido a los proveedores.
Mientras hacemos esto, revisamos el pago para ver si est
correcto. Si el pago est bien y hay mercancas en existencia,
servimos el pedido. Si el pago est correcto pero no tenemos
existencias de ese producto, dejamos el pedido en espera. Si el
pago no es correcto, se cancela la orden.
64
Diagramas de Actividades.
Recibir orden
Disparador mltiple
Autorizar pago
[xito]
Comprobar existencia
[en existencia]
Asignar a orden
Condicin de sincronizacin
[se necesita
solicitar
existencias]
Realizar pedido
a proveedores
Diagramas de Actividades.
Ejemplo
Cuando llega un reabastecimiento de los proveedores, vemos los
pedidos pendientes y decidimos cules pueden servirse con el
material recibido y, entonces, asignamos los productos
correspondientes a dichos pedidos. Con esto se pueden servir las
ordenes pendientes. La mercanca restante se guarda en el
almacn.
65
Diagramas de Actividades.
Recibir
abastecimiento
Seleccionar artculos
de pedidos pendientes
*[por cada artculo de
pedido seleccionado]
Asignar artculo
a pedido
Servir el pedido
Agregar resto de
productos a existencias
Diagramas de Actividades.
Recibir
abastecimiento
Recibir orden
Comprobar existencia
[en existencia]
[fallo]
[xito]
Seleccionar artculos
de pedidos pendientes
*[por cada artculo de
pedido seleccionado]
Asignar artculo
a pedido
Asignar a orden
Cancelar orden
[se necesita
solicitar
existencias]
Realizar pedido
a proveedores
[existencia asignada
a todos los artculos
de del pedido y
pago autorizado]
Servir pedido
66
Diagramas de Actividades.
Calles (Swimlanes)
? Permiten ver QUIENES son los responsables de
realizar las distintas actividades.
?Especificar qu parte de la organizacin es responsable de una
actividad.
Diagramas de Actividades.
Ventas
Almacn
Recibir orden
Disparador mltiple
Autorizar pago
Comprobar existencia
[xito]
[en existencia]
Asignar a orden
Condicin de sincronizacin
[se necesita
solicitar
existencias]
Realizar pedido
a proveedores
67
Diagramas de Actividades.
Flujo de objetos
?Permiten mostrar los objetos que participan dentro del
flujo de control asociado a un diagrama de actividades.
?Junto a ello se puede indicar cmo cambian los valores de sus
atributos, su estado o sus roles.
Objeto
o: Orden
[en progreso]
Recibir orden
Estado
Flujo de objeto
Servir pedido
o: Orden
[finalizada]
Diagramas de Actividades.
Cundo emplear los diagramas de actividades?
?En el modelado de los procesos del negocio.
?Permiten especificar y evaluar el flujo de trabajo de los procesos
de negocio.
68
Diagramas de Actividades.
En qu situaciones no utilizarlos?
?Para tratar de ver cmo colaboran los objetos.
?En estos casos, es mejor utilizar los diagramas de interaccin.
Diagramas de Actividades.
Exposicin del caso.-
Se desea estudiar el sistema de pedidos de libros, realizados po r los clientes, en una librera y su posterior
envo y facturacin.
Se supone que la librera no mantiene stock de libros y por tanto debe pedir los libros solicitados a las
editoriales correspondientes, con las cuales tiene concertado un sistema de descuentos en funcin de la
cantidad de libros solicitados.
Cada cliente tiene asociado un crdito permitido que debe ser controlado por el sistema para no aceptar
pedidos si ste ha sido superado. Una vez validados los pedidos son agrupados por editorial para realizar un
pedido de reaprovisionamiento asociado a los pedidos de los clie ntes.Estos pedidos se realizan dos das por
semana.
Cada editorial tiene establecido un tiempo estndar de respuesta. Una vez transcurrido este tiempo ms
una semana el pedido reaprovisionamiento puede ser anulado. Tras recibir y validar que lo enviado por la
editorial se corresponde con lo solicitado, se deben asociar los pedidos de reaprovisionamiento y los de los
clientes.
Cuando el pedido del cliente est completo debe aadirse la direccin de envo y generar una prefactura, la
cual ir acompaando a los libros solicitados por el cliente. Una vez recibido el paquete con los libros y la
prefactura, el cliente deber realizar el pago asociado a dicha prefactura.
Al ser recibido un pago del cliente, deber asociarse a una prefactura pendiente y enviar una factura
definitiva al cliente. Si el pago no se efecta en un perodo de 30 das desde el env o de la prefactura, el
pedido llevar un recargo adicional.
La direccin de ventas desea obtener mensualmente una estadstica de compras por cliente, para de este
modo poder clasificar a sus clientes en funci n a su volumen de pedidos. Junto a este informe, la misma
direccin desea enviar un cat logo general anualmente y otro de novedades con carcter mensual , sobre
aquellos temas de ms inters para cada cliente, para lo cual desea disponer de una estad stica que indique los
temas ms frecuentemente solicitados.
Una peticin normal de los clientes, una vez solicitado un pedido, es saber en qu situacin se encuentra.
69
Diagramas de Secuencia.
: Encargado
Coger
:Libro
: Ficha socio
: Ficha libro
:Prstamo
libro
Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar
prstamo
Qu es un diagrama de secuencia?
Es un tipo de diagrama de interaccin.
? Muestra la interaccin entre un conjunto de objeto y
sus relaciones, incluyendo los mensajes que pueden
enviarse entre ellos, en el que se destaca la ordenacin
temporal de los mensajes.
? Este tipo de diagramas se emplea bsicamente en el
diseo.
? En el anlisis se utiliza para especificar el paso de
mensajes entre los actores y el sistema (diagrama de
secuencia del sistema).
Diagramas de Secuencia.
: Encargado
Coger
:Libro
: Ficha socio
: Ficha libro
:Prstamo
libro
Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar
prstamo
70
Diagramas de Secuencia.
: Encargado
Coger
:Libro
: Ficha socio
: Ficha libro
:Prstamo
libro
Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar
prstamo
Repetir mientras
haya productos.
terminarVenta()
pago(totalDinero)
Diagramas de Secuencia.
: Encargado
Coger
:Libro
: Ficha socio
: Ficha libro
:Prstamo
libro
Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar
prstamo
71
Paquete
Qu es un paquete?
Es un mecanismo que permite organizar los elementos
de modelado en bloques mayores que se pueden
manipular en grupo.
?Permiten controlar la visibilidad de los elementos de
un grupo desde el exterior.
?Agrupan elementos cercanos semnticamente y que
suelen cambiar juntos.
?Son cohesivos y poco acoplados.
Reglas del negocio
Paquete
72
Paquete
Importacin
?Para poder acceder a los elementos contenidos de un
paquete debe importarse dicho paquete.
? Importacin: concede un permiso de un solo sentido para
que los elementos de un paquete puedan acceder a los
elementos de otro.
? Se utiliza el estereotipo import
Paquete
Visibilidad
?Normalmente los elementos contenidos en un paquete
son pblicos (+), es decir, son visibles por cualquier
paquete que importe al paquete contenedor.
? El conjunto de partes pblicas constituye su interfaz.
73
Paquete
Generalizacin
?Pueden definirse jerarquas de generalizacin al igual
que suceden con otros elementos como clases, casos de
uso, etc.
?Los elementos ms especializados heredan los
elementos pblicos y protegidos del paquete ms
general.
?Los paquetes ms especializados pueden reemplazar a
los elementos ms generales y aadir otros.
?Un paquete generalizado puede utilizarse dondequiera
que se use un paquete ms general.
Paquete
74
Paquete
Cliente
+ Formulario de pedidos
- Pedido
Servicios de Usuario
<<import>>
<<import>>
GUI
+ Ventana
+ Formulario
# GestorEventos
Servicios de Datos
<<import>>
WindowsGUI
Servicios de Negocio
MacGUI
+ GUI::Ventana
+ Formulario
# GUI:: GestorEventos
+ VBForm
Paquete
75
Paquete
Paquete
Corrector Ingls
<<service package>>
Corrector Espaol
76
Glosario
? Actor.- Conjunto coherente de roles que juegan los
usuarios de los casos de uso cuado interactan con stos.
? Adorno.- detalle de la especificacin de un elemento
que se aade a su notacin grfica bsica.
? Arquitectura.- conjunto de decisiones acerca de la
organizacin de un sistema software, la seleccin de los
elementos estructurales de los que se compone el sistema,
junto con su comportamiento tal y como se especifica en
las colaboraciones entre esos elementos. En ella tambin
se incluyen las restricciones y los compromisos entre uso,
funcionalidad, rendimiento, flexibilidad, reutilizacin,
comprensibilidad, economa y tecnologa
? Artefacto.- pieza de informacin que es utilizada o
producida por un proceso de desarrollo de software.
Glosario ...
?Asociacin.- relacin estructural que describe un
conjunto de enlaces, donde un enlace es una conexin entre
objetos (relacin semntica entre dos o ms clasificadores
que implican la conexin entre sus instancias.
?Atributo.- propiedad con nombre de un clasificador que
describe un rango de valores que pueden contener las
instancias de la propiedad
?Caso de uso.- Descripcin de un conjunto de secuencias
de acciones, incluyendo variantes, que ejecuta un sistema
para producir un resultado observable, de valor para un
actor.
?Clase.- descripcin de un conjunto de objetos que
comparten los mismos atributos, operaciones, relaciones y
semntica.
77
Glosario ...
?Clase activa.- clase cuyas instancias son objetos activos
(descripcin de un conjunto de objetos (objeto que tiene un
proceso o hilo y puede iniciar actividad de control)
? Clase abstracta.- clase que no puede ser instanciada.
? Clasificacin dinmica.- Variacin semntica de la
generalizacin en la que un objeto puede cambiar de tipo o
de rol.(clasificacin esttica significa lo contrario).
? Clasificacin mltiple.- Variacin semntica de la
generalizacin en la que un objeto puede pertenecer a ms
de una clase.
? Clasificador.- Mecanismo que describe caractersticas
estructurales y de comportamiento (clases, interfaces, tipos
de datos, seales, componentes, nodos, casos de uso y
subsistemas).
Glosario ...
?Cardinalidad.- Nmero de elementos de un conjunto.
?Colaboracin.- sociedad de roles y otros elementos que
colaboran para proporcionar un comportamiento cooperativo
mayor que la suma de los comportamientos de sus elementos
(especificacin de cmo se realiza un elementos, tal como un
caso de uso o una operacin, por un conjunto de clasificadores
y asociaciones).
?Componente.- Parte fsica y reemplazable de un sistema
que conforma con un conjunto de interfaces y proporciona la
realizacin de dicho conjunto.
?Composicin.- Forma de agregacin con fuerte pertenencia
y un tiempo de vida coincidentes entre la parte y el todo; las
parte con una multiplicidad no fija pueden crearse despus del
todo, pero una vez creadas viven y mueren con l.
78
Glosario ...
?Concurrencia.- ocurrencia de dos o ms actividades
durante el mismo intervalo de tiempo.
? Contenedor.- Objeto que existe para contener otros
objetos y que proporciona operaciones para acceder o iterar
sobre los elementos que contiene.
? Delegacin.- capacidad de un objeto de enviar un mensaje
a otro objeto en respuesta a un mensaje.
? Dependencia.- relacin semntica entre dos elementos en
la cual un cambio a un elemento puede afectar a la semntica
del otro.
? Diagrama.- Representacin grfica de un conjunto de
elementos (generalmente grafo conexo de nodos y arcos).
?Diagrama de actividades .- Muestra el flujo de control
entre actividades.
Glosario ...
?Diagrama de casos de uso .- Muestra un conjunto de
casos de uso y actores y sus relaciones (cubren la vista de
casos de uso esttica del sistema).
? Diagrama de clases.- Muestra un conjunto de clases,
interfaces y colaboraciones y sus relaciones (cubren la vista
esttica de un sistema).
?Diagrama de colaboracin.- Diagrama de interaccin que
resalta la organizacin estructural de los objetos que envan y
reciben seales (muestra interacciones organizadas alrededor
de instancias y los enlaces de unas a otras).
?Diagrama de componentes.- Muestra la organizacin y
las dependencias entre un conjunto de componentes (cubren
la vista de implementacin esttica de un sistema).
79
Glosario ...
?Diagrama de despliegue .- Muestra la configuracin en
tiempo de ejecucin de los nodos de procesamiento y los
componentes que residen en ellos(cubre la vista de
despliegue esttica).
?Diagrama de estados.- Muestra la mquina de estados
(cubre la vista dinmica de un sistema).
?Diagrama de interaccin.- Muestra una interaccin que
consta de un conjunto de objetos y sus relaciones; incluyendo
los mensajes que pueden enviarse entre ellos (estos pueden
ser de tres tipos: colaboracin, secuencia y actividades).
?Diagrama de objetos.- Muestra un conjunto de objetos y
sus relaciones en un momento dado(cubre la vista esttica o
de proceso esttica)
Glosario ...
?Diagrama de secuencia .- resalta la interaccin temporal
de los mensajes.
?Dominio.- rea de conocimiento o actividad que se
caracteriza por un conjunto de conceptos y una terminologa
que entienden los profesionales de ese rea.
?Elemento.- constituyente atmico de un modelo.
?Enlace.- Conexin semntica entre objetos (instancia de
una asociacin).
?Escenario.- Secuencia especfica de acciones que ilustra
un comportamiento.
?Especificacin.- Descripcin textual de la sintaxis y la
semntica de un bloque de construccin especfico
(descripcin declarativa de los que algo es o hace).
80
Glosario ...
?Estado.- Condicin o situacin en la vida de un objeto
durante la cual satisface una condicin, realiza alguna
actividad o espera algn evento.
?Estereotipo.- extensin del vocabulario de UML que
permite crear nuevos bloques de construccin derivados a
partir de los existentes pero especficos a un problema
concreto.
?Evento.- Especificacin de un acontecimiento significativo
que ocupa un lugar en el tiempo y en el espacio.
?Framework.- Patrn arquitectnico que proporciona una
plantilla extensible para las aplicaciones dentro de un dominio.
?Generalizacin.- relacin de especificacin/generalizacin,
en la cual los objetos del elemento especializado (hijo) pueden
sustituir a los objetos del elemento general (padre).
Glosario ...
?Herencia.- Mecanismo por el cual los elementos ms
especficos incorporan la estructura y comportamiento de
elementos ms generales.
?Herencia mltiple.- Variacin semntica de la
generalizacin en la que un hijo puede tener ms de un padre.
?Incompletitud.- Modelado de un elemento manteniendo
ausentes algunas de sus partes.
?Inconsistencia.- Modelado de un elemento que no garantiza
la integridad del modelo.
?Ingeniera directa.- proceso de transformar un modelo en
cdigo.
?Ingeniera inversa.- Proceso de transformar el cdigo en un
modelo.
81
Glosario ...
?Instancia.- Manifestacin concreta de una abstraccin;
entidad a la que se pueden aplicar un conjunto de operaciones
y que tiene un estado que almacena el efecto de las
operaciones.
?Integridad.- relacin concreta y consistente de unas cosas
con otras.
?Interaccin.- comportamiento que comprende un conjunto
de mensajes que se intercambian entre un conjunto de objetos
para lograr un objetivo.
?Interfaz.- Coleccin de operaciones que se utilizan para
especificar un servicio de una clase o componente.
?Lenguaje de Restriccin de Objetos (OCL) .- Lenguaje
formal que se utiliza para expresar restricciones libres de
efectos laterales.
Glosario ...
?Ligadura.- Creacin de un elemento a partir de una plantilla
cuando se proporcionan argumentos para los parmetros de la
plantilla.
?Mquina de estados.- Comportamiento que especifica la
secuencia de estados por los que pasa un objeto a lo largo de su
vida en respuesta a eventos, junto con la respuesta a esos
eventos.
?Mecanismo.- Patrn de diseo que se aplica a una sociedad
de clases. Representa una funcin o comportamiento de la parte
del sistema que se est modelando que resulta de la interaccin
de una sociedad de clases, interfaces y otros elementos.
?Mecanismo de extensibilidad.- Cada uno de los tres
mecanismos (estereotipos, valores etiquetados y restricciones)
que permiten extender UML de forma controlada.
82
Glosario ...
?Mensaje .- especificacin de una comunicacin entre
objetos que transmite informacin con la expectativa de que se
desencadene una actividad
?Metaclase.- Clase cuyas instancias son clases.
?Mtodo.- implementacin de una operacin.
?Modelo.- Simplificacin de la realidad, creada para
comprender mejor el sistema que se est creando; abstraccin
semntica de un sistema.
?Multiplicidad.- Especificacin del rango de cardinalidades.
?Nivel de abstraccin.- Posicin dentro de una jerarqua de
abstracciones que abarca desde lo muy concreto a lo muy
abstracto.
?Nodo.- elemento fsico que existe en tiempo de ejecucin y
que representa un recurso computacional.
Glosario ...
?Nota.- Smbolo grfico para representar restricciones o
comentarios asociados a un elemento o a una coleccin de
elementos.
?Objeto.- Manifestacin concreta de una abstraccin
(instancia de una clase).
?Objeto activo.- Objeto que tiene un proceso o hilo y puede
iniciar actividad de control.
?Objeto persistente.- Objeto que existe despus de que el
proceso que lo cre deja de existir.
?Operacin.- Implementacin de un servicio que puede ser
requerido a cualquier objeto de la clase a la que pertenece.
?Paquete.- Mecanismo de propsito general para organizar
elementos en grupos.
?Patrn.- Solucin comn a un problema comn en un
contexto determinado.
83
Glosario ...
?Plantilla.- Elemento parametrizado.
?Poscondicin.- Restriccin que debe ser cierta al finalizar
una operacin.
?Precondicin.- Restriccin que debe ser cierta cuando se
invoca a una operacin.
?Proceso.- Flujo de control pesado que puede ejecutarse
concurrentemente con otros.
?Producto.- Artefacto del desarrollo como por ejemplo:
modelos, cdigo, documentacin y planes de trabajo.
?Proveedor.- Tipo, clase o componente que proporciona
servicios que pueden ser invocados por otros.
?Realizacin.- Relacin semntica entre clasificadores, en la
cual un clasificador especifica un contrato que otro
clasificador se compromete a llevar a cabo.
Glosario ...
?Refinamiento.- Relaciones que representan una
especificacin ms completa de algo que ya ha sido
especificado a cierto nivel de detalle.
?Relacin.- Conexin semntica entre elementos.
?Requisito.- Caracterstica, propiedad o comportamiento
deseado de un sistema.
?Responsabilidad.- Contrato u obligacin de un tipo o una
clase.
?Restriccin.- Extensin de la semntica de un elemento de
UML que permite aadir nuevas reglas o modificar las
existentes.
?Rol.- Comportamiento de una entidad que participa en un
contexto particular.
84
Glosario ...
?Seal.- Especificacin de un estmulo asncrono que es
transmitido entre instancias.
?Subclase.- En una relacin de generalizacin, la
especializacin de otra clase (el hijo).
?Subsistema.- agrupacin de elementos, algunos de los cales
constituyen una especificacin del comportamiento ofrecido
por los otros elementos.
?Superclase.- En una relacin de generalizacin, la
generalizacin de otra clase (el padre).
?Tarea.- flujo de ejecucin nico a travs de un programa, un
modelo dinmico o alguna otra representacin de un flujo de
control.
?Tipo.- estereotipo de clase que se utiliza para especificar un
dominio de objetos, junto con operaciones de ese objeto.
Glosario ...
?Tipo de datos.- Tupo cuyos valores no tienen identidad. Los
tipos de datos incluyen los tipos primitivos , as como tipos
enumerados.
?Traza.- Dependencia que implica una relacin de proceso o
historia entre dos elementos que representan el miso concepto,
sin reglas para derivar el uno del otro
?UML.- lenguaje de modelado para visualizar, especificar,
construir y documentar los artefactos de un sistema con gran
cantidad de software.
?Unidad de distribucin.- conjunto de objetos o
componentes que se colocan en un nodo como un grupo.
?Uso.- Dependencia en la que un elemento (el cliente) requiere
la presencia de otro elemento (el proveedor) para un
funcionamiento o una implementacin correcta.
85
Glosario ...
?Valor etiquetado.- Extensin de las propiedades de un
elemento de UML, que permite crear nueva informacin en la
especificacin de ese elemento.
?Versin.-Conjunto relativamente completo y consistente de
artefactos entregado a un usuario
?Visibilidad.- Cmo puede ser visto y utilizado un nombre
por otros.
?Vista.- Proyeccin de un modelo que se ve desde una
perspectiva o punto de vista dado y que omite entidades que no
son relevante desde esa perspectiva.
86