Lugar para compartir información interesante con mis amigos.

Monday, May 30, 2005

Objetos

Los Objetos surgen como elemento estructurador alternativo a las funciones y estructuras de datos. La arquitectura resultante está guiada por el modelo de negocio de la organización para la cual se está construyendo el sistema.


A. Problema que resuelve

Se busca modelar el sistema en términos de entidades que se abstraen del mundo real, buscando así que el sistema se parezca mas al mundo del problema que se está solucionando. Igualmente, se pretende tener una manera clara y consistente de modelar el sistema durante las distintas fases de su construcción, característica de la cual carecía el Análisis y Diseño Estructurado.

B. Estrategia general

Diseñar la arquitectura basados en las entidades del mundo real que son significativas para el dominio de la aplicación, teniendo en cuenta que éstas tienen comportamiento, estados y que interactúan entre sí.

C. Ventajas

Utilizando los objetos como elementos estructuradores de la arquitectura presenta las siguientes ventajas:
· Un alto grado de mantenibilidad ya que se presenta un mapeo simplificado a objetos del mundo real, lo cual disminuye el esfuerzo de análisis y la complejidad en el diseño del sistema, además de que facilita la verificación por parte del usuario.
· Se gana cierto grado de reusabilidad en clases que modelan estructuras de datos, o librerías de bajo nivel para la aplicación.
· Se tiene un alto grado de aislamiento que permite modificar la implementación de clases sin comprometer los demás artefactos que componen el modelo. Así mismo cualquier cambio en el dominio de la aplicación es localizado de manera natural en la arquitectura del sistema.

D. Limitaciones

Una arquitectura orientada a objetos, por su naturaleza, presenta las siguientes limitaciones en su aplicación:
· Es demasiado complejo para problemas simples de procesamiento de datos.
· La arquitectura resultante es altamente rígida a los cambios al utilizar elementos de la orientación a objetos como la composición y la herencia.
· Se presenta un alto grado de impedancia en lo que tiene que ver con persistencia manejada en sistemas administradores de bases de datos relacionales.
· Los requerimientos no funcionales se ven entremezclados en la implementación de la solución.
· Las metodologías y herramientas que soportan este tipo de arquitecturas aún están en evolución.
· Se requiere un conocimiento detallado de las clases para poder utilizarlas.

E. Propiedades deseadas

· Localización: Los cambios que se presenten en el mundo, son localizados fácilmente y uno a uno en la arquitectura del sistema.
· Aislamiento: Se presenta un alto grado de aislamiento gracias a la encapsulación que caracteriza los elementos de la arquitectura.
· Flexibilidad: La arquitectura resultante es bastante rígida debido a los mecanismos de herencia y composición que se presenten en el modelo. Todas las interacciones que se presenten en el modelo quedan totalmente fijas en la implementación de la solución.
· Facilidad de Adaptación: El paradigma de la orientación a objetos y las herramientas existentes, permiten que los distintos modelos sigan siendo los mismos independientes del lenguaje de implementación final. En cuanto a las herramientas existentes, muchas de ellas, parten del modelo de clases de diseño para hacer una generación de código en el lenguaje de programación especificado por el usuario.
· Facilidad de Extensión: Los cambios que se presenten en el mundo del problema, se acoplarán naturalmente en la arquitectura, sin embargo se pueden presentar problemas debido a la rigidez propia del modelo.
· Reutilización: Se puede presentar reutilización sobre todo en las capas mas bajas de la aplicación.
· Alto nivel de Abstracción: alto nivel de abstracción ya que la arquitectura se construye en base a las entidades que están presentes en el mundo real, abstrayendo tanto su comportamiento como su estado.
· Metodologías de soporte: Actualmente, se están estandarizando tanto las metodologías que guían un desarrollo orientado por objetos, como las herramientas que se utilizan en el mismo.
· Arquitectura visualizable: La arquitectura resultante, es bastante sencilla de entender ya que está construida en términos de las entidades e interacciones que se presentan en el negocio que se está modelando. Los usuarios estan habilitados para entenderla y validarla.

0 comments:

Popular Posts

Pedro Rozo. Powered by Blogger.