Modelos de dominio
Upcoming SlideShare
Loading in...5
×
 

Modelos de dominio

on

  • 25,564 views

UTN-FRT. Cátedra de Diseño de Sistemas. 3K1. 2011. Unidad I. Modelos de Dominio o Modelo Conceptual

UTN-FRT. Cátedra de Diseño de Sistemas. 3K1. 2011. Unidad I. Modelos de Dominio o Modelo Conceptual

Statistics

Views

Total Views
25,564
Views on SlideShare
17,637
Embed Views
7,927

Actions

Likes
1
Downloads
343
Comments
3

1 Embed 7,927

http://frt.cvg.utn.edu.ar 7927

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • muy buena infromacion
    Are you sure you want to
    Your message goes here
    Processing…
  • Excelente trabajo super bien explicado, muchas gracias me ayudaste a comprender muy bien el concepto y me sirvio para un trabajo de la univeridad
    Are you sure you want to
    Your message goes here
    Processing…
  • Mis felicitaciones! Estoy estudiando Sistemas en la UNAM (Universidad Nacional de Misiones), y voy a ocupar tu presentación como base y guía para el diseño de un modelo de dominio de un TP de la catedra.

    Gracias y Saludos!!!!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Modelos de dominio Modelos de dominio Presentation Transcript

  • 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. View slide
  • 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. View slide
  • DISEÑO DE SISTEMAS Modelo Conceptual
    • El paso esencial en el enfoque orientado a objetos es descomponer el problema en conceptos u objetos individuales : las cosas que sabemos
    • Modelo Conceptual => representación de conceptos en un dominio del problema
    • En UML lo ilustramos con un conjunto de diagramas de estructura estática donde no se define ninguna operación
    • Un modelo conceptual puede mostrar:
        • Conceptos
        • Asociaciones entre conceptos
        • Atributos de conceptos
    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
    • En términos informales el concepto es una idea, cosa u objeto. En un lenguaje más formal, podemos considerarlo a partir de su simbolo, intensión y extensión.
    • Símbolo : palabras o imágenes que representan un concepto
    • Intensión : la definición del concepto
    • Extensión : el conjunto de ejemplos a que se aplica el concepto.
    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.
    • No piense que un modelo conceptual es más adecuado si tiene menos conceptos.
    • Es frecuente omitir coceptos durante la fase inicial de identificación y descubrirlos más tarde, lo importante es incorporarlos.
    • No excluya conceptos simplemente porque los requerimientos no indiquen una necesidad.
    • Dos estrategias para identificar los conceptos:
      • 1. Obtención de conceptos a partir de una lista de categorías de conceptos.
      • 2. Obtención de conceptos a partir de la identificación de frases nominales.
    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
    • La estrategia del cartógrafo se aplica a los mapas y a los modelos conceptuales:
      •       Utilice los nombres existentes en el territorio.
      •      Excluya las características irrelevantes.
      •      No agregue cosas que no existen.
    • El modelo conceptual es una especie de mapa de conceptos o cosas de un dominio. Este enfoque pone de relieve el papel analítico de un modelo conceptual y sugiere lo siguiente:        
  • DISEÑO DE SISTEMAS Modelo Conceptual
    •  Los cartógrafos se sirven de nombres del territorio – no cambian los nombres de las ciudades en sus mapas. En un modelo conceptual significa utilizar el vocabulario del dominio cuando se asignan nombres a los conceptos y a los atributos .
    •    Un cartógrafo elimina cosas en el mapa en caso de que no las juzgue pertinentes para su propósito. De modo análogo, un modelo conceptual puede excluir en el dominio del problema los conceptos que no se relacionen con los requerimientos. Por ejemplo, podemos omitir BolsadePapel (del modelo conceptual) por no tener una función importante u obvia.
    •     Un cartógrafo no muestra cosas que no existen. En forma parecida, el modelo conceptual ha de excluir las cosas que no se encuentren en el dominio del problema en cuestión.
  • 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:
    • L a eliminación de las instancias de las cosas que se describen da por resultado una pérdida de información que debe conservarse.
    • Reduce información redundante o duplicada.
  • 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
    • Son aquellas que siempre conviene incluir en un modelo conceptual:
        •          A es una parte física o lógica de B.
        •          A está física o lógicamente contenido en B.
        •          A está registrado en B.
  • 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
    • Concentrarse en las asociaciones en que el conocimiento de la relación ha de preservarse durante algún tiempo (asociaciones que “es necesario conocer”).
    •  Es más importante identificar los conceptos que las asociaciones.
    •  Muchas asociaciones tienden a confundir el modelo conceptual en vez de aclararlo. A veces se requiere mucho tiempo para descubrirlas, y los beneficios son escasos.
    •  No incluir las asociaciones redundantes ni las derivables.
  • 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. ... ... ...