You are on page 1of 4

Introduccin

Shaw y Garlan analizan sobre este tema: Desde la primera vez que un programa se dividi en mdulos, los sistemas de software han tenido arquitecturas, y los programadores han sido responsables de las interacciones entre los mdulos y las propiedades globales de ensamblaje. En la actualidad, la correcta aplicacin de los diversos modelos arquitectnicos se ha vuelto un tema predominante dentro de la ingeniera del software, ayudando en la toma de decisiones, reutilizacin y bajos costos en el desarrollo de software.

Arquitectura de Software
La arquitectura de software es la forma estructural de cmo se desarrollara el sistema basndose esencialmente en la descomposicin en mdulos, pero ms all de la forma fsica, se encarga de las propiedades y las relaciones entre ellos. Con esto definido y representado en un esquema, permite a un ingeniero de software pueda realizar con mayor facilidad las siguientes actividades: Analizar la efectividad del diseo para cumplir los requisitos del software Considerar opciones arquitectnicas en una etapa temprana Reducir los riegos asociados con la construccin del software

Dentro de la referencia bibliogrfica que consulte, separan la arquitectura de software en dos grandes niveles: Diseo de Datos: Permite representar el componente de datos de la arquitectura en sistemas convencionales y definiciones de la clase (atributos y operaciones de encapsulamiento) de los sistemas orientados a objetos. Diseo Arquitectnico: Se concentra en la representacin de la estructura de los componentes del software, sus propiedades e interacciones. Segn Bass, L., P. Clements y R. Kazman existen tres motivos principales por lo que es importante la arquitectura de software: Las representaciones de la arquitectura del software permiten la comunicacin entre todas las partes (participantes) interesadas en el desarrollo de un sistema La arquitectura destaca las decisiones iniciales relacionadas con el diseo que tendrn un impacto profundo en todo el trabajo de la ingeniera del software que le siguen y, lo que tambin resulta importante, en el xito final del sistema como entidad operacional. La arquitectura constituye un modelo relativamente pequeo e intelectualmente comprensible de cmo est estructurado el sistema y como trabajan juntos sus componentes [Bass, L].

Por lo cual, la principal idea por lo que surgi la arquitectura de software como una materia de estudio e implementacin para el desarrollo dentro de la ingeniera del software es el desarrollo en forma modular, as como tambin la reutilizacin de cdigo (conocido en la arquitectura de software como componentes) con el objeto de comprender mejor la estructura del sistema, las propiedades de cada una de sus parte y la relacin entre ellas. Con esto, se ha logrado mejorar muchos aspectos en el proceso del desarrollo del software como los bajos costo de produccin, anlisis del sistema con respecto a los requerimientos dados por el cliente en una etapa temprana, bajos costos de mantenimiento gracias a la reutilizacin de componentes de sistemas parecidos. En aos anteriores, el desarrollo del software se llevaba a cabo de una manera muy rustica y artesanal, pensando solamente en resolver el problema que se les presentaba en ese momento, aun sabiendo que en un futuro cercano tendran un problema parecido el cual empezaban de cero o utilizando un sistema completo elaborado con anterioridad cambiando las partes que lo diferenciaban del sistema por hacer. Con el surgimiento de la reutilizacin de cdigo y la programacin modular (principios bsicos de la arquitectura de software) los sistemas se empezaron a planear como pequeas partes que lo conforman y que a su vez, pueden utilizarse en otros sistemas que tienen un funcionamiento similar cambiando un poco en enfoque, por dar un ejemplo, hare referencia a algo aprendido en la clase, en todos los sistemas relacionado con un punto de venta es evidente que tendrn altas, bajas y cambios de artculos, clientes o proveedores, por lo cual, si creamos un sistema de punto de venta por componentes y hacemos un componente llamado Altas, Bajas y Cambios, esto nos servir para desarrollos de sistemas futuros con esta misma funcionalidad, cambiando nicamente la interfaz de usuario y el enfoque de este. Con la aparicin de los estilos arquitectnicos lo anteriormente mencionado es posible, ya que existen muchos sistemas que se parecen entre si y su estructura bsica es predecible gracias a esto.

Modelos Arquitectnicos
Arquitectura Centrada en Datos: Un almacn de datos (archivo o base de datos) se encuentra en el centro de la arquitectura. Otros componentes tienen acceso a l y tienen la opcin de modificar los datos. En algunos casos el software cliente es pasivo, es decir, accede a los datos independientemente de cualquier cambio hecho a los datos o a acciones de otro software cliente. Capacidad de integracin, esto hace posible cambiar o agregar componentes a la arquitectura sin preocuparse por los otros clientes.

Arquitectura de Flujo de Datos: Aplica cuando los datos de entrada se transformaran en datos de salida mediante una serie de componentes para el clculo o la manipulacin. Conformada por un conjunto de componentes (filtros) conectados por tuberas. Cada filtro funciona sin tomar en cuenta si los componentes tiene flujo ascendente o descendente. Espera la entrada de datos con cierta forma y producir su salida, sin embargo no es necesario que conozca el funcionamiento de los filtros vecinos. Arquitectura de Llamada y Retorno: Diseada para que resulte relativamente fcil el modificar y cambiar el tamao. Arquitectura de programa principal/subprograma: separa la funcin en una jerarqua de control. Arquitectura de llamada de procedimiento remoto: los componentes de una arquitectura de programa principal/subprograma se distribuyen entre varias computadoras de una red. Arquitectura Estratificada: Existen varias capas definidas: cada una de ellas realiza operaciones que se acercan progresivamente al conjunto de instrucciones de la mquina. En la capa externa: los componentes sirven las operaciones de interfaz de usuario. En la capa interna: los componentes sirven de interfaz con el sistema operativo. Las capas intermedias: proporcionan servicios de utilera y de software de aplicaciones.

Conclusin
Los modelos arquitectnicos aqu mencionados son apenas un pequeo grupo con las que cuenta el desarrollador de software. Una vez que se definen los requisitos del sistema se podr elegir uno de estos modelos o la combinacin para lograr el objetivo. En el fondo de la mente de todo artista hay un patrn o tipo de arquitectura [G.K. Chesterton]

Bibliografa
Ingeniera del Software: Un enfoque practico Roger Pressman 6ta Edicin McGraw Hill

Instituto Tecnolgico de Culiacn

Arquitectura de Software

Barrn Estrada Mara Lucia Rodrguez Campos Giovanni 09170884

Ensayo (Modelos Arquitectnicos)

Culiacn, Sinaloa 11/Febrero/2013

You might also like