Esenario 7
Esenario 7
1 //Escenario
Escenario27
Lectura fundamental
Fundamental
Metodologías
Etapas de un plan
y procesos
de comunicación
de
estratégica de software
arquitectura
Contenido
En esta etapa del curso es importante revisar tanto el proceso como el producto de arquitectura.
Por lo general, se usan indistintamente las palabras procesos, metodologías, métodos y marcos
conceptuales para referirse tanto a herramientas como artefactos (productos). A través de esta
unidad se realizará precisión sobre los dos panoramas.
Para esto, se presentan los modelos de proceso más utilizados en la arquitectura de software a
través del escenario 7 y, luego, en el escenario 8 se explican diversas formas sistemáticas usadas
para construir o elaborar los distintos artefactos y las formas de hacerlo. En cada una de las fases o
partes de los procesos, marcos conceptuales, metodologías o frameworks de trabajo presentados,
existen vistas o conjuntos de artefactos que resuelven converses específicos o correspondientes a las
necesidades de dichas fases, que es preciso definir.
La metodología: incluye al método, pero, además, define roles, fases, iteraciones, recomendaciones y
artefactos.
POLITÉCNICO GRANCOLOMBIANO 2
Se construye bajo un proceso iterativo y de mejora continua que permite que el equipo esté seguro
de poder implementar el producto.
El diseño arquitectural es usado para planear, estimar y seguir las actividades de construcción y
allí radican sus principales fortalezas: la capacidad de identificar, organizar y analizar, de manera
temprana, los concerns y drivers de la arquitectura en las primeras etapas del desarrollo de software.
2.1.1. Estados del método ACDM
Ingeniero gerente: aunque el volumen de trabajo sea mayor en las primeras y últimas entapas, es el
encargado y responsable de coordinar todo el diseño y el desarrollo del sistema. Crea el plan maestro
de diseño inicial y ayuda al ingeniero de requisitos en la planificación de los controles de arquitectura.
De manera constante, se encarga de la actualización y replanificación del plan maestro de diseño
basado en datos reales de los talleres de creación; “cuando el proyecto sale bien es culpa de quienes lo
implementan, cuando el proyecto sale mal es culpa del gerente”.
POLITÉCNICO GRANCOLOMBIANO 3
Ingeniero de soporte: es el responsable de poner a punto todo y mantener las herramientas necesarias
para la elaboración del proyecto; debe trabajar en conjunto con el ingeniero de requerimientos para
obtener las demandas de todos los stakeholders, esto es instalación, configuración y mantenimiento
de las herramientas necesarias y de respaldo para el diseño y elaboración de la arquitectura y del resto
del proyecto.
Científico jefe: asiste al arquitecto jefe con detalles técnicos que puedan impactar el sistema y el
clear box test, que, esencialmente, es un análisis directo del código fuente. Debe trabajar junto con
el ingeniero de requisitos para obtener los requisitos de los stakeholders, sin descuidar los drivers
arquitectónicos. Debe capturar y documentar la colección de drivers de arquitectura en bruto.
POLITÉCNICO GRANCOLOMBIANO 4
2.1.3. Documentación en el método ACDM
Tabla 1. Estructura del documento de arquitectura sugerida para ACDM. Modificado de Lattanze (2010)
Más que un método para el desarrollo de la arquitectura del sistema, QAWM es un taller de un
día que contribuye a la primera fase de un proceso de arquitectura, que consiste en la captura de
requerimientos, escenarios y drivers de arquitectura. Adicionalmente, este método incluye una
reunión para el aseguramiento de la calidad. El objetivo de QAWM es tratar de determinar, lo
más pronto posible y de forma ordenada, los atributos de calidad del sistema que servirán como
base fundamental (drivers de arquitectura del sistema); es importante definir claramente los
requerimientos antes de que la arquitectura sea desarrollada.
POLITÉCNICO GRANCOLOMBIANO 5
2.2.1. Estados del método QAWM
QAWM es un método que facilita el descubrimiento de los atributos de calidad para sistemas y
software intensivos, para los cuales es imprescindible la definición clara de los atributos de calidad
antes de la especificación de la arquitectura. El objetivo es que el conjunto de stakeholders
identifiquen y prioricen los atributos y escenarios desde todo punto de vista, establezcan los críticos y
los articulen de manera temprana al diseño de la arquitectura.
Figura 2. Modelos de proceso del workshop de atributos de calidad (QAWM). Modificado de Barbacci et al. (2003)
Fuente: Elaboración propia (2018).
No se definen funciones especiales para el taller, dado que es un evento conjunto de un equipo en
el que pueden estar involucrados de 5 a 7 personas. Se proponen 2 facilitadores para la captura de la
información, con los artefactos presentados en la siguiente sección (ver tablas 2 y 4). Luego se debe
organizar la información, tarea a cargo de los siguientes 2 roles definidos en la metodología, que se
explican a continuación.
Lead QAW: tiene claridad sobre el método y garantiza que tanto los pasos como los artefactos sean
diligenciados y llevados a cabo correctamente.
POLITÉCNICO GRANCOLOMBIANO 6
2.2.3. Documentación en el método QAWM
El encabezado del documento son el título del taller y la fecha; quizás sea necesario un identificador
de acuerdo con las políticas de gestión documental. En la primera sección es importante tener
registro de los asistentes y tomar notas según corresponda en la segunda y tercera sección (ver tabla
3); debe realizarse un listado de los atributos de calidad a los que se le dará prioridad o se someterán a
consideración, incluyendo los problemas asociados y las distintas anotaciones que se deriven del taller.
Desde la sección 5 a la 7 se utiliza la misma estructura (ver tabla 2), insertando filas según sea
necesario. En la sección 5 se redactan los escenarios crudos propuestos por cualquiera de los
stakeholders, usando el formato e incluyendo una valoración parcial y total; luego, (sección 6)
se deben fusionar escenarios similares y duplicados, y presentarlos. Finalmente (sección 7), cada
parte interesada debe, por lo menos, realizar una votación equivalente al 30 % del número total de
escenarios.
POLITÉCNICO GRANCOLOMBIANO 7
Tabla 3. Estructura del documento final del taller QAW.
Para la última sección, “Refinamiento del escenario”, quizás la más extensa (ver tabla 4), se presenta
el inventario total de escenarios, incluyendo múltiples detalles, tales como: ¿Cuánto tiempo?, ¿Con
qué frecuencia?, ¿Cuándo?, ¿Quién?, y así sucesivamente.
POLITÉCNICO GRANCOLOMBIANO 8
2.3. El modelo de vista "4 + 1" de la arquitectura de software
Más que una metodología, el modelo 4+1, de Philippe Kruchten, es una clasificación o modelo de
organización de las distintas vistas UML para la completa descripción del software y su arquitectura.
Esto permite resolver separadamente cada uno de las preocupaciones o drivers de los distintos
stakeholders de la arquitectura de software, entre ellos el usuario final, gerentes de proyecto,
programadores, ingenieros de sistemas etc., Propone una aproximación iterativa para lograr consolidar
las 5 vistas presentadas en el siguiente diagrama:
POLITÉCNICO GRANCOLOMBIANO 9
¿Sabía qué...?
Philippe Kruchten, profesor de Ingeniería de software de University of
British Columbia, Canadá, ha escrito cerca de 249 artículos entre 1977
y 2004, hecho que lo convierte en un referente en su área. Varios de los
artículos se encuentran en las columnas de IEEE software Magazine. Puedes
conocer más acerca de este autor en: https://philippe.kruchten.com/
POLITÉCNICO GRANCOLOMBIANO 10
Cómo mejorar...
En la sección final de este documento, se listan otra serie de
metodologías, modelos de proceso y frameworks o marcos conceptuales
que son importantes investigar para tomar lo mejor de cada mundo
para las propuestas de su proyecto de investigación formativo (Vistas
y más allá, puntos de vista y perspectivas, el estándar ISO/IEC/IEEE
42010:2011, el modelo 4 Vistas de Siemens, Rational ADS, entre otros).
• Rational ADS
Como anexo, se presenta la siguiente tabla que compara metodologías, frameworks y procesos
de arquitectura, y en la que se exponen algunos de los métodos, modelos y marcos conceptuales
abordados en esta lectura fundamental.
POLITÉCNICO GRANCOLOMBIANO 11
Tabla 7. Comparación de metodologías, frameworks y procesos de arquitectura
Método de diseño
Puntos de vista y centrado en la
Vistas y más allá 4+1 Vistas
perspectivas arquitectura
(ACDM)
Drivers de
Tipo Método Modelo Marco Conceptual
Arquitectura
Provee un proceso
que especifica las
actividades, roles Sí No aplica No aplica Sí
y artefactos de
entrada y salida
Se asume la
participación de los
siguientes roles:
administrador del
proyecto, arquitecto
Arquitecto de de software líder, líder
Participantes software
No aplica No aplica
científico, ingeniero
de requerimientos,
ingeniero de calidad,
ingeniero de soporte
e ingeniero de
producción.
Conjunto de
interesados en el
sistema e información Drivers de
Entradas proveniente de la
No aplica No aplica
arquitectura
etapa de diseño de la
arquitectura
Lista de vistas a
Conjunto de vistas
documentar junto con
Salidas el orden en que deben
No aplica No aplica arquitectónicas
documentadas
ser elaboradas
Tener un conjunto de
Todas las vistas
Criterios de vistas a documentar y
No aplica No aplica arquitectónicas están
terminación el orden en que deben
documentadas
ser elaboradas
POLITÉCNICO GRANCOLOMBIANO 12
Considera
las tres vistas
fundamentales: Método Modelo Marco Conceptual
Drivers de
lógicas, de Arquitectura
comportamiento
y físicas
Puede ser utilizado Modelo que puede
dentro del contexto ser utilizado en el Método iterativo
Definido como
de un método contexto de un e incremental
una secuencia de
Considera vistas pasos que soporta la
de desarrollo método de desarrollo que soporta la
adicionales identificación de las
para soportar la para soportar la identificación y
especificación y especificación y documentación de
vistas a documentar
documentación de documentación de vistas arquitectónicas
vistas arquitectónicas vistas arquitectónicas
Provee soporte
para documentar
atributos no No No Sí No
funcionales
específicos
Da soporte para
identificar o Sí No No Sí
priorizar las vistas
a documentar
Sugiere cómo
organizar la Sí Sí No Sí
documentación
generada
Hace determinado
Notación utilizada No indica No aplica énfasis en el uso en No indica
UML
Fuente: Elaboración propia (2018). Modificado de Cervantes Maceda, Velasco Elizondo y Castro Careaga (2016).
POLITÉCNICO GRANCOLOMBIANO 13
En síntesis...
Existen una gran variedad de metodologías, marcos de referencia y
modelos de proceso que sirven de apoyo para el arquitecto de software.
Muchos de ellos se complementan con otros que son redundantes, pero
con seguridad cada uno tiene una característica diferenciadora que lo hace
especial y que contribuye a mejorar la comunicación y organización de las
actividades, artefactos y roles involucrados en la arquitectura de software.
En esta lectura se abordaron varios temas: la metodología y procesos
(ACDM), las fases iniciales y el aseguramiento de la calidad (QAWM y
FRUPS+), las vistas y su organización (4+1) y, finalmente, una serie de
aspectos considerados de manera transversal.
POLITÉCNICO GRANCOLOMBIANO 14
Referencias bibliográficas
Barbacci, M. R., Ellison, R., Lattanze, A. J., Stafford, J. A., Weinstock, C. B. & Wood, W. G. (2003).
Quality Attribute Workshops (QAWs). Pittsburgh, PA: Software Engineering Institute.
Cervantes Maceda, H., Velasco Elizondo, P. y Castro Careaga, L. (2016). Arquitectura de software.
Conceptos y ciclo de desarrollo. México: Cengage Learnig.
Craig, L. (1999). UML y patrones: introducción al análisis y diseño orientado a objetos. PEARSON.
ISO/IEC/IEEE 42010. (2011). Systems and software engineering — Architecture description. IEEE
Xplore: INTERNATIONAL STANDARD.
Kruchten, P. (1995). The “4+1” View Model of Architecture. IEEE Software, 12(6), 42-50.
Lattanze, A. J. (2010). Architecting Software Intensive Systems: A Practitioner’s Guide. Boca Raton,
FL, EUA: CRC Press.
Referencias de figuras
Barbacci, M. R., Ellison, R., Lattanze, A. J., Stafford, J. A., Weinstock, C. B. & Wood, W. G. (2003).
Quality Attribute Workshops (QAWs). Pittsburgh, PA: Software Engineering Institute.
Kruchten, P. (1995). The “4+1” View Model of Architecture. IEEE Software, 12(6), 42-50.
Lattanze, A. J. (2010). Architecting Software Intensive Systems: A Practitioner’s Guide. Boca Raton,
FL, EUA: CRC Press.
Referencias de tablas
Barbacci, M. R., Ellison, R., Lattanze, A. J., Stafford, J. A., Weinstock, C. B. & Wood, W. G. (2003).
Quality Attribute Workshops (QAWs). Pittsburgh, PA: Software Engineering Institute.
Cervantes Maceda, H., Velasco Elizondo, P. y Castro Careaga, L. (2016). Arquitectura de software.
Conceptos y ciclo de desarrollo. México: Cengage Learnig.
Craig, L. (1999). UML y patrones: introducción al análisis y diseño orientado a objetos. PEARSON.
Kruchten, P. (1995). The “4+1” View Model of Architecture. IEEE Software, 12(6), 42-50.
Lattanze, A. J. (2010). Architecting Software Intensive Systems: A Practitioner’s Guide. Boca Raton,
FL, EUA: CRC Press.
POLITÉCNICO GRANCOLOMBIANO 15
INFORMACIÓN TÉCNICA
POLITÉCNICO GRANCOLOMBIANO 16