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
Analysis Model
• Puede contener
• No debe contener
redundancias e
redundancias ni
inconsistencias en el
inconsistencias en la
enlace con los
interpretación de los
requerimientos.
requerimientos.
• Captura la
• Bosqueja como realizar
funcionalidad del
la funcionalidad dentro
sistema
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?
Analysis
Model
Analysis
System
1
Analysis
Package
*
*
Analysis
Class
*
*
*
Use Case
Realization-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 Entidad
Ejemplo:
• La clase entidad Pago permite
mostrar la información de un pago
en la interfaz de pago.
consulta
Cajero
Interfaz Pago
Pago
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.
Ejemplo:
Clase Controladora
• La controladora de pagos es
responsable de la coordinación entre la
interfaz de pagos y la entidad pago.
Registrar
Crear
Cajero
Interfaz
Pago
Controladora
de Pagos
Pago
Diagrama de Clases
• Es un diagrama que muestra las clases
de análisis y sus relaciones.
Registrar
Crear
Cajero
Interfaz
Pago
Controladora
de Pagos
Pago
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 TipoInstancia
• 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 TipoInstancia
p1: Punto
Punto
x: Real
y: Real
rotar(angulo: Real)
escala(factor: Real)
x: 2.15
y: 654.25
p2: Punto
x: 2
y: 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
Ventana
tamaño: Area
visible: Boolean
subrayado: ámbito de clase
Ventana
{abstract,
autor = Joe,
status=verificado}
+tamaño: Area=(100,100)
#visible: Boolean=false
+default-size: Rectangle
#maximum-size: Rectangle
+desplegar ( )
+ocultar ( )
+crear ( )
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
TRIPULANTE
viaja
VUELO
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
AVION
posee
ASIENTO
La Multiplicidad
• Define cuántas ocurrencias de un
tipo A pueden ser asociados con
una instancia de un tipo B.
VUELO
Posee
1
ASIENTO
*
La Multiplicidad
Muchos
Exactamente uno
Cero or muchos
Uno o muchos
Cero o uno
Rango específico
*
1
0..*
1..*
0..1
2..4
Relación de Asociación
Empresa
*
Trabaja-para
empleador
empleado
Trabajador
salario
trabajador
*
Persona
jefe
0..1
Persona
Cuenta
Corporación
gerencia
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
Año
Equipo
Jugador
Registro
Agregaciones
• Las agregaciones se identifican con
relaciones entre tipos que
impliquen que uno “tiene a” otro.
Agregaciones
Avion
Vuelo
Aeropuerto
El Vuelo está compuesto de Avión
y Aeropuerto
Agregación
Polígono
1
Contiene 3..*
4 {ordenado}Punto
Propiedad-Grafica
1 color
textura
densidad
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
Punto
Círculo
Polígono
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
Vuelo
Destino
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
Descargar

Modelo Conceptual