jueves, 30 de diciembre de 2010

Arquitectura de Software

Arquitectura de Software

Existen muchas definiciones de Arquitectura del Software y no parece que ninguna de ellas haya sido totalmente aceptada. En un sentido amplio podríamos estar de acuerdo en que la Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema, programa o aplicación y tiene la responsabilidad de:
  • Definir los módulos principales
  • Definir las responsabilidades que tendrá cada uno de estos módulos
  • Definir la interacción que existirá entre dichos módulos:
  • Control y flujo de datos
  • Secuenciación de la información
  • Protocolos de interacción y comunicación
  • Ubicación en el hardware
La Arquitectura del Software aporta una visión abstracta de alto nivel, posponiendo el detalle de cada uno de los módulos definidos a pasos posteriores del diseño.

La definición oficial de Arquitectura del Software es la IEEE Std 1471-2000 que reza así: “La Arquitectura del Software es la organización fundamental de un sistema formada por sus componentes, las relaciones entre ellos y el contexto en el que se implantarán, y los principios que orientan su diseño y evolución”.



Modelos

Modelos Estructurales: representan la arquitectura como una colección organizada de componentes.

Modelos Frameworks: identifican patrones de diseño arquitectónico repetibles que se encuentran en aplicaciones similares.

Modelos Dinámicos: muestran los aspectos del comportamiento dinámico de la arquitectura, indicando cómo la estructura o la configuración del sistema pueden cambiar en función de eventos externos.

Modelos de Procesos: se enfocan en el diseño de los procesos del negocio que el sistema debe soportar.

Modelos Funcionales: pueden utilizarse para representar la jerarquía funcional de un sistema.

Patrones de Diseño

"Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, así como la solución a este problema, de tal ,modo que esta solución se pueda aplicar esta solución un millón de veces, sin hacer lo mismo dos veces" Christopher Alexander.

Los patrones de diseño hacen que sea más fácil reutilizar buenos diseños y arquitecturas. Al expresar como patrones de diseño técnicas que ya han sido probadas, las estamos haciendo más accesibles para los desarrolladores de nuevos sistemas. Los patrones de diseño nos ayudan a elegir las alternativas del diseño que hacen que un sistema sea reutilizable, y evitar aquellas que dificultan dicha reutilización.

Los patrones de creación tienen que ver con el proceso de creación, estructural o de comportamiento.



Adriana Esther Moreno Martínez Grupo C

No hay comentarios:

Publicar un comentario