230-1931-1-PB.pdf
-
Upload
patricia-llallico -
Category
Documents
-
view
218 -
download
0
Transcript of 230-1931-1-PB.pdf
![Page 1: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/1.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 1/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
Artícul o o rig in al
Propuesta de vistas de la arquitectura de software
Proposal of v iews of archi tecture of sof twareOsvaldo Díaz Verdecia1
* , Virgen Damaris Quevedo Campins1, René Lazo Ochoa y César Lage
Codorníu2 1 Ceige. Departamento de Desarrollo de Productos. Universidad de las Ciencias Informáticas
2Ceige. Departamento de Tecnología
*Autor para la correspondencia: [email protected]
Resumen
En la actualidad existen diversos conceptos y definiciones sobre el significado que abarca la arquitectura
de software. La presente investigación toma la definida por el Institute of Electrical and Electronics
Engineers (por sus siglas en inglés, IEEE) y que adopta Microsoft, que conceptualiza a la arquitectura de
software como “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”. La
arquitectura del software es el diseño de más alto nivel de la estructura de un sistema, programa o
aplicación y a pesar de que las literaturas especializadas en el tema no se pongan de acuerdo sobre una
definición, si todas reconocen la importancia de contar con unas vistas de arquitectura de software bien
definidas. Se da a conocer una propuesta de vistas de la arquitectura de software totalmente novedosa y
que rompe con algunas de sus concepciones actuales. Se resalta la importancia de las vistas a la hora de
desarrollar una arquitectura de software, definiéndolas y propugnando cada una como una parte
indispensable a la hora de desarrollar un proyecto.
Palabras clave: Arquitectura de software, estructura, sistema, vistas de la arquitectura de software.
Abstract
At the present time varied concepts and definitions exist of what means and embraces the Architecture o
Software, however in this article it will take a common definition, the one that the Institute of Electrical and
Electronics Engineers (IEEE) defines that conceptualizes the Architecture of the Software like "the
fundamental organization of a system formed by their components, the relationships between them and the
![Page 2: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/2.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 2/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
context in which will be implanted, and the principles that guide its design and evolution". The Architecture
of the Software is the design of the higher level of the structure of a system, it programs or application and
although the literatures specialized in the topic don't come to an agreement on a definition, they al
recognize the importance of having some very defined Views of Architecture of Software. In this article it is
given to know a completely new proposal of Views of the Architecture of Software and that it breaks up
with some of their current conceptions. The importance of the Views is stood out when a Software
Architecture is developed, defining them and telling each one like an indispensable part when developing a
project.
Keywords: System, software architecture, structure, views of software architecture.
In t roducciónLas vistas de la arquitectura de software es una temática desde la que se enfoca un proyecto, ya sea
desde el punto de vista de los datos, integración, etc. Para separar las vistas se debe tener en cuenta todo
el trabajo que se lleva a cabo a la hora de estructurar una arquitectura, tratando de no dejar ningún
contenido fuera de alguna de ellas. Esto no es una labor nada sencilla, y mientras más se crece en los
conocimientos arquitectónicos más complejo y engorroso se vuelve, generando muchas dudas sobre
dónde va un contenido, si es suficiente con integrarlo a alguna vista ya propuesta o si es indispensable
crear una nueva vista solo para él. El trabajo hace una propuesta de las diferentes vistas que deberían
integrar la arquitectura de software y de ellas sus conceptos básicos, de manera que a la hora de
desarrollar un proyecto de desarrollo de software tengamos en cuenta la propuesta explicada a
continuación.
Clasificaciones de vistas
Varios autores, reconocidos arquitectos e instituciones a nivel mundial han dado su criterio de las Vistas
que deberían integrar la arquitectura de software, aquí se describen cada una de estas propuestas, se
hace una valoración y se hace la propuesta final de los autores de este artículo.
David Parnas (Reynoso, 2004) las estructuras en tres grupos:
Estructura de módulos: es parte de o comparte el mismo secreto que la asignación de trabajo.
Estructura de uso: depende de la corrección de programas.
![Page 3: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/3.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 3/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
Estructura de procesos: brinda trabajo computacional a procesos.
Siemens Corp orate Research (´95) (Departamento de Computación - Facultad de Ciencias Exactas y
Naturales - Universidad de Buenos Aires, 2007).
Vista conceptual: principales elementos de diseño y su interrelación.
Vista de módulos: estructura funcional y de capas.
Vista de ejecución: estructura dinámica.
Vista de código: organización de código fuente, binarios y bibliotecas en el ambiente de desarrollo.
Libro: “Software Systems Arch itecture ” por Nick Rozanski y Eóin Woods (Woods, 2005).
Funcional: describe los elementos funcionales del sistema, sus responsabilidades, interfaces e
interacciones primarias.
Información: describe la manera en la que la arquitectura almacena, manipula, administra y distribuye
información.
Concurrencia: describe la concurrencia de un sistema e identifica los elementos que se pueden ejecuta
concurrentemente y la manera en que son coordinados y ejecutados.
Desarrollo: describe la arquitectura que soporta el proceso de desarrollo de software.
Despliegue: describe el ambiente dentro del cual el sistema será instalado.
Operacional: describe la manera en la que el sistema será operado, administrado y soportado cuandoesté en el ambiente de producción.
SEI 1(´02): Racionalización de vistas 8Departamento de Computación - Facultad de Ciencias Exactas y
Naturales - Universidad de Buenos Aires, 2007).
Categorizan las vistas en “ViewTypes”.
Viewtypes: definen los tipos de elementos y los tipos de relaciones usados para una descripción desde
una perspectiva particular.
ViewType Modular: Cómo está el sistema estructurado como conjunto de unidades de implementación.
1 El SEI es el Software Engineering Institute un instituto federal estadounidense de investigación y desarrollo, fundado por el Congreso de los
Estados Unidos, en Pittsburgh, en 1984.
![Page 4: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/4.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 4/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
ViewType Componente y Conector: Como un conjunto de elementos que tienen comportamiento e
interacción en tiempo de ejecución.
ViewType Asignación: Cómo se relaciona el software con elementos que no son software.
Propuestas de vistas Microsoft (Platt, 20029).
Vista conceptual: es usada para definir los requerimientos funcionales y la visión que los usuarios de
negocio tienen de la aplicación y describir el modelo de negocio que la arquitectura debe cubrir
Vista lógica: muestra los componentes principales de diseño y sus relaciones de forma independiente de
los detalles técnicos y de cómo la funcionalidad será implementada en la plataforma de ejecución.
Vista física: ilustra la distribución del procesamiento entre los distintos equipos que conforman la
solución, incluyendo los servicios y procesos de base. Vista implementación: describe cómo se implementan los componentes físicos mostrados en vista de
distribución agrupándolos en subsistemas organizados en capas y jerarquías, ilustra, además las
dependencias entre éstos.
Propuestas de vistas de la arquitectura según RUP (Kruchten, 2000).
Vista lógica: requerimientos de comportamiento, mecanismos comunes de diseño (basada en diagramas
de objetos y clases).
Vista de procesos: distribución, integridad, tolerancia a fallas (basada en describir una red lógica deprogramas que se comunican).
Vista de desarrollo o implementación: rehúso, portabilidad, asignación de requerimientos y trabajo de
equipos. Organización del software en el ambiente de desarrollo.
Vista física o de despliegue: disponibilidad, confiabilidad, performance, escalabilidad. Mapea elementos
de las otras vistas a nodos de procesamiento.
Vista de casos de uso o escenarios: definición de procesos, agrupamiento en paquetes.
Hasta aquí se han mostrado las propuestas de diferentes autores para clasificar las vistas que debenconformar la disciplina de la arquitectura de software. A continuación se darán las propias definiciones de
los autores del trabajo, resultantes de una larga investigación y basadas en la experiencia de vario
proyectos.
![Page 5: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/5.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 5/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
Las clasificaciones que se proponen en este trabajo están dadas por la necesidad de agrupar los
elementos que se quedan fuera de las vistas propuestas en una única y global clasificación.
RUP en sus 4+1 vistas, descuida los temas referidos a las vistas de datos, seguridad, presentación y
sistema.
David Parnas, trata elementos a los que Siemens Research hace adiciones, pero a ambos les falta los
temas que aborda el SEI referidos a componentes y conectores.
Al SEI sin embargo le faltan los aspectos relacionados con las vistas de presentación, datos y seguridad.
Tabla 1. Analogía entre arquitecturas.
Arquitectura tradicional Arquitectura de software
Elementos de carga, base del edificio.
Parte más importante en la construcción.
Vista tecnológica: es la base del software,
propicia los elementos de software necesarios para
crear el producto.
Las divisiones que tendrá el edificio, las
habitaciones, los espacios, en fin las
partes en las que estará dividido.
Vista de sistema: identifica y diseña los
elementos de software y sus configuraciones
Los elementos de integración del
edificio, como ladrillos, cabillas, todo lo
que permita que sus partes queden
unidas.
Vista de integración: identifica todos los aspectos
de integración del software.
La seguridad de las puertas, ventanas,
el acceso al edificio, seguridad de la
estructura, etc.
Vista de seguridad: chequea e implementa todos
los aspectos relacionados con el acceso a la
aplicación, la modificación, lectura o eliminación de
la información, etc.
A la hora de construir un edificio hay que
tener en cuenta el acabado, la pintura, la
arquitectura, la presentación, en fin la
imagen del edificio.
Vista de presentación: como luce el software,
cuáles son los colores que lleva la aplicación, como
son los botones, los links…
Todo el personal que vive en el edificio,
los productos que hay en el (mesas,
camas, sillas), todo se debe tener
contabilizado.
Vista de datos: es donde se modela todo lo
persistente y relacionado a la BD.
![Page 6: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/6.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 6/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
En el libro “Software Systems Architecture : Working With Stakeholders Using Viewpoints and
Perspectives ” de Nick Rozanski y Eóin Woods, abordan 5 vistas que abarcan un amplio contenido
pero no tratan las vistas de seguridad e integración. De ahí que se propongan estas vistas que verán a
continuación, y en las que el contenido que se encierra se trató fuera el más abarcador posible y estuviera
bien desglosado y explicado en las vistas respectivas.
Para que se entiendan mejor las vistas de la arquitectura de software y el enfoque que se le dará a cada
una en este trabajo, se hará una analogía con la arquitectura tradicional y sus diferentes “vistas”.
Vista tecnológica
La vista tecnológica tiene como objetivo especificar y describir las tareas y competencias de los roles as
como las actividades y artefactos del área de tecnología, y por tanto, definir las habilidades y los
conocimientos que deben desarrollar las personas que trabajan en esta área de la arquitectura de
software para lograr un buen desempeño. La vista de tecnología es la responsable de garantizar un
soporte tecnológico para el desarrollo de las configuraciones que propone el resultado de una Arquitectura
de sistema, así como las bases tecnológicas para los frameworks especializados de la arquitectura de
sistema o de otras áreas como la de integración. Esta es la vista responsable de identificar las tecnologías
y herramientas a usar en la realización de la aplicación, además de definir la factibilidad técnica de
producto. En esta vista se define la mejor arquitectura posible utilizando una tecnología en particular
igualmente es aquí donde se dan las soluciones técnicas para la optimización de la aplicación, es decipara garantizar la portabilidad, flexibilidad y rendimiento de la aplicación. Los integrantes de la vista de
tecnología son los responsables de generar una tecnología tipo para la aplicación que se desea
desarrollar, de transmitir el conocimiento al resto del proyecto y por último de implantar y controlar el uso
correcto de la tecnología, ganando autoridad y prestigio dentro del proyecto. Las responsabilidades que
encierra la vista de tecnología son las actividades que realiza el arquitecto tecnológico y los artefactos que
genera.
Vista de sistemaLa arquitectura de sistema es una de las disciplinas más complejas dentro de la arquitectura de software
responsable de definir correctamente cohesionados, acoplados e interrelacionados los elementos
computacionales del producto, las principales interacciones, los conectores y las configuraciones a asumi
![Page 7: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/7.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 7/11
![Page 8: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/8.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 8/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
Vista de integración
Integrar es hacer que alguien o algo pase a formar parte de un todo. La vista de integración recoge todos
los elementos o aspectos de algo y lo incorpora al ente o a un conjunto de organismos. La integración en
la arquitectura de software busca una completa relación del espacio interior con el espacio exterior. Una
dualidad que se complementa mutuamente con las características propias de cada ambiente o de cada
plataforma operacional en el desarrollo de software. La arquitectura de Integración persigue la obtención
de una forma más eficiente y flexible de combinar recursos, con el objetivo de optimizar operaciones a
través y más allá del medio ambiente organizacional. Provee una vista única consolidada a partir de
conectores que definen y especifican el comportamiento e interacción entre elementos del negocio
(sistemas, subsistemas y componentes). El objetivo que persigue es plasmar detalladamente qué es lo
que se hace en ella y cómo se hace, se analizan los procesos de integración del negocio; se identifican los
principales flujos de colaboración o unificación en la arquitectura; se establecen los conceptos más críticos
en la integración de sus procesos, de acuerdo al nivel de incidencia en los mismos, partiendo del análisis
de su arquitectura, lo que permitirá conocer las áreas más críticas de integración y por último se analizan
entradas y salidas de cada componente identificado por la arquitectura de sistema. Esta actividad permite
estar al tanto de los lazos de colaboración entre componentes y clasificarlos según la estrategia de
integración identificada por el grupo de arquitectura, construyéndose de esta manera la matriz de
integración del negocio.
Vista de seguridad
Actualmente en muchos de los proyectos de desarrollo de software no existe un área especializada en
garantizar la seguridad del entorno de desarrollo, de despliegue y de las aplicaciones propiamente. Po
esta causa implementar la seguridad resulta trabajoso ya que cada proyecto o institución la controla de
forma diferente, invirtiendo tiempo y cuantiosos recursos humanos y materiales.
En este sentido se estable un área de seguridad denominada Arquitectura de Seguridad, que es la
encargada de establecer toda la política de seguridad a seguir en las diferentes fases o entornos de un
sistema. Para esto deben identificar claramente todas las debilidades que puedan ser aprovechadas paraun ataque. Estas debilidades deben ser agrupadas para crear soluciones que impidan violaciones de
seguridad. Para ello se proponen soluciones como:
![Page 9: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/9.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 9/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
- Desarrollar un sistema de seguridad centralizado que brinde estos servicios a todos los proyectos o
instituciones que desarrollen software. De esta forma se ahorra tiempo y esfuerzo y además se
garantiza la estandarización de los procesos de gestión de seguridad en todos los sistemas que se
desarrollen.
- Crear listas de chequeo por cada fase del software donde se controle el cumplimiento de todas la
normas de seguridad establecidas.
- Definir la Vista de arquitectura de seguridad que sirva de guía para el desarrollo y norme todos los
aspectos a tener en cuenta en cada fase.
Vista de presentación
La vista de presentación en la arquitectura de software, tiene la responsabilidad como disciplina de defini
y desarrollar las tecnologías para la representación de la información y usabilidad de esta. Entre las
responsabilidades que cubre se encuentran los aspectos tecnológicos asociados a garantizar atributos de
calidad en el producto como son los aspectos de rendimiento, usabilidad, reutilización y portabilidad de la
capa de presentación en la arquitectura. Entre sus aspectos más importantes se encuentran el uso de
CSS, uso y gestión de imágenes y web hosting 2entre otros.
Vista de datos
La arquitectura de datos, identifica y precisa las mejores clases de datos que apoyan las funciones denegocio definidas en el modelo de negocios. Es la primera de las arquitecturas a ser concretadas porque
la calidad de los datos es el producto básico de la función de la ingeniería de software. La arquitectura de
datos tiene como objetivo puntualizar los principales tipos y fuentes de datos necesarios para dar soporte
a las actividades de la empresa, de manera que sean:
- entendibles por los participantes.
- completas y consistentes.
- estables.
Esta Vista especifica arquitectónicamente los elementos constantes en el Modelo de Datos (MD). Describe
una apreciación global del MD y su organización por lo que se refiere a las tablas, vistas y
2 El alojamiento web (en inglés web hosting ) es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información,
imágenes, vídeo, o cualquier contenido accesible vía Web.
![Page 10: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/10.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 10/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
almacenamiento de los procedimientos que proporcionan la persistencia al sistema. También describe la
cartografía de clases constantes de la vista lógica a la estructura de los datos de la base de datos. Esta
vista es opcional, ya que sólo se realiza si la persistencia es un aspecto significante del sistema y e
traslado del modelo de diseño al modelo de datos no se hace automáticamente por el mecanismo de
persistencia.
La vista de datos abarca 12 temas fundamentales, estos son: políticas de trabajo, seguridad de datos
normas de comentariado, estándares de nomenclatura, herramientas, tipos de datos, concurrencia
normalización de árboles, políticas de indexado, rendimiento, mantenimiento de la base de datos y
distribución a nivel de datos.
Validación de la propuesta y resultados alcanzados
La propuesta de vistas detallada anteriormente ha tenido una amplia validación llevándose a cabo en e
proyecto ERP-Cuba, uno de los proyectos de software más grandes realizados en la UCI y el primero con
un tipo de arquitectura como esta, teniendo muy buenos resultados, que se pueden apreciar al se
premiado en eventos como la Jornada Científico Estudiantil, el haber obtenido el equipo de arquitectura e
premio del Rector, por el trabajo que se realizó al diseñar e implementar esta arquitectura y ha sido
presentado en diversos eventos más así como está siendo usada actualmente en varios proyectos
productivos de la UCI.
Esta arquitectura ha sido instalada junto con el producto Cedrux en más de 5 empresas como son eHospital Naval, ICID, Centro de Gestión, Empresa Rafael Trejo, UCI entre otras, teniendo buenos
resultados y siendo una potencia tecnológica ya que fue desarrollado completamente con software libre y
guiado por el proceso de vistas referido en este articulo.
Conclusiones
Para construir una arquitectura de software debe precisarse una serie de vistas que agrupen las
definiciones necesarias para adquirir el conocimiento y las actividades requeridas para llevarla a cabo. A
hacer una investigación del tema se pudo apreciar que las vistas estudiadas estaban incompletas o no
agrupaban los diferentes temas en los que se desenvuelve un proyecto de software y que son los más
tratados actualmente por lo que surgió este artículo con la intención de lograr implementar una
arquitectura de software que no deje fuera ningún tema deben implementarse las vistas aquí delimitadas
identificándose 6 vistas principales, sistema, seguridad, presentación, integración, datos y tecnológica, con
![Page 11: 230-1931-1-PB.pdf](https://reader031.fdocuments.in/reader031/viewer/2022021221/577c7af81a28abe05496bcad/html5/thumbnails/11.jpg)
8/15/2019 230-1931-1-PB.pdf
http://slidepdf.com/reader/full/230-1931-1-pbpdf 11/11
Grupo Editorial Ediciones Futuro
Serie Científica de la Universidad de las Ciencias Informáticas (SC-UCI)
Vol.: 3, No. 10, Año 2010
http://publicaciones.uci.cu/index.php/SC
las responsabilidades asociadas a estas. Al implementar una arquitectura como la presentada en este
trabajo, estamos tratando todas las áreas en las que se desenvuelve una arquitectura con un mayor nive
de especialización, tratando cada tema como una vista aparte, logrando con esto un mayor enfoque y una
mayor definición de tareas por área.
Referencias
- Departamento de Computación - Facultad de Ciencias Exactas y Naturales - Universidad de
Buenos Aires. 2007. Departamento de Computación. Departamento de Computación. Disponible
en: [http://www.dc.uba.ar/ ].
- KRUCHTEN. The Rational Unified Process: An Introduction. The Rational Unified Process: A
Introduction. s.l.: Addison Wesley, 2000.
- PLATT, MICHAEL. MSDN Architecture Center. MSDN Architecture Center. [en línea] julio de 2002
Disponible en: [http://msdn.microsoft.com/en-us/library/ms978007.aspx ].
- REYNOSO, CARLOS BILLY. willydev.ne. [en línea] marzo de 2004. Disponible en
[http://www.willydev.net/descargas/prev/IntroArq.pdf ].
- WOODS, NICK ROZANSKI AND EOIN. 2005. Software Systems Architecture: Working with
Stakeholders Using Viewpoints and Perspectives. Addison-Wesley Professional: s.n., 2005.