Documente Academic
Documente Profesional
Documente Cultură
SEMANA 1
Conceptos y herramientas
básicas de calidad
Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE DOCUMENTO CONTIENE LA SEMANA 1
utilizar los contenidos para fines comerciales de ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 1
ÍNDICE
3
ESTE DOCUMENTO CONTIENE LA SEMANA 1
ÍNDICE DE FIGURAS
Figura 1: Criterios para la operación del producto ............................................................................ 11
Figura 2: Criterios para la revisión del producto ............................................................................... 12
Figura 3: Criterios para la transición del producto ............................................................................ 12
Figura 4: Modelo de Boëhm .............................................................................................................. 14
Figura 5: Comparación entre McCall y Boëhm .................................................................................. 16
Figura 6: Elementos gráficos de un diagrama de flujo. ..................................................................... 16
Figura 7: Ejemplo de un diagrama de flujo ....................................................................................... 17
Figura 8: Diagrama Ishikawa (Causa-Efecto) .................................................................................... 18
Figura 9: Ejemplo de aplicación del modelo ...................................................................................... 18
Figura 10: Variación y detalle aplicado en el modelo........................................................................ 19
Figura 11: Categorización motivos de pérdidas ................................................................................ 20
Figura 12: Aplicación del principio de Pareto .................................................................................... 21
4
ESTE DOCUMENTO CONTIENE LA SEMANA 1
CONCEPTOS Y HERRAMIENTAS BÁSICAS DE CALIDAD
OBJETIVOS ESPECÍFICOS
Comprender los aspectos fundamentales del concepto de calidad y su importancia según
la perspectiva de la calidad del software.
Comprender los modelos clásicos de calidad del software.
Utilizar las distintas herramientas básicas de calidad en un proceso de software.
INTRODUCCIÓN
En general, quienes desarrollan productos o brindan servicios a terceros compiten en diferentes
mercados y focalizan sus esfuerzos en satisfacer la demanda de quienes están dispuestos a
adquirirlos por un determinado valor económico. En el mercado de las tecnologías de información,
ocurre exactamente lo mismo y, por tal razón, la calidad del producto de software se ha
transformado en un diferenciador que determina si el esfuerzo invertido realmente se capitalizará
en una solución útil y valorada en el entorno donde se utilice. Para lograrlo, es necesario entender
los conceptos que fundamentan la calidad vista desde la perspectiva del proceso de desarrollo de
software, y también, del producto de software como tal. Para poder realizarlo, es necesario
disponer de herramientas (técnicas y métodos) que faciliten la medición y control de la calidad
durante el ciclo de desarrollo y uso posterior.
En la actualidad, existe una gran cantidad de modelos de calidad orientados a mejorar tanto el
proceso y el producto de software. En esta semana se revisarán algunos de los estándares más
utilizados en la actualidad.
5
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1. FUNDAMENTOS DE LA CALIDAD
Al referirse a calidad, se pueden encontrar bastantes definiciones en la literatura y otras fuentes
de información. Sin embargo, en forma natural se relaciona con una serie de características
propias que permiten identificar un mayor valor en un producto o servicio respecto a otros
similares.
Lo anterior habla de características que bien podrían clasificarse como subjetivas, porque se
construyen sobre la base de percepciones y no por algún criterio medible. Siguiendo la idea del
ejemplo anterior, la percepción de dos personas respecto a la calidad del auto puede ser distinta.
Uno puede preferir un auto desde el punto de vista funcional, y la otra persona guiarse por los
accesorios que pueda o no tener. Por tanto, la calidad vista de esa manera no necesariamente
debe ser la misma y va a depender de la información disponible que tenga cada uno para evaluar,
o tal vez de las expectativas que espera satisfacer.
En ambos casos el concepto es abstracto y subjetivo, por lo cual es necesario establecer criterios
sobre la base de estándares, para poder cuantificar o medir en forma objetiva el “grado de
calidad” en un producto o la prestación de un servicio determinado.
Al leer cada una de estas definiciones, podemos pensar que la segunda de ellas parece ser más
clara que las otras, o al menos pareciera ser la más concreta. Sin embargo, como se mencionó
anteriormente, al referirnos a la calidad de un producto o servicio, resultará subjetivo
dependiendo de cómo sea evaluada. Asimismo, la primera definición abre la posibilidad de
1 http://goo.gl/e5NvDg
6
ESTE DOCUMENTO CONTIENE LA SEMANA 1
determinar ciertos aspectos, propiedades o características que son medibles o cuantificables. Por
consiguiente, dan una idea de precisar qué aspectos se van a medir y con qué criterios se van a
hacer.
Ahora bien, cuando se desarrolla un producto de software, uno de los factores que determina su
calidad es el cumplimiento de las expectativas declaradas antes de su desarrollo. En este caso, se
puede establecer que la definición de los requerimientos funcionales y de sistema es la que
ayudará a determinar el grado de adherencia del producto de software respecto al resultado final.
Esto es concluyente, categórico (ISO 9126-2001).
Por ejemplo, un sistema de recaudación para las cajas de un supermercado debe ser preciso,
realizar bien los cálculos, tener inventariados todos los productos y, además, tener un tiempo de
respuesta rapidísimo. ¿De qué serviría un sistema que demora en buscar los productos y realizar
las operaciones en forma lenta? Si bien se puede llegar al mismo resultado, el impacto en la
atención de los clientes es relevante y de interés para los administradores del supermercado. En
este caso se dirá que un sistema de recaudación es de calidad si satisface ampliamente las
necesidades de la empresa, en función de sus clientes.
7
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Grado con que un sistema, componente o proceso cumple con los requerimientos
especificados y las necesidades o expectativas del cliente o usuario (definición sobre la base
del estándar IEEE, Std. 610-1990).
Estas definiciones señalan que para un sistema de software el concepto de calidad debe definirse
previamente para poder medirlo en forma posterior. La pregunta que se puede plantear en virtud
de lo anterior sería: ¿quién o quiénes realizarán estas mediciones? La respuesta es simple: todos
los involucrados en el proceso de desarrollo del software, por ejemplo, ingenieros (analistas,
desarrolladores, testers) y usuarios.
Es importante destacar que el software tiene características especiales, las cuales se pueden citar
a continuación (Pressman, 2010):
La calidad desde el punto de vista de un proceso es relevante debido a que tiene impacto en los
tiempos y costos de desarrollo. Por ejemplo, ante un escenario donde no hay un control de calidad
sólido, se puede incurrir en muchos errores. Corregirlos tiene un costo económico y además en el
cumplimiento de plazos. Ahora bien, cuando estos errores son detectados en etapas avanzadas del
desarrollo del sistema, resultan más costosos aun. Imagine la obra de construcción de un edificio
de veinte pisos, el ingeniero calculista visualiza un error de cálculo cuando ya han construido
quince de los veinte pisos... ¡Es un desastre!
Por esta razón, si producto del proceso de calidad empleado baja la tasa de errores y, además, la
solución cumple con las expectativas definidas junto al usuario, entonces, esta forma de hacer
software puede repetirse bajando costos y asegurando el cumpliendo plazos.
8
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1.3. CALIDAD TOTAL
Sin embargo, el concepto de calidad total es mucho más que lo anterior. Corresponde a una
estrategia corporativa que se transforma en una filosofía de hacer las cosas y su foco objetivo es la
satisfacción del cliente. Cabe señalar respecto a esto que un cliente puede ser interno o externo a
una organización.
Se define como cliente interno cuando el resultado de un trabajo desarrollado por un área
específica es el insumo que requiere otra área (cliente interno) para realizar sus actividades. Por
ejemplo, en una empresa de la industria bancaria, el área comercial es un cliente interno de las
áreas de apoyo, como es el área informática. ¿Por qué? Porque el área comercial requiere
información para preparar el lanzamiento de nuevos productos e identificar un nuevo mercado
objetivo, por nombrar algunos casos. Entonces, es el área informática la que provee esa
información (proveedor interno). Dicho lo anterior, se entiende que el cliente externo a una
organización es el que ya se conoce, y sobre el cual se hacen los mayores esfuerzos para satisfacer
sus requerimientos de productos o servicios.
Continuando con la idea de calidad total, se puede establecer que no se refiere solamente al
producto o servicio que desarrolla la organización, sino que más bien cubre todos los aspectos y
actividades organizacionales y es transversal a las jerarquías o jefaturas. Es decir, desde un gerente
hasta el empleado de menor rango están alineados y comprometidos con los objetivos de la
empresa, generando todos los procesos y herramientas para desarrollar un producto o servicio de
calidad para sus clientes, no solamente en lo que a software se refiere. Todos sus procesos
internos son gobernados a través de mecanismos de calidad donde la suma de todas las partes
asegura la producción de un producto o servicio de calidad.
9
ESTE DOCUMENTO CONTIENE LA SEMANA 1
2.1. MODELO DE CALIDAD DE MCCALL
El modelo de McCall describe la calidad como la integración de relaciones jerárquicas entre
factores, criterios y métricas
El modelo se organiza sobre la base de tres grandes conceptos, donde en cada uno de ellos se
definen factores de calidad (Piattini, García, García, Ignacio y Pino, 2012):
Eficiencia: de qué manera se desempeña en la plataforma de hardware que tengo.
2) Revisión del producto:
10
ESTE DOCUMENTO CONTIENE LA SEMANA 1
El concepto de calidad abarca, entonces, tres aspectos en un producto de software: (1) operación
del producto, (2) revisión del producto y (3) transición del producto. Y es a partir de estos
conceptos desde donde se definen las características claves que debe tener un producto de
software de calidad.
El factor de calidad se compone de una serie de atributos que se denominan criterios de calidad,
los cuales son medidos a través de métricas utilizadas para cuantificarlos. A continuación se
muestra un detalle de criterios en cada uno de los factores de calidad indicados.
11
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Figura 2: Criterios para la revisión del producto
Fuente: material elaborado para esta asignatura (J. Reyes, 2015)
Sobre la base de lo anterior, el modelo permite cuantificar la calidad del producto, haciendo lo
siguiente:
12
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Evaluación de 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
Además, sindicar los valores deseables para los criterios, donde es necesario emplear datos
históricos, el promedio en la industria, con los cuales se debe establecer los valores finales y otros
intermedios o predictivos en cada período de medición durante el desarrollo, así también, valores
mínimos aceptables.
Durante el desarrollo hay que establecer métricas, analizar sus resultados y sensibilizar los valores
registrados. Posteriormente, finalizado el proyecto, realizar una comparación de medidas
predictivas utilizadas y ver si se pueden tomar como indicadores de los valores finales.
El modelo de Boëhm se caracteriza por tener una estructura jerárquica y presentar los criterios de
calidad en tres grandes divisiones. El primero de ellos, también denominado de alto nivel, está en
función de los servicios que el sistema ofrece (portabilidad). La segunda división se enfoca en la
operación del producto (usabilidad) y, por último, la tercera división se enfoca a la mantenibilidad
del producto de software (Futrell, Shafer y Shafer, 2002).
Este modelo tiene por objeto la calidad del software, para que este:
13
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Es un modelo que enriquece al de McCall, pero es muy similar, ya que posee una jerarquía de
características y se basa en un amplio rango de características. Incorpora 19 criterios que incluyen
características de performance del hardware.
Características de
Portabilidad, fiabilidad, eficiencia,
Modelo de Boëhm nivel intermedio usabilidad, capacidad de prueba,
(factores de
comprensibilidad, flexibilidad
calidad)
Segundo nivel
14
ESTE DOCUMENTO CONTIENE LA SEMANA 1
o Ingeniería social: se refiere al entendimiento y aceptación del sistema por parte
del usuario solicitante de la solución.
o Pruebas: corresponde al conjunto de evaluaciones que se realiza sobre el
software, una vez desarrollado. El objetivo es validar que la funcionalidad
corresponda a lo especificado previamente.
o Facilidad de entendimiento: se refiere a la claridad con que fue escrito el código
fuente del software, es decir, la lógica asociada es fácil de entender.
o Entendibilidad: es la claridad de la lógica del código fuente de una pieza de
software.
o Modificabilidad: este atributo del software facilita la incorporación de
modificaciones durante la vida útil del producto. Asimismo, está directamente
relacionado con el atributo de entendibilidad, debido a que si el código es
entendible, podrá ser modificado sin que los cambios produzcan efectos
negativos.
Tercer nivel
El modelo tiene como finalidad verificar que el producto de software cumpla lo siguiente:
En la siguiente figura aparece una breve comparación entre los modelos de McCall y Boëhm.
15
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Figura 5: Comparación entre McCall y Boëhm
Fuente: material elaborado para esta asignatura (J. Reyes, 2015).
Los diagramas de flujo corresponden a un método gráfico para representar visualmente el flujo de
datos que existe en un sistema de software. De esta forma, muestran operaciones y las secuencias
que se requieren para solucionar un problema determinado.
Dada su naturaleza, facilitan la comunicación entre los profesionales que desarrollan el software y
aquellos que se especializan en el proceso de negocio. Idealmente se deben utilizar para
solucionar problemas complejos y extensos.
Para realizar una representación de un problema a través de un diagrama de flujo, será necesario
conocer la nomenclatura que define este método. Algunos de los símbolos utilizados son los
presentados en la siguiente tabla. Se sugiere investigar otros símbolos y su utilización.
Toma de decisión o
ramificación ante un
evento
Figura 6: Elementos gráficos de un diagrama de flujo.
Fuente: material elaborado para esta asignatura (J. Reyes, 2015).
16
ESTE DOCUMENTO CONTIENE LA SEMANA 1
1) Escribirse desde arriba y hacia abajo.
2) Los símbolos se unen con líneas, las cuales tienen una flecha indicando el sentido del flujo
(idealmente trazarlas en forma vertical u horizontal).
3) Evitar el cruce de líneas, para no “ensuciar el dibujo”.
4) No deben quedar líneas huérfanas. Esto es, líneas de flujo sin conectar.
5) Todo texto en los símbolos debe representar un verbo (asignar, contar, validar, calcular…).
6) Todo símbolo puede tener más de una línea de entrada, a excepción del símbolo final.
7) Solamente los símbolos de decisión pueden tener más de una línea de salida (usualmente
dos).
También conocido como diagrama de Ishikawa, porque fue creado por Kaoru Ishikawa, experto en
dirección de empresas e interesado en mejorar el control de calidad. Otros lo llaman diagrama
“espina de pescado” dada que su forma gráfica que se asemeja al esqueleto de un pez, o bien,
diagrama de causa y efecto.
17
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Este diagrama se usa para mostrar la relación entre distintos factores que pueden llegar a
determinar un evento determinado. Idealmente se sugiere su utilización para analizar y discutir
entre varios participantes una problemática determinada.
Por ejemplo, revise la siguiente situación, en que una empresa forestal analiza las principales
causas y efectos en su modelo productivo para poder mitigar los daños ambientales que se
desprenden de su funcionamiento y que, por cierto, provocan un problema legal según las normas
ambientales vigentes.
18
ESTE DOCUMENTO CONTIENE LA SEMANA 1
En el ejemplo anterior, las causas principales que se analizan corresponden a la maquinaria
utilizada, los procedimientos productivos que se utilizan, los controles internos vigentes y la
calidad de los materiales que se utilizan. También se podrían considerar causas secundarias, por
ejemplo, las siguientes:
Mantenimiento
Al analizar los aspectos asociados al uso de maquinaria, hay varios temas que considerar. Uno de
ellos sería revisar si la política actual para el mantenimiento es la adecuada según las normas
medioambientales vigentes.
De esta forma, si se revisaran cada una de ellas, se lograría establecer un mapa de causas y
efectos, los cuales podrían ser modificados (en este caso atendiendo las causas) para mejorar
aquello que es exigido por las leyes ambientales, evitando las demandas, multas y acciones que se
desprenden al no ser cumplidas.
El diagrama permite detectar los problemas que tienen mayor importancia mediante la aplicación
del principio de Vilfredo Pareto (1923), el cual define que, por lo general, el 80% de los resultados
totales se originan en el 20% de los elementos. Es una herramienta utilizada para priorizar los
problemas o las causas que los generan. Según este concepto, si se tiene un problema con muchas
causas, podemos decir que el 20% de ellas resuelven el 80% del problema y el 80% de las causas
solo resuelven el 20% del problema.
19
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Para aplicar este principio, se deben ejecutar las siguientes actividades:
Un ejemplo sencillo:
En una planta de producción industrial han ocurrido una serie de interrupciones, las cuales
obedecen a una serie de eventos no deseados. Luego de hacer un registro estadístico de estos, se
obtuvo la siguiente tabla de datos, los cuales se presentan en la Figura 10.
Las categorías de eventos se muestran en la columna pérdida. La frecuencia de cada uno de ellos
es presentada en la columna frecuencia. Asimismo, en la columna %Total, se muestra el
porcentaje asociado a cada evento, mientras que en la columna %Acumulado se suma cada uno de
los porcentajes indicados para cada evento.
20
ESTE DOCUMENTO CONTIENE LA SEMANA 1
Aplicación principio de Pareto
Si se considera como punto de quiebre un 80% del acumulado (ver el círculo rojo), se puede
establecer que la principal causa de las pérdidas en la producción es el fallo de UPS, microcortes y
caída de sistemas, que es donde se debiera invertir el esfuerzo para mejorar el proceso
productivo.
El proceso se encuentra bajo control estadístico cuando se producen variaciones por motivos
aleatorios. Mientras que el proceso se encuentra fuera del proceso estadístico cuando las
variaciones son producto de motivos no aleatorios.
De cada proceso que se requiere medir es necesario registrar muestras periódicas de una o más
variables de análisis. De estas últimas, se registra un porcentaje de las “piezas con fallas” en el
intervalo de tiempo definido. Por ejemplo, mediciones cada 6 horas registran 3 piezas con fallas
21
ESTE DOCUMENTO CONTIENE LA SEMANA 1
usualmente. En este caso se debe considerar el lapso de tiempo y la cantidad total de piezas
monitoreadas en ese período.
Ajustando estas definiciones a la producción de software, las “piezas con fallas” corresponderían,
por ejemplo, a las piezas de software que registran errores en su etapa de desarrollo, antes de
pasarlas a la etapa de pruebas o testing. Asimismo, una vez puestas en la etapa de pruebas, se
puede precisar otro tipo de mediciones.
Al igual que las anteriores herramientas, el gráfico estadístico permite identificar una tendencia y
sobre esa base ajustar para mejorar los procesos. Por ejemplo, si en la etapa de desarrollo se
considera aceptable diez errores de programación por programa, si se quisiera mejorar aun más,
se podría establecer que el máximo número de errores fuera cinco, y medirlos posteriormente,
habiendo atendido también las causas que los generaban.
22
ESTE DOCUMENTO CONTIENE LA SEMANA 1
COMENTARIO FINAL
La calidad en la producción de software es de vital importancia, dado que ayuda a las empresas a
cumplir con fluidez sus objetivos estratégicos, maximizar el costo de sus inversiones en la
implantación de nuevos sistemas, mejorar el apoyo a las áreas en el desempeño de sus funciones,
brindar mejor atención a sus clientes finales y disponer en forma oportuna de la información
necesaria para la mejor gestión y planificación de los recursos.
El contenido de esta semana entrega una visión del concepto de calidad del software que se debe
aplicar en las organizaciones que lo utilizan para mejorar la productividad en sus procesos de
negocio específicos.
23
ESTE DOCUMENTO CONTIENE LA SEMANA 1
REFERENCIAS
Piattini, M.; García F.; García, I. y Pino, F. (2012). Calidad de sistemas de información. México:
International Organization for Standardization. (2001). ISO 9126 Software engineering. Ginebra,
Suiza: ISO.
a
Pressman, R. (2010). Ingeniería de software, un enfoque práctico. 7. ed. España: McGraw Hill
Interamericana S. A.
Futrell, R.; Shafer, D. y Shafer, L. (2002). Quality Software Project Management. EE.UU.: Prentice
Hall.
IACC (2015). Conceptos y herramientas básicas de calidad. Modelos y Control de Calidad. Semana
1.
24
ESTE DOCUMENTO CONTIENE LA SEMANA 1
25
ESTE DOCUMENTO CONTIENE LA SEMANA 1