Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales

6,973 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
6,973
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
198
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales

  1. 1. Metodologías de Análisis y Diseño Unidad VII Diseño O.O “ Contratos y Casos de Uso Reales” Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática
  2. 2. UML Contratos de Operaciones Describen el comportamiento detallado del sistema en función de los cambios de estado de los objetos del modelo de dominio , después de la ejecución de una operación del sistema. Operaciones del Sistema y la interfaz del sistema Se pueden definir contratos para las operaciones del sistema - operaciones que el sistema como caja negra, ofrece en su interfaz pública para manejar los eventos entrantes del sistema-. El conjunto completo de las operaciones del sistema, de todos los casos de usos, definen la interfaz pública del sistema, viendo al sistema como un componente o clase individual.
  3. 3. UML Contratos de Operaciones <ul><li>Secciones del Contrato: </li></ul><ul><li>Operación: Nombre operación y parámetros. </li></ul><ul><li>Referencia Cruzada: casos de uso en los que puede tener lugar está operación. </li></ul><ul><li>Precondiciones: Suposiciones relevantes sobre el estado del sistema o de los objetos del modelo del dominio, antes de la ejecución de la operación. No se comprueba en la operación se asume. </li></ul><ul><li>Postcondiciones: el estado de los objetos del modelo del dominio después de que se complete la operación. </li></ul>
  4. 4. UML Contratos de Operaciones <ul><li>Ejemplo Contrato: </li></ul><ul><li>Operación: IntroducirArticulo(articuloID: ArticuloID, cantidad:int) </li></ul><ul><li>Referencia cruzada: Caso de uso: Procesar Venta </li></ul><ul><li>Precondición: Hay una venta en curso </li></ul><ul><li>Postcondición: </li></ul><ul><ul><li>Se creó una instancia de la LineaVenta idv (creación de instancias) </li></ul></ul><ul><ul><li>Idv se asocia con la venta actual (formación asociación) </li></ul></ul><ul><ul><li>Idv cantidad paso a ser cantidad (modificación de atributo) </li></ul></ul><ul><ul><li>Idv se asocio con una especificación del producto, en base a la coincidencia del atributo articuloID (formación asociación) </li></ul></ul>
  5. 5. UML Contratos de Operaciones <ul><li>Postcondiciones </li></ul><ul><li>Describen cambios en el objeto del modelo de dominio. Los cambios de estado del modelo de dominio comprenden la creación de instancias, formación o ruptura de asociaciones, y cambios de atributos. </li></ul><ul><li>Las postcondiociones se dividen en tres categorías: </li></ul><ul><ul><li>Creación y eliminación de instancias. </li></ul></ul><ul><ul><li>Modificación de atributos. </li></ul></ul><ul><ul><li>Formación y ruptura de asociaciones. </li></ul></ul>
  6. 6. UML Contratos de Operaciones Postcondiciones : Ejemplos de categorías Creación y eliminación de instancias Al introducir el articuloID y la cantidad del articulo ¿ que nuevo objeto se creo? Se crea una instancia de LineadeVenta. Modificación de atributos ¿Que atributo de los objetos nuevos o los ya existentes deberían haberse modificado? Idv.cantidad paso a ser cantidad.
  7. 7. UML Contratos de Operaciones Postcondiciones : Ejemplos de categorías Formación y rotura de asociaciones Idv se asocia a la venta actual Idv se asocia a especificación del producto, en base a la coincidencia del articuloID.
  8. 8. UML Contratos de Operaciones ¿Cuándo son útiles los contratos? Si únicamente basándose en los casos de uso y mediante continuas colaboraciones (verbales) con un experto en la materia, los desarrolladores pueden entender cómodamente que hacer, entonces evite los contratos. Sin embargo, en aquellas situaciones donde la complejidad es alta y añade valor la precisión detallada, los contratos son herramientas de requisitos.
  9. 9. UML Contratos de Operaciones <ul><li>Guías </li></ul><ul><li>Identifique las operaciones del sistema a partir de los DSSs. </li></ul><ul><li>Construya un contrato para las operaciones del sistema complejas y quizás sutiles en su resultado, o que no estén claras en el caso de uso. </li></ul><ul><li>Describa las postcondiciones. </li></ul><ul><li>Consejos Escritura </li></ul><ul><li>Escriba las operaciones de forma declarativa, en pasado. </li></ul><ul><li>Recuerde realizar la formación de asociaciones. </li></ul>
  10. 10. UML Introducción al Diseño <ul><li>Objetivo: ¿Cómo? </li></ul><ul><li>El objetivo principal de la fase de diseño es obtener una solución lógica para el problema en estudio. </li></ul><ul><li>Ámbito </li></ul><ul><ul><li>Diseño de los datos: Transformar el modelo de dominio de la información creado durante el análisis, en las estructuras de datos necesarias para implementar el software. </li></ul></ul><ul><ul><li>Diseño Arquitectónico: Define la relación entre los principales elementos estructurales del programa. </li></ul></ul>
  11. 11. <ul><li>Ámbito </li></ul><ul><ul><li>Diseño de la Interfaz: Describe como se comunican el software consigo mismo, con los sistemas que operan con el y con los operados que lo emplean. </li></ul></ul><ul><ul><li>Diseño procedimental: Transforma elementos estructurales de la arquitectura del programa en una descripción procedimental de los componentes de software. </li></ul></ul>UML Introducción al Diseño
  12. 12. <ul><li>Modelamiento </li></ul><ul><ul><li>Casos de Uso Reales: incorporan decisiones de diseño. </li></ul></ul><ul><ul><li>Diagrama de Interacción: describen la comunicación entre los objetos con el propósito de satisfacer los requerimientos. </li></ul></ul><ul><ul><li>Diagrama de Clases: definición de las clases necesarias para implementar la solución. </li></ul></ul>UML Introducción al Diseño
  13. 13. Diseño O.O Casos de Uso Reales <ul><li>Describen el diseño de casos de uso en términos de una tecnología específica de entrada y salida, y su implementación. </li></ul><ul><li>Ejemplo: </li></ul><ul><li>Si en la implementación interviene una interfaz gráfica, el caso de uso real incluiría: </li></ul><ul><ul><li>Los diagramas de las ventanas en cuestión y una explicación de la interacción de bajo nivel con los artefactos de la interfaz. </li></ul></ul><ul><ul><li>El diseño de las secuencias de pantallas de la interfaz de usuario. </li></ul></ul>
  14. 14. Diseño O.O Casos de Uso Reales Ejemplo – Comprar Productos Caso de Uso: Comprar Productos, versión 1 Actores: Cliente (iniciador), Cajero Propósito: Capturar una venta y su pago en efectivo. Resumen: Un cliente llega a la caja registradora con los artículos que comprará. El cajero registra los artículos y recibe un pago en efectivo. Al terminar la operación, el Cliente se marcha con los artículos. Tipo: Primario y Real Referencias Cruzadas: Funciones: R1.1,R1.2,R1.3,R1.7,R2.1
  15. 15. Diseño O.O Casos de Uso Reales Ejemplo – Comprar Producto (Curso normal de Eventos) 6.......... 5. Calcula y presenta en el recuadro C el total de la venta. 4. Al terminar de capturar los productos, el cajero oprime el botón I para indicarle al TDPV que se concluyó la captura de productos. 3. Agrega la información sobre el producto a la actual transacción de ventas. El precio del producto y la descripción del producto actual aparecen en el recuadro B y F respectivamente de la Ventana 1 2. Con cada producto teclea el código universal del producto (CUP) en A en la Ventana 1. Si un producto se repite, el cajero también puede introducir la cantidad en E. Se oprime el botón H después de capturar cada producto 1. Este caso de uso comienza cuando un cliente llega a una caja de TPDV con productos que desea comprar. Respuesta del Sistema Acción de los Actores
  16. 16. <ul><li>Guía del Tópico: </li></ul><ul><li>Software Engineering 6a. ed.– Ian Sommerville – Pearson Education – 2000. (Cap. 6) </li></ul><ul><li>Ingeniería de Software Teoría y Práctica – Shari Lawrence Pfleeger – Pearson Education – 2002. </li></ul><ul><li>Utilización de UML en ingeniería del software con objetos y componentes – Perdita Stevens & Rob Pooley – Addison Wesley – 2002. </li></ul><ul><li>UML y Patrones una introducción al análisis y diseño orientados a objeto y al proceso unificado – Craig Larman – Prentice Hall - 2002. </li></ul>Bibliografía

×