Análisis y modelado de sistemas de software Análisis - Modelado estructural Blanca A. Vargas Govea vargasgovea@itesm.mx Marzo 1, 2013
Resolver Actividad 11 Resolver Tarea 11
Actividad 11: individual Hacer una nueva versión del diagrama considerando que: 1. Es necesario agregar un nuevo caso de uso para autentificar al cliente cuando ingresa. 2. El cliente puede solicitar ayuda. 3. Las transacciones son especializaciones de un caso de uso general. 3
Actividad 11: individual 4
Tarea 11: individual La cía de bienes raíces Tu-casa tiene dos tipos de clientes: los que quieren vender y los que quieren comprar. Los que quieren vender firman un contrato y proporcionan la información de su casa. Esta información se conserva en una base de datos. Los compradores pueden ser de dos tipos: los que tienen interés en una casa específica y los que buscan consejo para encontrar casa. Para los que quieren una casa específica un agente de Tu-casa imprime la información y lleva al comprador a ver la casa. Para los que quieren consejo, tienen que llenar una forma que es introducida a la base de datos de compradores. Con esa información, el agente busca las casas que cumplen con las necesidades del cliente e imprime una lista. Con base en la lista, el agente le muestra las casas al comprador. 1. Identifica a los actores. 2. Identifica las tareas de los actores. 3. Identifica al sujeto. 4. Identifica los casos de uso. 5. Dibuja el diagrama de casos de uso correspondiente. 6. Elabora la descripción de un caso de uso de tu elección. Ver imágenes 1, 2 y 3 5
Definición de requerimientos Análisis Modelado funcional Modelado estructural* Fases Diseño Modelado de comportamiento Implementación 6
Objetivo 1. Conocer el objetivo del modelado estructural 2.Conocer y aplicar la técnica de modelado de tarjetas CRC 7
Introducción En la fase de análisis (en la que estamos), el analista crea modelos funcionales para representar cómo se comportará el sistema: diagrama de actividades, casos de uso. Comportamiento 8
Introducción También necesita entender la información que se usa y es creada por el sistema. Información Modelar la información relacionada con el comportamiento. 9
Modelo estructural Es una representación formal de los objetos usados y creados por un sistema. Tarjetas CRC Diagramas de clases Diagramas de objetos Modelo estructural 10
Objetivos Crear un vocabulario que pueda ser usado por analistas y usuarios. Representar relaciones entre esas cosas, ideas o conceptos. Representar cosas, ideas o conceptos contenidos en el dominio del problema. 11
Nota importante En esta etapa el modelo estructural no representa las clases en un lenguaje de programación. Las clases son un primer acercamiento de lo que serán en programación y se utilizan para comunicación con el usuario. El refinamiento de estas clases se se da en la etapa de diseño. 12
Qué muestra el modelo estructural? El modelo estructural muestra las responsabilidades de cada clase y la colaboración entre clases. 13
Elementos del modelo estructural Clases: plantilla que se usa para crear instancias. Atributos: relevantes a la tarea, primitivos ó atómicos. Relaciones Generalización Agregación Asociación Operaciones: se convertirán en métodos. 14
Diferencia con una representación para programación Comunicación con el usuario. En esta etapa, el análisis de clases, le sirve al analista para bosquejar junto al usuario las clases, objetos, atributos y relaciones en un lenguaje que ambos entiendan. En los casos de uso se definió el comportamiento pero no la información que se necesita. 15
Relaciones: generalización, agregación, asociación Generalización. Permite al analista crear clases que hereden atributos. Relación un-tipo-de. General Cliente es un-tipo-de Persona Empleado es un-tipo-de Persona Secretaria es un-tipo-de Empleado Empleado es un-tipo-de Persona Específico 16
Relaciones: generalización, agregación, asociación Agregación. Se refiere a una relación es-parte-de. Es lo opuesto a la descomposición. Yo soy parte del árbol Empleado es-parte-de Departamento Departamento es-parte-de Organización Un Pistón es-parte-de un Motor Un Motor es-parte-de un Carro 17
Relaciones: generalización, agregación, asociación Asociación. Relación que no es generalización ni agregación. Por favor, necesito una cita urgente con el dentista Ejemplo: Un Paciente hace una Cita Paciente está asociado a una Cita. 18
Modelo CRC (Clase-Responsabilidad-Colaboración) 19
Modelo CRC (ClaseResponsabilidad-Colaboración) Conjunto de tarjetas que documentan las responsabilidades y colaboraciones de una clase. 20
Modelo CRC Ventajas Los expertos en el dominio participan en la construcción del modelo. Información correcta Mayor satisfacción del usuario al involucrarse Se rompen barreras de comunicación. Desventajas No les gusta a algunos desarrolladores. Es difícil reunir a los usuarios. Son solamente una parte del análisis. Es simple, no atemoriza. Llevan directamente a los diagramas de clases. 21
Creación de CRC: enfoques para identificar objetos Análisis de texto Revisar el texto de las descripciones del caso de uso asociado y los diagramas. Sustantivos sugieren posibles clases. Verbos sugieren posibles operaciones. Adjetivos sugieren posibles atributos. Lista de objetos Cosas tangibles: libros, escritorios, sillas. Sucesos: reuniones, vuelos, accidentes. Roles de casos de uso: doctor, paciente, turista. 22
Actividad 12: individual Contestar el Pre-ecoa 23
Tarea 12: equipo De su proyecto, seleccionen un sujeto (subsistema) y elaboren un diagrama de casos de uso. Pueden usar las descripciones de casos de usos que ya hicieron en la tarea 9. Envíen en formato pdf. Fecha de entrega: Martes Marzo 5 24