Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Resumen
Descriptores
Bibliografa
Esquema
Introduccin
Ejercicios
Lecturas complementarias
Referencias
1. Introduccin
De dnde se parte?
Usuarios, clientes...
Escenarios /
casos de uso
Requisitos
Desarrolladores
Universidad de Salamanca Departamento de Informtica y Automtica
Usuarios, clientes...
Escenarios /
casos de uso
Requisitos
Diagrama de clases
Desarrolladores
system model
:Model
[Bruegge y Dutoit, 2000]
Universidad de Salamanca Departamento de Informtica y Automtica
Definicin de anlisis
10
Definicin
El anlisis orientado a objetos es el proceso que
modela el dominio del problema identificando y
especificando un conjunto de objetos semnticos
que interaccionan y se comportan de acuerdo
a los requisitos del sistema
[Monarchi y Puhr, 1992]
11
Generalidades (i)
12
Generalidades (ii)
Modelo funcional
Modelo dinmico
13
use case
diagram:View
class
diagram:View
functional
model:Model
object
model:Model
statechart
diagram:View
analysis
model:Model
Universidad de Salamanca Departamento de Informtica y Automtica
sequence
diagram:View
dynamic
model:Model
Atrib.
Mtod.
Jerarqua
AKO
Clases
Jerarqua
APO
Estructura
Emplazado en
Emplazado en
Asociacin
EMPLAZAMIENTO
15
16
17
Introduccin
18
19
20
Un empleado representa
la abstraccin de un
trabajador de una
determinada empresa
empleado-1
empleado-2
empleado-3
21
22
Artculo, pasajero
Conceptos abstractos
Cosas contenidas
Tienda
Contenedores
Lugares
Organizaciones
Lnea de venta
Interacciones: transacciones o contratos que se dan entre dos o ms objetos del modelo
Ansia, claustrofobia
23
Sensor
Compaa area
24
Balance: Representa una cantidad, esto es, balance como atributo de Cuenta
Atributos comunes: Todas las instancias del nombre comparten los mismos atributos
Cliente [getName()]
25
26
Identificar candidatos
27
En singular
Tan concretos como sea posible
Ni polisemias, ni acrnimos
28
Heursticas
Parte de la oracin
Nombre propio
Nombre comn
Verbo accin
Verbo de existencia
Verbo de posesin
Verbo afirmativo
Adjetivo
Frase adjetiva
Instancia
Clase
Operacin
Clasificacin
Composicin
Condicin de invarianza
Valor o clase (atributo)
Asociacin
Operacin
Verbo transitivo
Verbo intransitivo
Operacin
Excepcin o suceso
Ejemplo
Puzzle
Juguete
Guardar
Es un
Tiene un
Posee
Inadecuado
Cliente con nios
Cliente que compr el
puzzle
Entrar
Depende
29
Se deben eliminar
30
TrabajoMantenimiento RegistroDeMantenimiento
A se conoce/registra/recoge/informa/captura en B
DescripcinDelVuelo Vuelo
Vuelo PlanificacinVuelo
A es una descripcin de B
Pasajero Avin
EtapaVuelo RutaVuelo
Ala Avin
Reserva ListadePasajeros
A es miembro de B
Piloto CompaaArea
31
A utiliza o gestiona a B
Ciudad Ciudad
A es propiedad de B
Reserva Cancelacin
A est al lado de B
Pasajero Billete
AgenteDeReservas Pasajero
Piloto Avin
A se comunica con B
Mantenimiento CompaaArea
Avin CompaaArea
Salida Vuelo
32
Un tipo de dato para UML implica un conjunto de valores para los cuales no es
significativa una identidad nica (en el contexto del modelo o sistema en el que se
est trabajando) [Rumbaugh et al., 1999]
33
34
Una subclase debe ser miembro del conjunto de la superclase. Regla Es-un
[Larman, 2002]
Todos los miembros del conjunto de una subclase deben ser miembros del conjunto de
su superclase
35
36
37
Es til identificar las clases abstractas en el modelo del dominio porque esto
restringe las clases que pueden tener instancias concretas
Si cada miembro de una clase A puede ser tambin miembro de una subclase,
entonces A es una clase conceptual abstracta
A
B
38
No es til
Las subclases son
estados de la superclase
que cambian
PagoNoAutorizado
Mejor
Pago
PagoAutorizado
Pago
1
Est-en
EstadoPago
PagoNoAutorizado
PagoAutorizado
39
Agrupacin de intereses
40
Agregacin
Composicin
41
Agregacin
Composicin
42
Agregacin
Composicin
La multiplicidad en el
extremo del compuesto es 1
0..1
Multiplicidad en el extremo
de las partes del compuesto
Si el agregado se desmonta
o se destruye las partes no
tienen existencia propia
Las partes no se pueden
mover de una composicin a
otra
43
Ejemplo (i)
CursoAdaptable
Leccin
1..*
Ejercicios
44
Ejemplo (ii)
CursoFijo
TablaContenidos 1..*
{ordered}
Leccin
1
Ejercicios
Cursos fijos. Se crean y se entregan. Para crear un nuevo curso todo el material se crea
desde de cero
La tabla de contenidos es nica para cada curso
La tabla de contenidos hace referencia a cada leccin del curso. Cada leccin solamente
aparece en la tabla de contenidos del curso para el que fue desarrollada
Las lecciones se utilizan nicamente en el curso para el que fueron desarrolladas
Los ejercicios se utilizan nicamente en las lecciones para las que fueron desarrollados
45
46
47
48
49
Modelo de anlisis
Clase de anlisis
Realizacin de casos de uso anlisis
Paquete de anlisis
Descripcin de la arquitectura (vista del modelo de
anlisis)
50
51
Sistema de
anlisis
1
1
Paquete de
anlisis
*
*
Clase de anlisis
Entidad
Interfaz
Control
53
Objetos Control: Representan las tareas realizadas por el usuario y soportadas por el sistema
Comportamiento
Informacin
Presentacin
Universidad de Salamanca Departamento de Informtica y Automtica
54
55
Notacin
Clase de entidad
Clase de interfaz
Clase de control
entity
boundary
control
Nombre_clase
Nombre_clase
Nombre_clase
56
Clase de entidad
57
58
Recomendaciones
Identificar una clase de interfaz central para cada actor sistema externo
59
Clase de control
Los objetos de control actan como unin entre los objetos interfaz y
entidad
No siempre aparecen
60
Modelo de anlisis
trace
Caso de uso
Universidad de Salamanca Departamento de Informtica y Automtica
61
Paquete de anlisis
62
Descripcin de la arquitectura
63
64
65
66
Definir interacciones
Definir atributos
Definir relaciones
Consolidar el modelo
Revisar el modelo
Universidad de Salamanca Departamento de Informtica y Automtica
67
Escanear - NO
introducirArtculo - SI
68
Para cada caso de uso identificar los objetos que participan en cada
caso de uso
69
Definir interacciones
Recomendaciones
70
Heursticas
clase interfaz
clase entidad
clase interfaz
clase entidad
71
Describir responsabilidades
Definir interacciones
72
6. Cuestiones y ejercicios
73
Mquina de reciclado
<<include>>
Imprimir informacin
<<include>>
Cliente
Devolucin de elementos
Generar informe diario
Operador
<<extend>>
Elemento atascado
Receptor de recibos
74
75
76
devuelto
El total diario de elementos depositados se incrementa, as como el total de
elementos que el cliente ha depositado
77
78
79
80
PanelCliente
BotnInicio
BotnRecibo
SlotBotes (sensor)
SlotBotellas (sensor)
SlotEnvases
Universidad de Salamanca Departamento de Informtica y Automtica
(sensor)
81
Receptor de recibos
Impresora
Cliente
PanelOperador
PanelCliente
Operador
Alarma
82
<<boundary>>
BotnInicio
<<boundary>>
PanelCliente
<<boundary>>
SlotBotellas
<<boundary>>
BotnRecibo
<<boundary>>
SlotEnvases
83
84
ReceptorElementos
GeneradorInformes
85
<<boundary>>
PanelCliente
<<entity>>
ReciboBase
<<control>>
ReceptorElementos
<<boundary>>
Impresora
<<entity>>
ElementoDepositado
86
2: nuevo():void
p an el
PanelCliente
1.1: create()
Ob j ec t 2
ReciboBase
Ob j ec t 4
ImpresoraRecibos
Ob j ec t 1
ReceptorElem entos1
2.1: item():void
Mientras se
depositen
elementos
3: recibo():void
Ob j ec t 3
ElementoDepositado
2.1.1: exists():void
2.1.2: insertItem (item):void
2.1.2.1: incrementa():void
3.1: printRecibo():void
3.1.1: imprim e(Logo,Fecha):void
3.1.2: printOn(ostream ):void
3.1.2.1: getName():void
3.1.2.2: getValue():void
3.1.3: imprim e(cadena):void
3.1.4:
3.2:
87
Cuestiones y ejercicios
Realizar el modelo
Realizar el modelo
transporte
Realizar el modelo
Realizar el modelo
88
7. Lecturas complementarias
89
Lecturas complementarias
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W. Modelado y Diseo
Orientados a Objetos. Metodologa OMT. Prentice Hall, 2 reimpresin, 1998
Rumbaugh, J. OMT Insights. Perspectives on Modeling from the Journal of ObjectOriented Programming. SIGS Books Publications, 1996
90
8. Referencias
91
Referencias
[Abbott, 1983] Abbott, R. J. Program Design by Informal English Descriptions. Communications of the
ACM, 26(11):882-894. November 1983
[Bruegge y Dutoit, 2000] Bruegge, B., Dutoit, A. Object-Oriented Software Engineering. Prentice-Hall,
2000
[Coad y Yourdon, 1990] Coad, P., Yourdon, E. OOA - Object-Oriented Analysis. Prentice-Hall, 1990
[Fowler, 1996] Fowler, M. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1996
[Hay, 1996] Hay, D. Data Model Patterns: Conventions of Thought. Dorset House, 1996
[IEEE, 1999] IEEE. IEEE Software Engineering Standards Collection 1999 Edition. Volume 1: Customer and
Terminology Standards. IEEE Computer Society Press, 1999
[Jacobson et al., 1999] Jacobson, I., Booch, G., Rumbaugh, J. The Unified Software Development
Process. Object Technology Series. Addison-Wesley, 1999
[Larman, 2002] Larman, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and
Design and the Unified Process. 2nd Ed. Prentice Hall, 2002
[Martin y Odell, 1995] Martin, J., Odell, J. Object-Oriented Methods: A Foundation. Prentice-Hall, 1995
[Monarchi y Puhr, 1992] Monarchi, D. E., Puhr, G. I. A Research Typology for Object-Oriented Analysis
and Design. Communications of the ACM, 35(9):35-47. September 1992
[Rumbaugh et al., 1999] Rumbaugh, J., Jacobson, I., Booch, G. The Unified Modeling Language.
Reference Manual. Addison-Wesley, Object Technology Series, 1999
[Shlaer y Mellor, 1988] Shlaer, S., Mellor S. J. Object-Oriented Analysis: Modeling the World in Data.
Yourdon Press, 1988
Universidad de Salamanca Departamento de Informtica y Automtica
92