Вы находитесь на странице: 1из 36

Metodologas de Anlisis y Diseo Unidad V

Anlisis y UML Modelo Conceptual


Sergio Snchez Rios. Ingeniero en Informtica Licenciado en Informtica

Docente Jornada Parcial Universidad Via del Mar


marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Visualizacin de Conceptos


Introduccin
El modelo del dominio muestra (a los modeladores) clases conceptuales significativas en un dominio del problema; es el artefacto ms importante que se crea durante el anlisis orientado a objetos. Idea Clave : Un modelo del dominio es una representacin de las clases conceptuales del mundo real, no de componentes del software. No se trata de un conjunto de diagramas que describen clases de software, u objetos de software con responsabilidad.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Visualizacin de Conceptos


Modelos del Dominio
La etapa orientada a objeto esencial del anlisis es la descomposicin de un dominio de inters en clases conceptuales individuales u objetos las cosas de las que somos conscientes -.

El modelo de dominio es una representacin visual de las clases conceptuales u objetos del mundo real en un dominio de inters.

Utilizando la notacin UML, un modelo de dominio se representa con un conjunto de diagramas de clases en los que no se define ninguna operacin.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Visualizacin de Conceptos


Modelos del Dominio
Los modelos de dominio pueden mostrar: Objetos del dominio o clases conceptuales. Asociaciones entre las clases conceptuales. Atributos de las clases conceptuales.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Visualizacin de Conceptos


Modelos del Dominio
Ejemplo:
Concepto u objeto del dominio

Atributos

Asociacin

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Visualizacin de Conceptos


Idea clave: Modelo del dominio un diccionario visual de abstracciones.
El modelo del ejemplo muestra un vista parcial, o abstraccin, e ignora detalles sin inters (para el modelador).

Es fcil entender los distintos elementos y sus relaciones mediante este lenguaje visual, puesto que un porcentaje significativo del cerebro toma parte en el proceso visual cualidad de los humanos -.

Por esto el modelo del dominio podra considerarse como un diccionario visual de abstracciones relevantes, vocabulario del dominio e informacin del dominio. marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Visualizacin de Conceptos


Los modelos del dominio no son modelos de componentes de software
Un modelo del dominio , es un representacin de las cosas del mundo real del dominio de inters, no de componentes del software. Por lo tanto, los siguientes elementos no son adecuados en un modelo de dominio: Artefactos de software, como una ventana o base de datos, a menos que el dominio que se este modelando sea de conceptos de software, como un modelo de interfaces de usuario grafica. Responsabilidades o mtodos

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Clases Conceptuales


Una clase conceptual es una idea, cosa u objeto. Ms formalmente, una clase conceptual podra considerarse en trminos de un smbolo, intencin, y extensin. Smbolo: palabras o imgenes que representan una clase conceptual.

Intencin: la definicin de una clase conceptual.


Extensin: el conjunto de ejemplos a los que se aplica la clase conceptual.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Clases Conceptuales


Por ejemplo considerar la clase conceptual para el evento de una transaccin de compra.
Venta
Fecha

Smbolo del Concepto

hora

Una venta representa el hecho de una transicin de compra. Sucede un da y a una hora

Intencin del concepto

Venta-1 Venta-n
marzo de 2012

Venta-2
Sergio Snchez Rios

Extensin del concepto

UML: Modelo del Dominio Clases Conceptuales


Cuando se crea un modelo del dominio, normalmente, el smbolo y la vista intencional de la clase conceptual son los que tienen un mayor inters prctico.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Identificacin de Clases Conceptuales


La tarea central es identificar las clases conceptuales relacionadas con el escenario que se est diseado.

Estrategias para identificar clases conceptuales: 1. Utilizar una lista de categoras clases conceptuales. 2. Identificacin de frases nominales. 3. Otra excelente tcnica para el modelado del dominio es el uso de patrones de anlisis, que son modelos de dominios parciales existentes creados por expertos.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Identificacin de Clases Conceptuales


Utilizacin de una lista de categoras
Categora de clases conceptuales
Objetos tangibles o fsicos Especificaciones, diseos, o descripciones de las cosas Lugares Transacciones Lneas de la transaccin

Ejemplos (dominio tiendas y reservas de vuelo)


Registro, Avin EspecificaciondelProducto, DescripciondelVuelo Tienda Venta, Pago, Reserva LineadeVenta

Roles de la gente
Contenedores de otras cosas Cosas en un contenedor Otros sistemas informticos o marzo de 2012 electromagnticos

Cajero, Piloto
Tienda, Lata, Avin Articulo, Pasajero SistemaautorizacionPagoCredito, Sergio Snchez Rios ControlTraficoAereo

UML: Modelo del Dominio Identificacin de Clases Conceptuales


Utilizacin de una lista de categoras
Categora de clases conceptuales
Organizaciones Hechos Procesos (normalmente no se presentan como conceptos) Reglas y polticas Catlogos Registro de finazas, trabajo, contratos, cuestiones legales Instrumentos y servicio financieros

Ejemplos (dominio tiendas y reservas de vuelo)


DepartamentodeVenta, CompaiaArea Venta, Pago, Runin,Vuelo,Colision,Aterrizaje VentadeUnProducto, ReservaUnAsiento PoliticadeReintegro, PoliticadeCancelacin CatalogodeProductos, CatalogodePiezas Recibo, LibroMayor, ContratoEmpleo, RegistroMantencin LineadeCredito, Stock

Manuales, documentos, artculos de referencia, ListaDeCambiosDePReciosDiarios, marzo de 2012 Sergio Snchez Rios libros ManualReparaciones

UML: Modelo del Dominio Identificacin de Clases Conceptuales


Identificacin mediante frases nominales

Otra tcnica til (debido a su simplicidad) recomendada es el anlisis lingstico: identificar los nombres y frases nominales en las descripciones textuales de un dominio, y considerarlos como clases conceptuales o atributos candidatos.

Se debe tener cuidado con este mtodo; no es posible realizar una correspondencia mecnica de nombres a clases , y las palabras en lenguaje natural son ambiguas.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Identificacin de Clases Conceptuales


Identificacin mediante frases nominales (Ejemplo)
Escenario Principal de xito (Procesar Venta)
1. El cliente llega a un terminal PDV con mercancas 2. El cajero comienza una nueva venta

3. El cajero introduce el identificador del artculo.


4. El sistema registra la lnea de la venta y presenta la descripcin del articulo, precio y suma parcial. El cajero repite el paso 3 y 4 hasta que termine

5. El sistema presenta el total con los impuestos calculados


6. El Cajero le dice al cliente el total y solicita el pago 7. El cliente paga y el sistema gestiona el pago 8. El sistema registra la venta completa y enva la informacin de la venta y el pago al sistema de contabilidad externo y al sistema de inventario. 9. El sistema presenta el recibo
marzo de 2012

10. El cliente se va con el recibo y las mercancas (si es el caso)

Sergio Snchez Rios

UML: Modelo del Dominio Identificacin de Clases Conceptuales


Ejemplo: Dominio de ventas
A partir del anlisis de la Lista de Categoras de Clases Conceptuales y las frases nominales, se genera una lista de clases conceptuales candidatas del dominio. La lista est restringida a el escenario evaluado y sus requisitos.

Registro, Articulo, Tienda, Venta, Pago, EspecificaciondelProducto, LineaDeVenta, Cajero, Cliente, Encargado, CatalogodeProductos No existe una lista correcta. Es una restriccin algo arbitraria de abstraciones y vocabulario del dominio que el modelador considera relevante.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Cmo hacer un modelo del dominio


Aplique los siguientes pasos:

1. Liste las clases conceptuales candidatas, utilizando las tcnicas de la lista de categoras de clases conceptuales y la identificacin de frases nominales, relacionadas con los requisitos actuales en estudio. 2. Represntalo en un modelo de dominio. 3. Aada las asociaciones necesarias para registrar las relaciones que hay que mantener en memoria. 4. Aada los atributos necesarios para satisfacer los requisitos de informacin.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Errores tpicos en la identificacin


El error ms tpico al crear un modelo del dominio es representar algo como un atributo cuando debera haber sido un concepto. Ejemplo: debera ser el destino un atributo de vuelo, o una clase conceptual separada de Vuelo?

En caso de duda, considrelo un concepto separado. Los atributos deberan ser bastante raros en un modelo de dominio.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Clases Conceptuales de especificacin o descripcin

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Clases Conceptuales de especificacin o descripcin


Son necesarias cuando:

Se necesita la descripcin de un articulo o servicio, independiente de la existencia actual. La eliminacin de las instancias de las cosas que describen dan como resultado una perdida de informacin. Reduce informacin redundante y duplicada.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Asociaciones


Es una relacin entre tipos (o ms concretamente instancias de estos tipos) que indica alguna conexin significativa e interesante.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Asociaciones


Considere la inclusin de las asociaciones en un modelo de dominio en los siguientes casos:

Asociaciones de las que es necesario conservar el conocimiento de la relacin durante algn tiempo (asociaciones necesito-conocer). Asociaciones derivadas de la lista de asociaciones comunes.

En un modelo de dominio con n clases conceptuales, pueden existir n(n-1) asociaciones entre diferentes clases conceptuales. Muchos lneas en un diagrama aadirn ruido visual y lo har menos comprensible.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Asociaciones


Notacin de las asociaciones en UML
Se representa como una lnea entre clases con un nombre de asociacin. La asociacin es inherentemente bidireccional.

Multiplicidad

Nombre Asociacin

Flecha direccin lectura opcional

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Localizacin de las Asociaciones


Comience la inclusin de asociaciones utilizando la siguiente tabla
Categoras A es una parte fsica de B A es una parte lgica de B A est fsicamente contenido en B A est contenido lgicamente en B A es una descripcin de B A es un elemento de lnea (o rengln) en una transaccin o reporte B A se conoce/introduce/registra/presenta/captura en B A es miembro de B
marzo de 2012

Ejemplos Caja-TPDV VentasLneadeProducto-Venta TPDV-Tienda, Producto-Estante DescripcindeProducto-Catlogo DescripcindeProducto-Producto VentasLneadeProducto-Venta Venta-TPDV Cajero-Tienda
Sergio Snchez Rios

A es una unidad organizacional de B

Departamento-Tienda

UML: Modelo del Dominio Localizacin de las Asociaciones


Categoras A usa o dirige a B A se comunica con B A se relaciona con una transaccin B Cajero-TPDV Cliente-Cajero Pago-Venta Ejemplos

A es una transaccin relacionada con otra transaccin B


A es propiedad de B

Pago-Venta
TPDV-Tienda

Las asociaciones de prioridad alta, que ser tiles incluirlas en el modelo de dominio son: A es una parte lgica o fsica de B, A est contenida fsica o lgicamente en b, A se registra en B.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Gua para las Asociaciones


Centrase en aquellas asociaciones para las que se necesita conservar el conocimiento de la relacin durante el tiempo.

Es ms importante identificar clases conceptuales que asociaciones.

Demasiadas asociaciones tienden a confundir el modelo.

Evite mostrar asociaciones redundantes o derivadas.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Asociaciones en detalle


Roles
Los extremos de las asociaciones se denominan roles. Pueden tener opcionalmente Nombre, Expresiones de Multiplicidad, Navegabilidad.

Multiplicidad Define cuantas instancias de una clase A pueden asociarse con una instancia de la clase B. * cero o ms muchos 1..* uno o ms

marzo de 2012

1..40 de uno a 40
Sergio Snchez Rios

UML: Modelo del Dominio Asociaciones en detalle


Multiplicidad
5 exactamente 5 3,5,8 exactamente 3,5,8

Multiplicidad

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Asociaciones en detalle


Asignacin de nombres a las asociaciones
Deben comenzar con mayscula. La direccin por defecto para la lectura de los nombres de la asociacin es de izquierda a derecha o de arriba a bajo.

Asociacin e Implementacin
Durante el modelo de dominio, una asociacin, es una manifestacin de que una relacin es significativa en un sentido puramente conceptual en el mundo real -. Se pueden definir asociaciones que no existan en la implementacin.
marzo de 2012 Sergio Snchez Rios

UML: Modelo del Dominio Ejemplo Asociaciones

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Atributos


Atributos
Atributo es el valor de datos lgico de un objeto. Incluir los siguientes atributos en un modelo del dominio: aquellas para que los requisitos (ej: casos de uso) sugieran o impliquen una necesidad de registrar informacin.

Notacin de UML
Venta hora fecha : fecha
Sergio Snchez Rios

Atributos

Tipo de datos opcional


marzo de 2012

UML: Modelo del Dominio Tipos de Atributos vlidos


Mantenga atributos simples
Intuitivamente, la mayora de los atributos simples son los que, a menudo, se conocen como los tipos de datos primitivos, como los nmeros. El tipo de un atributo, normalmente no debera ser un concepto de dominio complejo, como Venta o Aeropuerto.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Tipos de Atributos vlidos


Mantenga atributos simples Los atributos en un modelo de dominio deberan ser preferiblemente, atributos simples o tipos de datos (boolean, fecha, nmero, string, hora). Se recomienda que se relacionen las clases conceptuales por asociaciones no con atributos En caso de duda, defina algo como una clase conceptual aparte en lugar de cmo atributo.

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Tipos de Atributos vlidos


Deslizar a Diseo ningn atributo como clave ajena.
La violacin ms tpica de este principio es aadir un tipo de atributo de clave ajena, como se hace en el modelado de base de datos relacionales.

Clave AJENA

marzo de 2012

Sergio Snchez Rios

UML: Modelo del Dominio Modelo Conceptual Final

marzo de 2012

Sergio Snchez Rios

Bibliografa
Gua del Tpico: Software Engineering 6a. ed. Ian Sommerville Pearson Education 2000. (Cap. 6) Ingeniera de Software Teora y Prctica Shari Lawrence Pfleeger Pearson Education 2002. Utilizacin de UML en ingeniera del software con objetos y componentes Perdita Stevens & Rob Pooley Addison Wesley 2002. UML y Patrones una introduccin al anlisis y diseo orientados a objeto y al proceso unificado Craig Larman Prentice Hall - 2002.

marzo de 2012

Sergio Snchez Rios