You are on page 1of 12

Modelamiento Orientado a Objetos

Introduccin. Modelo Conceptual. Modelo de Objetos. Modelo Dinmico. Modelo Funcional. Relacin entre Modelos.

Introduccin.
A que nos referimos con modelo: Modelo: abstraccin de algo, con el propsito de comprenderlo antes de construirlo. Modelos y abstraccin. Un modelo sirve para: Verificar una entidad fsica antes de su construccin. Comunicarnos con otros usuarios. Visualizar. Disminuir la complejidad. Abstraccin: examen selectivo de ciertos aspectos del problema, eliminando los aspectos que no son importantes. La abstraccin debe servir para un propsito que nos determina lo que no es importante, delimitando nuestro universo. Es posible obtener mltiples abstracciones de la misma cosa. Todas las abstracciones son incompletas e inadecuadas. Un buen modelo captura los aspectos cruciales del problema y omite el resto. El modelo conceptual debe ser abstracto para facilitar la captacin y modelado de aspectos del problema de una forma lo ms cercana posible a los conceptos del dominio del problema. Entre las ventajas ms destacables del paradigma objetual en este contexto cabe sealar las siguientes: La encapsulacin bajo el concepto de objeto incluyendo las perspectivas esttica y dinmica del sistema estudiado. La desaparicin de barreras estrictas entre las distintas fases del ciclo de vida o proceso de

produccin de software. La proximidad de sus nociones a los mecanismos cognitivos humanos reduciendo as la distancia entre el problema y su solucin. Por lo anterior, creemos que la orientacin a objetos es un enfoque apropiado para el modelado de requisitos de sistemas de informacin. Por otra parte, el modelo conceptual debe ser declarativo de manera que permita postergar decisiones de implementacin. Esta caracterstica nos separara de lo que denominamos enfoques orientados a objetos clsicos, en los que la especificacin es principalmente imperativa y se limita en general a la estructura de los objetos y los perfiles de las operaciones.

Modelo Conceptual.
En la fase de Modelizacin Conceptual se construyen tres modelos del sistema: Modelo de Objetos. Modelo Dinmico. Modelo Funcional. Estos tres modelos describen la sociedad de objetos desde tres puntos de vista complementarios.

Modelo de Objetos.
El Modelo de Objetos utiliza un Diagrama de Configuracin de Clases (DCC) para definir y mostrar la estructura y comportamiento de todas las clases identificadas en el dominio del problema, as como sus relaciones. El DCC es un modelo semntico extendido.

Una clase se representa grficamente como una caja dividida en tres reas: Cabecera: contiene la declaracin del nombre de la clase. Parte Esttica: contiene la definicin de los atributos que representan el estado de los objetos de la clase. Los atributos podrn ser constantes, variables y derivados. Aquellos atributos utilizados para identificar objetos se subrayan. Parte Dinmica: contiene la declaracin de los servicios de la clase. Cada servicio se declara especificando su nombre y argumentos (con sus tipos respectivos). Se distinguir (grficamente) entre los eventos de creacin, borrado y los eventos compartidos con otras clases. Ejemplo de Clase.

Las acciones son servicios que un objeto puede activar (actuando como agente) para consultar o modificar el estado de otro objeto. Las relaciones estructurales que podemos modelar son la agregacin (parte-de) y la herencia (es- un). Se presenta la relacin de Agregacin entre clases, incluyendo informacin sobre cardinalidades (mnimas y mximas) que determinan cuntos objetos componentes forman parte de un objeto compuesto e inversamente, cuntos objetos compuestos pueden estar compuestos de un objeto en particular. Ejemplo de Agregacin.

La Herencia se define grficamente trazando una flecha desde la subclase hacia la superclase correspondiente. Esta flecha de especializacin puede etiquetarse con una condicin de especializacin o con los eventos correspondientes de activacin/cancelacin de la especializacin temporal (rol). En el modelo de objetos, una clase estar completamente definida por un conjunto de frmulas que cubren el resto de propiedades, como son las: Ejemplo de Herencia.

Modelo Dinmico.
En el Modelo Dinmico se representan aspectos relacionados con las secuencias posibles de eventos (vidas posibles) y la interaccin entre objetos. Para representar estos aspectos, tenemos dos tipos de diagramas: Diagrama de Transicin de Estados (DTE) Diagrama de Interaccin de Objetos (DIO) Caractersticas: Describe los aspectos del sistema que tienen que ver con el tiempo y la secuencia de las operaciones: Sucesos (eventos). Estados. Acciones. Captura el control del sistema. Se representa grficamente mediante diagrama de estados. Diagramas de Transicin de Estados. Los DTE se utilizan para describir el comportamiento de los objetos estableciendo las sus vidas posibles. Una vida vlida de un objeto, es una secuencia de eventos que caracteriza un comportamiento correcto para todos los objetos de la clase. En este contexto, los estados del DTE denotan situaciones en las que pueden encontrarse los objetos durante su existencia como consecuencia de la ocurrencia de eventos relevantes. Las transiciones representan cambios de estado permitidos que pueden restringirse introduciendo condiciones. La especificacin de una transicin posee la sintaxis siguiente: evento | accin | transaccin [if precondicin] [when condicin-de-control ] Una precondicin es una condicin definida sobre atributos del objeto que debe satisfacerse en el estado de partida para que el servicio pueda ocurrir. Una condicin- de- control es una condicin que sirve para evitar el posible no- determinismo entre dos o ms transiciones que partiendo del mismo estado van a estados diferentes, estando etiquetadas con la misma accin. Notacin de Elementos:

Diagrama de Interaccin de Objetos La interaccin entre objetos se modela grficamente mediante un Diagrama de Interaccin entre Objetos (DIO). En el DIO podemos especificar dos interacciones bsicas: Disparos: son servicios de una clase que se activan de forma automtica cuando se satisface una condicin en un objeto dicha clase.

Interacciones Globales: son transacciones compuestas por servicios de clases diferentes. Los disparos se definirn dibujando una flecha que vaya de la cabecera de una clase a la

accin disparada y etiquetada con la condicin de disparo. Las interacciones globales se introducen conectando los servicios que componen la interaccin y nominndola mediante un identificador de interaccin global comn (idIG). Ejemplo de DIO.

Para conocer ms sobre Modelo Dinmico haga click aqu

Modelo Funcional.
El propsito del Modelo Funcional es capturar la semntica asociada a los cambios de estado de forma fcil e intuitiva. En este modelo especificaremos mediante un dilogo interactivo el efecto de un evento sobre los atributos. El valor de cada atributo se modificar dependiendo de la accin ocurrida, de los argumentos del evento y del estado actual del objeto. Caractersticas: Describe los aspectos que tienen que ver con la transformacin de los valores: Funciones. Correspondencias. Restricciones. Dependencias funcionales. Captura lo que hace el sistema, sin preocuparse del como ni del cuando. Se representa mediante diagramas de flujo de datos. El Mtodo Orientado a Objetos proporciona un modelo mediante el cual el analista slo tiene que categorizar cada atributo de entre un conjunto predefinido de tres categoras no disjuntas. Estas categoras determinan qu informacin se necesita para determinar cmo cambia el valor del atributo ante la ocurrencia de determinados eventos. Las tres categoras de atributos son: Cardinales. Independientes del estado.

De situacin. Cardinales: sus eventos relevantes incrementan o decrementan su valor en una determinada cantidad. Categora: cardinal Tipo Accin Incremento Decremento Clase: coche Accin USR:alquilar(...) USR:devolver(...) Atributo: alquileres Efecto +1 -1 cantCond. Evaluacin

Independientes de estado: tienen un valor que slo depende de la ltima accin ocurrida. Una vez ha ocurrido una accin relevante el nuevo valor del atributo es independiente del valor que tena antes. Categora: estado Accin USR: devolver(..., lugar, ...) USR: cambiar_de_base(lugar) USR: reparar(...) Clase: coche Efecto = lugar = lugar = "taller:" + "nombre-taller" Atributo: ubicacin Cond. Evaluacin

De situacin: mediante la activacin de una accin portadora se le asigna al atributo un valor de un dominio discreto. Categora: situacin Accin USR: alquilar(...) USR: devolver(...) Clase: cliente Efecto = "con-coche" = "sin-coche" Atributo: status Cond. Evaluacin Status <> "con-coche" nro-coches >= 2

La informacin que se obtiene al finalizar la construccin de los tres modelos constituye la especificacin del sistema. Para conocer ms sobre Modelo Funcional haga click aqu

Relacin entre Modelos.


Cada modelo describe un aspecto del sistema manteniendo referencias al resto de los modelos. El Modelo de Objetos define las estructuras de datos sobre las que actuarn el Modelo Dinmico y el Modelo Funcional. Los sucesos sern las operaciones de los objetos definidas en el Modelo de Objetos. Puede existir una eventual ambigedad acerca de qu modelo debe contener ciertos elementos de informacin. Puede ocurrir que ciertas propiedades del sistema no queden bien expresadas por ningn modelo, en cuyo caso el lenguaje natural ser la mejor alternativa.

Modelo de Ejecucin.

Una vez especificado el sistema, un Modelo de Ejecucin establece: 1.una representacin del modelo conceptual en un entorno de desarrollo, atendiendo aspectos estticos y dinmicos (estrategia de generacin de cdigo). 2.una estrategia de ejecucin. Estrategia de generacin de cdigo. Esta estrategia es un patrn genrico que define los componentes software a utilizar para implementar en un entorno de desarrollo las propiedades del sistema utilizando una arquitectura lgica de tres niveles (three-tier): Nivel de interfaz: en este nivel se sitan los componentes que implementan la interaccin con los usuarios finales, mostrando una representacin visual de los datos y los servicios que ofrecen los objetos del sistema. Nivel de aplicacin: en este nivel se sitan los componentes que implementan de forma completa el comportamiento de las clases especificadas en la fase de modelado conceptual. Nivel de persistencia: en este nivel se sitan los componentes que proporcionan los servicios necesarios para dar persistencia a los objetos del nivel de aplicacin. La persistencia de los objetos actualmente se realiza recurriendo a un sistema gestor de bases de datos relacional (SGBDR). Estrategia de ejecucin. Para animar el sistema especificado, se define una estrategia de ejecucin e interaccin. Esta estrategia es cercana a las tcnicas de realidad virtual, en el sentido de que un objeto activo se introduce en la sociedad de objetos como miembro de ella e interacta con los dems enviando y recibiendo mensajes. Para iniciar una sesin de ejecucin, los pasos a seguir son: 1.Identificacin del usuario (control de acceso): consiste en la conexin del usuario al sistema. Una vez conectado se le proporciona una visin clara de la sociedad de objetos (ofrecindole qu clases de objetos puede ver, los servicios que puede activar y los atributos que puede consultar). 2.Activacin de servicios: el usuario podr activar cualquier servicio (evento o transaccin) disponible en su visin de la sociedad. Adems, podr realizar observaciones del sistema (object queries). Las clases que implementan las tareas de control de acceso y construccin de la vista del sistema (clases y servicios visibles) se implementarn en el nivel de interfaz. La informacin necesaria para configurar la vista del sistema est incluida en la especificacin del sistema (relaciones de agente) obtenida en la fase de modelado conceptual. Cualquier activacin de un servicio tiene dos partes: la construccin del mensaje y la ejecucin (s es posible). 1.Identificacin del objeto servidor: si el objeto existe el nivel de persistencia se encargar de recuperar el objeto servidor de la base de datos y si es un evento de creacin reservar espacio para su almacenamiento. 2.Introducir los argumentos necesarios para la ejecucin del evento: el nivel de interfaz preguntar por los argumentos del evento que va a activarse (s es necesario). Una vez el mensaje se ha enviado, se identifica el objeto servidor (la existencia del objeto servidor es una condicin implcita para ejecutar cualquier evento, excepto si se trata del

evento creacin) y se procede a seguir una secuencia de acciones sobre dicho objeto: 1.Transicin vlida de estado: se verifica en el diagrama de transicin de estados que exista una transicin vlida (desde el estado actual a un nuevo estado) para el servicio seleccionado. 2.Satisfaccin de precondicin: se comprueba que se cumpla la precondicin asociada al servicio en ejecucin (s existe). Si no se cumplen 1 y 2 se elevar una excepcin informando que el servicio no puede ejecutarse. 3.Evaluaciones: se modifican los valores de los atributos afectados por la ocurrencia del servicio (como fuera especificado en el modelo funcional). 4.Comprobacin de las restricciones de integridad: las evaluaciones del servicio deben dejar al objeto en un estado vlido. Se comprueba que no se violan las restricciones de integridad (estticas y dinmicas). Si alguna de ellas se viola, se generar una excepcin y el cambio de estado producido se ignorar. 5.Comprobacin de las relaciones de disparo: despus de un cambio de estado vlido, y como accin final, se debe verificar el conjunto de reglas condicin- accin que representa la actividad interna del sistema. Si alguna de ellas se cumple, se activar el servicio correspondiente. Una vez finalizadas con xito las acciones precedentes, los componentes de la capa de persistencia se encargan de actualizar (UPDATE) la BDR correspondiente. Los pasos anteriores guiarn la implementacin de cualquier aplicacin para asegurar la equivalencia funcional entre la descripcin del sistema, recogida en el modelo conceptual, y su realizacin en un entorno de programacin de acuerdo con el modelo de ejecucin.

Lo Que Puede Llamarse Ciclo De Vida.


Una metodologa de Ingeniera del Software es un proceso de produccin organizada de software, utilizando una coleccin predefinida de tcnicas y notaciones. Normalmente se presenta como una serie de fases o pasos: Formulacin inicial del problema Anlisis Diseo Implementacin Pruebas Mantenimiento OMT no cubre las fases de prueba y mantenimiento. Anlisis. Escribir y obtener una descripcin inicial del problema (Definicin del Problema).

Construir un Modelo de Objetos: Identificar las clases. Comenzar el diccionario de datos con la descripcin de las clases, sus atributos y operaciones. Aadir las asociaciones entre las clases. Aadir los atributos a las clases y a las asociaciones. Organizar y simplificar las clases utilizando la herencia. Verificar los caminos de acceso utilizando guiones e iterando los pasos anteriores. Agrupar las clases en mdulos, basados en el acoplamiento y funciones relacionadas. Modelo de Objetos = diagrama del Modelo de Objetos + Diccionario de Datos Desarrollar un Modelo Dinmico: Preparar guiones de las secuencias de interaccin ms frecuentes. Identificar sucesos entre objetos y preparar una traza de sucesos por cada guin. Preparar un Diagrama de Flujo de Sucesos para el sistema completo. Desarrollar un Diagrama de Estados por cada clase que tenga un comportamiento dinmico significativo. Comprobar la consistencia y complexin de los sucesos compartidos entre los diagramas de estado. Modelo Dinmico = Diagramas de Estado + Diagrama de Flujo de Sucesos Global Construir un Modelo Funcional: Identificar valores de entrada y salida. Utilizar diagramas de Flujo de Datos para mostrar las dependencias funcionales. Describir lo que hace cada funcin. Identificar las restricciones. Especificar los criterios de optimizacin. Modelo Funcional = diagramas de Flujo de Datos + Restricciones. Verificar, iterar y refinar los tres modelos: Aadir operaciones clave descubiertas en la preparacin del Modelo Funcional. Verificar las clases, atributos, operaciones y asociaciones son consistentes y completas al

nivel de abstraccin elegido. Desarrollar guiones ms detallados (Qu pasara- s). Iterar los pasos anteriores, segn sea, necesario para completar el anlisis. Documento del Anlisis = Definicin del Problema + Modelo de Objetos + Modelo Dinmico + Modelo Funcional.

Autor: Lic. Maria de los Angeles Ferraro.

You might also like