Cualidades de software

Solo disponible en BuenasTareas
  • Páginas : 18 (4318 palabras )
  • Descarga(s) : 4
  • Publicado : 7 de junio de 2010
Leer documento completo
Vista previa del texto
Cualidades del software

Correctitud (Correctness): 1
Confiabilidad (Reliability): 1
Robustez (Robustness): 2
Performance (también Eficciency): 2
Amigabilidad (Friendliness): 3
Verificabilidad (Verifiability): 3
Mantenibilidad (Maintainability): 3
Reparabilidad (Reparability): 4
Evolucionabilidad (Evolvability): 4
Reusabilidad (Reusability): 5
Portabilidad (Portability): 5Comprensibilidad (Understandability): 6
Interoperabilidad (Interoperability): 6
Productividad (Productivity): 6
Oportunidad (Timeliness) 7
Visibilidad (Visibility): 7

Correctitud (Correctness):

Un programa es funcionalmente correcto si se comporta de acuerdo a la especificación de las funciones (especificación de requerimientos funcionales) que debería proveer. Esta definición de correctitud asumeque existe una especificación de requerimientos funcionales del sistema y que es posible determinar en forma no ambigua si las cumple o no. Se presentan diversas dificultades cuando no existe dicha especificación, o si existe pero está escrita informalmente utilizando, por ejemplo, lenguaje natural por lo que es posible que contenga ambiguedades.

La correctitud es una propiedad matemática queestablece la equivalencia entre el software y su especificación, por lo que cuanto más riguroso se haya sido en la especificación, más precisa y sistemática podrá ser su evaluación.
Posteriormente se verá que la correctitud puede ser evaluada mediante diversos métodos, algunos de enfoque experimental como las pruebas, otros de enfoque analítico como verificación formal de la correctitud.

Esde notar que esta definición de correctitud no toma en consideración el que la especificación en sí misma puede ser incorrecta por contener inconsistencias internas, o no corresponder de forma adecuada a las necesidades para las que fue concebido el programa.
Confiabilidad (Reliability):

Informalmente el software es confiable si el usuario puede tenerle confianza. Formalmente la confiabilidadse define en términos del comportamiento estadístico: la probabilidad de que el software opere como es esperado en un intervalo de tiempo especificado. Contrariamente a la correctitud que es una cualidad absoluta, la confiabilidad es relativa. Cualquier desviación de los requerimientos hace que el sistema sea incorrecto, por otro lado, si la consecuencia de un error en el software no es seria, elsoftware incorrecto aún puede ser confiable.

En el caso ideal en el que la especificación de requerimientos funcionales captura todas las propiedades deseables de la aplicación y no hay propiedades indeseables erróneamente especificadas, el conjunto de todos los programas confiables incluye el conjunto de programas correctos, pero no a la inversa. En la práctica, como la especificación es unmodelo de lo que quiere el usuario que puede ser o no adecuado para sus necesidades y requerimientos reales, lo máximo que puede hacer el software es cumplir los requerimientos especificados del modelo, sin asegurar la adecuación del mismo. Pueden tenerse aplicaciones correctas diseñadas para requerimientos “incorrectos”, por lo que la correctitud del software puede no ser suficiente para garantizaral usuario que el software se comporta como “es esperado”.

Los productos de la ingeniería son confiables, pero desafortunadamente los productos del software son en general liberados conjuntamente con una lista de “bugs” conocidos. Este es uno de los síntomas de la inmadurez de la Ingeniería de Software como disciplina ingenieril y sólo podrá alcanzar ese estatus cuando se logre que laconfiabilidad en el software sea comparable a la confiabilidad en otros productos como por ejemplo los automóviles.

Robustez (Robustness):

Un progama es robusto si se comporta en forma razonable aún en circunstancias que no fueron anticipadas en la especificación de requerimientos; por ejemplo cuando encuentra datos de entrada incorrectos o algún malfuncionamiento del hardware como rotura de...
tracking img