Ingeniero

Solo disponible en BuenasTareas
  • Páginas : 7 (1617 palabras )
  • Descarga(s) : 0
  • Publicado : 20 de marzo de 2011
Leer documento completo
Vista previa del texto
Qué es una arquitectura software y para qué sirve
El concepto de arquitectura se usa de forma amplia y en campos muy distintos, por lo que su significado es algo ... difuso.
En el campo del software, la arquitectura nos identifica los elementos mas importantes de un sistema así como sus relaciones. Es decir nos da una vision global del sistema.
¿Por qué es esto importante? Porque necesitamosarquitectura para entender el sistema, organizar su desarrollo, plantear la reutilización del software y hacerlo evolucionar.
Cómo determinar los elementos que definen una arquitectura es dificil y muy importante.
Generalmente las metodologias de desarrollo indican principios para identificar y diseñar una arquitectura, aunque por ahora la ayuda real que ofrecen es muy limitada al basarse enprincipios muy genéricos. En este artículo describiremos algunas técnicas que nos pueden resultar muy útiles para la construcción de arquitecturas software.
Las arquitecturas software no responden únicamente a requisitos estructurales, sino que están relacionadas con aspectos de rendimiento, usabilidad, reutilización, restricciones económicas y tecnológicas, e incluso cuestiones estéticas.Arquitecturas y Metodologías
Actualmente existen muchas metodologías de desarrollo de software, desde metodos muy 'pesados' y burocráticos, metodos ajustables al proyecto y a las condiciones de desarrollo, hasta metodos 'ligeros' que surgen como respuesta a los excesos 'formales' de otros metodos.
Evidentemente, partiendo de los principios de tantas y diversas metodologías es muy difícil sacar una visiónunificada sobre el diseño arquitectónico. Sin embargo sí que podemos destacar una serie de elementos comunes en aquellas que más se centran en este tema.
Y ¿cuáles son esos elementos comunes? El primero es la existencia de una fase en la que se establece o diseña una arquitectura base y el segundo la altísima dependencia que definen entre los casos de uso y la arquitectura, definiendo un caso deuso como una interacción (secuencia de acciones) típica entre el usuario y el sistema.
Desde un punto de vista arquitectónico, no todos los casos de uso tienen la misma importancia, destacando aquellos que nos ayudan a mitigar los riesgos más importantes y sobre todo aquellos que representan la funcionalidad básica del sistema a construir.
Esta arquitectura base estará especificada pordiagramas que muestren subsistemas, interfaces entre los mismos, diagramas de componentes, clases, descripciones diversas, y por el conjunto de casos de uso básicos.
Este conjunto de especificaciones nos permiten validar la arquitectura con los clientes y los desarrolladores, y asegurarnos que es adecuada para implementar la funcionalidad básica deseada.
A partir de aquí, lo normal sería desarrollar deforma iterativa el sistema hasta tenerlo funcionalmente completo.
Hasta aquí todo muy bonito y perfecto, verdad?? Ya sabemos lo útil que es una arquitectura software, pero ... seguimos sin tener ni idea de cómo diseñar una.
Tipos de sistemas
Una visión alternativa sería identificar el tipo de sistema que queremos construir. Todos sabemos que no hay dos aplicaciones iguales, pero que existenclaros paralelismos entre las aplicaciones construidas para resolver problemas similares.
El fijarnos en aplicaciones del mismo tipo tiene muchas ventajas ya que nos ayuda a entender las necesidades del cliente y las soluciones ya encontradas por otros.
Mientras que usar una metodología tradicional de desarrollo:
* Te hace centrarte únicamente en parte del problema (el dominio del problema, susrequisitos y su microestructura), obviando cuestiones como rendimiento, seguridad, protocolos de comunicación, restricciones de hardware, software, y económicas, etc.
* Te proporciona una visión estrecha, ya que frecuentemente el cliente no expone adecuadamente todos sus requisitos porque no los conoce.
Imaginemos que estamos desarrollando un portal web. La experiencia nos dice que a...
tracking img