Escolar Documentos
Profissional Documentos
Cultura Documentos
SESION 12
UNIVERSIDAD NACIONAL DE INGENIERIA Facultad de Ingeniera Industrial y de Sistemas Ing. Jess Walter Antaurco Trujillo Wantaurco@yahoo.com
Objetivos de la clase
Contenidos
1. Modelamiento de Anlisis 2. Resumen de la fase de anlisis
Arquitecto
Analizar un Caso de Uso
Ingeniero de Componentes
Analizar un paquete
Las clases de anlisis representan abstracciones de clases o subsistemas del diseo de sistema y dentro del modelo de anlisis, los casos de uso se describen mediante clases de anlisis y sus objetos. Lo que se representa a travs de colaboraciones dentro del modelo de anlisis que llamamos realizaciones de caso de usoanlisis.
Requisitos funcionales Ms evidente, mayor granularidad Una clase de anlisis, raramente define u ofrece un interface en trminos de operaciones y de sus signaturas. En cambio, su comportamiento se define mediante responsabilidades en un nivel ms alto y menos formal. Una clase de anlisis define atributos de un nivel bastante alto Una clase de anlisis participa en relaciones, aunque se trata de relaciones ms conceptuales Las clases de anlisis siempre encaja en uno de tres estereotipos bsicos: de interfaz, de control o de entidad
Las clases de interfaz representan a menudo, abstracciones de ventanas, formularios, paneles , interfaces de comunicaciones, interfaces de impresoras, sensores, terminales, y API (posiblemente no orientados a objetos)
Las clases de entidad se utilizan para modelar informacin que posee una vida larga y que es, a menudo, persistente. Suelen derivarse directamente de una clase de entidad del negocio.
Las clases de control representan coordinacin, secuencia, transacciones, y control de otros objetos y se usan frecuentemente para encapsular el control de un caso de uso en concreto. Los aspectos dinmicos del sistema se modelan con clase de control, manejan y coordinan las acciones y los flujos de control principales, y delegan trabajo en otros objetos, es decir, objetos de interfaz y de entidad.
Una realizacin de caso de uso-anlisis es una colaboracin dentro del modelo de anlisis que describe cmo se lleva a cabo y se ejecuta un caso de uso determinado en trminos de las clases de anlisis y de sus objetos de anlisis en interaccin. Una realizacin de caso de uso posee una descripcin textual del flujo de sucesos, diagramas de clase que muestran sus clases de anlisis participantes, y diagramas de interaccin que muestran la realizacin de un flujo o escenario particular del caso de uso en trminos de interacciones de objetos del anlisis. trace
Caso de uso Realizacin caso de uso Anlisis
Reglas de negocio
Los paquetes del anlisis proporcionan un medio de organizar los artefactos del modelo de anlisis en piezas manejables. Un paquete de anlisis puede constar de clases de anlisis, de realizacin de casos de uso, y de otros paquetes de anlisis (recursivamente). Tienen las siguientes caractersticas: Pueden representar una separacin de intereses de anlisis Han de crearse basndose en los requisitos funcionales y en el dominio del problema Probablemente se convertirn en subsistemas
A partir de los casos de uso obtener el diseo preliminar del sistema que deber ser refinado en el modelo del diseo. Nivel de abstraccin ms alto que en el diseo. Visin ideal del sistema. Se define una arquitectura del sistema.
muestra los eventos que un actor genera durante la interaccin con el sistema (caja negra) Cada evento da origen a una operacin del sistema El efecto de las operaciones se describen mediante contratos especificados mediante una plantilla (opcional) .
Para cada operacin del sistema se define una colaboracin (diagrama de interaccin) que muestra cmo deben colaborar los objetos para satisfacer la postcondicin expresada en el contrato de dicha operacin. Crear el modelo de clases a partir del modelo conceptual, conforme se definen las colaboraciones
Cajero
Realizar Venta
Cliente
:Sistema
: Cajero
crearNuevaVenta
* introducirItem(upc,cantidad) finalizarVenta() crearPago(cantidad)
CONTRATOS
: Cajero
:Sistema crearNuevaVenta()
1. Cliente llega al TPV con item 2. Cajero inicia venta 3. Cajero introduce id item 4. Sistema registra lnea de venta y presenta parcial Cajero repite pasos 3 y 4 hasta que acaba 5. Sistema presenta total 6. Cajero requiere pago 7. ...
Contratos
Descripcin detallada del comportamiento del sistema en trminos de cambios de estado a los objetos en el Modelo Conceptual, tras la ejecucin de una operacin del sistema. Definicin basada en pre y postcondiciones Las postcondiciones indican
Contratos
Las postcondiciones sern incompletas y se descubrirn detalles en el diseo. Escribimos las postcondiciones a partir del modelo conceptual.
Contratos
tiles cuando hay mucha complejidad y la precisin es un valor aadido Normalmente no son necesarios, si un equipo escribe un contrato para cada caso de uso es una seal de unos casos de uso muy pobres o falta de colaboracin con los expertos o que les gusta escribir documentacin innecesaria En la prctica la mayora de detalles se pueden inferir de los casos de uso de modo obvio, aunque obvio es un concepto muy escurridizo.
Contratos
1. Identificar operaciones del sistema en Diagrama de Secuencia. 2. Construir un contrato para operaciones complejas y quiz sutiles en sus resultados, o que no estn claras en el caso de uso. 3. Describir post condiciones
Creacin/Eliminacin de instancias Creacin/Eliminacin de asociaciones Modificacin de atributos
Plantilla de un Contrato
Nombre operacin Signatura de la operacin Referencias cruzadas (opcional) Precondiciones
Casos de uso en los que puede tener lugar esta operacin
Suposiciones relevantes sobre el estado del sistema o de objetos del modelo conceptual, antes de ejecutar la operacin. Suposiciones no triviales Estado de objetos del dominio despus de que se complete la operacin
Postcondiciones
Contrato IntroducirItem
Nombre: introducirItem (itemID: itemID, cantidad: integer) Referencias Cruzadas: Registrar Venta Precondiciones: Hay una venta en curso Postcondiciones: - Se cre una instancia lv de LineaVenta - Se asoci ldv a la venta en curso v - Se asign cantidad a lv.cantidad - lv se asoci a una EspecificacinProducto segn itemID
Colaboracin
Diagramas de secuencia o comunicacin Crear estos diagramas es una actividad de AOO/DOO muy creativa. Diseo de colaboraciones es la parte ms difcil. Punto de partida para la programacin. Crear modelo de clases de anlisis en paralelo.
Diagrama de Comunicacin
2: [nuev venta] crear() 1: IntroducirProducto(cup, cant) GUI : TPV 6: AddLineaVenta(esp, cant) : Venta
7: crear(esp,cant)
: Catalogo Productos
lv : Lineas Venta
: Producto
Se aade una clase por cada tipo de objeto del dominio que participa en la colaboracin. Se aaden atributos segn los contratos. Se aaden mtodos segn las colaboraciones.
Para aquellas clases con objetos con comportamiento dependiente del estado, se construye una mquina de estados:
Contenido
ASI 1. Requerimientos del Sistema de Informacin ASI 2. Anlisis de los Casos de Uso ASI 3. Anlisis de Clases ASI 4. Anlisis de Paquetes ASI 5. Especificacin de Interfaces con otros sistemas
Fase II \ Actividad 2
Identificar las clases cuyos objetos son necesarios para realizar un caso de uso y describir su comportamiento mediante la interaccin de dichos objetos.
Participantes
Fase II \ Actividad 2
Prcticas
Catalogacin
Tareas
ASI 2.1 Identificacin de Clases asociadas a un caso de uso ASI 2.2 Descripcin de la Interaccin de Objetos
A partir del estudio del caso de uso, se extrae una lista de objetos candidatos a ser clases. Es posible que, inicialmente, no se disponga de la informacin necesaria para identificar todas, por lo que se hace una primera aproximacin que se va refinando posteriormente. Ejemplo CU. Apertura de Historia Clnica: 1. Paciente 2. Cita 3. Pieza dental 4. Plan de tratamiento
Clases de Entidad (representan la informacin manipulada en el caso de uso). Clases de Interfaz de Usuario (se utilizan para describir la interaccin entre el sistema y sus actores. Suelen representar abstracciones de ventanas, interfaces de comunicacin, formularios, etc.). Clases de Control (son responsables de la coordinacin, secuencia de transacciones y control de los objetos relacionados con un caso de uso).
El objetivo de esta tarea es describir la cooperacin entre los objetos utilizados para la realizacin de un caso de uso, que ya fueron identificados en la tarea anterior. Para representar esta informacin, se usan diagramas de interaccin que contienen instancias de los actores participantes, objetos, y la secuencia de mensajes intercambiados entre ellos. Se pueden establecer criterios para determinar qu tipo de objetos y mensajes se va a incluir en este diagrama, como por ejemplo: si se incluyen objetos y llamadas a bases de datos, objetos de interfaz de usuario, de control, etc.
Realizacin del Caso de Uso Apertura de Historia Clinica, usando el Diagrama de Colaboracin
Fase II \ Actividad 3
Describir cada clase que ha surgido, identificando las responsabilidades que tiene asociada, sus atributos y relaciones entre ellas. Teniendo en cuenta las clases identificadas en la actividad Anlisis de los Casos de Uso, se elabora el modelo de clases para cada subsistema.
Participantes
Fase II \ Actividad 3
Fase II \ Actividad 4
Representar la integracin de los subsistemas determinados, mediante paquetes de clases ( especficas y de uso comn reutilizacin ) El objetivo de esta tarea es la coordinacin en la elaboracin de los distintos modelos de anlisis de cada subsistema, asegurando la ausencia de duplicidad de elementos y la precisin en la utilizacin de los trminos del glosario. Diagrama de Paquetes Analista de Sistemas (Responsable) ASI 4.1 Anlisis de Paquetes
Tcnicas
Participantes
Tareas
Fase II \ Actividad 5
Describir en detalle las interfaces con otros sistemas, con el fin de definir y delimitar la forma de interaccin con el exterior
Prcticas
Sesiones de Trabajo
Participantes
Tareas