Modelamiento Orientado A Objetos
Modelamiento Orientado A Objetos
Modelamiento Orientado A Objetos
La distancia entre el espacio del problema (Universo de Discurso) y el espacio de la solucin (producto software) hace necesario que la especificacin de requisitos del sistema, resultante del proceso de modelado conceptual, tenga dos importantes propiedades: debe ser abstracta y declarativa. A que nos referimos con modelo: Modelo: abstraccin de algo, con el comprenderlo antes de construirlo. Modelos y abstraccin. propsito de
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.
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. La orientacin a objetos es un enfoque apropiado para el modelado de requisitos de sistemas de informacin.
Modelo Conceptual
En la fase de Modelizacin Conceptual se construyen tres modelos del sistema: Modelo de Objetos. Modelo Dinmico. Modelo Funcional.
Modelo de Objetos
Una clase se representa grficamente como una caja dividida en tres reas:
Ejemplo de clase
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).
Restricciones de Integridad:
Establecen condiciones que el estado de los objetos debe satisfacer siempre (estticas) o durante un determinado perodo de su existencia (dinmicas).
Derivaciones: Sirven para calcular el valor de los atributos derivados. Dicho valor se determinar en funcin de otros que ya fueron definidos.
Caractersticas
Describe la estructura ele los objetos en un sistema (identidad, relaciones con otros objetos, atributos y operaciones). Marco en el que podemos ubicar los Modelos Dinmico y Funcional. Los objetos son las unidades en las que dividiremos el mundo y que sern las molculas de los distintos modelos. Se representa de forma grfica mediante diagramas de objetos que contendrn clases de objetos. Las clases se disponen en jerarquas que comparten estructura y comportamientos comunes, y que estn asociadas con otras clases.
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)
Caractersticas
El 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.
Notacin de Elementos
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.
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.
Cardinales:
Sus eventos relevantes incrementan o decrementan su valor en una determinada cantidad.
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:" taller" + "nombreAtributo: ubicacin Cond. Evaluacin
De situacin:
Mediante la activacin de una accin portadora se le asigna al atributo un valor de un dominio discreto.
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.
3 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:
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).
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:
2. Satisfaccin de precondicin:
Se comprueba que se cumpla la precondicin asociada al servicio en ejecucin (s existe).
3. Evaluaciones:
Se modifican los valores de los atributos afectados por la ocurrencia del servicio (como fuera especificado en el modelo funcional).
Despus de un cambio de estado vlido, y como accin final, se debe verificar el conjunto de reglas condicinaccin 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.
3) Diseo
4) Implementacin 5) Pruebas 6) 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 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.