2. Análisis Del Problema
Criterio para las clases analisis del
problema:
Los siguientes elementos vienen a ser buenos
candidatos para clases de dominio del
problema:
Actores
Suministros y Materiales
Productos
Registros de transacciones, como adquisición, ventas,
mantenimiento y disposición.
CAL/Fundamentos 2
3. Análisis Del Problema
Buenas clases del dominio del
problema para una tienda de flores:
Actores: Tomador de orden, Floristas,
Conductores, personas de ventas,
tenedor de libros.
Suministros y materiales: Flores, Papel,
vasos, alambre, tarjetas y asi.
CAL/Fundamentos 3
4. Análisis Del Problema
Productos: arreglos de flores, artículos
de regalo.
Registros: Ordenes, despachos,
recepción de ventas, factura del cliente,
factura del proveedor.
CAL/Fundamentos 4
5. Análisis Del Problema
Identificar Clases y objetos
Inspección gramatical a partir del vocabulario
del dominio del problema.
1. Encontrar nombres – Leer la declaración del
problema y la documentación asociada y
destaque los nombres, sustantivos. Los
sustantivos se transforman en clases u objetos
o atributos, o valores de atributos. De igual
forma los verbos revelan operaciones u
asociaciones.
CAL/Fundamentos 5
6. Análisis Del Problema
Texto Elemento del Modelo
Sustantivo Objeto (útil como data de prueba
Clase
Atributo
Valor de Atributo
Verbo Asociación
Operación
Evento
Adjetivo Estado
CAL/Fundamentos 6
7. Análisis Del Problema
2. Evalúe los nombres (sustantivos) para
hallar las clases: Algunas preguntas:
¿Es el término necesario dentro del alcance del
proyecto?
Si es así, ¿El nombre califica como recurso del
dominio del problema? Pensar en el nombre de
clase apropiado para el recurso del dominio al cual
se refiere el nombre.
De otro modo, ¿ el nombre es un ejemplar de
clase, por ejem. Un objeto, una instancia de una
clase? – escriba este hecho para referirlo cuando
se necesite data de prueba.
CAL/Fundamentos 7
8. Análisis Del Problema
De otro modo, ¿es el nombre un atributo de
una clase?, ¿de que clase?. Escríbalo.
De otro modo, ¿el nombre es un ejemplar de
atributo, un valor de atributo’ escriba este
hecho para referirse a el cuando necesite data
de prueba.
Asegúrese de concordar los términos.
Frecuentemente encontrará sinónimos.
CAL/Fundamentos 8
9. Análisis Del Problema
3. Defina el propósito – Describa porque la
clase es un recurso necesario del dominio
del problema. Ejem. “nuestro auditorio es
utilizado por tipos diferentes de eventos.
Algunos eventos son de una sola vez,
tales como juego de Basquet. Otros
eventos comprenden una número de
presentaciones como obras o
conciertos”
CAL/Fundamentos 9
10. Análisis Del Problema
Términos No es clase Clase Propósito Clase
Auditorio Auditorio El lugar donde se llevan a
cabo los eventos y para los
cuales se venden boletos
Evento Evento Una actuación negociada
por el planeador de eventos
y llevada a cabo en una o
mas presentaciones.
Juego tipo de evento
Basquet
Presentación Presentación Un simple presentación de
un evento
Obra Tipo de evento
Concierto Tipo de evento
CAL/Fundamentos 10
11. Máquina de Estados
Muchos objetos requieren la aplicación
de una máquina de estados. Una
máquina de estados describe un
objeto en términos de los estados que
atraviesa desde su creación hasta su
terminación. El movimiento de un
estado a otro se activa por los
eventos. La transición real de un
estado a otro se logra por una acción.
CAL/Fundamentos 11
12. Estado y Transición
Estado:
La condición de un objeto en un punto del
tiempo.
Transición:
Un cambio de un estado a otro estado dentro
de un objeto.
CAL/Fundamentos 12
13. Diagrama de Estados
El diagrama de transición de estados
es el estandar UML para modelar
respuestas del objeto a los eventos y
para rastrear las transiciones en los
estados del objeto. El diagrama de
transición de estados proporciona la
notación para describir eventos,
estados, transiciones, acciones, y
actividades para un objeto.
CAL/Fundamentos 13
14. Diagrama de Estados
En muchos sistemas, existen al menos
unas pocas clases de objeto clave que
sufren cambios sustanciales durante su
tiempo de vida. Para estos objetos, un
único evento puede resultar en muchas
respuestas diferentes basadas en las
condiciones actuales del objeto. La
condición del objeto es referida como el
estado del objeto.
CAL/Fundamentos 14
15. Diagrama De Estados
Estado del objeto: El estado se define
por los valores de los atributos y las
relaciones del objeto. Por ejemplo,
cuando se abre una cuenta de crédito,
un intento de comprar un artículo
resultaría en una comparación del monto
comprado y el crédito disponible. Cuando
la cuenta de crédito es cerrada, un
intento de comprar artículos resultaría en
un error.
CAL/Fundamentos 15
16. Diagrama De Estados
Igualmente, una relación puede
provocar una respuesta diferente. Por
ejemplo, cuando en el sistema de
boletaje un AsientoPresentación no
está asociada con un NivelDePrecio, no
puede venderse. Una vez que se
establezca el enlace con el
NivelDePrecio, el AsientoPresentación
se puede vender.
CAL/Fundamentos 16
17. Diagrama De Estados
El diagrama de estados no se usará
para todas las clases del modelo. El
diagrama de estados es una
herramienta de propósito especial que
se emplea solo para objetos que
poseen substancial comportamiento de
estados específico. ¿cómo reconcer
esos objetos? ...
CAL/Fundamentos 17
18. Diagrama De Estados
Una técnica es revisar los diagramas
de interacción e identificar aquellos
objetos que participan en muchos, o
mas aún todos, los escenarios.
Específicamente, busque aquellos
objetos que tengan mas flechas de
evento entrantes, pues cada evento
entrante tiene el potencial de cambiar
el estado actual del objeto.
CAL/Fundamentos 18
19. Diagrama De Estados
El objeto permanece en una condición o estado hasta que algo
le ocurra al objeto que active un cambio en el estado llamado
“transición”.
A B C
CAL/Fundamentos 19
20. Revisión D. Estados Notación
Revisar la notación del diagrama de estados en la
presentación:
UML – Diagrama de Estados.
En el siguiente ejemplo se ayuda a empezar la
construcción de un diagrama de estados usando
un diagrama de secuencia como fuente. Los
ejemplos son muy pequeños de modo que se
puede enfocar en los mecanismos mas que en la
complejidad del dominio del problema. Pero la
misma estrategia se puede emplear a media que
la complejidad del dominio se incrementa.
CAL/Fundamentos 20
21. Revisión D. Estados Notación
Identifique los estados.
aGestionFacilidad aPresentación aAsientoPresentación
CrearPresentación
CrearAsientoPresentación El objeto no existe hasta
que el el evento lo crea. El
Hecho
objeto comienza en un
Hecho estado inicial: “sin precio,
no seleccionado, y no
vendido”
Caso de Uso: Planear Presentación
Escenario: Programar Presentación con éxito
CAL/Fundamentos 21
22. Revisión D. Estados Notación
Identifique los eventos que activan la
transición entre estados.
aGestionFacilidad aPresentación aAsientoPresentación
CrearPresentación
CrearAsientoPresentación
Transición eventos
Hecho
Hecho
Caso de Uso: Planear Presentación
Escenario: Programar Presentación con éxito
CAL/Fundamentos 22
23. Revisión D. Estados Notación
Dibuje el diagrama de estados
aGestionFacilidad aPresentación aAsientoPresentación
CrearPresentación
CrearAsientoPresentación
Hecho
Hecho
Sin precio
No separado
No vendido
Caso de Uso: Planear Presentación
Escenario: Programar Presentación con éxito
CAL/Fundamentos 23
24. Revisión D. Estados Notación
Mezcle el nuevo diagrama con el diagrama
previo para formar un único diagrama de
estados para el AsientoPresentación.
aGestionFacilidad aAsientoPresentación
Sin precio
Precio(NivelDePrecio) No separado
No vendido
Hecho
Precio(NivelDePrecio
Con precio
No separado
Caso de Uso: Planear Presentación
No vendido
Escenario: Programar Presentación con éxito
CAL/Fundamentos 24
25. Patron Diseño de Estado
Sin precio No Disponible
No separado
No vendido
Para cada estado en el diagrama Precio(NivelPrecio)
de estados, crear su RemoverPrecio()
Con precio
No separado
correspondiente definición de No vendido
Disponible
clase. Cancel() Select()
con precio Reembolsar()
separado
Separado No vendido
AsientoPresentación
Compra(TipoPrecio)
estado
con precio
Vendido No separado
vendido
NoDisponible Disponible Separado Vendido
CAL/Fundamentos 25