domingo, 12 de abril de 2015

¿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íacienciaindustria 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