SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
SEDE IBARRA
ESCUELA DE INGENIERÍA
TRABAJO DE EVALUACIÓN DE SOFTWARE
“MECABIT”
Autor: Ernesto Jiménez
Ibarra – 19 de Mayo 2014
MECABIC 2
Resumen
El presente trabajo es una investigación sobre el Método de Evaluación para Arquitecturas
Basadas en Componentes, MECABIC. El objetivo principal de MECABIC es evaluar y analizar
la calidad exigida por los usuarios de Arquitecturas de Software Basadas en Componentes. El
método se compone de responsables, técnicas y fases. Para la especificación de la calidad se
hace uso de un árbol de utilidad. Para el análisis de la arquitectura se utiliza la técnica de
escenarios, soportada por cuestionarios y así identificar lo que desean los participantes.
Abstract
The present document is an investigation about Evaluation Method for Component-Based
Architectures, MECABIC. The main objective is to evaluate and analyze MECABIC the quality
demanded by the users of Software Architectures Based on Components. The method consists
of responsible, techniques and stages. For specification of the quality use a tree of utility. For
analysis of architecture use scenario techniques, this is supported by questions.
Índice
1. Introducción.......................................................................................................................... 5
2. MECABIC................................................................................................................................ 6
3. Fases del Método.................................................................................................................. 9
3.1. FASE 1 - Presentación.................................................................................................... 9
3.1.1. PASO 1: Presentación del método ........................................................................ 9
3.1.2. PASO 2: Presentación de las directrices de negocio ........................................... 10
3.1.3. PASO 3: Presentación de la Arquitectura............................................................ 10
3.2. FASE 2 - Investigación y Análisis.................................................................................. 11
3.2.2. PASO 4: Identificación de elementos de diseño. ................................................ 11
3.2.3. PASO 5: Generación del árbol de utilidad........................................................... 12
3.2.4. PASO 6: Análisis de elementos de diseño para ASBC.......................................... 16
3.3. FASE 3 - Prueba ........................................................................................................... 17
3.3.2. PASO 7: Revisión del árbol de utilidad ................................................................ 17
3.3.3. PASO 8: Revisión de los elementos definidos ..................................................... 18
3.4. FASE 4 - Presentación de Resultados .......................................................................... 20
3.4.2. PASO 9: Generación de acuerdos........................................................................ 20
3.4.3. PASO 10: Presentación de los resultados............................................................ 21
Bibliografía .................................................................................................................................. 22
Marco Teórico
MECABIC 5
Método de Evaluación de la Calidad de Arquitecturas Basadas en la
Integración de Componentes o MECABIC
1. Introducción
La evaluación de software es un elemento importante en el ciclo de vida
de un proyecto tanto en la construcción de un producto software como
también, en el producto terminado, además garantiza un mejor producto.
Gracias a la evaluación se mejora los procesos en la empresa ya que se valida
y verifica todas y cada una de las características del producto sin importar si
es simple o compleja. (Elisa, 2013)
Un punto crítico en la construcción de software es decidir su diseño. En
base de los requerimientos y restricciones se elige ¿Qué componentes van
intervenir?, además ¿Cómo se van a relacionar dichos componentes?, a esto
llamamos arquitectura de software.
En el desarrollo de software basado en componentes se reutiliza piezas de
código pre elaborado que permiten realizar diversas tareas, conllevando a
diversos beneficios como las mejoras a la calidad, la reducción del ciclo de
desarrollo y el mayor retorno sobre la inversión. (Terreros, s.f.)
Las arquitecturas más conocidas son la Monolítica, Cliente-Servidor,
Arquitectura tres niveles (Presentación, negocio, almacenamiento); también se
puede hablar de arquitecturas MVC (Modelo Vista Controlador), Orientada a
Servicios, Dirigida por Eventos, en Pizarra, Entre Pares, En Pipeline, Máquinas
Virtuales. (Wikipedia, s.f.)
MECABIC 6
2. MECABIC
MECABIC es un método que sirve para analizar y evaluar
Arquitecturas de Software Basadas en Componentes con el objetivo de que sea
aplicado en Arquitecturas Orientadas a Servicio SOA. Este análisis se realiza
desde el punto de vista, que bajo ciertas y determinadas situaciones o
condiciones, se puede ver un servicio como un componente. El método se basa
en algunos métodos de evaluación arquitectónica como ATAM, BOSCH,
ABD, ARID, Losavio (Grimán, s.f.)
El MECABIC está inspirado en ATAM, al método se le incluyeron en
algunos de sus pasos un enfoque de integración de elementos de diseño,
inspirado en la construcción de partes arquitectónicas adoptado por el
Architecture Based Design (ABD). Además se propone un árbol de utilidad
inicial basado en el modelo de calidad ISO/IEC 9126 instanciado para
Arquitectura de Software propuesto por Losavio. La adopción de este modelo
por parte del MECABIC permite concentrarse en características que dependen
exclusivamente de la arquitectura, y al ser un estándar facilita la
correspondencia con características de calidad consideradas por los métodos
estudiados. Los escenarios1
incluidos en este árbol son específicos para
aplicaciones basadas en componentes.
1
Un escenario es una descripción parcial y concreta del comportamiento de un sistema en una
determinada situación. – Ingeniería de Requerimientos
MECABIC 7
En el método MECABIC participan tres grupos de trabajo:
1) Los arquitectos
2) El evaluador
3) Los relacionados o stakeholders2
.
Para la especificación de la calidad se hace uso de un árbol de utilidad, el
cual tiene como nodo raíz la “bondad” o “utilidad” del sistema. En el segundo
nivel del árbol se encuentran los atributos de calidad. Las hojas del árbol de
utilidad son escenarios, los cuales representan mecanismos mediante los cuales
extensas declaraciones de cualidades son hechas específicas y posibles de
evaluar.
La generación del árbol de calidad incluye un paso que permite
establecer prioridades. Para el análisis de la arquitectura se utiliza la técnica de
escenarios, soportada por cuestionarios, para identificar lo que desean los
participantes. (Solarte, 2010)
MECABIT se divide en cuatro fases de desarrollo:
Fase 1: Presentación: Se da a conocer el método entre todos los grupos, el
sistema y su organización, y finalmente se presenta cuál es la arquitectura que
debe ser evaluada.
2
Stakeholders: Son las personas involucradas de alguna manera con el sistema: programadores,
usuarios, gerentes, entre otros.
MECABIC 8
Fase 2: Investigación y Análisis: Se determina de qué manera se va estudiar la
arquitectura, se pide a los stakeholders que expresen de una manera precisa que
escenarios de calidad se desean y se analiza si la arquitectura es apropiada o se
requieren modificaciones para que lo sea. En esta fase sólo participan el grupo
evaluador y grupo de arquitectos.
Fase 3: Prueba: Consiste en la revisión de la segunda fase y en ella participan
todos los grupos
Fase 4: Presentación de Resultados: Presentación de los resultados. En esta
fase participan todos los grupos.
La siguiente tabla muestra los participantes en el método MECABIT
Equipo Definición
Fases en las que
participan
Arquitectos
Responsables de generar y documentar una
Arquitectura de Software para el sistema
estudiado.
Todas
Evaluador
Integrado por personas expertas en asuntos
de calidad quienes guiarán el proceso de
evaluación de la arquitectura
Todas
Relacionados o
Stakeholders
Son las personas involucradas de alguna
manera con el sistema: programadores,
usuarios, gerentes, entre otros.
Fases 1 3 y 4
Tabla 1: Grupos de Trabajo en el Método MECABIC.
MECABIC 9
3. Fases del Método
3.1.FASE 1 - Presentación
En esta fase se da a conocer el método entre todos los grupos, el sistema
y su organización, y finalmente se presenta cuál es la arquitectura que debe ser
evaluada. En esta fase se realiza una presentación del método MECABIC para
que los participantes comprendan en qué punto de la aplicación del método se
encuentran en cada momento. También se da a conocer la arquitectura inicial a
evaluar y qué características de calidad se esperan lograr. Esta fase consta de tres
pasos: Presentación del método, Presentación de las directrices de negocio,
Presentación de la Arquitectura. (Solarte, 2010)
3.1.1. PASO 1: Presentación del método
En el primer paso el director de evaluación presenta el método ante los
participantes con el proyecto. Se explica el proceso que debe cumplir cada
participante del proyecto, se responden preguntas y se establecen las
expectativas y el contexto sobre las actividades o tareas restantes. La finalidad es
que todas las personas involucradas en el sistema comprendan la secuencia de
los pasos a seguir, los instrumentos utilizados en cada paso y las salidas del
método. Se pide a las personas que comenten sus expectativas o que hagan
preguntas particulares acerca de lo que esperan de la aplicación del método.
MECABIC 10
3.1.2. PASO 2: Presentación de las directrices de negocio
Cada persona que posee una responsabilidad sobre la evaluación, necesitan
comprender el contexto del sistema y los aspectos primarios del contexto del
negocio que motivan su desarrollo. Se explica a las personas el contexto del
sistema y los requerimientos del negocio dentro del cual va a funcionar el
sistema. Algunos tópicos que debería contener esta presentación son: las
funcionalidades más importantes del sistema, los objetivos del negocio y el
contexto relacionado con el proyecto, el grupo dirigente de los desarrolladores y
usuarios, las directrices arquitectónicas, restricciones técnicas, gerenciales,
económicas y políticas y obertura de la evaluación y límites del sistema.
3.1.3. PASO 3: Presentación de la Arquitectura
El arquitecto o grupo de representantes explican a las personas como
desarrollador, usuario o gerente, cuál es la arquitectura evaluada. Debe contener
una clara diferenciación estructural, la cual deberá mostrar claramente las
relaciones entre componentes de la arquitectura y las diferentes granularidades3
involucradas. El arquitecto cubre restricciones técnicas y los alcances
arquitectónicos usados para alcanzar los requerimientos. El arquitecto debe
transmitir lo esencial y de esta manera abreviada la información de la
arquitectura que requiere el equipo.
3
Granularidad: nivel de detalle (finura) considerado en un modelo o de la toma de decisiones en el
proceso. A mayor granularidad más profundo es el nivel de detalles (la finura de los datos)
MECABIC 11
3.2.FASE 2 - Investigación y Análisis
En esta fase se determina de qué manera se va estudiar la arquitectura, se
pide a las personas que están relacionadas con el sistema, ya sea un desarrollador,
usuario o gerente, que expresen de una manera precisa que escenarios de calidad
se desean y se analiza si la arquitectura es apropiada o se requieren
modificaciones para que lo sea. En esta fase sólo participan el grupo evaluador y
grupo de arquitectos. En esta fase se identifican elementos de diseño que ayuden a
analizar la arquitectura, se especifican los requerimientos planteados durante el
paso 2 y se analiza cómo responden los elementos de diseño considerados a los
requerimientos. Esta fase se divide en tres pasos:
3.2.2. PASO 4: Identificación de elementos de diseño.
Contemplan alternativas de diseño de la arquitectura, que posteriormente
serán analizadas para ver cómo responden a los requerimientos de calidad. La
arquitectura debe ser evaluada completamente desde el sistema con sus
componentes de mayor granularidad, hasta el mínimo nivel de granularidad que
corresponde a los componentes. Se propone identificar elementos de diseño dentro
de una arquitectura basada en componentes, como un componente, y el conjunto
de componentes con los cuales interactúa, un conjunto de asociaciones que sea de
interés sobre alguna característica de calidad particular o conjunto de decisiones
que tenga influencia considerable sobre otros elementos de diseño. Para identificar
un elemento de diseño se considera los servicios ofrecidos por los componentes
disponibles y las diferentes opciones para definir los servicios de los componentes
desarrollados para el sistema. La manera de documentar los elementos de diseño
MECABIC 12
depende de la importancia que pueda tener dentro de la evaluación, del conjunto
de decisiones o adaptaciones a realizar, y del conocimiento de las personas que
están relacionadas con el sistema y estén en la evaluación. (Solarte, 2010)
3.2.3. PASO 5: Generación del árbol de utilidad.
1) Seleccionar los escenarios iniciales a considerar: En este paso el grupo
evaluador presenta los diferentes escenarios a considerar al resto de los
participantes y se decide cuáles son los que serán incluidos en el árbol de
utilidad.
2) Proposición de escenarios no contemplados: Este paso busca brindar a los
stakeholders4
la posibilidad de que verifiquen si es necesario incluir en el
árbol de utilidad algún otro escenario. Si se determinan escenarios de calidad
que cuenten con un alto consenso de los participantes deberían ser incluidos
directamente dentro del árbol de utilidad.
La selección del resto de los escenarios puede realizarse por votación como
propone originalmente el ATAM. Luego se organizan los escenarios de
calidad introducidos no contemplados en la tabla de generación del árbol de
utilidad inicial por características de calidad.
4
Stakeholders: Aquellas personas que están relacionadas, de cierta forma, con el sistema, ya sea un
desarrollador, usuario o gerente, etcétera.
MECABIC 13
Debido a que se evalúa un conjunto de características de interés no deberían
estar presentes escenarios de calidad para todas las características de calidad
conocidas. Una vez obtenido los escenarios a incluir árbol de utilidad se
procede a priorizarlos.
3) Priorización de los escenarios de calidad: En este paso el objetivo se debe
ordenar los escenarios ya que de esta manera los arquitectos cuentan con más
orientación para tomar decisiones arquitectónicas, y los stakeholders pueden
estar más conscientes de lo que esperan del sistema, y obtener una idea sobre
en qué medida va a ser satisfecho.
Una vez que se ha decidido incluir en el árbol de utilidad los escenarios más
importantes, se procede a asignar un orden a los escenarios de calidad de un
sistema utilizando dos criterios, a saber:
a) Evaluar el riesgo de no considerar el escenario. Se deben responder las
preguntas: ¿qué pasa si este escenario no se cumple?, ¿cuántas personas se
ven afectadas?, ¿es posible compensar el no responder a este escenario?
b) Evaluar el esfuerzo necesario para lograr cumplir con el escenario. En este
caso se determina que cambios o integraciones de nuevos componentes se
deben realizar para satisfacer el escenario. Los escenarios más difíciles son
aquellos en los que se debe consumir más tiempo de análisis y el resto debe
ser guardado como parte del registro.
MECABIC 14
Finalmente, se construye el árbol de utilidad con las salidas del paso
anterior. La prioridad del escenario define en este método como un par (X, Y) en
el cual X define el esfuerzo de satisfacer el escenario, y la Y indica los riesgos que
se corren al excluirlos del árbol de utilidad.
Los posibles valores para X e Y son A (Alto), B (Bajo) y M (Medio). El
árbol de utilidad generado se toma como un plan para el resto de la evaluación que
realiza el método. Indica además al equipo evaluador dónde ocupar su tiempo y
dónde probar aproximaciones y riesgos arquitectónicos. (Yoan Carrascoso, 2009)
La generación del árbol de utilidades acerca de la Investigación y Análisis
del método es tomada de acuerdo a la norma ISO/IEC 9126 y adaptada para la
evaluación de la arquitectura de software. A continuación se muestra el árbol de
utilidad aplicado para el método MECABIC
MECABIC 15
Característica Sub-característica Escenario
Funcionalidad
Interoperabilidad
El sistema posee componentes capaces de leer datos
provenientes de otros sistemas.
El sistema posee componentes capaces de producir
datos para otro sistema
Precisión
Los resultados ofrecidos por los componentes
sistema son exactos
La comunicación entre los componentes no altera la
exactitud de los datos.
Seguridad
El sistema detecta la actuación de un introso e
impide acceso a los componentes que manejen
información sensible
El sistema asegura que los componentes no pierdan
datos ante un ataque (interno o externo)
Obediencia
(Complinace)
Los componentes respetan un estándar de
fiabilidad.
La comunicación entre los componentes no viola
los estándares de fiabilidad
Fiabilidad
Madurez
Los componentes del sistema manejan entradas de
datos de datos incorrectos.
Tolerancia a fallas
Todas las operaciones ejecutadas por los
componentes se realizan correctamente bajo
condiciones adversas.
Capacidad de
restablecimiento o
recuperación
Los componentes del sistema no fallan bajo ciertas
condiciones especificadas.
Ante problemas con el ambiente un subconjunto
determinado de los componentes puede continuar
prestando sus servicios.
Eficiencia
Tiempo de
comportamiento
El sistema debe recibir los servicios de sus
componentes en el transcurso de un tiempo
indicado.
Recursos utilizados
Los componentes pueden compartir recursos
adecuadamente.
El sistema controla que ningún componente se
quede sin recursos cuando los necesita.
Mantenibilidad
Habilidad de
cambio, estabilidad,
prueba
Es posible verificar el estado de los componentes
del sistema.
El sistema brinda facilidad para adaptar un
componente.
El sistema debe facilitar la sustitución/adaptación
de un componente.
Portabilidad
Adaptabilidad
El sistema debe continuar funcionando
correctamente aun cuando los servicios de los
componentes provistos por el ambiente varíen.
Capacidad de
Instalación
Los componentes pueden instalarse fácilmente en
todos los ambientes donde debe funcionar.
Co-existencia
Los componentes manejan adecuadamente recursos
compartidos del sistema.
Tabla 57: Subconjunto del Árbol de Utilidad Inicial Propuesto por el Método MECABIT
MECABIC 16
3.2.4. PASO 6: Análisis de elementos de diseño para ASBC.
Se analizan los elementos de diseño identificados en el paso 4 o de nuevos
elementos de diseño que puedan ser identificados, para determinar cómo influyen
sobre la realización de los escenarios de calidad presentes en el árbol de utilidad
generado en el paso 5.
Los componentes proveen un conjunto de puertos que se deben ir
extendiendo para proporcionar nuevos servicios, los cuales a su vez pueden ser
ofrecidos para que otros componentes los extiendan. Se debe evaluar un conjunto
de opciones que indiquen una manera de definir una relación entre puertos, de
acuerdo a algún criterio de calidad.
Los escenarios de calidad deben ser aplicados a la arquitectura que ha sido
generada. El equipo de evaluación se orienta con las preguntas de análisis
propuestas por el método para determinar decisiones sobre la arquitectura. Se debe
preguntar si las decisiones tomadas permiten alcanzar los escenarios de calidad
planteados. Si la respuesta es negativa se deben reconsiderar cualquiera de las
decisiones que han sido hechas. Las decisiones identificadas anteriormente,
pueden relacionarse con determinados elementos de diseño.
Se deben estudiar los riesgos que introduce la decisión en particular, o si ésta
contribuye a algún riesgo ya determinado. También se pueden documentar
decisiones que no han sido tomadas o asuntos no resueltos que a juicio del equipo
de evaluación pueden ser resueltos en un futuro estudiando con más detalle el
elemento de diseño considerado. (Solarte, 2010)
MECABIC 17
3.3.FASE 3 - Prueba
Consiste en la revisión de la segunda fase y en ella participan todos los
grupos. Se debe tomar en cuenta dos pasos:
3.3.2. PASO 7: Revisión del árbol de utilidad
Se propone utilizar escenarios de calidad para representar los intereses de
todos los grupos de la evaluación y confirmar que se han evaluado los
requerimientos deseados de calidad. El equipo de evaluación puede facilitar la
elaboración de escenarios haciendo uso del conjunto de pasos propuestos en el
paso 6.
Los escenarios del árbol de utilidad que no hayan sido considerados, son
colocados por las personas como desarrolladores y usuarios en el paquete de
tormenta de ideas, lo que les da la oportunidad de revisar escenarios poco
atendidos. Los escenarios generados se comparan con la lista inicialmente
considerada en el árbol de utilidad. En caso de que la consideración y priorización
coincida, entonces se puede decir los escenarios evaluados son adecuados para el
grupo de interesados en el sistema.
Cuando no se logra un acuerdo entre los dos grupos de desarrolladores y
usuarios posiblemente no se representaron adecuadamente los intereses de los
involucrados. Los desarrolladores deben analizar también los escenarios que ya
han sido evaluados, para verificar que hayan recibido la importancia adecuada.
MECABIC 18
Una vez que el nuevo escenario ha sido considerado se pueden presentar tres
casos:
1) El escenario duplica un escenario ya considerado en el árbol de utilidad
2) El escenario pasa a ser una hoja de una rama ya existente
3) No existe rama para el escenario debido a que no había sido considerado
previamente.
Los primeros dos casos sugieren que la arquitectura de software ha sido creada de
acuerdo con las expectativas de los usuarios, mientras que en el tercer caso, se ha
fallado al considerar algún aspecto de calidad importante y puede existir un riesgo
a documentar. (Solarte, 2010)
3.3.3. PASO 8: Revisión de los elementos definidos
El equipo evaluador debe estudiar de qué manera los elementos de diseño
analizados en el paso 6, promueven los escenarios propuestos por el nuevo grupo
de usuarios y desarrolladores. En caso que no promuevan las características de
calidad deseadas, deben ser reconsiderados. (Solarte, 2010)
A continuación se presenta una tabla de preguntas sobre los elementos de
revisión del diseño.
MECABIC 19
Característica Sub-característica Preguntas de análisis
Funcionalidad
Precisión
¿Puede la comunicación entre los
componentes introducir imprecisiones
en los servicios ofrecidos por los
componentes?
Interoperabilidad
¿Dónde se encuentran los componentes
que permiten al sistema interactuar con
otros sistemas?
Fiabilidad
Madurez
¿Existen decisiones para minimizar el
manejo incorrecto de datos en la
comunicación entre componentes?
Tolerancia a fallas
¿Cómo se detecta el funcionamiento
incorrecto de un componente?
Eficiencia
Tiempo de
comportamiento
¿Cómo es la relación entre el número de
componentes de las diferentes partes de
la arquitectura?
Mantenibilidad
Habilidad de cambio,
estabilidad, prueba
¿Cómo se verifica el funcionamiento
correcto de un componente?
¿Cómo se verifica el estado de una
comunicación entre componentes?
¿Cómo se facilita el reemplazo de un
componente?
Portabilidad
Capacidad de
Instalación
¿Existe un mecanismo para determinar
si todos los componentes del sistema se
encuentran correctamente instalados?
Co-existencia
¿Existe alguna manera de identificar las
reglas para interactuar con componentes
de sistemas externos a la arquitectura?
Tabla 3: Algunas Preguntas para Analizar los Elementos de Diseño Identificados
MECABIC 20
3.4.FASE 4 - Presentación de Resultados
En la última fase se lleva a cabo a presentación de los resultados. En esta
fase participan todos los grupos, es la fase de Generación de la arquitectura final
y reporte. En este momento se cuenta ya con un análisis de todas las decisiones
que se han producido hasta el momento.
Si no hay conflictos y se puede concluir que existe una arquitectura
adecuada para los requerimientos de calidad de las personas involucradas en la
evaluación, entonces se puede pasar al paso 10 directamente. Si por el contrario
en algún elemento de diseño existen decisiones en las que resulte favorecido
algún requerimiento, entonces los usuarios y desarrolladores son los que tienen
que determinar o acordar cuáles requerimientos favorecer. (Solarte, 2010)
3.4.2. PASO 9: Generación de acuerdos.
Se decide cuál será la arquitectura adoptada por el sistema. Para ello se debe
buscar un consenso en cuanto a las opciones que existan, en caso de que no se
haya identificado alguna notablemente mejor. Si existen requerimientos de calidad
que no han sido logrados se debe brindar la posibilidad de replantear los
requerimientos de calidad que no hayan podido ser alcanzados, para aprovechar
posibles ventajas de la arquitectura. Esta es una negociación crítica, ya que de
fallar, implicaría la necesidad de replantear la arquitectura, y de tener éxito hay
que cuidar que los requerimientos de calidad no resueltos sean equivalentes, para
que los usuarios y desarrolladores estén contentos con el sistema.
MECABIC 21
Finalmente, se documentan todos aquellos requerimientos de calidad para
los cuales no es posible encontrar una solución, justificando las razones.
3.4.3. PASO 10: Presentación de los resultados
Se presenta un resumen de la aplicación del método, de forma oral y/o
escrita. Se deben incluir entonces, los siguientes documentos a partir de los
cuales se inició la evaluación: (Solarte, 2010)
a) Contexto del negocio.
b) Requerimientos de Calidad.
c) Restricciones.
d) Arquitectura producida.
e) Análisis de elementos de diseño identificados.
f) Conjunto de escenarios negociados.
g) Conjunto de preguntas para evaluación de atributos.
h) Árbol de Utilidad.
i) No-riesgos documentado.
j) Puntos sensibles y de negociación.
MECABIC 22
Bibliografía
Elisa. (15 de 09 de 2013). maelisablag. Obtenido de Evaluación de Software:
http://maelisablag.blogspot.com/2013/09/evaluacion-de-software.html
Grimán, A. (s.f.). Research Gate. Obtenido de Método de Evaluación de Arquitecturas de
Software Basadas en Componentes (MECABIC):
http://www.researchgate.net/publication/237737678_Mtodo_de_Evaluacin_de_Arquitec
turas_de_Software_Basadas_en_Componentes_(MECABIC)
Solarte, F. N. (2010). Módulo de Evaluación de Software.
Terreros, J. C. (s.f.). Microsoft. Obtenido de Desarrollo de Software basado en Componentes:
http://msdn.microsoft.com/es-es/library/bb972268.aspx
Wikipedia. (s.f.). Obtenido de Arquitectura de software:
http://es.wikipedia.org/wiki/Arquitectura_de_software
Yoan Carrascoso, E. G. (2009). Gestiopolis. Obtenido de Procedimiento para la evaluación de
arquitecturas de software basadas en componentes:
http://www.gestiopolis.com/administracion-estrategia/procedimiento-para-la-evolucion-
de-las-arquitecturas-de-software.htm

Weitere ähnliche Inhalte

Was ist angesagt?

Calidad del software educativo
Calidad del software educativoCalidad del software educativo
Calidad del software educativoYyessenia
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturasSamis Ambrocio
 
Trabajo de Christian Oblitas
Trabajo de Christian OblitasTrabajo de Christian Oblitas
Trabajo de Christian OblitasChristian1705
 
Métrica v3 curiosidades_tecnicas_practicas
Métrica v3 curiosidades_tecnicas_practicasMétrica v3 curiosidades_tecnicas_practicas
Métrica v3 curiosidades_tecnicas_practicasoposicionestic
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoMario Chávez Morales
 
Documento word copia seguridad ymacros
Documento word   copia seguridad ymacrosDocumento word   copia seguridad ymacros
Documento word copia seguridad ymacros15309292
 
Administracion redes gnu_linuxjj
Administracion redes gnu_linuxjjAdministracion redes gnu_linuxjj
Administracion redes gnu_linuxjjDani Gamboa
 
Lineas de producto de software y el Metodo watch
Lineas de producto de software y el Metodo watchLineas de producto de software y el Metodo watch
Lineas de producto de software y el Metodo watchJesus Chacon
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareEliset Gonzales Uceda
 
Etapas del diseño de Experiencia de usuario
Etapas del diseño de Experiencia de usuarioEtapas del diseño de Experiencia de usuario
Etapas del diseño de Experiencia de usuariomarthagtzmiranda
 

Was ist angesagt? (13)

Tp336 2015-1
Tp336 2015-1Tp336 2015-1
Tp336 2015-1
 
Libro1
Libro1Libro1
Libro1
 
Calidad del software educativo
Calidad del software educativoCalidad del software educativo
Calidad del software educativo
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturas
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Trabajo de Christian Oblitas
Trabajo de Christian OblitasTrabajo de Christian Oblitas
Trabajo de Christian Oblitas
 
Métrica v3 curiosidades_tecnicas_practicas
Métrica v3 curiosidades_tecnicas_practicasMétrica v3 curiosidades_tecnicas_practicas
Métrica v3 curiosidades_tecnicas_practicas
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
 
Documento word copia seguridad ymacros
Documento word   copia seguridad ymacrosDocumento word   copia seguridad ymacros
Documento word copia seguridad ymacros
 
Administracion redes gnu_linuxjj
Administracion redes gnu_linuxjjAdministracion redes gnu_linuxjj
Administracion redes gnu_linuxjj
 
Lineas de producto de software y el Metodo watch
Lineas de producto de software y el Metodo watchLineas de producto de software y el Metodo watch
Lineas de producto de software y el Metodo watch
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Etapas del diseño de Experiencia de usuario
Etapas del diseño de Experiencia de usuarioEtapas del diseño de Experiencia de usuario
Etapas del diseño de Experiencia de usuario
 

Andere mochten auch

Proyecto trabajadores tres cero
Proyecto trabajadores tres ceroProyecto trabajadores tres cero
Proyecto trabajadores tres cerocaballerogms
 
Clase 5 nuevo escenario de los negocios [modo de compatibilidad]
Clase 5 nuevo escenario de los negocios [modo de compatibilidad]Clase 5 nuevo escenario de los negocios [modo de compatibilidad]
Clase 5 nuevo escenario de los negocios [modo de compatibilidad]mis materias en ucasal
 
Restaurante orquídea
Restaurante orquídeaRestaurante orquídea
Restaurante orquídearestaurante 1
 
Sharon perez camila cruz 802 power point
Sharon perez camila cruz 802 power pointSharon perez camila cruz 802 power point
Sharon perez camila cruz 802 power pointsharon perez
 
Presentacion web social
Presentacion web socialPresentacion web social
Presentacion web socialleontina14
 
Javier jiménez y mohamed ezzizaoui
Javier jiménez y mohamed ezzizaouiJavier jiménez y mohamed ezzizaoui
Javier jiménez y mohamed ezzizaouitecnoalcazar
 
Videocámara
VideocámaraVideocámara
Videocámaramptp
 
Transposició didàctica
Transposició didàcticaTransposició didàctica
Transposició didàcticajosam2001
 
Black berry
Black berryBlack berry
Black berryErika
 
Teoria de x y y
Teoria de x y yTeoria de x y y
Teoria de x y yKaryma8
 
Equipo 3 sociedad del conocimiento
Equipo 3 sociedad del conocimientoEquipo 3 sociedad del conocimiento
Equipo 3 sociedad del conocimientorya
 

Andere mochten auch (20)

El resumen ilj2010
El resumen ilj2010El resumen ilj2010
El resumen ilj2010
 
NTI, TIC,
NTI, TIC, NTI, TIC,
NTI, TIC,
 
Simona
SimonaSimona
Simona
 
Proyecto trabajadores tres cero
Proyecto trabajadores tres ceroProyecto trabajadores tres cero
Proyecto trabajadores tres cero
 
Luisa y juan
Luisa y juanLuisa y juan
Luisa y juan
 
Trabajo final
Trabajo finalTrabajo final
Trabajo final
 
Ciberbullying
CiberbullyingCiberbullying
Ciberbullying
 
Clase 5 nuevo escenario de los negocios [modo de compatibilidad]
Clase 5 nuevo escenario de los negocios [modo de compatibilidad]Clase 5 nuevo escenario de los negocios [modo de compatibilidad]
Clase 5 nuevo escenario de los negocios [modo de compatibilidad]
 
Restaurante orquídea
Restaurante orquídeaRestaurante orquídea
Restaurante orquídea
 
Sharon perez camila cruz 802 power point
Sharon perez camila cruz 802 power pointSharon perez camila cruz 802 power point
Sharon perez camila cruz 802 power point
 
Grupo a
Grupo aGrupo a
Grupo a
 
Menú bodas 2011
Menú bodas 2011Menú bodas 2011
Menú bodas 2011
 
Presentacion web social
Presentacion web socialPresentacion web social
Presentacion web social
 
Incoterms 2010
Incoterms 2010Incoterms 2010
Incoterms 2010
 
Javier jiménez y mohamed ezzizaoui
Javier jiménez y mohamed ezzizaouiJavier jiménez y mohamed ezzizaoui
Javier jiménez y mohamed ezzizaoui
 
Videocámara
VideocámaraVideocámara
Videocámara
 
Transposició didàctica
Transposició didàcticaTransposició didàctica
Transposició didàctica
 
Black berry
Black berryBlack berry
Black berry
 
Teoria de x y y
Teoria de x y yTeoria de x y y
Teoria de x y y
 
Equipo 3 sociedad del conocimiento
Equipo 3 sociedad del conocimientoEquipo 3 sociedad del conocimiento
Equipo 3 sociedad del conocimiento
 

Ähnlich wie Mecabic

RUP - Fase de Elaboración
RUP - Fase de ElaboraciónRUP - Fase de Elaboración
RUP - Fase de ElaboraciónAdrian González
 
Metodo Watch Component
Metodo Watch ComponentMetodo Watch Component
Metodo Watch ComponentLeoner Parra
 
MetodologíA. Ciclo De Proyecto Y Marco LóGico
MetodologíA. Ciclo De Proyecto Y Marco LóGicoMetodologíA. Ciclo De Proyecto Y Marco LóGico
MetodologíA. Ciclo De Proyecto Y Marco LóGicoSebastian San Juan
 
Manual reactivos ceneval.
Manual reactivos ceneval.Manual reactivos ceneval.
Manual reactivos ceneval.zakuvmupn
 
proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial Jorge Luis Jaramillo
 
Métodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específicoMétodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específicoTefa Gonzaga
 
Fabio lópez cuadro_comparativo_actividad_2.2
Fabio lópez cuadro_comparativo_actividad_2.2Fabio lópez cuadro_comparativo_actividad_2.2
Fabio lópez cuadro_comparativo_actividad_2.2Fabio Lopez
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo VVivitaGranizo
 
Proceso unificado y modelo v
Proceso unificado y modelo vProceso unificado y modelo v
Proceso unificado y modelo vVivitaGranizo
 
Proceso unificado y modelo v
Proceso unificado y modelo vProceso unificado y modelo v
Proceso unificado y modelo vVivitaGranizo
 
Emilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo vEmilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo vVivitaGranizo
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareJavier Capa
 
Documento_completo.pdf-PDFA UWE.pdf
Documento_completo.pdf-PDFA UWE.pdfDocumento_completo.pdf-PDFA UWE.pdf
Documento_completo.pdf-PDFA UWE.pdfctarquino
 
Documento word copia seguridad ymacros
Documento word   copia seguridad ymacrosDocumento word   copia seguridad ymacros
Documento word copia seguridad ymacros15309292
 

Ähnlich wie Mecabic (20)

RUP - Fase de Elaboración
RUP - Fase de ElaboraciónRUP - Fase de Elaboración
RUP - Fase de Elaboración
 
Metodo Watch Component
Metodo Watch ComponentMetodo Watch Component
Metodo Watch Component
 
MetodologíA. Ciclo De Proyecto Y Marco LóGico
MetodologíA. Ciclo De Proyecto Y Marco LóGicoMetodologíA. Ciclo De Proyecto Y Marco LóGico
MetodologíA. Ciclo De Proyecto Y Marco LóGico
 
Ssadm
SsadmSsadm
Ssadm
 
Manual reactivos ceneval.
Manual reactivos ceneval.Manual reactivos ceneval.
Manual reactivos ceneval.
 
Ciclo de vida cascada
Ciclo de vida cascadaCiclo de vida cascada
Ciclo de vida cascada
 
proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial
 
Métodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específicoMétodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específico
 
Fabio lópez cuadro_comparativo_actividad_2.2
Fabio lópez cuadro_comparativo_actividad_2.2Fabio lópez cuadro_comparativo_actividad_2.2
Fabio lópez cuadro_comparativo_actividad_2.2
 
Modulo4 presentacion
Modulo4 presentacionModulo4 presentacion
Modulo4 presentacion
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo V
 
Proceso unificado y modelo v
Proceso unificado y modelo vProceso unificado y modelo v
Proceso unificado y modelo v
 
Proceso unificado y modelo v
Proceso unificado y modelo vProceso unificado y modelo v
Proceso unificado y modelo v
 
Emilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo vEmilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo v
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de Software
 
Sww clase4
Sww clase4Sww clase4
Sww clase4
 
Sww clase4
Sww clase4Sww clase4
Sww clase4
 
Sww clase4
Sww clase4Sww clase4
Sww clase4
 
Documento_completo.pdf-PDFA UWE.pdf
Documento_completo.pdf-PDFA UWE.pdfDocumento_completo.pdf-PDFA UWE.pdf
Documento_completo.pdf-PDFA UWE.pdf
 
Documento word copia seguridad ymacros
Documento word   copia seguridad ymacrosDocumento word   copia seguridad ymacros
Documento word copia seguridad ymacros
 

Kürzlich hochgeladen

Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.CeteliInmaculada
 
Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Leonardo J. Caballero G.
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Leonardo J. Caballero G.
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++luzgaray6
 

Kürzlich hochgeladen (6)

Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.
 
Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024Theme design in Plone 6 - World Plone Day 2024
Theme design in Plone 6 - World Plone Day 2024
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++
 

Mecabic

  • 1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA ESCUELA DE INGENIERÍA TRABAJO DE EVALUACIÓN DE SOFTWARE “MECABIT” Autor: Ernesto Jiménez Ibarra – 19 de Mayo 2014
  • 2. MECABIC 2 Resumen El presente trabajo es una investigación sobre el Método de Evaluación para Arquitecturas Basadas en Componentes, MECABIC. El objetivo principal de MECABIC es evaluar y analizar la calidad exigida por los usuarios de Arquitecturas de Software Basadas en Componentes. El método se compone de responsables, técnicas y fases. Para la especificación de la calidad se hace uso de un árbol de utilidad. Para el análisis de la arquitectura se utiliza la técnica de escenarios, soportada por cuestionarios y así identificar lo que desean los participantes. Abstract The present document is an investigation about Evaluation Method for Component-Based Architectures, MECABIC. The main objective is to evaluate and analyze MECABIC the quality demanded by the users of Software Architectures Based on Components. The method consists of responsible, techniques and stages. For specification of the quality use a tree of utility. For analysis of architecture use scenario techniques, this is supported by questions.
  • 3. Índice 1. Introducción.......................................................................................................................... 5 2. MECABIC................................................................................................................................ 6 3. Fases del Método.................................................................................................................. 9 3.1. FASE 1 - Presentación.................................................................................................... 9 3.1.1. PASO 1: Presentación del método ........................................................................ 9 3.1.2. PASO 2: Presentación de las directrices de negocio ........................................... 10 3.1.3. PASO 3: Presentación de la Arquitectura............................................................ 10 3.2. FASE 2 - Investigación y Análisis.................................................................................. 11 3.2.2. PASO 4: Identificación de elementos de diseño. ................................................ 11 3.2.3. PASO 5: Generación del árbol de utilidad........................................................... 12 3.2.4. PASO 6: Análisis de elementos de diseño para ASBC.......................................... 16 3.3. FASE 3 - Prueba ........................................................................................................... 17 3.3.2. PASO 7: Revisión del árbol de utilidad ................................................................ 17 3.3.3. PASO 8: Revisión de los elementos definidos ..................................................... 18 3.4. FASE 4 - Presentación de Resultados .......................................................................... 20 3.4.2. PASO 9: Generación de acuerdos........................................................................ 20 3.4.3. PASO 10: Presentación de los resultados............................................................ 21 Bibliografía .................................................................................................................................. 22
  • 5. MECABIC 5 Método de Evaluación de la Calidad de Arquitecturas Basadas en la Integración de Componentes o MECABIC 1. Introducción La evaluación de software es un elemento importante en el ciclo de vida de un proyecto tanto en la construcción de un producto software como también, en el producto terminado, además garantiza un mejor producto. Gracias a la evaluación se mejora los procesos en la empresa ya que se valida y verifica todas y cada una de las características del producto sin importar si es simple o compleja. (Elisa, 2013) Un punto crítico en la construcción de software es decidir su diseño. En base de los requerimientos y restricciones se elige ¿Qué componentes van intervenir?, además ¿Cómo se van a relacionar dichos componentes?, a esto llamamos arquitectura de software. En el desarrollo de software basado en componentes se reutiliza piezas de código pre elaborado que permiten realizar diversas tareas, conllevando a diversos beneficios como las mejoras a la calidad, la reducción del ciclo de desarrollo y el mayor retorno sobre la inversión. (Terreros, s.f.) Las arquitecturas más conocidas son la Monolítica, Cliente-Servidor, Arquitectura tres niveles (Presentación, negocio, almacenamiento); también se puede hablar de arquitecturas MVC (Modelo Vista Controlador), Orientada a Servicios, Dirigida por Eventos, en Pizarra, Entre Pares, En Pipeline, Máquinas Virtuales. (Wikipedia, s.f.)
  • 6. MECABIC 6 2. MECABIC MECABIC es un método que sirve para analizar y evaluar Arquitecturas de Software Basadas en Componentes con el objetivo de que sea aplicado en Arquitecturas Orientadas a Servicio SOA. Este análisis se realiza desde el punto de vista, que bajo ciertas y determinadas situaciones o condiciones, se puede ver un servicio como un componente. El método se basa en algunos métodos de evaluación arquitectónica como ATAM, BOSCH, ABD, ARID, Losavio (Grimán, s.f.) El MECABIC está inspirado en ATAM, al método se le incluyeron en algunos de sus pasos un enfoque de integración de elementos de diseño, inspirado en la construcción de partes arquitectónicas adoptado por el Architecture Based Design (ABD). Además se propone un árbol de utilidad inicial basado en el modelo de calidad ISO/IEC 9126 instanciado para Arquitectura de Software propuesto por Losavio. La adopción de este modelo por parte del MECABIC permite concentrarse en características que dependen exclusivamente de la arquitectura, y al ser un estándar facilita la correspondencia con características de calidad consideradas por los métodos estudiados. Los escenarios1 incluidos en este árbol son específicos para aplicaciones basadas en componentes. 1 Un escenario es una descripción parcial y concreta del comportamiento de un sistema en una determinada situación. – Ingeniería de Requerimientos
  • 7. MECABIC 7 En el método MECABIC participan tres grupos de trabajo: 1) Los arquitectos 2) El evaluador 3) Los relacionados o stakeholders2 . Para la especificación de la calidad se hace uso de un árbol de utilidad, el cual tiene como nodo raíz la “bondad” o “utilidad” del sistema. En el segundo nivel del árbol se encuentran los atributos de calidad. Las hojas del árbol de utilidad son escenarios, los cuales representan mecanismos mediante los cuales extensas declaraciones de cualidades son hechas específicas y posibles de evaluar. La generación del árbol de calidad incluye un paso que permite establecer prioridades. Para el análisis de la arquitectura se utiliza la técnica de escenarios, soportada por cuestionarios, para identificar lo que desean los participantes. (Solarte, 2010) MECABIT se divide en cuatro fases de desarrollo: Fase 1: Presentación: Se da a conocer el método entre todos los grupos, el sistema y su organización, y finalmente se presenta cuál es la arquitectura que debe ser evaluada. 2 Stakeholders: Son las personas involucradas de alguna manera con el sistema: programadores, usuarios, gerentes, entre otros.
  • 8. MECABIC 8 Fase 2: Investigación y Análisis: Se determina de qué manera se va estudiar la arquitectura, se pide a los stakeholders que expresen de una manera precisa que escenarios de calidad se desean y se analiza si la arquitectura es apropiada o se requieren modificaciones para que lo sea. En esta fase sólo participan el grupo evaluador y grupo de arquitectos. Fase 3: Prueba: Consiste en la revisión de la segunda fase y en ella participan todos los grupos Fase 4: Presentación de Resultados: Presentación de los resultados. En esta fase participan todos los grupos. La siguiente tabla muestra los participantes en el método MECABIT Equipo Definición Fases en las que participan Arquitectos Responsables de generar y documentar una Arquitectura de Software para el sistema estudiado. Todas Evaluador Integrado por personas expertas en asuntos de calidad quienes guiarán el proceso de evaluación de la arquitectura Todas Relacionados o Stakeholders Son las personas involucradas de alguna manera con el sistema: programadores, usuarios, gerentes, entre otros. Fases 1 3 y 4 Tabla 1: Grupos de Trabajo en el Método MECABIC.
  • 9. MECABIC 9 3. Fases del Método 3.1.FASE 1 - Presentación En esta fase se da a conocer el método entre todos los grupos, el sistema y su organización, y finalmente se presenta cuál es la arquitectura que debe ser evaluada. En esta fase se realiza una presentación del método MECABIC para que los participantes comprendan en qué punto de la aplicación del método se encuentran en cada momento. También se da a conocer la arquitectura inicial a evaluar y qué características de calidad se esperan lograr. Esta fase consta de tres pasos: Presentación del método, Presentación de las directrices de negocio, Presentación de la Arquitectura. (Solarte, 2010) 3.1.1. PASO 1: Presentación del método En el primer paso el director de evaluación presenta el método ante los participantes con el proyecto. Se explica el proceso que debe cumplir cada participante del proyecto, se responden preguntas y se establecen las expectativas y el contexto sobre las actividades o tareas restantes. La finalidad es que todas las personas involucradas en el sistema comprendan la secuencia de los pasos a seguir, los instrumentos utilizados en cada paso y las salidas del método. Se pide a las personas que comenten sus expectativas o que hagan preguntas particulares acerca de lo que esperan de la aplicación del método.
  • 10. MECABIC 10 3.1.2. PASO 2: Presentación de las directrices de negocio Cada persona que posee una responsabilidad sobre la evaluación, necesitan comprender el contexto del sistema y los aspectos primarios del contexto del negocio que motivan su desarrollo. Se explica a las personas el contexto del sistema y los requerimientos del negocio dentro del cual va a funcionar el sistema. Algunos tópicos que debería contener esta presentación son: las funcionalidades más importantes del sistema, los objetivos del negocio y el contexto relacionado con el proyecto, el grupo dirigente de los desarrolladores y usuarios, las directrices arquitectónicas, restricciones técnicas, gerenciales, económicas y políticas y obertura de la evaluación y límites del sistema. 3.1.3. PASO 3: Presentación de la Arquitectura El arquitecto o grupo de representantes explican a las personas como desarrollador, usuario o gerente, cuál es la arquitectura evaluada. Debe contener una clara diferenciación estructural, la cual deberá mostrar claramente las relaciones entre componentes de la arquitectura y las diferentes granularidades3 involucradas. El arquitecto cubre restricciones técnicas y los alcances arquitectónicos usados para alcanzar los requerimientos. El arquitecto debe transmitir lo esencial y de esta manera abreviada la información de la arquitectura que requiere el equipo. 3 Granularidad: nivel de detalle (finura) considerado en un modelo o de la toma de decisiones en el proceso. A mayor granularidad más profundo es el nivel de detalles (la finura de los datos)
  • 11. MECABIC 11 3.2.FASE 2 - Investigación y Análisis En esta fase se determina de qué manera se va estudiar la arquitectura, se pide a las personas que están relacionadas con el sistema, ya sea un desarrollador, usuario o gerente, que expresen de una manera precisa que escenarios de calidad se desean y se analiza si la arquitectura es apropiada o se requieren modificaciones para que lo sea. En esta fase sólo participan el grupo evaluador y grupo de arquitectos. En esta fase se identifican elementos de diseño que ayuden a analizar la arquitectura, se especifican los requerimientos planteados durante el paso 2 y se analiza cómo responden los elementos de diseño considerados a los requerimientos. Esta fase se divide en tres pasos: 3.2.2. PASO 4: Identificación de elementos de diseño. Contemplan alternativas de diseño de la arquitectura, que posteriormente serán analizadas para ver cómo responden a los requerimientos de calidad. La arquitectura debe ser evaluada completamente desde el sistema con sus componentes de mayor granularidad, hasta el mínimo nivel de granularidad que corresponde a los componentes. Se propone identificar elementos de diseño dentro de una arquitectura basada en componentes, como un componente, y el conjunto de componentes con los cuales interactúa, un conjunto de asociaciones que sea de interés sobre alguna característica de calidad particular o conjunto de decisiones que tenga influencia considerable sobre otros elementos de diseño. Para identificar un elemento de diseño se considera los servicios ofrecidos por los componentes disponibles y las diferentes opciones para definir los servicios de los componentes desarrollados para el sistema. La manera de documentar los elementos de diseño
  • 12. MECABIC 12 depende de la importancia que pueda tener dentro de la evaluación, del conjunto de decisiones o adaptaciones a realizar, y del conocimiento de las personas que están relacionadas con el sistema y estén en la evaluación. (Solarte, 2010) 3.2.3. PASO 5: Generación del árbol de utilidad. 1) Seleccionar los escenarios iniciales a considerar: En este paso el grupo evaluador presenta los diferentes escenarios a considerar al resto de los participantes y se decide cuáles son los que serán incluidos en el árbol de utilidad. 2) Proposición de escenarios no contemplados: Este paso busca brindar a los stakeholders4 la posibilidad de que verifiquen si es necesario incluir en el árbol de utilidad algún otro escenario. Si se determinan escenarios de calidad que cuenten con un alto consenso de los participantes deberían ser incluidos directamente dentro del árbol de utilidad. La selección del resto de los escenarios puede realizarse por votación como propone originalmente el ATAM. Luego se organizan los escenarios de calidad introducidos no contemplados en la tabla de generación del árbol de utilidad inicial por características de calidad. 4 Stakeholders: Aquellas personas que están relacionadas, de cierta forma, con el sistema, ya sea un desarrollador, usuario o gerente, etcétera.
  • 13. MECABIC 13 Debido a que se evalúa un conjunto de características de interés no deberían estar presentes escenarios de calidad para todas las características de calidad conocidas. Una vez obtenido los escenarios a incluir árbol de utilidad se procede a priorizarlos. 3) Priorización de los escenarios de calidad: En este paso el objetivo se debe ordenar los escenarios ya que de esta manera los arquitectos cuentan con más orientación para tomar decisiones arquitectónicas, y los stakeholders pueden estar más conscientes de lo que esperan del sistema, y obtener una idea sobre en qué medida va a ser satisfecho. Una vez que se ha decidido incluir en el árbol de utilidad los escenarios más importantes, se procede a asignar un orden a los escenarios de calidad de un sistema utilizando dos criterios, a saber: a) Evaluar el riesgo de no considerar el escenario. Se deben responder las preguntas: ¿qué pasa si este escenario no se cumple?, ¿cuántas personas se ven afectadas?, ¿es posible compensar el no responder a este escenario? b) Evaluar el esfuerzo necesario para lograr cumplir con el escenario. En este caso se determina que cambios o integraciones de nuevos componentes se deben realizar para satisfacer el escenario. Los escenarios más difíciles son aquellos en los que se debe consumir más tiempo de análisis y el resto debe ser guardado como parte del registro.
  • 14. MECABIC 14 Finalmente, se construye el árbol de utilidad con las salidas del paso anterior. La prioridad del escenario define en este método como un par (X, Y) en el cual X define el esfuerzo de satisfacer el escenario, y la Y indica los riesgos que se corren al excluirlos del árbol de utilidad. Los posibles valores para X e Y son A (Alto), B (Bajo) y M (Medio). El árbol de utilidad generado se toma como un plan para el resto de la evaluación que realiza el método. Indica además al equipo evaluador dónde ocupar su tiempo y dónde probar aproximaciones y riesgos arquitectónicos. (Yoan Carrascoso, 2009) La generación del árbol de utilidades acerca de la Investigación y Análisis del método es tomada de acuerdo a la norma ISO/IEC 9126 y adaptada para la evaluación de la arquitectura de software. A continuación se muestra el árbol de utilidad aplicado para el método MECABIC
  • 15. MECABIC 15 Característica Sub-característica Escenario Funcionalidad Interoperabilidad El sistema posee componentes capaces de leer datos provenientes de otros sistemas. El sistema posee componentes capaces de producir datos para otro sistema Precisión Los resultados ofrecidos por los componentes sistema son exactos La comunicación entre los componentes no altera la exactitud de los datos. Seguridad El sistema detecta la actuación de un introso e impide acceso a los componentes que manejen información sensible El sistema asegura que los componentes no pierdan datos ante un ataque (interno o externo) Obediencia (Complinace) Los componentes respetan un estándar de fiabilidad. La comunicación entre los componentes no viola los estándares de fiabilidad Fiabilidad Madurez Los componentes del sistema manejan entradas de datos de datos incorrectos. Tolerancia a fallas Todas las operaciones ejecutadas por los componentes se realizan correctamente bajo condiciones adversas. Capacidad de restablecimiento o recuperación Los componentes del sistema no fallan bajo ciertas condiciones especificadas. Ante problemas con el ambiente un subconjunto determinado de los componentes puede continuar prestando sus servicios. Eficiencia Tiempo de comportamiento El sistema debe recibir los servicios de sus componentes en el transcurso de un tiempo indicado. Recursos utilizados Los componentes pueden compartir recursos adecuadamente. El sistema controla que ningún componente se quede sin recursos cuando los necesita. Mantenibilidad Habilidad de cambio, estabilidad, prueba Es posible verificar el estado de los componentes del sistema. El sistema brinda facilidad para adaptar un componente. El sistema debe facilitar la sustitución/adaptación de un componente. Portabilidad Adaptabilidad El sistema debe continuar funcionando correctamente aun cuando los servicios de los componentes provistos por el ambiente varíen. Capacidad de Instalación Los componentes pueden instalarse fácilmente en todos los ambientes donde debe funcionar. Co-existencia Los componentes manejan adecuadamente recursos compartidos del sistema. Tabla 57: Subconjunto del Árbol de Utilidad Inicial Propuesto por el Método MECABIT
  • 16. MECABIC 16 3.2.4. PASO 6: Análisis de elementos de diseño para ASBC. Se analizan los elementos de diseño identificados en el paso 4 o de nuevos elementos de diseño que puedan ser identificados, para determinar cómo influyen sobre la realización de los escenarios de calidad presentes en el árbol de utilidad generado en el paso 5. Los componentes proveen un conjunto de puertos que se deben ir extendiendo para proporcionar nuevos servicios, los cuales a su vez pueden ser ofrecidos para que otros componentes los extiendan. Se debe evaluar un conjunto de opciones que indiquen una manera de definir una relación entre puertos, de acuerdo a algún criterio de calidad. Los escenarios de calidad deben ser aplicados a la arquitectura que ha sido generada. El equipo de evaluación se orienta con las preguntas de análisis propuestas por el método para determinar decisiones sobre la arquitectura. Se debe preguntar si las decisiones tomadas permiten alcanzar los escenarios de calidad planteados. Si la respuesta es negativa se deben reconsiderar cualquiera de las decisiones que han sido hechas. Las decisiones identificadas anteriormente, pueden relacionarse con determinados elementos de diseño. Se deben estudiar los riesgos que introduce la decisión en particular, o si ésta contribuye a algún riesgo ya determinado. También se pueden documentar decisiones que no han sido tomadas o asuntos no resueltos que a juicio del equipo de evaluación pueden ser resueltos en un futuro estudiando con más detalle el elemento de diseño considerado. (Solarte, 2010)
  • 17. MECABIC 17 3.3.FASE 3 - Prueba Consiste en la revisión de la segunda fase y en ella participan todos los grupos. Se debe tomar en cuenta dos pasos: 3.3.2. PASO 7: Revisión del árbol de utilidad Se propone utilizar escenarios de calidad para representar los intereses de todos los grupos de la evaluación y confirmar que se han evaluado los requerimientos deseados de calidad. El equipo de evaluación puede facilitar la elaboración de escenarios haciendo uso del conjunto de pasos propuestos en el paso 6. Los escenarios del árbol de utilidad que no hayan sido considerados, son colocados por las personas como desarrolladores y usuarios en el paquete de tormenta de ideas, lo que les da la oportunidad de revisar escenarios poco atendidos. Los escenarios generados se comparan con la lista inicialmente considerada en el árbol de utilidad. En caso de que la consideración y priorización coincida, entonces se puede decir los escenarios evaluados son adecuados para el grupo de interesados en el sistema. Cuando no se logra un acuerdo entre los dos grupos de desarrolladores y usuarios posiblemente no se representaron adecuadamente los intereses de los involucrados. Los desarrolladores deben analizar también los escenarios que ya han sido evaluados, para verificar que hayan recibido la importancia adecuada.
  • 18. MECABIC 18 Una vez que el nuevo escenario ha sido considerado se pueden presentar tres casos: 1) El escenario duplica un escenario ya considerado en el árbol de utilidad 2) El escenario pasa a ser una hoja de una rama ya existente 3) No existe rama para el escenario debido a que no había sido considerado previamente. Los primeros dos casos sugieren que la arquitectura de software ha sido creada de acuerdo con las expectativas de los usuarios, mientras que en el tercer caso, se ha fallado al considerar algún aspecto de calidad importante y puede existir un riesgo a documentar. (Solarte, 2010) 3.3.3. PASO 8: Revisión de los elementos definidos El equipo evaluador debe estudiar de qué manera los elementos de diseño analizados en el paso 6, promueven los escenarios propuestos por el nuevo grupo de usuarios y desarrolladores. En caso que no promuevan las características de calidad deseadas, deben ser reconsiderados. (Solarte, 2010) A continuación se presenta una tabla de preguntas sobre los elementos de revisión del diseño.
  • 19. MECABIC 19 Característica Sub-característica Preguntas de análisis Funcionalidad Precisión ¿Puede la comunicación entre los componentes introducir imprecisiones en los servicios ofrecidos por los componentes? Interoperabilidad ¿Dónde se encuentran los componentes que permiten al sistema interactuar con otros sistemas? Fiabilidad Madurez ¿Existen decisiones para minimizar el manejo incorrecto de datos en la comunicación entre componentes? Tolerancia a fallas ¿Cómo se detecta el funcionamiento incorrecto de un componente? Eficiencia Tiempo de comportamiento ¿Cómo es la relación entre el número de componentes de las diferentes partes de la arquitectura? Mantenibilidad Habilidad de cambio, estabilidad, prueba ¿Cómo se verifica el funcionamiento correcto de un componente? ¿Cómo se verifica el estado de una comunicación entre componentes? ¿Cómo se facilita el reemplazo de un componente? Portabilidad Capacidad de Instalación ¿Existe un mecanismo para determinar si todos los componentes del sistema se encuentran correctamente instalados? Co-existencia ¿Existe alguna manera de identificar las reglas para interactuar con componentes de sistemas externos a la arquitectura? Tabla 3: Algunas Preguntas para Analizar los Elementos de Diseño Identificados
  • 20. MECABIC 20 3.4.FASE 4 - Presentación de Resultados En la última fase se lleva a cabo a presentación de los resultados. En esta fase participan todos los grupos, es la fase de Generación de la arquitectura final y reporte. En este momento se cuenta ya con un análisis de todas las decisiones que se han producido hasta el momento. Si no hay conflictos y se puede concluir que existe una arquitectura adecuada para los requerimientos de calidad de las personas involucradas en la evaluación, entonces se puede pasar al paso 10 directamente. Si por el contrario en algún elemento de diseño existen decisiones en las que resulte favorecido algún requerimiento, entonces los usuarios y desarrolladores son los que tienen que determinar o acordar cuáles requerimientos favorecer. (Solarte, 2010) 3.4.2. PASO 9: Generación de acuerdos. Se decide cuál será la arquitectura adoptada por el sistema. Para ello se debe buscar un consenso en cuanto a las opciones que existan, en caso de que no se haya identificado alguna notablemente mejor. Si existen requerimientos de calidad que no han sido logrados se debe brindar la posibilidad de replantear los requerimientos de calidad que no hayan podido ser alcanzados, para aprovechar posibles ventajas de la arquitectura. Esta es una negociación crítica, ya que de fallar, implicaría la necesidad de replantear la arquitectura, y de tener éxito hay que cuidar que los requerimientos de calidad no resueltos sean equivalentes, para que los usuarios y desarrolladores estén contentos con el sistema.
  • 21. MECABIC 21 Finalmente, se documentan todos aquellos requerimientos de calidad para los cuales no es posible encontrar una solución, justificando las razones. 3.4.3. PASO 10: Presentación de los resultados Se presenta un resumen de la aplicación del método, de forma oral y/o escrita. Se deben incluir entonces, los siguientes documentos a partir de los cuales se inició la evaluación: (Solarte, 2010) a) Contexto del negocio. b) Requerimientos de Calidad. c) Restricciones. d) Arquitectura producida. e) Análisis de elementos de diseño identificados. f) Conjunto de escenarios negociados. g) Conjunto de preguntas para evaluación de atributos. h) Árbol de Utilidad. i) No-riesgos documentado. j) Puntos sensibles y de negociación.
  • 22. MECABIC 22 Bibliografía Elisa. (15 de 09 de 2013). maelisablag. Obtenido de Evaluación de Software: http://maelisablag.blogspot.com/2013/09/evaluacion-de-software.html Grimán, A. (s.f.). Research Gate. Obtenido de Método de Evaluación de Arquitecturas de Software Basadas en Componentes (MECABIC): http://www.researchgate.net/publication/237737678_Mtodo_de_Evaluacin_de_Arquitec turas_de_Software_Basadas_en_Componentes_(MECABIC) Solarte, F. N. (2010). Módulo de Evaluación de Software. Terreros, J. C. (s.f.). Microsoft. Obtenido de Desarrollo de Software basado en Componentes: http://msdn.microsoft.com/es-es/library/bb972268.aspx Wikipedia. (s.f.). Obtenido de Arquitectura de software: http://es.wikipedia.org/wiki/Arquitectura_de_software Yoan Carrascoso, E. G. (2009). Gestiopolis. Obtenido de Procedimiento para la evaluación de arquitecturas de software basadas en componentes: http://www.gestiopolis.com/administracion-estrategia/procedimiento-para-la-evolucion- de-las-arquitecturas-de-software.htm