Issuu on Google+

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE ADMINISTRACIÓN INDUSTRIAL INFORMATICA. SECCION 204A3 CATEDRA: DISEÑO DE SISTEMAS

DISEÑO DE LA ARQUITECTURA DE UN SISTEMA DE INFORMACIÓN

Integrantes: Manzano Arquímedes C.I. 18.753.790 Ferrer Wilmer C.I 20.364.746 Sisco Erick C.I.: 19.465.252

Guarenas, Julio de 2011


INTRODUCCION

La arquitectura del Software es la organización fundamental del sistema que incluye a sus componentes, sus relaciones entre ellos, el ambiente y los principios que dictan su diseño y evolución. Involucra un conjunto de decisiones significativas acerca de la organización del sistema adecuando el comportamiento, especificado en función de la colaboración de los elementos y así permitir la composición de sub-sistemas más grandes a partir de elementos estructurales y elementos con comportamiento

La arquitectura de un sistema de información se especifica en dos niveles de refinamiento el primero denominado arquitectura del sistema expresa el estilo de arquitectura a aplicar en el nivel mas alto de la abstracción, es decir el estilo aplicado es el de capas, donde se definen concretamente las capas a utilizar asi como las principales responsabilidades de los componentes que residirán en cada una de ellas. En la segunda parte, en base a las responsabilidades mostradas, se estudian los elementos básicos de una especificación de arquitectura lógica de componentes, que constituyen los modelos independientes de la tecnología.


Arquitectura del Sistema de información Es la disciplina y arte encargada del estudio, análisis, organización, disposición y estructuración de la información en espacios de información, y de la selección y presentación de los datos en los sistemas de información interactivos y no interactivos. En relación con la World Wide Web el Information Architecture Institute, define la Arquitectura de la Información como: 

1 El diseño estructural en entornos de información compartida.

2 El arte y la ciencia de organizar y rotular sitios web, intranets, comunidades en línea y software para promover la usabilidad y la ubicabilidad (la característica de ser encontrado a través de las búsquedas en Internet).

3. Una comunidad emergente orientada a aplicar los principios del diseño y la arquitectura en el entorno digital.

La Arquitectura de la Información trata indistintamente del diseño de: sitios web, interfaces de dispositivos móviles o gadgets (como los lectores de mp3), CDs interactivos, videoclips digitales, relojes, tableros de instrumentos de aviones de combate o civiles, interfaces de máquinas dispensadoras, interfaces de juegos electrónicos, etc. (Laverde, A. 2005) Su principal objetivo es facilitar al máximo los procesos de comprensión y asimilación de la información, así como las tareas que ejecutan los usuarios en un espacio de información definido


Arquitectura de software de sistema de información En los inicios de la informática, la programación se consideraba un arte y se desarrollaba como tal, debido a la dificultad que entrañaba para la mayoría de las personas, pero con el tiempo se han ido descubriendo y desarrollando formas y guías generales, con base a las cuales se puedan resolver los problemas. A estas, se les ha denominado Arquitectura de Software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software. En el libro "An introduction to Software Architecture", David Garlan y Mary Shaw definen que la Arquitectura es un nivel de diseño que hace foco en aspectos "más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema". Generalmente, no es necesario inventar una nueva arquitectura de software para cada sistema de información. Lo habitual es adoptar una arquitectura conocida en función de sus ventajas e inconvenientes para cada caso en concreto. Así, las arquitecturas más universales son:  Monolítica. Donde el software se estructura en grupos funcionales muy acoplados.  Cliente-servidor. Donde el software reparte su carga de cómputo en dos partes independientes pero sin reparto claro de funciones.  Arquitectura de tres niveles. Especialización de la arquitectura clienteservidor donde la carga se divide en tres partes (o capas) con un reparto claro de funciones: una capa para la presentación (interfaz de usuario), otra para el cálculo (donde se encuentra modelado el negocio) y otra para el almacenamiento (persistencia). Una capa solamente tiene relación con la siguiente.


Estilo de arquitectura de Sistema de Información La arquitectura cliente-servidor consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema. La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma. Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema. La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico. La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo


lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta

Arquitectura de sistema de información de capas de partición

Arquitectura top-down de capas: Los elementos de una capa i+1 pueden enviar solicitudes de servicio a elementos de la capa inferior i. Típicamente se produce una cascada de solicitudes, es decir para satisfacer una solicitud a una capa i+2, ésta requiere enviar varias solicitudes a la capa i+1; cada una de estas solicitudes a la capa i+1 genera a su vez un conjunto de solicitudes a la capa i y así sucesivamente. Una arquitectura top-down es laxa (o no estricta) si los elementos de una capa i+1 pueden enviar solicitudes de servicio directamente a un elemento de

cualquiera

de

las

i

capas

inferiores.

Arquitectura bottom-up de capas: Cada elemento de una capa i puede notificar a elementos de la capa superior i+1 de que ha ocurrido algún evento de interés (ej. manejadores de dispositivos). La capa i+1 puede juntar varios eventos antes de notificar a su vez al elemento de la capa i+2. Una arquitectura bottom-up también puede ser no estricta si el elemento de la capa i puede notificar a cualquier

elemento

de

cualquier

capa

superior

a

la

capa

i.

Arquitectura bidireccional de capas En su forma más común involucra dos pilas de N capas que se comunican entre si. El ejemplo más conocido es el de los protocolos en Redes de Computadores. Al implementar una arquitectura top-down de capas, se deben tomar en cuenta los siguientes factores:

1. ¿Cuál es el criterio de abstracción para agrupar servicios/clases en una capa?

Mencionar

Repositorio

de

el

criterio

Presentación-Dominio

Sistemas

de

de

Aplicación Información.


2. Determinar el número de capas En términos simplistas, a más capas más flexibilidad

3. Típicamente

pero

las

menor

capas

más

internas

desempeño.

[Discutir]

ofrecen

servicios.

menos

Esto ayuda la reutilización de capas ("pirámide invertida de reuso").

4. El grado de encapsulamiento de las capas. menor

dependencia

externa

sobre

la

A mayor encapsulamiento, estructura

de

una

capa.

a

otra?

5. Estructura interna de cada capa.

6. ¿Cuánta

información

pasar

de

una

capa

Tomemos el caso de la arquitectura top-down. Es muy posible que, de acuerdo con el tipo de servicio solicitado, la capa inferior requiera una cantidad de información variable. En un modelo puro "empujado" (push), la capa superior está obligada a enviarle toda la información que pueda llegar a hacerle falta a la capa inferior en la solicitud.

Todo patrón tiene ventajas y desventajas:

Ventajas  Reutilización de capas;  Facilita la estandarización  Dependencias se limitan a intra-capa  Contención de cambios a una o pocas capas

Desventajas  A veces no se logra la contención del cambio y se requiere una cascada de cambios en varias capas;


 Pérdida de eficiencia;  Trabajo innecesario por parte de capas más internas o redundante entre varias capas;  Dificultad de diseñar correctamente la granularidad de las capas.

Existen tres propuestas de arquitecturas de capas para Sistemas de Información, donde las capas a veces reciben el nombre de niveles (en Inglés tiers):

Dos capas En la actualidad muchos sistemas de información están basados en arquitecturas de dos capas, denominadas: Nivel de aplicación; Nivel de la base de datos. Existen herramientas de amplio uso que presuponen esta estructura (p. ej. Visual Basic + Access/SQL server). Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor (aplicación en los clientes, base de datos como servidor). Las desventajas de dos niveles son bien conocidas: El nivel de las aplicaciones se recargan, entremezclando aspectos típicos del manejo de la interfaz con las reglas del negocio; Las reglas del negocio quedan dispersas entre el nivel de aplicación y los "stored procedures" de la base de datos;

La aplicación queda sobrecargada de

información de bajo nivel si hay que extraer los datos de varias bases de datos, posiblemente con estructuras diferentes. demasiado

pesado

El nivel de aplicación puede ser para

el

cliente.

Tres capas Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas: Aplicación Dominio de la aplicación; Repositorio. La mayoría de estos sistemas buscan conservar la tecnología de BD relacional para la capa del repositorio e introducir la tecnología OO para el dominio de la aplicación. Para la capa de presentación existe una pelea entre tecnología HTML (Java-enabled) vs. generadores GUI.


Un punto interesante es dónde ubicar el nivel del dominio de la aplicación, ¿en el lado del cliente o en el lado del servidor? Hay ventajas y desventajas asociadas con cada alternativa.

Cuatro capas Los desarrollos más recientes empiezan a experimentar con una capa adicional: Presentación; Aplicación; Dominio de la aplicación; Repositorio. La idea básica es separar todo lo que es programación GUI de la aplicación per se (y por ende tiende a usar frameworks para GUI como MFC). El nivel de la presentación no hace cálculos, consultas o actualizaciones sobre el dominio --de hecho ni siquiera tiene visibilidad sobre la capa del dominio. La capa de la aplicación es la encargada de accesar la capa del dominio, simplificar la información del dominio convirtiéndolo a los tipos de datos que entiende la interfaz: enteros, reales, cadenas de caracteres, fecha y clases contenedoras (container, collection).

Una forma de organizar esta nueva capa de la aplicación es considerarla una fachada al dominio. Cada aplicación presenta una fachada diferente (y simple) del dominio a la interfaz. Las ventajas de las cuatro capas se encuentran nuevamente en el texto de Fowler . En la sección siguiente del mismo texto se argumenta que el patrón Proxy puede aplicarse a la capa de la aplicación, de forma de tener una parte de la capa en el cliente y otra en el servidor. Los detalles pueden consultarse allí.

Finalmente resulta interesante discutir el acoplamiento entre la capa del dominio y la capa del repositorio.

Modelo vista controlador (mvc)

Es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El


patrón de llamada y retorno MVC (según CMU), se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista.


Conclusión

La arquitectura de los sistemas de información suele organizarse según el estilo de capas. La cantidad de capas y la responsabilidad de cada una dependen del enfoque metodológico aplicado para el desarrollo del sistema, donde se define una arquitectura para dicho sistema y se presenta una propuesta orientada la especificación independiente de la tecnología de implantación.

La salida es la capacidad de un Sistema de Información para sacar la información procesada o bien datos de entrada al exterior. Las unidades típicas de salida son las impresoras, terminales, diskettes, cintas magnéticas, la voz, los graficadores y los plotters, entre otros. Es importante aclarar que la salida de un Sistema de Información puede constituir la entrada a otro Sistema de Información o módulo. En este caso, también existe una interfase automática de salida. Por ejemplo, el Sistema de Control de Clientes tiene una interfase automática de salida con el Sistema de Contabilidad, ya que genera las pólizas contables de los movimientos procesales de los clientes.


REFERENCIAS (BIBLIOGRAFIAS)

http://es.wikipedia.org/wiki/Arquitectura_de_la_informacion


ARQUITECTURA DEL SISTEMA DE INFORMACION