Armando Halbinger

Tuesday, May 25, 2004

¿Para qué sirve una Arquitectura de Software?

Cuando planeamos un sistema la mayoría de nosotros tenemos presente que hay que definir la "Arquitectura", pero ¿realmente sabemos el por qué o nos dejamos llevar por la tendencia del momento en el mercado (3-capas, n-capas, SOA, etc)?

Una Arquitectura de Software es un modelo abstracto reusable que define la estructura para construir un sistema. Su definición envuelve decisiones de diseño que se traducen en atributos de calidad como:
-Rendimiento,
-Seguridad,
-Costo de hacer un cambio,
-Confiabilidad y
-Usabilidad

La Arquitectura representa la clave para comprender, organizar y comunicar un sistema, además, permite implantar conceptos como el reuso y facilita la evolución de la solución.

Debido a la complejidad de los sistemas, la forma de documentar una Arquitectura es mediante Vistas, es decir, mediante descripciones simplificadas del sistema desde una perspectiva particular. El modelo más conocido de vistas es el que define RUP (4+1) vistas que comprende:
-Vista del Diseño
-Vista del Proceso
-Vista de la Implementación
-Vista del Deployment
y la vista común que es:
-Vista de Casos de Uso

Durante el desarrollo de una Arquitectura de Software es recomendable considerar los siguientes factores:
-Casos de Uso
-Experiencia del Arquitecto
-Uso de Patrones
-Middleware/Frameworks existentes
-Sistemas (Legacy y otros)
-Estándares y Políticas
-Requerimientos No-Funcionales
-Distribución

Por último ten presente que "una arquitectura correcta lleva al éxito a un sistema. Una arquitectura incorrecta generalmente indica una receta segura al desastre".

¿Quieres conocer más del tema? entra a esta página del SEI (Software Engineering Institute) de CMU (Carnegie Mellon University).

0 Comments:

Post a Comment

<< Home