RELACIÓN HARDWARE/SOFTWARE

ANTERIOR INICIO SIGUIENTE

El software es un elemento del sistema que es lógico, en lugar de físico. Por tanto el software tiene unas características considerablemente distintas a las del hardware:
 

El software se desarrolla no se fabrica en un sentido clásico. Aunque existen similitudes entre el desarrollo del software y la construcción del hardware, ambas actividades son fundamentalmente diferentes. En ambas actividades la buena calidad se adquiere mediante un buen diseño, pero la fase de construcción del hardware puede introducir problemas de calidad que no existen (o son fácilmente corregibles) en el software. Ambas actividades dependen de las personas, pero la relación entre las personas dedicadas y el trabajo realizado es completamente diferente para el software. Ambas actividades requieren la construcción de un «producto», pero los métodos son diferentes. Los costos del software se encuentran en la ingeniería.

Esto significa que los proyectos de software no se pueden gestionar como si fueran proyectos de fabricación.
A medida de los años ochenta, se introdujo el concepto de «fábrica de software» en la literatura. Es importante tener en cuenta que este término no implica que la fabricación del hardware y el desarrollo del software sean equivalentes. En vez de ello, el concepto de fábrica de software recomienda el uso de herramientas para el desarrollo automático del software.
El software no se «estropea». La Figura describe, para el hardware, la proporción de fallos como una función del tiempo. Esa relación, denominada frecuentemente «curva de bañera», indica que el hardware exhibe relativamente muchos fallos al principio de su vida (estos fallos son atribuibles normalmente a defectos del diseño o de la fabricación); una vez corregidos los defectos, la tasa de fallos cae hasta un nivel estacionario (bastante bajo, con un poco de optimismo) donde permanece durante un cierto período de tiempo. Sin embargo, conforme pasa el tiempo, los fallos vuelven a presentarse a medida que los componentes del hardware sufren los efectos acumulativos de la suciedad, la vibración, los malos tratos, las temperaturas extremas y muchos otros males externos. Sencillamente, el hardware comienza a estropearse.
 

 

 

 

ANTERIOR INICIO SIGUIENTE

El software no es susceptible a los males del entorno que hacen que el hardware se estropee. Los defectos no detectados harán que falle el programa durante las primeras etapas de su vida. Sin embargo, una vez que se corrigen, suponiendo que no se introducen nuevos errores. Sin embargo la implicación es clara, el software no se estropea. ¡Pero se deteriora!.
 

La mayoría del software se construye a medida, en vez de ensamblar componentes existentes. Consideremos la forma en la que se diseña y se construye el hardware de control para un producto basado en microprocesador. El ingeniero de diseño construye un sencillo esquema de la circuitería digital, hace algún análisis fundamental para asegurar que se realiza la función adecuada y va al catálogo de ventas de componentes digitales existentes. Cada circuito integrado (frecuentemente llamado un «CI» o «pastilla») tiene un número de pieza, una función definida y válida, una interfaz bien definida y un conjunto estándar de criterios de integración. Después de seleccionar cada componente, puede solicitarse la compra.
 

Por desgracia, los diseñadores del software no disponen de esa comodidad que acabamos de describir. Con unas pocas excepciones, no existen catálogos de componentes de software. Se puede comprar software ya desarrollado, pero sólo como una unidad completa, no como componentes que pueden reensamblarse en nuevos programas.