unidad 5 mad modelado analisis modelo conceptual
Post on 08-Jun-2015
8.482 Views
Preview:
TRANSCRIPT
13 de abr de 2023 Sergio Sánchez Rios
Metodologías de Análisis y DiseñoUnidad 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
13 de abr de 2023 Sergio Sánchez Rios
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
13 de abr de 2023 Sergio Sánchez Rios
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
13 de abr de 2023 Sergio Sánchez Rios
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.
UML: Modelo del Dominio Visualización de Conceptos
13 de abr de 2023 Sergio Sánchez Rios
Modelos del Dominio
Ejemplo:
Concepto u objeto del dominio
Concepto u objeto del dominio
AtributosAtributos
AsociaciónAsociación
UML: Modelo del Dominio Visualización de Conceptos
13 de abr de 2023 Sergio Sánchez Rios
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
13 de abr de 2023 Sergio Sánchez Rios
Los modelos del dominio no son modelos de componentes de software
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:
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 métodos
UML: Modelo del Dominio Visualización de Conceptos
13 de abr de 2023 Sergio Sánchez Rios
“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.
Símbolo: palabras o imágenes que representan una clase conceptual.
Intención: la definición de una clase conceptual.
Extensión: el conjunto de ejemplos a los que se aplica la clase conceptual.
UML: Modelo del Dominio Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
Por ejemplo considerar la clase conceptual para el evento de una transacción de compra.
VentaFecha
hora
Símbolo del Concepto
“Una venta representa el hecho de una transición de compra. Sucede un día y a una hora”
“Una venta representa el hecho de una transición de compra. Sucede un día y a una hora”
Intención del concepto
Venta-1
Venta-2Venta-nExtensión del concepto
UML: Modelo del Dominio Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
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
13 de abr de 2023 Sergio Sánchez Rios
La tarea central es identificar las clases conceptuales relacionadas con el escenario que se está diseñado.
Estrategias para identificar clases conceptuales:
1. Utilizar una lista de categorías clases conceptuales.
2. Identificación de frases nominales.
3. 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.
UML: Modelo del DominioIdentificación de Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
Utilización de una lista de categorías
Categoría de clases conceptuales Ejemplos (dominio tiendas y reservas de vuelo)
Objetos tangibles o físicos Registro, Avión
Especificaciones, diseños, o descripciones de las cosas
EspecificaciondelProducto, DescripciondelVuelo
Lugares Tienda
Transacciones Venta, Pago, Reserva
Líneas de la transacción LineadeVenta
Roles de la gente Cajero, Piloto
Contenedores de otras cosas Tienda, Lata, Avión
Cosas en un contenedor Articulo, Pasajero
Otros sistemas informáticos o electromagnéticos SistemaautorizacionPagoCredito, ControlTraficoAereo
UML: Modelo del DominioIdentificación de Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
Utilización de una lista de categorías
Categoría de clases conceptuales Ejemplos (dominio tiendas y reservas de vuelo)
Organizaciones DepartamentodeVenta, CompañiaArea
Hechos Venta, Pago, Runión,Vuelo,Colision,Aterrizaje
Procesos (normalmente no se presentan como conceptos)
VentadeUnProducto, ReservaUnAsiento
Reglas y políticas PoliticadeReintegro, PoliticadeCancelación
Catálogos CatalogodeProductos, CatalogodePiezas
Registro de finazas, trabajo, contratos, cuestiones legales
Recibo, LibroMayor, ContratoEmpleo, RegistroMantención
Instrumentos y servicio financieros LineadeCredito, Stock
Manuales, documentos, artículos de referencia, libros
ListaDeCambiosDePReciosDiarios, ManualReparaciones
UML: Modelo del DominioIdentificación de Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
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 DominioIdentificación de Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
Identificación mediante frases nominales (Ejemplo)
Escenario Principal de Éxito (Procesar Venta)
1. El cliente llega a un terminal PDV con mercancías
2. El cajero comienza una nueva venta
3. El cajero introduce el identificador del artículo.
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
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 envía la información de la venta y el pago al sistema de contabilidad externo y al sistema de inventario.
9. El sistema presenta el recibo
10. El cliente se va con el recibo y las mercancías (si es el caso)
UML: Modelo del DominioIdentificación de Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
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 DominioIdentificación de Clases Conceptuales
13 de abr de 2023 Sergio Sánchez Rios
Aplique los siguientes pasos:
1. 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.
2. Represéntalo en un modelo de dominio.
3. Añada las asociaciones necesarias para registrar las relaciones que hay que mantener en memoria.
4. Añada los atributos necesarios para satisfacer los requisitos de información.
UML: Modelo del DominioCómo hacer un modelo del dominio
13 de abr de 2023 Sergio Sánchez Rios
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 DominioErrores 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.
13 de abr de 2023 Sergio Sánchez Rios
UML: Modelo del DominioClases Conceptuales de especificación o descripción
13 de abr de 2023 Sergio Sánchez Rios
Son necesarias cuando:
Se necesita la descripción de un articulo o servicio, independiente de la existencia actual.
La eliminación de las instancias de las cosas que describen dan como resultado una perdida de información.
Reduce información redundante y duplicada.
UML: Modelo del DominioClases Conceptuales de especificación o descripción
13 de abr de 2023 Sergio Sánchez Rios
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 DominioAsociaciones
13 de abr de 2023 Sergio Sánchez Rios
Considere la inclusión de las asociaciones en un modelo de dominio en los siguientes casos:
Asociaciones de las que es necesario conservar el conocimiento de la relación durante algún 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 líneas en un diagrama añadirán “ruido visual” y lo hará menos comprensible.
UML: Modelo del DominioAsociaciones
13 de abr de 2023 Sergio Sánchez Rios
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ónMultiplicidad Flecha dirección lectura opcional
UML: Modelo del DominioAsociaciones
13 de abr de 2023 Sergio Sánchez Rios
Comience la inclusión de asociaciones utilizando la siguiente tabla
Categorías Ejemplos
A es una parte física de B Caja-TPDV
A es una parte lógica de B VentasLíneadeProducto-Venta
A está físicamente contenido en B TPDV-Tienda, Producto-Estante
A está contenido lógicamente en B DescripcióndeProducto-Catálogo
A es una descripción de B DescripcióndeProducto-Producto
A es un elemento de línea (o renglón) en una transacción o reporte B
VentasLíneadeProducto-Venta
A se conoce/introduce/registra/presenta/captura en B
Venta-TPDV
A es miembro de B Cajero-Tienda
A es una unidad organizacional de B Departamento-Tienda
UML: Modelo del DominioLocalización de las Asociaciones
13 de abr de 2023 Sergio Sánchez Rios
Categorías Ejemplos
A usa o dirige a B Cajero-TPDV
A se comunica con B Cliente-Cajero
A se relaciona con una transacción B Pago-Venta
A es una transacción relacionada con otra transacción B
Pago-Venta
A es propiedad de B TPDV-Tienda
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 DominioLocalización de las Asociaciones
13 de abr de 2023 Sergio Sánchez Rios
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 DominioGuía para las Asociaciones
13 de abr de 2023 Sergio Sánchez Rios
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 más “muchos”
1..* uno o más
1..40 de uno a 40
UML: Modelo del DominioAsociaciones en detalle
13 de abr de 2023 Sergio Sánchez Rios
Multiplicidad
5 exactamente 5
3,5,8 exactamente 3,5,8
Multiplicidad
UML: Modelo del DominioAsociaciones en detalle
13 de abr de 2023 Sergio Sánchez Rios
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 DominioAsociaciones en detalle
13 de abr de 2023 Sergio Sánchez Rios
UML: Modelo del DominioEjemplo Asociaciones
13 de abr de 2023 Sergio Sánchez Rios
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
Venta
horafecha : fecha
AtributosAtributosTipo de datos opcionalTipo de datos opcional
UML: Modelo del DominioAtributos
13 de abr de 2023 Sergio Sánchez Rios
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 DominioTipos de Atributos válidos
13 de abr de 2023 Sergio Sánchez Rios
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 DominioTipos de Atributos válidos
13 de abr de 2023 Sergio Sánchez Rios
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 AJENAClave AJENA
UML: Modelo del DominioTipos de Atributos válidos
13 de abr de 2023 Sergio Sánchez Rios
UML: Modelo del DominioModelo Conceptual Final
13 de abr de 2023 Sergio Sánchez Rios
Guía del Tópico:
Software Engineering 6a. ed.– Ian Sommerville – Pearson Education – 2000. (Cap. 6)Ingeniería de Software Teoría y Práctica – Shari Lawrence Pfleeger – Pearson Education – 2002.Utilización de UML en ingeniería del software con objetos y componentes – Perdita Stevens & Rob Pooley – Addison Wesley – 2002. UML y Patrones una introducción al análisis y diseño orientados a objeto y al proceso unificado – Craig Larman – Prentice Hall - 2002.
Bibliografía
top related