Mmmm
Diseño Orientado a Objetos
Tema 3
TACC II
II
Curso 2008/09
1
Motivación
Motivación
Un proyecto software no consiste sólo en programar.
Necesitamos saber cuáles son las necesidades del cliente.
Identificar los requisitos, anotarlos, analizarlos, validarlos.
Necesitamos diseñar una solución, y hacer “los planos” del
software:
Diseño de laarquitectura, 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 de aceptación etc
sistema, de 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
Indice
Modelos deCiclo de Vida.
Análisis y Diseño Orientado a Objetos.
Diseño Orientado Objetos
Notaciones.
Metodologías.
3
Modelos de ciclo de vida
Modelos de ciclo de vida
¿Qué estrategia seguimos para organizar las fases 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
de transición.
La elección de uno u otro dependede las características
del proyecto.
Con teconologías orientadas a objetos se tiende a ciclos
de vida iterativos e incrementales.
4
Modelos de Ciclo de Vida
Modelos de Ciclo de Vida
Qué
/ Estudio de Viabilidad.
Planificación y Estimación.
Análisis
Desventajas:
•No permite iteraciones.
Cómo
Diseño
Codificación
MCV en
Cascada
Pruebas
e integración
Operacióny
Mantenimiento
• Los
requisitos
se
congelan al principio del
proyecto.
• No existe un proyecto
“enseñable” hasta el final
del proyecto.
[retiro]
5
Modelos de Ciclo de Vida
Modelos de Ciclo de Vida
[más iteraciones]
Iteración de A & D
Planificación
Análisis
Diseño
Incremento
Planificación
Análisis
Diseño
Extraer
clases
reutilizables
PrototipoPruebas
Eval.
cliente
[más iteraciones]
MCV iterativo e
incremental (RUP)
6
Indice
Indice
Modelos de Ciclo de Vida.
Ci
Vid
Análisis Diseño Orientado
Análisis y Diseño Orientado a
Objetos.
Ventajas e inconvenientes.
inconvenientes
Análisis.
Diseño.
Notaciones.
Metodologías.
7
Análisis y Diseño
Problema vs. Solución
vs Solución
Análisis (qué)
Diseño(cómo)
Dominio del problema
Dominio de la Solución
Modelo del Dominio del Problema
Modelo del Dominio de la Solución
ControlTrafico
VentanaResumen
Avión
PlanVuelo
Controlador
Trafico
Aeropuerto
VentanaMapas
BDPlanVuelo
ControlTrafico
8
Paradigma de Orientación a Objetos
Características
Diseños modulares.
modulares
Efectos laterales mínimos(encapsulamiento)Extensibilidad.
Fácil de modificar.
Orientado a datos.
Explota la herencia (jerárquico).
Reutilización de clases.
9
Ventajas
Ventajas
Módulos con fuerte cohesión interna y escaso
acoplamiento externo (sin variables globales, …)
Facilita el funcionamiento en entorno
el funcionamiento en entorno
multiprocesador (objetos distribuidos)
Correspondencia directa con el mundo real
directacon el mundo real
Prototipos rápidos
Herramientas y bibliotecas muy amplias
Aplicaciones construidas enganchando objetos
construidas enganchando objetos
Mejor comprensión y mantenimiento
Apropiado para aplicaciones dirigidas por eventos.
10
Inconvenientes
Inconvenientes
Impactos desfavorables sobre espacio y tiempo de
ejecución.
Forma de pensar diferente: curva de aprendizajelenta.
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 y complicados (e.j. MFCs).
11
Análisis Orientado Objetos
Análisis Orientado a Objetos
Centrarse en el “qué”.
Identificar los requisitos: documentos de análisis.
Entrevistas.
Identificar requisitos...
Regístrate para leer el documento completo.