PrácticaSemana5.pdf

9
IS I SEMANA 5 Análisis y Modelo Estructural Ejemplo Completo 1 Dpto. de Informática - ESEI

Transcript of PrácticaSemana5.pdf

IS I SEMANA 5 Anlisis y Modelo Estructural Ejemplo Completo 1 Dpto. de Informtica - ESEI PROCESO DE ANLISIS Y MODELO DE DOMINIO Necesario entender el dominio del problema. Necesario encontrar requerimientos generales del sistema del dominio (entrevistas con usuarios y expertos). Establecimiento del problema. Pasos del anlisis: 1. Establecimiento del problema. 2. Identificacin de objetos y clases (anlisis textual). 3. Desarrollo de diccionario de datos. 4. Identificacin de asociaciones entre clases. 5. Identificacin de atributos y clases asociacin. 6. Estructuracin de clases empleando herencia. 7. Verificacin de accesos entre clases. 8. Iteracin y refinamiento del modelo. 2 Dpto. de Informtica - ESEI 1. ESTABLECIMIENTO DEL PROBLEMA Descripcin clara y detallada del problema en su contexto de dominio. Descripcin de requerimientos generales del dominio (no los de una aplicacin especfica). Descripcin centrada en los objetos y sus relaciones en el dominio (no los procedimientos especficos). 3 Dpto. de Informtica - ESEI 2. IDENTIFICACIN DE OBJETOS Y CLASES Mediante anlisis textual. Extraer todos los nombres y expresiones nominales a partir del establecimiento del problema. No necesario (ni posible) extraer todas las clases finales la primera vez. Evitar ser muy selectivo seleccionando las clases en esta etapa (podran excluirse clases necesarias). Para cada nombre o expresin, decidir si representa un objeto del dominio, en base las siguientes categoras: Tangibles: aula, vehculo, Conceptuales: curso, mdulo, Eventos: seminario, conferencia, Organizaciones externas: editor, patrocinador, Roles realizados: profesor, dependiente, Otros sistemas: sistema de automatrcula, Ignorar (de momento) herencia e implementacin. Eliminar clases inapropiadas en base a las categoras anteriores. 4 Dpto. de Informtica - ESEI 3. DESARROLLO DE DICCIONARIO DE DATOS Preparar diccionario de datos para registrar la definicin de las clases. Para cada clase, escribir una breve descripcin definiendo su alcance y detalles (atributos y operaciones). Incluir las asociaciones entre clases. 5 Dpto. de Informtica - ESEI 4. IDENTIFICACIN DE ASOCIACIONES ENTRE CLASES Identificar relaciones entre clases. Extraer los verbos o perfrasis verbales que conectan dos o ms objetos a partir del anlisis textual. Refinar las asociaciones eliminando las innecesarias e inapropiadas: Asociaciones entre clases eliminadas: si se elimina una clase del modelo de dominio, entonces todas las asociaciones enlazadas a dicha clase se eliminan. Asociaciones irrelevantes o de implementacin: se eliminan aquellas asociaciones que no estn directamente relacionadas con el dominio del problema, o nicamente se relacionan con su solucin (implementacin). Acciones: la asociacin define relaciones estructurales entre clases, no eventos. Asociaciones ternarias: muchas se pueden descomponer en binarias. Asociaciones derivadas: se eliminan las que se pueden redefinir en trminos de otras asociaciones o condiciones de los atributos de las clases. 6 Dpto. de Informtica - ESEI 5. IDENTIFICACIN DE ATRIBUTOS Y CLASES ASOCIACIN Buscar nombres o expresiones nominales seguidas por frases que indican posesin. Localizar adjetivos que acompaan a un nombre y corresponden a una clase. No es necesario identificar todos los atributos en esta etapa porque no afectan al modelo de dominio. 7 Dpto. de Informtica - ESEI 6. ESTRUCTURACIN DE CLASES EMPLEANDO HERENCIA Identificar herencia de dos formas diferentes: Hacia arriba: Comparar las propiedades de las clases y buscar rasgos comunes. Comenzar analizando los nombres de las clases. Buscar clases con atributos, operaciones y asociaciones con otras clases similares. Definir una superclase para albergar todas las clases con una estructura comn. Hacia abajo: Analizar si una clase tiene casos especiales con requerimientos de comportamiento o estructurales adicionales. Buscar nombres o expresiones nominales consistentes en adjetivos y nombres de clases. Identificar especializaciones. 8 Dpto. de Informtica - ESEI 7. VERIFICACIN DE ACCESOS ENTRE CLASES Verificar si el modelo de dominio puede proporcionar respuestas adecuadas a preguntas comunes a otras aplicaciones en el dominio. 8. ITERACIN Y REFINAMIENTO DEL MODELO Necesarias varias iteraciones para obtener un modelo robusto. No es un proceso rgido. Mejora del modelo de dominio considerando: Clase sin atributos, operaciones ni asociaciones --> eliminar. Clase con muchos atributos y operaciones que abarca muchos requerimientos-> dividir en dos o ms clases. Pregunta sin respuestas -> necesarias asociaciones adicionales. Asimetras en generalizaciones y asociaciones -> necesarias asociaciones adicionales y reestructuracin de clases con herencia. 9 Dpto. de Informtica - ESEI