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

61
Modelo de Análisis

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

Page 1: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Modelo de Análisis

Page 2: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Contenido

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

Page 3: 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.

Page 4: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 5: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Análisis

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

Page 6: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 7: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 8: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 9: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 10: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

¿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.

Page 11: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

¿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

Page 12: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

¿Qué es?

AnalysisModel

AnalysisSystem

AnalysisPackage

1*

* * * *

AnalysisClass

Use CaseRealization-Analysis

Page 13: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 14: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Clases Interfaz o Frontera

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

Page 15: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 16: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 17: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Clases Entidad

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

Page 18: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Clases EntidadEjemplo:• La clase entidad Pago permite

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

Cajero Interfaz Pago

Pago

consulta

Page 19: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 20: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 21: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 22: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Diagrama de Clases

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

CajeroInterfaz

Pago

Pago

Registrar

Controladorade Pagos

Crear

Page 23: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Modelo Conceptual

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

Conceptual• Atributos.

Page 24: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

¿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.

Page 25: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Conceptos Relacionados

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

– Diagramas de Clase– Diagramas de Objetos

• Modelo Conceptual vs. Diagrama de Clases

Page 26: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 27: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Correspondencia Tipo-Instancia

Puntox: Realy: Real

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

p1: Puntox: 2.15y: 654.25

p2: Puntox: 2y: 541.12

Page 28: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Diagrama de Clases

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

Page 29: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 30: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 31: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Relaciones •Son vínculos que se establecen entre los

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

las: –Asociaciones–Agregaciones

Page 32: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Relación de Asociación

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

Page 33: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Relación de Asociación

•Pueden ser binarias, ternarias o de orden superior.

•Por defecto son bidireccionales

Page 34: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Relación de Asociación

Asociación binaria•Se denota gráficamente

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

Page 35: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Relación de Asociación

Asociación binaria

VUELOviaja

TRIPULANTE

Page 36: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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).

Page 37: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 38: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Nombre de Asociaciones

Legible y Entendible

ASIENTOposee

AVION

Page 39: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

La Multiplicidad

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

ASIENTOPosee

1 *VUELO

Page 40: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

La Multiplicidad

Exactamente uno

Cero or muchos

Uno o muchos

Cero o uno

Rango específico

1

0..*

1..*

0..1

2..4

Muchos*

Page 41: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 42: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Asociación N-aria

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

• La multiplicidad puede ser especificada pero es menos obvia.

Page 43: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Asociación N-aria

Equipo

Año

Jugador

Registro

Page 44: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Agregaciones

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

Page 45: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Agregaciones

Aeropuerto

VueloAvion

El Vuelo está compuesto de Avión y Aeropuerto

Page 46: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Agregación

Polígono Punto3..*Contiene

{ordenado} Propiedad-Graficacolortexturadensidad

1

1

Page 47: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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.

Page 48: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Agregación vs. Composición

CírculoPolígono

Punto

Estilo

Page 49: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 50: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Definir las clases o conceptos

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

Page 51: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Categorías

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

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

transacciones......LineaProdVenta

Page 52: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 53: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 54: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 55: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 56: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 57: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

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

Page 58: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Multiplicidad

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

• Se define primero la multiplicidad.

Page 59: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Atributos

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

Page 60: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Atributos

• No utilizar atributos complejos (objetos). Utilice asociaciones

VueloDestino

Destino es complejo, modele como concepto sus posibles valores

Page 61: Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.

Atributos

• No utilizar atributos que sean llaves foraneas. Utilice asociaciones

Vuelo

NumPiloto

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