Lugar para compartir información interesante con mis amigos.

Saturday, May 28, 2005

Funciones y Estructuras de Datos

Utilizando esta estrategia, se encuentra que el sistema se descompone en módulos funcionales que reciben datos de entrada y que de alguna manera los procesan para obtener una salida.


A. Problema que Resuelve

En el contexto en el cual se desarrolló este enfoque, pretendía establecer una forma estándar, repetible y organizada de desarrollar software para la organización.

B. Estrategia general

La arquitectura se construye como un sistema donde los datos fluyen de un lugar a otro pasando por funciones que los transforman hasta obtener una salida. Este procesamiento se puede dar elemento por elemento o en un procesamiento por lote.

C. Ventajas

Ésta estrategia presenta las siguientes ventajas:
· Es intuitiva ya que las personas visualizan el trabajo en términos de procesamiento de entradas y salidas. Así es como está estructurada la mente humana.
· Buen soporte por herramientas y metodologías que han madurado durante mas de 20 años.
· Permite cierto grado de reutilización de funciones.
· Uso de abstracción y división del problema.

D. Limitaciones

Utilizar funciones y estructuras de datos como elementos estructuradores presenta las siguientes limitaciones:
· Necesidad de que todas las funciones conozcan el formato de los datos que están transformando. Esto implica que desde muy temprano se están tomando decisiones arquitecturales sobre las cuales cualquier cambio va a tener un alto impacto.
· La arquitectura resultante es rígida en cuanto a que desde muy temprano se está construyendo el sistema en términos de llamados de métodos.
· No hay soporte para modelamiento del dominio del problema, las técnicas usadas permiten modelar el sistema en sí.
· Los sistemas interactivos son difíciles de describir utilizando funciones y datos como elementos estructuradores.

E. Propiedades deseadas

En cuanto al cubrimiento de las propiedades deseadas en la arquitectura, tenemos:
· Localización: Los requerimientos funcionales son fácilmente identificables debido a que el sistema se construye guiado por ellos. Los elementos del mundo en cuanto a los datos, son localizados fácilmente en el modelo de datos del sistema, sin embargo las reglas del negocio están dispersas en todo el sistema. Respecto a los requerimientos no funcionales, no son identificables en la arquitectura.
· Aislamiento: El nivel de aislamientos es muy bajo en cuanto a que el cambio en una regla de negocio, o una estructura de datos, va a tener un impacto sobre el sistema que es imposible de calcular.
· Flexibilidad: La arquitectura resultante es muy poco flexible, ya que desde fases muy tempranas se está construyendo el sistema en términos de llamados de métodos que van a quedar plasmados en el código. Lo que implica que todos los artefactos de software se tienen que conocer unos a otros, y un cambio en cuales quiera, va a afectar de manera dramática el sistema.
· Facilidad de Adaptación: la adaptación del sistema a tecnologías y herramientas variadas es traumática debido a la variedad de las mismas que se presentan en el medio productivo y debido a la falta de estandarización de las mismas.
· Facilidad de Extensión: Es posible extender la arquitectura en términos de que se pueden agregar nuevas funcionalidades que transformen los datos en cualesquier punto del flujo de datos.
· Reutilización: Se presenta un bajo grado de reutilización. Esta reutilización se presenta a nivel de funciones técnicas utilitarias del sistema.
· Alto nivel de Abstracción: Se presenta un bajo nivel de abstracción debido a que el modelo de la arquitectura no está guiado por el modelo del negocio.
· Metodologías de soporte: Existen gran variedad de herramientas y metodologías que soportan la especificación de una arquitectura basada en funciones y estructuras de datos, las cuales han sido probadas y afinadas por mas de 20 años.
· Arquitectura visualizable: La arquitectura resultante es clara y comprensible en cuanto al funcionamiento general del sistema, ya que la forma en que se especifica es muy parecida a la estructura del pensamiento humano.

0 comments:

Popular Posts

Pedro Rozo. Powered by Blogger.