Está en la página 1de 6

“Métricas Diseñadas En SEMAT para el

control de calidad de proyectos desarrollados


mediante metodologías De Desarrollo Agiles”

German Felipe Valencia Hurtado Andrés Ospina Cortes


Estudiante Ingeniería de Sistemas y Estudiante Ingeniería de Sistemas y
Computación Computación
Universidad del Quindío Universidad del Quindío
Armenia, Colombia Armenia, Colombia
gfvalenciah@uqvirtual.edu.co ospinacortes2007@hotmail.com

Abstract: SEMAT has had great importance in the industry of engineering software, currently is one of the
most prominent tools for the development of projects and activities related to the field of engineering, since it
establishes parameters and standards that determines a general language for the development of all projects
related to engineering and in our context of software engineering projects; However within the metrics
designed in SEMAT, are not referred to as they are designed or created and the metrics or standards available
for software development projects that guarantee a quality standard are used optimal, and more if we think
about the developments through Agile methodologies. This article is intended to find a way of design or
model existing in SEMAT parameters to include them in the process of developing software using agile
methodologies and thus be able to exercise greater control over the quality of these projects.

Resumen
Introducción
SEMAT ha tenido gran importancia en la industria
de la ingeniería de software, en estos momentos es
una de las herramientas más destacadas para el SEMAT (Software Engineering Método and
desarrollo de proyectos y actividades relacionados Theory) es una metodología que permite
con el campo de la ingeniería, ya que establece representar bajo un lenguaje común una gran
parámetros y estándares que determina un cantidad y variedad de metodologías actuales en
lenguaje general para el desarrollo de todos los la planificación y desarrollo de proyectos de
proyectos vinculados a la ingeniería y en nuestro software, como es en nuestro caso, mostrar las
contexto a los proyectos de ingeniería de técnicas de implementación de metodologías
software; sin embargo dentro de las métricas agiles para el desarrollo de este tipo de proyectos.
diseñadas en SEMAT, no se encuentras
contempladas como se diseñan o crean y se En la actualidad, el mundo de la ingeniería de
utilizan las métricas o estándares disponibles para software requiere productos de alta calidad para
los proyectos de desarrollo de software que satisfacer las necesidades puntuales de los
garanticen un estándar de calidad optimo, y más clientes; además de esto trata de disminuir la
si pensamos en los desarrollos mediante las cantidad de defectos presentados en un proyecto
metodologías agiles. de desarrollo de software. Una de las técnicas que
se emplean para minimizar dicha problemática es
En este artículo se pretende encontrar la manera el uso de estándares generales para la práctica.
de diseñar o modelar parámetros existente en
SEMAT para incluirlas dentro de proceso de El desarrollo de software de alta calidad es uno de
desarrollo de software por medio de metodologías las principales prioridades de la industria del
agiles y así poder ejercer un mayor control de software. Las métricas pueden ser útiles durante el
calidad de estos proyectos. desarrollo del software, ya que pueden evaluar la
calidad de los productos de software diseño y
código fuente. Según la norma ISO/IEC 9126 metodología de desarrollo, había sido postergado.
estándar, "métrica se define como una escala de De nada sirven buenas notaciones y herramientas
medición "y el método utilizado para la si no se proveen directivas para su aplicación”. [2]
medición." [5] se propondra la selección de las
métricas apropiadas de la Norma ISO/IEC 9126 “Las metodologías ágiles son una serie de técnicas
para evaluar y validar cada Estado alfa para para la gestión de proyectos que han surgido como
obtener un software de alta calidad producto. contraposición a los métodos clásicos de gestión
como CMMI. Aunque surgieron en el ámbito del
El estándar de ISO/IEC 9126 se puede relacionar desarrollo de software, también han sido
con las métrias propuestas. Por lo tanto, en este exportadas a otro tipo de proyectos.”[3].
articulo se relacionan las métricas ISO/IEC 9126 a
los alfas del núcleo de Semat. De acuerdo a el “Desarrollar un buen software depende de un
Estándar de ISO/IEC, debemos especificar cómo sinnúmero de actividades y etapas, donde el
el estándar se refiere a las nuevas propuestas que impacto de elegir la mejor metodología para un
se basan en él [5]. equipo, en un determinado proyecto es
trascendental para el éxito del producto.”[4]
Con un estándar establecido se pueden controlar
más la aparición de defectos o problemas El estándar de ISO/IEC 9126 consiste en cuatro
dispuestos dentro del desarrollo, las capacidades porciones principales o informes técnicos: 1)
de los miembros de los equipos de desarrollo y modelo de calidad; (2) métricas externas; 3)
llevar un control sobre la fortaleza del proyecto de Métricas internas; y 4) métricas de calidad en uso.
software. Sin embargo SEMAT al ser una La calidad el modelo incluye dos porciones para
metodología tan reciente no se ha usado para la calidad del producto del software; la la primera
simbolizar estándares que se puedan emplear para parte es una introducción de calidad externa e
asegura la calidad del software desarrollado interna, las métricas se implementan durante las
mediante metodologías agiles. etapas de prueba de la ciclo de vida de desarrollo
de software para medir el comportamiento del
Marco teórico sistema [6]. "las métricas internas se aplican a los
no-"producto de software ejecutable "; son útiles
“SEMAT es una iniciativa para re-modelar la para identificar problemas de calidad en las
Ingeniería de Software y procurar que sea primeras etapas del software ciclo de vida del
calificada como una disciplina rigurosa. Se basa desarrollo [6]. Finalmente, la calidad en el uso de
en el hecho de que la Ingeniería de Software métricas se implementan para medir la forma en
contiene un número significante de prácticas que un producto de software satisface las
inmaduras”. [1] necesidades de los usuarios con el fin de alcanzar
metas especificadas. Las piezas 2 y 3 del estándar
de ISO/IEC 9126 se relacionan a seis
características: funcionalidad, fiabilidad,
usabilidad, eficiencia, mantenibilidad y
portabilidad, que se subdividido más lejos en
secundario-características. La parte 4 está
relacionada a cuatro características: efectividad,
productividad, seguridad, y satisfacción — sin
subcaracterísticas [6].

Figura 3. Alphas del kernel Semat. Fuente: [6]

“En las dos últimas décadas las notaciones de


modelado y posteriormente las herramientas
pretendieron ser las "balas de plata" para el éxito
Figura 1. Relación entre tipos de métricas. Fuente: [6]
en el desarrollo de software, sin embargo, las
expectativas no fueron satisfechas. Esto se debe La figura 1 muestra las relaciones entre los tres
en gran parte a que otro importante elemento, la tipos de métricas. Que las influencias internas de
la calidad calidad externa, mientras que la calidad mediante la asignación de un número (Indicador
en uso es influenciada por calidad externa. La evaluativo) o símbolos (Categorización) a todos
calidad en uso depende de la calidad externa, y la los atributos de entidades del proyecto en
calidad externa depende de calidad interna, es ejecución. Para esto vamos a generar un modelo
decir calidad comienza desde las primeras etapas de medición estándar basado grupo complejo y
del desarrollo de la producto de software. El coherente de criterios de medida.
estándar de ISO/IEC 9126 fue desarrollado en
para evaluar la calidad de los productos de Frente a la necesidad de evaluar y controlar la
software utilizando métricas, que pueden ser complejidad de los proyectos de desarrollo de
modificados por los usuarios de la norma [6]. software, encontramos que es una tarea bastante
difícil, poder obtener un solo valor para
Cada característica de calidad ha asociado
representar una parámetro de calidad, aunque en
subcaracterísticas y métricas.
la búsqueda durante la investigación realizada
Las métricas son un conjunto de reglas generadas para encontrar elementos que nos permitan esta
para asegurar la calidad del software y con esto la representación, llegamos a la conclusión de que es
satisfacción del cliente, para ello se transforma la posible desarrollar medidas de diferentes atributos
información en términos contables o medibles que internos dentro de estos proyectos, involucrados
permitan evidenciar los avances en los procesos no solo con el desarrollo del software, si no
del desarrollo del software y evitar errores también con el contexto de trabajo, modalidad de
comunes. desarrollo, grupo de intervención y estándares de
calidad, clasificadas así:

 Modularidad efectiva
 Independencia funcional
Contextualización  Trabajo cooperativo
 Estándares de calidad de producto
Actualmente la información referente al campo de  Control de costos e intervención
las métricas diseñadas en SEMAT para  Control interno de producto
metodologías agiles son muy pocas, esto se da por
 Otros atributos
el poco tiempo de puesta en práctica de SEMAT;
si bien hay muchas investigaciones que se están
Estas categorías estipuladas generaran métricas y
llevando a cabo estudios previos sobre esta
medidas que una vez sean evaluadas, pueden ser
metodología, la mayoría de los estudios solo se
utilizadas como indicadores independientes de la
aplican a la fundamentación y a la argumentación
calidad, generando así, un control de calidad más
de los conceptos aplicados a entornos de
denso y que arrojara resultados más claros para el
desarrollo de software tradicional, en SEMAT
desarrollo de los modelos de análisis, diseño e
encontramos un núcleo que tiene muchos
implementación de los proyectos realizados.
beneficios para los profesionales de software. Por
ejemplo, el núcleo ayuda a evaluar el progreso y
Se propone basar el modelo de representación
salud de los esfuerzos de desarrollo de software,
mediante las siguientes métricas:
evaluar las prácticas actuales y mejorar la forma
de trabajo. También, ayuda a mejorar la
Métrica de desarrollo
comunicación, a moverse más fácilmente entre
Se refiere a la parte administrativa de la
equipos y a adoptar nuevas ideas, El núcleo ayuda
planificación y desarrollo del plan estratégico para
a la industria en conjunto, al mejorar la relación
la ejecución de proyecto.
entre los equipos, los proveedores y las
organizaciones de desarrollo, es por esto que
Métrica de presupuesto
buscamos métricas basadas en este núcleo y que
Línea que se encarga del control adecuado para el
puedan ser aplicadas en los desarrollos bajo
presupuesto del proyecto, ejerce control y
metodologías agiles.
destinación de recursos adecuados.

Propuesta Métrica directa al proyecto


Se refiere al costo en cuanto a recursos para el
Para medir los aspectos que dan origen a un desarrollo del proyecto, encierra toda la parte de
proyecto con estándares de calidad, se debe hacer requisitos funcionales y no funcionales, así como
también los requerimientos mínimos para estos proyectos, ya que los estándares establecidos
ejecución. mediante el SEMAT son muy reconocidas y
aplicadas para el desarrollo de software, pero
Métricas Indirectas al proyecto mediante metodologías no agiles o tradicionales.
Se pueden pronunciar en cuanto a la
funcionalidad, calidad, complejidad, eficiencia, Durante todo el proceso de investigación
fiabilidad y facilidad que tenga el proyecto. realizado se encontró información que establece
parámetros de indicaciones acerca de cómo las
Métricas de Software metodologías agiles de desarrollo de software
Son las que tienen relación con el desarrollo del crean métricas y ejecutan procesos de calidad con
software, tales como, usabilidad, portabilidad, los resultados de estas.
calidad, complejidad, eficiencia, engloba todo los
parámetros necesarios para el desarrollo de un Basándonos en esta información buscamos dentro
producto de software. de SEMAT ya que al ser una metodología que
engloba todas las prácticas de software y que
Métricas de Calidad además, permite establecer una estructura estándar
Son aquellas que proporcionan indicadores de mediante los diagramas bajo su representación,
cómo se ajusta el software a los requisitos como podemos implementar dicha información
implícitos o explícitos del cliente, a los estándares bajo métricas disponibles en SEMAT.
determinados por los entes reguladores, así como
también a los requisitos mínimos estipulados Teniendo en cuenta esto, en este artículo se
dentro del grupo o empresa de trabajo, es decir, plantea la representación de las métricas aplicadas
que nos permite evaluar que tan adaptable es el al desarrollo de software para el control de calidad
desarrollo a los requerimientos que solicita el de estos proyectos, específicamente en
cliente y a su entorno. metodologías de desarrollo ágil, usando SEMAT
para la representación de la siguiente manera.
Las Alphas del kernel se utilizan para abordar tres
temas: 1) capturan los conceptos clave del Nuestra propuesta se centra en la selección de las
software Ingeniería; (2) apoyan la evaluación de métricas apropiadas de la norma ISO/IEC 9126
la salud y progreso de un emprendimiento de para evaluar y validar los Estados elegidos de los
software; y 3) se utilizan para definir métodos y alfas para para obtener un producto de software de
prácticas de ingeniería de software [7]. Cada uno alta calidad. Relacionamos algunos de las
de los Alphas del kernel tiene un conjunto de métricas de la norma ISO/IEC 9126 a algunos de
Estados. Los Estados alfa son en la evaluación de los Estados de dos Alphas: requisitos y sistema de
la salud y el progreso de un proyecto de software. software. La relación se basa en terminología y
Cada estado alfa ha asociado un lista. Un Estado significados similares de las métricas ISO/IEC
sólo se puede lograr cuando todo el los artículos 9126 y la lista de comprobación de la alfas
de la lista de comprobación se cumplen [7] "existe pertenecientes al núcleo de Semat.
la posibilidad de Iterar a través de los Estados si
es necesario, depende de su elección de elección
de practicas“ [7]. Lista de chequeo
Estado del alfa Items
Planteamiento Se trata de suficientes requisitos para que el
sistema resultante sea aceptable para las
partes interesadas.
La tendencia de desarrollo ágil ha venido
revolucionando la manera de hacer software y con Las partes interesadas aceptan los requisitos
como reflejo exacto de lo que el sistema hace
esto la manera en que los procesos de software y hace no hace.
son vistos. En la administración de proyectos de Dirigido a
El conjunto de ítems de requerimientos
software, es muy poco lo que se ha logrado implementados proporciona un valor claro a
las partes interesadas.
identificar que permita establecer un estándar de
calidad a los proyectos desarrollados mediante El sistema que implementa los requisitos es
metodologías agiles, y es ahí en donde aceptado por las partes interesadas como
específicamente, miramos que estándares Operacional.
tabla 1
encontramos en SEMAT que sean utilizadas en las
Estados del alfa dirigidos a los requisitos
metodologías agiles para garantizar la calidad en
Primero analizamos los requisitos del alfa y sus Los tres elementos deben cumplirse para obtener
Estados. Elegimos el estado dirigido para ser la Estado.
medido por ISO/IEC métricas. La selección del Lista de chequeo
estado se basa principalmente en su lista de Estado del alfa Items
El sistema se ha puesto a disposición de las
comprobación, como se muestra en la tabla 1. La partes interesadas que pretenden utilizarlo.
lista incluye cuatro temas y apoya la evaluación Al menos un ejemplo del sistema está
Operacional
de la salud y el progreso de los los requisitos. completamente operativo.

Todos los elementos deben cumplirse para obtener El sistema está totalmente compatible con los
niveles de servicio acordados.
el estado. "en el estado tratado la cantidad de" los
Tabla 2. Estado operacional del Sistema de software alfa
requisitos que se han abordado son suficientes
"sistema resultante para proporcionar un valor El proceso para seleccionar la métrica para la
claro a las partes interesadas" [5]. operación es el mismo que implementado para
seleccionar la métrica implementación funcional
Como medida directa para verificar y validar el
integridad del requerimiento Alpha.. La ecuación
Estado, identificamos la idoneidad interna, que
de la métrica es:
"indica un conjunto de atributos para la
evaluación de funciones explícitas las tareas X= 1-(α/β) (2)
prescritas, y para determinar su idoneidad para
realizando las tareas "[5]. La idoneidad es una α= Número de mensajes o funciones que el
característica de funcionalidad, que es una usuario encontró inaceptablemente inconsistentes
característica ISO/IEC. La las métricas relevantes con la expectativa del usuario.
identificadas son: suficiencia funcional, completa
β= Numero de mensajes o funciones
implementación funcional, funcional cobertura de
implementación y especificación funcional 0<= X <= 1, entre mas cercano este a 1 es mejor
estabilidad (volatilidad). Las métricas pertinentes
identificadas pueden se aplicará para evaluar el
estado tratado. En este articulo sólo
λ=η/φ (3)
seleccionamos una métrica, que es completa
implementación funcional. Esta métrica cuenta el
número de funciones faltantes detectadas en la
evaluación y la compara con el número de η= Número de mensajes o funciones que el
funciones descritas en la especificación de usuario encontró inaceptablemente inconsistentes
requisitos"[5]. La ecuación métrica es: con la expectativa del usuario.

X= 1-(α/β) (1) φ=Tiempo de funcionamiento del usuario durante


el período de observación
α= Numero de funciones perdidas detectadas
Según la norma ISO/IEC 9126 parte 2, "ambos
β= Numero de funciones descritas en el previsibilidad de la entrada y la previsibilidad de
documento de especificaciones la salida son eficaces para la consistencia
operacional "[5]. Varios patrones de operación se
0<= X <= 1, entre mas cercano este a 1 mas
reconocen por medio de la experiencia del usuario
completo sera
[5]. Esta métrica se puede utilizar para medir la
La métrica elegida es adecuada para validar la "operación fácil de derivar" [5].
funciones especificadas en el requisito porque
cuenta las funciones faltantes comparadas con el Conclusiones
requisito especificación, que puede llevar a un
requisito aceptable para las partes interesadas y lo Es de gran importancia establecer un modelo de
hará valido para hacer operativo. Finalmente, representación en métricas para el desarrollo de
analizamos el sistema de software Alpha y su software mediante el uso de metodologías agiles,
Estados. Se elige el estado operativo. La selección con esto podremos generar indicadores de calidad
de los Estado se basa en su lista de comprobación, a seguir para el correcto desarrollo del proyecto.
así como para el alfa Requisito. La lista de control
tiene tres elementos, como se muestra en Tabla 2. Una vez establecidas estas métricas, como
pretende demostrar el diagrama de la imagen1,
podremos dar marcha a este tipo de proyectos y al
seguir dichas métricas, ir acorde a estándares que • [1] Juan Pablo Baena. (2011). SEMAT -
nos ayudaran a generar un proyecto basado en Software Engineering Method And Theroy
buenas prácticas y buscando la calidad en cada http://jpbaena13.blogspot.com.co/2011/08/semat-
proceso. software-engineering-method-and.html
• [2] José H. Canós, Patricio Letelier y Mª
Bien así, podemos establecer el origen, Carmen Penadés(2003). Metodologias agiles para
importancia y el uso que se le debe dar a las el desarrollo de software
métricas en los distintos proyectos de desarrollo https://goo.gl/Z5hriF
de software mediante el uso de metodologías • [3] Raúl Raya. (2014). ¿Qué son las
agiles. metodologías ágiles?
http://blog.leanmonitor.com/es/que-son-las-
En este articulo hemos identificado la falta de metodologias-agiles/
especificación de la relación entre la norma • [4]Figueroa, R. G., Solís, C. J., & Cabr-
ISO/IEC 9126 y la propuesta de métricas basadas era, A. A. (2008). Metodologías tradicionales vs.
en la norma, mediante la medición de los Estados Metodologías ágiles. Universidad Técnica Particu-
alfa mediante el uso de la norma ISO/IEC 9126 lar de Loja, Escuela de Ciencias en Computación.
las métricas garantizan requisitos de calidad (En línea), Disponible en: http://adonisnet. files.
sistema de software debido a estas métricas son wordpress. com/2008/06/articulo-metodologia-de-
validadas y ampliamente aceptado para verificar sw-formato. Doc.
la calidad de un software producto . [5]Software Engineering - Product Quality - Part
2: External Metrics,ISO/IEC 9126-2, 2000
Aunque nos hace falta una mayor profundización
para establecer como SEMAT plantea el uso de . [6]Information Technology - Software Product
métricas para la gestión de proyectos que Quality - ProductQuality- Part 1: Quality Model,
involucren esta metodología, representaremos las International Organization for Standardization,
métricas estipuladas mediante el uso de los ISO/IEC 9126-1, 2008.
parámetros en SEMAT. . [7]Essence – Kernel and Language for software
Engineering Methods,Object Management Group.
2015.
• Jacobson, I., Ng, P. W., McMah, P. E., &
Jaramillo, C. M. Z. (2013). La esencia de la inge-
niería de software: El núcleo de Semat. Revista
Latinoamericana de Ingeniería de Software, 1(3),
71-78.
https://goo.gl/fbzmU5
• Bill Pugh, David Hovemeyer, and B. L.
et al. F. (2011). Find Bugs in Java programs
• InFusion. (2011). Loose Research Group.
Retrieved from http://loose.cs.upt.ro
• Metrics. (2011). Metrics. Retrieved from
Imagen1
http://metrics.sourceforge.net
• PMD. (2011). Tom Copeland et al. Re-
Referencias trieved from http://pmd.sourceforge.org/