Calidad de software.
Las posibilidades de que aparezca el fallo humano en el proceso de desarrollo de software son enormes. Es complicado realizar un buen software, y muchos de los productos que se construyen tienen calidad insuficiente, además de no acertar con las estimaciones de tiempo y recursos inexactos para la construcción de los mismos.
Los responsables expertos de compañías reconocen que la alta calidad ahorro de coste y mejora general. Además, todos los métodos, herramientas y procedimientos que constituyen la Ingeniería del Software van orientados a un único fin: producir software de calidad.
En este tema introduciremos el concepto de calidad de software, primero a un nivel general como concepto y procesos a nivel de organización, viendo después cuáles son los factores que influyen en la calidad del software, cómo medirlos, y por último qué estrategias podemos utilizar para conseguir un software de mayor calidad.
Calidad de software:
Es una preocupación a la que se dedican muchos esfuerzos. Sin embargo, el software casi nunca es perfecto. Todo proyecto tiene como objetivo producir software de la mejor calidad posible, que cumpla, y si puede supere las expectativas de los usuarios.
Funcionalidad:
Esto se refiere a que todo lo que se encuentra dentro del software o dentro de una pagina web tiene que ser funcional, todo boton,link o imagen tiene que tener su funcionalidad.
Correccion:
Es la capacidad de los productos de software para realizar con exactitud las tareas expresadas en su especificacion.
Uno de los problemas de la correccion es que se presupone la confianza en los distintos componentes involucrados en la produccion del sistema; compilador,biblioteca,modulos,Sistemas operativos,etc.
Confiabilidad:
Eficiencia:
Es la capacidad del software para hacer un buen uso de los recursos que manipula.
Una practica muy comun en los desarrolladores es la optimizacion excesiva, lo importante es mantener un balance adecuado entre eficiencia y correccion.
Usabilidad:
Es la capacidad de los productos de software para funcionar como bloques basicos de la construccion de diferentes aplicaciones.
Es el objetivo general de la reutiliacion es adaptar la industria del software al modelo de otras industrias, donde la produccion se basa en un conjunto de elemtos discretos preexistentes con una funcion generica, que se ensablan para dar dar origen a un nuevo producto
Portabilidad:
Es la facilidad con que un sistema puese ser migrado entre diferentes plataformas hardware o software.
Robustez:
Es la capacidad de los productos de software de reaccionar apropiadamente ante condiciones excepcionales.
La robustez viene a ser el complemento de la correccion. En implementacion se cuento con el mecanismo de excepciones el cual garantiza el correcto flujo de ejecucion del codigo.
Compatibilidad:
Es la facilidad de combinar diferentes elementos de software con el fin de ejecutar una labor en conjunto.
La mayoria de los sistemas son abiertos (interactuan con otros sistemas), y el dinamismo inherte a la realidad hace muy probable que los sistemas de software tenga que intercambiar informacion entre si.
Esto hace que la compatibilidad sea un factor muy serio al momento de moldear el sistema.
Oportunidad:
Integridad:
Es la caracteristica de un sistema para ser capaz de proteger sus diferentes componentes contra los procesos o elementos que no tengan derecho de acceso a los mismos.
La integridad es un factor muy importante en sistemas comtables, administrativos y gerenciales ya que de ellos depende la capital de la empresa.