Está en la página 1de 15

Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016, pp.

420-434

Generando productos software mantenibles desde el proceso


de desarrollo: El modelo de referencia MANTuS

Creating maintainable software products from the development process:


The reference model MANTuS

Jennifer Erazo Martnez1Andrs Florez Gmez1Francisco J. Pino1*

Recibido 4 de mayo de 2015, aceptado 20 de noviembre de 2015


Received: May 4, 2015 Accepted: November 20, 2015

RESUMEN

El mantenimiento de software es una actividad muy importante y crtica para las empresas que conforman
la industria del software. Se puede considerar que el problema de costos durante la etapa de mantenimiento
reside en que no se tienen en cuenta aspectos de mantenibilidad durante el desarrollo del producto software.
Es por esto que este artculo propone el modelo de referencia MANTuS el cual ofrece buenas prcticas
para el proceso de desarrollo de software, las que pretenden que los artefactos software generados, durante
las diferentes etapas del ciclo de vida de desarrollo, incluyan las subcaractersticas de mantenibilidad
establecidas por la norma ISO/IEC 25010. Este modelo de referencia contiene una serie de prcticas
base, definidas para los procesos de anlisis de requisitos de software, diseo arquitectural de software,
diseo detallado de software, construccin de software, pruebas de evaluacin de software y gestin de
la documentacin del software. Incluir las prcticas en el proceso de desarrollo podra ayudar a potenciar
cada una de las subcaractersticas de mantenibilidad del producto software descritas en ISO/IEC 25010.
El modelo de referencia MANTuS ha sido evaluado por medio de un estudio de caso donde se evidenci
que llevar a cabo las prcticas propuestas por el modelo de referencia para el proceso de construccin
de software permiti potenciar la mantenibilidad del producto obtenido.

Palabras clave: Modelo de referencia, mantenibilidad de software, subcaractersticas de mantenibilidad,


proceso de desarrollo de software, producto software.

ABSTRACT

Software maintenance is a very important and critical activity for software companies. Problem of costs
during the maintenance stage lies on the fact that maintainability aspects are not taken into account during
the development of the software product. For this reason, this paper proposes the MANTuS reference
model, which provides a set of practices for software development process in hopes that the software
artifacts generated during the different development life cycle stages include the maintainability sub-
characteristics (established by the standard ISO/IEC 25010). This reference model contains a number of
base practices defined for the processes: software requirements analysis, software architectural design,
software detailed design, software construction, software qualification testing, and software documentation
management. To include practices in the development process could help to maximize each software
product maintainability sub-characteristic described in ISO/IEC 25010. Outcomes of apply the MANTuS
reference model through a case study shown that using practices for software construction process has
allowed to improve the maintainability of the obtained product.

Keywords: Reference model, software maintainability, maintainability sub-characteristics, software


development process, software product.

1 Universidad del Cauca. Grupo IDIS. Facultad de Ingeniera de Electrnica y Telecomunicaciones. Calle 5 N 4-70. Popayn,
Cauca, Colombia.
E-mail: jderazo@unicauca.edu.co; asflorez@unicauca.edu.co; fjpino@unicauca.edu.co
* Autor de correspondencia.
Erazo Martnez, Florez Gmez y Pino: Generando productos software mantenibles desde el proceso de desarrollo:

INTRODUCCIN de mantenibilidad al producto software durante el


proceso de desarrollo. Este modelo consta de seis
La mantenibilidad es una de las caractersticas procesos donde se definen prcticas base con el fin
de calidad esenciales del producto, debido a que de potenciar cada una de las subcaractersticas de
las tareas de mantenimiento consumen una gran mantenibilidad (descritas en la ISO/IEC 25010),
proporcin del esfuerzo total gastado en el ciclo mediante la inclusin de atributos software que
de vida del software [1]. El costo de esta etapa afectan estas subcaractersticas. El modelo de
consume entre el 50% y el 80% de los recursos del referencia ha sido definido siguiendo los lineamientos
proyecto [2] y el 66% de los costos del ciclo de vida que para tal fin establece la norma ISO/IEC 33004
del software son invertidos en el mantenimiento [7]. Los resultados de aplicar el modelo de referencia
del producto [3]. Adems, el 61% del tiempo que MANTuS en un estudio de caso que evidencia que
dedican los programadores al desarrollo es invertido este puede ser til para potenciar la mantenibilidad
en la etapa de mantenimiento, y solo el 39% es del producto software.
empleado en nuevos desarrollos [4]. Lo anterior
refleja que la etapa de mantenimiento: (1) requiere el Adems de la presente introduccin, este artculo
mayor porcentaje de los costos del ciclo de vida del muestra en la seccin2 los trabajos relacionados
software, (2) incrementa el esfuerzo realizado, (3) y la estrategia de investigacin utilizada para la
impide que una gran parte del tiempo sea utilizado construccin del modelo de referencia MANTuS,
para nuevos desarrollos. en la seccin 3 la construccin del modelo de
referencia MANTuS, en la seccin4 la evaluacin
Para facilitar la ejecucin de la etapa de mantenimiento del estudio de caso para evaluar el modelo de
es conveniente tener en cuenta la caracterstica de referencia y, finalmente, en la seccin5 conclusiones
mantenibilidad del producto software. La norma y trabajo futuro.
ISO/IEC 25010 [5] define la mantenibilidad como
el grado de efectividad o eficiencia con la que ANTECEDENTES
un producto o sistema puede ser modificado y la
divide en cinco subcaractersticas: modularidad Trabajos relacionados
(modularity), reusabilidad (reusability), capacidad Al realizar una bsqueda en la literatura acerca de
para ser analizado (analysability), capacidad para la inclusin de caractersticas de mantenibilidad al
ser modificado (modifiability) y capacidad para ser producto software durante el proceso de desarrollo
probado (testability). y temas relacionados, se han encontrado diferentes
estudios relacionados con metodologas de
Incluir durante el proceso de desarrollo estas sub- mantenimiento:
caractersticas al producto software podra ayudar
a incrementar la mantenibilidad, reduciendo as el April, Huffman, Abran y Dumke [8] proponen
esfuerzo de mantenimiento, lo que permitira usar un modelo de madurez de mantenimiento
estos mismos recursos para realizar ms cambios o de software (SMmm) que permite evaluar
lograr los mismos cambios con menos recursos [6]. y mejorar esta etapa. Este modelo describe
El tener un modelo de referencia que cuente con actividades de mantenimiento que ayudan a
un conjunto de procesos que: (i) agrupan buenas identificar posibles mejoras en esta etapa y
prcticas para el desarrollo de software, (ii) permitan est diseado como un complemento para el
incluir en los productos software generados por los modelo Capability Maturity Model integration
atributos que influyen sobre la mantenibilidad y (CMMi). En este modelo se propone reagrupar
(iii) permitan identificar los atributos que afectan los procesos de mantenimiento de software
a cada subcaracterstica, puede facilitar la inclusin en tres grupos: Procesos primarios, que son
de la mantenibilidad al producto software logrando procesos operacionales de mantenimiento de
as conseguir un producto altamente mantenible. software, procesos de soporte que apoyan a los
procesos primarios y, por ltimo, los procesos
En este sentido, en este artculo se presenta el modelo organizacionales.
de referencia denominado MANTuS, creado con el Polo, Piattini, Ruiz y Calero [9] presentan la
objetivo de apoyar la inclusin de subcaractersticas metodologa MANTEMA para el proceso del

421
Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016

ciclo de vida del mantenimiento, que es una contiene un conjunto de procesos definidos que
adaptacin del estndar ISO/IEC 12207[10]. colaboran entre ellos con el fin de mejorar este
ISO 12207 es un framework de referencia tipo de mantenimiento.
que cubre todos los aspectos del ciclo de
vida del software; sin embargo, no detalla Los estudios [4, 8-9, 11-12] tienen como tema
cmo implementar las tareas y actividades principal la etapa de mantenimiento de software,
incluidas en el proceso. MANTEMA incorpora proponen modelos y metodologas de mantenimiento
una serie de actividades bien organizadas de de software, con el fin de controlar y mejorar
acuerdo al tipo de mantenimiento, apoyando este proceso, ya que esta etapa es la ms costosa
el control de documentacin, se definen cinco y conflictiva del ciclo de vida del software. Los
tipos de mantenimiento: correctivo urgente, estudios anteriores se centran nicamente en la etapa
correctivo no urgente, perfectivo, preventivo de mantenimiento del software al final del ciclo de
y adaptativo. Adems de esto, se considera la vida del mismo, planteando una serie de actividades
participacin de tres tipos de organizaciones organizadas que permiten mejorar esta etapa con
en el proceso de mantenimiento: el cliente que el fin de reducir el problema de altos costos que
es el propietario del software y requiere del se presenta durante la misma. Sin embargo, estas
servicio de mantenimiento; el mantenedor es propuestas no tienen en cuenta la caracterstica de
la organizacin que cumple con el servicio de mantenibilidad de software ni plantean soluciones
mantenimiento; el usuario que utiliza el software para incorporarla al producto durante el proceso
mantenido. De igual forma MANTEMA tambin de desarrollo, siendo este el principal objetivo del
proporciona plantillas estndar para cada uno modelo de referencia MANTuS presentado en este
de los documentos generados. trabajo. Este modelo de referencia de procesos ha
Pino, Ruiz, Garca y Piattini [4] presentan Agile sido definido teniendo en cuenta los requerimientos
MANTEMA como una propuesta metodolgica para modelos de referencia de procesos indicados en
para el mantenimiento de software que se centra la norma ISO/IEC 33004, los procesos definidos en
en las pequeas organizaciones. Especifica una este siguen la misma estructura de los presentados
estrategia de mantenimiento que define qu en la norma ISO/IEC 15504-5 [13].
se necesita hacer, cundo, cmo y por quin.
Tambin establece una serie de elementos Estrategia de investigacin
como los tipos de mantenimiento, niveles de Para la construccin del modelo de referencia
servicio y niveles de capacidad, con el fin de MANTuS se utiliz una estrategia de investigacin
manejar la complejidad que es inherente al que se apoya en el mtodo Investigacin-Accin
proceso de mantenimiento. Esta metodologa multiciclo con bifurcacin [14-15]. La estrategia
permite a las pequeas compaas definir su de investigacin consta de tres ciclos:
propio proceso de mantenimiento, tomando
en cuenta sus caractersticas y necesidades el ciclo de investigacin conceptual donde se
particulares. El objetivo de Agile MANTEMA analizaron los trabajos relacionados con inclusin
es hacer los elementos de proceso descritos en de caractersticas de mantenibilidad al producto
MANTEMA ms livianos e incorporarlos en la software durante el proceso de desarrollo;
gestin de proyectos giles usando el mtodo el ciclo de investigacin metodolgico ejecutado
Scrum. Esta metodologa describe un proceso, para la definicin del modelo de referencia, este
niveles de servicio, niveles de desempeo de ciclo est dividido en tres fases: identificacin
proceso y niveles de capacidad de proceso. de los atributos software, clasificacin de los
Una propuesta que trata el mantenimiento de atributos software y realizacin del modelo de
software en detalle es el modelo de madurez referencia. Los resultados obtenidos en las dos
para el mantenimiento correctivo CM3, el que es primeras fases se encuentran documentados
tratado en [11], donde se sugiere que se deben en [16]. En la fase de realizacin del modelo
crear modelos de procesos especializados para de referencia se definen las prcticas base
cada uno de los tipos de mantenimiento. CM3 (actividades) necesarias para incorporar al
es un modelo de procesos especificamente para producto software cada uno de los elementos
la categora de mantenimiento correctivo, que identificados con el fin de potenciar las sub-

422
Erazo Martnez, Florez Gmez y Pino: Generando productos software mantenibles desde el proceso de desarrollo:

caractersticas de mantenibilidad relacionadas. la mantenibilidad del producto con el fin de obtener


Se define el modelo de referencia que permita la relacin entre estos elementos. El resultado de
incorporar las caractersticas de mantenibilidad establecer esta relacin y clasificacin se muestra
de software al producto durante el proceso de en la Tabla1.
desarrollo;
el ciclo de evaluacin ejecutado con el fin de Analizar cmo es posible potenciar cada
evaluar la idoneidad del modelo de referencia subcaracterstica
propuesto. Durante este ciclo se realiza la El modelo de referencia propuesto sigue el
evaluacin del modelo de referencia definido paradigma orientado a objetos ya que los estudios
mediante un estudio de caso, el que sigui revisados en la literatura proponen atributos
los lineamientos propuestos por Yin [17] y relacionados con este paradigma. Para cada una
Brereton [18]. de las cinco subcaractersticas de mantenibilidad
se analiz cmo es posible potenciarla mediante
MODELO DE REFERENCIA DE la realizacin de prcticas que permitan incluir
PROCESOS MANTuS los diferentes atributos que influyen sobre la
misma, dichas prcticas son separadas de acuerdo
Para definir el modelo de referencia MANTuS se al proceso en el cual deben realizarse, todo esto
realizaron las siguientes actividades: (i) Identificar teniendo en cuenta la clasificacin desarrollada
los atributos de software que influyen en la (la cual se presenta en la Tabla1).
mantenibilidad del producto, (ii) Agrupar conceptos,
(iii) Filtrar atributos, (iv) Clasificar los atributos A manera de ejemplo, a continuacin, se presenta
identificados, (v) Analizar como es posible potenciar el anlisis realizado para incorporar el atributo
cada subcaracterstica, (vi) Estructurar el modelo acoplamiento con el fin de potenciar la sub-
de referencia general. caracterstica de reusabilidad, es importante que
el software cuente con bajo acoplamiento. Para
Como resultado de la ejecucin de las cuatro primeras lograr esto, durante el proceso de diseo se debe
actividades, se obtuvo la clasificacion de 18 atributos descomponer el sistema en pequeas partes de
software teniendo en cuenta: (i) las subcaractersticas funcionalidades (mdulos) que tengan la menor
de mantenbilidad de la ISO/IEC 25010 sobre las interrelacin posible. Para que estos mdulos
que influye, y (ii) el flujo de trabajo de desarrollo (paquetes, clases, mtodos) sean fciles de reutilizar
de software de RUP [19] en los que se presentan. es oportuno abstraer la funcionalidad de dichos
La intencin fue generar una clara relacin entre mdulos, as los mdulos podran ser reutilizados
los atributos que influyen en la mantenibilidad, las en diferentes contextos fuera del sistema original.
subcaratersiticas de mantenibilidad que estos apoyan Adems de esto se debe reducir el nmero de
y las etapas del proceso de desarrollo donde estos respuestas por clases. Cada uno de los anlisis
atributos pueden ser incluidos. La ejecucin detallada realizados para relacionar cada atributo identificado
de estas actividades se encuentra en [20]. Para dar con las correspondientes subcaractersticas se
una mejor estructura al modelo de referencia se encuentran descritos detalladamente en [20].
clasificaron los atributos de acuerdo a los procesos
para el desarrollo de software, definidos en el Descripcin general del modelo
estndar internacional ISO/IEC 15504-5, teniendo A continuacin se presenta una descripcin del
en cuenta la clasificacin realizada previamente por modelo de referencia MANTuS. Esta seccin
flujos de trabajo. Los procesos para el desarrollo contiene la declaracin del objetivo del modelo de
de software que han tenido en cuenta son: anlisis referencia, el contexto previsto de uso y las acciones
de requisitos de software, diseo arquitectural de que fueron tomadas para alcanzar el consenso.
software, diseo detallado de software, construccin
de software, pruebas de evaluacin de software y Objetivo
gestin de la documentacin. Fue necesario realizar El objetivo del modelo de referencia MANTuS es
un anlisis semntico de las definiciones de los especificar, en trminos de sus propsitos y sus
flujos de trabajo del RUP, los procesos definidos en resultados, un conjunto de procesos que permitan
la ISO/IEC 15504, y los atributos que influyen en incluir atributos de mantenibilidad al producto

423
Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016

Tabla1. Clasificacin de los atributos por subcaractersticas de mantenibilidad y procesos.


Subcaractersticas
CA M CM CP R Procesos
Atributos
Acoplamiento X X X X X Diseo arquitectural, Diseo detallado
Anidacin X X X Construccin de software
Capacidad de expansin X Operacin de software
Cohesin X X X X X Diseo detallado
Comentarios X X X Construccin de software
Complejidad X X X X X Diseo arquitectural, Diseo detallado, Construccin de software
Anlisis de requisitos, Diseo arquitectural, Diseo detallado,
Consistencia X X Construccin de software, Pruebas de evaluacin de software,
Operacin de software
Anlisis de requisitos, Diseo arquitectural, Diseo detallado,
Documentacin X X X X Construccin de software, Pruebas de evaluacin de software,
Operacin de software
Duplicacin X X X Construccin de software
Encapsulamiento X X X X Diseo detallado
Estandarizacin X X Construccin de software
Facilidad de lectura X X X X Construccin de software
Facilidad de entendimiento X X X X Diseo arquitectural, Diseo detallado, Construccin de software
Herencia X X X X Diseo detallado
Polimorfismo X X X Diseo detallado
Anlisis de requisitos, Diseo arquitectural, Diseo detallado,
Simplicidad X X X X X
Construccin de software
Tamao X X X X Construccin
Anlisis de requisitos, Diseo arquitectural, Diseo detallado,
Trazabilidad X X
Construccin de software, Pruebas de evaluacin de software
CA = Capacidad para ser analizado, M = Modularidad, CM = Capacidad para ser modificado, CP = Capacidad para ser probado,
y R = Reusabilidad.

software durante el proceso de desarrollo con el fin de requisitos de software desde la perspectiva de
de potenciar esta caracterstica y que sean aplicables mantenibilidad, Diseo arquitectural de software
en el contexto de empresas desarrolladoras de desde la perspectiva de mantenibilidad, Diseo
software. Al igual que otros modelos de referencia detallado de software desde la perspectiva de
el alcance de este es la descripcin concreta de los mantenibilidad, Construccin de software desde la
procesos y no la especificacin detallada de los perspectiva de mantenibilidad, Pruebas de evaluacin
elementos particulares de la implementacin, es de software desde la perspectiva de mantenibilidad,
decir, la descripcin de los procesos establece lo Gestin de la documentacin desde la perspectiva
que se debe lograr mas no determina cmo debe de mantenibilidad. En la Tabla2 se presenta para
lograrse. Es por esto que los procesos pueden ser cada proceso del modelo de referencia su nombre,
implementados de diferentes formas obteniendo el identificador y propsito. Adems, las descripciones
mismo resultado. de los procesos del modelo de referencia MANTuS
se hacen en trminos de sus propsitos y resultados.
Procesos del modelo Los enunciados de los propsitos y resultados de los
El modelo de referencia MANTuS asume que la procesos son elementos obligatorios segn el estandar
mantenibilidad de software es un aspecto fundamental ISO/IEC 33004. La descripcin de los procesos
del producto que debe ser considerado desde el del modelo de referencia sigue la estructura de los
incio del ciclo de vida del mismo. Es por esto que procesos del estndar internacional ISO/IEC 15504-
se establecen los siguentes seis procesos: Anlisis 5. Estas descripciones incorporan el enunciado del

424
Erazo Martnez, Florez Gmez y Pino: Generando productos software mantenibles desde el proceso de desarrollo:

Tabla2. Procesos que componen el modelo de referencia.


Proceso Identificador Propsito
Establecer los requerimientos de los componentes del software
Anlisis de requisitos de software desde
DEV-MANT.1 teniendo en cuenta atributos que ayuden a potenciar la caracterstica
la perspectiva de mantenibilidad.
de mantenibilidad.
Diseo arquitectural de software desde Proveer un diseo para el software, que permita incluir atributos
DEV-MANT.2
la perspectiva de mantenibilidad de mantenibilidad al producto.
Proporcionar un diseo para el software que sea lo suficientemente
Diseo detallado de software desde la
DEV-MANT.3 detallado que permita incluir atributos de software relacionados
perspectiva de mantenibilidad.
con la mantenibilidad del producto.
Construccin de software desde la Producir unidades de software ejecutables que incluyan atributos
DEV-MANT.4
perspectiva de mantenibilidad. de software para potenciar la mantenibilidad del producto.
Pruebas de evaluacin de software Que la unidad de prueba incluya atributos que favorezcan a la
DEV-MANT.5
desde la perspectiva de mantenibilidad. mantenibilidad del producto.
Desarrollar y mantener un registro de la informacin del
Gestin de la documentacin de software
SUP-MANT.1 software teniendo en cuenta atributos que permitan potenciar la
desde la perspectiva de mantenibilidad.
mantenibilidad del producto.

propsito del proceso y el conjunto de resultados procesos son independientes y que el proceso de
del proceso. El enunciado del propsito describe Gestin de la documentacin, desde la perspectiva
a un alto nivel el objetivo general de llevar a cabo de mantenibilidad es transversal a los otros, ya que
el proceso. El conjunto de resultados del proceso este es un proceso de soporte que puede ser ejecutado
describe los elementos con los que se demuestra el durante los otros cinco procesos. La vista general
logro exitoso de su propsito, como la produccin del modelo de referencia combina y sintetiza las
de un artefacto, un cambio significativo de estado prcticas base definidas en los procesos de todas
o el cumplimiento de restricciones especificadas. las subcaractersticas de mantenibilidad.

Relaciones entre los procesos del modelo Comunidad de inters y Contexto previsto de uso
El modelo de referencia que apoya la inclusin de El modelo de referencia MANTuS fue construido
subcaractersticas de mantenibilidad al producto para ser aplicado en empresas desarrolladoras de
software durante el proceso de desarrollo est software que deseen garantizar la mantenibilidad
compuesto por dos vistas: la vista especfica para de sus productos durante el proceso de desarrollo.
cada una de las cinco subcaractersticas y la vista Adems, empresas que estn interesadas en obtener
general para la caracterstica de mantenibilidad, la la certificacin de mantenibilidad del Sistema de
cual agrupa las vistas especficas. En la Figura1 se Gestin de la Calidad del Producto Software ISO
observa la vista general del modelo de referencia 25000 de AENOR [21-22].
con el nmero de prcticas base definidas para cada
proceso de las subcaractersticas de mantenibilidad. Los atributos identificados, sobre los cuales se ha
El modelo de referencia obtenido se basa en la basado el modelo de referencia, estn relacionados
informacin y anlisis realizado en cada una de directamente con las propiedades a evaluar en un
las actividades anteriores. producto software por el esquema de evaluacin
de mantenibilidad ISO 25000 realizada por AQC
Los seis procesos que conforman el modelo de Lab [23]. Dichas propiedades estn relacionadas
referencia MANTuS deben ser entendidos desde con el incumplimiento de reglas, la documentacin
una vista general. Estos procesos no presentan del cdigo, la complejidad, la estructuracin, el
relacin entre s, son independientes, es decir, tamao de los mtodos, el cdigo duplicado, el
para alcanzar los resultados de un proceso no es nivel de acoplamiento, el balance inestabilidad-
necesario haber logrado los resultados de otro u abstraccin, los ciclos y la cohesin. En el trabajo
otros procesos, lo que da flexibilidad al modelo de clasificacin de atributos, ejecutado realizado
de referencia. En la Figura1 se observa que estos en esta investigacin, se realiz una comparacin

425
Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016

Figura1. Vista general del modelo de referencia (ARS= Anlisis de requisitos de software, DAS=
Diseo arquitectural de software, DDS= Diseo detallado de software, CS= Construccin de
software, PES= Pruebas de evaluacin de software).

de los atributos de mantenibilidad identificados resultados del proceso cada resultado est asociado
versus las propiedades de mantenibilidad descritas a las subcaractersticas de mantenibilidad en las que
por el esquema de evaluacin. Del anlisis de influye, siendo CA= capacidad para ser analizado;
esta comparacin se puede establecer de manera M=modularidad; CM=capacidad para ser modificado;
general que los atributos facilidad de entendimiento, CP=capacidad para ser probado; R=reusabilidad.
complejidad y simplicidad guardan relacin con En la seccin prcticas base se proporciona la
todas las propiedades de mantenibilidad, mientras definicin de las actividades y las tareas necesarias
que los atributos comentarios, encapsulamiento, para alcanzar el propsito del proceso y cumplir con
estandarizacin, herencia y polimorfismo tienen los resultados del mismo; cada prctica base est
relacin con un menor nmero de propiedades. asociada a uno o ms resultados. Por ltimo, cada
Tambin se observ que la propiedad complejidad proceso describe los productos de trabajo de salida
tiene relacin con todos los atributos identificados; (PTS) correspondientes, los que estn relacionados
sin embargo, la propiedad balance inestabilidad- con los diferentes resultados de proceso.
abstraccin presenta menor relacin con estos.
Por otra parte, la comparacin realizada permiti EVALUACIN DEL MODELO
comprobar que todos los atributos identificado; estn DE REFERENCIA MANTuS
relacionados con a lo menos dos de las propiedades
de mantenibilidad, y adems que cada una de estas La evaluacin del modelo de referencia MANTuS
propiedades se ve influenciada por al menos seis de se realiz mediante un estudio de caso que permiti
los atributos definidos. la aplicacin del proceso de Construccin de
software desde la perspectiva de mantenibilidad.
El modelo de referencia MANTuS fue construido para Este estudio de caso fue realizado con ocho
ser usado en contextos de desarrollo de software donde desarrolladores de software que ejecutaron cambios
sea importante incluir al producto software atributos a dos versiones del mismo programa: una versin
de mantenibilidad para potenciar esta caracterstica. que evidencia la utilizacin de algunas prcticas
Asimismo, la especificacin de los resultados base del proceso de construccin del modelo
permite determinar aspectos a incluir o mejorar en la de referencia MANTuS (cdigo B) y otra que
implementacin de los procesos existentes. no las utiliza (cdigo A). Para la ejecucin de
este estudio de caso se tom como referencia la
Descripcin detallada de los procesos plantilla protocolo para planeacin de estudios
Debido a restricciones de espacio, en esta seccinsolo de caso planteado en [18]. A continuacin, se
se presenta el detalle del proceso construccin de describe cada uno de los pasos realizados en el
software desde la perspectiva de mantenibilidad estudio de caso, antecedentes, diseo, sujetos de
(ver Tabla3), los dems procesos y el modelo de investigacin y unidad de anlisis, procedimiento
referencia MANTuS completo se puede encontrar de campo, preparacin de recoleccin de datos,
en [20]. Es importante resaltar que en la seccin ejecucin de caso y anlisis.

426
Erazo Martnez, Florez Gmez y Pino: Generando productos software mantenibles desde el proceso de desarrollo:

Tabla3. Proceso de construccin de software que compone el modelo de referencia.


Identificador del proceso DEV-MANT.4
Nombre del proceso
Construccin de software desde la perspectiva de mantenibilidad.
Propsito del proceso
El propsito del proceso de construccin de software desde la perspectiva de mantenibilidad es producir unidades de software
ejecutables que incluyan atributos de software para potenciar la mantenibilidad del producto.
Resultados del proceso
Como resultado de la implementacin exitosa del proceso de construccin de software desde la perspectiva de mantenibilidad:
CA M CM CP R
a) Las unidades de software cuentan con buenos comentarios. X X X
b) Las unidades de software tienen baja complejidad. X X X X X
c) Las unidades de software son fciles de entender. X X X X
d) Las unidades de software cuentan con alta facilidad de lectura. X X X X
e) Las unidades de software son simples. X X X X X
f) Las unidades de software tienen el tamao adecuado. X X X X
g) Las unidades de software cuentan con bajo nivel de anidacin. X X X
h) Las unidades de software tienen un estndar definido. X X
i) Las unidades de software evitan la duplicacin. X X X
j) Las unidades de software son consistentes. X X
k) Las unidades de software cuentan con trazabilidad. X X

Prcticas base
DEV-MANT.4.PB1: Utilizar comentarios. Hacer uso de comentarios adecuados en el cdigo fuente. [Resultados: a, c, d]
DEV-MANT.4.PB2: Describir propsitos. Explicar el propsito de las funciones, subrutinas, variables y constantes.
[Resultados: a, c, d]
DEV-MANT.4.PB3: Verificar los flujos de control. Incluir solamente los flujos de control necesarios. [Resultados: b, c, e, f]
DEV-MANT 4.PB4: Organizar cdigo. El cdigo fuente debe ser indentado. [Resultado: c, d]
DEV-MANT.4.PB5: Asignar nombres claros. Dar nombres descriptivos a las variables. [Resultado: c, d]
DEV-MANT.4.PB6: Controlar abreviaciones. Hacer poco uso de abreviaciones. [Resultado: c, d]
DEV-MANT.4.PB7: Controlar sentencias. Evitar sentencias largas en el cdigo fuente, es mejor mantener las lneas de
cdigo cortas, aunque esto implica separar las sentencias en mltiples lneas. [Resultado: c, d]
DEV-MANT.4.PB8: Controlar parntesis. Hacer correcto uso de los parntesis para mejorar la facilidad de lectura de las
expresiones aritmticas y lgicas. [Resultado: c, d]
DEV-MANT.4.PB9: Determinar funcionalidades. Implementar solamente las funcionalidades necesarias. [Resultados: b, c, e, f]
DEV-MANT.4.PB10: Dividir mtodos. Mantener mtodos simples, es decir, dividir los mtodos que tengan muchas
condiciones. [Resultados: b, c, e, f]
DEV-MANT.4.PB11: Controlar tamao. Evitar que el tamao del cdigo crezca innecesariamente. [Resultados: c, f]
DEV-MANT.4.PB12: Controlar nivel de anidacin. Evitar las estructuras de control anidadas innecesarias, ya que estas
son ms complejas que las estructuras de control secuenciales. [Resultados: b, c, e, f, g]
DEV-MANT.4.PB13: Evitar duplicacin. Detectar cdigo duplicado, extrayndolo en un nuevo procedimiento y reemplazando
todas las instancias del cdigo duplicado por llamadas al nuevo procedimiento. [Resultados: b, e, f, i]
DEV-MANT.4.PB14: Definir estndares. Tener un conjunto de estndares de programacin en la escritura de cdigo para
evitar la individualidad entre los programadores. [Resultados: d, h]
DEV-MANT.4.PB15: Utilizar convenciones. Hacer uso de convenciones estndar para el nombrado de paquetes, clases,
mtodos y variables. [Resultados: d, h]
DEV-MANT.4.PB16: Controlar tamao de unidad. Las piezas de funcionalidad de ms bajo nivel deben mantenerse
pequeas para que sean centradas y fciles de entender. [Resultados: b, c, e, f]
DEV-MANT.4.PB17: Verificar trazabilidad. Verificar peridicamente que los artefactos de una etapa sean consistentes con
artefactos de la etapa anterior. [Resultados: c, j, k]
DEV-MANT.4.PB18: Actualizar artefactos. Actualizar los artefactos cuando se presenten cambios. [Resultados: c, j, k]
Producto de trabajo de salida
PTS-06 Unidad de software que considera la mantenibilidad [Resultados: a, b, c, d, e, f, g, h, i, j, k]
PTS-04 Registro de trazabilidad [Resultados: j, k]

427
Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016

Antecedentes fuente creado sin utilizar las prcticas y a otro cdigo


fuente que evidencia la utilizacin de las prcticas
Aunque existen diversos enfoques que abordan descritas en el proceso de Construccin de software
la mantenibilidad se debe resaltar que el rea de desde la perspectiva de mantenibilidad del modelo
aplicacin de esta investigacin es la inclusin de referencia, (ii) el tiempo requerido para realizar
de prcticas a las diferentes etapas del proceso de cambios a un cdigo sin prcticas y a un cdigo que
desarrollo que permitan potenciar la mantenibilidad evidencia el uso de las prcticas definidas en el modelo
del producto. Teniendo en cuenta lo anterior, la de referencia, relacionado con la subcaracterstica
pregunta principal de investigacin que se pretende capacidad para ser modificado, (iii)tasa de xito en
responder con este estudio de caso es: el encuentro de la causa de los fallos a un cdigo
sin prcticas y a un cdigo que evidencia el uso de
PP: La utilizacin de prcticas base del proceso las prcticas definidas en el modelo de referencia,
de construccin del modelo de referencia MANTuS relacionado con la subcaracterstica capacidad para
permite potenciar la mantenibilidad del producto? ser analizado, (iv) tiempo de anlisis de fallos de un
cdigo sin prcticas y de un cdigo que evidencia
Otras preguntas adicionales que se pueden plantear el uso de las prcticas definidas en el modelo de
son: referencia, relacionado con la sub-caracterstica
capacidad para ser analizado.
PA1: Aumenta la tasa de xito para realizar cambios
correctamente con la utilizacin de prcticas Sujetos de investigacin, Unidad de anlisis,
base del proceso de construccin del modelo de Procedimiento de campo y Preparacin para la
referencia MANTuS? recoleccin de datos
Los sujetos de investigacin participantes en este
PA2: La utilizacin de prcticas base del proceso estudio de caso fueron ocho desarrolladores de
de construccin del modelo de referencia MANTuS software (estudiantes de ltimos semestres del
permite que el tiempo invertido al realizar cambios al programa Ingeniera de Sistemas de la Universidad
producto software genere los resultados esperados? del Cauca). Para este estudio de caso se tuvo dos
unidades de anlisis las que son dos versiones
PA3: Utilizar las prcticas base del proceso de del mismo programa: una versin que evidencia
construccin del modelo de referencia MANTuS la utilizacin de prcticas base del proceso de
permite aumentar la tasa de xito en el encuentro construccin del modelo de referencia MANTuS
de la causa de fallos? (cdigo B) y otra que no las utiliza (cdigo A). El
programa est implementado en C++ y simula algunas
PA4: Disminuye el tiempo de anlisis de fallos de las funcionalidades que se pueden realizar en un
con la utilizacin de prcticas base del proceso de banco, para esto permite crear una cuenta bancaria
construccin del modelo de referencia MANTuS? que puede ser de dos tipos: corriente o de ahorros,
cada una de las que realiza diferentes transacciones.
Diseo
Segn el enfoque propuesto en [17], el tipo de Las prcticas evidenciadas por el cdigo B son las
diseo del estudio de caso para esta investigacin es siguientes:
simple-embebido. Simple porque se tiene un nico
contexto para el mismo estudio de caso y embebido DEV-MANT.4.PB1: Utilizar comentarios
porque son dos unidades de anlisis (dos versiones DEV-MANT.4.PB2: Describir propsitos
del mismo cdigo fuente, una versin que incorpora DEV-MANT.4.PB3: Verificar los flujos de
aspectos de aplicar las prcticas del proceso y la otra control
que no los incorpora). Este estudio de caso compara DEV-MANT.4.PB5: Asignar nombres claros
los resultados obtenidos al abordar las dos unidades DEV-MANT.4.PB6: Controlar abreviaciones
de anlisis. Por otro lado, las medidas usadas para DEV-MANT.4.PB10: Dividir mtodos
indagar sobre las preguntas de investigacin definidas DEV-MANT.4.PB11: Controlar tamao
son: (i) nmero de funcionalidades modificadas DEV-MANT.4.PB12: Controlar nivel de
correctamente por todos los participantes a un cdigo anidacin

428
Erazo Martnez, Florez Gmez y Pino: Generando productos software mantenibles desde el proceso de desarrollo:

DEV-MANT.4.PB13: Evitar duplicacin Contextualizacin a los participantes, donde


DEV-MANT.4.PB14: Definir estndares se explic el objetivo del estudio de caso y
DEV-MANT.4.PB15: Utilizar convenciones la idea general del programa a modificar. Se
DEV-MANT.4.PB16: Controlar tamao de unidad indic cmo se iba a desarrollar el ejercicio
aplicativo y cules eran los artefactos a entregar,
Para llevar a cabo el estudio de caso, se estableci es decir, el cdigo con las modificaciones, la
el siguiente protocolo: contextualizacin a los gua y encuesta diligenciadas.
participantes, entrega de instrumentos para la Entrega de instrumentos para la realizacin del
realizacin del estudio de caso, ejecucin de cdigo a estudio de caso, los participantes se dividen en
modificar, inicio de aplicacin, entrega de resultados dos grupos: Grupo A que trabajan con el cdigo
y diligenciamiento de encuesta. A el que no incluye prcticas de mantenibilidad
y Grupo B que trabajan con el cdigo B el que
Para la recoleccin de datos se utiliz una gua donde s incluye algunas prcticas de mantenibilidad
se indican las diferentes modificaciones a realizar definidas para el proceso de construccin.
y se presentan unas plantillas para ingresar valores Posteriormente se le entrega a cada participante
de tiempo invertido ejecutar realizar cada tarea de la gua del trabajo a realizar y el cdigo al que
mantenimiento y describir opiniones respecto a le debe realizar las modificaciones. Por ltimo
las modificaciones realizadas. La gua consta de se le enva al correo el enlace de la gua a
8 temes, de los cuales, el tem 6 plantea cambio diligenciar.
correctivo y los temes 1, 2, 3, 4, 7, 8 cambios Ejecucin de cdigo a modificar: cada
perfectivos, adems el tem 5 se relaciona con el participante tiene cinco minutos para ejecutar
encuentro de causas de fallos. Esta gua permiti el cdigo entregado, con el fin de que verifique
evaluar el tiempo invertido en cada cambio por cada todas las funcionalidades del programa.
participante, el tiempo de anlisis del cdigo y si Inicio de aplicacin: los participantes desarrollan
los cambios fueron efectivos o no. todos los temes de la gua entregada, para
cada tem llevan el control del tiempo invertido
Tambin se utiliz una encuesta en Google Drive que llenando la tabla que se encuentra despus
fue diligenciada por los participantes al finalizar todas de la descripcin del tem. Los participantes
las modificaciones propuestas. La realizacin de la indican mediante comentarios las lneas de
encuesta tiene el objetivo de conocer las opiniones cdigo en las que modifican. Los investigadores
de los participantes con respecto a caractersticas de resuelven las dudas que tengan los participantes
mantenibilidad de cada uno de los cdigos (cdigos A al diligenciara y realizar los temes de la gua.
y B), como capacidad para ser analizado y modificado. Entrega de resultados: cuando el participante
A manera de ejemplo, para evaluar la capacidad para termine todos los temes propuestos en la
ser analizado del producto, algunas de las preguntas gua, entrega el cdigo con las modificaciones
que se hicieron son las siguientes: realizadas y la gua totalmente diligenciada.
Diligenciamiento de encuesta: una vez el
a) Le pareci fcil encontrar las causas de fallos? participante entregue el cdigo y la gua,
Por qu? este diligencia la encuesta que se le envi al
b) Le result fcil entender el cdigo? Por qu? correo anteriormente, respondiendo a todas las
c) Las variables tenan nombres claros y entendibles? preguntas que se encuentran en ella.

Las respuestas de los participantes a esta encuesta Con los tiempos registrados por los participantes al
soportaron los resultados cuantitativos obtenidos realizar las modificaciones solicitadas, se elaboraron
a partir de los tiempos registrados en las guas. De dos tablas resmenes con los tiempos invertidos
manera similar se realizaron preguntas para evaluar (Duracin) por cada uno de ellos y Correcto? que
la subcaracterstica capacidad para ser modificado. comprende los valores s o no, los cuales indican
que la modificacin fue realizada con xito o no,
Ejecucin del caso respectivamente. En la Tabla 4 se muestran los
La aplicacin del estudio de caso sigui el tiempos invertidos por los participantes al realizar
procedimiento de campo mencionado anteriormente: las modificaciones de los temes 1, 2, 3, 4, 6, 7,

429
Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016

Tabla4. Tiempo modificacin.


Tiempo
Participante tem 1 tem 2 tem 3 tem 4 tem 6 tem 7 tem 8
total
Duracin 00:27:22 00:46:18 00:02:24 00:03:47 00:16:57 00:05:29 00:01:26
PA1 1:43:43
Correcto? S No No S No No No
Duracin 00:55:55 00:27:40 00:12:05 00:02:00 00:08:07 00:05:10 00:01:05
PA2 1:52:02
Correcto? No No No S No No No
Duracin 00:53:40 00:31:50 00:08:40 00:05:44 00:08:08 00:12:00 00:00:42
PA3 2:00:44
Correcto? S No No S No No No
Duracin 00:38:42 00:20:38 00:18:52 00:02:21 00:05:00 00:06:10 00:06:20
PA4 1:38:03
Correcto? S S S S No No No
T. total 02:55:39 02:06:26 00:42:01 00:13:52 00:38:12 00:28:49 00:09:33
Grupo A
T. promedio 00:43:55 00:31:36 00:10:30 00:03:28 00:09:33 00:07:12 00:02:23
Duracin 00:36:00 00:17:05 00:16:48 00:03:12 01:01:51 00:10:12 00:14:59
PB1 2:40:07
Correcto? S S S S S S S
Duracin 00:23:00 00:21:40 00:15:56 00:05:56 00:27:30 00:15:00 00:08:00
PB2 1:57:02
Correcto? S S S S S S S
Duracin 00:19:25 00:30:33 00:20:11 00:01:51 00:47:10 00:02:07 00:04:42
PB3 2:05:59
Correcto? S S S S S S S
Duracin 00:10:10 00:21:40 00:21:45 00:02:12 00:56:39 00:04:04 00:16:22
PB4 2:12:52
Correcto? S S S S S S S
T. total 01:28:35 01:30:58 01:14:40 00:13:11 03:13:10 00:31:23 00:44:03
Grupo B
T. promedio 00:22:09 00:22:44 00:18:40 00:03:18 00:48:17 00:07:51 00:11:01

8, y el tiempo total al realizar todos los cambios. con xito y sin xito. Partiendo de este anlisis se
Adems la tabla incluye el clculo del tiempo total obtuvo como resultado general que la tasa de xito
y promedio invertido por todos los participantes de modificacin es mucho mayor para el cdigo
para cada uno de los temes. B (100%) que para el A (42,9%), lo que evidencia
que el incluir las prcticas del modelo de referencia
En la Tabla5 se presenta para cada participante los definidas para el proceso de construccin aumenta la
tiempos invertidos al realizar el anlisis del cdigo tasa de xito de realizar los cambios correctamente.
para los tems 4, 5, 7, 8 y el tiempo total.
PA2: La utilizacin de prcticas base del proceso
Anlisis de resultados de construccin del modelo de referencia MANTuS
Para dar respuesta a las preguntas planteadas en este permite que el tiempo invertido al realizar cambios al
estudio de caso se realiz el anlisis presentado a producto software genere los resultados esperados?
continuacin.
El tiempo total invertido para realizar todos
PA1: Aumenta la tasa de xito para realizar cambios los cambios al producto fue hallado para cada
correctamente con la utilizacin de prcticas participante sumando los tiempos finales empleados
base del proceso de construccin del modelo de en el desarrollo de cada tem de la gua tanto en
referencia MANTuS? modificacin como en anlisis. Los datos hallados
indican que el participante del grupo A que realiz los
Para cada grupo se hall la tasa de xito de cambios en menor tiempo lo hizo en 02:05:53 (hh/
modificacin total teniendo en cuenta los siete mm/ss) mientras que para el grupo B el participante
tems de la gua relacionados con la realizacin con menor tiempo utiliz 02:06:05 (hh/mm/ss). A
de cambios. Este clculo fue encontrado teniendo pesar de que estos dos tiempos difieren por poco
en cuenta el total de cambios a realizar por todos (00:00:12), la tasa de xito del participante del grupo
los participantes, el total de cambios realizados A (57,1%) es considerablemente menor que la del

430
Erazo Martnez, Florez Gmez y Pino: Generando productos software mantenibles desde el proceso de desarrollo:

Tabla5. Tiempo de anlisis.


Tiempo
Participante tem 4 tem 5.1 tem 5.2 tem 5.3 tem 7 tem 8
total
Duracin 00:00:50 00:18:39 00:09:43 00:02:10 00:00:51 00:00:30
PA1 0:32:43
Correcto? S S S S No No
Duracin 00:01:10 00:16:55 00:01:15 00:02:10 00:00:50 00:00:55
PA2 0:23:15
Correcto? S No No No No No
Duracin 00:01:40 00:07:59 00:04:04 00:03:00 00:02:41 00:01:07
PA3 0:20:31
Correcto? S No No No No No
Duracin 00:00:50 00:05:27 00:09:53 00:08:10 00:01:40 00:01:50
PA4 0:27:50
Correcto? S No No No No No
Duracin 00:00:30 00:48:46 00:01:08 00:00:51 00:00:10 00:05:20
PB1 0:56:45
Correcto? S S S S S S
Duracin 00:00:48 00:05:00 00:01:40 00:00:30 00:00:05 00:01:00
PB2 0:09:03
Correcto? S S S S S S
Duracin 00:00:47 00:13:50 00:01:15 00:01:11 00:01:19 00:00:52
PB3 0:19:14
Correcto? S S S S S S
Duracin 00:00:37 00:05:45 00:00:00 00:01:28 00:01:40 00:00:43
PB4 0:10:13
Correcto? S S S S S S

participante del grupo B (100%), lo que indica que el encuentro de fallos planteada en la norma ISO/
el tiempo invertido por el participante del grupo A IEC 9126 con la frmula (1):
no se ve reflejado en los resultados obtenidos al
realizar las modificaciones. Al realizar este mismo TEF = 1 (A/B) (1)
anlisis con el participante que obtuvo el segundo
menor tiempo en cada uno de los grupos, se puede 0 TEF 1, entre ms cercano a 1 mejor.
notar que el participante del grupo B invirti mayor
tiempo (02:23:03) con respecto al participante del Donde:
grupo A (02:15:17), sin embargo, logr realizar
correctamente todos los cambios solicitados, lo A = nmero de fallos cuyas causas no se han
que se ve reflejado en su tasa de xito (100%) que encontrado
es mucho mayor a la del participante PA2 (14,3%). B = nmero de fallos registrados.

Haciendo el mismo anlisis para los participantes Los valores obtenidos para TEF indican que la tasa
restantes de los dos grupos, se observa el mismo de xito en el encuentro de causa de fallos para el
comportamiento, lo cual indica que la inclusin grupo A es del 25% y para el grupo B es 100%, lo
de las prcticas base del modelo de referencia al que permite verificar que incluir las prcticas base
proceso de construccin permite que el tiempo del modelo de referencia al proceso de construccin
invertido al realizar cambios al producto software permite aumentar la tasa de xito en el encuentro
genere los resultados esperados. de la causa de fallos.

PA3: Utilizar las prcticas base del proceso de PA4: Disminuye el tiempo de anlisis de fallos
construccin del modelo de referencia MANTuS con la utilizacin de prcticas base del proceso de
permite aumentar la tasa de xito en el encuentro construccin del modelo de referencia MANTuS?
de la causa de fallos?
El tiempo de anlisis de fallos se hall haciendo uso
La tasa de xito en el encuentro de causa de fallos de la mtrica tiempo de anlisis de fallo establecida
(TEF) fue hallada para cada uno de los participantes en la norma ISO/IEC 9126 que se calcula mediante
teniendo en cuenta los resultados del tem relacionado la frmula (2):
con el anlisis de fallos planteado en la gua. Para
esto se tuvo en cuenta la mtrica tasa de xito en TAF Sum(T)/N (2)

431
Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016

0 TAF, entre ms pequeo sea TAF mejor. Validez de conclusin: para evitar el riesgo de
variacin en los resultados debido a diferencias
Para hallar el tiempo (T) se hace uso de la frmula (3): individuales de los sujetos de investigacin los
participantes elegidos fueron desarrolladores
T = Tout Tin (3) de software (estudiantes de ltimos semestres
de Ingeniera de Sistemas de la Universidad del
Donde: Cauca) los que tenan conocimientos adecuados
de programacin orientada a objetos y manejo
Tout = tiempo en el que las causas del fallo son del lenguaje C++. Lo anterior permiti reducir la
encontradas heterogeneidad en el grupo de estudio ya que ellos
Tin = tiempo en el que el reporte del fallo es recibido tenan conocimientos y antecedentes similares.
N: nmero de fallos registrados.
Validez de constructo: en la recoleccin de datos se
Debido a que el nmero de fallos cuyas causas se tuvieron en cuenta tanto medidas de tiempo como
deben hallar para cada tem planteado en la gua las observaciones individuales de los participantes
es uno, al reemplazar N la mtrica queda como se para cada modificacin, lo que permiti hacer un
muestra en la frmula (4): anlisis ms completo comparando estos dos aspectos.

TAF = Tour Tin (4) Validez interna: la gua planteaba modificaciones


sencillas para evitar que los participantes se aburrieran
Los valores obtenidos para TAF indican que el tiempo o cansaran rpidamente, evitando as que se afectaran
de anlisis de fallos es menor en cada tem de la gua los resultados del estudio. De igual forma, las plantillas
para todos los participantes del grupo B respecto de recoleccin de datos fueron diseadas en forma
a los del grupo A, lo que indica que el tiempo de sencilla y clara para evitar confusin.
anlisis de fallos disminuye con la inclusin de las
prcticas base del modelo de referencia al proceso Limitaciones del estudio
de construccin. La seleccin de los participantes podra reducir la validez
externa del estudio de caso ya que al ser estudiantes, los
En general, se puede observar que el incluir al sujetos no son seleccionados de una poblacin general,
cdigo prcticas como documentacin, nombrado lo cual podra limitar el poder de generalizacin de los
coherente, controlar abreviaciones, determinar y resultados obtenidos. El nmero de participantes en el
separar funcionalidades, ayudaron a los participantes estudio de caso podra ser insuficiente para generalizar
del grupo B a realizar correctamente todas las los resultados obtenidos. A pesar de que todos los
modificaciones planteadas en la gua, pues como participantes en el estudio de caso contaban con
ellos mismos lo resaltaron este tipo de prcticas les conocimientos previos tanto en orientacin a objetos
ayud a entender, leer, analizar mejor el cdigo para y manejo del lenguaje C++, se observ inconformidad
encontrar la parte a modificar y asimismo realizar respecto al lenguaje seleccionado para el estudio, ya
dichos cambios. Por otra parte se analiza que el que muchos comentaron que hace mucho tiempo no
cdigo A al no estar programado con este tipo de trabajan con l.
prcticas gener mayor dificultad en la modificacin
del cdigo, ya que como los participantes de este Discusin
grupo lo indicaron, no pudieron entender ni leer bien Los resultados obtenidos a partir del anlisis
el cdigo, lo que hizo que los cambios no se hicieran realizado se ven soportados por la opinin dada
de forma correcta. Es por esto que se puede decir por los participantes a las preguntas realizadas en
que la utilizacin de prcticas base del proceso de la encuesta, todos los participantes que modificaron
construccin del modelo de referencia MANTuS el cdigo A manifestaron que este no tiene alta
permite potenciar la mantenibilidad del producto. mantenibilidad por diferentes aspectos como: la falta
de documentacin, que dificulta la modificacin
Plan de validez del cdigo; la gran cantidad de condicionales, que
Para disminuir las amenazas a la validez del estudio impide realizar cambios mayores de forma sencilla;
de caso se consideraron los siguientes aspectos: la ausencia de mtodos y funciones. Adems

432
Erazo Martnez, Florez Gmez y Pino: Generando productos software mantenibles desde el proceso de desarrollo:

comentaron que el cdigo puede ser simplificado demuestran que la utilizacin de prcticas base del
para evitar la redundancia y los mens pueden ser proceso de construccin del modelo de referencia
incluidos en funciones para facilitar su modificacin. MANTuS permite potenciar la mantenibilidad del
producto software.
Por el contrario, todos los participantes que
trabajaron con el cdigo B concluyeron que este Como trabajo futuro se ha iniciado un estudio de caso
s tiene alta mantenibilidad debido, a que las con el fin de evaluar todo el modelo de referencia
funcionalidades estaban separadas correctamente propuesto. Este se est llevando a cabo en la
y el cdigo estaba documentado e indentado. asignatura Proyecto II del Programa de Ingeniera de
Uno de los participantes afirm que las clases Sistemas de la Universidad del Cauca, incorporando
tenan un bajo acoplamiento y una alta cohesin, las prcticas del modelo de referencia a tres procesos
lo cual permita que un cambio, solo afectara a de desarrollo diferentes (Scrum-XP, Tutelcan,
la parte directamente relacionada con l y no a UP-VSE). De igual forma se propene, realizar la
todo el programa. Otro participante concluy validacin del modelo de referencia proyectado en
que la estructura del cdigo puede ser extendida un entorno empresarial mediante un estudio de caso
fcilmente para agregar nuevas funcionalidades. y aplicar el modelo de referencia estimado en una
organizacin desarrolladora de software que desee
CONCLUSIONES Y TRABAJO FUTURO obtener la certificacin de mantenibilidad realizada
por AQC, paravalidar si inclusin de las prcticas
En este trabajo se ha propuesto un modelo de definidas permiten alcanzar este fin.
referencia para la inclusin de subcaractersticas
de mantenibilidad al producto software durante el Con la aplicacin del modelo de referencia en un
proceso de desarrollo, este fue elaborado a partir entorno empresarial se puede obtener informacin que
de: (i)la identificacin de los atributos de software permita definir cul es el costo de incluir MANTuS en
que influyen en la mantenibilidad del producto, el proceso de desarrollo de la organizacin objetivo,
(ii)la clasificasin de los atributos identificados de esto con el fin de analizar el costo-beneficio e impacto
acuerdo a las subcaractersticas de mantenibilidad que tiene la aplicacin de las prcticas base sobre las
y a los procesos en los que se presentan, (iii) el actividades de desarrollo. Sin embargo, a partir de
analisis de como potenciar cada subcaracterstica, los resultados iniciales obtenidos del caso de estudio
(iv)la estructuracin del modelo de referencia y realizado en esta investigacin, se puede observar
(v)la evaluacin del modelo de referencia realizada que utilizar MANTuS puede traer beneficios a una
por medio de un caso de estudio. Se observa que organizacin ya que las actividades de mantenimiento
la mantenibilidad de software es una caracterstica se pueden realizar de manera ms efectiva, lo que
de calidad que se debe considerar desde etapas conlleva a reducir costos operacionales.
tempranas del ciclo de vida del producto y durante
todo el proceso de desarrollo de software con el Aunque la validacin de la propuesta aun es
fin de disminuir los costos de desarrollo y obtener limitada, como se ha mencionado anteriormente, se
un producto altamente mantenible, es por esto que est trabajando en aplicar el modelo de referencia
las prcticas base definidas para los procesos del MANTuS en la industria con el fin de obtener
modelo de referencia son sencillas, esto con el fin realimentacin y validacin de su aplicacin en
de no aumentar el esfuerzo durante el desarrollo; contextos industriales.
sin embargo, es importante resaltar que estas deben
considerarse durante el proceso de desarrollo y no en AGRADECIMIENTOS
etapas posteriores del ciclo de vida del producto. De
la aplicacin del estudio de caso se puede concluir Este trabajo ha sido apoyado por el proyecto Marco
que la inclusin de las prcticas base del modelo de trabajo para la elicitacin de requisitos no
de referencia al proceso de construccin permite funcionales basado en la gestin del conocimiento
potenciar la mantenibilidad del producto software, (Vicerrectora de Investigaciones de Unicauca -
ya que la capacidad para ser analizado y modificado VRI ID 4354). Adems Francisco J. Pino agradece
del producto aumentan considerablemente. Los a la Universidad del Cauca donde trabaja como
resultados obtenidos en el estudio de caso aplicado profesor titular.

433
Ingeniare. Revista chilena de ingeniera, vol.24 N3, 2016

REFERENCIAS International Conference on, 2002.


pp.486-490.
[1] J.M. Conejero, E. Figueiredo, A. Garcia, J. [12] M. Polo, M. Piattini and F. Ruiz. Improving
Hernndez and E. Jurado. On the relationship the Quality of the Maintenance Process. In
of concern metrics and requirements The Second World Congress for Software
maintainability. Information and Software Quality, Pacifico Yokohama Conference Center
Technology. Vol.54, pp.212-238. 2012. (Tokyo Bay Arena), pp. 325-330. 2000.
[2] C.E.H. Chua, S. Purao and V.C. Storey. [13] ISO. ISO/IEC 15504-5: An exemplar software
Developing maintainable software: The life cycle process assessment model. 2011.
Readable approach. Decision Support [14] F.J. Pino, M. Piattini and G. Travassos.
Systems. Vol.42, pp.469-491. 2006. Managing and Developing Distributed
[3] J.-C. Chen and S.-J. Huang. An empirical Research Projects by Means of Action-
analysis of the impact of software development Research. Rev. Fac. Ing. Univ. Antioquia.
problem factors on software maintainability. Vol.68, pp.61-74. 2010.
Journal of Systems and Software. Vol.82, [15] J. McNiff. Action research: Principles and
pp.981-992. 2009. practice. 3rd ed. Routledge. New York,
[4] F.J. Pino, F. Ruiz, F. Garca and M. Piattini. USA. 2013.
A software maintenance methodology for [16] J. Erazo, A. Florez and FJ. Pino. Anlisis y
small organizations: Agile MANTEMA. clasificacin de atributos de mantenibilidad-
Journal Of Software Maintenance And una revisin desde la literatura. Entre
Evolution: Research And Practice. Vol.24, ciencia e ingeniera, Universidad Catlica
pp.851-876. 2011.
de Pereira (en revisin). 2015.
[5] ISO. ISO/IEC 25010: Systems and software
[17] R.K. Yin. Case Study Research: Design and
engineering - Systems and software Quality
Methods. Third Editon ed. Vol. 5. SAGE
Requirements and Evaluation (SQuaRE) -
Publications. 2003.
System and Software Quality Models. 2011.
[18] P. Brereton, B. Kitchenham, D. Budgen and
[6] E.B. Swanson. IS maintainability: should
Z. Li, Using a protocol template for case
it reduce the maintenance effort?. ACM
study planning. In Proceedings of the 12th
SIGMIS Database. Vol.30, pp.65-76. 1999.
International Conference on Evaluation
[7] ISO. ISO/IEC 33004: Information technology
and Assessment in Software Engineering.
- Process assessment - Requirements for
Process Referents, Process Assessment and University of Bari. Italy. 2008.
Organizational Maturity Models. 2012. [19] P. Kroll and P. Kruchten. The rational unified
[8] A. April, J. Huffman Hayes, A. Abran process made easy: a practitioners guide to the
and R. Dumke. Software Maintenance RUP. Addison-Wesley Professional. 2003.
Maturity Model (SMmm): the software [20] J. Erazo and A. Florez. Modelo de referencia
maintenance process model. Journal of para la inclusin de subcaractersticas de
Software Maintenance and Evolution: Research mantenibilidad al producto software durante
and Practice. Vol.17, pp.197-223. 2005. el proceso de desarrollo, Tesis de Pregrado,
[9] M. Polo, M. Piattini, F. Ruiz and C. Ingenieria de Sistemas. Universidad del
Calero. MANTEMA: A complete rigorous Cauca. Popayn, Colombia. 2014.
methodology for supporting maintenance [21] AENOR. Certificacin de la Calidad del
based on the ISO/IEC 12207 Standard. In Producto Software ISO 25000. URL: http://
Software Maintenance and Reengineering. www.aenor.es/aenor/certificacion/calidad/
Proceedings of the Third European Conference calidad_software_25000.asp#.VT-1LyGqqkp
on, pp.178-181. 1999. [22] C.M. Fernndez, M. Rodrguez and M. Piattini.
[10] ISO. ISO/IEC 12207: Systems and software ISO 25000: Calidad del producto software.
engineering - Software life cycle processes. Revista de la Normalizacin y la Certificacin
2008. (Revista AENOR), pp.30-35. 2013.
[11] M. Kajko-Mattsson. Corrective Maintenance [23] AQCLab. Evaluacin de la mantenibilidad
Maturity Model: Problem Management. del producto software (Reporte Tcnico).
In Software Maintenance. Proceedings. Alarcos Quality Center. 2013.

434

También podría gustarte