Actualizado el 21 de Marzo del 2018 (Publicado el 2 de Marzo del 2018)
1.164 visualizaciones desde el 2 de Marzo del 2018
1,6 MB
81 paginas
Creado hace 15a (23/01/2009)
Introducción al Análisis y
Diseño Orientado a Objetos
Tema 3
TACC II
TACC II
Curso 2008/09
1
Motivación
Motivación
(cid:122) Un proyecto software no consiste sólo en programar.
p g
p y
(cid:122) Necesitamos saber cuáles son las necesidades del cliente.
(cid:123) Id tifi
(cid:123) Identificar los requisitos, anotarlos, analizarlos, validarlos.
lid l
it
li
l
l
i
t
l
(cid:122) Necesitamos diseñar una solución, y hacer “los planos” del
, y
p
software:
(cid:123) Diseño de la arquitectura, detallado, de datos, …
(cid:122) Hay que asegurarse de que el software funciona:
(cid:123) Pruebas de unidad (a nivel de método y clase), de integración, del
sistema de aceptación etc
sistema, de aceptación, etc.
(cid:122) Hay que mantener el software.
(cid:123) 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
(cid:122)Modelos de Ciclo de Vida.
(cid:122)Análisis y Diseño Orientado a Objetos
(cid:122)Análisis y Diseño Orientado a Objetos.
(cid:122)Notaciones.
(cid:122)Metodologías.
3
Modelos de ciclo de vida
Modelos de ciclo de vida
(cid:122) Q é
d
(cid:122) ¿Qué estrategia seguimos para organizar las fases de
f
i
i
t
un proyecto?.
t
i
l
(cid:122) 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.
y q
y
y
(cid:122) La elección de uno u otro depende de las características
d d l
d
í
i
l
L
ió d
del proyecto.
(cid:122) 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
/ Estudio de Viabilidad.
/
Planificación y Estimación.
Análisis
Diseño
Q
u
é
C
ó
m
o
Codificación
Pruebas
e integración
Desventajas:
N
•No permite iteraciones.
it
it
i
requisitos
• Los
se
congelan al principio del
congelan al principio del
proyecto.
• No existe un proyecto
• No existe un proyecto
“enseñable” hasta el
final
del proyecto.
MCV en
Cascada
O
Operación y
Mantenimiento
ó
[
]
[retiro]
ti
5
Modelos de Ciclo de Vida
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
MCV iterativo e
incremental (RUP)
[más iteraciones]
6
Indice
Indice
d Ci
l d Vid
(cid:122)Modelos de Ciclo de Vida.
M d l
(cid:122)Análisis y Diseño Orientado a
Análisis y Diseño Orientado a
Objetos.
(cid:123)Ventajas e inconvenientes
(cid:123)Ventajas e inconvenientes.
(cid:123)Análisis.
(cid:123)Diseño.
(cid:122)Notaciones
(cid:122)Notaciones.
(cid:122)Metodologías.
7
Análisis y Diseño
Problema vs Solución
Problema 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
Avión
Controlador
Trafico
PlanVuelo
Aeropuerto
Aeropuerto
VentanaResumen
VentanaMapas
p
BDPlanVuelo
C t
ControlTrafico
lT fi
8
Paradigma de Orientación a Objetos
Características
g
j
(cid:122) Diseños modulares
(cid:122) Diseños modulares.
(cid:122) Efectos laterales mínimos(encapsulamiento)
)
p
(
(cid:122) Extensibilidad.
(cid:122) Fácil de modificar.
(cid:122) Orientado a datos.
(cid:122) Explota la herencia (jerárquico).
(cid:122) Reutilización de clases.
R ili
ió d
l
9
Ventajas
Ventajas
(cid:122) Módulos con fuerte cohesión interna y escaso
acoplamiento externo (sin variables globales, …)
y
(cid:122) Facilita el funcionamiento en entorno
(cid:122) Facilita el funcionamiento en entorno
multiprocesador (objetos distribuidos)
(cid:122) Correspondencia directa con el mundo real
(cid:122) Correspondencia directa con el mundo real
(cid:122) Prototipos rápidos
(cid:122) Herramientas y bibliotecas muy amplias
(cid:122) Aplicaciones construidas enganchando objetos
(cid:122) Aplicaciones construidas enganchando objetos
(cid:122) Mejor comprensión y mantenimiento
(cid:122) Apropiado para aplicaciones dirigidas por eventos.
10
Inconvenientes
Inconvenientes
(cid:122) I
d
(cid:122) Impactos desfavorables sobre espacio y tiempo de
d f
bl
i
ti
t
ejecución.
b
(cid:122) Forma de pensar diferente: curva de aprendizaje lenta.
(cid:122) Herencia y ligadura dinámica dificultan las pruebas.
(cid:122) Difícil seguir el flujo de ejecución (e.j. llamádas implicitas
a constructores, conversiones implícitas, etc.)
(cid:122) Frameworks grandes y complicados (e.j. MFCs).
11
Análisis Orientado a Objetos
Análisis Orientado a Objetos
(cid:122) Centrarse en el “qué”.
(cid:122) Identificar los requisitos: documentos de análisis.
(cid:123) Entrevistas.
(cid:123) Entrevistas.
(cid:123) Identificar requisitos funcionales y no funcionales (ej.: rendimiento,
fiabilidad)
(cid:122) Especificar los requisitos: documento de especificación de
requisitos.
(cid:123) D
(cid:123) Documento técnico. Organización y clasificación de los requisitos.
ió d l
i
it
t
té i
l
ifi
O
i
ió
(cid:122) Analizar: Modelos de análisis
(cid:122) Analizar: Modelos de análisis.
(cid:123) Estudio de posibles escenarios: casos de uso.
(cid:123) Otras técnicas: fichas CRC, orientados al flujo, etc.
(cid:122) Validar.
12
Análisis Orientado a Objetos
Análisis Orientado a Objetos
Obtención
de requisitos
de requisitos
Análisis
Diseño del
Sistema
(cid:122) La
i
de
especificación
l
requisitos describe el
it
ib
sistema,
lenguaje
natural.
d
en
Especificación
de requisitos:
Documento
Modelo de
Análisis:
Modelo
Modelo del
Modelo del
Sistema:
Modelo
(cid:122) Sirve de comunicación
entre desarrolladores y
entre desarrolladores y
clientes, “contrato”.
(cid:122) El modelo de análisis
usa notación formal (ej.:
Z, Alloy) o semi-formal
,
y)
(ej.: UML).
(cid:122) Sirve de comunicación
(cid:122) Sirve de comunicación
entre desarrolladores.
13
Análisis Orientado a Objetos
Análisis Orientado a Objetos
Modelos de Análisis
Modelos basados en
Modelos basados en
Escenarios
Casos de uso, texto.
Casos de uso, diagramas.
Diagramas de actividad.
Diagramas de secuencia.
…
Modelos orientados al Flujo
Modelos orientados al Flujo
Diagramas de Flujo de Datos
Diagramas de Flujo de Control
Diagramas de Transición de Estados
…
Modelo de Análisis
Modelos basados en
Clases
Diagramas de Clases.
Diagramas de Paquete.
Modelos CRC
Modelos CRC.
Diagramas de Interacción.
…
Modelos basados en
Modelos basados en
Comportamiento
Diagramas de Estado.
Diagramas de Secuencia
Diagramas de Secuencia.
…
14
Análisis Orientado a Objetos
Análisis Orientado a Objetos
Modelos de Análisis. Basado en Escenarios.
Modelo de
Análisis: Modelo
Modelo Funcional:
Modelo
Modelo de
Objetos: Modelo
Modelo
Dinámico: Modelo
(cid:122) Modelo funcional: casos de uso y escenarios.
(cid:122) Modelo de Objetos: diagramas de clases y
(cid:122) Modelo de Objetos: diagramas de clases y
objetos.
(cid:122) M d l di á i
(cid:122) Modelo dinámico: diagramas de secuencia,…
di
d
i
15
Casos de uso
Casos de uso
(cid:122) Describen qué hace el sistema desde el punto de vista
(cid:122) D
i t
d d
t d
ib
i t
de un observador externo.
é h
l
l
(cid:122) Actores: ¿quién interactúa con el sistema?. También
pueden ser otros sistemas.
p
(cid:122) Un escenario es un ejemplo de lo que ocurre cuando
i
uno o varios actores interactúan con el sistema.
ú
i
l
i
(cid:122) C
d
(cid:122) Caso de uso: conjunto de escenarios (secuencias de
i
interacción de los actores y el sistema)
t d
d
(
i
j
16
Casos de uso
Casos de uso
(cid:122) Pasos:
(cid:123) Identificar los límites (alcance) del sistema.
(cid:123) Identificar los actores principales.
(cid:123) Para cada uno, identificar sus objetivos.
(cid:123) Definir casos de uso que satisfagan sus objetivos.
17
Casos de Uso: Ejemplo
Casos de Uso: Ejemplo
CASO DE USO 1: Procesar venta
CASO DE USO 1: Procesar venta
Actor Primario:
(cid:123) C j
(cid:123) Cajero.
Interesados y objetivos:
(cid:123) Cajero: Quiere anotaciones precisas y rápidas de precios, sin errores.
(cid:123) Cli
Q i
(cid:123) Cliente: Quiere que el pago sea rápido con el mínimo esfuerzo. Quiere
í
una prueba de compra para justificar devoluciones.
t Q i
á id
f
l
l
i
(cid:123) Compañía: Quieren almacenar
intereses de los clientes.
intereses de los clientes.
las transacciones y satisfacer
los
(cid:123) Comercial: Quiere que se le actualicen sus comisiones por venta.
(cid:123) Agencias de impuestos gubernamentales: Quieren recolectar impuestos
de cada venta. Puede que haya varias agencias (nacionales, regionales,
t
)etc.)
(cid:123) Servicios de Autorización de Pagos (por tarjetas de crédito): Quiere
recibir peticiones digitales de autorizaciones en el formato y protocolo
correcto.
Precondiciones:
(cid:123) El cajero se ha identificado y autentificado.
1818
Casos de Uso: Ejemplo
Casos de Uso: Ejemplo
Garantía de éxito (Postcondiciones):
Garantía de éxito (Postcondiciones):
Se registra la compra en el sistema. Se calcula el impuesto aplicable. Se actualizan los sistemas de
inventario y de contabilidad. Se registran las comisiones. Se genera un recibo. Se registran las
aprobaciones de pago por tarjeta.
Escenario principal de Exito:
Escenario principal de Exito:
1. Llega un clienta al TPV con bienes o servicios que comprar.
2. El cajero comienza una nueva compra.
3. El cajero introduce un identificador de producto.
4 El
d
4. El sistema registra el elemento y presenta una descripción del mismo, su precio y
total actual. Se calcula el precio de una lista de reglas.
ió d l
i t
i t
t
t
i
l
l
i
i
El cajero repite los pasos 3-4 hasta que no hay más elementos.
p
q
p
y
j
5. El sistema presenta el total con los impuestos calculados.
6. El cajero le dice el total al cliente, y le pide que pague.
7 El cliente paga y el sistema procesa el pago
7. El cliente paga y el sistema procesa el
Comentarios de: Introducción al Análisis y Diseño Orientado a Objetos (0)
No hay comentarios