SlideShare una empresa de Scribd logo
1 de 39
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Contenidos de la Unidad 1 Introducción al Diseño f) Ingeniería del Software Asistida por Computadora. Clasificación de CASE    Sommerville. Sección 4.5   C. Proceso de Diseño Pressman. Cap. 13.2 Introducción.   I. Fases del diseño. Pressman. Sección 13.1 Sommerville. Sección 4.3.2 II. Diseño y calidad del software Pressman. 13.2.1 III. Principios y conceptos del diseño. Pressman.  Sección 13.3 y 13.4 IV. Documentación del Diseño. Pressman, Sección 13.8 V. Análisis y Diseño Orientado a Objetos Sommerville, Cap.14 Larman, 2ª. Ed., Cap. 1.4 Pressman, Cap.21 y 22 VI. Modelos de dominio, Casos de Uso. (revisión) Larman, 1ª. Ed.,Cap. 9/11 Larman, 2a. Ed. Cap. 9/11 VII. Del Análisis al Diseño Larma n, 1ª. Ed. Cap. 15 Larman, 2ª. Ed. Cap. 14
MODELO CONCEPTUAL O DE DOMINIO Craig Larman (Caps. 9/12) Ingeniería en Sistemas de Información DISEÑO DE SISTEMAS Una vez concluida la fase de planeación y elaboración  y que los casos de uso fueron identificados, clasificados y programados. Se presenta entonces una transición muy importante: comienza la fase de construcción, donde se cumplen los ciclos del desarrollo iterativo.
DISEÑO DE SISTEMAS Un  Modelo Conceptual  nos brinda los conceptos significativos para el dominio del problema. El lenguaje UML ofrece la notación en diagramas de estructuras estáticas para graficar los modelos conceptuales Es el “artefacto” más importante que se crea durante la etapa del AOO Modelo Conceptual   => representa cosas del mundo real, no componentes del software Actividades y dependencias Crear un Modelo Conceptual para los Casos de Uso no puede hacerse si no se cuenta con los Casos y con Documentos que permitan identificar los Conceptos (Objetos). La creación no siempre es lineal, puede formularse en paralelo con el desarrollo de los Casos.
DISEÑO DE SISTEMAS Modelo Conceptual ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],MODELO CONCEPTUAL
DISEÑO DE SISTEMAS Modelo Conceptual ¿Qué representa? Un modelo conceptual nos permite descomponer el dominio del problema en unidades comprensibles (conceptos), éste contribuye a esclarecer la terminología o nomenclatura del dominio. ¿Qué NO representa? Un modelo conceptual NO ES una descripción del diseño del software, como una clase en C++, una ventana, una base de datos, etc. Class alumno{ int Cod; char *Apellido; . . .
DISEÑO DE SISTEMAS Modelo Conceptual ,[object Object],[object Object],[object Object],[object Object],CONCEPTOS Un modelo conceptual muestra conceptos del mundo real venta fecha hora conceptos del mundo, no una clase de software
DISEÑO DE SISTEMAS Modelo Conceptual Venta-1 Venta-3 Venta-2 venta fecha hora Símbolo del Concepto Intensión del Concepto “ Una venta representa el evento de una transacción de compra. Tiene fecha y hora.” Extensión del Concepto
DISEÑO DE SISTEMAS Modelo Conceptual Estrategias para identificar los conceptos   La meta es crear un modelo conceptual de conceptos interesantes o significativos del dominio en cuestión. Es mejor exagerar y especificar un modelo conceptual con muchos conceptos refinados que no especificarlo cabalmente. ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],DISEÑO DE SISTEMAS Modelo Conceptual 1. La creación de un modelo conceptual comienza preparando una lista de conceptos idóneos.
2. Consiste en identificar las frases nominales en las descripciones textuales del dominio de un problema y considerarlas conceptos o atributos idóneos. DISEÑO DE SISTEMAS Modelo Conceptual Este método hay que utilizarlo con mucha prudencia; no es posible encontrar siempre mecánicamente correspondencias entre sustantivo y concepto, y además las palabras del lenguaje natural son ambiguas.     Acción del actor Respuesta del sistema 1. Este caso de uso comienza cuando el  Socio  llega a la  caja  con  videos  para  alquilar .   2. El  empleado  ingresa el  Nº de socio .     3. Visualiza el nombre del Socio. 5. Incorpora el  título  del video a la  transacción .   4. El empleado registra el  código de video . 6. ....
DISEÑO DE SISTEMAS Modelo Conceptual Cómo construir un modelo conceptual 1. Liste los conceptos idóneos usando la Lista de categorías de conceptos y la identificación de la frase nominal relacionada con los requerimientos en cuestión. 2. Dibújelos en un modelo conceptual. 3. Incorpore las asociaciones necesarias para registrar las relaciones para las cuales debe reservar un espacio en la memoria. 4. Agregue los atributos necesarios para cumplir con las necesidades de información.
DISEÑO DE SISTEMAS Modelo Conceptual La asignación de nombres y el modelado de las cosas: el cartógrafo ,[object Object],[object Object],[object Object],[object Object],[object Object]
DISEÑO DE SISTEMAS Modelo Conceptual ,[object Object],[object Object],[object Object]
DISEÑO DE SISTEMAS Modelo Conceptual Un Error Frecuente al identificar Conceptos   Tal vez el error más frecuente cuando se crea un modelo conceptual es el de representar algo como atributo, cuando debió haber sido un concepto. Una regla práctica para no caer en él es:  Si en el mundo real no consideramos algún concepto X como número o texto, probablemente X sea un concepto y no un atributo.   Por ejemplo, el caso del dominio de las reservaciones en líneas aéreas. ¿Debería “ Destino”  ser un atributo de “ Vuelo”  o ser un concepto aparte llamado “ Aeropuerto” ?
DISEÑO DE SISTEMAS Modelo Conceptual En el mundo real, un aeropuerto de destino no se considera número ni texto: es una cosa masiva que ocupa espacio. Por tanto,  Aeropuerto  debería ser un  concepto . En caso de duda, convierta el atributo en un concepto independiente. Vuelo Destino Vuelo Aeropuerto Nombre ¿o ...?
DISEÑO DE SISTEMAS Modelo Conceptual Especificación o descripción de conceptos   Necesidad de las especificaciones. La descripción o especificación de objetos se relaciona con aquella cosa que describen. En un modelo conceptual, se acostumbra a estipular que una  Especificación X describe una X.   Por ejemplo:   una  EspecificaciondeProducto  no representa un  Elemento,  sino una descripción  acerca  de ellos.   La necesidad de especificar los conceptos es frecuente en los dominios de ventas, productos y elaboración, a donde se requiere una  descripción  de lo manufacturado que se distingue de la cosa manufacturada.
DISEÑO DE SISTEMAS Modelo Conceptual Especificaciones de otras cosas. El signo “*” indica multiplicidad de “muchos”. Indica que una “ EspecificaciondeProducto”  puede describir muchos  Productos . Producto descripcion precio numero de serie CUP EspecificaciondeProducto descripcion precio CUP Producto numero de serie 1 * Describe Mal Bien
DISEÑO DE SISTEMAS Modelo Conceptual ¿Cuando se requiere especificar los conceptos?   Incorpore una especificación o descripción de conceptos cuando:   ,[object Object],[object Object]
DISEÑO DE SISTEMAS Modelo Conceptual AGREGACIÓN DE LAS ASOCIACIONES Asociaciones:   La asociación es una relación entre dos conceptos que indica alguna conexión significativa e interesante entre ellos.   1 Caja Venta Registra asociación *
DISEÑO DE SISTEMAS Modelo Conceptual Criterios de las asociaciones útiles   Las asociaciones “significativas” o “interesantes” son las que deben preservarse durante algún tiempo (milisegundos o años). En otras palabras, cuando entre los objetos hay que tener algún recuerdo sobre una relación; por ejemplo, se debe recordar cuáles instancias de  VentasLineadeProducto  están asociadas a la instancia  Venta , porque de lo contrario no sería posible reconstruir la venta, imprimir el recibo ni calcular el total de la venta.
DISEÑO DE SISTEMAS Modelo Conceptual Examine la conveniencia de incluir las siguientes asociaciones en un modelo conceptual:          L as asociaciones en que el conocimiento de la relación ha de ser preservado  durante algún tiempo (asociaciones que “deben conocerse”).          Las asociaciones provenientes de la  Lista de asociaciones comunes . De lo contrario, no es necesario recordar una relación entre una  Venta  Actual y un  Gerente , pues los requerimientos no indican que haga falta ese tipo de relación. Tal vez no sea incorrecto mostrar esta relación, pero no es útil dentro del contexto de nuestros requerimientos.
DISEÑO DE SISTEMAS Modelo Conceptual Notación de las asociaciones en UML   Una asociación se representa como una línea entre los conceptos con el nombre de la asociación. Esta es intrínsecamente bidireccional, o sea es posible un nexo lógico entre los objetos de un tipo y los del otro. Este vínculo es  totalmente abstracto ;  no  es una afirmación sobre las conexiones entre las entidades del software.   1 Caja Venta Registra asociación * -flecha de dirección de la lectura -sin otro significado  -a menudo se excluye multiplicidad
DISEÑO DE SISTEMAS Modelo Conceptual Los extremos de una asociación pueden contener una expresión de multiplicidad que indique la relación numérica entre las instancias de los conceptos. Una flecha opcional de la dirección de lectura ( o  “flecha de la dirección del nombre” ) indica la dirección en que debe leerse el nombre de la asociación; no denota la dirección de visibilidad o de navegación. En su ausencia, la asociación se lee de izquierda a derecha o de arriba hacia abajo.  La flecha de dirección de la lectura no tiene un valor semántico; tan solo es una ayuda para leer el diagrama.
DISEÑO DE SISTEMAS Modelo Conceptual Identificación de las asociaciones: Lista de asociaciones comunes   Comience a agregar las asociaciones utilizando la lista anexa. Contiene categorías comunes que normalmente vale la pena incluir. Los ejemplos tomados de los dominios de la Tienda y de la reservación de las líneas aéreas.   Categoría Ejemplos A es una parte física de B Caja – TPDV Ala – Avion  A es una parte lógica de B VentasLineadeProducto – Venta TramodeVuelo – RutadeVuelo A está físicamente contenido en B TPDV – Tienda, Producto – Estante Pasajero – Avion A está contenido lógicamente en B DescripciondeProducto – Catalogo Vuelo – Programa de Vuelo ... ...
DISEÑO DE SISTEMAS Modelo Conceptual Asociaciones de alta prioridad   ,[object Object],[object Object],[object Object],[object Object]
DISEÑO DE SISTEMAS Modelo Conceptual ¿Qué grado de detalle deberían tener las asociaciones?   Las asociaciones son importantes, pero una falla habitual al crear modelos conceptuales es el excesivo tiempo que, durante la investigación, se dedica al intento de descubrirlas. Es indispensable convencerse de lo siguiente: Es mucho más importante identificar los  conceptos  que las asociaciones. El tiempo consagrado a la creación del modelo conceptual debería destinarse a identificar los conceptos, no las asociaciones.
DISEÑO DE SISTEMAS Modelo Conceptual Directrices de las asociaciones   ,[object Object],[object Object],[object Object],[object Object]
DISEÑO DE SISTEMAS Modelo Conceptual Multiplicidad   La multiplicidad  define cuántas instancias de un tipo A pueden asociarse a una instancia de tipo B en determinado momento. Por ejemplo, una instancia individual de una  Tienda  puede asociarse a “muchas” instancias de  Producto .   1 Tienda Producto Almacena * multiplicidad
DISEÑO DE SISTEMAS Modelo Conceptual Asignación de nombres a las asociaciones Los nombres de las asociaciones comienzan con una mayúscula. Una frase nominal debe construirse con guiones. 1 Caja Venta Registra 1..* Tienda Pago 1 Pagada-por 1 1..* 1 Contiene
DISEÑO DE SISTEMAS Modelo Conceptual Asociaciones múltiples entre dos tipos   Dos tipos pueden tener varias asociaciones entre ellos; esto sucede con frecuencia. No hay un ejemplo sobresaliente en nuestro sistema TPDV, pero en el dominio de la línea aérea encontramos uno en las relaciones entre  Vuelo  y  Aeropuerto . Las asociaciones volar – hacia y volar – de son relaciones netamente diferentes que han de mostrarse por separado.   Vuelo Aeropuerto 0..1 * Vuela-a * 1 Vuela-de
DISEÑO DE SISTEMAS Modelo Conceptual Atributos => Valor Lógico de un dato de un objeto.   Clave para su inclusión en un Modelo Conceptual:   Aquellos en que los requerimientos (Casos de Uso) indican o conllevan la  necesidad de recordar información . (El concepto “Venta” requiere, por ejemplo, los atributos de: fecha y hora) AGREGACIÓN DE LOS ATRIBUTOS
DISEÑO DE SISTEMAS Modelo Conceptual Notación de los atributos en UML   Los atributos se muestran en la segunda sección de la sección de los Conceptos. Indicar su tipo es opcional. Venta Fecha Hora Atributos
DISEÑO DE SISTEMAS Modelo Conceptual Conserve simples los atributos   Los tipos más simples de atributos son los que, en la práctica, suelen considerarse los tipos primitivos de datos. Por lo general el tipo de un atributo no debería ser un  concepto complejo  del dominio (al revés que los “conceptos”).   En un modelo conceptual es preferible que los atributos sean atributos simples o valores puros de datos.   Entre los tipos comunes de atributos simples más frecuentes se cuentan: Booleano, Fecha, Número, Cadena, Hora, Dirección, Color, Geometría, Número telefónico, DNI, CUP, Código Postal, ISBN, Nombre y Apellido, etc.
DISEÑO DE SISTEMAS Modelo Conceptual Cajero nombre CAJAactual Atributos Mal Cajero nombre Caja numero Usa 1 1 Bien
DISEÑO DE SISTEMAS Modelo Conceptual Relacione conceptos con una asociación, no con un atributo   Vuelo destino Aeropuerto 1 1 Vuela-a Vuelo Mal Bien Destino es un concepto complejo
DISEÑO DE SISTEMAS Modelo Conceptual Ningún atributo debe incluirse como clave foránea   Los atributos no se usan para relacionar conceptos distintos en el Modelo Conceptual. La violación más frecuente de esta regla consiste en agregar un tipo de atributo de clave foránea, lo cual suele hacerse con los diseños de bases de datos relacionales, a fin de asociar dos entidades. Cajero nombre NumeroTPDVactual Un atributo “simple”, pero que se  usa como clave extraña para relacionarlo con otro objeto Mal Cajero nombre TPDV numero Usa 1 1 Bien
DISEÑO DE SISTEMAS Modelo Conceptual Glosario   El glosario o diccionario modelo incluye y define todos los términos que requieren explicación para mejorar la comunicación y aminorar el riesgo de malos entendidos. El glosario se crea originalmente durante la fase de planeación y Elaboración conforme vayan generándose los términos; después va perfeccionándose continuamente en cada ciclo de desarrollo al aparecer nuevos vocablos.   En cuanto al formato del glosario no existe uno oficial. Durante nuestro diseño adoptaremos el siguiente:
DISEÑO DE SISTEMAS Modelo Conceptual Término Categoría Comentarios Comprar Productos Caso de Uso Descripción del proceso de un cliente que compra productos en una tienda. Producto Tipo/Concepto Un producto que la Tienda tiene disponible para la venta. Pago.monto:  Dinero Atributo El monto que el cliente abona para cancelar una Venta. ... ... ...

Más contenido relacionado

La actualidad más candente

Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De NegocioKudos S.A.S
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 
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 clasesRamiro Estigarribia Canese
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetesMoises Cruz
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
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 clasesRamiro Estigarribia Canese
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesSergio Sanchez
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniRAUL CHIPANA LARICO
 
Del análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosDel análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosJuan Pablo Bustos Thames
 
Manuales de usuario y tecnico
Manuales de usuario y tecnicoManuales de usuario y tecnico
Manuales de usuario y tecnicoJose
 

La actualidad más candente (20)

Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
 
Integridad de base de datos
Integridad de base de datosIntegridad de base de datos
Integridad de base de datos
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De Negocio
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
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
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetes
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
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
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
 
Del análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosDel análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratos
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Manuales de usuario y tecnico
Manuales de usuario y tecnicoManuales de usuario y tecnico
Manuales de usuario y tecnico
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Scrum vs RUP
Scrum vs RUPScrum vs RUP
Scrum vs RUP
 

Similar a Modelos de dominio

Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo ConceptualSergio Sanchez
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Ozzy Bull
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoNii Caytuiro
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoNii Caytuiro
 
ComputacionParaTodos / SocioTecnologico
ComputacionParaTodos / SocioTecnologicoComputacionParaTodos / SocioTecnologico
ComputacionParaTodos / SocioTecnologicoandres hurtado
 
Patrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspPatrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspJuan Pablo Bustos Thames
 
Analisis de requerimiento
Analisis de requerimientoAnalisis de requerimiento
Analisis de requerimientoturlahackers
 
Introducción poo
Introducción pooIntroducción poo
Introducción poog_torrealba
 
Consejos para escribir buenos casos de uso
Consejos para escribir buenos casos de usoConsejos para escribir buenos casos de uso
Consejos para escribir buenos casos de usokaolong
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 
3 analisis y diseño resumen
3  analisis  y diseño resumen3  analisis  y diseño resumen
3 analisis y diseño resumenfelixzenon
 

Similar a Modelos de dominio (20)

Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo Conceptual
 
Clase 29
Clase 29Clase 29
Clase 29
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
Diseño de patrones
Diseño de patronesDiseño de patrones
Diseño de patrones
 
ComputacionParaTodos / SocioTecnologico
ComputacionParaTodos / SocioTecnologicoComputacionParaTodos / SocioTecnologico
ComputacionParaTodos / SocioTecnologico
 
Poa Borrador
Poa BorradorPoa Borrador
Poa Borrador
 
Patrones GRASP de tipo de bajo acoplamiento
Patrones GRASP de  tipo de bajo acoplamientoPatrones GRASP de  tipo de bajo acoplamiento
Patrones GRASP de tipo de bajo acoplamiento
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
Semana13-AOO.ppt
Semana13-AOO.pptSemana13-AOO.ppt
Semana13-AOO.ppt
 
Patrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspPatrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. grasp
 
Analisis de requerimiento
Analisis de requerimientoAnalisis de requerimiento
Analisis de requerimiento
 
Introducción poo
Introducción pooIntroducción poo
Introducción poo
 
Consejos para escribir buenos casos de uso
Consejos para escribir buenos casos de usoConsejos para escribir buenos casos de uso
Consejos para escribir buenos casos de uso
 
Uml
UmlUml
Uml
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
3 analisis y diseño resumen
3  analisis  y diseño resumen3  analisis  y diseño resumen
3 analisis y diseño resumen
 
Aoo05
Aoo05Aoo05
Aoo05
 

Más de Juan Pablo Bustos Thames

El Proceso de Diseño de Interfaz del Usuario por Ian Sommerville
El Proceso de Diseño de Interfaz del Usuario por Ian SommervilleEl Proceso de Diseño de Interfaz del Usuario por Ian Sommerville
El Proceso de Diseño de Interfaz del Usuario por Ian SommervilleJuan Pablo Bustos Thames
 
El Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger PressmanEl Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger PressmanJuan Pablo Bustos Thames
 
Descomposición modular y estilos de control
Descomposición modular y estilos de controlDescomposición modular y estilos de control
Descomposición modular y estilos de controlJuan Pablo Bustos Thames
 
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...Juan Pablo Bustos Thames
 
Soluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidadSoluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidadJuan Pablo Bustos Thames
 
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...Juan Pablo Bustos Thames
 
Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoJuan Pablo Bustos Thames
 
Ingeniería del software asistida por computadora (case)
Ingeniería del software asistida por computadora (case)Ingeniería del software asistida por computadora (case)
Ingeniería del software asistida por computadora (case)Juan Pablo Bustos Thames
 

Más de Juan Pablo Bustos Thames (20)

Pruebas del Software
Pruebas del SoftwarePruebas del Software
Pruebas del Software
 
Verificación y Validación del Diseño
Verificación y Validación del DiseñoVerificación y Validación del Diseño
Verificación y Validación del Diseño
 
Diseño a Nivel de Componentes
Diseño a Nivel de ComponentesDiseño a Nivel de Componentes
Diseño a Nivel de Componentes
 
El Proceso de Diseño de Interfaz del Usuario por Ian Sommerville
El Proceso de Diseño de Interfaz del Usuario por Ian SommervilleEl Proceso de Diseño de Interfaz del Usuario por Ian Sommerville
El Proceso de Diseño de Interfaz del Usuario por Ian Sommerville
 
El Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger PressmanEl Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger Pressman
 
Reglas de Oro
Reglas de OroReglas de Oro
Reglas de Oro
 
Diseño de interfaces
Diseño de interfacesDiseño de interfaces
Diseño de interfaces
 
Modelos de dominio específicos
Modelos de dominio específicosModelos de dominio específicos
Modelos de dominio específicos
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Descomposición modular y estilos de control
Descomposición modular y estilos de controlDescomposición modular y estilos de control
Descomposición modular y estilos de control
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
 
Soluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidadSoluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidad
 
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
 
Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de uso
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 
Documentación del diseño
Documentación del diseñoDocumentación del diseño
Documentación del diseño
 
Conceptos de diseño
Conceptos de diseñoConceptos de diseño
Conceptos de diseño
 
Proceso de diseño
Proceso de diseñoProceso de diseño
Proceso de diseño
 
Ingeniería del software asistida por computadora (case)
Ingeniería del software asistida por computadora (case)Ingeniería del software asistida por computadora (case)
Ingeniería del software asistida por computadora (case)
 

Modelos de dominio

  • 1. Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
  • 2. Contenidos de la Unidad 1 Introducción al Diseño f) Ingeniería del Software Asistida por Computadora. Clasificación de CASE   Sommerville. Sección 4.5   C. Proceso de Diseño Pressman. Cap. 13.2 Introducción.   I. Fases del diseño. Pressman. Sección 13.1 Sommerville. Sección 4.3.2 II. Diseño y calidad del software Pressman. 13.2.1 III. Principios y conceptos del diseño. Pressman. Sección 13.3 y 13.4 IV. Documentación del Diseño. Pressman, Sección 13.8 V. Análisis y Diseño Orientado a Objetos Sommerville, Cap.14 Larman, 2ª. Ed., Cap. 1.4 Pressman, Cap.21 y 22 VI. Modelos de dominio, Casos de Uso. (revisión) Larman, 1ª. Ed.,Cap. 9/11 Larman, 2a. Ed. Cap. 9/11 VII. Del Análisis al Diseño Larma n, 1ª. Ed. Cap. 15 Larman, 2ª. Ed. Cap. 14
  • 3. MODELO CONCEPTUAL O DE DOMINIO Craig Larman (Caps. 9/12) Ingeniería en Sistemas de Información DISEÑO DE SISTEMAS Una vez concluida la fase de planeación y elaboración y que los casos de uso fueron identificados, clasificados y programados. Se presenta entonces una transición muy importante: comienza la fase de construcción, donde se cumplen los ciclos del desarrollo iterativo.
  • 4. DISEÑO DE SISTEMAS Un Modelo Conceptual nos brinda los conceptos significativos para el dominio del problema. El lenguaje UML ofrece la notación en diagramas de estructuras estáticas para graficar los modelos conceptuales Es el “artefacto” más importante que se crea durante la etapa del AOO Modelo Conceptual => representa cosas del mundo real, no componentes del software Actividades y dependencias Crear un Modelo Conceptual para los Casos de Uso no puede hacerse si no se cuenta con los Casos y con Documentos que permitan identificar los Conceptos (Objetos). La creación no siempre es lineal, puede formularse en paralelo con el desarrollo de los Casos.
  • 5.
  • 6. DISEÑO DE SISTEMAS Modelo Conceptual ¿Qué representa? Un modelo conceptual nos permite descomponer el dominio del problema en unidades comprensibles (conceptos), éste contribuye a esclarecer la terminología o nomenclatura del dominio. ¿Qué NO representa? Un modelo conceptual NO ES una descripción del diseño del software, como una clase en C++, una ventana, una base de datos, etc. Class alumno{ int Cod; char *Apellido; . . .
  • 7.
  • 8. DISEÑO DE SISTEMAS Modelo Conceptual Venta-1 Venta-3 Venta-2 venta fecha hora Símbolo del Concepto Intensión del Concepto “ Una venta representa el evento de una transacción de compra. Tiene fecha y hora.” Extensión del Concepto
  • 9.
  • 10.
  • 11. 2. Consiste en identificar las frases nominales en las descripciones textuales del dominio de un problema y considerarlas conceptos o atributos idóneos. DISEÑO DE SISTEMAS Modelo Conceptual Este método hay que utilizarlo con mucha prudencia; no es posible encontrar siempre mecánicamente correspondencias entre sustantivo y concepto, y además las palabras del lenguaje natural son ambiguas.     Acción del actor Respuesta del sistema 1. Este caso de uso comienza cuando el Socio llega a la caja con videos para alquilar .   2. El empleado ingresa el Nº de socio .     3. Visualiza el nombre del Socio. 5. Incorpora el título del video a la transacción .   4. El empleado registra el código de video . 6. ....
  • 12. DISEÑO DE SISTEMAS Modelo Conceptual Cómo construir un modelo conceptual 1. Liste los conceptos idóneos usando la Lista de categorías de conceptos y la identificación de la frase nominal relacionada con los requerimientos en cuestión. 2. Dibújelos en un modelo conceptual. 3. Incorpore las asociaciones necesarias para registrar las relaciones para las cuales debe reservar un espacio en la memoria. 4. Agregue los atributos necesarios para cumplir con las necesidades de información.
  • 13.
  • 14.
  • 15. DISEÑO DE SISTEMAS Modelo Conceptual Un Error Frecuente al identificar Conceptos Tal vez el error más frecuente cuando se crea un modelo conceptual es el de representar algo como atributo, cuando debió haber sido un concepto. Una regla práctica para no caer en él es:  Si en el mundo real no consideramos algún concepto X como número o texto, probablemente X sea un concepto y no un atributo.   Por ejemplo, el caso del dominio de las reservaciones en líneas aéreas. ¿Debería “ Destino” ser un atributo de “ Vuelo” o ser un concepto aparte llamado “ Aeropuerto” ?
  • 16. DISEÑO DE SISTEMAS Modelo Conceptual En el mundo real, un aeropuerto de destino no se considera número ni texto: es una cosa masiva que ocupa espacio. Por tanto, Aeropuerto debería ser un concepto . En caso de duda, convierta el atributo en un concepto independiente. Vuelo Destino Vuelo Aeropuerto Nombre ¿o ...?
  • 17. DISEÑO DE SISTEMAS Modelo Conceptual Especificación o descripción de conceptos Necesidad de las especificaciones. La descripción o especificación de objetos se relaciona con aquella cosa que describen. En un modelo conceptual, se acostumbra a estipular que una Especificación X describe una X. Por ejemplo: una EspecificaciondeProducto no representa un Elemento, sino una descripción acerca de ellos. La necesidad de especificar los conceptos es frecuente en los dominios de ventas, productos y elaboración, a donde se requiere una descripción de lo manufacturado que se distingue de la cosa manufacturada.
  • 18. DISEÑO DE SISTEMAS Modelo Conceptual Especificaciones de otras cosas. El signo “*” indica multiplicidad de “muchos”. Indica que una “ EspecificaciondeProducto” puede describir muchos Productos . Producto descripcion precio numero de serie CUP EspecificaciondeProducto descripcion precio CUP Producto numero de serie 1 * Describe Mal Bien
  • 19.
  • 20. DISEÑO DE SISTEMAS Modelo Conceptual AGREGACIÓN DE LAS ASOCIACIONES Asociaciones:   La asociación es una relación entre dos conceptos que indica alguna conexión significativa e interesante entre ellos. 1 Caja Venta Registra asociación *
  • 21. DISEÑO DE SISTEMAS Modelo Conceptual Criterios de las asociaciones útiles Las asociaciones “significativas” o “interesantes” son las que deben preservarse durante algún tiempo (milisegundos o años). En otras palabras, cuando entre los objetos hay que tener algún recuerdo sobre una relación; por ejemplo, se debe recordar cuáles instancias de VentasLineadeProducto están asociadas a la instancia Venta , porque de lo contrario no sería posible reconstruir la venta, imprimir el recibo ni calcular el total de la venta.
  • 22. DISEÑO DE SISTEMAS Modelo Conceptual Examine la conveniencia de incluir las siguientes asociaciones en un modelo conceptual:         L as asociaciones en que el conocimiento de la relación ha de ser preservado durante algún tiempo (asociaciones que “deben conocerse”).          Las asociaciones provenientes de la Lista de asociaciones comunes . De lo contrario, no es necesario recordar una relación entre una Venta Actual y un Gerente , pues los requerimientos no indican que haga falta ese tipo de relación. Tal vez no sea incorrecto mostrar esta relación, pero no es útil dentro del contexto de nuestros requerimientos.
  • 23. DISEÑO DE SISTEMAS Modelo Conceptual Notación de las asociaciones en UML Una asociación se representa como una línea entre los conceptos con el nombre de la asociación. Esta es intrínsecamente bidireccional, o sea es posible un nexo lógico entre los objetos de un tipo y los del otro. Este vínculo es totalmente abstracto ; no es una afirmación sobre las conexiones entre las entidades del software. 1 Caja Venta Registra asociación * -flecha de dirección de la lectura -sin otro significado -a menudo se excluye multiplicidad
  • 24. DISEÑO DE SISTEMAS Modelo Conceptual Los extremos de una asociación pueden contener una expresión de multiplicidad que indique la relación numérica entre las instancias de los conceptos. Una flecha opcional de la dirección de lectura ( o “flecha de la dirección del nombre” ) indica la dirección en que debe leerse el nombre de la asociación; no denota la dirección de visibilidad o de navegación. En su ausencia, la asociación se lee de izquierda a derecha o de arriba hacia abajo. La flecha de dirección de la lectura no tiene un valor semántico; tan solo es una ayuda para leer el diagrama.
  • 25. DISEÑO DE SISTEMAS Modelo Conceptual Identificación de las asociaciones: Lista de asociaciones comunes Comience a agregar las asociaciones utilizando la lista anexa. Contiene categorías comunes que normalmente vale la pena incluir. Los ejemplos tomados de los dominios de la Tienda y de la reservación de las líneas aéreas. Categoría Ejemplos A es una parte física de B Caja – TPDV Ala – Avion A es una parte lógica de B VentasLineadeProducto – Venta TramodeVuelo – RutadeVuelo A está físicamente contenido en B TPDV – Tienda, Producto – Estante Pasajero – Avion A está contenido lógicamente en B DescripciondeProducto – Catalogo Vuelo – Programa de Vuelo ... ...
  • 26.
  • 27. DISEÑO DE SISTEMAS Modelo Conceptual ¿Qué grado de detalle deberían tener las asociaciones? Las asociaciones son importantes, pero una falla habitual al crear modelos conceptuales es el excesivo tiempo que, durante la investigación, se dedica al intento de descubrirlas. Es indispensable convencerse de lo siguiente: Es mucho más importante identificar los conceptos que las asociaciones. El tiempo consagrado a la creación del modelo conceptual debería destinarse a identificar los conceptos, no las asociaciones.
  • 28.
  • 29. DISEÑO DE SISTEMAS Modelo Conceptual Multiplicidad La multiplicidad define cuántas instancias de un tipo A pueden asociarse a una instancia de tipo B en determinado momento. Por ejemplo, una instancia individual de una Tienda puede asociarse a “muchas” instancias de Producto . 1 Tienda Producto Almacena * multiplicidad
  • 30. DISEÑO DE SISTEMAS Modelo Conceptual Asignación de nombres a las asociaciones Los nombres de las asociaciones comienzan con una mayúscula. Una frase nominal debe construirse con guiones. 1 Caja Venta Registra 1..* Tienda Pago 1 Pagada-por 1 1..* 1 Contiene
  • 31. DISEÑO DE SISTEMAS Modelo Conceptual Asociaciones múltiples entre dos tipos Dos tipos pueden tener varias asociaciones entre ellos; esto sucede con frecuencia. No hay un ejemplo sobresaliente en nuestro sistema TPDV, pero en el dominio de la línea aérea encontramos uno en las relaciones entre Vuelo y Aeropuerto . Las asociaciones volar – hacia y volar – de son relaciones netamente diferentes que han de mostrarse por separado. Vuelo Aeropuerto 0..1 * Vuela-a * 1 Vuela-de
  • 32. DISEÑO DE SISTEMAS Modelo Conceptual Atributos => Valor Lógico de un dato de un objeto. Clave para su inclusión en un Modelo Conceptual:   Aquellos en que los requerimientos (Casos de Uso) indican o conllevan la necesidad de recordar información . (El concepto “Venta” requiere, por ejemplo, los atributos de: fecha y hora) AGREGACIÓN DE LOS ATRIBUTOS
  • 33. DISEÑO DE SISTEMAS Modelo Conceptual Notación de los atributos en UML Los atributos se muestran en la segunda sección de la sección de los Conceptos. Indicar su tipo es opcional. Venta Fecha Hora Atributos
  • 34. DISEÑO DE SISTEMAS Modelo Conceptual Conserve simples los atributos Los tipos más simples de atributos son los que, en la práctica, suelen considerarse los tipos primitivos de datos. Por lo general el tipo de un atributo no debería ser un concepto complejo del dominio (al revés que los “conceptos”). En un modelo conceptual es preferible que los atributos sean atributos simples o valores puros de datos.   Entre los tipos comunes de atributos simples más frecuentes se cuentan: Booleano, Fecha, Número, Cadena, Hora, Dirección, Color, Geometría, Número telefónico, DNI, CUP, Código Postal, ISBN, Nombre y Apellido, etc.
  • 35. DISEÑO DE SISTEMAS Modelo Conceptual Cajero nombre CAJAactual Atributos Mal Cajero nombre Caja numero Usa 1 1 Bien
  • 36. DISEÑO DE SISTEMAS Modelo Conceptual Relacione conceptos con una asociación, no con un atributo Vuelo destino Aeropuerto 1 1 Vuela-a Vuelo Mal Bien Destino es un concepto complejo
  • 37. DISEÑO DE SISTEMAS Modelo Conceptual Ningún atributo debe incluirse como clave foránea Los atributos no se usan para relacionar conceptos distintos en el Modelo Conceptual. La violación más frecuente de esta regla consiste en agregar un tipo de atributo de clave foránea, lo cual suele hacerse con los diseños de bases de datos relacionales, a fin de asociar dos entidades. Cajero nombre NumeroTPDVactual Un atributo “simple”, pero que se usa como clave extraña para relacionarlo con otro objeto Mal Cajero nombre TPDV numero Usa 1 1 Bien
  • 38. DISEÑO DE SISTEMAS Modelo Conceptual Glosario El glosario o diccionario modelo incluye y define todos los términos que requieren explicación para mejorar la comunicación y aminorar el riesgo de malos entendidos. El glosario se crea originalmente durante la fase de planeación y Elaboración conforme vayan generándose los términos; después va perfeccionándose continuamente en cada ciclo de desarrollo al aparecer nuevos vocablos. En cuanto al formato del glosario no existe uno oficial. Durante nuestro diseño adoptaremos el siguiente:
  • 39. DISEÑO DE SISTEMAS Modelo Conceptual Término Categoría Comentarios Comprar Productos Caso de Uso Descripción del proceso de un cliente que compra productos en una tienda. Producto Tipo/Concepto Un producto que la Tienda tiene disponible para la venta. Pago.monto: Dinero Atributo El monto que el cliente abona para cancelar una Venta. ... ... ...