Sunteți pe pagina 1din 20

RACCIS, 3(2), 19-37, 2013

Revista Antioqueña de las


Ciencias Computacionales y la Ingeniería de Software
ISSN: 2248-7441

www.fundacioniai.org/raccis
raccis@fundacioniai.org

From Business Model to System Architecture Considering Goals, Aspects and


Quality Standards
Del Modelo de Negocio a la Arquitectura del Sistema Considerando Metas,
Aspectos y Estándares de Calidad
Jean Carlos Guzmán1, Francisca Losavio2, Alfredo Matteo3
1 Vice-Chancellorship for Virtual Studies. Caribbean International University. Willemstad, Curaçao. Jeancguzman(AT)outlook.com.
2-3 Laboratorio de Modelos, Software y Tecnología (MoST). Escuela de Computación, Facultad de Ciencias, Universidad Central de
Venezuela. Caracas, Venezuela. 2francislosavio(AT)gmail.com, 3alfredojose.matteo(AT)gmail.com.

INFORMACIÓN DEL ARTÍCULO ABSTRACT


At present business models have been converted into strategic assets for enterprise
Tipo de artículo: Investigación organizations. They facilitate information management for decisions making, transactions
between parties and optimized services. The goal of this work is to present an Architectural
Historia del artículo:
Design Process (DAOMAC) integrating Goals, Aspects and Quality Standards techniques and
Recibido: 13-08-2013
practices, to obtain an Initial Architecture for the software system from the business model.
Correcciones: 12-10-2013
The main contribution of this work is to consider explicitly non-functional requirements in
Aceptado: 21-11-2013
the different abstraction levels involved in the process to obtain the initial architecture
model, and guaranteeing their traceability: tasks originating non-functional goals in the
Categories and Subject Descriptors:
business model where they are not explicitly considered, non-functional crosscutting goals
D.2.4 [Software Engineering]:
in the goal model, crosscutting concerns treated as softgoals and operationalizations in the
Management – Software process
SIG (Softgoal Interdependency Graph) model. The main artifact obtained is the initial
models.
architecture and its logical view can be appreciated in the DAOMAC application to the case
General Terms:
study, an administrative service process of the Citizen Identification and Registration
Business Process Management,
System. Another important contribution is the specification of non-functional requirements
Engineering, Requirements
by the ISO/IEC 25010 standard to facilitate their traceability and the communication among
Engineering, Software Architectures.
work groups.
Keywords:
RESUMEN
Architecture Design; Business
Actualmente los modelos de negocio se han convertido en activos estratégicos para las
Model; Goals; Aspects; Quality
organizaciones empresariales. Ellos facilitan el manejo de información para toma de
Standards
decisiones, transacciones entre las partes y optimización en prestación de servicios. El
objetivo de este trabajo es presentar un proceso de Diseño Arquitectónico Orientado a
Palabras clave:
Metas, Aspectos y Calidad (DAOMAC) para obtener una Arquitectura Inicial del sistema de
Diseño Arquitectónico; Modelo de
software a partir del modelo de negocio. La contribución principal de este trabajo es haber
Negocio; Orientación a Metas;
considerado explícitamente en el proceso los requisitos no funcionales en varios niveles de
Orientación a Aspectos; Estándares
abstracción desde el modelo de negocio, en el cual no están contemplados explícitamente,
de Calidad
hasta llegar al modelo de la arquitectura inicial, garantizando así la trazabilidad entre los
modelos utilizados por las diferentes técnicas: tareas que originan metas no funcionales a
nivel de modelo de negocio, metas no funcionales transversales en el modelo de metas,
incumbencias transversales, softgoals y operacionalizaciones en el modelo SIG (Softgoal
Interdependency Graph). El principal artefacto obtenido es la arquitectura inicial, cuya vista
lógica se aprecia en la aplicación de DAOMAC al caso de estudio, el proceso de Gestión de
Trámites de Identificación del Servicio Administrativo de Identificación, Migración y
Extranjería (SAIME). Otro aporte significativo es la especificación de todos los requisitos no
funcionales por el estándar ISO/IEC 25010, para facilitar su trazabilidad y la comunicación
entre los grupos de trabajo.

© 2013 IAI. All rights reserved.


1. INTRODUCCIÓN transformaciones culturales, económicas, políticas,
Los cambios del entorno exigen hoy día a las empresas, sociales y tecnológicas. Las empresas bajo este contexto,
desarrollar capacidades y competencias que le posibiliten son sistemas organizacionales diseñados para alcanzar
ofrecer productos y servicios con alto valor agregado, objetivos y metas, están compuestos por subsistemas
para enfrentar las demandas actuales y futuras a las que interrelacionados que cumplen funciones especializadas,
están siendo sometidas como resultado de profundas supeditadas al consenso sistemático entre personas para
19
lograr algún propósito específico. De allí la necesidad de una actividad que culmina con la consecución de una
establecer y utilizar modelos de negocio. Un Modelo de meta, que el usuario no percibe directamente y esto se
Negocio, es un punto inicial para la elaboración del pone de manifiesto en los niveles de abstracción
sistema de software; es útil para que el equipo de subsiguientes de orientación a metas y aspectos. En vista
desarrollo entienda mejor la especificación de los que BPMN [48] no permite expresar metas sino tareas y
requisitos globales, que el futuro sistema debe satisfacer asociaciones entre estas tareas, las asociaciones entre
[43]. Sin embargo, cómo pasar del modelo de negocio al tareas y metas no funcionales se han denotado en BPMN
modelo del sistema tomando en cuenta propiedades no por la “etiqueta” estereotipada de UML (Unified Modelling
funcionales (no directamente percibidas por el usuario) Language) [46], «MNF». En general, hablaremos entonces
en las etapas tempranas del ciclo de vida del software, es de metas no funcionales a nivel de BPMN que indican
aún un problema por resolver. Actualmente existe un objetivos de calidad asociados a una tarea, como por
consenso en considerar estas propiedades como ejemplo consideraciones de seguridad para el acceso al
elementos clave para construir la arquitectura inicial de sistema o grado de precisión de un cómputo.
un sistema de software. En [34], se considera una
Arquitectura Inicial, como la estructura computacional Actualmente, la consideración de metas no funcionales a
que posee los componentes principales del sistema de nivel de modelado de negocio cobra mayor importancia
software, a partir de la cual se articulará el resto del con la automatización directa de los procesos de negocio
sistema. mediante Servicios Web [59, 64]. A nivel de la Ingeniería
de Requisitos, estas tareas no funcionales o <<MNF>>,
Existen en la literatura muchos trabajos que comparan corresponden a Metas No Funcionales en el modelo de
diferentes enfoques de diseño arquitectónico; en el metas, el cual se expresa en el Lenguaje de Requisitos
presente trabajo consideramos el estudio reciente Orientado a Metas o GRL (Goal-oriented Requirements
realizado en [23], en el cual se comparan nueve métodos Language) [30]. Se tomarán también en cuenta aquellas
de diseño arquitectónico que consideran diferentes metas no funcionales que afectan o entrecruzan a otras
enfoques de análisis de requisitos, todos centrados en la metas, o Metas No Funcionales Transversales, las cuales
captura de requisitos no funcionales para el diseño fueron definidas y tratadas en [22], para así garantizar su
arquitectónico, desde siete criterios seleccionados consideración temprana en el contexto de la Orientación a
después de aplicar la técnica de análisis de características Aspectos o AOSD (Aspect-Oriented Software Development).
propuesta en [32]: orientación a metas, metas de negocio, La meta no funcional transversal principal es el requisito
orientación a aspectos, evaluación arquitectónica, no funcional transversal considerado de mayor prioridad;
especificación de requisitos de calidad, notación a todas la metas no funcionales se asignan prioridades y
arquitectónica y herramientas de soporte. Se destacan los son refinadas hasta llegar a operacionalizaciones
siguientes resultados: - ninguno de los métodos concretas, que corresponden a mecanismos o soluciones
estudiados considera estándares para la especificación de arquitectónicas; en [23] estos mecanismos o soluciones
los requisitos de calidad; - seis métodos admiten la fueron evaluados para seleccionar una opción adecuada
orientación a metas, de los cuales tres consideran el entre varias alternativas arquitectónicas disponibles; la
modelado del negocio como nivel de abstracción inicial; - solución seleccionada es candidata a ser tratada como
dos métodos enfatizan la orientación a aspectos; - solo componente aspecto en la conformación de la arquitectura
uno combina las orientaciones a metas y a aspectos. inicial.
Finalmente, se precisa un conjunto de directrices
(incluyendo técnicas y artefactos) que son consideradas Utilizamos como caso de estudio para la aplicación y
en nuestro trabajo para la definición de un proceso de primera validación del proceso propuesto, la descripción
diseño arquitectónico que incorpora las técnicas textual del proceso de Gestión de Trámites de
mencionadas de metas, aspectos y estándares de calidad Identificación tomado del área gubernamental, en el
las cuales serán descritas en secciones posteriores. dominio de gobierno electrónico, y adelantado por la
Dirección Nacional de Identificación, que involucra a las
En función de lo observado, el objetivo principal de este Unidades Medulares del Servicio Administrativo de
trabajo es presentar un proceso de Diseño Arquitectónico Identificación, Migración y Extranjería (SAIME), en
Orientado a Metas, Aspectos y Calidad (DAOMAC) para Caracas, Venezuela.
obtener una Arquitectura Inicial, a partir de un modelo de
negocio. El proceso inicia con la descripción textual de un Este artículo, además de la introducción, la conclusión y el
modelo de negocio; la calidad exigida es especificada bajo agradecimiento, consta de cuatro secciones: la segunda
el estándar de calidad ISO/IEC 25010 [31] para facilitar la sección presenta el contexto del trabajo, que contempla el
trazabilidad y comunicación durante el proceso de modelado del negocio en BPMN, el modelado de metas en
desarrollo. A nivel de la organización empresarial, el GRL, el diseño arquitectónico y modelo de calidad, la
modelo de negocio es expresado en la notación BPMN orientación a aspectos. La tercera sección discute los
(Business Process Model and Notation) [3, 48]. Uno de principales trabajos relacionados con el tema. En la cuarta
nuestros aportes en este nivel, ha sido detectar aquellas sección se presenta el proceso de diseño arquitectónico
tareas o actividades funcionales que originan una meta no DAOMAC propuesto. Finalmente, en la quinta sección, se
funcional y que en general, no son contempladas en los aplica el proceso DAOMAC al caso de estudio de Gestión
modelos de negocio [43]. Una “Tarea No Funcional” en de Trámites de Identificación del SAIME.
nuestro contexto de modelado del negocio, corresponde a
20
2. CONTEXTO DEL TRABAJO que reflejan su lógica. A nivel conceptual y notacional, el
La empresa como sistema organizacional ve actualmente modelo conceptual está conformado por un diagrama
la necesidad de cumplir con expectativas de calidad de constituido de elementos que contextualizan el negocio,
sus productos y servicios, tales como flexibilidad a como son actores, actividades, entidades, procesos y
cambios, la seguridad e interoperabilidad de datos y vínculos, entre otros [5]. Por ejemplo, un modelo de
programas. Para representar estas características de negocio en el dominio de la banca electrónica o e-banking,
calidad proponemos el uso de estándares, como la norma está integrado por actores sociales, infraestructura
ISO/IEC 25010 [31], dentro de las buenas prácticas de la tecnológica y plataforma computacional de soporte a las
Ingeniería del Software, para facilitar así la comunicación diferentes operaciones y procesos que subyacen al
entre los grupos de trabajo y la mejor trazabilidad de los negocio.
requisitos no funcionales. Satisfacer las necesidades de
calidad del producto requiere de un fuerte impulso de la En [37] se plantean las características principales del
propia industria, que se ha visto motivada por las modelado de negocio: - permite una mejor comprensión de
exigencias de las comunidades, particularmente en el los mecanismos clave de un negocio existente; - actúa como
ámbito de instituciones gubernamentales, donde el papel base para crear sistemas de información; - facilita la
de la tecnología es un elemento fundamental, para el identificación de ideas para mejorar la estructura actual
manejo de la información de estos sistemas, desde la del negocio y su operación; - permite experimentar un
perspectiva del negocio. nuevo concepto de negocio; - admite la identificación de
oportunidades de Outsourcing; y - representa la estructura
Bajo esta premisa, los modelos de negocio se han de un negocio bajo la noción de proceso.
convertido en un activo estratégico necesario que facilita
el manejo de la información para la toma de decisiones, En [25] se define un proceso como una colección de
transacciones entre las partes y optimización de la actividades, que toma una o varias clases de entradas y
prestación de servicios, como elementos transcendentes genera una salida de valor para el cliente. Un Proceso de
en la adecuación de la empresa al entorno. En un sentido Negocio (PN) se concibe como un conjunto vinculado y
amplio, un servicio es un conjunto de actividades que natural de actividades basadas en habilidades y
busca responder a las necesidades del cliente. En tanto competencias de trabajo, que incluyen interacciones entre
que, prestar un servicio de calidad implica satisfacer a actores, recursos utilizados y vínculos de dependencias
cabalidad los requisitos y las necesidades del cliente [28]. entre estos [27]. Es más que una mera conexión de
actividades, ya que incluye elementos tales como
Un servicio de gran importancia para las sociedades propósitos o intenciones, recursos utilizados, eventos,
mundiales, especialmente para la sociedad venezolana, es acciones, actividades, desencadenamiento de tareas y
el servicio de Identificación y Registro de Ciudadanos, el vínculos [25]. Las actividades de un proceso de negocio,
cual constituye un modelo de negocio para la tramitación son ejecutadas de acuerdo a reglas preestablecidas para
de cédulas de identidad y pasaportes de los venezolanos, satisfacer ciertas metas, las cuales son logradas a través
así como solicitudes de identificación formuladas por de una o más tareas interrelacionadas, permitiendo
ciudadanos extranjeros. Es necesario señalar que este obtener uno o más artefactos para una entidad concreta.
servicio subyace a nivel gerencial al proceso de Gestión de Son coordinadas por actores, quienes tienen la intención
Trámites de Identificación, objeto de este estudio, el cual de satisfacer ciertas metas [16]. La especificación de
está a cargo de la Dirección Nacional de Identificación, procesos en el contexto del negocio permite al equipo de
que involucra a las Direcciones Medulares del Servicio desarrollo de software entender mejor y de un modo más
Administrativo de Identificación, Migración y Extranjería apropiado, las necesidades y los requisitos que el futuro
(SAIME), organismo dependiente del Estado Venezolano. sistema debe satisfacer.
La alta gerencia de esta institución exige su
automatización, dado el aumento del volumen de Un Modelo del Proceso de Negocio, se define en [58], como
demandas de solicitudes, tanto de cédula de identidad una red de objetos gráficos que incluyen actividades y
como de pasaporte. controles de flujos, que describen el funcionamiento de
una organización. El modelo de proceso de negocio está
2.1 Modelos de negocio en BPMN y de metas en GRL centrado principalmente en la representación gráfica de
En vista que las operaciones son repetitivas y se esos procesos, usando lenguajes de modelado específicos,
desarrollan cotidianamente en una organización, es tales como la notación BPMN [48] y el lenguaje GRL [30,
pertinente su automatización; esto conlleva a considerar 55]. En este trabajo utilizamos estos lenguajes como
necesariamente la definición del negocio como soporte al entrada al proceso de construcción de una arquitectura
proceso de ingeniería del sistema de software. Por lo inicial, para establecer el enlace entre el modelo de
tanto, la fase de modelado del negocio se hace necesaria negocio y el modelo arquitectónico del software.
como etapa previa al diseño arquitectónico de un sistema
de software. El lenguaje BPMN consiste tanto en una notación gráfica
como en una semántica subyacente. Su objetivo principal,
Un Modelo de Negocio, ofrece una vista abstracta y es ofrecer una notación entendible a todos los
simplificada de la realidad compleja en la que se expresan participantes del proceso de negocio, porque se basa en el
conceptos sobre el funcionamiento del negocio de una lenguaje de modelado estándar UML [46]. BPMN utiliza
entidad, en términos de metas y factores de importancia técnicas de flowcharting o diagrama de flujo y considera
21
cuatro categorías: Objetos de Flujo, Objetos de Conexión, un lenguaje con una notación y semántica dinámica,
Carriles o “Swimlanes”, los cuales se especializan en fundamentada en la noción de intención de los actores,
“pools” para identificar los actores y “lanes” para quienes actúan de manera autónoma, en cumplir metas
identificar los roles de los actores, artefactos y dos [61, 62]. Este enfoque tiene como propósito la
elementos para la modularidad: procesos y diagramas del identificación, representación, organización, análisis y
proceso de negocio o Business Process Diagrams (DPN), justificación de metas tanto funcionales como no
los cuales manejan la complejidad inherente a un proceso funcionales, bajo la noción de relaciones intencionales
en particular. Soporta solo conceptos de modelado entre actores de un sistema, quienes tienen propiedades
aplicables al negocio desde un nivel de abstracción tales como creencias, habilidades y compromisos [63].
organizacional intermedio, permitiendo definir, También facilita el análisis del dominio y el modelado del
documentar, organizar y rediseñar procesos desde una ambiente, representado por los actores y sus relaciones
perspectiva particular. Sin embargo una limitación [35].
importante es que no trata aspectos no funcionales a nivel
de tareas que pueden ser derivados de reglas del negocio: El Framework NFR para requisitos no funcionales [8], es
por ejemplo, declarar el acceso restringido a cierta un enfoque orientado a metas que trata los requisitos no
información para algunos usuarios, es una tarea con funcionales como “softgoals”, en contraposición con los
objetivo de seguridad, que debe ser necesariamente requisitos funcionales, “hardgoals”, que corresponden a
considerado [43]. metas funcionales. Los softgoals se identifican como
objetivos de alto nivel a ser logrados por el sistema; son
Por otra parte, el lenguaje GRL, iniciado por la refinados hasta llegar operacionalizaciones concretas, que
International Telecommunication Union (ITU) como permiten derivar componentes arquitectónicos [10]. Se
subconjunto del estándar z.151, denominado Definición representan por un diagrama jerárquico de
del Lenguaje de la Notación de Requisitos de Usuarios o interdependencias, el cual se denomina Softgoals
User Requirements Notation (URN) Language Definition Interdependency Graph (SIG). Una operacionalización se
[30], admite elicitación, análisis, especificación y corresponde a un mecanismo arquitectónico, que
validación de requisitos, permitiéndoles a los ingenieros satisface o es una solución para el cumplimiento del
descubrirlos y especificarlos en un sistema software. Es softgoal. El enfoque NFR tiene como finalidad
un lenguaje orientado a metas, centrado en el representar, organizar y analizar los requisitos no
razonamiento sobre metas y los relativos atributos de funcionales de un sistema de software [9, 12].
calidad, que se utilizan para medir metas no funcionales.
GRL es el lenguaje de modelado de metas seleccionado en
Es necesario señalar, que en el contexto de la Ingeniería este trabajo, por una parte porque integra elementos de i*
de Requisitos Orientada a Metas o GORE (Goal-Oriented y del NFR framework, admite tanto la detección de
Requirement Engineering) [55], se plantean dos clases de aquellos requisitos que se originan en el contexto del
metas: las Metas Funcionales u objetivos duros, software como la resolución de conflictos a través de
“hardgoals”, que representan las intenciones deseadas opciones alternativas de metas en competencia; facilita
por un actor, los detalles específicos de cómo la meta va a una solución de diseño que satisfaga las metas u objetivos
ser satisfecha no son descritos en la especificación de la de calidad; por otra parte, es de fácil comprensión y
meta. Las Metas No Funcionales u objetivos blandos, utilización. En GRL existen tres categorías principales de
“Softgoals”, se pueden especificar como criterios o conceptos: a) actores (stakeholders u otros sistemas), b)
restricciones que no dependen explícitamente del punto elementos intencionales (metas, softgoals, tareas, recursos
de vista del actor; pueden ser globales, es decir válidas y creencias) y c) vínculos (incluye descomposiciones,
para todo sistema. Están directamente relacionadas con contribuciones y dependencias). Así mismo, soporta
los requisitos de calidad, tales como adecuación funcional, análisis de estrategias que ayudan a resolver de manera
eficiencia en rendimiento, usabilidad, confiabilidad y adecuada posibles conflictos (tradeoffs) subyacentes
seguridad. entre las metas de los stakeholders. Una estrategia
consiste en un conjunto de elementos intencionales que
En este trabajo, GRL y su modelo de metas se utiliza como son de valor para la satisfacción inicial de metas no
enlace entre el modelo de negocio expresado en BPMN y funcionales. Estos valores de satisfacción capturan
el modelo de arquitectura inicial del sistema de software, situaciones contextuales o futuras: permiten elegir entre
que se representa en UML. GRL proporciona medios alternativos para alcanzar las referidas metas.
construcciones para expresar diferentes conceptos, que
surgen durante el proceso de ingeniería de requisitos y Asimismo, BPMN es un lenguaje muy utilizado en la
está fundamentado en dos lenguajes de modelado práctica para expresar procesos de negocio, desde un
orientado a metas, i* [60] y el NFR Framework [8]; por lo enfoque de Ingeniería de Procesos. Sin embargo,
tanto sigue el enfoque GORE. recalcamos que los modelos derivados de BPMN solo
enfatizan los procesos, las tareas funcionales respecto al
El lenguaje i* [60], es un enfoque centrado en procesos de negocio y no hay relación explícita con los sistemas de
negocio, el cual admite la gestión sistemática e intencional software que pueden soportar esos procesos. En cambio,
de metas funcionales y no funcionales, partiendo del el lenguaje GRL permite expresar metas de alto nivel
modelado de procesos de negocio, hasta llegar a los organizacional, del software y de los stakeholders, hacer
componentes arquitectónicos [10, 11]. Está soportado por explícitas las dependencias entre actores, distinguir entre
22
agentes, posiciones y roles [1], y así razonar sobre cada una solución en particular. En cambio, un patrón de
actor con respecto a sus relaciones con otros actores. A diseño es definido como una solución exitosa a un
continuación se describen elementos conceptuales acerca problema general. De lo antedicho se desprende que un
del diseño arquitectónico y del modelo de calidad, que patrón describe un problema que ocurre una y otra vez en
será utilizado para especificar las propiedades no un ambiente particular, y describe el núcleo o core de la
funcionales en el modelo de negocio, los softgoals del SIG solución a ese problema, mejorando y agilizando el
y el tratamiento de aspectos. proceso de desarrollo a través del principio de
reutilización, que es natural en la disciplina de Ingeniería
2.2 Diseño arquitectónico y modelo de calidad del Software [14].
La Arquitectura de Software proporciona abstracciones de
alto nivel para la representación de la estructura, el Por otra parte, la norma ISO/IEC 25010 [31] es un
comportamiento y las propiedades esenciales de un estándar internacional utilizado por la comunidad
sistema de software. Es definida en [20], como un científica para especificar las propiedades o
conjunto de componentes, conectores y sus relaciones; características de calidad de un producto de software, que
esta estructura posee un comportamiento global. deben ser refinadas hasta alcanzar los atributos de
Describe la organización del sistema de software, las calidad, que indican lo que debe ser medido en el
relaciones con otros componentes, el ambiente y los producto de software, a lo largo de todo su proceso de
principios que gobiernan su diseño y evolución [29]. En desarrollo; esta especificación se denomina modelo de
este contexto, la tarea del arquitecto es determinar cuáles calidad. En particular, en la etapa de diseño
son los componentes arquitecturales más convenientes arquitectónico el modelo de calidad facilita el proceso de
en función de los requisitos iníciales (funcionales y no evaluación para la selección de mecanismos o soluciones
funcionales) del sistema [34]. En [41], se define el Diseño arquitectónicas entre varias soluciones candidatas a ser
Arquitectónico como una disciplina que concibe a los evaluadas.
sistemas de software desde un alto nivel de abstracción,
los cuales están compuestos por componentes y El modelo de calidad del producto de software, propuesto
conectores, así como por partes y puertos que al ser en el estándar ISO/IEC 25010 [31], será utilizado en este
ensamblados, constituyen la arquitectura del sistema. En trabajo como herramienta principal para especificar
este contexto, los componentes se refieren a los elementos metas no funcionales en los diferentes niveles de
donde se llevan a cabo los cómputos, las partes abstracción considerados en DAOMAC, que se detallan en
representan los roles, los puertos describen los puntos de la Figura 1: «MNF» de BPMN, Metas No Funcionales de
interacción entre el entorno y las partes internas; y los GRL, Incumbencias Transversales, Softgoals y
conectores constituyen los medios por los cuales Operacionalizaciones del Softgoals Interdependency Graph
interactúan los componentes y sus partes; en conjunto y Componentes Aspectos en el modelo arquitectural. Es el
éstos elementos conforman la estructura estática o lógica nuevo estándar internacional que actualiza el anterior
de un sistema de software. ISO/IEC 9126-1 del 2001. Se define la calidad del software
como la capacidad del software para satisfacer
Lo trascendental en todo proceso de diseño necesidades establecidas o implícitas y es representada
arquitectónico, es escoger en etapas tempranas del mediante dos modelos: el Modelo de Calidad del
proceso de desarrollo del software con base a la Producto, o vista de calidad del producto de software,
dimensión del problema, una alternativa arquitectónica incluye la calidad de los subproductos o artefactos
adecuada y particularmente centrada en la dimensión de construidos durante todo el proceso de desarrollo, y el
la solución. Debido a este hecho, se plantea que la Modelo de Calidad en Uso o vista del usuario. El modelo
arquitectura de software tiene un fuerte y determinante de calidad de producto que se utilizará en este trabajo, a
efecto en la satisfacción de los requisitos de calidad de un nivel de modelo de negocio, corresponderá inicialmente
sistema, en virtud que la mayoría de las decisiones al modelo de calidad del dominio, que representa las
tomadas durante el proceso de diseño arquitectónico se características de calidad de una familia de productos
alinean a los objetivos de calidad que persigue el sistema (sistemas) del dominio. ISO/IEC 25010 considera una
final [15]. Tales requisitos pueden ser satisfechos por estructura jerárquica y propone ocho (8) características
diferentes soluciones arquitecturales, a través de estilos de calidad de alto nivel [31]: adecuación funcional,
arquitectónicos, patrones de diseño o patrones eficiencia en rendimiento, compatibilidad, usabilidad,
arquitectónicos y, de esta manera, es necesario evaluar confiabilidad, seguridad, mantenibilidad y portabilidad.
entre varias alternativas con el propósito de elegir la más Estas son refinadas en sub-características y definidas en
adecuada. La selección de un patrón o solución su último nivel por un conjunto de atributos (o elementos
arquitectónica, es una decisión de diseño fundamental medibles) de un producto de software definitivo o
para el desarrollo del sistema de software. Los estilos intermedio en el proceso de desarrollo, para el cual la
arquitectónicos y patrones de diseño siguen una relación calidad es descrita y evaluada. Entre estas sub-
de composición [6]. características, se tiene [31]:

Un estilo arquitectónico, define una familia de sistemas en  Adecuación funcional: Completitud, Correctitud o
términos de patrones que especifican un vocabulario de precisión y Ser apropiado.
los componentes y conectores usados como instancia de  Eficiencia en rendimiento: Comportamiento en tiempo,
ese estilo, adyacente a un conjunto de restricciones de Utilización de recursos y Capacidad.
23
 Compatibilidad: Co-exigencia e Interoperabilidad. diseño de la arquitectura del software. Mencionaremos
 Usabilidad: Capacidad de ser aprendido, Ser aquí los más conocidos y utilizados en la práctica o
reconocido como apropiado, Capacidad de ser directamente involucrados con el presente trabajo. En [4]
operado, Protección de errores del usuario, Estética de se presenta un enfoque de requisitos orientado a metas
la interfaz usuario o apariencia y Capacidad de ser de de alto nivel de abstracción, y también expresados en
fácil acceso. KAOS, el cual facilita la reutilización y diseños más
 Confiabilidad: Madurez, Disponibilidad, Tolerancia a creativos. Utiliza también configuraciones arquitectónicas
fallas y Capacidad de recuperarse o recuperabilidad. para efectuar el paso de los requisitos a la arquitectura de
 Seguridad: Confidencialidad, Integridad, No repudio, software. Las configuraciones proporcionan los detalles
Auditable y Autenticidad. arquitectónicos a los diseñadores, permitiendo la
 Mantenibilidad: Modularidad, Reutilización, Capacidad correspondencia de los requisitos de mayor
de ser analizado, Capacidad de ser modificado y transcendencia; así como la mejor comprensión de la
Capacidad de ser probado. arquitectura del sistema de software candidata.
 Portabilidad: Adaptabilidad, Capacidad de ser
instalado y Capacidad de ser reemplazado. En [13] se presenta un marco conceptual, que sigue la
orientación a metas y que tiene por objetivo, apoyar el
2.3 Orientación a Aspectos diseño de arquitecturas de software adaptables,
En particular, este trabajo considera el enfoque de utilizando patrones de diseño. Está centrado en el
Desarrollo de Software Orientado a Aspectos, conocido en Framework NFR, el cual trata los requisitos no
la literatura como AOSD (Aspect-Oriented Software funcionales, como “Softgoal” a ser satisfechos. En [38] se
Development) [33], para el tratamiento temprano de presenta un enfoque de diseño arquitectónico
requisitos o aspectos de interés, incumbencias o fundamentado en el enfoque GORE, para la derivación de
“concerns” de un sistema de software [21]. Las arquitecturas de software a partir de un modelo de metas
incumbencias que entrecruzan diferentes módulos de un expresado en GRL, que incorpora metas tanto del negocio
sistema, se denominan incumbencias transversales o como del sistema utilizando escenarios expresados en
“crosscutting concerns” y son candidatas a ser tratadas mapas de casos de uso o Use Case Maps, usados para
como aspectos en la etapa de implementación y/o describir procesos de negocios definidos en GRL. Los
construcción del software. Un aspecto, es la estructura requisitos funcionales y no funcionales se especifican
que encapsula una incumbencia transversal [33] y su como metas (funcionales o no) primero en una notación
origen es a nivel de implementación; sin embargo, de gráfica no estándar de árbol; luego, son transformados a
acuerdo a AOSD, debe ser considerado también en las escenarios orientados al diseño, que se ocupan del
etapas tempranas del desarrollo de software, para refinamiento de los requisitos del sistema.
facilitar así la evolución del sistema, especialmente en las
etapas de modelado del negocio, ingeniería de requisitos En [53] se presenta el enfoque ASAAM para la evaluación
y diseño arquitectónico. de aspectos a nivel de diseño arquitectónico, que admite
la identificación y especificación explícita de
Esta investigación pretende generar aportes hacia la incumbencias transversales, en las etapas tempranas del
solución de los problemas planteados, particularmente en ciclo de vida de desarrollo de software. Así mismo, en [54]
cuanto a la correspondencia o trazabilidad entre el se presenta un enfoque formal basado en el enfoque de
modelo de negocio y el modelo de la arquitectura del orientación a metas, para la derivación de arquitecturas
software, conforme a los requisitos no funcionales que de software por medio de reglas de transformación,
intervienen y que dirigen la construcción de la aplicadas al modelo de requisitos. Los lenguajes de origen
arquitectura. Un elemento esencial que caracteriza y destino, son el lenguaje de alto nivel de requisitos KAOS
nuestra proposición, consiste en considerar los aspectos y el ADL (Architecture Description Language) Wright,
no funcionales desde el modelo de negocio; se inspira en respectivamente. En [52] se plantea un enfoque iterativo
uno de los principales trabajos de Axel Van Lamswerdee de evaluación y transformación de arquitecturas de
[56], el cual solo aborda el nivel más abstracto del sistema software, el cual utiliza y extiende de diversos enfoques
de software, pero no el modelo de negocio. Se considera la existentes, para crear un método para transformar
trazabilidad entre los modelos involucrados y estándares sistemáticamente arquitecturas de software, a través de
actuales, en cuanto a lenguajes de modelado y reglas.
especificación de requisitos de calidad. Se define para ello
un proceso completo para el diseño de una arquitectura En [50] se aborda el tema del diseño de Arquitecturas de
inicial, el cual hemos denominado DAOMAC, inspirado en Líneas de Productos de Software o Software Product Line
las directrices plantadas en [23], centrado en la Architecture (PLA) basado en incumbencias. Es un
especificación de los requisitos de calidad por el modelo “toolkit” de técnicas y explota la sinergia entre la
de calidad de producto de software del estándar ISO/IEC orientación a aspectos y MDE (Model Driven Engineering),
25010 [31] y en las técnicas señaladas de modelado del hacia un tratamiento sistemático de la variabilidad de los
negocio, GORE y AOSD. productos en la línea de productos. Utiliza la herramienta
DiVA (Dynamic Variability in Adaptive System), tanto para
3. TRABAJOS RELACIONADOS el manejo de la variabilidad dinámica como para
Numerosos son los trabajos que tratan el tema de la especificar requisitos; utiliza la orientación a metas para
integración de la orientación a metas y aspectos, en el identificar la intencionalidad de los requisitos en general.
24
Finalmente, los requisitos de calidad se especifican como negocio al modelo de metas, ni la especificación de
softgoals. Recientemente, en [7] se plantea un enfoque requisitos de calidad por estándares.
sistemático de diseño arquitectónico orientado a metas,
basado en el enfoque de MDE y por ende, en 4. EL PROCESO DE DISEÑO ARQUITECTÓNICO
transformación de modelos para la generación de ORIENTADO A METAS, ASPECTOS Y CALIDAD
arquitecturas de software, a partir de los modelos de i*: A continuación se describe el proceso DAOMAC, a través
incluye reglas de transformación para derivar de sus disciplinas y los modelos involucrados.
especificaciones arquitectónicas a partir de metas del
negocio y del sistema. Los lenguajes de origen y destino 4.1 Modelos que intervienen el proceso DAOMAC
son, respectivamente, el lenguaje de modelado i* y el ADL En referencia a los modelos involucrados (Figura 1), el
Acme. Los requisitos de calidad se especifican como proceso DAOMAC propuesto (Figura 2) considera los
softgoals y no se utilizan estándares para esta siguientes: el modelo de negocio expresado en BPMN, con
especificación. la identificación de vínculos entre tareas funcionales y no
funcionales o «MNF» [43]; el modelo de metas expresado
Finalmente, en [17] se presenta un enfoque de diseño en GRL para hacer la transición entre <<MNF>> del
arquitectónico orientado a metas, basado en modelo de negocio y los requisitos no funcionales o
transformaciones (refinamientos), denominado STREAM- softgoals del sistema de software de GORE y así
ADD, que extiende la versión clásica STREAM. Este identificar las metas no funcionales transversales y su
enfoque refina metas no funcionales del Modelo de refinamiento en el SIG como operacionalizaciones
Razonamiento Estratégico de i* en mecanismos o concretas [22]; éstas son asociadas a
soluciones arquitectónicas, utilizando reglas de mecanismos/soluciones arquitectónicas, las cuales son
transformación. Estos dos últimos enfoques, que son los descritas y evaluadas de acuerdo a sus atributos o
más similares al nuestro, en cuanto a la transformación de propiedades de calidad, para la selección de una opción
metas en componentes arquitectónicos, refinan metas no adecuada entre varias alternativas. Se obtiene finalmente
funcionales del Modelo de Metas de i* en mecanismos o el modelo de una arquitectura inicial del sistema [23],
soluciones arquitecturales, utilizando reglas de expresada como vista lógica en UML 2.0 [46], en la cual se
transformación; sin embargo, no tratan metas no identifican los componentes orientados a aspectos
funcionales transversales, ni el paso del modelo del (estereotipados en UML como «Aspect») y los
componentes funcionales.

Figura 1. Niveles de Abstracción considerados en la construcción del proceso DAOMAC

4.2 Proceso DAOMAC  Construcción Orientada a Aspectos (OA) de la


DAOMAC es presentado en la Figura 2 utilizando la Arquitectura Inicial.
notación estándar SPEM (Software Process Engineering
Metamodel) [47], también basada en UML [46], utilizando
la herramienta StarUML [36], como un modelo de proceso
y está conformado por un “paquete” con cuatro
disciplinas; cada disciplina es después descrita en otro
paquete:

 Construcción del Modelo de Negocio (MN) en BPMN;


 Obtención del Modelo de Metas (MM) en GRL a partir
del Modelo de Negocio (MN) en BPMN;
 Determinación de las Metas No Funcionales
Transversales (MNFT); Figura 2. Paquete del Modelo de Proceso DAOMAC

25
Disciplina I. Construcción de MN en BPMN. Disciplina IV. Construcción OA de la Arquitectura Inicial.

Figura 3. Paquete de la Disciplina Construcción del Modelo de


Negocio (MN) en BPMN
Figura 6. Paquete de la Disciplina Construcción OA de la
Disciplina II. Obtención de MM en GRL a partir de MN en Arquitectura Inicial
BPMN.
5. APLICACIÓN DEL PROCESO PROPUESTO A UN CASO
DE ESTUDIO
Como caso de estudio se considera la descripción textual
del proceso del servicio Gestión de Trámites de
Identificación del SAIME dada en la introducción, el cual
permite el establecimiento de flujos de trabajo o
workflows, en base a la estructura organizativa en sus
diferentes niveles gerenciales (estratégico, funcional y
operativo) con el propósito de automatizar los procesos
de solicitudes de cedulación (servicio gratuito) y
pasaporte (implica pago de impuestos y por consiguiente
la Meta No Funcional Adecuación Funcional, sub-
característica corrección o precisión). La meta funcional
principal o prioritaria, de más alto nivel organizacional,
Figura 4. Paquete de la Disciplina Obtención de MM en GRL a
está centrada en Gestionar Trámites de Identificación por
partir de MN en BPMN
medio de redes seguras (implica la Meta No Funcional
seguridad) con el propósito de garantizar una interfaz de
Disciplina III. Determinación de las MNFT. usuario atractiva dirigida a la satisfacción del usuario
final (implica la Meta No Funcional usabilidad) y
disminuir los tiempos de respuestas de las solicitudes a lo
sumo tres días (implica la Meta No Funcional eficiencia). A
continuación se aplican al caso de estudio las disciplinas
del proceso DAOMAC descrito en la sección 4 (Figuras 2,
3, 4, 5 y 6).

Disciplina I. Construcción del MN en BPMN. En la Figura


7 se presenta el Modelo de Calidad ISO/IEC 25010 [31]
adaptado al contexto del proceso Gestión de Trámites de
Identificación como entrada al proceso DAOMAC, que se
utiliza para la especificación de las tareas no funcionales.
Puede verse que se ha incorporado al modelo de calidad
el conocimiento sobre los requisitos no funcionales
extraído de la descripción del dominio.

1. Crear los Pools y Lanes del Modelo de Negocio en BPMN.


A efectos de simplificar el caso de estudio, solo
mostramos aquí los Pools (o participantes del Modelo
de Negocio) Usuario así como los Lanes (o roles del
participante) Analista y Ciudadano en el Modelo de
Figura 5. Paquete de la Disciplina Determinación de las MNFT Negocio de BPMN (Figura 8).

26
Disciplina II. Obtención del Modelo de Metas en GRL a
partir del Modelo de Negocio en BPMN. En la Tabla 1 se
presentan las reglas de correspondencia semántica entre
los lenguajes BPMN y GRL [39].

1. En base al Modelo de Negocio, definir la Meta Funcional


Medular o Principal asignando prioridades y vínculos de
dependencias del Modelo de Metas. Basándonos en la
regla 1, definimos la meta medular o principal del
Figura 7. Modelo de Calidad para Gestión de Trámites de Modelo de Negocio de Gestión de Trámites de
Identificación Identificación y el nombre del modelo de metas en
GRL, denominado Modelo de Metas de Gestión de
2. Definir las Tareas Funcionales y Subprocesos en los Trámites de Identificación (Figura 9).
Pools y Lanes. Se incorporaron al Modelo de Negocio el
evento de inicio, así como las tareas funcionales y 2. En base a los Pools y Lanes del Modelo de Negocio,
subprocesos que se describen a continuación (Figura definir los Actores y Roles en el Modelo de Metas. El
8): en el Lane Usuario-Analista, se definieron las Actor derivado de la regla 3 es: Usuario. De la
Tareas Funcionales: Pasaporte, Cédula y Enviar aplicación de la regla 4 definimos dos Roles en el Actor
Solicitud; Subprocesos: Realizar Solicitud, Control de Usuario, ya que este juega el papel de Ciudadano y de
Acceso, Agendar Cita y Asignar Estatus a la Solicitud. Y Analista (Figura 9).
en Lane Usuario-Ciudadano, se definieron las Tareas
Funcionales: Aprobar Solicitud, Rechazar Solicitud, 3. Identificar Pools, Lanes, Subprocesos, Tareas y
Enviar Aprobación de Solicitud, Enviar Rechazo de Asociaciones, Objetos de datos y Compuertas en BPMN y
Solicitud; Subprocesos: Revisar Solicitudes, Control de hacerlas corresponder con Metas Funcionales, Metas No
Acceso, Asignar Estatus a la Solicitud y Consultar Funcionales y Tareas en GRL. Primero, se detectan las
Cadena de Aprobación. Metas No Funcionales que estén asociadas a aspectos
no funcionales del negocio en BPMN y se asocian con
3. Incorporar Compuertas Exclusivas entre las diferentes las Metas No Funcionales o softgoals de GRL, mediante
Tareas Funcionales y Subprocesos que subyacen en los la aplicación de la regla 6 (Figura 9): se asoció la tarea
Pools y Lanes. Se agregaron las siguientes compuertas funcional Pasaporte a la «MNF» Precisión en el Role
exclusivas (Figura 8): En el Lane Usuario-Ciudadano: Usuario-Ciudadano.
entre el Subproceso Control de Acceso y las Tareas
Funcionales Pasaporte y Cédula, así como también Posteriormente, asociamos Tareas, Objetos de datos y
entre las citadas tareas y el Subproceso Agendar Cita. Compuertas de BPMN con Tareas, Recursos y Vínculos
Y en el Lane Usuario-Analista: entre el Subproceso de Descomposición de Tareas en GRL con la aplicación
Control de Acceso y las Tareas Funcionales Aprobar de las reglas 5, 7 y 8 (Figura 9), como: en el Role
Solicitud y Rechazar Solicitud así como también entre Usuario-Ciudadano: Se obtuvieron las Tareas:
las citadas tareas y el Subproceso Asignar Estatus a la Pasaporte, Cédula y Enviar solicitud. Y dentro de los
Solicitud. Entre el Subproceso Asignar Estatus a la Vínculos de descomposición de tareas, se tiene: entre el
Solicitud y las Tareas Funcionales Enviar Aprobación subproceso Control de Acceso y las tareas Pasaporte,
de Solicitud y Enviar Rechazo de Solicitud así como Cédula y Enviar solicitud; así como entre estas tareas y
entre la Tarea Funcional Enviar Rechazo de Solicitud y el subproceso Agendar Cita y este con el subproceso
el Subproceso Consultar Cadena de Aprobación y el Asignar Estatus a la Solicitud. Y en el Role Usuario-
Evento de fin. Analista: se generaron las Tareas: Aprobar Solicitud,
Rechazar Solicitud, Notificar Aprobación de Solicitud,
4. Identificar Tareas No Funcionales y asociarlas a Tareas Notificar Rechazo de Solicitud y Enviar Aprobación de
Funcionales y subprocesos mediante el estereotipo Solicitud.
<<MNF>>. Se incorporan las siguientes «MNF» como
metas que deben satisfacer las Tareas Funcionales y Así mismo dentro de los Vínculos de descomposición de
Subprocesos (Figura 8): Usabilidad: Subproceso: tareas, se tienen: entre el subproceso Control de Acceso
Realizar Solicitud y Revisar Solicitudes; Seguridad: y las tareas Aprobar Solicitud y Rechazar Solicitud así
Subproceso: Control de Acceso; Eficiencia: Subproceso: como también entre estas y el subproceso Asignar
Realizar Solicitud y Revisar Solicitudes; y Adecuación Estatus a la Solicitud. Entre el subproceso Asignar
Funcional: Tareas Funcionales: Pasaporte. Estatus a la Solicitud y las tareas Enviar Rechazo de
Solicitud y Enviar Aprobación de Solicitud así como
5. Establecer los Flujos de Secuencia y de Mensajes en entre la tarea Enviar Aprobación de Solicitud y el
BPMN. Se estableció el Evento de fin así como los Flujos subproceso Consultar Cadena de Aprobación.
de Secuencia y de Mensaje en el Modelo de Negocio de
BPMN (Figura 8).

27
Figura 8. Modelo de Negocio de Gestión de Trámites de Identificación expresado en BPMN [48], utilizando BPM BizAgi [2]

Tabla 1. Reglas de correspondencia semántica entre GRL y BPMN [39]


Lenguaje BPMN Lenguaje GRL
Regla para la
Regla Notación
Termino Definición Notación Gráfica Termino Definición Correspondencia
Gráfica
Actividad realizada
Process o dentro o a través de Un Proceso de BPMN representa
1 Texto
Proceso empresas u una Meta Funcional en GRL.
Condición o estado de un
organizaciones [48]. Hardgoal o
asunto que a los
Meta Funcional Un Subproceso de BPMN
Agregación de stakeholders les gustaría
representa una Meta Funcional
Subprocess o actividades que son lograr [30].
2 que ha sido descompuesta en
Subproceso incluidas dentro de un
GRL en otras metas de nivel
Proceso [48].
inferior

Entidades activas que llevan


Pool Participantes (entidades Un Pool de BPMN representa un
3 Actor a cabo ciertas acciones para
o roles de negocio) [48]. Actor en GRL.
lograr metas [30].

Organizan y categorizan Caracterización abstracta Un Carril de BPMN es descrito


4 Lane o Carril actividades de un Pool Role o Papel del comportamiento de un como el Papel de un Actor
[48]. actor [1]. concreto en GRL.

Es una actividad atómica Es una manera particular de Una Tarea de BPMN representa
5 Task o Tarea Task o Tarea
[48]. hacer algo [30]. una Tarea particular en GRL.

Labeled Muestra la asociación Es una condición o estado


Una Asociación Etiquetada de
Association entre una tarea o de un asunto del mundo que
Softgoal o Meta BPMN relaciona una tarea
6 o subproceso funcional y a los stakeholders les
No Funcional funcional o subproceso de BPMN
Asociación una Meta No funcional, gustaría lograr (ITU-T,
con un Softgoal en GRL.
Etiquetada «MNF» 2012).
Artefacto que suministra
Data Object u Resource o Entidad física o
información a las Un Objeto de Datos en BPMN
7 Objeto de Recurso informacional que expresa
actividades a ser representa un Recurso de GRL.
Datos necesidades [30].
realizadas [48].
Task
Controlan la interacción, descomposition Tipo de vínculo que Una Compuerta en BPMN
Gateway o convergencia o link o Vínculo descompone una tarea en representa un Vínculo de
8
Compuerta divergencia dentro de un de un hardgoal, subtask, descomposición de tareas
proceso [48]. descomposición resource o softgoal [30]. (And/Xor/Ior) de GRL.
de tarea
Muestra la secuencia de Relación binaria entre un fin
Sequence Flow actividades que son Means-Ends link y el medio para lograrlos. El Un Flujo de Secuencia en BPMN
9 o Flujo de realizadas en un proceso o Vínculos “medio” representa una representa un Vínculo Medio-Fin
Secuencia [48]. Medio-Fin tarea y el “fin” una meta en GRL.
[30].
Un Flujo de Mensaje en BPMN
Message Flow Muestra el flujo de Dependency
Relación intencional entre representa un Vínculo de
10 o Flujo de mensaje entre dos link o Vinculo
dos actores [30]. Dependencia entre dos actores
Mensaje entidades [48]. de dependencia
en GRL.

28
Figura 9. Modelo de Metas de Gestión de Trámites de Identificación expresado en GRL [30], utilizando jUCMNav [45]

Donde: Meta No Funcional o Softgoal: ; Meta Funcional o Hardgoal: ; Tareas: ; Recursos: ;


Dependencia: ; Contribución: ; Correlación: ; Descomposición:

Luego, los subprocesos expresados de BPMN se Funcionales o No Funcionales en GRL, especificadas en


definen como una descomposición de una Meta las actividades anteriores; en la Figura 9 se muestra el
Funcional en GRL y los elementos subyacentes son impacto cualitativo (Realizar o “Make”, Ayuda o
representados de acuerdo a las reglas y pasos que “Help”, AlgoPositivo o “SomePositive”, Desconocido
tengan lugar, con la aplicación de la regla 6 (Figura 9), “Unknown”, AlgoNegativo “SomeNegative”, Ruptura o
se tiene: En el Role Usuario-Ciudadano: El subproceso “Break” y Afecta o “Hurt”) o cuantitativo (valores entre
Realizar Solicitud tiene asociado las «MNF». Usabilidad -100% y 100%) conforme a [30].
y Eficiencia. El subproceso Control de Acceso tiene
asociado las «MNF»: Seguridad. Y en el Role Usuario- Disciplina III. Determinación de las Metas No
Analista: El subproceso Revisar Solicitud tiene Funcionales Transversales (MNFT).
asociado las tareas no funcionales: Usabilidad y
Eficiencia. El subproceso Control de Acceso tiene 1. Identificar las Metas Funcionales y No Funcionales en el
asociado las tareas no funcionales: Seguridad. Modelo de Metas. Dentro de las Metas Funcionales, se
tiene: en el Role Usuario-Ciudadano: Realizar Solicitud,
Finalmente, se describen las Metas Funcionales en GRL Control de Acceso, Agendar Cita y Asignar Estatus a la
resultantes de la aplicación de la regla 2 al Modelo de Solicitud. Y en el Role Usuario-Analista: Revisar
Negocio de Gestión de Trámites de Identificación, Solicitudes, Control de Acceso, Asignar Estatus a la
presentado en la Figura 8 (Figura 9): En el Role Solicitud y Consultar Cadena de Aprobación. Y dentro
Usuario-Ciudadano: Realizar Solicitud, Control de de las Metas No Funcionales, se tiene: en el Role
Acceso, Agendar Cita y Asignar Estatus a la Solicitud. Y Usuario-Ciudadano: Usabilidad, Eficiencia
en el Role Usuario-Analista: Revisar Solicitudes, Control (comportamiento en tiempo), Seguridad y Adecuación
de Acceso, Asignar Estatus a la Solicitud y Consultar funcional (Precisión); y en el Role Usuario-Analista:
Cadena de Aprobación. Usabilidad, Eficiencia y Seguridad.

4. En base a los elementos de los Pools y Lanes en BPMN, 2. Especificar las Metas Funcionales y No Funcionales.
establecer vínculos en GRL. En principio, se definieron Para cada Meta Funcional, se especifican las metas
los Vínculos de Dependencia implícitos entre los requeridas y las metas que la requieren, además de
diferentes elementos de GRL, tales como tareas, información general sobre la meta. En este caso la
recursos, metas funcionales y no funcionales en base a Meta Funcional Control de Acceso (Tabla 2) requiere
la regla 10 (Figura 9). Después, se generaron los las Metas Funcionales Realizar y Revisar Solicitud y
vínculos medio-fin en GRL a partir de flujos de depende de la Meta No Funcional Seguridad. Es
secuencias explicitados en BPMN, con la aplicación de importante señalar aquí la “transitividad” entre las
la regla 9. Posteriormente, se identificaron los Vínculos metas: Control de Acceso es requerida por Revisar
de Correlación entre Metas No Funcionales Usabilidad, Solicitud y Realizar Solicitud, por lo tanto estas tres
Eficiencia, Precisión y Seguridad. Finalmente, se Metas Funcionales también dependen de la Meta No
establecieron las Contribuciones entre las Metas Funcional Seguridad.
29
Tabla 2. Especificación de la Meta Funcional Control de Acceso Nótese que Adecuación funcional (Precisión) no es una
Nombre Control de Acceso Meta No Funcional Transversal porque solo
Fuente Modelo de Metas entrecruza a la Meta Funcional Realizar Solicitudes
Stakeholders Usuario-Ciudadano, Usuario-Analista (Tabla 4).
Descripción Controlar el acceso de los usuarios
Clasificación Funcional
Contribución Ninguna 4. Determinar Ambigüedades, Conflictos y Contribuciones.
Prioridad Muy Importante Se elabora la Tabla 6 de Contribuciones de Metas No
Concern Requerido Seguridad Funcionales.

Respecto a la Meta No Funcional Seguridad (Tabla 3) Tabla 6. Contribuciones de las Metas No Funcionales
se observa que no hay ninguna otra Meta No Funcional Meta No Funcional Usabilidad Seguridad Eficiencia
requerida y a ella la requiere la Meta Funcional Control Usabilidad Ayuda AlgoPositivo
de Acceso. Es importante señalar aquí el análisis de las Seguridad Ayuda Rompe
contribuciones que se registran respecto a las otras
Eficiencia AlgoPositivo Rompe
Metas No Funcionales: negativas respecto a la
eficiencia y positiva respecto a usabilidad y precisión.
Nótese que la Meta No Funcional Eficiencia rompe a la
Tabla 3. Especificación de la Meta No Funcional Seguridad Meta No Funcional Seguridad, dado que esta incide en
el tiempo de respuesta. En cambio la Meta No
Nombre Seguridad
Funcional Usabilidad ayuda a la seguridad en vista que
Fuente Modelo de Metas
Stakeholders Usuario-Ciudadano, Usuario-Analista
aporta la interfaz usuario que soporta el mecanismo
Descripción Gestionar Tramites de Identificación por de autorización para que el usuario acceda al sistema
medio de redes seguras de software. Además, que gráficamente en el Softgoal
Clasificación No Funcional Interdependency Graph (Figura 10), “Ayuda”
Contribución (-) Usabilidad, (-) Eficiencia
Prioridad Muy Importante corresponde a , “AlgoPositivo” corresponde a y
Concern Requerido Ninguno “Rompe” corresponde a . Así mismo, se elabora la
Tabla 7 de resolución de conflictos, la cual se presenta
3. Analizar las posibles Metas Transversales. Se construye a continuación.
la Tabla de Composición de Metas (Tabla 4).
Tabla 7. Resolución de Conflictos
Tabla 4. Composición de Metas
Meta No Funcional
Meta Funcional Decisión
Meta No Funcional / Meta Realizar Control de Revisar Transversal en Conflictos
Funcional Solicitudes Acceso Solicitudes (Ayuda) Usabilidad,
Adecuación funcional X Realizar Solicitudes (Rompe) Eficiencia,
(Realiza) Seguridad,
Usabilidad X X Por tratarse de un
(Ayuda) Usabilidad, sistema de Gestión
Eficiencia X X
Revisar Solicitudes (Rompe) Eficiencia, de Trámites de
Seguridad X X X (Realiza) Seguridad Identificación sobre
(Ayuda) Usabilidad, Internet, que
Asignar Estatus a involucra recursos
Nótese que las Metas Funcionales candidatas a la la Solicitud
(Rompe) Eficiencia,
(Realiza) Seguridad financieros, la
composición de metas son aquellas Metas Funcionales Seguridad prevalece.
que requieren de las Metas No Funcionales Adecuación Consultar Cadena
(Ayuda) Usabilidad,
(Rompe) Eficiencia,
funcional (precisión), Usabilidad, Eficiencia y de Aprobación
(Realiza) Seguridad
Seguridad. En tanto que la Meta Funcional Control de
Acceso es requerida por las Metas Funcionales Realizar
Debe observarse qué Control de acceso no aparece
Solicitudes y Revisar Solicitudes; en tanto que la Meta
porque no presenta conflictos ya que solo requiere
Funcional Control de Acceso solo depende de la Meta
Seguridad. Un ejemplo de como ayuda la Usabilidad en
No Funcional Seguridad: existe una transitividad entre
la Seguridad es en la incorporación de mecanismos
ambas. Por ende, las Metas Funcionales Realizar
arquitectónicos de Autorización de Acceso. Así mismo
Solicitudes y Revisar Solicitudes requieren de la Meta
al incorporar mecanismos de Seguridad como la
No Funcional Seguridad. Así mismo, se construye la
Encriptación y Desencriptación de Datos para las
Tabla de Metas No Funcionales Transversales (Tabla
transacciones financieras, esto incide en el tiempo de
5).
respuesta del sistema (Eficiencia), y en la
Tabla 5. Especificación de Meta No Funcional Transversal
insatisfacción del usuario (Usabilidad).

Meta No Funcional Incumbencia (Meta Funcional) que 5. Asignar prioridades a las Metas No Funcionales
Transversal Entrecruza
Transversales e Identificar la Meta No Funcional
Usabilidad (U) Realizar Solicitudes, Revisar Solicitudes
Transversales Principal. En principio, se determinan
Eficiencia (E) Realizar Solicitudes, Revisar Solicitudes prioridades entre las Metas No Funcionales
Seguridad (S) Realizar y Revisar Solicitud, Control de Acceso Transversales (Tabla 8).

30
Tabla 8. Prioridades Luego, se procederá a construir los Softgoal
Meta Importancia Importancia Importancia Interdependency Graph para las demás metas no
/Prioridad Alta Media Baja funcionales transversales, todas expresadas como
Usabilidad X características de calidad. Es necesario señalar que en
Seguridad X este trabajo, solo refinamos la meta Seguridad por
Eficiencia X razones de espacio.

La meta transversal Seguridad tiene alta importancia En la segunda columna de la Tabla 9, se muestra la
para la Gestión de Trámites de Identificación, dado descomposición de la meta Seguridad; se expresa
que toda operación debe ser autenticada por Internet. mediante el refinamiento del ISO/IEC 25010 (Figura
Por lo tanto, primero refinamos tanto en el Softgoal 10) en sub-características, el cual es directamente
Interdependency Graph (Figura 10) como en la tabla de reflejado en el refinamiento del Softgoal
Refinamiento, importancia, operacionalizaciones y Interdependency Graph y ayuda también al
mecanismos/soluciones arquitectónicas (Tabla 9, establecimiento de las prioridades, así como a la
primera columna), la meta transversal Seguridad. selección de las operacionalizaciones
correspondientes. Para simplificar la lectura solo
colocamos aquí la meta no funcional transversal
principal Seguridad.

Figura 10. Softgoal Interdependency Graph (SIG) para la Meta No Funcional Transversal Principal Seguridad expresado en GRL [30],
utilizando jUCMNav [45]

Tabla 9. Refinamiento, importancia, operacionalizaciones y mecanismos/soluciones arquitectónicas para la Meta No Funcional


Transversal seguridad
Refinamiento de la
Meta No Funcional
Meta No Funcional Importancia Operacionalizaciones Mecanismos/soluciones arquitectónicas
Transversal
Transversal
Acceso Limitado Limited Access Pattern
Integridad Media Firewall Pattern
Firewall
Proxy Pattern
Synmetric Encryption Pattern
Encriptación de Data
Asymmetric Encryption Pattern
Discretionary Access Control (DAC)
Confidencialidad Alta
Autorización de Acceso Mandatory Access Control (MAC)
Seguridad
Role-Based Access Control (RBAC)
Back-up de Data Homogeneous Redundancy Pattern
No Repudio Baja Certificado Digital Certificate Authority
Bitácora de Transacciones Logger-Auditor pattern
Auditable Media
Bitácora de Eventos Event logger pattern
Identificación Biométrica Authenticator pattern
Autenticidad Baja
Firma Electrónica Digital Signature Pattern

31
Se incorporan seguidamente las posibles decidir entre una Encriptación Asimétrica o una
Operacionalizaciones al Softgoal Interdependency Simétrica. Varios factores pueden influir en este caso,
Graph, las cuales se muestran en la tercera columna de por ejemplo la Encriptación Simétrica es más eficiente
la Tabla 9. Posteriormente, se soportan las decisiones en tiempo de respuesta. Para determinar una solución
de diseño con argumentaciones (Figura 10, Tabla 10). “aceptable” se pueden utilizar técnicas de evaluación
arquitectónicas, como por ejemplo las propuestas en
Tabla 10. Argumentaciones [39, 40].
Metas en Conflictos Argumentación
Obsérvese en la Figura 10, que la correlación entre las
La Seguridad es adversa a la Eficiencia del
Seguridad-Eficiencia
sistema.
Operacionalizaciones Identificación Biométrica y
Autentificación son transitivas respecto a la Meta No
La Seguridad depende de la Usabilidad del
sistema; la componente Interfaz Usuario que Funcional Autorización de Acceso, por tanto se dice que
requiere alta usabilidad, es la responsable de la la Identificación Biométrica es “AlgoPositivo” respecto
incorporación de mecanismos arquitectónicos, a la Confidencialidad.
Seguridad-Usabilidad por ejemplo para la encriptación y la
desencriptación de datos en transacciones
financieras; esto incide en el tiempo de Disciplina IV. Construcción Orientada a Aspectos (OA) de
respuesta del sistema (Eficiencia), y en la mayor la Arquitectura Inicial.
o menos satisfacción del usuario (Usabilidad).
1. Elegir la Operacionalización de mayor relevancia desde
Subsiguientemente, se establece el impacto de las el punto de vista arquitectónico, para cada Meta No
contribuciones entre Metas No Funcionales y Funcional Transversal, en orden de prioridad. En vista
operacionalizaciones (Figura 10, Tabla 11). Las que la Confidencialidad de las transacciones implica
contribuciones pueden ser establecidas que toda operación en la Gestión de Trámites de
cuantitativamente por el Ingeniero de Metas o Identificación debe pasar por un proceso de
Arquitecto, asignando un porcentaje que corresponde Autorización, la operacionalización de mayor
al peso de la contribución entre Metas No Funcionales relevancia según el caso de estudio es la Autorización
o hacia una Operacionalización. de Acceso. Nótese en la Figura 10 las contribuciones de
las operacionalizaciones Encriptación de Data es
Así mismo, se pueden expresar cualitativamente como AlgoPositivo ( ), Back-up de Data es Ayuda ( ) y
tipos de contribuciones, por ejemplo de ruptura
(“Break”), como en el caso de la Eficiencia, que impide Autorización de Acceso es Realiza ( ) respecto a la
el cumplimiento de la Meta No Funcional Seguridad o Meta No Funcional Transversal Confidencialidad
de la Operacionalización Autentificación que ayuda (Tabla 12).
positivamente (“Ayuda”) al cumplimiento de la Meta
Tabla 12. Valoración de las operacionalizaciones
No Funcional Integridad. Los impactos cualitativos de
Meta No Funcional Transversal Encriptación de Autorización de Back-up
las contribuciones se muestran en la Tabla 11 y en el /Operacionalización Data Acceso de Data
SIG de la Figura 10. Finalmente, se incorporan los Confidencialidad
mecanismos y/o soluciones arquitectónicas a las
operacionalizaciones (Tabla 9).
Es notorio señalar además que las
Operacionalizaciones Autentificación y Limitación de
Para cada operacionalización, en la cuarta columna de
Tiempo de Conexión se derivan de Autorización de
la Tabla 9, se incorporan aquellas soluciones
Acceso. Finalmente, la operacionalización SSL (Secure
arquitectónicas que puedan resolver cada
operacionalización. Como puede verse, se tienen Sockets Layer) es AlgoPositivo ( ) para la
varias alternativas de solución para cada Meta No operacionalización Encriptación de Data.
Funcional Transversal. Por ejemplo para la
Confidencialidad, en la Encriptación de Datos hay que

Tabla 11. Contribuciones y Correlaciones de las operacionalizaciones para la Meta No Funcional Transversal principal Seguridad
Metas Transversales refinadas
Operacionaliza-ciones
Integridad Confidencialidad No Repudio Auditable Autenticidad
Acceso Limitado AlgoPositivo
Firewall Ayuda
Encriptación de Data AlgoPositivo AlgoPositivo
Autorización de Acceso AlgoPositivo Ayuda
Back-up de Data AlgoPositivo AlgoPositivo
Certificado Digital Ayuda
Bitácora de Transacciones Ayuda AlgoPositivo
Bitácora de Eventos Ayuda
Identificación Biométrica AlgoPositivo AlgoPositivo
Firma Electrónica Ayuda

32
2. Describir los mecanismos/soluciones arquitectónicas de forma centralizada, lo que se representa en la
asociados a la operacionalización seleccionada. La Figura 12.
operacionalización Autorización de Acceso, que
proviene del refinamiento de la meta no funcional
transversal prioritaria Seguridad, según la Tabla 11
puede ser “implementada” por cualquiera de los tres
patrones de diseño que se describen a continuación; el
proceso de evaluación consiste en decidir cuál de estos
patrones es el más adecuado, en respuesta a los
requisitos de calidad exigidos por Gestión de Trámites
de Identificación.
Figura 12. Estructura del patrón arquitectónico MAC expresada
en componentes UML
Patrón Discretionary Access Control (DAC) [26]:
Representa el control de acceso basado en identidades
Patrón Role-Based Access Control RBAC [18]: Describe
de usuarios y la propiedad de objetos. El patrón
cómo asignar derechos a usuarios sobre la base de sus
permite que un propietario de un objeto pueda
funciones o tareas, en un ambiente en el que se exige
conceder permiso a otro usuario para acceder al
el control de acceso a los recursos informáticos y
objeto, y el usuario que tenga permiso lo puede
donde existe una gran cantidad de usuarios,
delegar una tercera persona, como se observa en la
información y gran variedad de recursos, como se
Figura 11.
observa en la Figura 13.

Figura 13. Estructura del patrón arquitectónico RBAC


expresada en componentes UML

Figura 11. Estructura del patrón arquitectónico DAC 3. Comparar los mecanismos/soluciones arquitectónicas
descritas. Se utiliza el modelo de calidad ISO/IEC
Patrón Mandatory Access Control (MAC) [51]: 25010 [31] como una técnica, como siguiente:
Gobierna el acceso en función del nivel de seguridad Primero, se describen los atributos o propiedades de
de los sujetos (usuarios) y objetos (datos). El acceso a calidad que caracterizan el mecanismo/solución
un objeto sólo se concede si los niveles de seguridad arquitectónica y realizar un análisis comparativo.
del sujeto y el objeto satisfacen ciertas restricciones.
Se utiliza cuando el ambiente es de varias capas y
cuando las políticas de seguridad deben ser definidas

Tabla 13. Comparación de atributos y medidas para cada mecanismo arquitectónico [39]
Mecanismos o soluciones arquitectónicas
Sub-
Características Discretionary Access Mandatory Access Control Role-Based Access Comentarios
características
Control (DAC) (MAC) Control (RBAC)
Adecuación MAC y RBAC controlan el acceso a
Completitud No aplica Aplica Aplica
funcional través de Internet
Tiempo (User)+
Tiempo (User)+
Tiempo (Subject)+ Tiempo (Subject)+
Tiempo (Subject)+
Tiempo Tiempo (Role)+ El RBAC es mejor, menor tiempo de
Tiempo de Tiempo (ReferenceMonitor)+
(ReferenceMonitor)+ Tiempo (Right)+ respuesta, por tener menos
Respuesta Tiempo (SecurityLevel)+
Tiempo (Permission)+ Tiempo componentes
Eficiencia Tiempo (Operation)+
Tiempo(Operation)+ (ProtectionObject)
Tiempo (Object)
Tiempo (Object)
El DAC utiliza menos recursos; RBAC
Utilización de
Baja Media Alta utiliza más recursos, pero soporta
recursos
mayor volumen de usuarios
Ninguno de los patrones estudiados
Usabilidad No aplica No aplica No aplica No aplica
influye en la usabilidad
Alta (Existe un
Media (Existe un La confidencialidad en RBAC es alta
Baja (Los usuarios intermediario, se
intermediario, se requiere de y en MAC es media. Se requiere de
Confidencialidad auto-administran los requiere de la
la clasificación y mecanismos adicionales para la
permisos) asignación de funciones
Seguridad categorización de permisos) encriptación del Password.
o tareas)
Media (Existe un Alta (Existe un
Baja (Los usuario El RBAC es mejor que MAC en
Integridad intermediario en la concesiónintermediario en la
delegan los permisos) integridad.
de permisos) concesión de permisos)

33
En la Tabla 13 se asignan valores de acuerdo a las “aspecto” a la Confidencialidad, sub-característica de la
prioridades y una escala definida en correspondencia Meta No Funcional Transversal Seguridad.
a las propiedades de calidad de cada mecanismo. De
acuerdo a los resultados se realiza un análisis En la Figura 14 se muestra los detalles del patrón de
argumentativo (Tabla 14), considerando “métricas diseño RBAC, como un componente «Aspect» que
arquitecturales” de alto nivel de abstracción, a veces encapsula a la Confidencialidad; el cual después de un
cualitativas ya que estamos en proceso de diseño de la proceso de evaluación, fue seleccionado para
arquitectura y el sistema no puede ejecutarse para satisfacer la Meta No Funcional Transversal Seguridad
evaluar aspectos cuantitativos, como por ejemplo: y así asegurar la Meta Funcional Control de Acceso: El
“¿Considera la presencia o no del Mecanismo?” o en proceso completo de evaluación no se detalla aquí por
caso de la eficiencia, “Se hace el cálculo de la suma de razones de espacio.
los tiempos de respuestas de cada componente y
conector directamente sobre la configuración del
patrón” [39].

Tabla 14. Análisis argumentativo de mecanismos/soluciones


arquitectónicas
Característica Argumentaciones
Adecuación El MAC y RBAC son iguales respecto a facilitar el Figura 14. Patrón RBAC como mecanismo que encapsula el
funcional acceso a internet. Aspecto Seguridad expresado en componentes UML [46],
El RBAC es mejor en tiempo de respuesta y en utilizando Visual Paradigm for UML [57]
uso de recursos porque si bien utiliza más
Eficiencia
recursos, soporta mayor volumen de usuarios; si
la escalabilidad es importante, RBAC es mejor. En la Figura 15, se presenta la arquitectura inicial de
El RBAC es mejor que MAC con respecto a la Gestión de Trámites de Identificación con aspectos.
Seguridad
confidencialidad e integridad. Las Metas Funcionales y las Metas No Funcionales
Transversales del Modelo de Metas corresponden a
Luego, se selecciona un mecanismo/solución Compontes Funcionales y Componentes Aspectos,
arquitectónica, entre los candidatos evaluados: De la consecutivamente.
evaluación presentada en la Tabla 13 y del análisis de
las argumentaciones en la Tabla 14, se desprende que 6. CONCLUSIONES
RBAC y MAC compiten en cuanto a la Adecuación Se ha definido un proceso de diseño de una arquitectura
Funcional. El RBAC es mejor que MAC con respecto a la inicial para el tratamiento temprano de metas no
Seguridad (confidencialidad e integridad), Meta No funcionales que entrecruzan varias metas, a partir de un
Funcional Transversal de máxima prioridad para el Modelo de Negocio. Considerando este primer nivel de
sistema de Gestión de Tramites de Identificación la cual abstracción, el Modelo de Negocio en BPMN, es traducido
está asociada y por ende, satisface a la Meta Funcional a un Modelo de Metas en GRL [43], como segundo nivel de
Control de acceso. abstracción; el tratamiento de las Metas No Funcionales
Transversales, son refinadas en operacionalizaciones,
Por otra parte, en vista que se requiere además como modeladas por el Softgoal Interdependency Graph y se
política general disminuir el tiempo de respuesta de hacen corresponder con mecanismos/soluciones
una solicitud, es decir, mejorar la eficiencia global de arquitectónicas [22], en un modelo arquitectónico
Gestión de Tramites de Identificación, RBAC resulta expresado en UML 2.0. Entre estas soluciones se
ganador en cuanto a Eficiencia; por lo tanto, se decide selecciona una opción adecuada entre varias alternativas,
seleccionar a RBAC como solución arquitectónica para para la obtención de una arquitectura inicial que
“implementar” la operacionalización Autorización de considera aspectos [24], en su último nivel de abstracción.
Acceso y así encapsular como un componente

Figura 15. Arquitectura Inicial de Gestión de Trámites de Identificación con aspectos expresada en componentes UML [46],
utilizando Visual Paradigm for UML [57]
34
El uso del modelo de calidad para la especificación de Interdependency Graph y en consecuencia, la selección de
requisitos no funcionales ha sido tema central de interés la arquitectura inicial; así como también, la trazabilidad
de nuestro grupo de investigación, desde hace unos diez entre elementos no funcionales.
años. En particular, nuestro proceso integra las técnicas
de evaluación de arquitecturas presentadas en [39, 40], Nuestro aporte principal es haber integrado técnicas
que comparan arquitecturas de software, definiendo un actuales del modelado de negocio, orientación a metas,
marco conceptual de referencia con métricas generales de aspectos y especificación de la calidad de producto, en
alto nivel, utilizando el modelo de calidad ISO/IEC 9126-1 base a las directrices estipuladas en [23]. DAOMAC puede
(ahora ISO/IEC 25010) para la caracterización del ser integrado a las disciplinas de Ingeniería de Requisitos
dominio y así seleccionar una arquitectura inicial del o Ingeniería del Dominio, en contextos de Ingeniería de
sistema de software. Así mismo, consideran la selección Modelos o Líneas de Productos de Software. Así mismo,
de una arquitectura base a partir de tablas de está prevista la construcción de una herramienta de
especificación de atributos de calidad para cada soporte al proceso propuesto.
mecanismo arquitectónico y sus medidas respectivas,
utilizando también el mencionado modelo de calidad. 7. AGRADECIMIENTO
Los proyectos PEII-Fonacit DISofT No 2011001343,
Por otra parte, en [42], se presenta un núcleo notacional Venezuela, DesCCaP No PG-03-8014-2011 del Consejo de
para AOSD en UML para el tratamiento temprano de Desarrollo Científico y Humanístico (CDCH) y el
aspectos (en las disciplinas de requisitos, análisis y Postgrado en Ciencias de la Computación, Facultad de
diseño), construido mediante diferentes elementos de Ciencias, Universidad Central de Venezuela, han prestado
modelado que se encuentran en la literatura y diferentes ayuda financiera parcial a este trabajo. Así mismo,
extensiones de UML. En [43], se muestran pasos y reglas queremos agradecer muy especialmente a los árbitros por
para la correspondencia semántica entre los lenguajes la cuidadosa revisión del documento y los valiosos
BPMN y GRL, definiendo tareas no funcionales en el aportes realizados para mejorar el trabajo.
Modelo de Negocio en BPMN, haciéndolas corresponder
con metas no funcionales en el Modelo de Metas en GRL. 8. REFERENCIAS
Luego, los mismos autores en [22], proponen un proceso
que integra la orientación a metas y la orientación a [1] Amyot, D. et al. (2009). A Lightweight GRL Profile for i*
aspectos, para el tratamiento temprano de las metas no Modeling. ER Workshops 2009, pp. 254-264. Gramado,
Brazil.
funcionales transversales. Un punto relevante de este
[2] BizAgi (2012). BPM BizAgi v2.4. Available in:
enfoque, es por una parte, la especificación de los http://www.bizagi.com/.
requisitos de calidad asociados a las metas a través de un [3] Crusson, T. (2006). Business Process Modeling Language.
modelo de calidad [31]; por otra parte, la asociación de GLiNTECH.
mecanismos/soluciones arquitectónicas o patrones [6] a [4] Brandozzi, M. (2001). From goal oriented requirements
las operacionalizaciones derivadas del proceso, con los specifications to architectural prescriptions. University of
requisitos de calidad exigidos; esto facilitó en [24] la Texas at Austin.
resolución de conflictos y la toma de decisiones en la [5] Burlton, R. (2001). Effective Business Change through
evaluación de diferentes alternativas de solución a nivel Process Management: Strategies and Architectures for
Integrated Change. Process Renewal Group.
de mecanismos arquitectónicos, con bases a la
[6] Buschmann, F. et al. (2001). Pattern-Oriented Software
satisfacción de las metas no funcionales transversales, en Architecture: A System of Pattern. Addison-Wesley.
orden de importancia. [7] Castro, J. et al. (2011). Changing attitudes towards the
generation of architectural models. Journal of Systems and
El presente trabajo integra estos resultados y propone el Software, 85(3), pp. 463-479.
proceso DAOMAC, qué inicia con la descripción del [8] Chung, L. (1991). Representation and Utilization of Non-
proceso de negocio expresado como modelo de negocio Functional Requirements for Information System Design. In
en BPMN, hasta llegar al diseño de una arquitectura Proc. 3rd Int. Conf. Advanced Information Systems Eng.
inicial expresada en componentes UML con aspectos. (CAiSE), pp. 5-30. Trondheim, Norway.
[9] Chung, L.; Nixon, B. & Yu, E. (1995). Using Non-Functional
Requirements to Systematically Select Among Alternatives
En la actualidad se investiga en el uso del modelo de in Architectural Design. Proc. of 1st Int. Workshop on
negocio para la automatización directa de los procesos de architectures for Software System, pp. 31-32. Washington.
negocio, mediante servicios; utilizando la arquitectura [10] Chung, L. & Yu, E. (1998). Achieving System-Wide
basada en servicios SOA (Service Oriented Architecture) Architectural Qualities. Proc. of OMG-DARPA: MCC
[59, 64], enfoque en el cual la especificación temprana de Workshop on Compositional Software Architectures.
los requisitos de calidad, cobra mucha importancia. El Monterey, California.
modelo de calidad ISO/IEC 25010 [31], es una [11] Chung, L.; Gross, D. & Yu, E. (1999). Architectural design to
herramienta útil que puede ser utilizada también, en el meet stakeholder requirements. In Donohue, P. (Ed.),
Software architecture. Kluwer Academic Publishers.
contexto de la automatización de procesos de negocio,
[12] Chung, L. et al. (1999). Non-Functional Requirements in
para facilitar la selección de servicios basada en Metas No Software Engineering. International Series in Software
Funcionales. Es necesario resaltar como el modelo de Engineering, 5. Hardcover.
calidad ISO/IEC 25010 ha permitido la caracterización del [13] Chung, L.; Cooper, K. & Yi, A. (2002). Developing Adaptable
dominio, en cuanto a la especificación de los requisitos de Software Architectures Using Design Patterns: a NFR
calidad, ha facilitado el refinamiento del Softgoal Approach. Journal Computer Standards & Interfaces -
35
Special issue: Adaptable software architectures, 25(3), pp. [37] León, O. & Asato, J. (2009). La Importancia del Modelado de
253-260. Procesos de Negocio como Herramienta para la Mejora e
[14] Christopher, A. et al. (1977). A Pattern Language: Towns, Innovación. Revista Panorama Administrativo, 7(4), pp. 6-7.
Buildings, Construction. Oxford University Press. [38] Liu, L. & Yu, E. (2004). Designing information systems in
[15] Clements, P.; Kazman, R. & Klein, M. (2002). Evaluating social context: a goal and scenario modeling approach.
Software Architectures: Methods and Case Studies. Information Systems, 29(2), pp. 187-203.
Addison-Wesley. [39] Losavio, F. et al. (2003). Quality Characteristics for Software
[16] Bluter, A. (2009). Business Process Management Essentials. Architecture. Journal of Object Technology, 2(2), pp. 133-
Glintech. 150.
[17] Dermeval, D. et al. (2012). STREAM-ADD – Supporting the [40] Losavio, F. et al. (2004). ISO quality standards for
Documentation of Architectural Design Decisions in an measuring architectures. Journal of Systems and Software,
Architecture Derivation Process. Proc. 36th International 72(2), pp. 209-223.
Conference on Computer Software and Applications, pp. 16- [41] Losavio, F. & Guillén, Ch. (2006). Marco conceptual para un
20. diseño arquitectónico basado en aspectos de calidad.
[18] Ferraiolo, D. et al. (2001) Proposed NIST Standard for Role- Revista Universitaria Sapiens, 7(2), pp. 119-138.
Based Access Control. ACM Transactions on Information [42] Losavio, F.; Matteo, A. & Morantes, P. (2009). UML
and Systems Security, 4(3), pp. 224-274. Extensions for Aspect Oriented Software Development.
[19] Filman, R. et al. (2005). Aspect-Oriented Software Journal of Object Technology, 8(5), pp. 85-104.
Development. Addison Wesley. [43] Losavio, F.; Guzmán, J.C. & Matteo, A. (2011).
[20] Garlan, D. & Shaw, M. (1996). Software Architecture: Correspondencia Semántica entre los lenguajes BPMN y
Perspectives on an Emerging Discipline. Prentice Hall. GRL. Revista Venezolana de Información, Tecnología y
[21] Ghezzi, C.; Jazayeri, M. & Mandrioli, D. (2002). Conocimiento Enl@ace, 8(1), pp. 11-29.
Fundamentals of Software Engineering. Prentice Hall. [44] Moreira, A. & Brito, I. (2004). Integrating the NFR
[22] Guzmán, J.C.; Losavio, F. & Matteo A. (2012). Metas No framework in a RE model. Proc. Early Aspects 2004: AORE
Funcionales Transversales en GRL considerando and Architecture Design. Workshop, March 22, Lancaster,
Estándares de Calidad del Software. 1er. Congreso UK.
Venezolano de Tecnología e Innovación (ONCTI). Caracas, [45] Mussbacher, G. (2012). jUCMNav v5.2. http://jucmnav.
Venezuela. softwareengineering.ca/ucm/bin/view/ProjetSEG/WebHo
[23] Guzmán, J.C.; Losavio, F. & Matteo, A. (2013). Comparación me.
de métodos para el diseño arquitectónico del software que [46] OMG. (2005). Unified Modeling Language™ (UML®) 2.0.
consideran metas, aspectos y estándares de calidad. http://www.omg.org/spec/UML/.
Enl@ce: Revista Venezolana de Información, Tecnología y [47] OMG. (2008). Software Process Engineering Metamodel
Conocimiento, 10(2), pp. 11-27. (SPEM) 2.0. http://www.omg.org/spec/SPEM/2.0/PDF/.
[24] Guzmán, J.C.; Losavio, F. & Matteo, A. (2013). Evaluación [48] OMG. (2011). Business Process Model and Notation (BPMN)
arquitectónica con estándares de calidad de una 2.0. http://www.omg.org/spec/BPMN/2.0/.
arquitectura inicial obtenida a partir de metas y aspectos. [49] Rashid, A.; Moreira, A. & Araujo, J. (2003). Modularization y
2do. Congreso Venezolano de Tecnología e Innovación Composition of Aspectual Requirements. Proc. AOSD '03
(ONCTI), Caracas, Venezuela. Proceedings of the 2nd international conference on Aspect-
[25] Hammer, M. & Champy, J. (1993). Reengineering the oriented software development.
Corporation: A Manifesto for Business Revolution. Harper [50] Rashid, A.; Royer, J.C. & Rummler, A. (2011). Aspect-
Collins. Oriented, Model-Driven Software Product Lines: The
[26] Harrison, M.; Ruzzo, W. & Ullman, J. (1976). Protection in AMPLE Way. Cambridge University Press.
Operating Systems. Communications of the ACM, 19(8), pp. [51] Sandhu, R. & Samarati, P. (1994). Access Control: Principles
461-471. and Practice. IEEE Communications, 32(9), pp. 40-48.
[27] Hepp, M. & Roman, D. (2007). An Ontology Framework for [52] Scholten, F. (2007). The concern-oriented software
Semantic Business Process Management. Proc. of the 8th architecture analysis method. Computer Science, Electrical
international conference Wirtschafts informatik, pp. 1-18. Engineering, Mathematics and Computer Science.
February 28 - March 2, 2007, Karlsruhe, Germany. University of Twente.
[28] Horovitz, J. & Jurigus, M. (1994). La satisfacción total del [53] Tekinerdogan, B. (2004). ASAAM: Aspectual Software
cliente interno. McGraw Hill. Architecture Analysis Method. WICSA '04 Proceedings of
[29] IEEE. (2000). IEEE Std 1471-2000: Practice for the Fourth Working IEEE/IFIP Conference on Software
Architectural Description of Software-Intensive Systems. Architecture, p. 1-10.
[30] ITU-T. (2012). ITU-T Z.151: User Requirements Notation [54] Vanderveken, D. et al. (2005). Deriving Architectural
(URN)-Language Definition, Recommendation. Descriptions from Goal-Oriented Requirements Models.
[31] Mlitat, M. & Dai, Z. (2011). ISO/IEC 25010: Software Proc. ICSE 2006, May 20-28, Shanghai, China.
engineering-Software product Quality Requirements and [55] Lamsweerde, A. (2001). Goal-Oriented Requirements
Evaluation (SQuaRE), Quality models. Engineering: A Guided Tour. Proc. RE’01: 5th Intl. Symp.
[32] Kitchenham, B. (1997). DESMET: A Method for Evaluating Req. Eng., Aug., pp. 249-263, Toronto, August 2001.
Software Engineering Methods and Tools. Computing & [56] Lamsweerde, A. (2003). From system goals to software
Control Engineering Journal, 8(3), pp. 120-126. architecture. School on Formal Methods (SFM 2003), pp.
[33] Kiczales, G. et al. (1997). Aspect-oriented programming. 25-43, Bartinoro, Italy.
Proceedings of the ECOOP, pp. 1-25. [57] VPI. (2012). Visual Paradigm for UML v.10.1.
[34] Krutchen, P. (2000). The Rational Unified Process: An http://www.visual-paradigm.com/download/vpuml.jsp.
Introduction. Addison Wesley. [58] White, S. (2004). Business Process Modeling Notation
[35] Lapouchnian, A. (2005). Goal-Oriented Requirements (BPMN) 1.0. Business Process Management Initiative.
Engineering: An Overview of the Current Research. [59] World Wide Web Consortium. Web Services Architecture
University of Toronto. Requirements. W3C Working Group Note 11 February
[36] Lee, M. (2005). StarUML - The Open Source UML/MDA (2004). Copyright © 2004 W3C® (MIT, ERCIM, Keio).
Platform. http://staruml.sourceforge.net/en/. http://www.w3.org/TR/wsa-reqs.
36
[60] Yu, E. & Mylopoulos, J. (1993). An Actor Dependency Model Engineering: Foundations of Software Quality REFSQ’97,
of Organization Work-With Application to Business Process pp. 171-183. Barcelona, Spain.
Reengineering. Proc. Conf. on Organizational Computing [63] Yu, E., Strohmaier, M., & Deng, X. (2006). Exploring
Systems (COOCS ‘93), pp. 258-268. Nov. 1-4, Milpitas, Intentional Modeling and Analysis for Enterprise
California. Architecture. Proc. of the EDOC 2006 Conference Workshop
[61] Yu, E. (1997). Towards Modelling and Reasoning Support on Trends in Enterprise Architecture Research. Hong Kong.
for Early-Phase Requirements Engineering. Proc. of the 3rd [64] Yu, E. & Lo, A. (2007). From Business Models to Service-
IEEE Int. Symp. on Requirements Engineering, pp. 226-235. Oriented Design: A Reference Catalog Approach. Proc. 26th
[62] Yu, E. (1997). Why Agent-Oriented Requirements International Conference on Conceptual Modeling, pp. 87-
Engineering. Proc. 3rd Int. Workshop on Requirements 101. Auckland, New Zealand, November 5-9.

37
Copyright of Revista Antioqueña de las Ciencias Computacionales is the property of Instituto
Antioqueno de Investigacion and its content may not be copied or emailed to multiple sites or
posted to a listserv without the copyright holder's express written permission. However, users
may print, download, or email articles for individual use.

S-ar putea să vă placă și