Calidad del software.
A la hora de definir la calidad del software se debe diferenciar entre la
calidad del producto software y la calidad del proceso de desarrollo de éste
(calidad de diseño y fabricación). No obstante, las metas que se establezcan
para la calidad del producto van a determinar los objetivos a
establecer de calidad del proceso de desarrollo, ya que la calidad del primero
va a depender, entre otros aspectos, de ésta. Sin un buen proceso de desarrollo
es casi imposible obtener un buen producto. Este proceso constituye el objeto
del presente trabajo.
Pero la calidad del producto software se diferencia de la calidad de otros
productos de fabricación industrial, ya que el software tiene sus propias
características específicas:
·
- El software es un producto mental, no restringido
por las leyes de
la Física o
por los límites de
los procesos de fabricación. Es algo abstracto, un intangible.
·
- Se desarrolla, no se fabrica. El coste está
fundamentalmente en el proceso de diseño, no en la posterior producción en
serie, y los errores se introducen también en el diseño, no en la producción.
·
- Los costes del desarrollo de software se concentran
en las tareas de Ingeniería,
mientras que en la fabricación clásica los costes se acentúan más en las tareas
de producción.
·
- El software no se deteriora con el tiempo.
No es susceptible de los efectos del entorno y su curva de fallos es muy
diferente de la del hardware. Todos los problemas que
surjan durante el mantenimiento estaban allí desde el principio y afectan a
todas las copias del mismo; no se generan nuevos errores.
·
- Es artesanal en gran medida. El software, en su
mayoría, se construye a medida, en vez de ser construido ensamblando
componentes existentes y ya probados, lo que dificulta aún más el control de su
calidad.
·
- El mantenimiento del software es mucho más complejo
que el mantenimiento del hardware. Cuando un componente del hardware se
deteriora se sustituye por una pieza de repuesto, pero cada fallo en el
software implica un error en el diseño o en el proceso mediante el cual se
tradujo el diseño en código máquina
ejecutable.
·
- Es engañosamente fácil realizar cambios sobre un
producto software, pero los efectos de estos cambios se pueden propagar de
forma explosiva e incontrolada.
·
- Como disciplina,
el desarrollo de software es aún muy joven, por lo que las técnicas de
las que dispone aún no están perfeccionadas.
·
- El software con errores no se rechaza. Se asume que
es inevitable que el software presente algunos errores de poca importancia.
También es importante destacar que la calidad de un producto software debe
ser considerada en todos sus estados de evolución (especificaciones,
diseño, códigos,...). No basta con verificar la calidad del producto una vez
finalizado cuando los problemas de mala calidad ya no tienen solución o su
reparación es muy costosa.
No hay comentarios:
Publicar un comentario