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
Top Related