Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Post on 23-Jan-2016

274 views 0 download

Transcript of Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Modelo de Análisis

Contenido

• Análisis• Modelo de Análisis• Modelo Conceptual

Análisis

• En el Workflow de Análisis se analizan, refinan y estructuran los requerimientos capturados con el propósito de estructurar el sistema completo.

• Los modelos que se desarrollan describen qué es lo que el sistema va a hacer.

Análisis

• Los modelos que se desarrollan están orientados al problema y no al ambiente en el que el sistema va a ser desarrollado e implementado.

Análisis

• El modelo de análisis proporciona una configuración conceptual del sistema que consiste de objetos de control, entidad e interfaces.

Modelo de Casos de Uso vs. Modelo de Análisis

Use-Case Model• Se describe

usando el lenguaje del cliente.

• Es la vista externa del sistema.

Analysis Model• Se describe

usando el lenguaje del desarrollador.

• Es la vista interna del sistema

Modelo de Casos de Uso vs. Modelo de Análisis

Use-Case Model• Se usa a manera

de contrato entre clientes y desarrolladores para definir lo que el sistema debe y no debe hacer

Analysis Model• Se usa para que

los desarrolladores comprendan como el sistema debe ser diseñado e implementado.

Modelo de Casos de Uso vs. Modelo de Análisis

Use-Case Model• Puede contener

redundancias e inconsistencias en el enlace con los requerimientos.

• Captura la funcionalidad del sistema

Analysis Model• No debe contener

redundancias ni inconsistencias en la interpretación de los requerimientos.

• Bosqueja como realizar la funcionalidad dentro del sistema.

Modelo de Análisis• ¿Qué es?• Clases Interfaz o Frontera• Clases Entidad• Clases de Control• Diagrama de Clases de Análisis

¿Qué es?• Es un modelo conceptual de

objetos que ayuda a refinar los requerimientos y permite a los desarrolladores describir la estructura interna del sistema.

¿Qué es?• Es una jerarquía de paquetes de

análisis que agregan clases de análisis y realizaciones de casos de uso.

• Se describen las clases de análisis bajo sus tres estereotipos: Interfaz, Entidad y Control

¿Qué es?

AnalysisModel

AnalysisSystem

AnalysisPackage

1*

* * * *

AnalysisClass

Use CaseRealization-Analysis

Clases Interfaz o Frontera

• Las Clases “Boundary” se usan para modelar la interacción entre el sistema y los actores.

• Esta interacción involucra recibir (y presentar) información y peticiones desde usuarios y sistemas externos.

Clases Interfaz o Frontera

• Representan la abstracción de de ventanas, formularios, paneles, interfaces de comunicación, impresoras, sensores, terminales o dispositivos.

Clases Interfaz o Frontera

Ejemplo:• La interfaz de pago es usada

para soportar la interacción entre el actor cajero y el caso de uso de Registrar Pago.

Cajero Interfaz Pago

Clases Entidad

• Las Clases Entidad (Entity) son usadas para modelar la información que tiene permanencia en el tiempo y es persistente.

• Modelan la información y el comportamiento asociado de algún concepto como una persona, evento u objeto del mundo real.

Clases Entidad

• Usualmente muestran la estructura de datos lógica que contribuye a la comprensión de la información que depende el sistema.

Clases EntidadEjemplo:• La clase entidad Pago permite

mostrar la información de un pago en la interfaz de pago.

Cajero Interfaz Pago

Pago

consulta

Clase Controladora

• Las clases “control” representan la coordinación, secuencia, gestión de transacciones y control de otros objetos.

• Usualmente se usan para encapsular el control relacionado con un caso de uso específico.

Clase Controladora• También se usan para representar

cálculos y derivaciones complejas, como la lógica del negocio que no se puede relacionar con ninguna entidad.

• La dinámica del sistema se modela en una clase controladora, que se encarga de delegar trabajo a otras clases.

Clase ControladoraEjemplo:• La controladora de pagos es

responsable de la coordinación entre la interfaz de pagos y la entidad pago.

CajeroInterfaz

Pago

Pago

Registrar

Controladorade Pagos

Crear

Diagrama de Clases

• Es un diagrama que muestra las clases de análisis y sus relaciones.

CajeroInterfaz

Pago

Pago

Registrar

Controladorade Pagos

Crear

Modelo Conceptual

• ¿Qué es?• Conceptos Relacionados• Relaciones• Obtención del Modelo

Conceptual• Atributos.

¿Qué es?

•Es una vista que muestra los conceptos básicos del sistema: sus partes y relaciones.

•Se utiliza un diagrama de clases de UML simplificado.

•Es una representación de las relaciones entre clases entidad.

Conceptos Relacionados

• Correspondencia Tipo - Instancia• Diagramas de Estructura Estática

– Diagramas de Clase– Diagramas de Objetos

• Modelo Conceptual vs. Diagrama de Clases

Correspondencia Tipo-Instancia

• La dicotomía tipo-instancia– clase-objeto, asociación-link, parámetro-

valor, operación-llamada, etc.

• En UML la distinción tipo-instancia emplea el mismo símbolo geométrico para cada par de elementos y subrayando el string del nombre.

Correspondencia Tipo-Instancia

Puntox: Realy: Real

rotar(angulo: Real)escala(factor: Real)

p1: Puntox: 2.15y: 654.25

p2: Puntox: 2y: 541.12

Diagrama de Clases

• Es una colección de elementos declarativos del modelo (clases y sus relaciones), conectados como un grafo.

Diagrama de Objetos

• Es un grafo de instancias de clase• De modo Estático es una instancia

de un Diagrama de Clases.• De modo Dinámico muestra el

estado detallado de un sistema en un periodo de tiempo.

Modelo Conceptual vs. Diagrama de Clases

Ventana

Ventanatamaño: Areavisible: Boolean

Ventana{abstract, autor = Joe,status=verificado}

+tamaño: Area=(100,100)#visible: Boolean=false+default-size: Rectangle#maximum-size: Rectangle

+desplegar ( )+ocultar ( )+crear ( )

subrayado: ámbito de clase

Relaciones •Son vínculos que se establecen entre los

conceptos o clases.•En una primera etapa del análisis revisaremos

las: –Asociaciones–Agregaciones

Relación de Asociación

•Representa una relación o conexión semántica entre objetos de diferentes clases

Relación de Asociación

•Pueden ser binarias, ternarias o de orden superior.

•Por defecto son bidireccionales

Relación de Asociación

Asociación binaria•Se denota gráficamente

como un arco sólido conectando dos símbolos de clase.

Relación de Asociación

Asociación binaria

VUELOviaja

TRIPULANTE

Atributos de las Relaciones

• Multiplicidad: Es indicada por un rango en el rol. Indicar el número de instancias vinculadas entre las clases.

• Rol: Cada final de la asociación es un rol (opcionalmente se documenta con un nombre).

Atributos de las Relaciones

• Navegabilidad: Indica el grado de visibilidad que tienen las intancias de una clase respecto de otra.

• Nombre: Cada asociación puede tener un nombre

Nombre de Asociaciones

Legible y Entendible

ASIENTOposee

AVION

La Multiplicidad

• Define cuántas ocurrencias de un tipo A pueden ser asociados con una instancia de un tipo B.

ASIENTOPosee

1 *VUELO

La Multiplicidad

Exactamente uno

Cero or muchos

Uno o muchos

Cero o uno

Rango específico

1

0..*

1..*

0..1

2..4

Muchos*

Relación de Asociación

Empresa Persona* Trabaja-para

empleador empleado

Trabajadorsalario

jefe

gerencia

0..1trabajador*

Cuenta

Persona

Corporación

Dirección de lectura del nombre de relación

Asociación N-aria

• Asociación entre 3 o más clases.

• La multiplicidad puede ser especificada pero es menos obvia.

Asociación N-aria

Equipo

Año

Jugador

Registro

Agregaciones

• Las agregaciones se identifican con relaciones entre tipos que impliquen que uno “tiene a” otro.

Agregaciones

Aeropuerto

VueloAvion

El Vuelo está compuesto de Avión y Aeropuerto

Agregación

Polígono Punto3..*Contiene

{ordenado} Propiedad-Graficacolortexturadensidad

1

1

Composición• Es una forma fuerte de agregación

donde el tiempo de vida de la parte coincide con el todo.

• Las partes no deben sobrevivir fuera del todo.

• Operaciones de copia o eliminación al todo deben propagarse a las partes.

• Soporta encapsulamiento.

Agregación vs. Composición

CírculoPolígono

Punto

Estilo

Obtención del Modelo Conceptual

• Explica los conceptos significativos en el dominio del problema.

• Procedimiento:– Los tipos o conceptos– Las asociaciones– La multiplicidad– Las agregaciones

Definir las clases o conceptos

• Hacer una lista de clases de acuerdo a categorías

Categorías

• Objetos físicos......Avión• Descripciones de

cosas..........Especificación de vuelo• Lugares.........Aeropuerto• Transacciones.........Venta • Línea de

transacciones......LineaProdVenta

Categorías

• Contenedores de cosas ...........Avión• Cosas dentro de un

contenedor.........................Pasajero• Otros sistemas de cómputo o

Dispositivos externos...ControlTráfico• Abstractos.........................Aerofobia• Organizaciones...............DptoVentas

Categorías• Eventos.................Aterrizaje• Procesos................ReservaciónAsiento• Reglas...................PolíticaCancelación• Catálogos.............CatálogodePartes• Registros de Finanzas de trabajo,

contratos legales..................Boleto• Instrumentos y servicios

financieros............Línea de Crédito• Manuales, y libros...ManualPersonal

Definición de las Asociaciones

• Deben registrarse las asociaciones en que el conocimiento de la relación se debe preservar durante algún tiempo

• No incluir asociaciones redundantes ni derivables

Lista de Asociaciones

• A es una parte física de B .......Ala• A es una parte lógica de

B .....................LíneaVenta en Venta• A está físicamente contenido en

B...................... Pasajero en Avión• A está lógicamente contenido en

B..... Vuelo en Descripción de Vuelo

Lista de Asociaciones

• A es una descripción de B .........Descripción de Vuelo y Vuelo

• A es una línea en una transacción o reporte........LineaProducto y Venta

• A se conoce/introduce/registra/presenta/ captura en B .............................Reservación en ListaPasajeros

Lista de Asociaciones

• A es miembro de B....Piloto y Avión• A es subunidad organizativa de B..

.........Mantenimiento y Linea Aerea

• A usa o dirige B ........Piloto y Avión• A se comunica con B ......Cliente y

Vendedor

Multiplicidad

• Los extremos de una asociación pueden tener multiplicidad, nombre y navegación.

• Se define primero la multiplicidad.

Atributos

• Los atributos deben definirse de en correspondencia con los necesarios para representar los objetos del mundo real y no con componentes de software.

Atributos

• No utilizar atributos complejos (objetos). Utilice asociaciones

VueloDestino

Destino es complejo, modele como concepto sus posibles valores

Atributos

• No utilizar atributos que sean llaves foraneas. Utilice asociaciones

Vuelo

NumPiloto

NumPiloto es una llave foránea, modele una asociación con Piloto