Análisis y Diseño Orientado A Objetos
Análisis y Diseño Orientado A Objetos
Análisis y Diseño Orientado A Objetos
Luis Castellanos
ADOO
Introduccin Ingeniera de Informacin Anlisis Orientado a Objetos
Contenido
Bibliografa
Luis Castellanos
Introduccin
ADOO
Introduccin
En Anlisis de Sistemas tradicional, modelamos en base a la realidad. En AOO modelamos en trminos de tipos de objetos y que le ocurre a stos. Se hace un uso intensivo de herramientas CASE para generar cdigo El AOO consta de
Anlisis de la Estructura de Objetos Anlisis del Comportamiento de Objetos
Luis Castellanos 4
ADOO
Introduccin
ADT
ADOO
Programacin
ADOO
Introduccin
AEO
DEO
Luis Castellanos
ADOO
Introduccin
ACO
Diagramas de Flujo de Objetos Esquemas de eventos Diagramas de funcionamiento que muestran funciones y su secuencia Estados de objetos y sus cambios en los estados Reglas de activacin que ligan causa y efecto
DCO
Mtodos y funciones Lgica de procedimientos Diseo de Pantallas Fabricacin de prototipos Entradas para generadores de cdigo
7
Luis Castellanos
Ingeniera de Informacin
ADOO
Ingeniera de Informacin
Ingeniera de Informacin
Abarca la creacin de modelos empresariales y la construccin de sistemas relacionados con dichos modelos. La I.I. tradicional modela entes. La I.I.O.O. modela objetos.
Luis Castellanos
ADOO
Ingeniera de Informacin
Ingeniera de Informacin
Planeacin de estrategias de informacin Anlisis de las reas de la empresa Diseo del Sistema
Construccin
Luis Castellanos
10
ADOO
Ingeniera de Informacin
Ingeniera de Informacin OO
Anlisis Anlisis Modelo general de la empresa Modelo de un rea de la empresa Modelo de un Sistema
Diseo
Diseo
Anlisis de Estructura de Objetos (AEO) Anlisis del Comportamiento de Objetos (ACO) Diseo de Estructura de Objetos (DEO) Diseo del Comportamiento de Objetos (DCO)
Luis Castellanos
11
AOO
Anlisis de la Estructura de Objetos
AEO
Define las categoras de los objetos que percibimos y las formas en que las asociamos. Identifica:
Cules son los tipos de objetos y cmo se asocian Cmo se organizan los tipos en supertipos y subtipos Cul es la composicin de los objetos complejos.
Luis Castellanos
13
AOO
AEO
Durante el AEO se identifican los tipos de objetos o categoras de objetos. Los tipos de objetos crean los bloques conceptuales de construccin para el diseo de sistemas. Un objeto se puede categorizar en ms de una forma. Consideremos los tipos:
Mama de mi alumno Empleadora Esposa
Luis Castellanos
Empleado Madre
14
AOO
Tomemos un objeto llamado Isabel.
AEO
Su jefe la ve como Empleada Su hijo la ve como Madre Su cnyuge la ve como Esposa El jardinero la ve como Empleadora La maestra la ve como Mama de mi alumno
Mama de mi alumno Empleadora Esposa
Luis Castellanos
Empleado
Isabel
Madre
15
AOO
AEO
Tambin es importante modelar las asociaciones entre los objetos. Tomemos dos tipos de objetos: universidades y estudiantes.
Universidades LUZ UJGH UNEFA URU Estudiantes Jaime Laura Priscila Pedro
Luis Castellanos
16
AOO
AEO
Vendedor Gerente
Persona tiene dos subtipos: Empleado y Estudiante. Estudiante tiene un supertipo: Persona
AOO
AEO
Luis Castellanos
18
AOO
AEO
Algunos tipos de objetos se consideran complejos, cuando estn formados por otros objetos.
Chasis Carro Motor Cauchos Vlvulas Pistones Anillo Biela Cabeza
Luis Castellanos
19
AOO
Diagramas de Relacin entre Objetos
AEO
Los tipos de objetos estn relacionados con otros tipos de objetos. Los Diagramas de Relacin entre Objetos (DRO) son iguales a los Diagramas de Entidad Relacin usados en las Metodologas Tradicionales. La comprensin de un modelo se hace ms fcil si:
los tipos de objetos y sus relaciones se representan mediante un DRO los supertipos y subtipos se representan en un Diagrama de Jerarquizacin (o de Jerarqua de Generalizacin) las estructuras compuestas se representan en un Diagrama Compuesto
Luis Castellanos 20
AOO
Diagrama de Relacin entre Objetos
Cliente
ordena ordenado por
AEO
Producto
Pedido
contiene
Un pedido es ordenado por un solo cliente Un cliente ordena desde 0 hasta n pedidos
Luis Castellanos
AOO
Diagrama Compuesto
Unidad de Lnea de Iluminacin
AEO
Fuente
Pantalla de la Lmpara
smbolos de composicin
Porta-lmpara
Luis Castellanos
Lmpara
22
AOO
Esquema de Objetos
AEO
Luis Castellanos
23
AOO
ACO
AOO
En el ACO se identifica:
ACO
En qu Estados puede estar un Objeto. Qu transiciones de estados se pueden dar. Qu eventos ocurren. Qu operaciones se llevan a cabo. Qu interacciones ocurren entre los objetos. Cules son las reglas de activacin que se usan para reaccionar ante el evento. Cmo se representan las operaciones en los mtodos.
Luis Castellanos
25
AOO
Solicitada En lista de espera Confirmada No liquidada Con pago de depsito Totalmente pagada Cancelada Satisfecha Archivada Reembolsada Para reembolso
ACO
Por ejemplo, un objeto Reservacin Area puede tener los siguientes estados:
AOO
Estado (de un objeto):
ACO
coleccin de los tipos de objeto que se aplican a l, o es la coleccin de asociaciones que tiene un objeto.
Las solicitudes se envan y provocan la activacin de los mtodos. Los mtodos cambian el estado del objeto. El estado se registra en los datos del objeto. Un evento es un cambio en el estado de un objeto.
Luis Castellanos 27
AOO
ACO
Reservaciones confirmadas
Luis Castellanos
28
AOO
ACO
Luis Castellanos
29
AOO
ACO
Los eventos pueden asociar un objeto con otro. Algunos eventos requieren que antes ocurran otros Algunas veces un evento puede ocasionar que ocurran otros eventos en cascada o en cadena. Una operacin hace que los eventos ocurran
operacin eventos
Luis Castellanos
aumenta contenido de estante almacenar pieza en estante proceso de almacenamiento en inventario terminado
30
AOO
Ciclo vital de un objeto
ACO
Es en el cual una sucesin de eventos pueden ocurrirle a un objeto, y cada uno de ellos modifica su estado.
Ciclo vital del objeto Reservacin
Nula Solicitada Lista de espera Denegada Confirmada Modificada Cumplida Cancelada Archivada
Luis Castellanos 31
AOO
ACO
Los diagramas de transicin de estado son tiles para expresar el ciclo vital de un objeto en particular. Sin embargo, la mayora de los procesos requieren la interaccin de varios objetos
Solicitud: Solicitud: Pagar el salario de este empleado Calcular deduccin de impuestos con este salario y sus exenciones
impuesto
empleado
cheque
clases de objetos
Luis Castellanos
32
AOO
ACO
El mtodo es la especificacin de cmo llevar a cabo una operacin. Las operaciones se invocan. Una operacin invocada es una instancia de una operacin. Una operacin puede o no cambiar el estado de un objeto.
Si lo cambiara, ocurrira un evento.
AOO
ACO
Cuando ocurre un evento, lo usual es que el cambio de estado active el llamado a una o ms operaciones. Las reglas de activacin definen la relacin entre la causa y el efecto.
operacin externa
Cheque solicitado
solicitar cheque
evento externo evento reloj externo
Luis Castellanos
cheque generado
34
AOO
ACO
Las operaciones pueden ser invocadas por una o ms reglas de activacin. Antes de invocarse la operacin, se verifica su condicin de control.
Si los resultados de evaluacin de la condicin son verdaderos, se invoca la operacin Si son falsos, no se invoca la operacin
tipo de evento
35
AOO
Los eventos tambin supertipos y subtipos. pueden
ACO
tener
revisar tarea
tarea revisada
Luis Castellanos
Las operaciones que hacen que ocurra un evento pueden ser complejas. Por ello se puede hacer un esquema de descomposicin jerrquica de los esquemas de eventos.
36
AOO
Esquema de descomposicin jerrquica
tipo de operacin tipo de evento
ACO
Luis Castellanos
37
AOO
ACO
Las operaciones activadas no saben qu evento las activ, ni por qu. Tampoco sabe si se activarn otras operaciones a partir de su evento. No reconoce su causa o efecto. Slo sabe que es invocada para producir un cambio de estado en un objeto dado. Ese aislamiento es necesario para que la operacin pueda volver a utilizarse en muchas otras aplicaciones.
Luis Castellanos 38
AOO
ACO
Luis Castellanos
39
AOO
ACO
entidad externa
flujo
Luis Castellanos
40
AOO
Adquirir materiales de produccin
ACO
clientes
Tarjetas circuitos
ensamblar computadoras
Computadoras ensambladas
producir diseos
diseo hardware
Luis Castellanos
41
DOO
El DOO consta de
Diseo de la Estructura de Objetos Diseo del Comportamiento de Objetos
En el DOO se identifican:
Qu clases se implantarn Qu estructura de datos usar cada clase Qu operaciones ofrecer cada clase y cules sern sus mtodos Cmo se implantar la herencia de clases Cules son las variantes
Luis Castellanos 43
DOO
Clase
Es la implantacin de un tipo de objeto. Especifica la estructura de datos y mtodos operativos permitidos para cada objeto.
Operacin
Proceso que se puede solicitar como unidad (tipo de servicio solicitado)
Mtodo
Es la especificacin de cmo se llevan a cabo las funciones de una clase. (cdigo de programacin)
Luis Castellanos 44
DOO
Los datos y operaciones que encapsula quedan especificados por su clase. Los datos se almacenan dentro de l y se tiene acceso a ellos y se modifica mediante operaciones permisibles. Esa restriccin se debe al encapsulado, que protege los datos del uso arbitrario o no pretendido. Los usuarios ven el comportamiento del objeto en trminos de las operaciones que se pueden aplicar a los objetos, y los resultados de tales operaciones (interfaz).
Luis Castellanos 45
DOO
Clase
Especificacin de estructura de datos para cada instancia de la clase
Objeto
abc xy
74,3 cfx4
abc xy
74,3 cfx4
DOO
CUENTA 1 2 3 1 2
abc xy
74,3 cfx4
abc xy
74,3 cfx4
(por herencia) 1 3 2
4 5
abc xy
74,3 cfx4
Cuenta de Cliente vencida (las clases cuenta van heredando los mtodos)
Cuenta de Cliente
Luis Castellanos
47
DOO
1 CUENTA 1
abc xy 74,3 cfx4
Cuenta de Cliente
74,3 cfx4
abc xy
2 1 3
abc xy 74,3 cfx4
4 (por herencia) 1
abc xy 74,3 cfx4
(por herencia)
4 5
5
Luis Castellanos
48
DOO
Herencia de clase
Es una implantacin de la generalizacin. Las propiedades de un tipo se aplican a sus subtipos. Hace que la estructura de datos y operaciones sean disponibles para su reutilizacin por las subclases. La herencia de las operaciones de una superclase permite que las clases compartan el cdigo La herencia de estructura de datos permite la reutilizacin de la estructura
Luis Castellanos 49
DOO
Herencia Mltiple
Una clase puede heredar estructuras de datos y operaciones de ms de una superclase.
DOO
Polimorfismo
Aunque los mtodos sean distintos, llevan a cabo el mismo propsito operativo. Se aplica a una operacin que adopta varias formas de implantacin, de acuerdo al objeto. Puede hacer una solicitud de una operacin sin conocer el mtodo que debe ser llamado. Esos detalles quedan ocultos para el usuario.
Luis Castellanos
51
DOO
pagar salario contratar establecer nivel gastos ascender
Empleado
puesto
Ejecutivo Herencia
periodo contratacin
nmina
extensin
actualizar nmina
jubilar
En caso que se requiera cambiar la extensin telefnica de un Ejecutivo, y si no se consigue el mtodo en el objeto Ejecutivo, se verifica si en su superclase existe. Si existe en la superclase, se puede usar.
Luis Castellanos 52
DOO
pagar salario contratar establecer nivel gastos ascender
Empleado
puesto
Ejecutivo Herencia
periodo contratacin
nmina
extensin
actualizar nmina
jubilar
Luis Castellanos
53
DOO
Reutilizacin
Se toma el cdigo existente y se adapta a la circunstancia. Permiten que se adapten las clases. Si se va a crear una clase, se debe pensar en cmo se usar en el futuro. Y se debe crear para que se pueda adaptar con facilidad a necesidades futuras. Igual que, excepto
Luis Castellanos 54
Referencias Bibliogrficas
ADOO
Bibliografa:
MARTIN, James & ODELL, James: Anlisis y Diseo Orientados a Objetos. Editorial Prentice Hall. Mxico.
Referencias en Internet:
Pgina Oficial de James Martin: http://www.jamesmartin.com/
Luis Castellanos
56