Sunteți pe pagina 1din 9

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

MODELO DEL DOMINIO Visualizando conceptos El Modelo del dominio muestra las clases conceptuales significativas en el dominio del problema, no componentes del software. Tambin se lo conoce como Modelo Conceptual o Modelo de objetos del Dominio. El Modelo del dominio utiliza la notacin del diagrama de clases en UML y representa Objetos del dominio o clases conceptuales Asociaciones entre clases conceptuales Atributos de las clases conceptuales Directrices bsicas: 1. Es mejor exagerar y especificar un Modelo del dominio con muchos conceptos refinados que no especificarlo cabalmente. 2. Es frecuente omitir conceptos durante la fase inicial de identificacin y descubrirlos ms tarde cuando se examinen los atributos o asociaciones o durante la fase de diseo. Cuando se detecten, habr que incorporarlos al Modelo del dominio. 3. Un concepto no debe ser excluido simplemente porque los requerimientos no indican una necesidad evidente que permita recordar la informacin acerca de ella (criterio comn para disear las bases de datos), o porque el concepto carezca de atributos. Lista de categoras comunes La creacin del Modelo del dominio a partir de una lista de categoras se hace preparando una lista de conceptos idneos o clases candidatas a partir de una lista de categoras comunes Categoras: objetos fsicos o tangibles Caja Avin especificaciones, diseo o descripciones de cosas Especificacin de Producto Descripcin de Vuelo lugares Tienda Aeropuerto transacciones Venta, Pago Reservacin lnea o rengln de elemento de transacciones Ventas Lnea de Producto papel de personas Cajero Piloto contenedores de otras cosas Tienda, Cesto Avin conceptos de nombres abstractos
1

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

Hambre Acrofobia otros sistemas de computo o electromecnicas externos al sistema Sistema de Autorizacin de Tarjeta de Crdito Control de Trafico Areo organizaciones Departamento de Ventas Objeto Lnea Area eventos Venta, Robo, Junta Vuelo, Accidente, Aterrizaje procesos (a menudo no estn representados como conceptos, pero pueden estarlo) Venta de Producto Reservacin Asiento reglas y polticas Poltica de Reembolso Poltica de Cancelaciones catlogos Catalogo de Producto Catalogo de Partes Registro de finanzas, de trabajo, de contratos, de asuntos legales Recibo, Contrato de Empleo Bitcora de Mantenimiento instrumentos y servicios financieros Lnea de Crdito Existencia manuales, libros Manual de Personal Manual de Reparaciones Frases nominales Otra tcnica muy til (por su simplicidad) consiste en identificar las frases nominales (sustantivos) en los descripciones textuales del dominio de un problema y considerarlas conceptos o atributos idneos. Este mtodo hay que usarlo con prudencia, ya que no es posible encontrar mecnicamente correspondencias entre sustantivo y concepto, y adems las palabras del lenguaje natural son ambiguas. Pese a ello esta tcnica es muy til cuando se empieza a entender el enfoque de orientacin a objetos. Obtencin de conceptos con Frases nominales Caso de Uso: Realizar Venta Escenario principal (flujo bsico):

1. Cliente llega a la caja con productos o servicios que desea comprar. 2. Cajero empieza una nueva venta. 3. Cajero ingresa el identificador del artculo. 4. Sistema almacena la lnea de venta del artculo y presenta la descripcin y el precio del artculo, y el total actualizado de la venta. El precio es calculado de acuerdo a un conjunto de reglas de precio.

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

Cajero repite pasos 3,4 hasta indicar el trmino. 5. Sistema presenta el total. 6. Cajero comunica al Cliente el total y solicita su pago. 7. Cliente paga y el sistema maneja el pago. 8. Sistema almacena la venta terminada y enva la venta y la informacin del pago al sistema externo de contabilidad y al sistema de inventario 9. El sistema genera recibo. 10. Cliente se va con los productos y el recibo. Extensiones (o flujos alternativos):

3a: identificador invalido 1. Sistema indica error y rechaza el ingreso. 3b: Hay varios artculos del mismo producto (no existe una identificacin individual del artculo) 1. Cajero puede ingresar el identificador y la cantidad. 7a: Cliente paga en efectivo. 1. Cajero ingresa el monto de efectivo entregado por el cliente. 2. Sistema presenta el monto de vuelto y abre la caja de dinero. 3. Cajero deposita el efectivo, extrae el vuelto y lo pasa al Cliente. 4. Sistema almacena el pago en efectivo Obtencin de conceptos Algunas de las frases marcadas son conceptos idneos, algunas pueden ser atributos de conceptos. El consejo es combinar este mtodo con la lista de categoras. Las lista se restringe tambin por los requerimientos investigados en el momento. Conceptos Identificados: Caja Especificacin de producto Artculo Lnea de Venta Tienda Cajero Venta Cliente Pago Gerente Catalogo de Productos El recibo es un registro de venta y de un pago, as como el concepto relativamente prominente en el dominio de ventas: debe entonces, mostrarse en el modelo? El recibo es un informe de venta, toda su informacin proviene de otra parte. Este es un buen motivo para excluirlo. El recibo cumple un papel esencial respecto a las reglas de la empresa: el portador le confiere el derecho de devolver los productos adquiridos. Esta es la razn para incluirlo en el modelo. El recibo se excluir, porque las devoluciones de productos no estn incorporados en este momento. Directrices para construir modelos del dominio: Aplique los siguientes pasos para construir un modelo del dominio: 1. Liste los conceptos idneos usando la lista de categora de conceptos y la identificacin de frases nominales relacionadas con los requerimientos en cuestin. 2. Dibjelos en el Modelo del dominio.

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

3. Incorpore las asociaciones necesarias para registrar las relaciones entre los conceptos. 4. Agregue los atributos necesarios para cumplir con las necesidades de la informacin PRINCIPIO DEL CARTGRAFO La estrategia del cartgrafo se aplica a los mapas y a los modelos conceptuales: Utilice los nombres existentes en el dominio Los cartgrafos se sirven de los nombres del territorio no cambian los nombres de ciudades en sus mapas. En el caso de un modelo del dominio ello significa utilizar el vocabulario del dominio cuando se asignan nombres a los conceptos y a los atributos Excluya las caractersticas irrelevantes Un cartgrafo elimina cosas en el mapa en caso de que no las juzgue pertinentes para el propsito: por ejemplo, excluir la informacin sobre la poblacin. De modo similar, un Modelo del dominio puede excluir los conceptos que no estn relacionados directamente con los requerimientos. No agregue cosas que no existan Un cartgrafo no muestra cosas en el mapa que no existan. En forma parecida, el Modelo del dominio no debe mostrar las cosas que no se encuentren en el dominio del problema en cuestin. Un error frecuente al identificar conceptos Tal vez, el error ms frecuente cuando se crea el modelo del dominio es el de representar algo como atributo, cuando debi haber sido un concepto. Una regla prctica de no caer en l: Si en el mundo real no consideramos algn concepto X como nmero o texto, probablemente X sea un concepto y no un atributo. Por ejemplo, en el dominio de reservaciones en lneas areas: debera el aeropuerto de destino ser atributo de vuelo o un concepto a parte? En el mundo real, un aeropuerto de destino no se considera ni nmero, ni texto. Por tanto, Aeropuerto debera ser un concepto. En caso de duda, convierta un atributo en un concepto. Clases conceptuales de especificacin o descripcin Considere lo siguiente: Una instancia del Articulo representa un artculo fsico en la tienda; incluso podra tener un nmero de serie Un artculo tiene precio, descripcin e identificador, que no se guardan en ningn otro lado. Cuando todos los artculos fsicos han sido vendidos, todas las instancias lgicas del Artculo son borradas Alguien podra responder a la pregunta sobre el precio de este artculo? Para resolver el problema, se crea una clase conceptual de Especificacin de Producto No se borra, si el Producto se vende completamente. Evita guardar la informacin duplicada Modelo del dominio del ejemplo 1. Las clases conceptuales identificadas se dibujan en el diagrama

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

2. Agregacin de las Asociaciones Es necesario identificar las asociaciones de los conceptos que se requieren para satisfacer los requerimientos de informacin de los casos de uso en cuestin y los que contribuyen a entender el Modelo del dominio. La asociacin es una relacin entre dos conceptos que indica alguna conexin significativa entre ellos En el lenguaje UML se describen como relaciones estructurales entre los objetos de diferentes tipos. Criterios

Examine la conveniencia de incluir las siguientes asociaciones en un Modelo del dominio: Las asociaciones en que el conocimiento de la relacin ha de ser peservado durante algn tiempo (asociaciones que deben conocerse) Las asociaciones provenientes de la lista de asociaciones comunes

Notacin Una asociacin se representa como una lnea entre los conceptos con el nombre de la asociacin Esta es intrnsecamente bidireccional: es un nexo entre objetos Los extremos de una asociacin pueden contener una expresin de multiplicidad que indique la relacin numrica entre las instancias.

El tiempo consagrado a la creacin del Modelo del dominio debera destinarse primero a identificar los conceptos y en segundo lugar las asociaciones. Directrices de las asociaciones

1. Concentrarse en las asociaciones en que el conocimiento de la relacin ha de preservarse durante algn tiempo (asociaciones que es necesario conocer) 2. Muchas asociaciones tienden a confundir el modelo del dominio en vez de aclararlo. A veces se requiere mucho tiempo para descubrirlas, y los beneficios son escasos 3. No incluir las asociaciones redundantes, ni las derivables Multiplicidad de las asociaciones

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

La multiplicidad define cuntas instancias de tipo A pueden asociarse a una instancia del tipo B en determinado momento

Algunos ejemplos de multiplicidad:

En UML, el valor de multiplicidad depende del contexto, no hay soluciones prefabricadas Por ejemplo, asociacin Trabaja-Para entre Persona y Compaa tendr diferencias en la multiplicidad dependiendo para quien se esta haciendo el sistema: departamento de impuestos (1 *) o sindicato de trabajadores (1 1)

Notacin de las Asociaciones

Se asigna un nombre a una asociacin basndose en el formato NombreDeTipo-FraseNominalNombreDeTipo, donde la frase nominal genera una secuencia que es legible y significativa dentro del contexto del modelo La direccin de lectura es de izquierda a derecha y de arriba hacia abajo Ejemplos

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

Asociaciones mltiples entre dos conceptos Dos conceptos pueden tener varias asociaciones entre ellos; sucede con frecuencia Por ejemplo, en el dominio de la lnea area encontramos varias relaciones entre Vuelo y Aeropuerto Las asociaciones volar-hacia y volar-de son netamente diferentes que deben mostrarse por separado

Asociaciones y su implementacin Durante la fase de anlisis, una asociacin no es una proposicin sobre flujos de datos, variables de instancia, ni conexiones de objetos en una solucin de software; es una proposicin de que una relacin es significativa en un sentido puramente analtico: en el mundo real. Una asociacin no necesariamente debe ser implementada durante la construccin Agregacin de los Atributos Recuerde que el Modelo del dominio es una representacin de cosas reales, no de componentes de software. Cualquier afirmacin concerniente a los atributos ha de interpretarse dentro del contexto de entidades delmundo real Un atributo es una valor lgico de un dato o de un objeto Incluya los siguientes atributos en el Modelo del dominio: Aquellos en que los requerimientos (por ejemplo, casos de uso) indican o conllevan la necesidad de recordar informacin Por ejemplo, un recibo de ventas normalmente incluye fecha y hora. En consecuencia, el concepto venta requiere dos atributos: fecha y hora Los atributos se muestran en la segunda seccin de conceptos, es opcional indicar su tipo

Los tipos ms simples de atributos son los que, en la prctica, suelen considerarse los tipos primitivos de datos Por lo regular, el tipo de un atributo no debera ser un concepto complejo del dominio, como Venta o Aeropuerto. Por ejemplo, podramos poner un atributo Caja-Actual al concepto Cajero, que no es un tipo simple, pero la forma ms conveniente de expresarlo es a travs de la asociacin

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

En un Modelo del dominio es preferible que los atributos sean atributos simples o valores puros de datos Entre los tipos comunes de atributos simples ms frecuentes figuran: Booleano, Fecha, Numero, Cadena (Texto), Hora, Direccion, Color, Geometria (punto, Rectangulo, ), Telefono, RUT, Codigo Universal de Producto (id), codigo postal, tipos numerados Una confusin frecuente consiste en modelar como atributo un concepto complejo del dominio. Por lo tanto, relacione conceptos a travs de una asociacin no con un atributo Para finalizar: No existe un modelo apropiado para todos los casos y circunstancias, todos ellos no son ms que aproximaciones al dominio que queremos entender Un buen Modelo del dominio capta las abstracciones esenciales y la informacin indispensable para comprender el dominio dentro del contexto de los requerimientos actuales Cambios en el Modelo del dominio Los contratos sugieren la existencia de un dato que todava no ha figurado en el Modelo del dominio: la terminacin de la captura de los productos en la venta Lo modifica la operacin terminarVenta y la operacin Pagar lo toma como precondicin Una forma de representar esta informacin es a travs de un atributo Terminada de la Venta, por medio de un valor booleano. Ejemplo: Modelo del dominio del sistema de punto de venta

Facultad Regional Avellaneda Tcnico Superior en Sistemas Informticos Metodologa de Sistemas II

Bibliografa Larman, Craig. UML Y Patrones. Introduccin al anlisis y diseo orientado a objetos. Editorial Prentice-Hall. 2003

Cuestionario Qu es un Modelo del Dominio (MD)? Cules son las tcnicas presentadas para identificar clases conceptuales en un MD? Cules son los pasos para la construccin de un MD? Por qu se compara la construccin del MD con la estrategia de un cartgrafo? Describa la regla emprica que nos ayuda a prevenir representar algo como un atributo cuando debera ser un concepto. 6. Qu hay que tener en cuenta a la hora de incluir relaciones en un MD? 1. 2. 3. 4. 5.

S-ar putea să vă placă și