Está en la página 1de 17

MODELOS Y CONTROL DE CALIDAD

SEMANA 8

Calidad enfocada en el
desarrollo de software

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
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 8
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 8
ÍNDICE
CALIDAD ENFOCADA EN EL DESARROLLO DE SOFTWARE................................................................... 5
OBJETIVOS ESPECÍFICOS ........................................................................................................................... 5
INTRODUCCIÓN ...................................................................................................................................... 5
1. NORMAS DE LA FAMILIA ISO 9000...................................................................................................... 6
1.1. OBJETIVOS ................................................................................................................................. 7
1.2. ALCANCE.................................................................................................................................... 8
1.3. IMPORTANCIA ............................................................................................................................ 8
2. NORMA ISO/IEC 25010..................................................................................................................... 9
2.1. MODELO Y CARACTERÍSTICAS DE CALIDAD DEL PRODUCTO DE SOFTWARE .......................................... 9
2.1.1. FUNCIONALIDAD....................................................................................................................... 10
2.1.2. EFICIENCIA................................................................................................................................ 10
2.1.3. COMPATIBILIDAD ...................................................................................................................... 11
2.1.4. USABILIDAD.............................................................................................................................. 11
2.1.5. FIABILIDAD ............................................................................................................................... 12
2.1.6. SEGURIDAD .............................................................................................................................. 13
2.1.7. MANTENIBILIDAD...................................................................................................................... 13
2.1.8. PORTABILIDAD.......................................................................................................................... 14
COMENTARIO FINAL .............................................................................................................................. 15
REFERENCIAS........................................................................................................................................ 16

3
ESTE DOCUMENTO CONTIENE LA SEMANA 8
ÍNDICE DE FIGURAS
Figura 1: Modelo de calidad del producto de software - ISO/IEC 25010............................................. 9

ÍNDICE DE TABLAS
Tabla 1: Familia de normativas ISO 9000 ............................................................................................ 7

4
ESTE DOCUMENTO CONTIENE LA SEMANA 8
CALIDAD ENFOCADA EN EL DESARROLLO DE SOFTWARE

OBJETIVOS ESPECÍFICOS
 Comprender la estructura de las normas de la familia ISO 9000 y su importancia en la
calidad de desarrollo de software.
 Conocer y aplicar el modelo de calidad del producto de software de la ISO 25010.

INTRODUCCIÓN
La Organización Internacional de Normalización - ISO (International Organization for
Standarization) es una organización internacional independiente, que consolida el conocimiento
experto de diversas temáticas con el propósito de establecer criterios comunes para el desarrollo
e investigación. Favorece así el desarrollo de soluciones globales, las cuales son aplicadas en
distintos sectores de la industria.

El desarrollo de estándares busca establecer que las cosas funcionen bien, incorporando calidad,
seguridad y eficiencia. Asimismo, las organizaciones pueden adherir a estos estándares bajo la
lógica de establecer mecanismos que guíen sus procesos para hacerlos más productivos y asegurar
los beneficios que otorgan los estándares.

En este contexto, existen normas de calidad que se aplican al desarrollo de productos de software,
como es el caso de las normas ISO 9000 e ISO 25000. El contenido que se presenta a continuación
describe estas normas en cuanto a su definición y uso.

5
ESTE DOCUMENTO CONTIENE LA SEMANA 8
1. NORMAS DE LA FAMILIA ISO 9000
La Organización Internacional de Normalización1 es una federación internacional de organizamos
que desarrollan el concepto de normalización o estandarización, en distintos ámbitos del
quehacer. De esta forma, se van creando definiciones por todos conocidas y se aplican bajo un
modelo que establece una serie de mecanismos validados y aceptados por quienes participan o
adhieren a la ISO.

En el caso de las normas ISO 9000, corresponden a un conjunto de normativas enfocadas a


desarrollar el concepto de calidad y su administración en forma continua, aplicada en las
organizaciones que producen bienes y servicios, independiente de la naturaleza o industria en la
que concentren sus actividades. Las normas describen en forma detallada la forma como una
organización debe adherir a los estándares con el objeto de obtener calidad en sus productos o
servicios a los cuales se dedica la actividad productiva. En esta línea, además, se indican plazos y
niveles que se requiere aplicar.

Si lo pudiéramos definir con hechos concretos, el aporte en la aplicación de estas normas guía a las
organizaciones en documentar sus actividades, medir y afinar la ejecución de las actividades
involucradas en el proceso productivo, asegurar la calidad de cara al cliente final, mantener el
concepto de mejora continua, postular en forma progresiva a la eficiencia en la realización de las
actividades y apalancar la estrategia de la organización con el logro de objetivos.

Este conjunto de normas data de 1987. Posteriormente, a través de los años, la economía ha ido
abarcando nuevos productos y servicios, lo cual ha gatillado revisiones en el conjunto de normas,
con el objeto de adecuarse a las nuevas necesidades. Si por ejemplo a mediados de los ochenta la
incorporación de las soluciones de software emergía en muchos sectores de la economía,
actualmente es un escenario mucho más desarrollado y, por tanto, requiere que los modelos de
calidad incorporen este elemento en su familia de normativas.

1
http://www.iso.org/iso/home.html

6
ESTE DOCUMENTO CONTIENE LA SEMANA 8
Dentro de la familia de normas ISO 9000 se encuentran las siguientes (ISO, s. f.):

Norma Nombre Ámbito

ISO 9000:2015 Sistemas de gestión de calidad. Fundamentos y Sistemas de gestión de


vocabulario. calidad.

ISO 9001:2015 Sistemas de gestión de calidad. Requisitos. Se centra en la eficacia de un


sistema de gestión de calidad,
en el desarrollo y mejor
cumplimiento de los requisitos
del cliente.

ISO 9004:2015 Sistemas de gestión de calidad. Requisitos. Mejora continua del


Directrices para la mejora del desempeño. desempeño, eficiencia y
eficacia de la organización.

ISO 19011:2011 Directrices para la auditoría de sistemas de Define directrices básicas para
gestión de la calidad la realización de auditorías en
ISO 9011.

Tabla 1: Familia de normativas ISO 9000

1.1. OBJETIVOS
La familia de normas ISO 9000 tiene como objetivos abarcar y satisfacer lo siguiente:

a. Las organizaciones que buscan ventajas por medio de la implementación de un


sistema de gestión de la calidad.
b. Las organizaciones que buscan la confianza de sus proveedores en que sus requisitos
para los productos serán satisfechos.
c. Los usuarios de los productos.
d. Aquellos interesados en el entendimiento mutuo de la terminología utilizada en la
gestión de la calidad (por ejemplo: proveedores, clientes, entes reguladores).
e. Todos aquellos que, perteneciendo o no a la organización, evalúan o auditan el
sistema de gestión de la calidad para determinar su conformidad con los requisitos de
la Norma ISO 9001 (por ejemplo: auditores, entes reguladores, organismos de
certificación/registro).
f. Todos aquellos que, perteneciendo o no a la organización, asesoran o dan formación
sobre el sistema de gestión de la calidad adecuado con dicha organización.
g. Quienes desarrollan normas relacionadas.

7
ESTE DOCUMENTO CONTIENE LA SEMANA 8
1.2. ALCANCE
El alcance de la familia de normas ISO 9000 es el siguiente:

a. Aprovechar mejor los recursos.


b. Incremento en la oferta y calidad de productos.
c. Cambios organizacionales y orientados a los procesos.
d. Mejora en el desempeño.

1.3. IMPORTANCIA
¿Por qué la importancia de asimilar esta norma y aplicarla en las organizaciones? La
motivación de innovación en todo orden de actividad puede estar guida por varios factores.
Las empresas que prestan algún servicio o desarrollan un producto en un determinado
mercado deben competir con otras en función de brindar al cliente una mejor opción que su
competencia. Un elemento diferenciador es la certificación en la norma ISO 9000, porque al
hacerlo demuestran interés en brindar un producto o servicio de calidad.

De acuerdo a lo anterior, en la norma ISO 9000 se pueden identificar ocho principios de


gestión de la calidad, los cuales al ser aplicados en las organizaciones conllevan a una mejora
sustancial en el desempeño.
a. Enfoque al cliente: las organizaciones dependen de sus clientes y por lo tanto deberían
comprender las necesidades actuales y futuras de los clientes, satisfacer los requisitos
de los clientes y esforzarse en exceder las expectativas de los clientes.
b. Liderazgo: los líderes establecen la unidad de propósito y la orientación de la
organización. Ellos deberían crear y mantener un ambiente interno, en el cual el
personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la
organización.
c. Participación del personal: el personal, a todos los niveles, es la esencia de una
organización, y su total compromiso posibilita que sus habilidades sean usadas para el
beneficio de la organización.
d. Enfoque basado en procesos: un resultado deseado se alcanza más eficientemente
cuando las actividades y los recursos relacionados se gestionan como un proceso.
e. Enfoque de sistema para la gestión: identificar, entender y gestionar los procesos
interrelacionados como un sistema contribuye a la eficacia y eficiencia de una
organización en el logro de sus objetivos.
f. Mejora continua: la mejora continua del desempeño global de la organización debería
ser un objetivo permanente de esta.
g. Enfoque basado en hechos para la toma de decisiones: las decisiones eficaces se basan
en el análisis de los datos y la información.

8
ESTE DOCUMENTO CONTIENE LA SEMANA 8
h. Relaciones mutuamente beneficiosas con el proveedor: una organización y sus
proveedores son interdependientes, y una relación mutuamente beneficiosa aumenta
la capacidad de ambos para crear valor.

Estos ocho principios de gestión de la calidad constituyen la base de las normas de los
sistemas de gestión de la calidad de la familia de normas ISO 9000 (ISO, 2012-2015).

2. NORMA ISO/IEC 25010


Como se ha señalado en los temas vistos anteriormente en este curso, la calidad del producto de
software se basa en la calidad del proceso de desarrollo y, también, en las características
específicas del producto que se desarrolla. Esta última condición es abordada ampliamente por la
norma ISO/IEC 25010, la cual corresponde a un modelo de calidad del producto de software que
sucede a su antecesora, la norma ISO 9126. La norma ISO/IEC 25010 establece tres vistas a través
de las cuales se mide la calidad del software. Esto es, calidad interna (código), calidad externa
(ejecución) y calidad de uso.

2.1. MODELO Y CARACTERÍSTICAS DE CALIDAD DEL PRODUCTO DE


SOFTWARE
Como se muestra en la figura 1, el modelo de calidad del producto de software está compuesto
por ocho características, las cuales a su vez agrupan subcaracterísticas específicas.

Figura 1: Modelo de calidad del producto de software - ISO/IEC 25010

Fuente: http://iso25000.com/index.php/normas-iso-25000/iso-25010

A continuación se describe cada una de ellas:

9
ESTE DOCUMENTO CONTIENE LA SEMANA 8
2.1.1. FUNCIONALIDAD

Corresponde a la capacidad del producto de software de entregar una buena solución, en relación
a las especificaciones funcionales generadas a partir de los requerimientos del usuario.

a) Completitud funcional

Es el grado en que la funcionalidad desarrollada en el producto de software abarca todos los


requerimientos funcionales definidos por el usuario. Es decir, lo que el usuario busca solucionar a
través de una funcionalidad determinada se encuentra desarrollado en el producto.

b) Corrección funcional

Esta característica se refiere a que la solución de software ofrece resultados correctos y con el
margen de error definido por el usuario. Por ejemplo, si nos referimos a un sistema que procesa
cuentas por pagar, el porcentaje de error debiera ser igual a cero para que las cuentas sean
pagadas en forma íntegra, dentro de los plazos, o bien, con los ajustes o recargos que corresponda
de acuerdo a los intereses devengados.

c) Pertinencia funcional

Se establece que la solución funcional es coherente con las necesidades requeridas. Por ejemplo,
el procesamiento de datos requiere entradas conocidas y dentro de un rango correcto. Asimismo,
las salidas de estos procesos son coherentes y dentro de lo esperado.

2.1.2. EFICIENCIA

Se refiere al desempeño del producto de software, respecto a los recursos que utiliza bajo
condiciones definidas en las especificaciones funcionales y técnicas.

a) Comportamiento temporal

Corresponde a los tiempos de respuesta que se registran en el uso de la funcionalidad, dado un


marco determinado de datos y las condiciones de uso. Por ejemplo, para un set de datos de
prueba, donde además se puede comparar con otro set de datos para el mismo sistema, o bien,
otro producto que realiza la misma operación.

b) Utilización de recursos

Corresponde a la cantidad y tipos de recursos que utiliza la funcionalidad para operar bajo
condiciones establecidas. Por ejemplo, la cantidad de CPU utilizada en el procesamiento de una
orden de compra que se registra en el sistema. ¿Es lo mismo cuando corresponde a una
transacción de muchos productos?

10
ESTE DOCUMENTO CONTIENE LA SEMANA 8
c) Capacidad

Es el grado con que el producto de software cumple con los requerimientos funcionales y no
funcionales que debe cumplir de acuerdo a las definiciones que promovieron su desarrollo.

2.1.3. COMPATIBILIDAD

Corresponde a la capacidad de un sistema de software o componentes de este para intercambiar


información o procesar funciones en una misma plataforma de software (sistema operativo) o de
hardware (arquitecturas de los servidores).

a) Coexistencia

Es la capacidad de un producto o sistema de software de compartir recursos en un ambiente o


infraestructura (software y hardware), con otros sistemas. Usualmente, los sistemas de software
se ejecutan sobre entornos donde también se ejecutan otras aplicaciones: un sistema operativo,
un sistema de bases de datos, o bien, cualquier otra aplicación.

b) Interoperabilidad

Es la capacidad de los sistemas de software para intercambiar información y procesarla en sus


respectivos ambientes. Por ejemplo, en un sistema de información hospitalaria (HIS) existen
integraciones con sistemas de apoyo al diagnóstico como son los sistemas de radiología (RIS) o
laboratorio (LIS). En este caso, el HIS tiene pacientes y sus datos van al RIS o LIS, según los
exámenes que pueda ordenar un médico. Por tanto, a través de las integraciones, las aplicaciones
establecen interoperabilidad en su utilización e intercambian datos pertinentes de cada sistema
para operar y tener una información integral del paciente.

2.1.4. USABILIDAD

Es una característica esencial para toda solución de software donde exista la instancia de
interacción con un usuario. Lo que se busca es que la solución sea fácil de entender, enseñar y
usar para el usuario bajo las condiciones que se hayan establecido para su operación.

a) Capacidad para reconocer su adecuación

Bajo la mirada del usuario, es sencillo entender si le es útil para satisfacer sus necesidades
funcionales. Piense en una aplicación que le puedan ofrecer para administrar su negocio de venta
de repuestos para automóviles. Si al presentarle la solución identifica fácilmente todo lo que
necesita, el producto bajo esas condiciones cumple con esta característica.

b) Capacidad de aprendizaje

Es la propiedad que presenta un sistema de cara al usuario final, para que este pueda aprender a
utilizarlo.

11
ESTE DOCUMENTO CONTIENE LA SEMANA 8
c) Capacidad de ser usado

Es la propiedad que presenta un sistema de cara al usuario final, para que este pueda utilizarlo en
forma simple.

d) Protección contra errores de usuario

Son características de un sistema que ayudan al usuario a no cometer errores en el uso. Por
ejemplo, buenas validaciones, advertencias y obligatoriedad de cierta información al momento de
consultar, modificar o hacer registros. Asimismo, resguardo de acceso a las funcionalidades de
acuerdo a las definiciones de roles que se realicen.

e) Estética de la interfaz de usuario

Es lo que se denomina look and feel. Corresponde a un aspecto estético que ayuda al usuario a
acceder a las funcionalidades sin ambigüedades y en forma limpia. Es decir, para el usuario el
diseño gráfico de la solución hace fácil el uso de la funcionalidad.

f) Accesibilidad

Esta propiedad aporta alternativas de acceso para usuarios con capacidades diferentes. Permite
resaltar títulos, juegos de teclas asociados a la funcionalidad, tamaño de las letras y otras.

2.1.5. FIABILIDAD

Es la capacidad de los sistemas de software para operar de acuerdo a lo esperado en condiciones


establecidas, entregando resultados correctos en el tiempo esperado.

a) Madurez

Corresponde a la certeza que entrega un sistema para operar de acuerdo a lo esperado bajo
condiciones conocidas.

b) Disponibilidad

Esta propiedad establece la capacidad del sistema para estar disponible en todo momento que se
requiera utilizarlo desde el inicio de su operación.

c) Tolerancia a fallas

Es la capacidad que tiene el sistema de software para responder en forma adecuada y correcta
ante la ocurrencia de fallos. Por ejemplo, levantar mensajería al usuario ante la caída de una
conexión al servidor de bases de datos.

12
ESTE DOCUMENTO CONTIENE LA SEMANA 8
d) Capacidad de recuperación

Es la capacidad que tiene el sistema de software para recuperarse en forma posterior a la


ocurrencia de fallos. Por ejemplo, al interrumpir el procesamiento de información ante una falla
en el sistema operativo, el sistema es capaz de reprocesar los registros faltantes al momento de
reiniciarse luego de una caída.

2.1.6. SEGURIDAD

Esta capacidad opera sobre la información que es administrada por el sistema de software.
Evitando que a través de accesos no autorizados se logre obtener información que es almacenada
por el sistema.

a) Confidencialidad

Establece que el acceso a la información está controlado y para realizarlo el usuario debe cumplir
requisitos de autorización (roles y privilegios en el sistema).

b) Integridad

Es la capacidad de un sistema de software para evitar el acceso no autorizado a datos o programas


que conlleven la alteración de las funciones de acuerdo a como están definidas. No existen
vulnerabilidades que permitan accesos no deseados al sistema (datos, programas, componentes).

c) No repudio

Esta capacidad permite registrar internamente en el sistema acciones que posteriormente, en el


caso que se requiera revisar, no pueden ser “negadas”. Se refiere específicamente a registros de
auditoría, para realizar seguimiento de las acciones realizadas en el ámbito del sistema.

d) Responsabilidad

Corresponde a la capacidad que presenta el sistema para realizar trazas y seguimiento de las
acciones realizadas en una entidad determinada. Por ejemplo, un componente de software realiza
acciones en el sistema, y estas pueden ser seguidas dado que el sistema va dejando registro de
cada acción que realiza.

e) Autenticidad

Capacidad de mantener el registro (identidad) de un determinado recurso en el sistema.

2.1.7. MANTENIBILIDAD

Sin duda es una de las características más importantes en la calidad del software. Está asociada al
proceso de mantenimiento, donde usualmente se concentra la mayor cantidad de costos por
concepto de ciclo de vida del producto de software. Esta característica permite evaluar el esfuerzo

13
ESTE DOCUMENTO CONTIENE LA SEMANA 8
necesario para realizar modificaciones al producto de software, debido a la corrección de errores,
o bien por el incremento o mejoramiento de la funcionalidad.

a) Modularidad

Capacidad que posee un sistema, el cual establece una relación de bajo acoplamiento entre sus
componentes, los cuales al ser modificados no generan impactos sobre los demás. Este tipo de
soluciones se denominan autocontenidas, dado su diseño, el cual se relaciona a través de sus
funciones, entradas y salidas con los demás componentes del sistema.

b) Reusabilidad

Capacidad de un sistema de software, el cual debido a su diseño y arquitectura en su


implementación permite reutilizar componentes en otras soluciones de software.

c) Analizabilidad

Capacidad de un sistema de software de ser analizado en forma detallada para encontrar errores.
Asimismo, para realizar un análisis de impacto, el sistema ofrece las facilidades que permiten
establecer el alcance de lo que se requiere realizar y las consideraciones que se deben tener para
no afectar otros componentes del mismo sistema.

d) Capacidad para ser modificado

Es una propiedad de los sistemas de software, tal que al ser modificados no degradan su
funcionamiento o desempeño.

e) Capacidad para ser probado

Es la capacidad que presentan los sistemas de software para ser probados en distintos escenarios,
utilizando técnicas de prueba conocidas y sin restricciones de ambiente o datos.

2.1.8. PORTABILIDAD

Es la capacidad que presenta un sistema de software para ser transferido a una nueva plataforma
de software, hardware u otro, en forma efectiva y sin ver alteradas sus características técnicas y
funcionales.

a) Adaptabilidad

Es la propiedad del sistema de software que le permite ser adaptado en otros ambientes donde
cambian las características técnicas, funcionales, o bien ambas, respecto al ambiente donde se
ejecutaba originalmente. Por ejemplo, ocurre que producto de mejoras o upgrades de sistemas
operativos es necesario migrar las aplicaciones a nuevos ambientes. Estos cambios de ambiente
no debieran tener impacto en el funcionamiento habitual o esperado del sistema. En el caso
contrario, se entenderá que el sistema no es adaptable a este tipo de cambios.

14
ESTE DOCUMENTO CONTIENE LA SEMANA 8
b) Capacidad para ser instalado

Esta propiedad es simple y se refiere a la capacidad del sistema de poder ser instalado, o bien
desinstalado en un ambiente determinado. En este caso, el proceso de instalación no debiera
tener variaciones complejas de un ambiente a otro.

c) Capacidad de ser reemplazado

En general cualquier producto de software puede ser reemplazado. El punto a considerar es


cuánto cuesta hacerlo. Por ejemplo, si la aplicación guarda la información en un formato que no es
estándar, habrá un esfuerzo a considerar al momento de cambiar el producto.

COMENTARIO FINAL
Vistos los contenidos de esta semana, se puede señalar que un sistema de gestión de calidad en
una organización facilita el desarrollo del concepto de calidad y la administración que esta debe
tener durante el proceso de desarrollo de un producto de software. Algunas de las normas ISO,
como las indicadas en el material de esta semana, orientan a las organizaciones en el uso de
métodos y prácticas, como también en la identificación de las características de calidad propias del
producto.

Cada organización, al adoptar estos estándares, debe adecuar las definiciones de sus procesos
según defina la norma, especialmente cuando el objetivo es una certificación que le otorgará una
ventaja en el mercado. También, de acuerdo a las necesidades y propósito de su negocio, se
establece el alcance de la misma.

Los proyectos que involucran el desarrollo o la implantación de un sistema de software abarcan


muchas actividades en su ciclo de vida e instancias de verificación. En este sentido, las normas ISO
estudiadas esta semana orientan a desarrollarlas en forma eficiente y asegurando que el producto
final sea un producto de calidad.

15
ESTE DOCUMENTO CONTIENE LA SEMANA 8
REFERENCIAS
International Organization for Standarization (ISO) (s. f.). Quality management. Recuperado de:

http://goo.gl/YeYJb.

International Organization for Standarization (ISO) (2012-2015). Quality management principles.

Recuperado de: http://goo.gl/Q25YZ

Pantaleo, G. (2011). Calidad en el desarrollo de software. México: Alfaomega Grupo Editor.

Zahran, S. (1998). Software Process Improvement: Practical Guidelines for Business Success.

Gran Bretaña: Addison-Wesley.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2016). Calidad enfocada en el desarrollo de software. Modelos y Control de calidad.


Semana 8.

16
ESTE DOCUMENTO CONTIENE LA SEMANA 8
17
ESTE DOCUMENTO CONTIENE LA SEMANA 8

También podría gustarte