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

16
29 de ago de 2022 Sergio Sánchez Rios 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

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

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

13 de abr de 2023 Sergio Sánchez Rios

Metodologías de Análisis y DiseñoUnidad VII

Diseño O.O

“Contratos y Casos de Uso Reales”

Sergio Sánchez Rios.

Ingeniero en Informática – Licenciado en Informática

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

13 de abr de 2023 Sergio Sánchez Rios

UMLContratos 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.

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

13 de abr de 2023 Sergio Sánchez Rios

Secciones del Contrato:

Operación: Nombre operación y parámetros.

Referencia Cruzada: casos de uso en los que puede tener lugar está operación.

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.

Postcondiciones: el estado de los objetos del modelo del dominio después de que se complete la operación.

UMLContratos de Operaciones

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

13 de abr de 2023 Sergio Sánchez Rios

Ejemplo Contrato:

1. Operación: IntroducirArticulo(articuloID: ArticuloID, cantidad:int)

2. Referencia cruzada: Caso de uso: Procesar Venta

3. Precondición: Hay una venta en curso

4. Postcondición:

• Se creó una instancia de la LineaVenta idv (creación de instancias)

• Idv se asocia con la venta actual (formación asociación)

• Idv cantidad paso a ser cantidad (modificación de atributo)

• Idv se asocio con una especificación del producto, en base a la coincidencia del atributo articuloID (formación asociación)

UMLContratos de Operaciones

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

13 de abr de 2023 Sergio Sánchez Rios

Postcondiciones

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.

Las postcondiociones se dividen en tres categorías:

1. Creación y eliminación de instancias.

2. Modificación de atributos.

3. Formación y ruptura de asociaciones.

UMLContratos de Operaciones

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

13 de abr de 2023 Sergio Sánchez Rios

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.

UMLContratos de Operaciones

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

13 de abr de 2023 Sergio Sánchez Rios

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.

UMLContratos de Operaciones

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

13 de abr de 2023 Sergio Sánchez Rios

¿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.

UMLContratos de Operaciones

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

13 de abr de 2023 Sergio Sánchez Rios

Guías

1. Identifique las operaciones del sistema a partir de los DSSs.

2. 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.

3. Describa las postcondiciones.

Consejos Escritura

Escriba las operaciones de forma declarativa, en pasado.

Recuerde realizar la formación de asociaciones.

UMLContratos de Operaciones

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

13 de abr de 2023 Sergio Sánchez Rios

UMLIntroducción al Diseño

Objetivo: ¿Cómo?

El objetivo principal de la fase de diseño es obtener una solución lógica para el problema en estudio.

Ámbito 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.

Diseño Arquitectónico: Define la relación entre los principales elementos estructurales del programa.

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

13 de abr de 2023 Sergio Sánchez Rios

Ámbito 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.

Diseño procedimental: Transforma elementos estructurales de la arquitectura del programa en una descripción procedimental de los componentes de software.

UMLIntroducción al Diseño

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

13 de abr de 2023 Sergio Sánchez Rios

Modelamiento

Casos de Uso Reales: incorporan decisiones de diseño.

Diagrama de Interacción: describen la comunicación entre los objetos con el propósito de satisfacer los requerimientos.

Diagrama de Clases: definición de las clases necesarias para implementar la solución.

UMLIntroducción al Diseño

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

13 de abr de 2023 Sergio Sánchez Rios

Diseño O.OCasos de Uso Reales

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.

Ejemplo:

Si en la implementación interviene una interfaz gráfica, el caso de uso real incluiría:

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.

El diseño de las secuencias de pantallas de la interfaz de usuario.

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

13 de abr de 2023 Sergio Sánchez Rios

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

Diseño O.OCasos de Uso Reales

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

13 de abr de 2023 Sergio Sánchez Rios

Ejemplo – Comprar Producto (Curso normal de Eventos)

Acción de los Actores Respuesta del Sistema

1. Este caso de uso comienza cuando un cliente llega a una caja de TPDV con productos que desea comprar.

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

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

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.

5. Calcula y presenta en el recuadro C el total de la venta.

6..........

Diseño O.OCasos de Uso Reales

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

13 de abr de 2023 Sergio Sánchez Rios

Guía del Tópico:

Software Engineering 6a. ed.– Ian Sommerville – Pearson Education – 2000. (Cap. 6)Ingeniería de Software Teoría y Práctica – Shari Lawrence Pfleeger – Pearson Education – 2002.Utilización de UML en ingeniería del software con objetos y componentes – Perdita Stevens & Rob Pooley – Addison Wesley – 2002. UML y Patrones una introducción al análisis y diseño orientados a objeto y al proceso unificado – Craig Larman – Prentice Hall - 2002.

Bibliografía