Analisis y diseño orientado a objetos
Tema 3
TACC II Curso 2008/09 1
Motivación
Un proyecto software no consiste sólo en programar. p y p g Necesitamos saber cuáles son las necesidades del cliente.
Identificar l requisitos, anotarlos, analizarlos, validarlos. Id tifi los i it t l li l lid l
Necesitamos diseñar una solución, y hacer “los planos” del , p software:Diseño de la arquitectura, detallado, de datos, …
Hay que asegurarse de que el software funciona:
Pruebas de unidad (a nivel de método y clase), de integración, del sistema, sistema de aceptación etc. aceptación, etc
Hay que mantener el software.
Documentación (de cada una de las fases), coherencia entre los productos de las distintas fases (ej. código vs. diseños).
2
Indice
Modelos deCiclo de Vida.
Análisis y Diseño Orientado a Objetos Objetos. Notaciones. Metodologías.
3
Modelos de ciclo de vida
¿Qué estrategia seguimos para organizar l Q é t t i i i las f fases d de un proyecto?. Un modelo de ciclo de vida nos guia en las fases que hay que realizar, sus entradas y salidas, y los criterios y q de transición. La l L elección d uno u otro d ió de depende d lcaracterísticas d de las í i del proyecto. Con teconologías orientadas a objetos se tiende a ciclos de vida iterativos e incrementales.
4
Modelos de Ciclo de Vida
/ Estudio de Viabilidad. Planificación y Estimación.
Qué
Análisis
Desventajas:
•No permite it N it iteraciones. i
Cómo
Diseño
• Los requisitos se congelan al principio del proyecto. • No existe un proyecto “enseñable” hastael final del proyecto.
Codificación
MCV en Cascada
Pruebas e integración
Operación y O ó Mantenimiento
[retiro] [ ti ]
5
Modelos de Ciclo de Vida
Iteración de A & D [más iteraciones]
Planificación
Análisis
Diseño
Incremento Planificación Análisis Diseño Extraer clases reutilizables Prototipo Pruebas Eval. Eval cliente
[más iteraciones]
MCV iterativo eincremental (RUP)
6
Indice
Modelos de Ciclo de Vida. M d l d Ci l d Vid
Análisis y Diseño Orientado a Objetos.
Ventajas e inconvenientes inconvenientes. Análisis. Diseño. Notaciones. Notaciones Metodologías.
7
Análisis y Diseño
Problema vs Solución vs.
Análisis (qué) Diseño (cómo)
Dominio del problema
Dominio de la Solución
Modelo del Dominio del Problema ControlTraficoModelo del Dominio de la Solución VentanaResumen VentanaMapas p
Avión
Controlador Trafico Aeropuerto
BDPlanVuelo ControlTrafico C t lT fi
8
PlanVuelo
Paradigma de Orientación a Objetos g j
Características
Diseños modulares modulares. Efectos laterales mínimos(encapsulamiento) ( p ) Extensibilidad. Fácil de modificar. Orientado a datos. Explota la herencia (jerárquico).Reutilización d clases. R ili ió de l
9
Ventajas
Módulos con fuerte cohesión interna y escaso acoplamiento externo (sin variables globales, …) Facilita el funcionamiento en entorno multiprocesador (objetos distribuidos) Correspondencia directa con el mundo real Prototipos rápidos Herramientas y bibliotecas muy amplias Aplicaciones construidas enganchando objetos Mejor comprensión y mantenimientoApropiado para aplicaciones dirigidas por eventos.
10
Inconvenientes
Impactos d f I t desfavorables sobre espacio y ti bl b i tiempo d de ejecución. Forma de pensar diferente: curva de aprendizaje lenta. Herencia y ligadura dinámica dificultan las pruebas. Difícil seguir el flujo de ejecución (e.j. llamádas implicitas a constructores, conversiones implícitas, etc.) Frameworks grandes ycomplicados (e.j. MFCs).
11
Análisis Orientado a Objetos
Centrarse en el “qué”. Identificar los requisitos: documentos de análisis.
Entrevistas. Identificar requisitos funcionales y no funcionales (ej.: rendimiento, fiabilidad)
Especificar los requisitos: documento de especificación de requisitos.
Documento técnico. O D t té i Organización y clasificación d l requisitos. i ió l ifi ió de los...
Regístrate para leer el documento completo.