Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 5 Mad Modelado Analisis Modelo Conceptual
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. 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. 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.
5. Modelos del Dominio Ejemplo: Concepto u objeto del dominio Atributos Asociación UML: Modelo del Dominio Visualización de Conceptos
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.
8.
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. 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.
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. 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. 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. 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. 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.
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. UML: Modelo del Dominio Clases Conceptuales de especificación o descripción
20.
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.
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. 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. 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. 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.
28.
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
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. 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. 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. 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