¿QUE ES LA CALIDAD DEL SOFTWARE?
La calidad del software es el conjunto de cualidades que
lo caracterizan y que determinan su utilidad y existencia. La calidad es
sinónimo de eficiencia, flexibilidad, corrección, confiabilidad,
mantenibilidad, portabilidad, usabilidad, seguridad e integridad.
La calidad del software es medible y varía de un sistema
a otro o de un programa a otro. Un software elaborado para el control de naves
espaciales debe ser confiable al nivel de "cero fallas"; un software
hecho para ejecutarse una sola vez no requiere el mismo nivel de calidad;
mientras que un producto de software para ser explotado durante un largo
período (10 años o más), necesita ser confiable, mantenible y flexible para
disminuir los costos de mantenimiento y perfeccionamiento durante el tiempo de explotación.
La calidad del software puede medirse después de
elaborado el producto. Pero esto puede resultar muy costoso si se detectan
problemas deriva dos de imperfecciones en el diseño, por lo que es
imprescindible tener en cuenta tanto la obtención de la calidad como su control
durante todas las etapas del ciclo de vida del software.
¿COMO OBTENER UN SOFTWARE DE CALIDAD?
La obtención de un software con calidad implica la
utilización de metodologías o procedimientos estándares para el análisis,
diseño, programación y prueba del software que permitan uniformar la filosofía
de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y
facilidad de prueba, a la vez que eleven la productividad, tanto para la labor
de desarrollo como para el control de la calidad del software.
La política establecida debe estar sustentada sobre tres
principios básicos: tecnológico, administrativo y ergonómico.
El principio tecnológico define las técnicas a utilizar
en el proceso de desarrollo del software.
El principio administrativo contempla las funciones de
planificación y control del desarrollo del software, así como la organización
del ambiente o centro de ingeniería de software.
El principio ergonómico define la interfaz entre el
usuario y el ambiente automatizado.
La adopción de una buena política contribuye en gran
medida a lograr la calidad del software, pero no la asegura. Para el
aseguramiento de la calidad es necesario su control o evaluación.
¿COMO CONTROLAR LA CALIDAD DEL SOFTWARE?
Para controlar la calidad del software es necesario, ante
todo, definir los parámetros, indicadores o criterios de medición, ya que, como
bien plantea Tom De Marco, "usted no puede controlar lo que no se puede
medir".
Las cualidades para medir la calidad del software son
definidas por innumerables autores, los cuales las denominan y agrupan de
formas diferentes. Por ejemplo, John Wiley define métricas de calidad y
criterios, donde cada métrica se obtiene a partir de combinaciones de los
diferentes criterios. La Metodología para la evaluación de la calidad de los
medios de programas de la CIC, de Rusia, define indicadores de calidad
estructurados en cuatro niveles jerárquicos: factor, criterio, métrica,
elemento de evaluación, donde cada nivel inferior contiene los indicadores que
conforman el nivel precedente. Otros autores identifican la calidad con el
nivel de complejidad del software y definen dos categorías de métricas: de
complejidad de programa o código, y de complejidad de sistema o estructura.
Todos los autores coinciden en que el software posee
determinados índices medibles que son las bases para la calidad, el control y
el perfeccionamiento de la productividad.
Una vez seleccionados los índices de calidad, se debe
establecer el proceso de control, que requiere los siguientes pasos:
Definir el software que va a ser controlado:
clasificación por tipo, esfera de aplicación, complejidad, etc., de acuerdo con
los estándares establecidos para el desarrollo del software.
Seleccionar una medida que pueda ser aplicada al objeto
de control. Para cada clase de software es necesario definir los indicadores y
sus magnitudes.
Crear o determinar los métodos de valoración de los
indicadores: métodos manuales como cuestionarios o encuestas estándares para la
medición de criterios periciales y herramientas automatizadas para medir los
criterios de cálculo.
Definir las regulaciones organizativas para realizar el
control: quiénes participan en el control de la calidad, cuándo se realiza, qué
documentos deben ser revisados y elaborados, etc.
A partir del análisis de todo lo anterior, nuestro Centro
se encuentra enfrascado en un proyecto para el Aseguramiento de la Calidad del
Software (ACS), válido para cualquier entidad que se dedique a la
investigación, producción y comercialización del software, el cual incluye la
elaboración de un Sistema de Indicadores de la Calidad del Software, la
confección de una Metodología para el Aseguramiento de la Calidad del Software
y el desarrollo de herramientas manuales y automatizadas de apoyo para la
aplicación de las técnicas y procedimientos del ACS, de forma tal que se
conforme un Sistema de Aseguramiento de la Calidad del Software.
CONCLUSIONES
Lograr el éxito en la producción de software es hacerlo
con calidad y demostrar su buena calidad. Esto sólo es posible con la
implantación de un Sistema para el Aseguramiento de la Calidad del Software
directamente relacionado con la política establecida para su elaboración y que
esté en correspondencia con la definición internacional ISO de calidad, amplia
mente aceptada, y por los estándares del grupo ISO 9000.