7.- Flujo de Análisis: Patrones de Análisis Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA Contenidos n n n Necesidad de Patrones Modelos Conceptuales Algún patrón de análisis Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) 1 Necesidad de Patrones n Un patrón es una idea que ha sido útil en un contexto práctico, y que probablemente lo sea en otros (Martin Fowler) n Un patrón es una solucion probada a un problema dentro de un contexto (Dick Gabriel) n Un patrón: n Resuelve un problema. n Es un concepto probado. n La solución no es obvia. n Describe una relación: no sólo describe módulos, sino estructuras internas. Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) Modelos Conceptuales n n Mucha gente no diferencia entre análisis y diseño. Análisis: tras los casos de uso -qué hace el sistemahay que comprender la estructura intrínseca de esa aplicación (entender el problema mirando más allá de los requisitos “superficiales”). Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) 2 Ejemplo: Billar (I) n Ejemplo: Billar: n Casos de Uso: n n n n Pero no es suficiente para crear una buena simulación: n n El jugador lanza la bola blanca. Puede chocar con la bola roja. … Leyes de Mecánica Clásica: masa, momento, velocidad, … Eso es el análisis: crear un modelo conceptual (mental) base para entender el problema subyacente. Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) Ejemplo: Billar (y II) n Pero cuidado con el Modelo seleccionado: n No hay modelo malo, sino más o menos útiles: n n n Mecánica cuántica. Hay que buscar la solución más sencilla para la funcionalidad requerida… lo cuál no suele ser lo primero en lo que pensamos. Máxima: los modelos conceptuales están más ligados a las interfaces que a las implementaciones. implementaciones Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) 3 Algún Patrón de Análisis (I): Accountability n Se utiliza cuando una persona u organización es responsable de otra n Estructuras organizativas. n Contratos n Empleos n Deporte n … Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) Algún Patrón de Análisis (II): Accountability n Party: supertipo de persona u organización. n Observamos que Organization y Person hacen lo mismo. Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) 4 Algún Patrón de Análisis (III): Accountability n Con esto solucionamos la duplicidad: Party Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) Algún Patrón de Análisis (IV): Roles n Diferenciación entre Trabajador y Persona Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) 5 Algún Patrón de Análisis (V): Eventos Recurrentes Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) Algún Patrón de Análisis (y VI): Eventos Recurrentes Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) 6 Bibliografía n n Analysis Patterns. Reusable Object Models. Martin Fowler. Ed. Addison - Wesley. Enlaces: n www.martinfowler.com Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática (DII) 7