2. Conceptos
¿Que es un documento de visión?:
Explica las características del usuario (demographics),
sus perfiles, ambientes y requerimientos.
Expresa la visión en términos de casos de uso.
Describe brevemente las oportunidades del negocio
identificadas por el proyecto.
Identifica la capacidad necesaria del sistema para
lograr beneficios al usuario.
Identifica los problemas resueltos por el Sistema de
información.
CAL/Modelo de Análisis
3. Asociaciones
Los vinculos de Asociación conectan elementos
similares del modelo en diagramas de casos de uso.
Veremos vínculos <<extends>> e <<includes>>. Muchas
veces, la misma funcionalidad es compoartida por varios
casos de uso diferentes. Una asociación unidireccional
proporcionma una ruta de comunicación. La
comunicación puede ser entre casos de uso y actores,
entre dos clases o entre una clase y una interface. Las
asociaciones son las mas comunes de los vinculos y
consecuentemente los mas débiles semanticamente. Si
los dos objetos son considerados independientes, el
vínculo es una asociación.
CAL/Modelo de Análisis
4. Diagramas de Casos de Uso
Un diagrama de Casos de uso del sistema describe
gráficamente el comportamiento del sistema. Estos
diagramas presentan una vista de alto nivel del sistema
desde una perspectiva externa. Un diagrama de casos
de uso puede mostrar todos o algunos de los casos de
uso del sistema. Durante el análisis de requerimientos
se crea el Diagrama de casos de uso. ¿Que cosas
contiene un diagrama de casos de uso?:
Actores - “cosas" fuera del sistema
Casos de Uso – funciones del sistema
Interacciones o vínculos entre actores y casos de uso,
incluyendo asociaciones y generalizaciones .
CAL/Modelo de Análisis
5. Extend e Include
Un relación extend entre casos de uso
opcionalmente adiciona la funcionalidad de
otro caso de uso cuando ciertas condiciones
se alcanzan. Una relación include significa
que un caso de uso forma parte siempre de
la funcionalidad de otro caso de uso.
CAL/Modelo de Análisis
6. El modelo de Análisis
El modelo de análisis es un modelo de
objetos que describe la realización de
los casos de uso del sistema, y sirve
como una simplificación del modelo de
diseño. Alguno de las elementos con
los que se trabaja aquí son : clases
objeto, diagramas de clase, diagramas
de secuencia y diagramas de estados.
CAL/Modelo de Análisis
7. Clases De Análisis
Uno de los mas comunes elementos hallados en el
modelo de análisis son las clases de análisis, o
algunas veces llamados objetos de análisis. Las
clases de análisis son clases estereotipadas que
representan un modelo conceptual inicial para
elementos en el sistema que tienen responsabilidad y
comportamiento. Existen tres tipos de clases de
análisis y ellas son usados en todo el modelo de
análisis:
Interfaz
Control
Entidad.
CAL/Modelo de Análisis
8. Clase interfaz
Una clase interfaz es una clase estereotipada que modela
la interacción entre uno o mas actores y el sistema. Puede
usar las clases interfaz para capturar los requerimientos
de una interface de usuarios. Las clases interfaz pueden
ser ventanas, impresoras, sensores y terminales. Puede
ser una pantalla de logon, la clase interfaz pantalla de
logon representa una interface que el empleado debe usar
para ganar acceso al sistema. Esta le pedirá un user id y
una contraseña. La pantalla de Logon se conecta con la
clase control Verifica Logon a través de una asociación
pues la clase de control verifica logon debe confirmar que
aquel user id y contraseña es correcta.
CAL/Modelo de Análisis
9. Clases De Análisis
Active POS Machines
Logon Screen
Verify Login
Clerk Repository
Clerk Profile
POS Screen
Create Retail Sale Retail Sale
Receipt Printer
CAL/Modelo de Análisis
10. Clase Control
Una clase control modela el comportamiento específico de
uno o unos pocos casos de uso. Una clase control
frecuentemente controla otros objetos y encapsula el
comportamiento específico del caso de uso. Las clases
control coordinan el comportamiento del sistema y ellas
representan la dinámica de un sistema, manejando las
tareas principales y flujo de control. Revise las clases de
control Verify Login y create retail sale. La clase Verificar
Logon representa la dinámica del sistema cuando este
valida la información de logon y registra a la máquina
como como una máquina activa POS. La clase Crear
venta al detalle (Create Retail Sale) coordina la busqueda
del producto y el pago en efectivo o crédito.
CAL/Modelo de Análisis
11. Clases De Análisis
POS Screen
Create Retail Sale Retail Sale
Receipt Printer
BarCode Scanner Scan Product
Accept Payment
Cash Drawer
Product
Store Inventory
CAL/Modelo de Análisis
12. Clase Entidad
Una clase entidad modela la información almacenada
por el sistema y su comportamiento asociado. Una
clase entidad tiene características de persistencia
que son frecuentemente reusadas en otros casos de
uso del sistema. Las clases Entidad muestran la
estructura de datos lógica del sistema. La clase
“Clerk Profile” contiene el archivo de trabajo del
oficinista mientras que la clase “active POS
machines” almacena toda la información de las
máquinas que han estado “logeadas” al sistema.
CAL/Modelo de Análisis
13. Clases De Análisis
Active POS Machines
Logon Screen
Verify Login
Clerk Repository
Clerk Profile
POS Screen
CAL/Modelo de Análisis
14. Realización del caso de uso
Una realización de caso de uso representa la
perspectiva de diseño de un caso de uso. Es un
elemento de organización del modelo usado para
agrupar un número de artefactos relacionados al diseño
de un caso de uso. Los casos de uso estan separado de
sus realizaciones de modo que puedan manejarse
individualmente y de este modo pueda cambiar el
diseño del caso de uso sin afectar los casos de uso
base. Para cada caso de uso en el modelo de casos de
uso existe una realización de casos de uso en el modelo
de diseño con una dependencia (estereotipada
«realize») hacia el caso de uso.
CAL/Modelo de Análisis
15. Realización del caso de uso
<<extend>> Browse Catalog
(from eCommerce System)
<<realizes>>
Place Order
(from eCommerce System) Browse Catalog
<<realizes>>
Place Order
CAL/Modelo de Análisis
16. Realización del Caso de uso y
diagramas de interacción
Para cada realización de casos de uso existen uno o mas
diagramas de interacción que muestran objetos y sus
interacciones. Los diagramas de interacción muestran
como cada clase Interfaz, Control y Entidad se
corresponden y relacionan una a otra. Ambos tipos de
diagramas, de secuencia y colaboración, muestran similar
información de diferente manera. Los diagramas de
secuencia muestran como los objetos interactúan para
ejecutar el comportamiento de un caso de uso
cronológicamente. Los diagramas de colaboración
muestran las relaciones entre los objetos.
CAL/Modelo de Análisis
17. Realización de CUS
Insumo es el Modelo de Casos de Uso:
CAL/Modelo de Análisis
18. Clases de Análisis
Cada CUS puede tener uno o mas
diagramas de clases
CAL/Modelo de Análisis
19. Diagramas de colaboración
Describe parte del flujo de eventos. Muestra los objetos y
las clases a las que pertenecen (subrayadas).
NombreObjeto : NombreClase
CAL/Modelo de Análisis
20. Realización de casos de uso
con Diagramas de
Colaboración
Sobre cualquier diagrama de interacción presionando la
tecla F5 se muestra el diagrama opuesto. Por ejemplo si
presiona F5 estando en un diagrama de secuencia
aparecerá el diagrama de colaboración correspondiente.
Sobre el diagrama de colaboración, se organizan los
objetos y mensajes para tener una mejor vista de la
interacción entre los objetos. Note la numeración en el
diagrama de colaboración “Credit Sale”. La numeración
de los mensajes identifican el orden de los eventos en el
tiempo a medida que los mensajes fluyen de objeto a
objeto.
CAL/Modelo de Análisis
21. Realización de casos de uso
con Diagramas de Colaboración
1: new sale
7: adjust quantity
8: total sale
11: enter cash accepted
: Sales Clerk : POS Screen
13: compute change()
2: new sale
9: total sale
: Retail Sale 12: cash accepted(amount) : BarCode Scanner
15: add cash, return change
3: create 4: item( aProductCode )
6: add(Product, Integer, Currency)
10: get total()
5: get product(String)
16: closed
: Create Retail Sale
17: print transaction( aRetailSale )
14: open
: Store Inventory
: Cash Drawer
: Product : Receipt Printer
CAL/Modelo de Análisis
22. Realización De Casos de uso
y Diagramas De Interacción
: Sales Clerk : POS Screen : Create Retail Sale
1: new sale
2: new sale
3: create
4: item( aProductCode )
5: get product(String)
6: add(Product, Integer, Currency)
7: adjust quantity
Continue to scan items until
there are no more left
CAL/Modelo de Análisis
23. Realización de Casos de Uso
con Diagramas de Secuencia
Ejemplo: El equipo de análisis ha creado dos diagramas de
secuencia bajo la realización del caso de uso “Process
Sale” Cada diagrama representa un flujo separado en el
sistema. Un diagrama representa un flujo de venta al
crédito y el otro diagrama representa un flujo de venta al
contado. Ambos diagramas utilizan muchas de las mismas
clases de análisis, pero el orden cronológico entre clases
es diferente. Se muestra todas las clases en el tope del
diagrama y los mensajes que muestran el flujo cronológico
de eventos entre clases en el diagrama de secuencia.
CAL/Modelo de Análisis
24. Diagrama de estados
Un diagrama de estados es una máquina de estados que
modela el comportamiento cambiante de un estado. Los
diagramas de estado muestran los varios estados por los
cuales un objeto pasa, asi como los eventos que causan
una transición de un estado a otro. Por ejemplo
suponiendo hallamos ordenado un nuevo computador
desde una tienda en línea. Pocos dias despues de haber
colocado la orden llamamos al departamento de servicios
al cliente y preguntamos acerca del estado de nuestra
orden. El representante de servicio responde diciendo que
“el pago está pendiente" o la orden ha sido “enviada“.
“pago pendiente" o “enviada" son “estados" de la orden.
Un diagrama de estados representa los estados del ciclo
de vida de un objeto.
CAL/Modelo de Análisis
25. Diagrama de estados
Lo que contiene un diagrama de estados:
Estados
Inicio y Final
Transiciones
Entry, do, y exit
Un estado representa una condición durante la vida de un
objeto durante la cual este satisface algunas condiciones o
espera por algún evento. Los estados de inicio y final
representan el principio y el final de un proceso. Una
transición de estados es una relación entre dos estados
que indica cuando un objeto puede mover el enfoque de
control hacia otro estado cuando ciertas condiciones se
alcanzan.
CAL/Modelo de Análisis
26. Diagrama de estados
Cada estado en un diagrama de estados puede
contener multiples acciones internas. Una acción es
descrita como una tarea que toma lugar dentro de un
estado, existen cuatro posibles acciones:
On entry
On exit
Do
On event
La clase online order es compleja y necesita un
diagrama de estados que muestre los estados de la
clase.
CAL/Modelo de Análisis
27. Diagrama de estados
line item added
create new New Order
do/ add line items
add customer information
Customer Canceled
after 15 min.
Order
entry/ record cancellation
payment information added
payment rejected
Completed Request
entry/ authorize payment
payment received
Confirmed Shipped
shipped to customer
entry/ notify customer entry/ notify customer
CAL/Modelo de Análisis