Modelo-calidad-software-UTIC 538KB Feb 25 2014 07:07:17 PM

Anuncio
Dirección General de Servicio Civil 2
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Contenido
Introducción .....................................................................................................................................................3
Capítulo I ..........................................................................................................................................................4
Estado del arte para Modelos de Calidad de Software ...................................................................................4
1.1 Modelo de McCall .................................................................................................................................5
1.2 Modelo de Dromey ................................................................................................................................7
1.3 Modelo Furps .........................................................................................................................................8
1.4 Modelo ISO 9126...................................................................................................................................9
1.5 Modelo de Calidad Web (WQM)........................................................................................................ 10
1.6 Six Sigma ............................................................................................................................................ 11
1.7 Modelo Boehm.................................................................................................................................... 12
Capítulo II ...................................................................................................................................................... 14
Modelo de Calidad Web (WQM) .................................................................................................................. 14
2.1 Características web. ............................................................................................................................ 16
2.2 Características de calidad. ................................................................................................................... 16
2.3 Procesos del ciclo de vida. .................................................................................................................. 17
Capítulo III ..................................................................................................................................................... 18
Definición de métricas e indicadores para WQM ......................................................................................... 18
Capítulo IV ..................................................................................................................................................... 23
Estrategia de pruebas para desarrollo de software...................................................................................... 23
Conclusiones ................................................................................................................................................. 26
Dirección General de Servicio Civil 3
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Introducción
La Dirección General de Servicio Civil en su afán de evaluar y proponer una mejora
continua respecto a los servicios y productos que ofrece al ciudadano, inicio en el 2012 un proceso
de mejora enfocado en analizar aquellos procesos, metodologías y formas de actuar de las
diferentes áreas que componen la institución determinando certificar la totalidad de los servicios
generados por dichas áreas que componen la institución. Dicha certificación obedece a la Norma
ISO 9001.
La Unidad de Tecnologías de Infocomunicación fue una de las llamadas a estudiar y analizar
minuciosamente sus procesos internos sobre la base del desarrollo de software definiendo aquellos
puntos débiles que pudiesen entorpecer el trabajo realizado por el equipo humano ubicado en la
UTIC.
Es así como el 09 de julio del 2012 se establece la creación de un objetivo de calidad de software
para la UTIC el cual debía ser una premisa fundamental por parte del personal informático una vez
les fuera encomendada la tarea de crear o mantener software mejorando de esta manera la calidad
del producto entregado al usuario.
Para realizar esta labor se definió su realización en fases las cuales debían arrojar resultados que
permitieran medir su avance y ejecución garantizando al final un documento que abarcara toda la
investigación realizada a través de los meses invertidos.
Este documento es el resultado de dicho estudio en el cual detallamos los hallazgos o resultados
obtenidos los cuales deben servir como consulta obligatoria por parte del equipo de desarrollo de
la UTIC en aquellas ocasiones en que les sea encomendada una labor de desarrollo de software.
Además, este documento funge como guía para las subcontrataciones de desarrollo de sistemas
que por medio de outsourcing la institución realice en el futuro.
El presente trabajo se ha divido en 4 capítulos los cuales detallan claramente los pasos seguidos
durante estos meses de trabajo. El mismo detalla en su primer capítulo un estudio riguroso sobre el
Estado del Arte en materia de Modelos de Calidad de Software realizado por diferentes
investigadores a nivel mundial, el capítulo 2 nos presenta una justificación del Modelo WQM,
escogido al final por parte de los miembros de UTIC como la metodología a seguir e implantar
para los desarrollos de software, en el capítulo 3 definimos métricas e indicadores que permitan
cuantificar la calidad del producto software ofrecido al usuario y por último el capítulo 4
describimos una estrategia de pruebas a implementar en la UTIC que permita suministrar
resultados tangibles sobre los productos elaborados dejando constancia de los escenarios
empleados en los cuales el software construido fue probado.
Esperamos que este documento sirva como guía al personal de la UTIC permitiendo describir
características y subcaracterísticas de calidad que el software construido debe poseer ofreciendo
un plus adicional al usuario en el producto entregado para su uso cotidiano.
Dirección General de Servicio Civil 4
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Capítulo I
Estado del arte para Modelos de Calidad de Software
Una de las primeras tareas encomendadas a la UTIC fue investigar qué modelos de calidad de
software existían y podían ser tropicalizados o utilizados en la Unidad de Tecnologías de
Infocomunicación. Para cumplir esta labor nos dimos a la tarea de revisar bibliografía existente en
materia de calidad de software desarrollada por diferentes autores internacionales, además, fue
importante clarificar el concepto de calidad de software permitiendo detallar nuestro campo de
acción.
A continuaciones algunas definiciones sobre calidad vistas desde la premisa del desarrollo de
software:
Definición 1: “La calidad es la suma de todos aquellos aspectos o características de un
producto o servicio que influyen en su capacidad para satisfacer las necesidades,
expresadas o implícitas” (ISO 8402)
Definición 2: “Grado con el cual el cliente o usuario percibe que el software satisface
sus expectativas” (IEEE 729-83)
Según Barbacci (1995) la calidad de software se define como el grado en el cual el software posee
una combinación deseada de atributos. Tales atributos son requerimientos adicionales del sistema
(Kazman, 2001), que hacen referencia a características que éste debe satisfacer, diferentes a los
requerimientos funcionales.
Estas características o atributos se conocen con el nombre de atributos de calidad, los cuales se
definen como las propiedades de un servicio que presta el sistema a sus usuarios (Barbacci. 1995).
En los modelos de calidad para el software, la calidad se define de forma jerárquica. Es un
concepto que se deriva de un conjunto de sub-conceptos, cada uno los cuales se evalua a través de
un conjunto de indicadores o métricas. Tienen una estructura, por lo general, en tres niveles:
 Factores de Calidad
 Criterios de calidad del Producto
 Métricas del Producto
En el nivel más alto de la jerarquía se encuentran los FACTORES o CARACTERÍSTICAS DE
CALIDAD, que representan la calidad desde el punto de vista del usuario. Cada uno de los
factores se descompone en un conjunto de CRITERIOS O SUBCARACTERÍSTICAS DE
CALIDAD. Son atributos que, cuando están presentes, contribuyen al aspecto de la calidad que el
Dirección General de Servicio Civil 5
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
factor asociado representa. Se trata de una visión de la calidad desde el punto de vista del
producto software. Para cada uno de los criterios de calidad se definen entonces un conjunto de
MÉTRICAS E INDICADORES, que son medidas cuantitativas de ciertas características del
producto que dan una indicación del grado en que dicho producto posee un determinado atributo
de calidad.
Ahora bien, una vez clarificado estos conceptos, ofrecemos los resultados de los modelos que a
nuestro criterio podrían ser utilizados en la UTIC, la tabla 1 detalla dicho resultado:
Modelo de McCall
Modelo de Boehm
ISO 9126
Modelo WQM
Furps
Drommey
Six Sigma
Tabla 1: Modelos de calidad del software
A continuación ofrecemos una breve explicación de cada uno de los modelos estudiados.
1.1 Modelo de McCall
El modelo de McCall (1977) describe la calidad como un concepto elaborado mediante
relaciones jerárquicas entre factores de calidad, en base a criterios y métricas de calidad.
Este enfoque es sistemático, y permite cuantificar la calidad a través de las siguientes
fases:
 Determinación de los factores que influyen sobre la calidad del software.
 Identificación de los criterios para juzgar cada factor.
 Definición de las métricas de los criterios y establecimiento de una función de
normalización que define la relación entre las métricas de cada criterio y los
factores correspondientes.
 Evaluación de las métricas.
 Correlación de las métricas a un conjunto de guías que cualquier equipo de
desarrollo podría seguir Desarrollo de las recomendaciones para la colección de
métricas.
En el modelo de McCall, los factores de calidad se concentran en tres aspectos importantes
de un producto de software: características operativas, capacidad de cambios y
adaptabilidad a nuevos entornos.
En este modelo, el término factor de calidad define características claves que un producto
debe exhibir. Los atributos del factor de calidad que define el producto son los nombrados
criterios de calidad. Las métricas de calidad denotan una medida que puede ser utilizada
Dirección General de Servicio Civil 6
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
para cuantificar los criterios. McCall (1977) identifica una serie de criterios, tales como
rastreabilidad, simplicidad, capacidad de expansión, etc.
Las métricas desarrolladas están relacionadas con los factores de calidad y la relación que
se establece se mide en función del grado de cumplimiento de los criterios. La Figura 1
muestra, para el modelo de McCall, los factores de calidad y sus criterios asociados. En
ella se observa que algunos de los criterios son compartidos por más de un factor.
Figura 1: Modelo de calidad de McCall
Dirección General de Servicio Civil 7
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
1.2 Modelo de Dromey
Dromey (1996) propuso un marco de referencia – o metamodelo - para la construcción de
modelos de calidad, basado en cómo las propiedades medibles de un producto de software
pueden afectar los atributos de calidad generales, como por ejemplo, confiabilidad y
mantenibilidad. El problema que se plantea es cómo conectar tales propiedades del
producto con los atributos de calidad de alto nivel. Para solventar esta situación, Dromey
(1996) sugiere el uso de cuatro categorías que implican propiedades de calidad, que son:
correctitud, internas, contextuales y descriptivas.
La tabla 2, presenta la relación que establece Dromey (1996) entre las propiedades de
calidad del producto y los atributos de calidad de alto nivel.
Tabla 2: Modelo de calidad de Dromey
Dirección General de Servicio Civil 8
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
1.3 Modelo Furps
El modelo de McCall ha servido de base para modelos de calidad posteriores, y este es el
caso del modelo FURPS, producto del desarrollo de Hewlett-Packard (Grady, 1987). En
este modelo se desarrollan un conjunto de factores de calidad de software, bajo el
acrónimo de FURPS: funcionalidad (Functionality), usabilidad (Usability), confiabilidad
(Reliability), desempeño (Performance) y capacidad de soporte (Supportability). La tabla 3
presenta la clasificación de los atributos de calidad que se incluyen en el modelo, junto con
las características asociadas a cada uno (Pressman, 2002).
Tabla 3: Modelo de calidad FURPS
Dirección General de Servicio Civil 9
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
1.4 Modelo ISO 9126
El estándar ISO/IEC 9126 ha sido desarrollado en un intento de identificar los atributos
clave de calidad para un producto de software (Pressman, 2002). Este estándar es una
simplificación del Modelo de McCall (Losavio, 2003), e identifica seis características
básicas de calidad que pueden estar presentes en cualquier producto de software. El
estándar provee una descomposición de las características en subcaracterísticas, que se
muestran en la tabla 4.
calidad externa
e interna
funcionalidad
fiabilidad
adecuación
exactitud
interoperabilidad
seguridad de
acceso
madurez
tolerancia a
fallos
Tabla
capacidad de
recuperación
cumplimiento de
la funcionalidad
cumplimiento de
la fiabilidad
usabilidad
4:
eficiencia
capacidad para
ser entendido
comportamiento
capacidad para
temporal
ser aprendido
ISO
9126(Calidad
externa
utilización
de e
capacidad
para
ser operado
recursos
capacidad de
atracción
cumplimiento de
la eficiencia
cumplimiento de
la usabilidad
mantenibilidad
capacidad para
ser analizado
capacidad para
ser cambiado
interna)
estabilidad
capacidad para
ser probado
cumplimiento de
la mantenibilidad
portabilidad
adaptabilidad
instalabilidad
coexistencia
capacidad para
ser reemplazado
cumplimiento de
la portabilidad
El modelo de calidad del producto software de esta norma incluye calidad interna (medible
a partir de las características intrínsecas, como el código fuente), calidad externa (medible
en el comportamiento del producto, como en una prueba) y calidad en uso (durante la
utilización efectiva por parte del usuario).
Las características y subcaracterísticas mostradas en la tabla 4 se refieren a la calidad
interna y externa. Mientras que para la calidad en uso sólo establece cuatro características,
las cuales representan el efecto combinado de las características de la calidad del software
para el usuario. A continuación detallamos las mismas:
Dirección General de Servicio Civil 10
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
calidad en
uso
efectividad
productividad
seguridad de
acceso
satisfacción
Tabla 5: ISO 9126(Calidad en uso)
1.5 Modelo de Calidad Web (WQM)
WQM es un modelo desarrollado para atender las necesidades de las aplicaciones web. Los
sistemas web deberán ser gestionados y dirigidos de forma rigurosa y cualitativa, y será
necesario establecer los mecanismos adecuados que garanticen la calidad de estos sistemas.
Para ello se ha definido un Modelo de Calidad para la Web y un conjunto de métricas para
cubrir la mayor parte posible de tipos de sitios web.
WQM distingue tres dimensiones relacionadas: características web, procesos del ciclo de
vida y características de calidad.
Para diseñar el modelo se observaron las siguientes premisas:




Deber ser aplicable a la gama más amplia de tipologías de sitios web.
Debe cubrir tanto puntos de vista externos como internos.
Las características y subcaracterísticas se usarán donde sean aplicables.
Debe incluir, si es posible, medidas cuantitativas no definidas por una escala
nominal.
Dirección General de Servicio Civil 11
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
WQM (Web Quality Model), propone una estructura de cubo que muestra aquellos
aspectos que deben ser tenidos en cuenta en la evaluación de la calidad de un sitio web: las
características web, los procesos del ciclo de vida y las características de calidad.
WQM es un modelo tridimensional para la evaluación de la calidad de los sitios web, y
está caracterizado por tres elementos básicos:
 La característica de calidad (basada en Quint2 y en el estándar ISO 9126).
 Los procesos del ciclo de vida (basado en el estándar ISO12207).
 Las características web (contenido, presentación y navegación).
Como base para las características de calidad, WQM utiliza el modelo Quint2, que se basa
en la ISO 9126. Quint2 amplía el estándar con nuevas características apropiadas para
productos web: Funcionalidad, fiabilidad, usabilidad, eficiencia, portabilidad, y
mantenibilidad.
Para la segunda dimensión, los procesos del ciclo de vida, se utiliza la metodología Métrica
V.3.
1.6 Six Sigma
Six Sigma es una propuesta que permite mejorar procesos y productos que ha tenido una
gran aceptación. Es una filosofía, una métrica y una estructura de mejoramiento. Esta
filosofía pretende ser aplicada en los dominios relacionados a la tecnología y al software; y
es utilizada para lograr la satisfacción del cliente con productos novedosos a un precio
competitivo. Es una filosofía de gestión que se centra en evitar que se produzcan errores,
pérdidas innecesarias o que se tenga que repetir un trabajo. Esta filosofía de Six Sigma
consiste en mejorar la satisfacción del usuario por medio de la reducción y eliminación de
defectos. Sigma es un término estadístico que mide la desviación estándar de un conjunto
de valores, es decir la variación que se produce en un proceso. Esta medida estadística se
utiliza para cuantificar el proceso y determinar si ésta está funcionando dentro de un
intervalo determinado.
Six Sigma tiene como finalidad la reducción de los costos a través de la eliminación de
defectos y la mejora de los procesos. Utiliza los siguientes 3 principios: (1) enfoque al
cliente, (2) proceso de orientación y (3) liderazgo basado en métricas.
Dirección General de Servicio Civil 12
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
1.7 Modelo Boehm
El modelo de Boehm (1978) agrega algunas características a las existentes en el modelo de
McCall y representa una estructura jerárquica de características, cada una de las cuales
contribuye a la calidad total. Consiste en un modelo de descomposición de características
de calidad del software en 3 niveles (usos principales, componentes intermedios y
componentes primitivos) previos a la aplicación de métricas. Este modelo plantea factores
de calidad formados por criterios de calidad y métricas respectivas (Figura 2).
Figura 2: Modelo de calidad de Boehml
El modelo de Boehm tiene como finalidad que a través de la calidad del software, el
software:
(1) realice lo que desea el usuario
(2) utilice recursos informáticos de manera correcta y eficiente
(3) sea fácil de utilizar y aprender
(4) sea bien diseñado, codificado, probado y mantenido.
Dirección General de Servicio Civil 13
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Este modelo es similar al de McCall ya que presenta una jerarquía de características, está
basado en un amplio rango de características e incorpora 19 criterios que incluyen
características de performance del hardware.
Una vez definido el estado del arte sobre algunos modelos de calidad del software investigados
por parte de la academia y expuestos para su utilización tanto para organizaciones privadas como
públicas, el equipo de profesionales de la UTIC considerada oportuno la utilización y
tropicalización del Modelo de Calidad Web Quality Model (WQM) ya que incorpora las ventajas
de ISO 9126 contempladas en QUINT2, define un modelo de calidad y mide la funcionalidad web
considerando características como contenido, presentación y navegación.
Dirección General de Servicio Civil 14
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Capítulo II
Modelo de Calidad Web (WQM)
El software es considerado hoy día como una pieza fundamental dentro de la estrategia de negocio
con que cuenta una institución ofreciendo así una diferenciación en cuanto a los servicios que
otorga a sus clientes y usuarios. Es uno de los componentes básicos de la tecnología que se
involucra en las empresas e instituciones públicas, no sólo como soporte a los procesos del
negocio, productivos y administrativos, sino como parte del plus adicional con que se espera
ejercer un cambio en la forma de percibir a las instituciones públicas que conforman el Estado
Costarricense.
Considerando este principio, la alta dirección de la DGSC, encomendó a la Unidad de Tecnologías
de Infocomunicación la tarea de desarrollar un modelo de calidad de software que permitiera a sus
usuarios incorporar en sus aplicaciones informáticas características y subcaracterísticas de calidad
necesarias, garantizando de esta manera un producto software acorde con estándares
internacionales de calidad del software.
Como fue expuesto anteriormente en este documento, el objetivo en la producción de software es
conseguir un producto de alta calidad. En el caso de los desarrollos de aplicaciones web, conseguir
este objetivo se hace cada vez más imprescindible. Esto es debido, entre otras causas, a la inmensa
cantidad de información asociada a la tecnología web, y al crecimiento de la complejidad de sus
aplicaciones.
Los sistemas web deberán ser gestionados y dirigidos de forma rigurosa y cualitativa, y será
necesario establecer los mecanismos adecuados que garanticen la calidad de estos sistemas.
WQM distingue tres dimensiones relacionadas: características web, procesos del ciclo de vida y
características de calidad. (como se muestra en la figura 3)
En WQM (Web Quality Model), se propone una estructura de cubo que muestra aquellos aspectos
que deben ser considerados en la evaluación de la calidad de un sitio web o aplicación: las
características web, los procesos del ciclo de vida y las características de calidad.
WQM es un modelo tridimensional para la evaluación de la calidad de los sitios web, y está
caracterizado por tres elementos básicos:
La característica de calidad (basada en Quint2 y en el estándar ISO 9126).
Los procesos del ciclo de vida (basado en el estándar ISO12207).
Las características web (contenido, presentación y navegación).
Nota: para el proceso de ciclo de vida, la UTIC ha considerado la utilización de la
Metodología Métrica V.3 en lugar de utilizar ISO 12207 considerando que dicha
metodología es más amplia, utilizada e implementada y adaptable fácilmente al entorno de
trabajo del equipo de desarrollo.
Dirección General de Servicio Civil 15
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Web Features
Content
Quality Characteristics
Presentation
Development
Operation
Maintenance
Effort
Reuse
Navigation
Lifecycle Processes
Figura 3. Representación gráfica del Modelo WQM [RUI03]
Como base para las características de calidad, WQM utiliza el modelo Quint2, que se basa en la
ISO 9126 definiendo para ello un conjunto de características y subcaracterísticas necesarias de
considerar una vez se desee implementar un producto software.
Para la segunda dimensión, los procesos del ciclo de vida, se utiliza la metodología Métrica V.3.
Se trabajará con los siguientes procesos:






El proceso de viabilidad de sistemas.
El proceso de análisis
El proceso de desarrollo.
El proceso de programación.
El proceso de pruebas.
El proceso de mantenimiento.
Y para el tercer elemento, las características de un sitio web, los tres factores más utilizados son:
 Contenido.
 Presentación.
 Navegación.
Dirección General de Servicio Civil 16
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
2.1 Características web.
En esta dimensión se incluyen los tres aspectos clásicos en web: Contenido, Presentación y
Navegación.
La navegación permite a los usuarios adquirir toda la información que buscan y hace esta
información más fácil de encontrar. La presentación y el contenido son dos componentes
principales a la hora de la realizar una página fácil de usar.
En el Contenido se incluyen no sólo datos como el texto, gráficos, imágenes, video clips,
etc., sino también programas y aplicaciones que proporcionan funcionalidades como
scripts, programas CGI, programas java, y otros. El contenido también trata cuestiones de
representación y estructura.
De forma general, podemos distinguir entre varias categorías para el contenido en la web
como estático, semi estático, y dinámico. Las páginas estáticas las forman simplemente
textos, imágenes, audio, efectos de audio y video, especiales, etc, no existe contenido
dinámico en ellas. Este contenido se genera una vez, al crear el sitio web por primera vez,
y rara vez es cambiado. Las páginas semiestáticas pueden ser generadas de plantillas, pero
sin usar programación significativa, esto incluye lenguajes de plantilla como XSLT, XML
y otros similares. Esto también incluye algún script por parte del cliente para refinar, como
JavaScript. El contenido dinámico es generado ante una solicitud utilizando programas de
lado del servidor.La navegación está relacionada con las facilidades de tener acceso a la
información y de moverse por la web.
La presentación está relacionada con el camino por el cual el contenido y la navegación se
presentan al usuario.
2.2 Características de calidad.
Para describir las características de calidad, WQM utiliza como base el modelo Quint2,
que a su vez está basado en el estándar ISO 9126.
Se compone de 6 características de calidad aplicables en la web y a su vez para cada
característica definida, se enumeran un grupo de subcaracterísticas importantes de
considerar cuando de desarrollar software se habla.
Además se enumeran cuatro características de uso necesarias para evaluar o medir el
software una vez que el mismo ha sido entregado al usuario y donde es importante conocer
de primera mano las observaciones que el usuario final pueda realizar sobre el producto
software entregado.
Las siguientes tablas muestran la calidad interna, externa y en uso que debe poseer un
producto software.
Dirección General de Servicio Civil 17
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Internas y externas
la capacidad del producto software para proporcionar funciones que satisfagan las necesidades
especificadas e implícitas cuando el software se utiliza en las condiciones especificadas.
la capacidad del producto software para mantener un nivel especificado de rendimiento cuando
se utiliza en las condiciones especificadas.
la capacidad del producto software de ser entendido, aprendido, utilizado y atractivo al usuario,
cuando se utiliza en las condiciones especificadas. Depende del tipo de "uso" que se espera y
tipo de "usuario" que utilizará el producto (ddesarrollador, evaluador/seleccionador, integrador,
configurador/administrador del sistema, usuario del sistema)
la capacidad del producto software para proporcionar el rendimiento apropiado, relativo a la
cantidad de recursos utilizados, bajo las especificaciones determinadas.
la capacidad del producto software para ser modificado. Las modificaciones pueden incluir
correcciones, mejoras o adaptación del software a cambios en el entorno, en los requisitos o en
las especificaciones funcionales.
la capacidad del producto software de ser transferido de un entorno a otro.
En uso
la capacidad del producto software de permitir a los usuarios conseguir los objetivos
determinados con precisión y completitud en un contexto de uso especificado.
Funcionalidad
Fiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad
Efectividad:
la capacidad del producto software de permitir a los usuarios de gastar las cantidades de
recursos apropiadas con relación a la eficiencia conseguida en un contexto de uso especificado.
Productividad:
Seguridad
uso):
(de
la capacidad del producto software de conseguir niveles aceptables de riesgo de dañar a
personas, software, equipamiento o al entorno en un contexto de uso especificado.
la capacidad del producto software de satisfacer a los usuarios en un contexto de uso
especificado.
Nota: La calidad en uso es la capacidad del producto software para permitir que los usuarios consigan los
objetivos especificados con eficiencia, productividad, seguridad y satisfacción en contextos de uso especificados.
Las métricas e indicadores que se han de aplicar nacen a partir de encuestas de opinión realizadas por UTIC a
los clientes tanto del sitio como de las aplicaciones web que posea la DGSC.
Satisfacción:
2.3 Procesos del ciclo de vida.
Como fue mencionado se definió Métrica V.3 como metodología para el desarrollo de
software durante las etapas del ciclo de vida. Para ello se tomaron los siguientes procesos
para su ejecución:






El proceso de viabilidad de sistemas.
El proceso de análisis
El proceso de desarrollo.
El proceso de programación.
El proceso de pruebas.
El proceso de mantenimiento.
Nota: para un mejor y mayor grado de profundada en cada tema se recomienda la
lectura del material que conforma la documentación de la Metodología Métrica V.3.
Dirección General de Servicio Civil 18
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Capítulo III
Definición de métricas e indicadores para WQM
Un aspecto fundamental al momento de definir nuestro modelo de calidad, fue la construcción de
métricas e indicadores que permitieran la cuantificación de las características de calidad definidas
al inicio del desarrollo de software permitiendo otorgar un valor porcentual al producto
desarrollado por la UTIC.
A continuación mostramos la siguiente tabla que detalla las características, subcaracterísticas,
métricas e indicadores necesarios y un peso que permita evaluar en un rango de 1 a 100 la calidad
del producto software desarrollado.
Esta información debe servir para ayudar al equipo de QA (Quality Assurance) de la institución a
dar seguimiento, confeccionar planes de prueba y demás tareas necesarias que permitan
incrementar la calidad del software desarrollado por la UTIC.
Internas y externas
Funcionalidad: la capacidad del producto software para proporcionar funciones que satisfagan las necesidades especificadas e implícitas cuando el software se utiliza en las condiciones especificadas.
Subcaracterística
Descripción
Métrica
Indicador
la capacidad del producto software para proporcionar un conjunto Búsquedas globales (Global Search): número de (numero de búsquedas exitosas/numero de
Adecuación
apropiado de funciones para tareas específicas y objetivos de los tipos de búsqueda generales permitidas en un sitio o búsquedas) * 100
aplicación (peso 25% )
usuarios.
Exactitud
la capacidad del producto software para proporcionar los resultados o
efectos correctos y con el grado de precisión acordado.
Búsquedas extensivas: número de tipos de búsqueda
especializadas permitidas en un sitio o aplicación
web (peso 25% )
(numero
de
búsquedas
exitosas
especializadas / numero de búsquedas
especializadas) * 100
Interoperabilidad
la capacidad del producto software para interactuar con uno o más
sistemas especificados.
Interfaces externas: número de interfaces internas o
externas que permiten interactuar con otros sistemas
informáticos (peso 25% )
(cantidad de interfaces internas o externas /
total de interfaces de la aplicación software)
* 100
Seguridad
Capacidad del producto software para proteger información y datos de
manera que las personas o sistemas no autorizados no puedan leerlos o
modificarlos, al tiempo que no se deniega el acceso a las personas o
sistemas autorizados.
Conformidad
la capacidad del producto software para adaptarse a los estándares,
convenciones o regulaciones en leyes y prescripciones relativos a la
funcionalidad.
Seguridad perimetral del software: número de
interfaces de usuario, tablas de base de datos,
dispositivos de comunicación y procedimientos
almacenados enriptados. (peso 25% )
(numero de alternativas de software no
encriptados / número total de alternativas de
software que deben ser encriptados) * 100
Conveniencia
Atributo del software que tiene que ver con la presencia y la adecuación
de un conjunto de funciones para tareas especificadas. La conveniencia
es una subcaracterística de calidad que considera si las funcionalidades
deseadas están presentes en el producto de software. Se determina, sobre
todo, por la efectividad de las etapas de la ingeniería de requisitos,
cuando un usuario y un desarrollador del software tienen que
comunicarse para determinar las funcionalidades deseadas de un
producto de software. Debe existir la precisión de la comunicación y la
comprensión inequívoca del dominio de la aplicación y del problema
que se tratará.
Trazabilidad
Atributo del software que indica la cantidad de esfuerzo necesitado para
verificar la corrección del proceso de datos sobre puntos requeridos.
Fiabilidad: la capacidad del producto software para mantener un nivel especificado de rendimiento cuando se utiliza en las condiciones especificadas.
Subcaracterística
Descripción
Métrica
Madurez
la capacidad del producto software para evitar fallos provocados por
errores en el software.
Número de links rotos: cantidad de enlaces a otras
páginas que están rotos o no dirigen a ninguna
parte. (peso 25% )
Indicador
(Cantidad de links funcionales / total de
links de la aplicación software) *100
Dirección General de Servicio Civil 20
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Tolerancia a fallos
Recuperabilidad
Conformidad
la capacidad del producto software para mantener un nivel de
rendimiento determinado en caso de defectos en el software o
incumplimiento de su interfaz.
la capacidad del producto software para restablecer un determinado
nivel de rendimiento y recuperar los datos afectados directamente en
caso de ocurrir un fallo.
la capacidad del producto software para adaptarse a estándares,
convenciones y regulaciones referidas a la fiabilidad.
Número de imágenes con texto ALT (peso 25% )
(cantidad de imágenes con texto ALT / total
de imágenes de la aplicación software) * 100
Disponibilidad del producto software: cantidad de
tiempo transcurrido en que la aplicación software o
sitio web se encuentra disponible. (peso 25% )
Tiempo mensual transcurrido en minutos /
3679200
(Cantidad de errores ortográficos localizados
Atributo del software que refiere la cantidad de tiempo que el Número de errores ortográficos (peso 25% )
/ cantidad de palabras) * 100
producto está disponible para el usuario en el tiempo en que es
necesario.
Degradabilidad
Atributo del software que tiene que ver el esfuerzo necesitado para
reestablecer la funcionalidad esencial después de una interrupción.
Usabilidad: la capacidad del producto software de ser entendido, aprendido, utilizado y atractivo al usuario, cuando se utiliza en las condiciones especificadas. Depende del tipo de "uso" que se espera y
tipo de "usuario" que utilizará el producto (desarrollador, evaluador/seleccionador, integrador, configurador/administrador del sistema, usuario del sistema)
Subcaracterística
Descripción
Métrica
Indicador
Comprensibilidad
la capacidad del producto software para permitir al usuario que Amigabilidad de la página: Grado de facilidad en la Encuestas a realizar en la etapa de
entienda si el software es adecuado, y como debe utilizarse para que un usuario inexperto hace uso eficiente de un producción
sitio o aplicación Web (peso 25 %)
determinadas tareas y bajo ciertas condiciones de uso.
Facilidad de aprendizaje
la capacidad del producto software para permitir al usuario aprender Contador de páginas: contador interno de las (cantidad de respuestas positivas obtenidas
páginas por área que fueron visitadas por los de la encuesta / cantidad total de respuestas a
su aplicación.
usuarios. (peso 25 %)
la encuesta) * 100
Operabilidad
la capacidad del producto software para permitir que el usuario lo Personalización del sitio Web (Mínimo 2 lenguajes, Calificación obtenida a través de encuesta
tres tamaños de letra, colores de fondo). (peso 25 realizada por QA
opere y lo controle.
%)
Atracción
la capacidad del producto software para atraer al usuario.
Disponibilidad
Conformidad
Entendibilidad
Aprendibilidad
Operabilidad
Explicidad
Personalización
la capacidad del producto software para adaptarse a estándares,
convenciones, guías de estilo y regulaciones relacionadas con la
usabilidad.
Atributo del software que tiene que ver con el esfuerzo de los usuarios
para reconocer el concepto lógico del producto software y su
aplicabilidad, está relacionado con el reconocimiento de conceptos y
su aplicabilidad.
Subcaracterístca que refleja el esfuerzo de los usuarios para aprender
un producto software (por ejemplo, control, entrada, salida).
Mejorando la entendibilidad y claridad de los conceptos empleados en
la aplicación, se hace mucho más fácil aprender cómo controlar la
aplicación y qué tipo de entrada y salida produce o requiere. Esto
mejora el esfuerzo requerido para aprender una operación.
Subcaracterística de calidad que indica el esfuerzo de los usuarios
para el control de operación y la operación.
Atributo del software que tiene que ver con el estado del producto
software (barras de progresión, etc.)
Subcaracterística de calidad que permite al software ser personalizado
Contador de visitas: esta métrica nos debe permitir
obtener información de nuestros clientes ( número
de visitantes a nuestro sitio web, número de visitas
en línea, perfil del visitante (navegador, resolución,
sistema operativo, colores de pantalla), visitas
procedentes de los principales buscadores de
Internet, países de procedencia de nuestros
visitantes y páginas Web que nos envían visitas)
permitiendo la toma de decisiones para futuros
desarrollos web. (peso 25 %)
http://www.crearwebgratis.com/contador-de-visitas/
Contador de visitas
Dirección General de Servicio Civil 21
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
por el usuario para reducir el esfuerzo requerido para su uso, e
incrementar el nivel de satisfacción con el software.
Atractividad
Atributo del software que tiene que ver con la satisfacción de los
deseos y preferencias del usuario, a través de servicios,
comportamiento y presentación más allá de la demanda real.
Claridad
Subcaracterística de la calidad del software que tienen que ver con la
claridad de hacer al usuario consciente de las funciones que el
producto software puede realizar.
Utilidad
Atributo del software que tienen que indica la disponibilidad de
instrucciones para el usuario sobre cómo interactuar con él.
Facilidad de uso
Subcaracterística de calidad que indica la satisfacción de los usuarios.
Eficiencia: la capacidad del producto software para proporcionar el rendimiento apropiado, relativo a la cantidad de recursos utilizados, bajo las especificaciones determinadas.
Subcaracterística
Descripción
Métrica
Indicador
Páginas de acceso rápido (Quick access pages): Tiempo promedio de descarga por página
tiempo de acceso o descarga para las páginas (debe (TPDP aplicación
definirse qué tiempo de descarga es el más TPDP Sitio Web
adecuado) (peso 33 %)
Utilización de recursos
la capacidad del producto software para utilizar cantidades y tipos de Frecuencia de navegación: informa sobre el ritmo TPDP / paginas
recursos apropiados cuando el software realiza su función bajo de navegación de los internautas. ¿Pasan demasiado Ojo podría tener indicadores de frecuencia
tiempo en las páginas de tipo formulario? de navegación por área o aplicación de
determinadas condiciones.
¿Sobrevuelan por encima las páginas de contenido? software desarrollada y de descarga de los
¿El cargado de páginas parece ralentizarse de un archivos multimedia o de texto por área.
mes a otro? (peso 33 %)
Conformidad
la capacidad del producto software para adaptarse a estándares o Tiempo de descarga: tiempo de descarga de TD (Tiempo de descarga)
archivos multimedia (gráficos, audio, video,
convenciones relacionadas con la eficiencia.
animación, imágenes) o de text (word, pdf, excel,
power point) (peso 33 %)
Mantenibilidad: la capacidad del producto software para ser modificado. Las modificaciones pueden incluir correcciones, mejoras o adaptación del software a cambios en el entorno, en los requisitos o en
las especificaciones funcionales.
Subcaracterística
Descripción
Métrica
Indicador
Analizabilidad
Capacidad del producto software de diagnosticar sus deficiencias o Deficiencias o características ausentes debido a los Datos obtenidos por medio de encuestas. Se
diferentes navegadores (deficiencies or absent puede colocar una encuesta digital que
causas de fallos, o de identificar las partes que deben ser modificadas.
features due to different browsers): permite obtenga información valiosa para el posible
diagnosticar ya sea por medio de encuestas u otras mantenimiento del sitio o aplicación web.
herramientas las ausencias/deficiencias que posee
un sitio o aplicación web. (peso 33 %)
o
resultados
inesperados Datos obtenidos por medio de encuestas. Se
Cambiabilidad
Capacidad del producto software de permitir implementar una Deficiencias
modificación especificada. La implementación incluye los cambios en independientes de los navegadores (deficiencies or puede colocar una encuesta digital que
unexpected results independent of browsers) obtenga información valiosa para el posible
el diseño, el código y la documentación.
permite dianosticar deficiencias o errores no mantenimiento del sitio o aplicación web.
previstos en la fase de construcción del software o
sitio web. (peso 33 %)
Estabilidad
Capacidad del producto software de evitar los efectos inesperados de Titulo de las imágenes (Image title): permite definir (numero de imágenes con titulo / total de
con anterioridad los títulos que deben poseer las imágenes del sitio o aplicación web) * 100
las modificaciones.
imágenes, esto por normativa de accesibilidad,
validando con anterioridad sus partes y evitando
Comportamiento
temporal
la capacidad del producto software para proporcionar tiempos de
respuesta y de procesamiento apropiados cuando realiza sus funciones
bajo condiciones determinadas.
Dirección General de Servicio Civil 22
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
efectos inesperados posteriores. (peso 33 %)
Facilidad de prueba
Capacidad del producto software de permitir validar las partes
modificadas.
Conformidad
Capacidad del producto software de cumplir los estándares o
convenciones relativas a la mantenibilidad.
Flexibilidad
Atributo del software que refiere el esfuerzo necesitado para
restablecer su estado de ejecución.
Reusabilidad
Atributo del software que refiere su potencial para la reutilización
completa o parcial en otro producto de software.
Portabilidad: la capacidad del producto software de ser transferido de un entorno a otro.
Subcaracterística
Descripción
Adaptabilidad
Capacidad del producto software para ser adaptado a diferentes
entornos especificados, sin aplicar acciones o mecanismos distintos de
aquellos proporcionados para este propósito por el propio software
considerado.
Facilidad de instalación
la capacidad del producto software para ser instalado en un entorno
especificado.
Coexistencia
la capacidad del producto software para coexistir con otro software
independiente en un entorno común, compartiendo recursos comunes.
Reemplazabilidad:
la capacidad del producto software para ser utilizado en lugar de otro
producto de software, para el mismo propósito, en el mismo entorno.
Conformidad:
la capacidad del producto software para adaptarse a estándares
relacionados con la portabilidad.
Métrica
Contador de elementos interactivos: define el
número de elementos interactivos que posee una
aplicación o sitio web. (peso 33 %)
Indicador
Número de elementos interactivos de una
aplicación o sitio web (debe tender a cero)
Contador de elementos de búsqueda: define la
cantidad de alternativas de búsqueda existentes en
la aplicación o sitio web. Entre más complejo más
difícil es su portabilidad. (peso 33 %)
Graphics bytes: determina el tamaño en bytes de los
gráficos utilizados en una aplicación o sitio web.
(peso 33 %)
Número de elementos de búsqueda para una
aplicación o sitio web. (debe tender a cero)
Peso en bytes de cada gráfico construido (el
Web Master indica el peso requerido )
Capítulo IV
Estrategia de pruebas para desarrollo de software
Tal como lo plantea Roger S. Pressman en su séptima edición de su libro "Ingeniería del
software, un enfoque práctico":
"Una estrategia de prueba de software proporciona una guía que describe los pasos que
deben realizarse como parte de la prueba, cuándo se planean y se llevan a cabo dichos pasos,
y cuánto esfuerzo, tiempo y recursos se requerirán. Por tanto, cualquier estrategia de prueba
debe incorporar la planificación de la prueba, el diseño de casos de prueba, la ejecución de la
prueba y la recolección y evaluación de los resultados".
Nuestro trabajo persigue la elaboración de un marco específico y detallado sobre las pruebas de
software que el equipo de desarrollo de la UTIC debe incorporar, interiorizar y poner en práctica
una vez que le ha sido encomendado el desarrollo de software. Este marco al que se hace
referencia no es más ni menos que la definición de una planificación o estrategia sobre las pruebas
por realizar al software que se ha de construir y que debe ser considerando desde los inicios
propios del desarrollo de software. Con ello pretendemos definir el camino a seguir, las pruebas
por realizar, las plantillas necesarias para efectuar las pruebas, sus participantes, el análisis de los
resultados obtenidos generando la documentación necesaria que ha de servir como historia de lo
realizado.
La planificación o estrategia de pruebas que presentamos debe permitirnos una mejor
visualización sobre qué tipos de prueba realizar, qué técnicas y herramientas utilizar, qué plantillas
o formularios pueden ser útiles y lo más importante cómo elaborar el documento de pruebas del
software.
4.1 Estrategia de prueba para software.
La figura 4 detalla cada una de las pruebas que se han de implementar e incorporar en los
planes de prueba de software que los miembros de UTIC asuman. El mismo está
conformado por: pruebas de unidad, pruebas de integración, pruebas de validación y
pruebas del sistema.
Dirección General de Servicio Civil 24
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Prueba del
sistema
Prueba de
validación
Prueba de
integración
Prueba de
unidad
Figura No. 4: estrategia de pruebas
4.2 El proceso de prueba.
La figura 5 detalla el proceso completo relacionado con las pruebas basadas en parte en el
estándar IEEE std. 1008.
Figura No. 5: ciclo completo de las pruebas
4.2.1 Planificación de pruebas
Se realiza la planificación general sobre las pruebas por realizar para cada fase de la
estrategia de prueba del producto software por construir (pruebas de unidad,
pruebas de integración, pruebas de validación y pruebas del sistema). El plan de
pruebas se genera en base a la documentación sobre el proyecto y la documentación
sobre el software a probar.
Dirección General de Servicio Civil 25
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
4.2.2 Diseño de pruebas
Luego de realizado el plan de pruebas se procede a diseñar las pruebas especificas
basándose en la documentación del software a probar.
4.2.3 Ejecución de pruebas
Una vez finalizada la etapa de diseño de las pruebas, se ejecutan las mismas
definiendo aspectos relevantes como ambientes de trabajo, escenarios de ejecución.
4.2.4 Evaluación de pruebas
La etapa de evaluación donde se compara los resultados obtenidos con las salidas
esperadas. En este punto se puede obtener alguna de dos salidas: una depuración o
un análisis de los errores localizados.
4.2.4 Análisis de errores
La etapa de análisis de errores puede servir para realizar predicciones de la
fiabilidad del software y para detectar las causas más habituales de error mejorando
los procesos de desarrollo.
4.2.5 Depuración
Por último la depuración permite corregir o no los defectos. Si no es posible su
localización, puede ser necesario realizar pruebas adicionales con el fin de obtener
más información. Si se logra su corrección, se debe volver a probar el software de
tal manera que se compruebe que el problema fue resuelto.
Dirección General de Servicio Civil 26
Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC
Conclusiones
Es evidente que el desarrollo de software se ha convertido en un aliado fundamental dentro del
proceso de mejora continua que experimentan las instituciones gubernamentales costarricenses,
intentando llevar más y mejores servicios a los ciudadanos.
Las altas autoridades de la DGSC han comprendido dicha situación y por ello han apostado por
liderar este importante trabajo en los procesos internos de las áreas que componen nuestra DGSC
y la UTIC, como encargada del desarrollo interno de software ha asumido el reto de evaluar y
mejorar su forma de trabajar.
Por ello es que consideramos que la definición de un Modelo de calidad de software es un paso en
la línea correcta hacia esa mejora continua que deben realizar las instituciones públicas que día
con día interactúan con miles de usuarios ya sea personalmente o bien por medios digitales.
Esperamos que este documento sirva de guía constante para el equipo de desarrollo de la UTIC de
tal forma que le permita tener claro el camino a seguir, además, en el plano profesional esperamos
sirva de guía para esa mejora continua que debe existir dentro de todo profesional incorporando
nuevos conocimientos y destrezas necesarias para realizar su trabajo de la mejor manera siempre
teniendo claro que el producto software creado por ellos es la herramienta de trabajo de otros y
que ese mismo trabajo es la obtención de los servicios del ciudadano que nos demanda día con día
la superación personal y profesional.
Descargar