ClaseAYD_12

download ClaseAYD_12

of 42

description

FIIS UNI

Transcript of ClaseAYD_12

  • ANALISIS Y DISEO DE SISTEMASSESION 12UNIVERSIDAD NACIONAL DE INGENIERIAFacultad de Ingeniera Industrial y de SistemasIng. Jess Walter Antaurco [email protected]

  • Objetivos de la claseDefinir el modelamiento Anlisis.Resumen de la fase de anlisis

  • ContenidosModelamiento de AnlisisResumen de la fase de anlisis

  • Modelado del Anlisis

  • Work Flow de AnlisisArquitectoIngeniero de casos de usoIngeniero de ComponentesAnalizar una claseAnalizar un Caso de UsoAnlisis de la ArquitecturaAnalizarunpaquete

  • Artefacto: MODELO DE ANLISIS 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 uso-anlisis.

  • Artefacto: CLASE DE ANLISIS Requisitos funcionalesMs evidente, mayor granularidadUna 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 altoUna clase de anlisis participa en relaciones, aunque se trata de relaciones ms conceptualesLas clases de anlisis siempre encaja en uno de tres estereotipos bsicos: de interfaz, de control o de entidad

  • Artefacto: CLASES DE INTERFAZ 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)

  • Artefacto: CLASES DE ENTIDAD 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.

  • Artefacto: CLASES DE CONTROLLas 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.

  • Artefacto: REALIZACIN DE CASO DE USO-ANLISIS 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.

  • Artefacto: PAQUETE DE ANLISIS 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 problemaProbablemente se convertirn en subsistemas

  • Modelo del anlisisObjetivo:

    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.

  • Modelo del anlisisPara cada caso de uso se define un diagrama de secuencia del sistema que muestra los eventos que un actor genera durante la interaccin con el sistema (caja negra)Cada evento da origen a una operacin del sistemaEl efecto de las operaciones se describen mediante contratos especificados mediante una plantilla (opcional) .

  • Modelo del anlisisPara 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:Sistema* introducirItem(upc,cantidad)finalizarVenta()crearPago(cantidad)CajeroRealizar VentaClienteOperacinOperacinOperacinCONTRATOScrearNuevaVenta

  • Diagrama de Secuencia del Sistema (Caso de Uso Realizar Venta)1. Cliente llega al TPV con item2. Cajero inicia venta3. Cajero introduce id item4. Sistema registra lnea de venta y presenta parcial

    Cajero repite pasos 3 y 4 hasta que acaba

    5. Sistema presenta total6. Cajero requiere pago7. ...

  • ContratosDescripcin 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 postcondicionesLas postcondiciones indicanCreacin y Eliminacin de objetosCreacin o Eliminacin de asociacionesModificacin de atributos

  • ContratosLas postcondiciones sern incompletas y se descubrirn detalles en el diseo. Escribimos las postcondiciones a partir del modelo conceptual.

    Son redundantes los contratos con los casos de uso?

  • Contratostiles cuando hay mucha complejidad y la precisin es un valor aadidoNormalmente 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 innecesariaEn la prctica la mayora de detalles se pueden inferir de los casos de uso de modo obvio, aunque obvio es un concepto muy escurridizo.

  • ContratosIdentificar operaciones del sistema en Diagrama de Secuencia.Construir un contrato para operaciones complejas y quiz sutiles en sus resultados, o que no estn claras en el caso de uso. Describir post condicionesCreacin/Eliminacin de instanciasCreacin/Eliminacin de asociacionesModificacin de atributos

  • Plantilla de un Contrato

    Nombre operacinSignatura de la operacinReferencias cruzadas (opcional)Casos de uso en los que puede tener lugar esta operacinPrecondicionesSuposiciones relevantes sobre el estado del sistema o de objetos del modelo conceptual, antes de ejecutar la operacin. Suposiciones no trivialesPostcondicionesEstado de objetos del dominio despus de que se complete la operacin

  • Contrato IntroducirItem

    Nombre: introducirItem (itemID: itemID, cantidad: integer)Referencias Cruzadas: Registrar VentaPrecondiciones: Hay una venta en cursoPostcondiciones: - 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

  • ColaboracinDiagramas de secuencia o comunicacinCrear 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

  • Modelo de clases del anlisisEl modelo de clases del anlisis se crea a partir del modelo conceptual.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: Dispositivos, Controladores, Ventanas, etc.

  • Resumen de la fase de Anlisis

  • ContenidoASI 1. Requerimientos del Sistema de InformacinASI 2. Anlisis de los Casos de UsoASI 3. Anlisis de ClasesASI 4. Anlisis de PaquetesASI 5. Especificacin de Interfaces con otros sistemas

  • ASI 2. Anlisis de los Casos de UsoObjetivoIdentificar las clases cuyos objetos son necesarios para realizar un caso de uso y describir su comportamiento mediante la interaccin de dichos objetos.

    ParticipantesAnalista de Sistemas (responsable)Fase II \ Actividad 2

  • ASI 2. Anlisis de los Casos de UsoTcnicasDiagrama de Interaccin de Objetos (de secuencia o de colaboracin)

    PrcticasCatalogacin

    TareasASI 2.1 Identificacin de Clases asociadas a un caso de usoASI 2.2 Descripcin de la Interaccin de ObjetosFase II \ Actividad 2

  • ASI 2.1 Identificacin de Clases Asociadas a un Caso de Uso 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:PacienteCitaPieza dentalPlan de tratamientoFase II \ Actividad 2 \ Tarea 1

  • ASI 2.1 Identificacin de Clases Asociadas a un Caso de Uso Las clases que se identifican en esta tarea pueden ser: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).Fase II \ Actividad 2 \ Tarea 1

  • ASI 2.2: Descripcin de la Interaccin de Objetos 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.Fase II \ Actividad 2 \ Tarea 2

  • ASI 2.2: Descripcin de la Interaccin de Objetos Realizacin del Caso de Uso Apertura de Historia Clinica, usando el Diagrama de ColaboracinFase II \ Actividad 2 \ Tarea 2

  • ASI 3. Anlisis de ClasesObjetivoDescribir 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.

    ParticipantesAnalista de Sistemas (Responsable)Fase II \ Actividad 3

  • ASI 3. Anlisis de ClasesTcnicasDiagrama de ClasesDiagrama de Transicin de Estados (Opcional)

    TareasASI 3.1 Anlisis de ClasesFase II \ Actividad 3

  • ASI 3.1 Anlisis de ClasesFase II \ Actividad 3 \ Tarea 1

  • ASI 4. Anlisis de PaquetesObjetivoRepresentar 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. TcnicasDiagrama de Paquetes ParticipantesAnalista de Sistemas (Responsable)TareasASI 4.1 Anlisis de PaquetesFase II \ Actividad 4

  • ASI 4.1 Anlisis de PaquetesFase II \ Actividad 4 \ Tarea 1

  • ASI 5. Especificacin de Interfaces con otros sistemasObjetivoDescribir en detalle las interfaces con otros sistemas, con el fin de definir y delimitar la forma de interaccin con el exterior

    PrcticasSesiones de Trabajo

    ParticipantesAnalista de Sistemas (Responsable)

    TareasASI 5.1 Especificacin de interfaces con otros sistemasFase II \ Actividad 5

  • ASI 5.1 Especificacin de Interfaces con otros sistemasFase II \ Actividad 5 \ Tarea 1NO APLICA

  • FIN Sesin 12Analisis y Diseo de SistemasUNIVERSIDAD NACIONAL DE INGENIERIAFacultad de Ingeniera Industrial y de SistemasIng. Jess Walter Antaurco [email protected]