You are on page 1of 41

MODELO CONCEPTUAL/

MODELO DE DOMINIO
MODELAMIENTO Y REQUISITOS DE SOFTWARE
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Qu es un Modelo de Dominio?
Entrada:
Descripcin del problema,
Casos de Uso
Salida:
Un conjunto de diagramas de clases
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Ejemplo
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
CONSTRUCCION DE UN MODELO CONCEPTUAL
Conocimiento de la nomenclatura del dominio
Los Modelos Conceptuales permiten:
Descomponer el espacio del problema en unidades comprensibles (conceptos),
Adems, contribuye a esclarecer la terminologa o nomenclatura del dominio.
Podemos verlo como un modelo que comunica (a los interesados como pueden serlo los
desarrolladores) cules son los trminos importantes y cmo se relacionan entre s.
Los modelos conceptuales no son modelos de diseo de software.
No corresponden al Modelo conceptual:
Los artefactos del software, como una ventana o una base de datos, salvo que el dominio a
modelar se refiera a conceptos de software; por ejemplo, un modelo de interfaces grficas para el
usuario.
Las responsabilidades o mtodos.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Hay que evitar:
Los modelos conceptuales no son modelos de diseo de software.
CONSTRUCCION DE UN MODELO CONCEPTUAL
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Conceptos:
En trminos informales el concepto es una idea, cosa u objeto.
En un lenguaje ms formal, podemos considerarlo a partir de su smbolo,
intensin y extensin.
Smbolo: palabras o imgenes que representan un concepto.
Intensin: la definicin del concepto.
Extensin: el conjunto de ejemplos a que se aplica el concepto.
CONSTRUCCION DE UN MODELO CONCEPTUAL
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Los modelos conceptuales y la descomposicin:
En el anlisis estructurado la dimensin de la descomposicin se realiza mediante:
procesos o funciones,
En cambio en el anlisis orientado a objetos, se lleva a cabo fundamentalmente con:
conceptos (objetos).
Por lo tanto, unas tarea primordial de la fase de anlisis
consiste en:
Identificar varios conceptos en el dominio del problema y
documentar los resultados en un modelo conceptual
CONSTRUCCION DE UN MODELO CONCEPTUAL
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Estrategias para identificar los conceptos:
Obtencin de conceptos a partir de una lista de categoras de conceptos
Obtencin de conceptos a partir de la identificacin de frases nominales
Categora de concepto Ejemplos
Objetos fsicos o tangibles Puesto de venta Avin
Especificaciones, diseo o descripciones de cosas EspecificaciondeProducto Descripcionde Vuelo
Lugares Tienda Aeropuerto
Transacciones Venta, Pago Reservacin
Lnea o rengln de elemento de transacciones VentasLineadeProducto
Papel de personas Cajero Piloto
Contenedores de cosas Tienda, Cesto Avin
Cosas dentro de un contenedor Producto Pasajero
Otro sistemas de cmputos Electromecnicos
externos al sistema
SistemadeAutorizaciondeTarjetadeCredito
ControldeTraficoAereo
CONSTRUCCION DE UN MODELO CONCEPTUAL
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Otro sistemas de cmputos
Electromecnicos externos al sistema
SistemadeAutorizaciondeTarjetadeCredito
ControldeTraficoAereo
Conceptos de nombres abstractos Hambre Acrofobia
Organizaciones Departamentode VentasObj etoLineaAerea
Procesos (a menudo no estn repre sentados
como conceptos, pero pueden estarlo)
VentaUnProduct ReservaAsiento
Reglas y Polticas PoliticadeReembolso PoliticadeCancelaciones
Catlogos CatalogodeProducto Catalogodepartes
Registro de finanzas, de trabajo, de
contratos de asuntos legales
Recibo, Mayor, ContratodeEmpleo
BitcoradeMantenimiento
Instrumentos y servicios financieros LineadeCredito Existencia
Manuales, libros ManualdePersonal ManualdeReparaciones
Categora de concepto Ejemplos
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera 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:
Objetos temporales
Objetos sin atributos
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Motivacin
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Ejemplo de Identificar Sustantivos
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Escenario principal
El cliente llega a un puesto de venta con mercaderas y/o servicios que
comprar.
El cajero comienza una nueva venta.
El cajero introduce el identificador del artculo.
El sistema registra la lnea de venta y presenta la descripcin del artculo,
precio y suma parcial.
El cajero repite los pasos 3 y 4 hasta que se indique.
El sistema presenta el total con los impuestos calculados.
El cajero le dice al cliente el total y solicita el pago.
Clases conceptuales candidatas para el dominio de ventas
Cliente, puesto de venta, mercadera, servicio, cajero, venta, identificador de
artculo, sistema, lnea de venta, descripcin de artculo, precio, etc..
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Errores Comunes
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Ejemplo: PDV. Entrada: CU
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
PDV. Modelo de Dominio Inicial.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Valores de multiplicidad
La multiplicidad se
enfoca en la relacin
en un momento
particular.
Ejemplo: Casado
con
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Encontrando Asociaciones
Usar la lista de asociaciones comunes:
A es una par te fsica de B
Caja-TDPV
A es una par te 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
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Encontrando Asociaciones
A es un elemento de lnea en una transaccin o repor te 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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
TDPV. Modelo de Domnio Parcial
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Atributos
En UML se puede indicar el tipo y alguna otra
informacin adicional.
No deben colocarse atributos derivados. Ejm:
totalVenta.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Atributos adecuados
Muchos tipos atributos deben pensarse como
tipos primitivos
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
Atributos Adecuados
Relacionar clases conceptuales con asociaciones, no
con atributos
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
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.
Universidad Nacional Mayor de San Marcos
E.A.P. de Ingeniera de Software
TDPV: Modelo de dominio

You might also like