SOFTWARE
Se conoce como software al equipamiento lógico o soporte lógico
de un sistema informático, que comprende el conjunto de los componentes lógicos
necesarios que hacen posible la realización de tareas específicas, en
contraposición a los componentes físicos que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones
informáticas; tales como el procesador de texto, que permite al usuario
realizar todas las tareas concernientes a la edición de textos; el llamado software
de sistema, tal como el sistema operativo, que básicamente permite al resto de
los programas funcionar adecuadamente, facilitando también la interacción entre
los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz
con el usuario.
El anglicismo "software" es el más ampliamente difundido al
referirse a este concepto, especialmente en la jerga técnica; en tanto que el
término sinónimo «logicial», derivado del término francés logiciel, es
utilizado mayormente en países y zonas de influencia francesa.
Etimología
Software (pronunciación
AFI:[ˈsɒftwɛəʳ]) es una palabra
proveniente del inglés (literalmente: partes blandas o suaves), que en
español no posee una traducción adecuada al contexto, por lo cual se la utiliza
asiduamente sin traducir y así fue admitida por la Real Academia Española (RAE).[2] Aunque
puede no ser estrictamente lo mismo, suele sustituirse por expresiones tales
como programas (informáticos) o aplicaciones
(informáticas) o soportes lógicos.[3]
Software es lo que se denomina producto en Ingeniería de Software.[4]
Definición de software
Existen varias definiciones similares aceptadas para software, pero
probablemente la más formal sea la siguiente:
Es el conjunto de los programas de cómputo, procedimientos, reglas,
documentación y datos asociados, que forman parte de las operaciones de un
sistema de computación.
Considerando esta definición, el concepto de software va más allá de los
programas de computación en sus distintos estados: código fuente, binario o ejecutable;
también su documentación, los datos a procesar e incluso la información de
usuario forman parte del software: es decir, abarca todo lo intangible,
todo lo «no físico» relacionado.
El término «software» fue usado por primera vez en este sentido por John W.
Tukey en 1957. En la ingeniería de software y las ciencias de la computación,
el software es toda la información procesada por los sistemas informáticos:
programas y datos.
El concepto de leer diferentes secuencias de instrucciones (programa)
desde la memoria de un dispositivo para controlar los cálculos fue introducido
por Charles Babbage como parte de su máquina diferencial. La teoría que
forma la base de la mayor parte del software moderno fue propuesta por Alan
Turing en su ensayo de 1936, «Los números computables», con una aplicación al
problema de decisión.
Carácter evolutivo del software
El software es el producto derivado del proceso de desarrollo,
según la ingeniería de software. Este producto es intrínsecamente evolutivo
durante su ciclo de vida. El software evoluciona, en general, generando
versiones cada vez más completas, complejas, mejoradas, optimizadas en algún
aspecto, adecuadas a nuevas plataformas (sean de hardware o sistemas
operativos), etc.
Cuando un sistema deja de evolucionar, eventualmente cumplirá con su ciclo
de vida, entrará en obsolescencia e inevitablemente, tarde o temprano, será
reemplazado por un producto nuevo.
El software evoluciona sencillamente porque se debe adaptar a los cambios
del entorno, sean funcionales (exigencias de usuarios), operativos, de
plataforma o arquitectura hardware.
La dinámica de evolución del software es el estudio de los cambios del
sistema. La mayor contribución en esta área fue realizada por Meir M. Lehman y Belady,
comenzando en los años 70 y 80. Su trabajo continuó en la década de 1990, con
Lehman y otros investigadores de relevancia en la
realimentación en los procesos de evolución (Lehman, 1996; Lehman et al., 1998;
lehman et al., 2001). A partir de esos estudios propusieron un conjunto de
leyes (conocidas como leyes de Lehman) respecto de los cambios producidos en
los sistemas. Estas leyes (en realidad son hipótesis) son invariantes y
ampliamente aplicables.
Lehman y Belady analizaron el crecimiento y la evolución de varios sistemas
software de gran porte; derivando finalmente, según sus medidas, las siguientes
ocho leyes:
- Cambio continuo: Un programa que se usa en un entorno real necesariamente debe cambiar o se volverá progresivamente menos útil en ese entorno.
- Complejidad creciente: A medida que un programa en evolución cambia, su estructura tiende a ser cada vez más compleja. Se deben dedicar recursos extras para preservar y simplificar la estrucutura.
- Evolución prolongada del programa: La evolución de los programas es un proceso autorregulativo. Los atributos de los sistemas, tales como tamaño, tiempo entre entregas y la cantidad de errores documentados son aproximadamente invariantes para cada entrega del sistema.
- Estabilidad organizacional: Durante el tiempo de vida de un programa, su velocidad de desarrollo es aproximadamente constante e independiente de los recursos dedicados al desarrollo del sistema.
- Conservación de la familiaridad: Durante el tiempo de vida de un sistema, el cambio incremental en cada entrega es aproximadamente constante.
- Crecimiento continuado: La funcionalidad ofrecida por los sistemas tiene que crecer continuamente para mantener la satisfacción de los usuarios.
- Decremento de la calidad: La calidad de los sistemas software comenzará a disminuir a menos que dichos sistemas se adapten a los cambios de su entorno de funcionamiento.

No hay comentarios:
Publicar un comentario