Está en la página 1de 193

Anlisis Orientado a

Objetos con UML


Elaborado por: Alan Caldern Castro
Universidad de Costa Rica
Preparadopor: Alan Caldern Castro (UCR)
Objetivos del curso
Al finalizar el curso el participante ser
capaz de:
Comprender y usar UML para hacer anlisis
orientado a objetos.
Elaborar especificaciones de sistemas de
software.
Usar con fluidez las facilidades
correspondientes de una herramienta apropiada.
Preparadopor: Alan Caldern Castro (UCR)
Contenidos del curso
Generalidades de UML.
Caractersticas generales del modelo de proceso.
Modelo de Casos de Uso y objetos de frontera
(RUP).
Rastreabilidad entre casos de uso y
requerimientos.
El Modelo del Negocio (RUP):
El Modelo de Procesos Organizacionales (RUP).
El Modelo del Dominio (RUP y Larman).
El Modelo Relacional para la Persistencia de
Objetos.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(Para qu sirve?)
El Unified Modeling Language o Lenguaje Unificado de
Modelaje sirve para:
Visualizar el diseo de sistemas: facilita la comunicacin entre
los desarrolladores y la toma de decisiones de diseo en forma
colaborativa.
Especificar el diseo de sistemas: permite crear descripciones
precisas de un sistema de software, que puedan ser fcilmente
comprendidas por todos los miembros de un equipo de
desarrollo.
Construir el diseo de sistemas: aunque no es un lenguaje de
programacin visual, es fcil generar programas a partir de las
especificaciones precisas que se pueden elaborar con UML.
Documentar el diseo de sistemas: Todas las decisiones pueden
quedar bien documentadas por medio de artefactos de UML.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(En qu consiste?)
Es un lenguaje grfico elaborado para facilitar el modelaje
de sistemas de software.
Se compone de un conjunto amplio de bloques de
construccin (o primitivas semnticas) y un conjunto de
reglas para interrelacionarlos, que permiten modelar tanto
los aspectos estticos como los dinmicos de un sistema de
software.
Se compone de mecanismos de extensin (los estereotipos)
que permiten ampliar el conjunto de las primitivas semnticas
para modelar de manera ms precisa dominios de aplicacin
especficos.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(Cules son sus antecedentes?)
Fue elaborado por los tres amigos: Rumbaugh, Booch y
Jacobson, patrocinados por la empresa Rational.
La OMT (Object Modeling Technique) de Rumbaugh aport
los modelos de objetos, los diagramas de estado transicin y
ciertas especializaciones orientadas a sistemas de
informacin de gran tamao.
El mtodo de Booch aport las primitivas semnticas
relevantes a nivel del diseo fsico de los sistemas.
El OOSE (Object Oriented Software Engineering) de
Jacobson aport el concepto de caso de uso til en el
modelaje de los requerimientos de un sistema.
La nueva versin (2.0) ha sido adoptada por Object
Managment Group y se denomina OMG UML.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(Visin arquitectnica de los sistemas que propone el UML)
Los creadores de UML proponen que para la construccin de sistemas
complejos y crticos no basta una sola perspectiva. Son necesarias
cinco perspectivas.
Vista lgica
Vista de procesos
Vista de componentes
Vista de implantacin
Vista de casos de uso
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(La vista de casos de uso)
No indica cmo se organiza el sistema, pero ms bien lo que
debe hacer.
Abarca los requerimientos del sistema descritos en forma de
casos de uso, tal y como son vistos por los usuarios finales,
los analistas y los encargados de las pruebas.
Los aspectos estticos es especifican mediante diagramas de
casos de uso.
Los aspectos dinmicos se especifican mediante diagramas
de secuencias de eventos y diagramas de actividades
principalmente.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(La vista de lgica)
Abarca las clases, interfaces y colaboraciones que forman el
vocabulario o marco conceptual del problema y su solucin.
Esta vista permite visualizar cmo se soporta la
funcionalidad del sistema, es decir los requerimientos.
Los aspectos estticos se especifican mediante los
diagramas de objetos y de instancias.
Los aspectos dinmicos se especifican mediante los
diagramas de secuencias de eventos, de colaboracin, de
estados y de actividades.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(La vista de procesos)
Abarca los procesos e hilos que conforman los mecanismos de
sincronizacin y concurrencia del sistema modelado.
Los aspectos estticos se especifican mediante los
diagramas de objetos y de instancias, pero se hace nfasis
en los objetos activos.
Los aspectos dinmicos se especifican mediante los
diagramas de secuencias de eventos, de colaboracin, de
estados y de actividades, pero se hace nfasis en los
objetos activos.
Los objetos activos son los que representan a procesos e
hilos de un sistema.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(La vista de componentes)
Abarca los archivos que se utilizan para construir el sistema,
as como los mdulos a que dan origen despus de la
compilacin y el linking.
Esta vista tambin permite la gestin de la configuracin del
sistema pues se pueden representar versiones de archivos y
mdulos y correlacionarlos con las versiones del sistema.
Los aspectos estticos se especifican por medio de los
diagramas de componentes.
Los aspectos dinmicos se pueden especificar mediante
diagramas de secuencias de eventos y colaboracin, pero
raramente se usan en este contexto.
Preparadopor: Alan Caldern Castro (UCR)
Introduccin al UML
(La vista de implantacin)
Abarca la topologa del hardware sobre el cual se implanta el
sistema, as como la distribucin de componentes entre los
distintos nodos de la topologa del hardware.
Los aspectos estticos se especifican mediante los
diagramas de implantacin.
Los aspectos dinmicos se especifican mediante los
diagramas de secuencias de eventos, de colaboracin y de
actividades, aunque es poco usual que se usen en este
contexto.
Caractersticas generales
de un modelo de proceso
iterativo
Preparadopor: Alan Caldern Castro (UCR)
Modelo de proceso del desarrollo
de software
Notacin de modelaje basada en Unified
Modeling Language (UML).
Iterativo e incremental.
Controlado por casos de uso.
Proceso orientado a la arquitectura.
Control de calidad mediante revisiones
tcnicas formales.
Preparadopor: Alan Caldern Castro (UCR)
Caractersticas del modelo de
proceso de desarrollo de software
Modelado Orientado a Objetos.
Diseo Orientado a Componentes.
Herramientas a usar:
Alguna herramienta adecuada para el
diagramado de las vistas.
MS-WORD.
Plantillas y listas de chequeo disponibles.
Preparadopor: Alan Caldern Castro (UCR)
Fase Preliminar del
Proceso de desarrollo
Al principio se hace un anlisis de
requerimientos del sistema que tpicamente
abarca aspectos del contexto,
identificacin de requerimientos
funcionales y no funcionales.
Con base en el documento se identifican
casos de uso (CU) y se hace una
especificacin preliminar no detallada.
Luego se inicia la primera iteracin.
Preparadopor: Alan Caldern Castro (UCR)
Modelo de Proceso
Iterativo e Incremental
Las actividades de cada iteracin son:
Planeamiento.
Elaboracin de la Vista de Casos de Uso y los
objetos de frontera.
Elaboracin de casos de prueba.
Elaboracin del modelo detallado de clases de
anlisis segn se requiera.
Preparadopor: Alan Caldern Castro (UCR)
Modelo de Proceso
Iterativo e Incremental
Actividades de cada iteracin (cont.):
Diseo detallado de objetos (orientado a
tecnologa especfica).
Programacin orientada a objetos.
Empaquetamiento de objetos en Componentes.
Verificaciones intercaladas.
Pruebas y depuracin.
Preparadopor: Alan Caldern Castro (UCR)
Modelo de Proceso
Controlado por Casos de Uso
En cada planeamiento se hace lo siguiente:
Se agregan, modifican o eliminan casos de uso.
Se priorizan (o re-priorizan) los CU pendientes.
Se escogen unos CU para su especificacin.
Con base en el subconjunto de casos de uso
escogido, se realizarn todas las dems
actividades mencionadas.
Al final de cada iteracin, la funcionalidad
cubierta por los casos de uso escogidos
deber ser completamente operativa.
Preparadopor: Alan Caldern Castro (UCR)
Documento Preliminar
El proceso en este curso arranca con un
anlisis de requerimientos parcial:
Requerimientos Funcionales.
Requerimientos no Funcionales, por ejemplo:
Requerimientos de Desempeo.
Requerimientos de Mantenibilidad y Reutilizacin.
Restricciones Tecnolgicas.
Otros.
Otras consideraciones del contexto organizacional.
Modelo de Casos de Uso (MCU)
1. Notacin bsica y vista preliminar
Preparadopor: Alan Caldern Castro (UCR)
Casos de Uso y Actores
Un casode usorepresentaun proceso
de interaccinhumano-
sistema,relevanteparael negocioen el
queintervienenactoreshumanosu
otrossistemas.
Un actor puederepresentar a un
usuarioo a otrosistemacon el
queel sistemainteracta.
Preparadopor: Alan Caldern Castro (UCR)
Casos de Uso y Actores
Un caso se caracteriza como:
un fragmento de funcionalidad del sistema
que proporciona al usuario un resultado
importante. Los casos de uso representan los
requisitos funcionales (Jacobson, Booch y
Rumbaugh).
Una secuencia o ciclo de interacciones finito
entre un sistema y uno o ms usuarios que
ofrece un resultado relevante para los usuarios
al participar en los procesos del negocio.
Preparadopor: Alan Caldern Castro (UCR)
Relaciones tpicas
entre casos de uso
Un caso de uso X extiende a
otro Y:
Un caso de uso X extiende a otro Y: bajo
ciertas condiciones, el proceso de X se
puede ejecutar como parte de Y. Los
procesos de varios casos de uso que
extienden a Y pueden presentarse durante
su ejecucin.
Por ejemplo, en un caso de uso tpico de
mantenimiento de Expedientes Acadmicos,
el caso de uso principal que da entrada a
los casos tpicos es extendido por medio
operaciones tpicas.
<<extend>>
Y
X
Preparadopor: Alan Caldern Castro (UCR)
Relaciones tpicas
entre casos de uso
Un caso de uso X incluye a otro
Y:
Un caso de uso X usa a otro Y: indica que la
ejecucin de X siempre incluir la ejecucin
de Y.
Por ejemplo cuando un usuario intenta entrar
al caso de uso de mantenimiento de
expedientes, primero debe pasar por el
procedimiento de autorizacin.
<<include>>
Y
X
Preparadopor: Alan Caldern Castro (UCR)
Ejemplo de diagrama
de casos de uso
Preparadopor: Alan Caldern Castro (UCR)
Casos de uso abstractos
y concretos
En los ejemplos anteriores, todos son casos
de uso concretos, es decir implementan un
fragmento de funcionalidad de un producto
de software especfico.
Un caso de uso abstracto est constituido
por una secuencia o ciclo de interacciones
genrica y por ende reutilizable.
Un caso de uso concreto puede heredar y
extender las interacciones de uno
abstracto.
Preparadopor: Alan Caldern Castro (UCR)
Casos de uso abstractos
y concretos
En este caso Registrar
transaccin genrica est
constituido por una secuencia o
ciclo de interacciones que es
reutilizable a la hora de
especificar casos de uso
concretos como Registrar
factura.
La reutilizacin de casos es una
tcnica muy poderosa orientada
al desarrollo rpido y fiable de
software.
Registrar transaccin genrica
Registrar factura
Preparadopor: Alan Caldern Castro (UCR)
Para qu sirven los
casos de uso?
En resumen, un caso de uso:
Describe una secuencia o ciclo finito de
interacciones entre actores y el sistema.
Provee al actor(es) algn resultado importante.
Describe un proceso importante para el negocio.
Implementa requerimientos funcionales del
sistema.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de Casos de uso
Por medio de los actores
Identificar primero los actores relacionados
con el sistema o la organizacin.
Para cada actor identificar los procesos en que
participarn.
Por medio de los eventos
Identificar los eventos externos a los que el
sistema debe responder.
Relacionar dichos eventos con actores y luego
con casos de uso.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de Casos de uso
A partir del anlisis del documento de
requerimientos:
Los casos de uso siempre proveen
requerimientos ms especficos que los que
aparecen en el documento de requerimientos.
Por tanto, no existe una relacin 1:1 entre
requerimientos funcionales y casos de uso, ms
bien lo normal es que sea n:m.
Preparadopor: Alan Caldern Castro (UCR)
Nombres de casos de uso
y de actores
Los nombres de los casos de uso:
Deben representar procesos de interaccin, por lo que es
conveniente usar verbos en su forma infinitiva.
Tpicamente proveen operaciones sobre documentos u otro tipo
de objetos; en tal caso su nombre debe incluir sustantivos
(Registrar Compra, Editar Expediente, Obtener Documento
web).
Los nombres de los actores pueden representar:
Tipos de personas, cargos o funcionarios (Encargado, Jefe,
Digitador).
Algn sistema especfico con que el sistema objetivo
interactuar.
Una organizacin con la que la organizacin meta interactuar.
Preparadopor: Alan Caldern Castro (UCR)
Ejemplificar la elaboracin de
un modelo de casos de uso
A continuacin un ejemplo:
Se discute un documento de anlisis de
requerimientos.
Se crea un modelo de casos de uso apropiado.
Preparadopor: Alan Caldern Castro (UCR)
Paquetes de casos de uso
Es conveniente organizar jerrquicamente
los casos de uso porque:
En un sistema suficientemente complejo, puede
que se definan muchos casos de uso, lo cual
hara difcil la navegacin cuando se quiere
consultar o modificar las especificaciones.
Su agrupamiento puede ser el primer indicio
para la identificacin de subsistemas.
Su agrupamiento puede facilitar la divisin del
trabajo de su especificacin detallada en
equipos.
Preparadopor: Alan Caldern Castro (UCR)
Paquetes de casos de uso
Cada agrupamiento se debe asociar con un
paquete.
Un paquete puede contener:
Otros paquetes.
Uno o ms diagramas (al menos uno Principal).
Casos de uso y relaciones entre ellos.
Preparadopor: Alan Caldern Castro (UCR)
Paquetes de casos de uso
caso de uso
Paquete
Subpaquete
Macro proceso
Proceso
Micro proceso
As es como el Modelo de Casos de Uso (MCU) se
organiza jerrquicamente.
Es conveniente adoptar reglas de estilo para la
estructuracin de la MCU.
Preparadopor: Alan Caldern Castro (UCR)
Casos de Uso del Negocio
A diferencia de los casos de uso del sistema de
software, los casos de uso del negocio describen,
por analoga, cmo los clientes del negocio usan el
negocio para obtener servicios.
Los casos de uso del negocio son parte
fundamental del Modelo del Negocio.
Los casos de uso del negocio son flujos de
trabajo que representan procesos
organizacionales.
Los procesos organizacionales incluyen casos de
uso del sistema y otras actividades que no van a
ser soportadas por el sistema de software.
Preparadopor: Alan Caldern Castro (UCR)
Casos de Uso del Negocio
Los paquetes de casos de uso que representan
procesos tpicamente incluyen un flujo de trabajo
que abarca a todos los casos de uso del paquete.
Los procesos organizacionales se especifican mejor
con diagramas de actividades.
Nombres tpicamente apropiados para procesos
organizacionales son: Administracin de,
Gestin de, Actualizacin de, Inscripcin
de, etc.
Preparadopor: Alan Caldern Castro (UCR)
Paquetes de casos de uso
Reglas importantes a recordar:
Un CU pertenece solo a un paquete.
Un diagrama pertenece solo a un paquete.
Un paquete pertenece solo a un paquete.
Pero un CU puede aparecer en muchos
diagramas de distintos paquetes.
Cuando un CU aparece en diagramas de varios
paquetes, se generan dependencias entre
paquetes.
Preparadopor: Alan Caldern Castro (UCR)
Dependencias entre paquetes
de casos de uso
Paquete 02
Paquete 01
Indica que algn caso de uso
que pertenece al Paquete 02
aparece en algn diagrama del
Paquete 01
Preparadopor: Alan Caldern Castro (UCR)
Dependencias entre paquetes
de casos de uso
Dependencia de datos entre subsistemas.
Dados dos paquetes que representan subsistemas A
y B, si A requiere datos que encapsula B, se traza
una lnea de dependencia (flecha punteada) desde A
hacia B.
Dependencia de procesamiento entre
subsistemas.
Dados dos paquetes que representan subsistemas A
y B, si A requiere que ciertos datos sean procesados
por una operacin que encapsula B, se traza una lnea
de dependencia (flecha punteada) desde A hacia B.
Preparadopor: Alan Caldern Castro (UCR)
Priorizacin de casos de uso
Criterios a considerar en la priorizacin:
Impacto del caso de uso en el diseo del
sistema en trminos de cantidad de entidades,
clases o tablas adicionales en la base de datos.
El caso de uso est asociado con funciones
cuyos tiempos de respuesta son crticos, o son
muy complejas, o son muy importantes para el
cliente o tienen asociados riesgos.
Preparadopor: Alan Caldern Castro (UCR)
Priorizacin de casos de uso
Criterios a considerar en la priorizacin:
El caso de uso est asociado con el uso de
tecnologa poco conocida o que todava se
encuentra en fase de diseo experimental o de
pruebas preliminares.
El caso de uso permite profundizar mucho en la
comprensin del diseo del sistema con un
esfuerzo relativamente pequeo. Esto sucede
cuando el caso de uso revela muchas entidades o
las ms importantes.
Modelo de Casos de Uso (MCU)
2. Detallando la vista preliminar con
datos y operaciones
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Durante una segunda versin ms elaborada del
MCU, es til representar de forma estructurada
los datos (de entrada y de salida) y las operaciones
que los actores podrn realizar en cada caso de
uso.
Todos los autores coinciden en que esta
representacin no debe caer en el diseo de
maquetas de pantalla ni de reportes, sino que
debe ser una descripcin que se abstraiga de tales
detalles.
La razn es que las maquetas de pantalla y los
reportes de salida suelen variar mucho a lo largo
del proceso de desarrollo.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Una forma de representar los datos y
operaciones para cada caso de uso consiste
simplemente en presentar sendas listas en
la especificacin de cada caso de uso. Esto
sin embargo siempre quedar fuera de los
diagramas del MCU.
A travs de los objetos de frontera
(boundary objects) es posible lograr una
representacin grfica que en muchos caso
ser ms simple y ms precisa.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Segn Rumbaugh, Jacobson y Booch, los objetos de
frontera se utilizan para modelar la interaccin
entre el sistema y sus actores (es decir, usuarios y
sistemas externos). Esta interaccin a menudo
implica recibir (y presentar) informacin y
peticiones de (y hacia) los usuarios y los sistemas
externos.
Estos autores agregan que los objetos de frontera
representan a menudo abstracciones de
ventanas, formularios, paneles, interfaces de
comunicaciones, interfaces de impresoras,
sensores, terminales.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Segn Bruegge , los <<objetos de frontera>>
representan la interaccin entre los
actores y el sistema y agrega Los
objetos de frontera modelan la interfaz de
usuario a un nivel burdo. NO describen con
detalle los aspectos visuales de la interfaz
de usuario.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Este cono ha sido
adoptado como
representacin grfica del
estereotipo estndar
<<boundary object>> u
<<objeto de frontera>>.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Al modelar la gran mayora de los sistemas de
software se puede encontrar dos grandes
categoras de <<objetos de frontera>>:
<<documentos virtuales>>: por medio de los cuales el
sistema captura y presenta datos persistentes.
<<tableros de control>>: por medio de los cuales el sistema
permite al usuario ejercer el control con operaciones
especficas.
Ambos categoras de <<objetos de frontera>>
pueden contener datos y operaciones, pero el
nfasis de los <<documentos virtuales>> es en los
datos, mientras que el nfasis de los <<tableros de
control>> est en las operaciones.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Objeto de frontera
Documento virtual
Tablero de operaciones
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Qu es un <<documento virtual>>?
Ms ampliamente un <<documento
virtual>> (o <<VDoc>>) es:
Un conjunto estructurado de datos relevantes que
requieren persistencia y de operaciones para su
manipulacin por parte de actores que intervienen en uno
o ms casos de uso.
El uso de todo <<documento virtual>> est asociado a una
identificacin unvoca.
El uso que hace un actor de un <<documento virtual>>
constituye parte esencial de su participacin concreta en
los as llamados procesos del negocio o procesos
organizacionales.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Tipos de <<documentos virtuales>>
Documento virtual
FRM Formulario
TBL Tabulador
GrfFig Grfico de figuras
FNG Fonograma
VDO Vdeo
TXT Texto
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Un ejemplo de <<documento virtual>>
Un ejemplo tpico de <<documento virtual>>
es el formulario (prefijo FRM) que permite
capturar y presentar los datos bsicos de
un Expediente Estudiantil en el SEA del
SIGUA.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Tipos de <<documento virtual>>
<<FRM>>: se usa cuando un caso de uso
permite visualizar o editar un agrupamiento
de datos, atributos o campos. Provee
ciertas operaciones bsicas (como limpiar
formulario o seleccionar valor de un
campo).
Ejemplo: un documento para estructurar los
datos de un afiliado de un club, los datos de un
empleado de una empresa o los datos de un
expediente.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Tipos de <<documento virtual>>
<<TBL>> o tabuladores: se usa cuando un
caso de uso permite visualizar o editar una
secuencia de lneas, cada una con la misma
cantidad y tipo de atributos o columnas. Por
ejemplo la lista de productos que conforma
una factura. Proporciona operaciones para
la edicin de las filas as como de la
coleccin de filas en s y su visualizacin
(scrolling).
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Tipos de <<documento virtual>>
<<TXT>>: se usa cuando un caso de uso
permite visualizar o editar un texto libre,
en forma similar a los documentos de los
editores de texto. Proporciona las
operaciones tpicas de edicin, bsqueda y
visualizacin (scrolling).
Ejemplo: un documento que permite visualizar y
editar un editor de textos cualquiera.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Tipos de <<documento virtual>>
<<GrfFig>>: se usa cuando un caso de uso
permite visualizar o editar un dibujo libre
como el que tpicamente se maneja a travs
de editores especializados para hacer
dibujos o esquemas de diferentes tipos
como grafos. Proporciona las operaciones
tpicas de edicin y visualizacin
(scrolling).
Ejemplo: un documento que permite visualizar y
editar un editor de dibujos cualquiera (Visio).
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Tipos de <<documento virtual>>
<<VDO>>: se usa cuando un caso de uso permite
visualizar un registro electrnico de un vdeo o
vdeo en formato digital. Este tipo de archivo
puede ser visto a travs de programas especiales
que los reproducen y permiten operaciones de
consulta basadas en la secuencia de pistas
(siguiente, anterior, principio, final, pausa, etc).
Tpicamente, solo software especializado permite
la edicin de VDOs.
Ejemplo: los archivos que permiten visualizar
herramientas como Quick Time Player.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Tipos de <<documento virtual>>
<<FNG>>: se usa cuando un caso de uso permite
escuchar un registro electrnico de un sonido o
archivo de sonido en formato digital. Este tipo de
archivo puede ser escuchado a travs de
programas especiales que los reproducen y
permiten operaciones de consulta basadas en la
secuencia de pistas (siguiente, anterior, principio,
final, pausa, etc).
Tpicamente, solo software especializado permite
la edicin de FNGs.
Ejemplo: los archivos que permiten escuchar
herramientas como Windows Media.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Ms ampliamente un <<tablero de
operaciones>> o <<tablero>> es:
Un agrupamiento de operaciones relevantes e
interdependientes que usan actores en forma
conjunta en uno o ms casos de uso, con el fin
de:
Navegar y hacer bsquedas en colecciones de
<<VDoc>>.
O arrancar, terminar, controlar o monitorear procesos
en el sistema.
Los <<tableros>> pueden contener datos que son
parmetros para los procesos correspondientes.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros>> para navegacin y bsqueda
Tablero de operaciones
DIR Directorio de VDocs
J RQ J erarqua de VDocs RED Red de VDocs
BUS Buscador de VDocs
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<DIR>>: se usa cuando un caso de uso permite
organizar linealmente el acceso a <<VDocs>>. Puede
soportar una o ms relaciones de orden sobre el
conjunto de documentos y consecuentemente
varios recorridos alternativos.
Tpicamente provee operaciones como obtener el
primer documento, obtener el ltimo documento,
siguiente documento, anterior documento,
agregar documento, modificar documento,
eliminar documento y similares. Tpicamente se
provee el acceso a paneles de bsqueda sobre el
archivo que se recorre.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Un ejemplo tpico de <<tablero>> tipo <<DIR>> es un
navegador lineal sobre la coleccin de expedientes
estudiantiles en el SEA que permite recorrer en
orden alfabtico o por carnet todo la coleccin y
que da acceso a un <<tablero>> para bsquedas
basadas en parte del carnet, parte del nombre u
otros criterios relevantes.
En este caso los <<VDoc>> organizados por el
<<DIR>> son los expedientes estudiantiles.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<JRQ>>: se usa cuando un caso de uso permite organizar
jerrquicamente el acceso a <<documentos virtuales>>. Un
<<tablero>> tipo <<JRQ>> est constituido tanto por <<VDocs>>
como por paquetes de VDocs o <<Carpetas de VDocs>>.
Una <<Carpeta de VDocs>> puede contener otras carpetas y
documentos virtuales.
A travs de las <<Carpetas de VDocs>> un <<JRQ>>
tpicamente ofrece operaciones como abrir una carpeta de
documentos, cerrar una carpeta, visualizacin de la
jerarqua (scrolling vertical y horizontal), agregar una
carpeta, eliminar una carpeta, agregar un VDoc, eliminar
un VDoc, modificar un VDoc.
Aunque no es frecuente, puede ser que provea el acceso a
paneles de bsqueda.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Un ejemplo tpico de <<JRQ>> es un sistema de
clasificacin de tipos de productos en un sistema
de catlogo de productos. Este tipo de sistemas
permiten agregar nuevas clases de tipos y nuevos
tipos, as como trasladar clases o tipos de una
clase a otra, eliminar clases y tipos.
En este caso los <<VDoc>> organizados por el
<<JRQ>> son las especificaciones de los tipos de
producto. Las <<Carpetas de VDoc>> son las clases
de tipos de productos.
En este y otras aplicaciones de <<JRQ>> las
carpetas estn asociadas a <<VDocs>> que las
describen, aparte de los <<VDoc>> contenidos.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<RED>>: se usa cuando un caso de uso permite
organizar una coleccin de <<VDocs>> en forma de red.
Los nodos de la red son los <<VDoc>> y las conexiones de
la red son asociaciones relevantes entre los <<VDoc>>.
Las operaciones tpicas permiten navegar en la red
mediante hipervnculos u operaciones sobre la ruta
seguida por el actor durante su navegacin previa.
Tpicamente provee acceso a paneles de bsqueda.
En algunos casos, una <<RED>> permite agregar o
eliminar <<VDocs>> o conexiones entre <<VDocs>> a la
red. En algunos casos, un nodo de la red puede
representar a otra red.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Un ejemplo tpico de <<tablero de operaciones>>
tipo <<RED>> es el conjunto de operaciones que
permiten a un usuario navegar en una pgina-web.
En este caso los <<VDoc>> organizados por la
<<RED>> son los documentos html de la pgina y
las conexiones los hipervnculos entre los
documentos. Las conexiones con otras pginas que
abordan temas afines hacen que un documento
html sea un representante de otra red.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Otros <<tableros de operaciones>>
<<LGN>>: se usa cuando un caso de uso
permite identificar a un usuario que
desea acceder a un sistema, cargar el
perfil de derechos del usuario o
rechazar a un usuario que no tiene
autorizacin para usar el sistema.
Tpicamente todo sistema de
informacin empresarial tiene al menos
un caso de uso basado en un <<LGN>>.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<SLA>>: se usa cuando un caso de uso
permite buscar un archivo para cargarlo
como datos de entrada a un sistema.
Tpicamente permite al usuario navegar por
un sistema de archivos que en realidad
consiste en una <<JRQ>> de carpetas de
archivos y archivos. Por esto las operaciones
tpicas de un <<SLA>> incluyen operaciones
tpicas de una <<JRQ>>.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Un ejemplo tpico de <<tablero>> tipo
<<SLA>> es la ventana que permite a
cualquier usuario de una herramienta de
ofimtica cargar un archivo para editarlo.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<SLC>>: se usa cuando un caso de uso
permite buscar una carpeta para guardar un
archivo.
Tpicamente permite al usuario navegar por
un sistema de archivos que en realidad
consiste en una <<JRQ>> de carpetas de
archivos y archivos. Por esto las operaciones
tpicas de un <<SLC>> incluyen operaciones
tpicas de una <<JRQ>>.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Un ejemplo tpico de <<tablero>> tipo
<<SLC>> es la ventana que permite a
cualquier usuario de una herramienta de
ofimtica guardar un archivo previamente
editado.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<MNU>>: se usa cuando en un caso de
uso se permite a los actores escoger
una entre varias opciones de
interaccin subsecuente.
Tpicamente se representa en la
interfaz grfica humano-sistema
mediante un pull-down menu o pop-up
menu o una barra de botones.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<APR>>: se usa cuando un caso de uso
permite arrancar o activar un proceso
computacional.
Tpicamente este tipo de <<tablero>>
incluye una descripcin del proceso, sus
consecuencias y las advertencias del
caso. Se incluyen operaciones como
arrancar proceso o cancelar para
cerrar el <<tablero>>.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Un ejemplo tpico de <<tablero>> tipo
<<APR>> es un panel para buscar archivos en
un sistema de archivos.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
<<MPR>>: se usa cuando un caso de uso
permite monitorear el avance de un proceso
computacional previamente arrancado.
Tpicamente provee operaciones para
detener momentneamente el avance del
proceso o cancelar abruptamente su
ejecucin. Adems tpicamente el panel
incorpora datos que indican el avance
alcanzado hasta el momento.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<tableros de operaciones>>
Un ejemplo tpico de <<tablero>> tipo
<<MPR>> es el panel para monitorear el
desempeo de un computador personal.
Preparadopor: Alan Caldern Castro (UCR)
<<VDocs>> versus <<tableros>>
La diferencia entre <<VDocs>> y <<tableros>>
es difusa.
Tanto los <<VDocs>> como los <<tableros>>:
Incluyen atributos y operaciones.
Abstraen los mecanismos de interaccin
humano-sistema.
Presentan datos y permiten realizar operaciones
sobre los datos.
En qu consiste la diferencia?
Preparadopor: Alan Caldern Castro (UCR)
<<VDocs>> versus <<tableros>>
<<VDocs>> <<tableros>>
Los datos sirven
para:
Representar
instancias de
entidades o vistas
de entidades
Controlar o
parametrizar
procesos
Las operaciones
sirven para:
Editar, guardar,
borrar e iniciar los
datos de los
<<VDocs>>
Navegar en
colecciones de
<<VDocs>> o
monitorear y
controlar procesos
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
<<documentos virtuales>> compuestos
Un <<documento virtual subordinado>> es:
Un <<documento virtual>> que no tiene una identificacin
unvoca y que forma parte integral de otro <<documento
virtual>>, de tal forma que no tiene existencia lgicamente
independiente. Esto significa que siempre es usado como
parte de otro <<documento virtual>> que se podra
denominar padre o dueo, de ah que no posea una
identificacin unvoca.
En algunos casos un <<documento virtual>> subordinado
puede tener un atributo identificador cuyo valor se
deriva mecnicamente de la identificacin del
<<documento virtual>> padre para satisfacer algn
requerimiento puramente computacional y no
organizacional o de uso por parte de actores.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Composicin de <<documentos virtuales>>
Un <<documento virtual>> compuesto es un tipo de
<<documento virtual>> que se usa cuando:
En un caso de uso se requiere una composicin de una
cantidad fija y mayor o igual a dos <<documentos
virtuales>> subordinados. Un <<documento virtual>>
compuesto provee una operacin para seleccionar cada
uno de los <<documentos virtuales subordinados>>.
Un ejemplo tpico es un expediente de estudiante que se
compone de varios <<documentos virtuales subordinados>>
como: FRM Datos generales, TBL Registro de notas y
TBL Registro de anotaciones.
En adelante se abreviar con <<VDocCmp>>.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en el MCU
Arreglos de <<documentos virtuales>>
Un arreglo de <<documentos virtuales>> es un tipo
de <<documento virtual>> que se usa cuando:
En un caso de uso se requiere visualizar o editar una
coleccin variable de <<documentos virtuales>>
subordinados. Un arreglo de <<documentos virtuales>>
tpicamente se compone de un <<documento virtual>> que
lo describe y de la coleccin o arreglo de <<documentos
virtuales>> en s.
Un ejemplo tpico es una agregacin de hojas electrnicas
como los libros de Excel de Microsoft.
Un arreglo de <<documentos virtuales>> proveer
operaciones para el recorrido lineal de la coleccin de
<<documentos virtuales>> subordinados.
En adelante se abreviar con <<VDocArr>>.
Preparadopor: Alan Caldern Castro (UCR)
Datos y operaciones en la VCU
Arreglos y composiciones de <<documentos virtuales>>
Diferencias entre <<VDocCmp>> y <<VDocArr>>:
Estructuralmente, la diferencia esencial entre un
<<VDocCmp>> y un <<VDocArr>> es que la clase de un
<<VDocCmp>> especifica una cantidad fija, definida
estticamente, de <<documentos virtuales subordinados>>,
mientras que la clase de un <<VDocArr>> especifica una
cantidad variable, definible dinmicamente, de
<<documentos virtuales>> subordinados contenidos o
miembros.
Adems tpicamente los <<VDocArr>> se componen de
<<documentos virtuales>> de una misma clase, mientras
que los <<documentos virtuales compuestos>> en cambio se
componen tpicamente de <<documentos virtuales>>
subordinados de distintas clases.
Por tanto, las operaciones proporcionadas difieren.
Preparadopor: Alan Caldern Castro (UCR)
Objetos de frontera
abstractos y concretos
En forma anloga a la reutilizacin de casos de uso
abstractos por medio de la herencia en casos de
uso concretos, se puede dar la reutilizacin de
objetos de frontera abstractos por medio de la
herencia en objetos de frontera concretos.
Un objeto de frontera abstracto est constituido
por un conjunto de atributos y operaciones bsico,
extendible y personalizable.
Un objeto de frontera concreto puede heredar,
extender y personalizar los atributos y las
operaciones de uno abstracto.
Preparadopor: Alan Caldern Castro (UCR)
Objetos de frontera
abstractos y concretos
En este caso FRM
Transaccin Genrica
est constituido por
atributos y operaciones
que son reutilizables en
objetos de frontera
concretos como FRM
Factura.
La reutilizacin de casos
de uso y objetos de
frontera es una tcnica
muy poderosa orientada al
desarrollo rpido de
software fiable.
VDoc Transaccin genrica
+id: String
+idCliente: String
+nombreCliente: String
+fecha: FECHA
+actualizar()
VDocCmp Factura
+slcSubVDoc()
+actualizar()
FRM Encabezado de factura
+subtotal
+impuestos
+descuentos
+total
TBL Detalle de factura
+UPC
+descripcion
+cantidad
+precioUnitario
+subtotal
1
1
Preparadopor: Alan Caldern Castro (UCR)
Ejemplificar uso de
objetos de frontera
A continuacin un ejemplo:
Con base en un documento de anlisis de
requerimientos se refina la vista de casos de
uso elaborada previamente.
Se introducen todos los objetos de frontera
con sus datos y operaciones.
Modelo de Casos de Uso (MCU)
3. Elaboracin de las especificaciones
de los casos de uso
Preparadopor: Alan Caldern Castro (UCR)
Especificacin de casos de uso
Existen por lo menos dos formas de
especificar detalladamente los casos de uso
que conforman un modelo:
Especificaciones tradicionales: que son
descripciones estructuradas basadas en
lenguaje natural.
Especificaciones formales: que son
descripciones basadas en diagramas de
actividades de UML y en objetos de frontera
(boundary objects en Rational Rose).
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Nombre del caso de uso.
Actores involucrados.
Propsito: para qu sirve el CU?
Resumen del FTI.
Requerimientos asociados (funcionales/no funcionales).
Precondiciones.
Poscondiciones.
Flujo tpico de interacciones (FTI).
Flujos alternativos de interacciones (FAI).
Flujos excepcionales de interacciones (FEI).
Maquetas de pantallas.
Diseo de salidas impresas o de reportes electrnicos.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Las pre/pos-condiciones deben redactarse
en presente perfecto: Se ha.
Las pre/pos-condiciones deben visualizarse
como guas para el proceso de pruebas
basado en casos de uso.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Las precondiciones son condiciones en el
sistema o su entorno (procesos
organizacionales o del medio en que
funcionar el sistema) necesarias, pero no
suficientes para que un caso de uso, y por
ende alguno de sus casos de prueba, tenga
xito, es decir que termine con el FTI o con
algn FAI.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Las poscondiciones son condiciones que se
deben verificar en el sistema o en el
entorno en que ste funciona cuando se
pruebe la implementacin de un caso de uso
del sistema y este termine con el FTI o con
algn FAI.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Nombre del caso de uso: Registrar compra de artculos
Actores involucrados: Cliente, Cajero, Agencia de
verificacin de cheques y Agencia de verificacin de tarjetas
de crdito.
Propsito: Permite mostrar la interaccin del sistema al
pagar un cliente.
Resumen: Un cliente llega a la caja. El cajero registra los
artculos uno a uno indicando la cantidad. El cajero registra
el pago y el cliente abandona el sitio.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Algunas funciones asociadas:
Registrar artculo vendidos usando un lector de
cdigo de barras.
Desplegar la descripcin y el precio de cada
artculo comprado.
Calcular el monto de la venta incluyendo impuestos.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Curso tpico de eventos:
Accin de un act or Accin del sist ema
1. Este caso de uso empieza
cuando un cliente llega al punto
de venta a registrar su compra.
2. El cajero registra el identificador
de cada artculo. Si hay ms de
uno para algn artculo, registra
la cantidad.
3. Determina el precio del artculo y
agrega la informacin a la
transaccin en proceso.
4. El cajero indica al sistema
cundo ha terminado el registro
de todos los artculos.
5. Calcula y despliega el total de la
venta.
6. El cajero indica al cliente el total.
7. El cliente entrega su pago en
efectivo.
8. El cajero registra el monto
entregado por el cliente.
9. Muestra el cambio a devolver al
Cliente.
10. El cajero deposita el efectivo y
entrega el cambio y la factura.
11. Registra en bitcora la venta.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Nombre del negoci o
UPC
Precio
Total de
venta
Monto
entregado
Cantidad
Descripcin
Cambio
Registrar artculo Finalizar venta Registrar pago
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones tradicionales
Las ECU basadas en lenguaje natural
tienden a ser poco precisas y ambiguas.
Cada analista establece un nivel detalle
arbitrario y es difcil estandarizarlo a nivel
de un equipo de trabajo.
No es fcil establecer criterios de
verificacin para este tipo de ECUs.
Por tanto, se recomiendan las ECU
formales.
Preparadopor: Alan Caldern Castro (UCR)
Especificaciones Formales
Para lograr mayor precisin,
estandarizacin y verificabilidad de las
ECU se representan formalmente:
Los documentos usados en los casos de uso
mediante objetos de frontera.
Las secuencias o ciclos de interaccin a travs
de diagramas de actividades del UML y ciertos
estereotipos bsicos.
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
A continuacin el ejemplo de Registrar
Compra de Artculos:
Modelo de casos de uso.
Diagrama de actividades.
Este diagrama se podra extender un nivel ms.
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
A continuacin un diagrama de actividades que
representa el flujo tpico de eventos del caso de
uso Registrar Compra de Artculos.
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
Ventajas:
Se logra un anlisis detallado de los datos y de los
documentos.
Se maneja un identificador a nivel de todo el equipo de
trabajo para datos, secciones y documentos.
Se evitan imprecisiones y ambiguedades en las ECU.
Se uniformiza el nivel de detalle de las ECU.
Se uniformiza el lenguaje para la descripcin de las
interacciones.
Se facilita la verificacin posterior para establecer la
calidad de las ECU.
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
Actividades tpicas del sistema sobre vDocs
ESTEREOTIPO SIGNIFICADO PRECISO
<<MOSTRAR VDOC>> Accin del sistema que muestra los datos de un VDoc un actor. En este caso el
VDoc aparece lleno con valores vlidos y el sistema no permite su edicin. El
sistema queda a la espera de una accin del actor.
<<CAPTURAR VDOC>> Accin del sistema que captura los datos de un VDoc. El sistema queda en estado
de espera a que el usuario registre cada tem del VDoc. En este caso el VDoc
aparece vaco.
<<EDITAR VDOC>> Estado del sistema en que muestra al usuario un VDoc y a la vez le permite
editarlo. En este caso el VDoc se muestra con valores vlidos y el sistema
permite su edicin. El sistema queda a la espera de que el usuario modifique
valores para distintos temes del VDoc.
<<VALIDAR VDOC>> Accin del sistema que valida un VDoc previamente registrado o modificado por el
actor.
<<GUARDAR VDOC>> Accin del sistema que asegura la persistencia de un VDoc (normalmente mediante
un sistema de base de datos). Puede tratarse de un VDoc nuevo o de una
modificacin.
<<ELIMINAR VDOC>> Accin del sistema que elimina un VDoc (normalmente guardado en una base de
datos).
<<CARGAR VDOC>> Accin del sistema que consiste en cargar, de una base de datos o archivo, la
estructura de datos que representa un VDoc para eventualmente mostrarlo al
actor.
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
Actividades de control tpicas del sistema
ESTEREOTIPO SIGNIFICADO PRECISO
<< ACTIVAR TABLERO >> Accin del sistema que enfoca el control sobre un tablero de operaciones.
As el usuario, en la siguiente accin, podr realizar cualquiera de las
operaciones que el tablero incluye. Si el tablero incluye datos, el usuario
podr dar valor a los datos como parte de la ejecucin de las operaciones
del tablero.
<<DESACTIVAR TABLERO>> Accin del sistema que deshabilita todas las operaciones de un <<Tablero
de operaciones>>.
<<EJECUTAR_CU SR>> Accin del sistema que traslada el control a otro caso de uso. El control se
traslada y no retorna ("SR" = sin retorno) al punto donde aparece la accin
de tipo <<EJECUTAR_CU SR>>.
<<EJECUTAR_CU CR>> Accin del sistema que traslada el control a otro caso de uso. El control se
traslada y s retorna ("CR" = con retorno) al punto donde aparece la accin
de tipo <<EJECUTAR_CU CR>>.
<<EJECUTAR_FAI>> Accin del sistema que traslada el control a un flujo alternativo de
interacciones del caso de uso actual. El control se traslada y retorna a la
actividad que aparece de seguido a la accin de tipo <<EJECUTAR_FAI>>.
<<EJECUTAR_FEI>> Accin del sistema que traslada el control a un flujo excepcional de
interacciones del caso de uso actual. El control se traslada y retorna a la
actividad que aparece de seguido a la accin de tipo <<EJECUTAR_FEI>>.
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
Actividades de control tpicas del sistema
ESTEREOTIPO SIGNIFICADO PRECISO
<<DESPLEGAR MSJ>> Accin del sistema que muestra al actor un mensaje. El actor solo puede oprimir
un botn de tipo OK en respuesta.
<<DESPLEGAR PRG>> Accin del sistema que muestra al actor una pregunta que determina el curso a
seguir en la interaccin. El actor podr responder con una de dos posibles
respuestas, tpicamente SI o NO.
<<HABILITAR OPR>> Accin del sistema que muestra al actor barras de mens, barras de botones,
mens o botones con operaciones disponibles. Puede referenciarse el
nemnico de una sola operacin, varias operaciones aisladas o toda una lista
denominada de operaciones.
<<DESHABILITAR
OPR>>
Accin del sistema que desactiva barras de mens, barras de botones, mens o
botones con operaciones disponibles. Se puede usar por ejemplo para
efectos de ajustar las funciones del sistema al perfil de derechos de un
actor.
Preparadopor: Alan Caldern Castro (UCR)
ECUs Formales
Actividades tpicas de un actor
ESTEREOTIPO SIGNIFICADO PRECISO
<<COMPLETAR
TABLERO>>
Accin de un actor para completar los datos de un <<Tablero de operaciones>>
que previamente ha sido activado por medio de <<ACTIVAR TABLERO>>.
<<COMPLETAR VDOC>> Accin de un actor para llenar un formulario o construir un grfico que
previamente ha sido presentado por el sistema por medio de una accin de tipo
<<CAPTURAR VDOC>>.
<<MODIFICAR VDOC>> Accin de un actor para modificar un formulario o un grfico que previamente
ha sido presentado por el sistema por medio una accin de tipo <<EDITAR
VDOC>>.
<<CONSULTAR VDOC>> Accin de un actor para consultar un formulario o navegar en un grfico que
previamente ha sido presentado por el sistema por medio de una accin de tipo
<<MOSTRAR VDOC>>.
<<ESCOGER OPR>> Accin de un actor en que escoge activar operacin habilitada por el sistema
por medio de una accin de tipo <<ACTIVAR TABLERO>> o <<HABILITAR OPR>>,
o que pertenece a un VDoc previamente mostrado por el sistema o en proceso
de edicin.
<<ESCOGER SubVDOC>> Accin de un actor que le da acceso a una parte (o SubVDoc) de un VDoc
compuesto o arreglo de VDocs que previamente el sistema ha cargado. Esta
accin normalmente consiste en un click sobre una cejilla, o sobre un campo
de un formulario desplegado pero que todava no ha sido activado, o sobre una
ventana desplegada pero que todava no ha sido activada.
Diagramas de Actividades
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Para qu sirven?)
En el AOO los diagramas de actividades sirven para:
Representar un flujo de trabajo en el contexto organizacional
para el que ha sido diseado un sistema.
Representar las interacciones entre actores y sistema en el
contexto de un caso de uso.
En otras etapas, los diagramas de actividades pueden servir
para:
Modelar la dinmica que sigue un grupo de objetos para brindar
cierta funcionalidad.
Modelar la dinmica de un mtodo u operacin de una clase en el
contexto de un sistema.
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Actividades y acciones)
Una actividad es un procedimiento (computacional o humano)
cuyo anlisis amerita su descomposicin en trminos de otras
actividades o acciones.
Una accin es un procedimiento cuyo anlisis no amerita su
descomposicin, sino que se considera atmica.
La duracin y complejidad de una accin computacional debe
ser negligible comparado con lo que dura una actividad.
En el caso de acciones humanas, la duracin debe ser mucho
ms breve comparada con la de una actividad.
En ambos casos (acciones y actividades) se habla de estados.
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Actividades y Estados)
Las diferencias entre actividades y estados son:
Las actividades se descomponen en secuencias de
actividades o acciones.
Los estados se pueden descomponer en actividades y
acciones asincrnicas, es decir, donde no hay una
secuencia pre-establecida.
Una actividad concluye cuando termina la secuencia de
actividades y acciones que la conforman.
Un estado concluye cuando se presenta un evento que
interrumpe el estado, no se aplica la idea de terminar la
secuencia de acciones o actividades.
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Ejemplos de actividades y acciones computacionales)
Actvidad Accin
La sumarizacin
de una cuenta es
una accin que se
da como parte de
la actividad de
mayorizacin.
Sumarizacin
de cuenta
Mayorizacin
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(La transicin entre estados)
Este grfico representa la transicin entre dos estados, ya
sea de actividad o de accin.
Un estado
inicial
Un estado
subsiguiente
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(El estado inicial)
Todo diagrama de actividades debe tener al menos un estado
inicial:
Un estado
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(El estado final)
Todo diagrama de actividades debe tener al menos un estado
final:
Un estado
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Las transiciones condicionadas)
Una transicin condicionada representa que se pasar de un
estado a otro si la condicin se cumple al completarse el
estado origen:
Pasa del primer estado a
algn otro dependiendo de
la condicin que se
verifique al terminar el
primero.
Estado
Inicial
Segundo
estado
Tercer
estado
Cuarto
estado
[ condicin 1 ] [ condicin 2 ]
[ condicin 3 ]
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Las divisiones concurrentes)
Las divisiones concurrentes muestran la posibilidad de que al
terminarse un estado se ejecuten varios estados en forma
concurrente:
Un estado
Primer estado
concurrente
Segundo
estado
concurrente
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Las uniones concurrentes)
Una unin concurrente representa que hasta que se terminen
varios estados, el sistema entrar en nuevo estado que une
los distintos flujos de control concurrentes:
Primer estado
concurrente
Segundo
estado
concurrente
Un estado
Preparadopor: Alan Caldern Castro (UCR)
Diagramas de actividades
(Los flujos de objetos)
Un flujo de objetos muestra el papel que juega un objeto
durante una actividad ya sea como insumo o como producto:
Un estado
Un objeto
producido
Un estado
Un objeto
que entra al
estado
Preparadopor: Alan Caldern Castro (UCR)
Diagrama de actividades
(Un ejemplo para representar un mtodo)
Sumarizar
la venta
Devolver el
monto del
cambio
Devolver
mensaje
de error
[ total >pago ]
[ total <=pago ]
Preparadopor: Alan Caldern Castro (UCR)
Estado de espera o
aceptacin de evento
Estado en un proceso que espera la
ocurrencia de un evento para que se
ejecute la actividad subsiguiente.
Preparadopor: Alan Caldern Castro (UCR)
Actividad de generacin de evento
Actividad en un proceso que genera la ocurrencia
de un evento para que se ejecute la actividad o
estado subsiguiente.
Preparadopor: Alan Caldern Castro (UCR)
Estado de espera
de seal de tiempo
Estado en un proceso que espera la ocurrencia de
un evento de tiempo para que se ejecute la
actividad subsiguiente.
La Vista Lgica
en el anlisis
Preparadopor: Alan Caldern Castro (UCR)
La Vista Lgica en el anlisis
En la Vista Lgica se pueden incluir cuatro
modelos:
El Modelo del Dominio - MD (RUP y Larman).
El Modelo del Negocio - MN (RUP).
El Modelo de Objetos de Anlisis MOA (RUP).
La Vista Lgica
en el anlisis
1. El Modelo del Dominio (MD)
Preparadopor: Alan Caldern Castro (UCR)
El modelo del Dominio
Tanto en la primera edicin del libro de
Larman como en el RUP se habla del
modelo del dominio o modelo conceptual.
Un Modelo del Dominio captura los tipos
ms importantes de objetos en el contexto
del sistema. Los objetos del dominio
representan las cosas que existen o los
eventos que suceden en el entorno en el que
trabaja el sistema (RUP).
Preparadopor: Alan Caldern Castro (UCR)
El modelo del Dominio
Las clases del dominio aparecen en tres
formas tpicas:
Objetos del negocio: cosas que se manipulan en
el negocio como pedidos, cuentas y contratos.
Objetos del mundo real: y conceptos de los que
el sistema debe hacer un seguimiento como la
aviacin enemiga, misiles y trayectorias.
Sucesos que ocurrirn o han ocurrido, como la
llegada de un avin, su salida y la hora de la
comida. (RUP)
Preparadopor: Alan Caldern Castro (UCR)
El modelo del negocio
(Modelo del Dominio)
Las clases/objetos del dominio y el
glosario de trminos se utilizan en el
desarrollo de los modelos de casos de uso y
de anlisis:
Al describir los casos de uso y al disear la
interfaz de usuario,...
Para sugerir clases internas al sistema en
desarrollo (Modelo de Objetos del Anlisis),...
(RUP)
Preparadopor: Alan Caldern Castro (UCR)
El modelo del Dominio
Muy especialmente, este modelo
representa:
Entidades relevantes del dominio.
Conexiones entre entidades tales como es un,
compuesto por y otras.
Multiplicidad de las conexiones.
Atributos de las entidades
Una entidad es un objeto persistente de
relevancia directa o indirecta para los
usuarios, clientes o expertos del dominio.
Preparadopor: Alan Caldern Castro (UCR)
El modelo del Dominio
El estereotipo
estndar del UML
<<business entity>> se
usa para representar
entidades relevantes
para los procesos del
negocio. Adems se
pueden representar:
Asociaciones o
conexiones.
Atributos para cada
entidad.
Preparadopor: Alan Caldern Castro (UCR)
El modelo del Dominio
Asociaciones tpicas entre entidades:
Composicin (totalidad-parte)
Agregacin (contenido en).
Generacin (es un tipo de, es un ejemplo de).
Entidad_1 Entidad_2 Entidad_3
Entidad_4 Entidad_5 Entidad_6
Preparadopor: Alan Caldern Castro (UCR)
Composicin versus agregacin
Composicin (totalidad/parte):
Entidad fuerte/entidad dbil.
El ciclo de vida de la totalidad determina el ciclo de vida
de la parte.
Una instancia de clase de parte slo puede pertenecer a
una instancia de una clase de totalidad.
Agregacin (contenido en):
El ciclo de vida de la totalidad NO determina el ciclo de
vida de la parte.
Una instancia de clase de contenido puede pertenecer a
varias intancias de diversas clases de continente.
Preparadopor: Alan Caldern Castro (UCR)
El modelo del Dominio
Un ejemplo de MD del RUP:
Artculo
descripcin
foto
precio
Pedido
fecha de emisin
direccin de entrega 1..n 0..n 1..n 0..n
Factura
cantidad
fecha de emisin
fecha lmite de pago
1..n
+pagable
1..n
Cuenta
saldo
titular
1
+comprador
1
1
+vendedor
1
Preparadopor: Alan Caldern Castro (UCR)
El modelo del Dominio
1. . *
1
0. . 1 *
Pago Clie nt e
describe
usado por
Caj ero
Administrador Sist ema de pun to de venta
regist ra vent as en
iniciado por
Cat alogo
Almac en
usa
Vent a
f echa : Dat e
hora
pagada por iniciada por
regist ra en bit cora
capt urada por
Art iculo
guarda
*
1
1 1
1 1
1 1
1
1
1 1
1
1. . *
1 *
*
1
1
1
*
1 1. . *
Linea de fact ura
cant idad : I nt eger
cont enida en
regist ra la vent a de
Especificacion
descripcion
precio
UPC
cont iene
desc rita por
1
Un ejemplo de MD de
Larman
Preparadopor: Alan Caldern Castro (UCR)
Reglas de estilo para el MD
Un objeto no necesariamente corresponde con una tabla, por
eso se recomienda que los nombres de los objetos sean en
singular.
Use los nombres que usa el usuario.
Si los nombres que usa el usuario son especializados
documntelos en un glosario especializado del dominio.
Omita atributos referenciales. En general es mejor
representarlos por medio de conexiones grficas.
Igualmente, omita objetos que guardan referencias,
represente esto por medio de la multiplicidad de las
conexiones.
Preparadopor: Alan Caldern Castro (UCR)
Reglas de estilo para el MD
El MD es esencialmente una herramienta de
comunicacin entre analistas y usuarios, clientes y
expertos en el dominio.
Alguna informacin redundante puede ser til con
el usuario, a veces conviene representar atributos
derivados.
Para la comunicacin con el usuario no hace falta
que aparezcan claves.
Preparadopor: Alan Caldern Castro (UCR)
Reglas de estilo para el MD
No muestre conexiones que son irrelevantes para los
usuarios, clientes o expertos del dominio cuando use un MD
para verificar requerimientos.
Para la comunicacin con el usuario, muestre un modelo
sencillo, solo los atributos que sean relevantes para l. Evite
aqullos atributos que son tiles en la programacin.
Preparadopor: Alan Caldern Castro (UCR)
Reglas de estilo para el MD
En un diagrama se distribuyen los objetos de tal manera que
las asociaciones se puedan leer de arriba hacia abajo y de
izquierda a derecha. Si esto no es posible se introduce una
flecha en la asociacin para indicar otra direccin .
Minimice conexiones para las cuales no es necesario guardar
informacin, a menos que sean relevantes para los usuarios,
clientes o expertos del dominio.
Es ms til identificar objetos que conexiones.
No muestre conexiones que se pueden deducir o derivar, a
menos que un cliente, usuario o experto en el dominio lo
solicite.
Preparadopor: Alan Caldern Castro (UCR)
Reglas de estilo para el MD
Nombre a las asociaciones para que sean legibles segn el
esquema Clase1 frase verbal Clase2.
Las asociaciones ms importantes son del tipo:
A es una parte fsica o lgica de B.
A est contenido fsica o lgicamente en B.
A se registra en B.
Preparadopor: Alan Caldern Castro (UCR)
Reglas de estilo para el MD
Objeto o Atributo?: Nunca pensamos un objeto en la forma
de un nmero o un texto, pero si hay duda es mejor definir
un objeto.
Para atributos que no se representan bien con tipos de datos
primitivos puede ser necesario crear un objeto.
Tome en cuenta los siguientes criterios:
que el atributo est compuesto de secciones separadas,
que sea necesario programar funciones que actan sobre las
partes,
que en s mismo, el atributo contenga otros atributos,
que tenga asociado una unidad de medida o monetaria.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de objetos
Larman provee una lista de chequeo que puede ser
til para identificar objetos en los distintos
modelos, pero principalmente en el MD y el MOA.
Larman tambin provee una lista de chequeo que
puede ser til para identificar asociaciones o
conexiones entre objetos de dichos modelos.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de objetos
Ideas para encontrar objetos de Craig Larman:
Objetos fsicos o tangibles. Ejemplos: caja de pago, objetos
pedidos.
Especificaciones, diseos o descripciones de cosas. Ejemplos:
especificacin de un producto, descripcin de una cuenta contable.
Lugares. Ejemplos: Almacn, banco.
Transacciones. Ejemplos: Conjunto de datos de una venta, un pago o
un pedido.
Lneas de temes de una transaccin. Ejemplos: Lneas de una
factura, conceptos de pago en un desglose salarial.
Roles de personas. Ejemplos: En una relacin X jefe de Y, X es el
jefe y Y el empleado, ambos podran ser objetos relevantes.
Contenedores de otros objetos. Ejemplos: Avin, camin,
contenedor.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de objetos
Ideas para encontrar objetos de Craig Larman:
Cosas contenidas en otras. Ejemplos: Pasajero, producto.
Sistemas computacionales o electromecnicos externos al sistema.
Ejemplos: sistema de autorizacin de tarjetas de crdito, lector de
cdigo de barras.
Conceptos o sustantivos abstractos. Ejemplos: cuenta, tipo de
cuenta.
Organizaciones. Ejemplos: Departamento de ventas, Empresa
Proveedora, Empresa cliente.
Eventos o sucesos. Ejemplos: Venta, pago o un pedido.
Procesos. Frecuentemente se escogen otros mecanismos para su
representacin, pero algunas veces conviene verlos como objetos.
Ejemplos: Mayorizacin de cuentas, Conciliacin bancaria.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de objetos
Ideas para encontrar objetos de Craig Larman:
Normas, reglas y polticas. Ejemplos: poltica de devolucin de
artculos previamente vendidos, poltica de resarcimiento por
errores cometidos en el cobro de servicios.
Catlogos. Ejemplos: Catlogo de artculos, catlogo de cuentas
contables.
Documentos, registros de finanzas, contratos y dems documentos
legales. Ejemplos: Recibo, diario, contrato de empleo, bitcora de
mantenimiento.
Instrumentos financieros y servicios. Ejemplos: lnea de crdito,
inventario.
Libros y manuales. Ejemplos: Manual de deberes y derechos del
empleado, manual de mantenimiento.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de conexiones
Ideas para encontrar conexiones de Craig Larman:
A es una parte fsica de B. Ejemplos: Motor es una parte de
Automvil. CPU es una parte de Computadora.
A es una parte lgica de B. Ejemplos: Unas lneas de temes de una
factura son parte lgica de una factura. La introduccin es una
parte lgica de un texto. Un prrafo es una parte lgica de un
texto.
A est fsicamente contenido en B. Ejemplos: Un artculo est
fsicamente contenido en un estante. Un pasajero est fsicamente
contenido en un avin.
A est lgicamente contenido en B. Ejemplos: Una descripcin de un
artculo est lgicamente contenida en un catlogo. Un vuelo est
lgicamente contenido en un itinerario.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de conexiones
Ideas para encontrar conexiones de Craig Larman:
A es una descripcin de B. Ejemplos: la descripcin de un artculo o
de un vuelo, sostienen esta relacin con el artculo o vuelo
correspondiente.
A es una lnea de detalle de una transaccin o reporte B. Ejemplos:
Una lnea de factura es una lnea de detalle de una factura. Una
lnea de deduccin de un reporte de pago es una lnea de detalle del
reporte de pago
A es registrado o reportado o capturado en B. Ejemplos: Una venta
es registrada en un punto de venta. Un pedido es capturado o
registrado en la entrada de una bodega.
A es un miembro de B. Ejemplos: Un cajero es miembro del personal
de un negocio. Un piloto es miembro de la tripulacin de un avin.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de conexiones
Ideas para encontrar conexiones de Craig Larman:
A es una suborganizacin de B. Ejemplos: El departamento de ventas
es una suborganizacin de una empresa. La escuela de computacin
es una suborganizacin de la universidad.
A usa o maneja B. Ejemplos: Un cajero usa o maneja el punto de
venta de un negocio. Un piloto maneja un avin.
A se comunica con B. Ejemplos: Un cliente se comunica con un
cajero. Un vendedor se comunica con un cliente.
A est relacionado con una transaccin B. Ejemplos: Un cliente est
relacionado con un pago. Un pasajero est relacionado con un
tiquete.
A es una transaccin relacionada con otra transaccin B. Ejemplos:
Un pago est relacionado con una factura. Una cancelacin est
relacionada con una reservacin.
Preparadopor: Alan Caldern Castro (UCR)
Identificacin de conexiones
Ideas para encontrar conexiones de Craig Larman:
A est junto a B. Ejemplos: Una ciudad est junto a otra ciudad. Un
libro est junto a otro en un estante.
A es propiedad de B. Ejemplos: Un automvil es propiedad de una
persona. Un telfono es propiedad de B.
La Vista Lgica
en el anlisis
2. El Modelo del Negocio segn el
(MN) RUP
Preparadopor: Alan Caldern Castro (UCR)
El modelo del negocio
El modelo del negocio busca comprender los
procesos del negocio como entorno para el
producto de software en construccin.
Al comprender el entorno en que funcionar
el producto de software, se comprende
mejor las funciones del producto.
Preparadopor: Alan Caldern Castro (UCR)
El modelo del negocio
Segn los autores del RUP el modelo del negocio
es ms poderoso y abarca ms aspectos que el
modelo del dominio.
El Modelo del negocio incluye:
Entidades y unidades de trabajo que los trabajadores
del negocio usan en los casos de uso.
Un conjunto de flujos de trabajo que modelan procesos
en la organizacin que conforman el entorno para el
producto de software a construir.
Estos se conocen como casos de uso del negocio.
Preparadopor: Alan Caldern Castro (UCR)
MD versus MN
Difiere con el modelo del dominio en que:
Las entidades y unidades de trabajo del
modelo del negocio incluyen operaciones,
mientras que las entidades del modelo del
dominio no (entidad-relacin tradicional).
El modelo del dominio se construye como una
representacin del conocimiento de expertos en
el dominio y no necesariamente a partir de
casos de uso, como s sucede con el modelo del
negocio.
Preparadopor: Alan Caldern Castro (UCR)
MD versus MN
Al construir el MN se incluirn entonces:
Entidades y procesos fundamentales.
Correspondencia entre <<VDocs>> y <<tableros de
operaciones>> y las entidades y procesos
relevantes del dominio.
Flujos de trabajo que representan a los casos
de uso del negocio o procesos organizacionales.
Preparadopor: Alan Caldern Castro (UCR)
El modelo del negocio
(Modelo del Dominio)
Preparadopor: Alan Caldern Castro (UCR)
El modelo del negocio
(Flujos de Trabajo)
El modelo del negocio tambin describe los procesos
organizacionales en que intervienen actores del sistema en
construccin, otros trabajadores, <<documentos virtuales>> y
entidades que van a ser representados y organizados por el
producto de software o que quedarn en el entorno del
producto.
Los flujos de trabajo se representan por medio de diagramas
de actividades.
Las actividades en un flujo de trabajo pueden ser casos de
uso del producto de software en construccin u otras
actividades que no van a ser directamente soportadas por el
producto pero son parte de su entorno.
Preparadopor: Alan Caldern Castro (UCR)
El modelo del negocio
(Flujos de Trabajo)
Preparadopor: Alan Caldern Castro (UCR)
El modelo del negocio
(Flujos de Trabajo)
La Vista Lgica
en el anlisis
3. El Modelo de Objetos de Anlisis
(MOA)
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
El Modelo de Objetos de Anlisis MOA (RUP) y el
Modelo Relacional para la Persistencia de Objetos
MRPO son para coordinar el trabajo entre
analistas y programadores.
En la segunda edicin de su libro Larman reporta
que el MOA casi no se acostumbra hacer. No
obstante, puede ser muy til como modelo de
objetos independiente de la tecnologa de
desarrollo.
Ambos modelos anticipan el diseo detallado y
corresponden con una visin ms bien tcnica del
sistema en construccin.
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
Un modelo de anlisis:
... Ofrece una especificacin ms precisa de los
requisitos que la que tenemos como resultado de
la captura de requisitos, incluyendo el modelo de
casos de uso.
... Se describe utilizando el lenguaje de los
desarrolladores, y puede por tanto introducir un
mayor formalismo y ser utilizado para razonar
sobre los funcionamientos internos del sistema.
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
Un modelo de anlisis:
... Estructura los requisitos de un modo que
facilita su compresin, su preparacin, su
modificacin, y en general, su mantenimiento.
... Puede considerarse como una primera
aproximacin al modelo de diseo (aunque es un
modelo por s mismo), y es por tanto una
entrada fundamental cuando se da forma al
sistema en el diseo y en la implementacin.
(RUP).
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
El MOA representa :
Objetos de frontera.
Objetos de control.
Objetos de lgica de aplicacin.
<<entities>> que se encargan de la persistencia.
Adems:
Conexiones entre tales objetos.
Atributos y operaciones.
Multiplicidad de conexiones.
Navegabilidad entre los objetos.
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
(Objetos de Control)
Un objeto de control
representa (<<control>> o
<<controlador>>):
Comportamiento del
sistema que soporta uno o
ms casos de uso
interconectados.
Por lo anterior tpicamente
son objetos que controlan
a otros objetos
implementar las acciones
del sistema en un grupo de
casos de uso
interconectados.
Controlador
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
(Objetos de Control)
Gomaa clasifica los
<<controladores>> en
tres:
Coordinador: define el
control sobre otros
objetos por medio de
una secuencia de
mensajes que no
muestra dependencias
de estado.
Control de Estados:
define el control por
medio de una mquina
finita de estados.
Temporizador: define
el control por medio
de un reloj.
Controlador
Temporizador
Control de Estados Coordinador
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
(Objetos de lgica de aplicacin)
Estos objetos se necesitan cuando es
deseable ocultar la lgica de la aplicacin
separadamente respecto de los datos que
se manipulan porque se considera probable
que la lgica cambie en forma
independiente a los datos (Gomaa).
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
(Objetos de lgica de aplicacin)
Gomaa clasifica los objetos de
<<lgica de aplicacin>> en tres:
Lgica de Negocio: representa
reglas de negocio, condiciones
para su aplicacin y relaciones.
Algoritmo: representa un
algoritmo que se deriva del
anlisis de los requerimientos.
Agente Inteligente:
representa un objeto que usa
alguna tcnica de IA, adapta
su interface de acuerdo con el
objeto cliente y genera un
servicio en colaboracin
dinmica con otros agentes u
objetos.
Lgica de Aplicacin
Lgica de Negocio Algoritmo Agente Inteligente
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
(<<entity>>)
Tpicamente una <<entity>> corresponde a una
<<bussiness entity>> del dominio.
Los objetos <<entity>> encapsulan la interaccin con
la base de datos. De ah se derivan
responsabilidades como:
Manejo del objeto de conexin a la base de datos.
Manejo de cachs.
Aplicacin de operaciones sobre la base de datos
(insert, update, erase, search).
Verificacin de reglas de negocio que requieren la
base de datos.
Conversin de objetos a filas de tablas y viceversa
(database wrappers).
Ocultamiento de la tecnologa especfica para la
persistencia de objetos (database wrappers).
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
(<<ADT>>)
Aparte de las <<entities>>, en el MOA conviene
representar otros objetos asociados a estas en
tiempo de ejecucin.
Abstracciones de datos(<<ADT>>): objetos que
representan estructuras de datos en RAM que
estn asociadas al manejo de las <<entities>>.
Este estereotipo se aplica a los objetos que
representn en RAM a una entidad especfica
(una Cuenta, un Cliente o un Tipo de Producto en
particular).
Preparadopor: Alan Caldern Castro (UCR)
El Modelo de Objetos de Anlisis
(<<ADT>>)
Este estereotipo se aplica a listas, pilas,
colas, rboles, arreglos o directorios
basados hashing.
Muchos <<ADT>> han sido de hecho
implementados por los framework
asociados a las herramientas de desarrollo.
En la etapa de diseo detallado, estos
objetos podran ser sustituidos por
elementos reutilizables de un framework.
El Modelo Relacional
para la persistencia de objetos
(MRPO)
Preparadopor: Alan Caldern Castro (UCR)
El MRPO
El Modelo Relacional
de Persistencia de
Objetos presenta :
Tablas principales.
Tablas intermedias.
Campos de tablas.
Claves primarias.
Claves forneas.
Triggers.
Store-Procedures.
Preparadopor: Alan Caldern Castro (UCR)
Notacin para el MRPO
Una tabla se representa como un objeto
con el estereotipo <<table>>.
Los tipos de los atributos se restringen a
los SQL estndar:
Se usan estereotipos <<FK>> y <<PK>>
Las operaciones del objeto que representa
la tabla son:
<<TRG>>: triggers y
<<STP>>: store procedures.
Preparadopor: Alan Caldern Castro (UCR)
Construccin del MRPO
Cada una de las <<entities>> puede
transformarse en una o ms tablas
(<<table>>) del MRPO.
Al aplicar BCNF siempre podran aparecer
ms tablas para una <<entity>> del MD.
Por lo anterior, es necesario representar
en el MRPO conexiones de rastreo con las
<<entities>>.
Notacin genrica
de clases en el UML
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
En UML el concepto de objeto se usa para
modelar:
Conceptos del dominio relevantes para la
comprensin de los procesos del negocio
(<<bussiness entities>>).
Fragmentos o artefactos de la interaccin
humano-sistema (<<objetos de frontera>>).
Fragmentos o artefactos del producto de
software en construccin (<<entities>>, <<ADT>>,
<<controladores>>, <<tablas>>, objetos que
representan lgica del negocio).
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
En esta seccin se describe la notacin
UML que se usa para representar objetos y
asociaciones de los modelos estticos de la
Vista Lgica (Modelo del Dominio,
Modelo del Negocio, Modelo de Objetos
de Anlisis y Modelo Relacional para la
Persistencia de Objetos).
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Para un objeto se pueden especificar los atributos y
mtodos pblicos, privados y protegidos:
Objeto
Atributo privado : Date
Atributo pblico : Currency
Atributo protegido : Byte
Mtodo pblico()
Mtodo privado()
Mtodo protegido()
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Una asociacin entre objetos se representa por medio de
una lnea continua:
Objeto2
Atributo1
Atributo2
Mtodo 1()
Mtodo 2()
Objeto1
Atributo privado : Date
Atributo pblico : Currency
Atributo protegido : Byte
Mtodo pblico()
Mtodo privado()
Mtodo protegido()
nombre de la relacin
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Se puede indicar la multiplicidad de la asociacin en ambos
lados, con un solo caracter:
1 *
Obj eto2
Atributo1
Atributo2
Mtodo 1()
Mtodo 2()
Obje to1
Atributo privado : Date
Atributo pblico : Currency
Atributo protegido : Byte
Mtodo pblico()
Mtodo privado()
Mtodo protegido()
nombre de la relacin
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Se puede indicar la multiplicidad de la asociacin en ambos
lados, con un rango:
0..1 3. .*
Obj eto2
Atributo1
Atributo2
Mtodo 1()
Mtodo 2()
Obje to1
Atributo privado : Date
Atributo pblico : Currency
Atributo protegido : Byte
Mtodo pblico()
Mtodo privado()
Mtodo protegido()
nombre de la relacin
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Se puede indicar la multiplicidad de la asociacin en
ambos lados, con varios rangos:
0..1, 3..6 3..* , 7..*
Obj eto2
Atributo1
Atributo2
Mtodo 1()
Mtodo 2()
Obje to1
Atributo privado : Date
Atributo pblico : Currency
Atributo protegido : Byte
Mtodo pblico()
Mtodo privado()
Mtodo protegido()
nombre de la relacin
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Se pueden especificar los roles de los objetos en una asociacin.
El Rol 1 es el papel que juega el Objeto 1 en la asociacin y
el Rol 2 es el papel del Objeto 2:
Objeto2
Atributo1
Atributo2
Mtodo 1()
Mtodo 2()
Objeto1
Atributo privado : Date
Atributo pblico : Currency
Atributo protegido : Byte
Mtodo pblico()
Mtodo privado()
Mtodo protegido()
+Rol 1 +Rol 2
nombre de la relacin
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
La flecha es usada para denotar una asociacin
unidireccional. Indica direccionalidad lgica en la asociacin
(relacin asimtrica). Admite todos los detalles descritos de
una asociacin simple o bidireccional.
Estudiante
Registro de notas
<<tiene>>
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Aparte de las conexiones comentadas, existen otros tipos de
relaciones entre objetos:
Generalizacin: para representar la relacin entre objetos
abstractos y concretos o diferentes niveles de abstraccin.
Agregacin: para representar relaciones de composicin (parte-
todo).
Dependencia: para representar distintos tipos de interacciones.
Asociaciones n-arias: para representar asociaciones entre ms
de dos objetos.
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Ejemplo de generalizacin entre <<business entities>>:
T ransaccin de autorizacin de pago
fecha
hora
Solicitud de autorizacin de pago Respuesta de autorizacin de pago
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Ejemplo de composicin entre <<business
entities>>.
Permite representar la composicin (todo-parte)
entre clases.
El padre no existe sin la parte. La parte no existe
sin el padre.
El diamante relleno de negro indica que una
instancia de la clase parte solo pertenece a una
instancia de la clase todo. El diamante vaco
indica pertenencia compartida, pero se puede
aclarar con la nota de multiplicidad.
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
La flecha punteada es usada para denotar
interacciones entre objetos del MOA. Puede
indicar:
Que un objeto es cliente y otro suplidor, uno va
a requerir los servicios del otro.
Que un objeto es registrado por otro.
Que un objeto es generado o producido por
otro.
Que un objeto es procesado por otro.
Punto de
Venta
Venta
<<registra>>
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
La flecha punteada tambin puede
usarse para interacciones entre actores
y documentos en la VCU ampliada con
<<objetos de frontera>>:
Un actor captura un documento.
Un actor tramita un documento.
Un actor verifica un documento.
Administrador
Factura de
Crdito
aprueba
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Las asociaciones n-arias son poco comunes pero al
identificarlas se pueden simplificar los modelos.
Ao
Equipo
J ugador
temporada
portero
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Es posible introducir dependencias entre relaciones
para representar cierto tipo de restricciones. Aqu un
ejemplo del MD.
Profesor
director de
ensea en
Escuela
Esta dependencia entre
asociaciones indica que si X es un
profesor de una escuela entonces x
tambin ensea en la Escuela.
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Los objetos de asociacin permiten representar
informacin relevante a una asociacin (ejemplo del MD):
Profesor
1..n
ha dictado
1..n
Curso
Rendimiento por Grupo
El profesor X ha dictado varios
cursos. Cada curso lo puede
haber dictado varios semestres
con distintos resultados de
rendimiento por grupo.
Preparadopor: Alan Caldern Castro (UCR)
Objetos y asociaciones en UML
Dependiendo del modelo, se pueden agregar
mayores detalles a las asociaciones u
objetos tales como:
Uso o semntica.
Estereotipos UML.
Tipos de atributos o de parmetros de
operaciones.
Reglas de negocio.

También podría gustarte