La IEEE define a la confiabilidad como «la habilidad que tiene un sistema o componente de realizar sus funciones requeridas bajo condiciones específicas en periodos de tiempo determinados».
La confiabilidad de software significa que un programa particular debe de seguir funcionando en la presencia de errores.
Los errores pueden ser relacionados al diseño, a la implementación, o a la programación.
- Aunque casi todos los softwares tengan errores, la mayoría de los errores nunca serán revelados debajo de circunstancias Un atacante busca esta debilidad para atacar un sistema.
- Las organizaciones que desarrollan productos basados en software requieren de prácticas efectivas que permitan mejorar la calidad del producto. La Ingeniería de la Confiabilidad de Software es una práctica cuantitativa que puede ser implementada en organizaciones de cualquier tamaño bajo distintos modelos de desarrollo.
Una falla es la manifestación percibida por el cliente de que algo no funciona correctamente e impacta su percepción de la calidad. Un defecto es el problema en el producto de software que genera una falla.
- 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
La confiabilidad es un aspecto en el cual se involucran diferentes dimensiones.
Los principales conceptos asociados a la confiabilidad del software son:
- Fiabilidad.
- Disponibilidad.
- Mantenimiento.
- Seguridad.
- Protección.
Fiabilidad: En la ingeniería se usa generalmente para asegurar aquella condición de trabajo que permite al usuario realizar sus tareas para que el sistema no llegue a corromperse.
Disponibilidad: Se refiere a la condición de trabajo que un sistema debe de tener.
Seguridad: Este concepto no solo describe el comportamiento del sistema, también nos define la habilidad que tiene este para poder resistir los ataques externos.
Mantenimiento: Es una mediada en la cual el sistema está apto para reparaciones y modificaciones
Protección: Se refiere a la capacidad del sistema de permitir las fallas de manera inmediata, en caso de que el sistema llegara a fallar existirá alguna manera de proteger la información o las acciones que el sistema realice