PDF de programación - Introducción al Análisis y Diseño Orientado a Objetos

Imágen de pdf Introducción al Análisis y Diseño Orientado a Objetos

Introducción al Análisis y Diseño Orientado a Objetosgráfica de visualizaciones

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



(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
  • Links de descarga
http://lwp-l.com/pdf9170

Comentarios de: Introducción al Análisis y Diseño Orientado a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad