trabajo práctico 7: objetos

Anuncio
 INTRODUCCIÓN AL ANÁLISIS DE SISTEMAS INGENIERÍA DE SOFTWARE I TRABAJO PRÁCTICO 7: OBJETOS TEORÍA ¿Qué son los métodos Orientados a Objetos?  Los métodos OO proveen un conjunto de técnicas para analizar, descomponer y modularizar arquitecturas de software.  Se caracterizan por estructurar las arquitecturas de sistemas en base sus objetos (clases de objetos) en lugar de las acciones que realiza. OO provee objetos como el principal medio para abstraer y estructurar un sistema. Un objeto puede modelar entidades del mundo real, puede capturar abstracciones de fenómenos complejos, puede representar artefactos de software (pilas, gráficos, …). En programación orientada por objetos un programa es una comunidad de agentes (objetos) que interactúan entre ellos. Cada objeto tiene un rol en la solución del problema. Cada objeto provee un conjunto de servicios, implementado por métodos. Los servicios de un objeto son usados por otros objetos. Principales características del POO:  Encapsulamiento  Herencia  Abstracción  Polimorfismo  Ocultamiento Los bloques principales de UML son:  Elementos del modelo: clases, interfaces, componentes, casos de usos, etc.  Relaciones: asociación, generalización, dependencias, etc.  Diagramas: diagrama de clases, diagrama de casos de usos, diagramas de interacción, etc. Clase  estructura + operaciones  Conjunto de objetos con estructura, comportamiento relaciones y semántica común  Representa algo del Dm del problema o solución.  La noción de Clase viene de clasificación: agrupar (en un conjunto) objetos (elementos) que se comportan de la misma manera (con respecto a la interfaz que describe el comportamiento). Asociación  Describe conexiones semánticas entre los objetos individuales de clases dadas  Proporciona una “conexión” entre los objetos para el envío de mensajes (relación de conocimiento).  Relaciona instancias (objetos) no clasificadores (clases).  Puede tener un rol que describe el papel específico que una clase juega en una asociación Enlace (link): instancia de una asociación. INTRODUCCIÓN AL ANÁLISIS DE SISTEMAS INGENIERÍA DE SOFTWARE I Relaciones INTRODUCCIÓN AL ANÁLISIS DE SISTEMAS INGENIERÍA DE SOFTWARE I Diagrama de secuencia  Gráfico bidimensional. La dimensión vertical es el eje de tiempo. La dimensión horizontal muestra los roles de clasificadores que representan objetos individuales en la colaboración.  Cada rol de clasificador es representada por una línea vertical que representa su línea de vida.  Una línea punteada representa el período de ‘existencia’ del objeto.  Una línea doble representa una activación del objeto.  Un mensaje es representado por una flecha desde la línea de vida de un objeto hacia la línea de vida de otro objeto. Diagrama de Interacción  Es un conjunto de mensajes que se intercambian dentro del contexto de una colaboración por roles de clasificadores (objetos) a través de enlaces (instancias de asociación).  Un mensaje es una comunicación unidireccional entre objetos, un flujo de control con información desde un emisor a un receptor.  Un mensaje puede tener parámetros.  Las interacciones son representadas por diagramas de secuencia (se enfocan en la relación de tiempo) o diagramas de colaboración (se enfocan en las relaciones entre objetos). Diagrama de secuencia  Gráfico bidimensional. La dimensión vertical es el eje de tiempo. La dimensión horizontal muestra los roles de clasificadores que representan objetos individuales en la colaboración.  Cada rol de clasificador es representada por una línea vertical que representa su línea de vida.  Una línea punteada representa el período de ‘existencia’ del objeto.  Una línea doble representa una activación del objeto.  Un mensaje es representado por una flecha desde la línea de vida de un objeto hacia la línea de vida de otro objeto. INTRODUCCIÓN AL ANÁLISIS DE SISTEMAS INGENIERÍA DE SOFTWARE I Ejercicio 1 Considere las siguientes afirmaciones sobre los diagramas de interacción y tachar la opción incorrecta: a) Los diagramas de interacción se usan para modelar el aspecto [dinámico] / [estático] de las colaboraciones representando sociedades de objetos jugando roles específicos, trabajando en conjunto para llevar a cabo algún comportamiento que es mayor que la suma de sus elementos. b) Se puede modelar cada interacción de dos formas: 1) enfatizando en [la comparación entre los tiempos de vida de los objetos] / [el ordenamiento temporal de los mensajes enviados entre objetos] 2) enfatizando en [los atributos y las operaciones de los objetos] / [la organización estructural de los objetos] c) Los diagramas de secuencia [son] / [no son] semánticamente equivalentes a los diagramas de colaboración. Tache la(s) opción(es) entre corchetes que no corresponda(n) en cada una de ellas. Ejercicio 2 Para cada una de las siguientes afirmaciones discuta e indique si esta es Verdadera o Falsa. Verdadero Una clase es un descriptor de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Una clase representa un concepto físico del domino de aplicación de un sistema que se está modelando. Un diagrama de clases enfoca una perspectiva comportamental al modelar clases, sus atributos, sus operaciones, y relaciones entre clases Falso
Ejercicio 3 Considere las siguientes listas de términos. La de la izquierda, lista nombres de tipos de relaciones que se pueden dar entre clases. Mientras que la del centro, lista términos utilizados frecuentemente cuando se leen relaciones entre clases a partir de un diagrama. A la derecha se ven las representaciones en los diagramas. Unir las letras con los números que se corresponden. a) Especialización / Generalización Usa b) Dependencia Es Parte de / Es una categoría de c) Realización Es un d) Agregación Implementa e) Asociación Conoce 1)
2)
3)
4)
5)
INTRODUCCIÓN AL ANÁLISIS DE SISTEMAS INGENIERÍA DE SOFTWARE I Ejercicio 4 Realizar el diagrama de Casos de Uso del siguiente planteo. Presentación General Es un sistema de administración de aeropuertos que implica el manejo y administración de todos los componentes que conforman las actividades diarias entre ellos se encuentra como fundamentales o críticos los siguientes: 1. Planificación y mantenimiento del programa de vuelos: este sistema deberá coordinar la asignación de pistas y vuelos a los aviones, según la compañía, los horarios y origen y destino de los mismos 2. Reserva, compra y cancelación de billetes: este sistema deberá administrar la reserva, compra y cancelación de billetes para los diferentes vuelos. 3. Emisión de la tarjeta de embarque y facturación de equipajes: manejo y administración del equipaje en tránsito para su correcto seguimiento y cobranza de ser necesario. Además están los módulos que hacen al funcionamiento de los anteriores y componen los sistemas accesorios, que son: 1. Sistema de validación de compras a crédito: conexión con el sistema bancario para validación de tarjetas. 2. Aplicación que nos entrega información de otros aeropuertos.: conexión con otros aeropuertos para manejo de tarjeta de embarque e información asociada a los pasajeros en tránsito. 3. Aplicación para modificar manualmente los datos de la base de datos.: Modificaciones de los datos principales asociados a las funcionalidades del sistema: aviones, vuelos, billetes, retrasos, etc. 4. Aplicaciones de carga de datos: carga automática de datos, para hacer demostraciones y pruebas de las diferentes aplicaciones. 5. Aplicación del controlador aéreo, para poder ir indicando salidas y llegadas de aviones.: manejo del controladora aéreo para administrar despegues y llegadas realizadas 6. Aplicación de monitorización completa: observar el estado general del Aeropuerto, vuelos programados, reservas, etc. Ejercicio 5 Tomar dos Casos de Uso de los identificados en el Ejercicio 4 y realizar la descripción de los mismos (Formato Casual) Caso de Uso: NombreCasoDeUos Actores: Actores Propósito: Descripción del Caso de Uso Pre Condición: Post Condición: Bibliografía  Apuntes de la Catedra  UML 1.4 RTF: www.celigent.com/omg/umlrtf  OMG UML Tutorials: www.celigent.com/omg/umlrtf/tutorials.htm  UML 2.0 Working Group: www.celigent.com/omg/adptf/wgs/uml2wg.htm  OMG UML Resources: www.omg.org/uml/  UML y Patrones de Craig Larman 
Descargar