Diseño Arquitectonico


El diseño arquitectónico es la fase en donde debemos modelar el funcionamiento interno del sistema, describiendo:

  • Estructuras de datos
  • La estructura del programa
  • Los detalles procedimentales

Al hablar de la arquitectura del software, estamos hablando de la forma interna del software en sí, la forma como almacenara la información, los módulos que manipularan los datos y las acciones de dichos módulos, pero el punto en donde debemos comenzar el diseño, dado que es el cimiento de toda la estructura es en el diseño de datos.

Diseño de datos:

El diseño de datos trata de la construcción de la base de datos en sí, la importancia de crear un buen diseño de base de datos se debe a que si los datos no son almacenados correctamente el sistema pierde coherencia y confiabilidad.

Existen diferentes modelos de bases de datos, destacando de entre ellos:

  • Modelo Relacional
  • Modelo Orientado a objetos.

Pero no solo debemos considerar el simple almacenamiento de los datos, sino también el volumen de transacciones y la amplitud del sistema, para poder decidir si nuestra base de datos va a optar por una base de datos:

  • Centralizada ó
  • Distribuida

Así también es importante considerar la plataforma de base de datos que usaremos, lo cual dependerá en gran medida del volumen de información y de la plataforma a emplear. Si estamos hablando de gigantescos volúmenes de información, la opción más lógica sabemos que es Oracle, si estamos en una plataforma de Microsoft tal vez lo ideal seria SQL Server y si nos vamos al Open Source nos iríamos por mySQL.

Sea cual sea el caso, una vez construido el modelo de base de datos a emplear, este debe ser probado para ver si responde a las necesidades de información de la organización.

La forma mas coherente de hacer estas pruebas, es la realización de consultas para ver si de la base de datos modelada podemos extraer los campos  y la información necesaria para la elaboración de los reportes que son requeridos.

Una de las técnicas mas utilizadas en la actualidad para el modelado de la base de datos es el Bussines Intelligent o Inteligencia de Negocios en donde cobra gran importancia la minería de datos y los cubos de datos.

La minería de datos, tratando de resumirlo lo mas posible, esta basada en el hecho de que no todos los puestos de una organización requieren el mismo nivel de detalle de la información, mientras mas subimos en la estructura organizacional, lo información a presentar debe estar mas resumida y sobre todo analizada y mientras mas descendemos mas detallada debe ser la información.

Los cubos de datos empleados en la Inteligencia de Negocios son una extensión de las tradicionales tablas de la base de datos, en una tabla común tenemos dos dimensiones formadas por los campos y los registros, pero en un cubo se plantea una tercera dimensión en donde la información de la misma tabla se muestra resumida por un tercer elemento, pudiendo ser por fechas, departamentos o cualquier otra forma de clasificar y resumir la información de la tabla. Existen más consideraciones para los cubos, pero es muy extenso el tema.

Un  punto importante a controlar, es la integridad de la base de datos, sin importar el modelo empleado siempre existe una relación entre las tablas y debemos considerar el mantenimiento de dicha integridad al momento de desarrollar la arquitectura del software.

Diseño y estilo arquitectónico

Una vez que tenemos la base de datos, nuestro siguiente paso es la definición de la arquitectura, dentro de la cual debemos, en primera instancia crear la estructura jerárquica o lineal de módulos que contendrá el sistema.

Existen diferentes estilos de arquitecturas, pero entre las mas comunes tenemos:

Arquitectura clásica: También llamada arquitectura de programa/subprograma, describe una estructura jerárquica de los módulos, siendo que el menú principal llama a los módulos de primer nivel y estos pueden llamar a los módulos de segundo nivel.

Arquitectura de llamada de procedimiento remoto: Al igual que la anterior usa una estructura de árbol, pero los módulos están distribuidos entre varias computadoras.

Arquitectura estratificada: En esta el programa se desarrolla construyendo capas de módulos, donde cada capa corresponde a actividades que son comunes a los módulos que componen dicha capa. Esta es la arquitectura de muchos sistemas operativos.

2 Comments

¿Qué estas pensando?

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.