¿Qué es la calidad de software?
Introducción:
En un mundo
globalizado en donde las organizaciones se ven enfrentadas a competencia de
nivel mundial, la calidad se convierte en un importante punto diferenciador,
además de aumentar la satisfacción general del cliente, disminuir costos y
optimizar los recursos, los productos o servicios que ostentan certificados de calidad
son preferidos por los compradores porque trasmiten seguridad y confianza. Esto
también constituye un atributo de valor para las estrategias de comercialización
en el exterior. Si bien la industria del software es nueva, ha tenido que
madurar rápidamente, tal como lo exigen los avances tecnológicos y su alta participación
al interior de las empresas. Esta industria comparte con las demás industrias
el interés por la calidad y la competitividad.
Desarrollo:
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.
Los requisitos
del software son la base de las medidas de calidad. La falta de concordancia
con los requisitos es una falta de calidad. Los estándares o metodologías
definen un conjunto de criterios de desarrollo que guían la forma en que se
aplica la ingeniería del software. Si no se sigue ninguna metodología siempre
habrá falta de calidad.
Existen algunos
requisitos implícitos o expectativas que a menudo no se mencionan, o se
mencionan de forma incompleta (por ejemplo el deseo de un buen mantenimiento)
que también pueden implicar una falta de calidad.
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.
A partir del
siguiente gráfico se observa la interrelación existente entre la Gestión de la
Calidad, el Aseguramiento de la Calidad y el Control de la Calidad.
Medición del software
En el software lo que se mide son
atributos propios del mismo, se descompone un atributo general en otros más
simples de medir, a veces se mide bien o mal ya que la descomposición del
atributo genérico de calidad en otros sub-atributos se torna irreal, se mide
con datos estadísticos no avalados, es imposible decir que la medición se hace
en forma correcta.
El concepto de medida va de más a
menos, va de lo general a lo concreto y lo concreto es asociado a la métrica,
cuya combinación te daría el nivel de calidad o seguridad de tu producto. Las
ciencias bien estructuradas se basan en medidas bien hechas, se basan en la
matemática.
Tipos de medidas
- Número de errores durante un periodo determinado.
- Fallo en la codificación o diseño de un sistema que causa que el programa no funcione correctamente o falle.
- Tamaño de un producto informático (líneas de código)
- Métrica de punto función (IBM): relaciona funcionalidades que ofrecía.
- Estimación de costes y esfuerzos.
- COCOMO
Conclusiones:
No se puede
medir la calidad del software de forma correcta debido a su naturaleza, la
certificación se da a los procesos, la correcta consecución de los mismos
garantizaría un buen software. No se puede medir al software como tal, sino los
atributos que la conforman, tales métodos de medida deben ser exactos. El
usuario final mide la calidad del software según lo que tenga o no, es en ese
sentido que la calidad del software depende de quien la juzgue. El hecho de que
una empresa tenga certificación en calidad de software no garantiza que su
software sea de calidad.
De igual manera
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.
Definiciones:
Exactitud.
En ingeniería, ciencia, industria y estadística, se denomina exactitud a la capacidad de un instrumento de acercarse al valor de la magnitud real. La exactitud es diferente de la precisión.
Robustez.
La robustez puede referirse a características físicas o simbólicas. Una construcción que se mantiene en pie desde hace varios siglos demuestra su robustez por haber resistido el paso del tiempo. Esto puede ser posible por la calidad de los materiales y la capacidad de los constructores. En cambio, si una construcción comienza a tener fallas estructurales a los cinco años de su nacimiento, nadie podría destacar su robustez, ya que se trata de una edificación endeble y frágil.
Extensibilidad.
La extensibilidad, es una característica exclusiva que diferencia el medio hipertextual del medio impreso. Si en el medio impreso también podemos establecer diferentes niveles de profundización y jerarquización vertical (de arriba abajo), sólo el hipertexto permite una gradualidad horizontal. Esto es, la extensibilidad es la cualidad que permite a un hipertexto ir de lo secuencial a lo reticular, de la línea a la red con ramificaciones no jerárquicas ni lineales, sino asociativas y multilineales. Esta cualidad se aplica tanto a una red hipertextual cerrada como a su salida a la World Wide Web. El texto se va ampliando y extendiendo a medida que optemos por seguir un enlace sea éste interno o externo al propio hiperdocumento. Y así, podemos hablar de extensibilidad interna y extensibilidad externa. La extensibilidad, está pues muy relacionada con otras 3 características del hipertexto: conectividad, gradualidad y apertura. En la Web, las posibilidades de extensión del hipertexto son casi infinitas.
Reutilizacion.
Reutilizar consiste en darle de nuevo utilidad a los objetos, con el mismo fin o con otros. Ello va en función del objeto a reutilizar, pero también en función de la imaginación y creatividad de quien lo use.
Compatibilidad.
La compatibilidad es la condición que hace que un programa y un sistema, arquitectura o aplicación logren comprenderse correctamente tanto directamente o indirectamente (mediante un algoritmo). A este algoritmo que hace que un programa logre ser comprendido por un sistema, arquitectura o aplicación se lo denomina emulador por el hecho de que es un intérprete entre el programa y el sistema, arquitectura o aplicación.
Eficiencia.
Se puede definir la eficiencia como la relación entre los recursos utilizados en un proyecto y los logros conseguidos con el mismo. Se entiende que la eficiencia se da cuando se utilizan menos recursos para lograr un mismo objetivo. O al contrario, cuando se logran más objetivos con los mismos o menos recursos.
Portabilidad.
Se define como la característica que posee un software para ejecutarse en diferentes plataformas, el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra (ver la nota, a continuación de este párrafo). A mayor portabilidad menor es la dependencia del software con respecto a la plataforma.
Visibilidad.
La visibilidad es la cualidad perceptible, que permite ver objetos a una determinada distancia. A menor visibilidad peor se verán objetos a la lejanía, mientras que a mayor visibilidad se verán mejor objetos lejanos.
Funcionalidad.
Conjunto de características que hacen que algo sea práctico y utilitario.
Puntualidad.
Puntualidad es una actitud humana considerada en muchas sociedades como la virtud de coordinarse cronológicamente para cumplir una tarea requerida o satisfacer una obligación antes o en un plazo anteriormente comprometido o hecho a otra persona.
Referencias:

No hay comentarios.:
Publicar un comentario