CLASE 6: MODELO CONCEPTUAL/ MODELO DE DOMINIO

Anuncio
CLASE 6:
MODELO CONCEPTUAL/
MODELO DE DOMINIO
Universidad Simón Bolívar. Ing. de Software.
Prof. Ivette Carolina Martínez
Qué es un Modelo de Dominio
“Un Modelo de Dominio es una representación
visual de clases conceptuales o de objetos reales en
un dominio de interés” [MO95].
 Un Modelo de Dominio consiste en un conjunto de
diagramas de clases, sin definición de operaciones.
 Qué es un Modelo de Dominio?
Entrada:
  Descripción
del problema,
 Casos de Uso
Salida:
  Un
conjunto de diagramas de clases
Ejemplo
El modelo de dominio es un diccionario
visual
 El modelo de dominio proporciona una
perspectiva conceptual
 Objetos
del dominio o clases conceptuales
 Asociaciones entre clases conceptuales
 Atributos de las clases conceptuales
 La información que contienen también puede
ser expresada en forma de texto plano.
Objetos
 Un objeto es una cosa con identidad única en un
dominio de problema.
 Carlos
Pérez, USB, Venezuela son objetos
Todos los objetos tienen una identidad y son
distiguibles.
 Los objetos se distinguen por su existencia inherente y
no por las propiedades descriptivas que puedan
tener
  Dos
manzanas con el mismo color, forma y textura siguen
siendo manzanas individuales.
Clases y Objetos
 Una clase describe un grupo de objetos con las
mismas propiedades, comportamientos y relaciones
posibles.
 Un
objeto es una instancia de una clase.
 Persona, Universidad y País son clases.
Los objetos de un dominio son el foco del modelado.
 Por qué clases conceptuales?
  El
poder de la abstracción.
 El nivel de abstracción es un asunto de “juicio” y está
relacionado con la aplicación.
 La descripción de un cliente de un futuro sistema
puede tener una combinación de clases y objetos.
Clases y clases conceptuales
El modelo de dominio
es una visualización de
elementos de un
dominio de interes en
el mundo real.
 Los modelos de
dominio no deben
mostrar clases de
software
 Modelo de Dominio vs.
Modelo de Datos
Modelo de Datos - datos persistentes a
ser almacenados en algún lugar
 El modelo de dominio tambien incluye:
  Objetos
temporales
 Objetos sin atributos
Motivación
Ayudan a comprender los conceptos clave de
un negocio o un dominio de problema.
 Disminuyen la brecha de representación entre
como ven los clientes el problema y la
representación en software de la solución,
usando modelado Orientado por Objetos.
 Motivación
Cómo crear un modelo de dominio
Pasos:
1. Hallar las clases conceptuales.
2. Dibujar las clases conceptuales como
clases de un diagrama de clases UML.
3. Añadir asociaciones y atributos.
Hallar clases conceptuales
 Tres estrategias:
 Reusar
o modificar modelos existentes
 Existen
modelos de dominio y de datos publicados y bien
elaborados para dominios comunes: inventario, finanzas,
salud, etc.
 Fowler,
Analysis patterns
 Hay, Data Model Patterns
 Silverston, Data Model Resource Book
 Usar
una lista de categorías.
 Identificar sustantivos/frases nominales
Listas de Categorías
Objetos físicos y tangibles
TDPV
 Especificaciones o descripciones de cosas
EspecificaciónDeProducto
 Lugares
Tienda
 Transacciones
Venta, Pago
 Línea o reglón de elemento de transacciones
VentasLineaDeProducto
 Listas de Categorías
     Roles de personas
Cajero
Contenedores de otras cosas
Tienda
Cosas dentro de un contenedor
Producto
Otros Sistemas
Sistema de Autorización de tarjetas de crédito
La lista completa de categorías se encuentra en la tabla 10.1
del Larman.
Identificar Sustantivos
 Identficación de sustantivos
 Analizar
la descripción textual de dominio
 Identificar sustantivos (nombres) y frases nominales.
Estos indican candidatos a clases, objetos y atributos.
Ejemplo de Identificar Sustantivos
Errores Comunes
Ejemplo: PDV
Caso de Estudio: PDV
 Identificar y dibujar clases conceptuales
 Entrada: Caso de Uso en formato extendido.
 Estrategia: lista de categorías, identificación
de sustanivos.
 Ejemplo: PDV. Entrada: CU
PDV. Modelo de Dominio Inicial.
Asociaciones
Una Asociación es una relación entre objetos que
indica alguna conección con significado e interesante.
 Los objetos usualmente están relacionados por
conecciones físicas o concptuale.
  El
cajero Pedro Pérez trabaja en el TPDV “12”
Cuándo mostrar una asociación
 Cuando el conociminto de la relación necesita ser
presentado durante algún tiempo.
 Ejemplo:
 PDV:
Necesitamos recordar cuáles instancias
LíneasDeProductosVenta están asociados con una Venta.
 Se
deben evitar mostrar demasiadas asociaciones.
Valores de multiplicidad
La multiplicidad se
enfoca en la relación
en un momento
particular.
 Ejemplo: “Casado
con”
 Sobre asociaciones
 Pueden existir múltiples asociaciones entre dos
clases.
 Ejm:
 “el vuelo 1087 va de Caracas a Maracaibo”
Una clase conceptual puede estar relacionada
consigo misma.
 Ejemplo:
“Un directorio puede contener otros
directorios”.
Encontrando Asociaciones
 Usar la lista de asociaciones comunes:
 A
es una parte física de B
Caja-TDPV
 A es una parte lógica de B
VentasLineaDeProducto-Venta
 A está contenido físicamente en B
TDPV-Tienda
 A está contenido lógicamente en B
DescripciónDeProducto - Producto
 A es una descripción de B
DescripciónDeProducto - Producto
Encontrando Asociaciones
 A
es un elemento de línea en una transacción o reporte B
VentasLineaDeProducto-Venta
 A se conoce/introduce/registra/presenta/captura B
Venta-TDPV
 A es miembro de B
Cajero-Tienda
 A es una sub-unidad organizacional de B
Departamento-Tienda
 La lista completa puede consultarse en la tabla 11.1
del Larman 2ed.
TDPV. Modelo de Domnio Parcial
Atributos
Un atributo es un valor de datos lógico de un
objeto.
 Cuándo mostrar un atributo?
  Son
sugeridos por los requerimientos
 Implican una información que debe recordarse.
 Ejm:
 Venta
necesita un atributo horaVenta
 Tienda necesita nombre y dirección.
Atributos
En UML se puede indicar el tipo y alguna otra
información adicional.
 No deben colocarse atributos derivados. Ejm:
totalVenta.
 Atributos adecuados
 Muchos tipos atributos deben pensarse como
tipos “primitivos”
Atributos Adecuados
 Relacionar clases conceptuales con asociaciones, no
con atributos
Clases o Atributos
 Si no pensamos en una clase conceptual X como un
número o un texto en el mundo real, X es
probablemente una clase conceptual, no un
atributo.
TDPV: Modelo de dominio
Descargar