RELACIÓN       HARDWARE/SOFTWARE
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.
 
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.
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.


No hay comentarios:
Publicar un comentario