Está en la página 1de 34

CLASE 6: MODELO CONCEPTUAL/ MODELO DE DOMINIO

Universidad Simn Bolvar. Ing. de Software. Prof. Ivette Carolina Martnez

Qu es un Modelo de Dominio
Un Modelo de Dominio es una representacin visual de clases conceptuales o de objetos reales en un dominio de inters [MO95]. Un Modelo de Dominio consiste en un conjunto de diagramas de clases, sin definicin de operaciones.

Qu es un Modelo de Dominio?

Entrada:
escripcin D

del problema, asos de Uso C

Salida:
n U

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 informacin que contienen tambin puede ser expresada en forma de texto plano.

Objetos

Un objeto es una cosa con identidad nica en un dominio de problema.


Carlos

Prez, 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 Pas son clases.

Los objetos de un dominio son el foco del modelado. Por qu clases conceptuales?
El

poder de la abstraccin. El nivel de abstraccin es un asunto de juicio y est relacionado con la aplicacin.

La descripcin de un cliente de un futuro sistema puede tener una combinacin de clases y objetos.

Clases y clases conceptuales


El modelo de dominio es una visualizacin 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 algn lugar El modelo de dominio tambien incluye:

bjetos O

temporales bjetos sin atributos O

Motivacin
Ayudan a comprender los conceptos clave de un negocio o un dominio de problema. Disminuyen la brecha de representacin entre como ven los clientes el problema y la representacin en software de la solucin, usando modelado Orientado por Objetos.

Motivacin

Cmo 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. Aadir 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 categoras. Identificar sustantivos/frases nominales

Listas de Categoras
Objetos fsicos y tangibles TDPV Especificaciones o descripciones de cosas EspecificacinDeProducto Lugares Tienda Transacciones Venta, Pago Lnea o regln de elemento de transacciones VentasLineaDeProducto

Listas de Categoras

Roles de personas Cajero Contenedores de otras cosas Tienda Cosas dentro de un contenedor Producto Otros Sistemas Sistema de Autorizacin de tarjetas de crdito La lista completa de categoras se encuentra en la tabla 10.1 del Larman.

Identificar Sustantivos

Identficacin de sustantivos
Analizar

la descripcin 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 categoras, identificacin de sustanivos.

Ejemplo: PDV. Entrada: CU

PDV. Modelo de Dominio Inicial.

Asociaciones
Una Asociacin es una relacin entre objetos que indica alguna coneccin con significado e interesante. Los objetos usualmente estn relacionados por conecciones fsicas o concptuale.
El

cajero Pedro Prez trabaja en el TPDV 12

Cundo mostrar una asociacin

Cuando el conociminto de la relacin necesita ser presentado durante algn tiempo.


Ejemplo:
PDV:

Necesitamos recordar cules instancias LneasDeProductosVenta estn asociados con una Venta.

Se

deben evitar mostrar demasiadas asociaciones.

Valores de multiplicidad
La multiplicidad se enfoca en la relacin en un momento particular. Ejemplo: Casado con

Sobre asociaciones

Pueden existir mltiples 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 fsica de B Caja-TDPV A es una parte lgica de B VentasLineaDeProducto-Venta A est contenido fsicamente en B TDPV-Tienda A est contenido lgicamente en B DescripcinDeProducto - Producto A es una descripcin de B DescripcinDeProducto - Producto

Encontrando Asociaciones
A

es un elemento de lnea en una transaccin 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 lgico de un objeto. Cundo mostrar un atributo?

Son

sugeridos por los requerimientos Implican una informacin que debe recordarse.
Ejm: Venta

necesita un atributo horaVenta Tienda necesita nombre y direccin.

Atributos
En UML se puede indicar el tipo y alguna otra informacin 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 nmero o un texto en el mundo real, X es probablemente una clase conceptual, no un atributo.

TDPV: Modelo de dominio

También podría gustarte