Definición de software: libro

25/01/2018

Software, también conocido como logicial o soporte lógico, es el conjunto de componentes lógicos necesarios que hacen posible la realización de tareas específicas en un sistema informático. A diferencia del hardware (los componentes físicos), el software es intangible y se encarga de enviar instrucciones que el hardware ejecuta.

Temario

Concepto de Software

El software abarca una amplia gama de elementos, incluyendo:

  • Aplicaciones informáticas: Programas que realizan tareas específicas, como procesadores de texto o navegadores web.
  • Software de sistema: Programas que gestionan los recursos del sistema, como el sistema operativo.
  • Procedimientos: Conjunto de pasos ordenados para realizar una tarea.
  • Reglas: Conjunto de normas para el correcto funcionamiento del software.
  • Documentación: Tutorials y manuales para el uso y mantenimiento del software.
  • Datos asociados: Información necesaria para que el software funcione correctamente.

La interacción entre el software y el hardware permite el funcionamiento de un ordenador u otro dispositivo. El software envía instrucciones que el hardware interpreta y ejecuta, creando un sistema operativo.

Definición Formal de Software

La definición más formal de software, según el estándar 729 del IEEE, 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”. Esta definición destaca que el software va más allá del simple código; incluye también la documentación, los datos y la información del usuario.

Historia del Término “Software”

El término “software” fue usado por primera vez en este sentido por John W. Tukey en 195El concepto de leer instrucciones desde la memoria para controlar cálculos fue introducido por Charles Babbage con su máquina diferencial. Alan Turing, en su ensayo de 1936, "Los números computables", sentó las bases teóricas para gran parte del software moderno.

Clasificación del Software

El software se puede clasificar de diferentes maneras, pero una clasificación común lo divide en tres tipos:

Tipo de Software Descripción Ejemplos
Software de sistema Gestiona los recursos del sistema informático. Sistemas operativos, controladores de dispositivos, utilidades del sistema.
Software de programación Facilita el desarrollo de otros programas. Compiladores, intérpretes, editores de código, depuradores.
Software de aplicación Resuelve problemas o tareas específicas del usuario. Procesadores de texto, hojas de cálculo, navegadores web, juegos.

Esta clasificación no es excluyente; una aplicación puede utilizar varias clases de software.

Proceso de Creación del Software

La creación de software es un proceso complejo que suele dividirse en varias etapas:

  1. Captura, elicitación, especificación y análisis de requisitos (ERS): Se define qué debe hacer el software.
  2. Diseño: Se define cómo se implementará el software.
  3. Codificación: Se escribe el código fuente en un lenguaje de programación.
  4. Pruebas: Se verifica que el software funcione correctamente.
  5. Instalación: Se instala el software en el sistema del usuario.
  6. Mantenimiento: Se corrigen errores y se realizan mejoras en el software.

La complejidad del proceso depende del tamaño y la criticidad del software. Para proyectos grandes, se utiliza la Ingeniería de Software, una disciplina que aplica principios de ingeniería para gestionar el desarrollo de software de forma eficiente y confiable.

Modelos de Proceso o Ciclo de Vida

Existen diferentes modelos de proceso para el desarrollo de software, cada uno con sus propias ventajas y desventajas:

  • Modelo en cascada: Un enfoque secuencial donde cada etapa se completa antes de comenzar la siguiente.
  • Modelo iterativo incremental: Se desarrolla el software en iteraciones, entregando versiones funcionales incrementales.
  • Modelo espiral: Combina la naturaleza iterativa con la planificación sistemática, con especial énfasis en la gestión de riesgos.
  • Modelo Win-Win Espiral: Énfasis en la negociación entre cliente y desarrollador para asegurar la satisfacción de ambos.

La elección del modelo depende de las características del proyecto.

Etapas del Desarrollo de Software

Captura, Análisis y Especificación de Requisitos

Esta etapa crucial define las características funcionales y no funcionales del software. Requiere una comunicación efectiva entre el cliente y el equipo de desarrollo para comprender las necesidades del usuario.

Diseño del Sistema

El diseño define cómo se implementarán los requisitos, incluyendo la arquitectura del software y los detalles de implementación.

Codificación del Software

Se traduce el diseño a código fuente en un lenguaje de programación. Se distingue entre código fuente, código objeto y código ejecutable.

Pruebas (Unitarias y de Integración)

Se verifican las funcionalidades del software a través de pruebas unitarias (componentes individuales) y de integración (todo el sistema).

Instalación y Paso a Producción

El software se instala en el sistema del usuario y se prepara para su uso.

Mantenimiento

Se corrigen errores, se realizan mejoras y se adaptan las funcionalidades a las nuevas necesidades.

Carácter Evolutivo del Software

El software es inherentemente evolutivo. Las Leyes de Lehman describen la evolución del software, destacando su cambio continuo, aumento de complejidad y necesidad de adaptación al entorno.

Autores y Definiciones

Diversos autores han definido el software. Pressman lo define como el producto que construyen los programadores, incluyendo programas, datos y documentación. La IEEE lo define como el conjunto de programas, procedimientos, reglas, documentación y datos asociados.

El software es un elemento fundamental de los sistemas informáticos, crucial para su funcionamiento y para la realización de tareas específicas. Su desarrollo es un proceso complejo que requiere una planificación cuidadosa y la aplicación de metodologías adecuadas para garantizar la calidad y la eficiencia.

Si quieres conocer otros artículos parecidos a Definición de software: libro puedes visitar la categoría Libros y Librerías.

Subir