of 56
Anlisis y Diseo Orientado a ObjetosLuis Castellanos
ADOOIntroduccin Ingeniera de Informacin Anlisis Orientado a Objetos
Contenido
Anlisis de Estructura de Objetos Anlisis de Comportamiento de Objetos
Diseo Orientado a ObjetosDiseo de Estructura de Objetos Diseo de Comportamiento de Objetos
Bibliografa
Luis Castellanos
2
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 deAnlisis de la Estructura de Objetos Anlisis del Comportamiento de ObjetosLuis Castellanos 4
ADOO
Introduccin
Analoga entre Modelo Tradicional y OOAnlisis Diseo DFD Tablas de estructura Diagramas de Accin Anlisis Diseo Modelo de Objetos Declaracin de Objetos Manejo de ObjetosLuis 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 asociacionesTipos 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 Datos6
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 cdigo7
Luis Castellanos
Ingeniera de Informacin
ADOO
Ingeniera de Informacin
Ingeniera de InformacinAbarca 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
9
ADOO
Ingeniera de Informacin
Ingeniera de InformacinPlaneacin 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 OOAnlisis 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
AOOAnlisis 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 EsposaLuis Castellanos
Empleado Madre
14
AOOTomemos 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 alumnoMama de mi alumno Empleadora EsposaLuis Castellanos
Empleado
IsabelMadre
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
AOODiagramas 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 CompuestoLuis Castellanos 20
AOODiagrama de Relacin entre ObjetosClienteordena ordenado por
AEO
Producto
Pedidocontiene
Un pedido es ordenado por un solo cliente Un cliente ordena desde 0 hasta n pedidosLuis Castellanos
Elementos del Rengln
Un pedido contiene desde 1 hasta n artculos21
AOODiagrama CompuestoUnidad de Lnea de Iluminacin
AEO
Fuente
Pantalla de la Lmpara
smbolos de composicin
Porta-lmparaLuis Castellanos
Lmpara22
AOOEsquema 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 ObjetosEn 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
AOOEn 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
AOOSolicitada 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 pagadaLuis Castellanos 26
AOOEstado (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 ocurranoperacin eventosLuis Castellanos
aumenta contenido de estante almacenar pieza en estante proceso de almacenamiento en inventario terminado30
AOOCiclo 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 ReservacinNula Solicitada Lista de espera Denegada Confirmada Modificada Cumplida Cancelada ArchivadaLuis 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 objetosSolicitud: 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 objetosLuis 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 chequeevento externo evento reloj externoLuis 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 operacinoperacincondicin de controlLuis Castellanos
tipo de evento35
AOOLos eventos tambin supertipos y subtipos. pueden
ACOtener
revisar tareatarea 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
AOOEsquema de descomposicin jerrquicatipo 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
AOOAdquirir 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
DOOEl DOO consta deDiseo 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 variantesLuis Castellanos 43
DOOClaseEs la implantacin de un tipo de objeto. Especifica la estructura de datos y mtodos operativos permitidos para cada objeto.
OperacinProceso que se puede solicitar como unidad (tipo de servicio solicitado)
MtodoEs la especificacin de cmo se llevan a cabo las funciones de una clase. (cdigo de programacin)Luis Castellanos 44
DOOLos 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
DOOClaseEspecificacin 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 datosLuis Castellanos
Operaciones permisibles que dan acceso a la modificacin de datos del objeto46
DOOCUENTA 1 2 3 1 2
abc xy
74,3 cfx4
abc xy
74,3 cfx4
(por herencia) 1 3 2
4 5
6
abc xy
74,3 cfx4
Cuenta de Cliente vencida (las clases cuenta van heredando los mtodos)
Cuenta de ClienteLuis Castellanos
4
47
DOO1 CUENTA 1abc xy 74,3 cfx4
Cuenta de Cliente74,3 cfx4
3
abc xy
2 1 3abc xy 74,3 cfx4
2
4 (por herencia) 1abc xy 74,3 cfx4
2
(por herencia)
4 5
6
2
Cuenta de Cliente vencida Cuenta vencida
5Luis Castellanos
48
DOOHerencia de claseEs 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 estructuraLuis Castellanos 49
DOOHerencia MltipleUna clase puede heredar estructuras de datos y operaciones de ms de una superclase.
Seleccin del MtodoCuando 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
DOOPolimorfismoAunque 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
DOOpagar salario contratar establecer nivel gastos ascender
Empleado puesto
Ejecutivo Herencia periodo contratacin
nmina
solicitud de exencin extensin tlf salario cambiarjubilar
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
DOOpagar salario contratar establecer nivel gastos ascender
Empleado puesto
Ejecutivo Herencia periodo contratacin
nmina
solicitud de exencin extensin tlf salario cambiarjubilar
extensin
actualizar nmina
autorizacin gastos empleados que le reportan
jubilar
Luis Castellanos
53
DOOReutilizacinSe 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
ADOOBibliografa: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