SlideShare una empresa de Scribd logo
1 de 36
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
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
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
[object Object],[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio  Visualización de Conceptos
Modelos del Dominio Ejemplo: Concepto u objeto del dominio Atributos Asociación UML: Modelo del Dominio  Visualización de Conceptos
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
[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio  Visualización de Conceptos
[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio  Clases Conceptuales
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
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
[object Object],[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio Identificación de Clases Conceptuales
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
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
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
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)
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
[object Object],[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio Cómo hacer un modelo del dominio
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.
UML: Modelo del Dominio Clases Conceptuales de especificación o descripción
[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio Clases Conceptuales de especificación o descripción
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
[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio Asociaciones
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
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
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
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
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],UML: Modelo del Dominio Asociaciones en detalle
[object Object],[object Object],[object Object],Multiplicidad UML: Modelo del Dominio Asociaciones en detalle
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
UML: Modelo del Dominio Ejemplo Asociaciones
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
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
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
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
UML: Modelo del Dominio Modelo Conceptual Final
[object Object],[object Object],[object Object],[object Object],[object Object],Bibliografía

Más contenido relacionado

La actualidad más candente

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
rehoscript
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
Universidad Tecnológica
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
Xochitl Saucedo Muñoz
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
Liliana Pacheco
 

La actualidad más candente (20)

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
 
Uml
UmlUml
Uml
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientos
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
02 modelo delnegocio
02 modelo delnegocio02 modelo delnegocio
02 modelo delnegocio
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Modelo de desarrollo concurrente
Modelo de desarrollo concurrenteModelo de desarrollo concurrente
Modelo de desarrollo concurrente
 
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWAREDEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 

Destacado (6)

Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisis
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clases
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 

Similar a Unidad 5 Mad Modelado Analisis Modelo Conceptual

Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
Juan Antonio
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Belen Gonzalez
 
3 analisis y diseño resumen
3  analisis  y diseño resumen3  analisis  y diseño resumen
3 analisis y diseño resumen
felixzenon
 
UML_Clase_01
UML_Clase_01UML_Clase_01
UML_Clase_01
mgonzalp
 

Similar a Unidad 5 Mad Modelado Analisis Modelo Conceptual (20)

Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Clase n 9
Clase n 9Clase n 9
Clase n 9
 
3 analisis
3 analisis3 analisis
3 analisis
 
Diagrama de dominio armando
Diagrama de dominio armandoDiagrama de dominio armando
Diagrama de dominio armando
 
Uml
UmlUml
Uml
 
Semana13-AOO.ppt
Semana13-AOO.pptSemana13-AOO.ppt
Semana13-AOO.ppt
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Curso
CursoCurso
Curso
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Clase 29
Clase 29Clase 29
Clase 29
 
7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clases
 
3 analisis y diseño resumen
3  analisis  y diseño resumen3  analisis  y diseño resumen
3 analisis y diseño resumen
 
UML_Clase_01
UML_Clase_01UML_Clase_01
UML_Clase_01
 
Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UML
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Uml
UmlUml
Uml
 
Analisis de requerimiento
Analisis de requerimientoAnalisis de requerimiento
Analisis de requerimiento
 
Tema modeloobjeto-1pp
Tema modeloobjeto-1ppTema modeloobjeto-1pp
Tema modeloobjeto-1pp
 

Más de Sergio Sanchez

Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Sergio Sanchez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Sergio Sanchez
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
Sergio Sanchez
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Sergio Sanchez
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
Sergio Sanchez
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
Sergio Sanchez
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
Sergio Sanchez
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
Sergio Sanchez
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
Sergio Sanchez
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
Sergio Sanchez
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Sergio Sanchez
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
Sergio Sanchez
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
Sergio Sanchez
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
Sergio Sanchez
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
Sergio Sanchez
 
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del SistemaUnidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Sergio Sanchez
 

Más de Sergio Sanchez (20)

Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
 
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del SistemaUnidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del Sistema
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
  • 30. UML: Modelo del Dominio Ejemplo Asociaciones
  • 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
  • 35. UML: Modelo del Dominio Modelo Conceptual Final
  • 36.