You are on page 1of 56

Anlisis y Diseo Orientado a Objetos

Luis Castellanos

ADOO
Introduccin Ingeniera de Informacin Anlisis Orientado a Objetos

Contenido

Anlisis de Estructura de Objetos Anlisis de Comportamiento de Objetos

Diseo Orientado a Objetos


Diseo de Estructura de Objetos Diseo de Comportamiento de Objetos

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

Analoga entre Modelo Tradicional y OO


Anlisis Diseo DFD Tablas de estructura Diagramas de Accin Anlisis Diseo Modelo de Objetos Declaracin de Objetos Manejo de Objetos
Luis Castellanos 5

Programacin Cobol Fortran C

ADT

Diagramas Descomposicin funcional

ADOO

Programacin

ADOO

Introduccin

Anlisis de la Estructura de Objetos:


Se ocupa de los tipos de objetos y de sus asociaciones
Tipos de objetos y asociaciones Diagramas de Generalizacin Diagramas de Relacin entre los objetos Diagramas de Componentes

AEO

Diseo de la Estructura de Objetos:


Se ocupa de las clases, mtodos y herencias

DEO

Clases, Superclases, subclases Herencia Estructura de datos Diseo de Base de Datos


6

Luis Castellanos

ADOO

Introduccin

Anlisis del Comportamiento de Objetos:

Se ocupa de lo que le sucede a los objetos con el paso del tiempo:

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

Diseo del Comportamiento de Objetos:

DCO

Se ocupa del diseo de mtodos

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

Anlisis Orientado a Objetos

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

Tambin se puede aplicar la Jerarquizacin con Tipos, Subtipos y Supertipos.


Persona Empleado Estudiante

Vendedor Gerente

Persona tiene dos subtipos: Empleado y Estudiante. Estudiante tiene un supertipo: Persona

Todas las propiedades de un Tipo, se aplican a los subtipos (Generalizacin).


Luis Castellanos 17

AOO

AEO

Todas las propiedades de un Tipo, se aplican a los subtipos (Generalizacin).


Base Lquido cido Solvente Acido Clorhdrico Acido Ntrico Producto 739 Producto 740 Producto 741

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

Elementos del Rengln

Un pedido contiene desde 1 hasta n artculos


21

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

Se logra al representar los diagramas mencionados en un solo diagrama o esquema.

Luis Castellanos

23

AOO

ACO

Anlisis de Comportamiento de Objetos


En el Anlisis de Comportamiento de Objetos (ACO) se realizan esquemas de eventos que muestran eventos, su secuencia y cmo los eventos cambian el estado de los objetos. El AEO y el ACO no son etapas separadas, sino que se llevan a cabo simultneamente para desarrollar modelos y diseos integrados.
Luis Castellanos 24

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:

Y en cuanto al Pago, puede ser:

Y podra estar en algn momento, en lista de espera y totalmente pagada


Luis Castellanos 26

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

El Objeto XY781 cambia su estado por un evento:

Reservaciones en lista de espera

Reservaciones confirmadas

Luis Castellanos

28

AOO

ACO

Los tipos de eventos indican los cambios sencillos en el estado de un objeto.


Un objeto se crea Un objeto se termina Un objeto se clasifica como una instancia de un tipo de objeto Un objeto se desclasifica como una instancia de un tipo de objeto Un objeto cambia de clasificacin El atributo de un objeto se cambia

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

Solicitud: Crear cheque de nmina con la informacin de este 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.

Operaciones externas al sistema tambin pueden cambiar el estado de un objeto.


Luis Castellanos 33

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

generar cheque fin de mes

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

Garantizan que un conjunto de eventos estn completos antes de una operacin


operacin
condicin de control
Luis Castellanos

tipo de evento
35

AOO
Los eventos tambin supertipos y subtipos. pueden

ACO
tener

revisar tarea
tarea revisada

tarea aceptada tarea rechazada

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

rebobinar cinta de cassette

cinta de cassette rebobinada

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

Diagramas de Flujos de Objetos (DFO)


Son parecidos a los DFD (Diagramas de Flujo de Datos) Ambos muestran las actividades que interactan con otras, pero:
en el DFD una interfaz transfiere datos en el DFO se indican los objetos que se producen y las actividades que los producen e intercambian.

Luis Castellanos

39

AOO

ACO

Diagramas de Flujos de Objetos (DFO)


actividades

producto (equivalente a repositorio)

entidad externa

flujo

Luis Castellanos

40

AOO
Adquirir materiales de produccin

ACO

Diagramas de Flujos de Objetos (DFO)


Materiales produccin

clientes

Producir tarjetas de circuitos

Tarjetas circuitos

ensamblar computadoras

Computadoras ensambladas

producir diseos

diseo hardware

Luis Castellanos

41

Diseo Orientado a Objetos

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

Datos almacenados en forma interna dentro del objeto

abc xy

74,3 cfx4

abc xy

74,3 cfx4

Operaciones permisibles que dan acceso a la modificacin de la estructura de datos


Luis Castellanos

Operaciones permisibles que dan acceso a la modificacin de datos del objeto


46

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

Cuenta de Cliente vencida Cuenta vencida

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.

Seleccin del Mtodo


Cuando se enva solicitud a un objeto, el software selecciona los mtodos a usar. El mtodo no se almacena en el objeto. Se asocia con la clase.

La herencia permite que una clase reutilice caractersticas de superclases.


Luis Castellanos 50

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

solicitud de exencin extensin tlf salario cambiar


jubilar

extensin

actualizar nmina

autorizacin gastos empleados que le reportan

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

solicitud de exencin extensin tlf salario cambiar


jubilar

extensin

actualizar nmina

autorizacin gastos empleados que le reportan

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

You might also like