Es la probabilidad de operacin libre de fallas de un programa de computadora
en un entorno determinado y durante un tiempo especfico. El fallo es cualquier no concordancia con los requerimientos del software. Hay distintos grados de fallos, estos pueden ser simplemente desconcertantes o catastrficos. Se dice que un Software es confiable si realiza lo que el usuario desea, cuando as lo requiera. No es confiable si as no lo hiciera. A nuestros fines un Software no es Confiable cuando falla. Las fallas se deben a errores en el Software. Si corregimos estos errores sin introducir nuevos, mejoramos la Confiabilidad del Software.
El 72% de los errores se originan en: el traslado de los requerimientos del
usuario y en el diseo lgico. Podremos aumentar la Confiabilidad de un
Software haciendo hincapi en estas dos primeras etapas. Fuentes de diversos
tipos aseveran que, es en el diseo, en donde debe ponerse nfasis para reducir la proporcin de errores.
Hemos observado nueve categoras en las que se divide la generacin de
errores. La experiencia demuestra que: Aproximadamente el 76% de los errores no son descubiertos hasta bien entrada la etapa de pruebas integrales.
El costo de deteccin y correccin de errores durante y despus de las etapas de
integracin y test resultan entre 10 y 15 veces ms que en las etapas de
desarrollo y codificacin. Estudios realizados concluyen que el medio ambiente
en el que se desarrolla el Software contribuye enormemente al aumento de errores. La Confiabilidad del Software pasa a ser un problema de Management y no Tcnico. Histricamente, una forma de aumentar la Confiabilidad de un Software era correrlo y probarlo extensivamente antes de liberarlo. No es efectivo probar la Confiabilidad en el producto sino hacerla, es decir fabricarla en el mismo. La Confiabilidad deber ser diseada en el producto. Teniendo un 72% de errores generados en el traslado de los requerimientos del usuario, el nfasis debe ser puesto en ese punto. Es mucho ms efectivo resolver los errores en la misma fase de diseo que en la de prueba. Cada vez que se corrige un error se generan nuevos con una cierta probabilidad. Es mucho ms costoso encontrar, corregir y documentar errores en los ltimos peldaos del ciclo de vida que al comienzo. Es necesario utilizar Herramientas, que en base a modelos ayuden a determinar parmetros que sirvan de anlisis. Las Herramientas son provistas por la as llamada Ingeniera de Software. La complejidad de un programa de computacin es una medida de la dificultad para llevar a cabo esa computacin y est muy relacionada con su confiabilidad. Es evidente que cuanto ms complejo sea el algoritmo de cmputo tanto ms probabilidad existe de que se cometan errores en su programacin y por lo tanto de fallas del software y deterioro de su confiabilidad. Est demostrado que bajando la complejidad de un software su confiabilidad mejora. Existen diversas teoras que permiten evaluar la complejidad del software. Algunas son ms utilizadas que otras por su sencillez, sin embargo son dos las principales: La complejidad McCabe y la Complejidad Halstead.
Existen tres clasificaciones importantes de los modelos utilizados en el anlisis de
Confiabilidad de un Software:
Modelos de acuerdo al Ciclo de Vida.
Modelos de acuerdo a la Naturaleza del Proceso de Falla. Modelos de acuerdo a Consideraciones Estructurales.
Algunas otras caractersticas acerca de la Confiabilidad de software son las
siguientes:
La Confiabilidad es una medida de performance a lo largo del tiempo.
Un sistema totalmente Seguro nunca funcionar. Un sistema siempre Disponible nunca ser totalmente seguro. Un Bug (error) en un software puede provocar una falla (fault) que termine con una misin espacial. puede implicar vidas humanas cuando la aplicacin es electromdica. Esta es la importancia que da a da est teniendo el Software en un sistema.
CONCLUSIONES
Obtener softwares cada vez ms confiables y seguros es necesario tanto desde
el punto de vista prctico como tico. Los objetivos solo pueden alcanzarse mediante la aplicacin sistemtica de herramientas a veces poco conocidas. La divulgacin de este paquete de conocimiento debe comenzar desde los primeros pasos de la enseanza universitaria y propagarse a cada emprendimiento que en materia de software se comience. Mejores softwares, menos complejos y ms portables podrn obtener mejores resultados aplicativos.
REFERENCIAS BIBLIOGRAFICAS
ROCA, J. (2012, 01). LA CONFIABILIDAD EN EL SOFTWARE. Obtenido
05, 2016, de http://ieee.eie.fceia.unr.edu.ar/PDF_SOFTWARE.pdf Del ngel, M. (2013, 06). SEGURIDAD EN INGENIERA DE SOFTWARE. UNIDAD IV SEGURIDAD EN INGENIERIA DE SOFTWARE. Obtenido 05, 2016, de http://ithmarielamontserrathdelangel.blogspot.mx/2013/06/seguridad-eningenieria-de-software-la.html