Está en la página 1de 5

Análisis de Puntos
de Función
• Evaluación de
Arquitecturas
• Model Driven
Development

Software Guru CONOCIMIENTO EN PRÁCTICA


Año 03 No.02 • Marzo-Abril 2007 • www.softwareguru.com.mx
ESPECIAL
Un vistazo a
la industria de
[ ENTREVISTA ] software
Mariana Pérez-Vargas

Equípate
Abriendo brecha

Herramientas de Desarrollo

México, $65.00

Noticias • Eventos • Fundamentos • UML • Infraestructura • Reflexiones [ Fundamentos ]


Ingeniería Web
// PRÁCTICAS /* ARQUITECTURA*/

Evaluando la Arquitectura de Software


Parte 2. Métodos de Evaluación
Por Omar Salvador Gómez

E n el número anterior, dimos a conocer la práctica de evalua-


ciones a la arquitectura, durante el ciclo de vida del desarro-
llo de software. Algunos de los puntos que estudiamos fueron: el
con el propósito de evaluación. Por ejemplo: si la meta es estimar
el esfuerzo de mantenimiento, se recomienda seleccionar aquellos
escenarios que corresponden a los cambios que tienen una alta pro-
propósito de valorar los diferentes tipos de evaluación, los roles babilidad de que ocurran durante la vida operacional del sistema.
asociados, y resultados. 4. Evaluar escenarios. Se realiza un análisis de impacto, que con-
siste en identificar los componentes afectados por los escenarios
En esta ocasión, daremos a conocer cuatro métodos que analizan un previamente definidos, determinar el efecto del cambio sobre los
atributo de calidad específico en la arquitectura de software. Des- componentes, así como determinar los efectos del cambio en otros
pués de explicar cada método, presento una tabla comparativa para componentes. Los resultados de este análisis se deben expresar ya
brindar una guía rápida hacia cada uno. sea de manera cuantitativa o cualitativa.
5. Interpretar resultados. Finalmente se interpretan los resultados,
Architecture Level Modifiability Analysis (ALMA) así como las conclusiones del análisis dependiendo de la meta de
El atributo de calidad que analiza ALMA, es la facilidad de modifica- evaluación seleccionada.
ción. Esto se refiere a la capacidad de un sistema para ser ajustado
debido a cambios en requerimientos, o en el entorno, así como la
adición de nueva funcionalidad. ALMA es el resultado de los trabajos
de investigación realizados por Bengtsson y Lassing [1].

ALMA es un método de evaluación orientado a metas. Existen tres


para las que se puede usar:
•Predicción del costo de mantenimiento. Consiste en estimar el es-
fuerzo requerido para modificar la arquitectura a cambios requeri-
dos en un futuro.
•Evaluación de riesgos. Identifica los tipos de cambios que pueden
ser complejos o que sean inflexibles en la arquitectura de software.
•Selección de un conjunto de arquitecturas. Compara dos o más ar-
quitecturas propuestas y selecciona aquella que proporcione mayor
soporte a cambios.
Figura 1. Método ALMA
ALMA puede utilizarse una vez que concluye la especificación de
la arquitectura (evaluación clásica), o aun cuando la arquitectu- Performance Assessment of Software Archi-
ra ya ha sido implementada (evaluación tardía). Este método se tecture (PASA)
apoya en el uso de escenarios de cambio, los cuales describen El atributo de calidad que analiza PASA, es el desempeño. Que se
eventos posibles que provocarían cambios al sistema, y cómo se interesa por conocer, qué tanto tiempo le toma al sistema de soft-
llevarían acabo éstos. ware responder cuando uno o varios eventos ocurren, así como
determinar el número de eventos procesados en un intervalo de
Este método se realiza a través de los siguientes pasos: tiempo dado. PASA es el trabajo resultante de Williams y Smith [2],
1. Definir la meta de evaluación. Dependiendo del objetivo de la eva- y utiliza diversas técnicas para la evaluación, tales como la apli-
luación, se selecciona alguna de las tres metas. cación de estilos arquitectónicos, anti-patrones, guías de diseño
2. Describir la arquitectura de software. Se colecta la información más y modelos.
relevante de la arquitectura: sus principales componentes, las relacio-
nes entre éstos, así como las relaciones con el entorno del sistema. Al igual que ALMA, PASA se basa en escenarios. Asimismo, puede
3. Obtener escenarios. Se definen los escenarios de cambio y se aplicarse una vez que la arquitectura se ha especificado, o poste-
agrupan en categorías. Se eligen aquellos escenarios relacionados riormente, cuando ya ha sido implementada. Los escenarios gene-

Omar Salvador Gómez Gómez obtuvo el grado de Maestro en Ingeniería de Software en el Centro de Investigación en Matemáticas (CIMAT). Actualmente es
profesor de la Universidad de Guadalajara, es miembro de la Association for Computing Machinery (ACM) y del IEEE Computer Society. Puedes contactarlo en
ogomez@ieee.org

36 MAR-ABR 2007 www.softwareguru.com.mx


rados en este método proveen una medida de razonamiento con con los resultados de la evaluación que incluye los objetivos
respecto al desempeño del sistema. Si se requieren análisis más de la evaluación, hallazgos encontrados, pasos específicos a
detallados, los escenarios sirven como punto de partida para cons- seguir y recomendaciones.
truir modelos de desempeño.

Para utilizar este método, la arquitectura de software debe estar pre-


viamente documentada. En caso de que se encuentre parcialmente
documentada, es necesario extraer la información faltante de los
miembros del equipo, así como de códigos fuente.

Los pasos para llevar acabo este método son:


1. Presentar el método de evaluación. Se comunica al equipo y direc-
tivos el objetivo de la evaluación, y se explica el método PASA.
2. Presentar la arquitectura. El equipo de desarrollo presenta la ar-
quitectura actual de una manera general y sin entrar en detalles.
3. Identificar casos de uso críticos. Se seleccionan los casos de
uso que son importantes para la operación del sistema, así como
aquellos que demandan una respuesta de tiempo rápida para el
usuario, u otros que presentan algún riesgo de desempeño. Re-
cordemos que un caso de uso puede contener varios escenarios,
que describen las diferentes formas en que se puede realizar el Figura 2. Método PASA
caso de uso. Los escenarios se especifican en UML como diagra-
mas de secuencia. Las personas involucradas durante la evaluación son: el arquitec-
4. Seleccionar los escenarios de desempeño principales. Por cada to, el equipo de desarrollo y en algunos momentos, el gerente(s)
caso de uso crítico, se debe identificar los escenarios significativos de proyecto. Si se realiza de forma intensiva, la evaluación com-
con respecto al desempeño. pleta se puede llevar acabo en una semana. PASA se considera
5. Identificar objetivos de desempeño. Por cada escenario de des- un método de evaluación maduro, ya que ha sido probado en
empeño principal, se debe especificar al menos un objetivo de varios dominios de aplicación como sistemas web, aplicaciones
desempeño. Mismos que pueden ser expresados de distintas ma- financieras y sistemas en tiempo real.
neras. Por ejemplo: expresarlos en tiempo de respuesta, capacidad
de respuesta, restricciones o utilización de recursos. Para poder Scenario based Architecture Level UsabiliTy
medirlo, el objetivo de desempeño debe ser cuantitativo. Analysis (SALUTA)
6. Clarificar la arquitectura y discutirla. En este paso se estudia más SALUTA es el primer método desarrollado para evaluar la arqui-
a detalle la arquitectura, por lo que se tienen reuniones con el ar- tectura desde la perspectiva de la facilidad de uso del sistema.
quitecto y equipo de desarrollo para aclarar dudas. Si existe infor- SALUTA es el resultado de los trabajos de investigación hechos
mación acerca del desempeño del sistema, se colectan métricas. por Folmer y Gurp [3].
7. Analizar la arquitectura. En este paso se utilizan diferentes téc-
nicas para analizar el desempeño de la arquitectura. Por ejemplo: Este método hace uso de un marco de referencia elaborado por
se identifican estilos arquitectónicos, con la finalidad de detectar los mismos autores en el que se expresan las relaciones que
efectos negativos en el desempeño, se identifican anti-patrones existen entre la facilidad de uso y la arquitectura de software
de desempeño que documentan problemas comunes. Se elaboran [4]. Este marco de referencia incluye un conjunto integrado de
modelos de desempeño con el objetivo de identificar problemas en soluciones de diseño tales como patrones de diseño y propieda-
la arquitectura. des que tienen un efecto positivo sobre la facilidad de uso en un
8. Identificar alternativas. Si se encontraron problemas de desem- sistema de software. SALUTA analiza cuatro atributos que están
peño, se identifican alternativas de solución. Estas pueden incluir el directamente relacionados con la facilidad de uso en un siste-
cambio de estilo arquitectónico, modificar la arquitectura para eli- ma de software, estos son: facilidad de aprendizaje, eficiencia
minar anti-patrones de desempeño, o alternativas para optimizar la de uso, confiabilidad y satisfacción. Se recomienda efectuar la
interacción entre componentes. evaluación una vez que la especificación de la arquitectura ha
9. Presentar resultados. Finalmente se elabora un documento finalizado, pero antes de que se implemente.

www.softwareguru.com.mx MAR-ABR 2007 37


// PRÁCTICAS /* ARQUITECTURA */

Este método se basa en escenarios de uso, los cuales se agrupan Survivable Network Analysis (SNA)
en uno o más perfiles de uso. Cada uno representa la facilidad de SNA [5] es un método desarrollado por el CERT (Computer Emergency
uso requerida por el sistema de software. Response Team) que forma parte del SEI. Este método ayuda a identificar
la capacidad de supervivencia en un sistema, analizando su arquitectura.
SALUTA está compuesto por los siguientes pasos, que se ilustran La supervivencia, es la capacidad que tiene un sistema para completar
en la figura 3. su misión a tiempo, ante la presencia de ataques, fallas o accidentes. Un
ejemplo de la definición anterior es la siguiente: un cajero automático
1. Crear perfiles de uso. Se identifican los usuarios y se organizan debe garantizar al usuario los servicios esenciales aun cuando éste se en-
en categorías. Luego se identifican las tareas más significativas cuentre en presencia de algún ataque externo o falla interna.
del sistema y el contexto donde será usado el sistema, se deter-
minan los valores para los atributos: facilidad de aprendizaje, SNA utiliza tres propiedades clave para evaluar la supervivencia en
eficiencia de uso, confiabilidad y satisfacción. Para reflejar la di- un sistema:
ferencia en la prioridad de los atributos, se asigna a cada uno un •Resistencia. Es la capacidad del sistema para repeler ataques, fa-
valor numérico no repetido entre 1 y 4. Por último, se seleccionan llas o accidentes.
los escenarios más representativos que tienen mayor prioridad •Reconocimiento. Es la capacidad de detectar ataques, fallas o acci-
con respecto a sus atributos. dentes, y si estos ocurren, evaluar los daños.
2. Describir la facilidad de uso proporcionada. Se colecta la infor- •Recuperación. Es la capacidad de mantener en operación los servi-
mación de la arquitectura de software para determinar el nivel de cios esenciales en presencia de ataques, fallas o accidentes.
soporte en los escenarios de uso. Esto se realiza efectuando un
análisis basado en patrones, o basado en propiedades. En ambos Este método puede ser aplicado después de la especificación de una
análisis se utiliza el marco de referencia para determinar la presen- arquitectura, durante la implementación de ésta, o posteriormente.
cia de patrones o propiedades de facilidad de uso en la arquitec- SNA se basa en escenarios de uso, e identifica dos tipos de escena-
tura a evaluar. rios. El primer tipo son los escenarios normales, que se componen
3. Evaluar escenarios. Se evalúa cada uno de los escenarios que forman de una serie de pasos donde los usuarios invocan a servicios y obtie-
parte del perfil de uso. Por cada escenario se analizan los patrones y nen acceso a activos, tales como bases de datos. El segundo tipo de
propiedades previamente identificados. Se recomienda usar el marco escenarios son los de intrusión, en los que se representan diferentes
de referencia para analizar cómo un patrón, o propiedad particular afec- tipos de ataques al sistema.
ta a un atributo específico en un escenario de uso. Finalmente, se ex-
presan de manera cuantitativa los resultados del análisis, que indican el SNA está compuesto por los siguientes pasos:
grado de soporte de facilidad de uso en cada uno de los escenarios. 1. Definición del sistema. En este paso se obtiene la misión del siste-
4.Interpretar resultados. En este paso se obtienen los resultados ma, se discute el entorno de uso en términos de capacidades y ubi-
de la evaluación, que contienen el grado de facilidad de uso que caciones de los usuarios, se analizan posibles riesgos que el sistema
soporta la arquitectura evaluada. pueda presentar en condiciones adversas, finalmente se analiza la
arquitectura de software.
2. Definición de las capacidades esenciales. A continuación se selec-
cionan los servicios esenciales y los activos que usan. Se deben selec-
cionar aquellos servicios y activos que sean críticos para garantizar en
condiciones adversas, la misión del sistema. Una vez seleccionados,
estos se trazan a través de la arquitectura, para identificar los compo-
nentes que participan en proporcionar los servicios esenciales.
3. Definición de las capacidades que comprometen al sistema. En
este paso se selecciona un conjunto representativo de posibles ata-
ques, basados en el entorno de operación del sistema. Se definen
los escenarios de intrusión y se trazan a través de la arquitectura,
para identificar componentes que comprometan la supervivencia del
sistema, logrando así el acceso y daño a éste.
4. Analizar la supervivencia. Finalmente se identifican los escenarios
de intrusión que contienen los componentes esenciales y que compro-
meten la supervivencia del sistema. Por cada componente identificado
Figura 3. Método SALUTA se procede a analizarlo en términos de las capacidades de resistencia,
reconocimiento y recuperación. Estos análisis se colocan en una tabla
Las personas involucradas durante la evaluación son el arquitecto de llamada: mapa de supervivencia, que contiene por cada escenario de
software, ingenieros de requerimientos o ingenieros responsables intrusión, las estrategias de supervivencia actuales y las recomendadas
por la facilidad de uso. con respecto a cada una de las capacidades.

38 MAR-ABR 2007 www.softwareguru.com.mx


la facilidad de uso; y SNA, que analiza en la arquitectura, la superviven-
cia de un sistema ante la presencia de ataques, fallas o accidentes. La
Tabla 1 presenta a manera de resumen, un cuadro comparativo entre
estos cuatro métodos de evaluación.

Referencias
1. Bengtsson, PerOlof, Nico Lassing and Jan Bosch, Vliet, Hans
van. “Architecture-Level Modifiability Analysis (Alma).” The Jour-
nal of Systems and Software 69 (2004): 129-147.
2. Williams, Lloyd G. and Connie U. Smith. “PASASM: A Method
for the Performance Assessment of Software Architecture.” Paper
presented at the Proceedings of the 3rd Workshop on Software
Performance, Rome, Italy 2002.
Figura 4. Método SNA 3. Folmer, Eelke, Jilles van Gurp and Jan Bosch. “Scenario-Based
Assessment of Software Architecture Usability.” Paper presented
El resultado que se obtiene al final de la evaluación, es un docu- at the Proceedings of Workshop on Bridging the Gaps Between
mento que incluye modificaciones recomendadas a la arquitectura, Software Engineering and Human-Computer Interaction, ICSE,
acompañadas del mapa de supervivencia. Las personas involucra- Portland 2003.
das durante la evaluación son: el arquitecto de software, el diseña- 4. Eelke Folmer, Jilles van Gurp and Jan Bosch. Investigating the
dor principal, los propietarios del sistema y usuarios del mismo. Relationship Between Usability and Software Architecture, Soft-
ware process improvement and practice: Wiley, 2003.
Conclusiones 5. Mead, Nancy R., Robert J. Ellison, Richard C. Linger, Thomas
En esta segunda parte hemos presentado el método de evaluación Longstaff and John McHugh. “Survivable Network Analysis Me-
ALMA, que se interesa por predecir la facilidad de modificación en una thod.” CMU/SEI, 2000.
arquitectur. PASA, que analiza en la arquitectura el desempeño del sis-
tema. SALUTA, que analizando una serie de atributos de calidad predice

ALMA PASA SALUTA SNA

Meta Predecir el costo de Analizar la arquitectura Predecir la facilidad de Identificar la capacidad de


mantenimiento, evaluar con respecto a los uso en un sistema supervivencia en un sistema ante la
riesgos, comparación objetivos de desempeño analizando la presencia de ataques, fallas o
entre arquitecturas. de un sistema. arquitectura. accidentes.
Atributo de calidad Facilidad de modificación Desempeño Facilidad de uso Supervivencia

Técnica Escenarios de cambio Escenarios Escenarios de uso Escenarios de uso normales,


de evaluación escenarios de intrusión.
Entradas Especificación de la Especificación de la Especificación de la Especificación de la arquitectura
arquitectura, requerimien- arquitectura. arquitectura, requerimien-
tos no funcionales. tos no funcionales rela-
cionados con la facilidad
de uso.
Salidas Dependiendo de la meta Hallazgos encontrados, Grado de facilidad de uso Modificaciones recomendadas a la
de evaluación se generan pasos específicos a que soporta la arquitec- arquitectura y mapa de
los resultados. seguir y tura evaluada. supervivencia.
recomendaciones.
Personas involucradas Arquitecto y equipo de Arquitecto, equipo de Arquitecto, ingenieros de Arquitecto, diseñador principal,
desarrollo desarrollo y requerimientos o ingenie- propietarios del sistema, usuarios.
administradores del ros responsables por la
proyecto. facilidad de uso.
Duración No especificado 7 días No especificado No especificado

Validación del Sistemas de control em- Sistemas basados Algunos casos de estudio Sistemas comerciales y de gobierno.
método bebido, sistemas médi- en Web, aplicaciones que incluyen
cos, telecomunicaciones, financieras y sistemas en principalmente sistemas
sistemas administrativos. tiempo real. Web.

Tabla 1. Cuadro comparativo entre los métodos de evaluación ALMA, PASA, SALUTA y SNA

www.softwareguru.com.mx MAR-ABR 2007 39


View publication stats

También podría gustarte