Professional Documents
Culture Documents
Orientado a Objetos
1
Ciclo vital del software I
* Ciclo tradicional
Modelo en cascada
Anlisis (qu)
Diseo (cmo)
Codificacin (hacerlo)
Pruebas (funciona?)
Mantenimiento
2
Ciclo vital del software
II
* Ciclo evolutivo
Modelo en espiral
Definicin de un subsistema
(descomposicin funcional)
Construccin de un modelo (qu
clases se requieren)
Anlisis de clase(s)
Codificacin de clase(s)
Prueba de clase(s)
3
OOD es...
* Modular
* Efectos laterales mnimos
(encapsulamiento)
* Programacin por extensin
* Orientado a datos
* Explota la herencia (jerrquico)
* Reutilizacin de clases
* Fcil de modificar
4
Encapsulamiento I
* Desarrollador
Objetivo: crear clase con interfaz clara
y comprensible
Manera: ocultar detalles de
implementacin
Beneficios: cambio de
estructuras/algoritmos sin afectar
Coste: clases reutilizables ms caras a
corto plazo
5
Encapsulamiento II
6
Descomposicin
funcional
7
OOD
8
Ventajas de OOD
9
Inconvenientes de OOD
10
Definicin de una clase
11
Identificacin de
atributos
12
Definicin de atributos
* Tipos de atributos
Atmicos predefinidos (entero, real,
carcter, pixel...)
Atmico enumerativo (color, da de la
semana...)
Coleccin
Composicin (referencias objetos)
* Valor del atributo
Comn a muchos objetos (variable de
clase)
Propio de un objeto (variable de objeto)
13
Identificacin de
mtodos
* Tipos de mtodos
Modificador (asigna valor a un atributo)
Selector (devuelve el valor de un
atributo)
Aplicable a la clase (constructor)
Aplicable al objeto
* Parmetros del mtodo
Qu informacin necesita?
(argumentos de entrada)
Qu debe devolver? (resultado y
argumentos de salida)
15
Identificacin de los
errores
16
Metodologas de
Anlisis y Diseo
(OOA/OOD)
Ms extendidos a principios de los
90 (flecha vertical)
Booch (OOAD) Jacobson (OOSE)
Coad-Yourdon- Martin-Odell
Nicola (OOA,OOD) (OOIE)
NE University TASKON
(Demeter) (OORAM)
Object Engin. Winter (OSMOSYS)
(Fresco) Rumbaugh (OMT)
Hewlett-Packard LBMS (SE/OT)
(Fusion) Shlaer/Mellor
Graham (SOMA) (OOSA)
Texas Instruments CCTA (SSADM)
(IE\O) Wirfs-Brock (RDD)
ICL (MTD) Lloyds Register
ParcPlace (OBA) (Z++)
17
Metodologas de Anlisis y
Diseo (OOA/OOD)
* Booch (OOAD)
* Rumbaugh (OMT)
* Jacobson (OOSE)
* UML (Unified Modelling Language)
Lenguaje visual
Unin de los tres anteriores
Estndar internacional (OMG)
Versin actual: 2.0
* UP (Unified Process)
Metodologa de diseo iterativo
Basada en casos de uso
Incorpora UML de forma natural
18
OOAD (Booch)
Tipos de relaciones
* Herencia o Generalizacin
* Agregacin o Composicin
* Asociacin
* Metaclase
* Instanciacin (plantillas)
* Cliente-Servidor (acceso)
19
OOAD (Grady Booch)
Tipos de clases
* Clases ordinarias
* Metaclases
* Categoras de clases
* Clases parametrizadas (plantillas)
* Clases instanciadas (plantillas)
* Utilidades de clase: subprogramas
libres y clases estticas
20
Partes de UML
* Vistas
Conjunto de diagramas
* Diagramas
9 tipos de grafos
Combinan los elementos del modelo
* Elementos del modelo
Clases, objetos, mensajes, relaciones
* Mecanismos generales
Comentarios, informacin, semntica,
extensiones y adaptaciones
21
VISTAS
22
Las Vistas en UML
lgica
Casos
uso
conc
comp
despliegue
23
Vista de Casos de Uso
24
Vista Lgica
25
Vista Lgica
* Se plasma en diagramas
Estticos
de Clases
de Objetos
Dinmicos
de Estado
de Secuencia
de Colaboracin
de Actividad
26
Vista de Componentes
27
Vista de Concurrencia
28
Vista de Despliegue
29
Tipos de Diagramas
* De Casos de Uso
* Estticos
de Clases
de Objetos
* Dinmicos
de Estado
de Secuencia
de Colaboracin
de Actividad
* De Componentes
* De Despliegue (deployment)
30