Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unidad 5 Mad Modelado Analisis Modelo Conceptual

16,417 views

Published on

  • Be the first to comment

Unidad 5 Mad Modelado Analisis Modelo Conceptual

  1. 1. Metodologías de Análisis y Diseño Unidad V Análisis y UML “ Modelo Conceptual” Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
  2. 2. Introducción El modelo del dominio muestra (a los modeladores) clases conceptuales significativas en un dominio del problema; es el artefacto más importante que se crea durante el análisis orientado a objetos . Idea Clave : “Un modelo del dominio es una representación 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. UML: Modelo del Dominio Visualización de Conceptos
  3. 3. Modelos del Dominio La etapa orientada a objeto esencial del análisis es la descomposición de un dominio de interés en clases conceptuales individuales u objetos – las cosas de las que somos conscientes -. El modelo de dominio es una representación visual de las clases conceptuales u objetos del mundo real en un dominio de interés. Utilizando la notación UML, un modelo de dominio se representa con un conjunto de diagramas de clases en los que no se define ninguna operación. UML: Modelo del Dominio Visualización de Conceptos
  4. 4. <ul><li>Modelos del Dominio </li></ul><ul><li>Los modelos de dominio pueden mostrar: </li></ul><ul><ul><li>Objetos del dominio o clases conceptuales. </li></ul></ul><ul><ul><li>Asociaciones entre las clases conceptuales. </li></ul></ul><ul><ul><li>Atributos de las clases conceptuales. </li></ul></ul>UML: Modelo del Dominio Visualización de Conceptos
  5. 5. Modelos del Dominio Ejemplo: Concepto u objeto del dominio Atributos Asociación UML: Modelo del Dominio Visualización de Conceptos
  6. 6. Idea clave: Modelo del dominio – un diccionario visual de abstracciones. El modelo del ejemplo muestra un vista parcial, o abstracción, e ignora detalles sin interés (para el modelador). Es fácil 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 podría considerarse como un diccionario visual de abstracciones relevantes, vocabulario del dominio e información del dominio. UML: Modelo del Dominio Visualización de Conceptos
  7. 7. <ul><li>Los modelos del dominio no son modelos de componentes de software </li></ul><ul><li>Un modelo del dominio , es un representación de las cosas del mundo real del dominio de interés, no de componentes del software. Por lo tanto, los siguientes elementos no son adecuados en un modelo de dominio: </li></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>Responsabilidades o métodos </li></ul></ul>UML: Modelo del Dominio Visualización de Conceptos
  8. 8. <ul><li>“ Una clase conceptual es una idea, cosa u objeto” . Más formalmente, una clase conceptual podría considerarse en términos de un símbolo, intención, y extensión. </li></ul><ul><ul><li>Símbolo: palabras o imágenes que representan una clase conceptual. </li></ul></ul><ul><ul><li>Intención: la definición de una clase conceptual. </li></ul></ul><ul><ul><li>Extensión: el conjunto de ejemplos a los que se aplica la clase conceptual. </li></ul></ul>UML: Modelo del Dominio Clases Conceptuales
  9. 9. Por ejemplo considerar la clase conceptual para el evento de una transacción de compra. Símbolo del Concepto “ Una venta representa el hecho de una transición de compra. Sucede un día y a una hora” Intención del concepto Extensión del concepto UML: Modelo del Dominio Clases Conceptuales Venta Fecha hora Venta-1 Venta-2 Venta-n
  10. 10. Cuando se crea un modelo del dominio, normalmente, el símbolo y la vista intencional de la clase conceptual son los que tienen un mayor interés práctico. UML: Modelo del Dominio Clases Conceptuales
  11. 11. <ul><li>La tarea central es identificar las clases conceptuales relacionadas con el escenario que se está diseñado. </li></ul><ul><li>Estrategias para identificar clases conceptuales: </li></ul><ul><ul><li>Utilizar una lista de categorías clases conceptuales. </li></ul></ul><ul><ul><li>Identificación de frases nominales. </li></ul></ul><ul><ul><li>Otra excelente técnica para el modelado del dominio es el uso de patrones de análisis, que son modelos de dominios parciales existentes creados por expertos. </li></ul></ul>UML: Modelo del Dominio Identificación de Clases Conceptuales
  12. 12. Utilización de una lista de categorías UML: Modelo del Dominio Identificación de Clases Conceptuales SistemaautorizacionPagoCredito, ControlTraficoAereo Otros sistemas informáticos o electromagnéticos Articulo, Pasajero Cosas en un contenedor Tienda, Lata, Avión Contenedores de otras cosas Cajero, Piloto Roles de la gente LineadeVenta Líneas de la transacción Venta, Pago, Reserva Transacciones Tienda Lugares EspecificaciondelProducto, DescripciondelVuelo Especificaciones, diseños, o descripciones de las cosas Registro, Avión Objetos tangibles o físicos Ejemplos (dominio tiendas y reservas de vuelo) Categoría de clases conceptuales
  13. 13. Utilización de una lista de categorías UML: Modelo del Dominio Identificación de Clases Conceptuales ListaDeCambiosDePReciosDiarios, ManualReparaciones Manuales, documentos, artículos de referencia, libros LineadeCredito, Stock Instrumentos y servicio financieros Recibo, LibroMayor, ContratoEmpleo, RegistroMantención Registro de finazas, trabajo, contratos, cuestiones legales CatalogodeProductos, CatalogodePiezas Catálogos PoliticadeReintegro, PoliticadeCancelación Reglas y políticas VentadeUnProducto, ReservaUnAsiento Procesos (normalmente no se presentan como conceptos) Venta, Pago, Runión,Vuelo,Colision,Aterrizaje Hechos DepartamentodeVenta, CompañiaArea Organizaciones Ejemplos (dominio tiendas y reservas de vuelo) Categoría de clases conceptuales
  14. 14. Identificación mediante frases nominales Otra técnica útil (debido a su simplicidad) recomendada es el análisis lingüístico: 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 método; no es posible realizar una correspondencia mecánica de nombres a clases , y las palabras en lenguaje natural son ambiguas. UML: Modelo del Dominio Identificación de Clases Conceptuales
  15. 15. Identificación mediante frases nominales (Ejemplo) UML: Modelo del Dominio Identificación de Clases Conceptuales 10. El cliente se va con el recibo y las mercancías (si es el caso) 9. El sistema presenta el recibo 8. El sistema registra la venta completa y envía la información de la venta y el pago al sistema de contabilidad externo y al sistema de inventario . 7. El cliente paga y el sistema gestiona el pago 6. El Cajero le dice al cliente el total y solicita el pago 5. El sistema presenta el total con los impuestos calculados 4. El sistema registra la línea de la venta y presenta la descripción del articulo, precio y suma parcial. El cajero repite el paso 3 y 4 hasta que termine 3. El cajero introduce el identificador del artículo . 2. El cajero comienza una nueva venta 1. El cliente llega a un terminal PDV con mercancías Escenario Principal de Éxito (Procesar Venta)
  16. 16. Ejemplo: Dominio de ventas A partir del análisis de la Lista de Categorías 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 restricción algo arbitraria de abstraciones y vocabulario del dominio que el modelador considera relevante. UML: Modelo del Dominio Identificación de Clases Conceptuales
  17. 17. <ul><li>Aplique los siguientes pasos: </li></ul><ul><ul><li>Liste las clases conceptuales candidatas, utilizando las técnicas de la lista de categorías de clases conceptuales y la identificación de frases nominales, relacionadas con los requisitos actuales en estudio. </li></ul></ul><ul><ul><li>Represéntalo en un modelo de dominio. </li></ul></ul><ul><ul><li>Añada las asociaciones necesarias para registrar las relaciones que hay que mantener en memoria. </li></ul></ul><ul><ul><li>Añada los atributos necesarios para satisfacer los requisitos de información. </li></ul></ul>UML: Modelo del Dominio Cómo hacer un modelo del dominio
  18. 18. El error más típico al crear un modelo del dominio es representar algo como un atributo cuando debería haber sido un concepto. Ejemplo: ¿debería ser el destino un atributo de vuelo, o una clase conceptual separada de Vuelo? UML: Modelo del Dominio Errores típicos en la identificación En caso de duda, considérelo un concepto separado. Los atributos deberían ser bastante raros en un modelo de dominio.
  19. 19. UML: Modelo del Dominio Clases Conceptuales de especificación o descripción
  20. 20. <ul><li>Son necesarias cuando: </li></ul><ul><ul><li>Se necesita la descripción de un articulo o servicio, independiente de la existencia actual. </li></ul></ul><ul><ul><li>La eliminación de las instancias de las cosas que describen dan como resultado una perdida de información. </li></ul></ul><ul><ul><li>Reduce información redundante y duplicada. </li></ul></ul>UML: Modelo del Dominio Clases Conceptuales de especificación o descripción
  21. 21. Es una relación entre tipos (o más concretamente instancias de estos tipos) que indica alguna conexión significativa e interesante. UML: Modelo del Dominio Asociaciones
  22. 22. <ul><li>Considere la inclusión de las asociaciones en un modelo de dominio en los siguientes casos: </li></ul><ul><ul><li>Asociaciones de las que es necesario conservar el conocimiento de la relación durante algún tiempo (asociaciones “necesito-conocer”). </li></ul></ul><ul><ul><li>Asociaciones derivadas de la lista de asociaciones comunes. </li></ul></ul><ul><li>En un modelo de dominio con n clases conceptuales, pueden existir n(n-1) asociaciones entre diferentes clases conceptuales. Muchos líneas en un diagrama añadirán “ruido visual” y lo hará menos comprensible. </li></ul>UML: Modelo del Dominio Asociaciones
  23. 23. Notación de las asociaciones en UML Se representa como una línea entre clases con un nombre de asociación. La asociación es inherentemente bidireccional. Nombre Asociación Multiplicidad Flecha dirección lectura opcional UML: Modelo del Dominio Asociaciones
  24. 24. Comience la inclusión de asociaciones utilizando la siguiente tabla UML: Modelo del Dominio Localización de las Asociaciones Departamento-Tienda A es una unidad organizacional de B Cajero-Tienda A es miembro de B Venta-TPDV A se conoce/introduce/registra/presenta/captura en B VentasLíneadeProducto-Venta A es un elemento de línea (o renglón) en una transacción o reporte B DescripcióndeProducto-Producto A es una descripción de B DescripcióndeProducto-Catálogo A está contenido lógicamente en B TPDV-Tienda, Producto-Estante A está físicamente contenido en B VentasLíneadeProducto-Venta A es una parte lógica de B Caja-TPDV A es una parte física de B Ejemplos Categorías
  25. 25. Las asociaciones de prioridad alta, que será útiles incluirlas en el modelo de dominio son: A es una parte lógica o física de B, A está contenida física o lógicamente en b, A se registra en B . UML: Modelo del Dominio Localización de las Asociaciones TPDV-Tienda A es propiedad de B Pago-Venta A es una transacción relacionada con otra transacción B Pago-Venta A se relaciona con una transacción B Cliente-Cajero A se comunica con B Cajero-TPDV A usa o dirige a B Ejemplos Categorías
  26. 26. Centrase en aquellas asociaciones para las que se necesita conservar el conocimiento de la relación durante el tiempo. Es más importante identificar clases conceptuales que asociaciones. Demasiadas asociaciones tienden a confundir el modelo. Evite mostrar asociaciones redundantes o derivadas. UML: Modelo del Dominio Guía para las Asociaciones
  27. 27. <ul><li>Roles </li></ul><ul><li>Los extremos de las asociaciones se denominan roles. Pueden tener opcionalmente Nombre, Expresiones de Multiplicidad, Navegabilidad. </li></ul><ul><li>Multiplicidad </li></ul><ul><li>Define cuantas instancias de una clase A pueden asociarse con una instancia de la clase B. </li></ul><ul><ul><li>* cero o más “muchos” </li></ul></ul><ul><ul><li>1..* uno o más </li></ul></ul><ul><ul><li>1..40 de uno a 40 </li></ul></ul>UML: Modelo del Dominio Asociaciones en detalle
  28. 28. <ul><li>Multiplicidad </li></ul><ul><ul><li>5 exactamente 5 </li></ul></ul><ul><ul><li>3,5,8 exactamente 3,5,8 </li></ul></ul>Multiplicidad UML: Modelo del Dominio Asociaciones en detalle
  29. 29. Asignación de nombres a las asociaciones Deben comenzar con mayúscula. La dirección por defecto para la lectura de los nombres de la asociación es de izquierda a derecha o de arriba a bajo. Asociación e Implementación Durante el modelo de dominio, una asociación, es una manifestación de que una relación es significativa en un sentido puramente conceptual – en el mundo real -. Se pueden definir asociaciones que no existan en la implementación. UML: Modelo del Dominio Asociaciones en detalle
  30. 30. UML: Modelo del Dominio Ejemplo Asociaciones
  31. 31. Atributos Atributo es el valor de datos lógico 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 información. Notación de UML Atributos Tipo de datos opcional UML: Modelo del Dominio Atributos Venta hora fecha : fecha
  32. 32. Mantenga atributos simples Intuitivamente, la mayoría de los atributos simples son los que, a menudo, se conocen como los tipos de datos primitivos, como los números. El tipo de un atributo, normalmente no debería ser un concepto de dominio complejo, como Venta o Aeropuerto. UML: Modelo del Dominio Tipos de Atributos válidos
  33. 33. Mantenga atributos simples Los atributos en un modelo de dominio deberían ser preferiblemente, atributos simples o tipos de datos (boolean, fecha, número, 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 cómo atributo. UML: Modelo del Dominio Tipos de Atributos válidos
  34. 34. Deslizar a Diseño ningún atributo como clave ajena. La violación más típica de este principio es añadir un tipo de atributo de clave ajena, como se hace en el modelado de base de datos relacionales. Clave AJENA UML: Modelo del Dominio Tipos de Atributos válidos
  35. 35. UML: Modelo del Dominio Modelo Conceptual Final
  36. 36. <ul><li>Guía del Tópico: </li></ul><ul><li>Software Engineering 6a. ed.– Ian Sommerville – Pearson Education – 2000. (Cap. 6) </li></ul><ul><li>Ingeniería de Software Teoría y Práctica – Shari Lawrence Pfleeger – Pearson Education – 2002. </li></ul><ul><li>Utilización de UML en ingeniería del software con objetos y componentes – Perdita Stevens & Rob Pooley – Addison Wesley – 2002. </li></ul><ul><li>UML y Patrones una introducción al análisis y diseño orientados a objeto y al proceso unificado – Craig Larman – Prentice Hall - 2002. </li></ul>Bibliografía

×