EL SOFTWARE ¿QUÉ ES?

 

EL SOFTWARE ¿QUÉ ES?

El  software es un conjunto de, principalmente, datos o programas que se utilizan para ejecutar tareas específicas a través de un ordenador. Estamos, por tanto, ante un término bastante genérico que se usa para hacer alusión a aplicaciones, scripts y programas que se ejecutan en un dispositivo. De hecho, se puede considerar como la parte variable de un ordenador.

En este sentido cabe destacar que existen dos categorías principales de software , que son el conocido como software de aplicación y el software de sistema. En donde, concretamente, una aplicación es un software que satisface una necesidad específica o realiza tareas, mientras que el software del sistema está diseñado para ejecutar el hardware de un ordenador, a la vez que  proporciona una plataforma para que las aplicaciones se ejecuten.

No obstante, existen otros tipos de software, los cuales incluyen el software de programación, el cual proporciona las herramientas de programación que los desarrolladores de software necesitan; el conocido como middleware, que se encuentra entre el software del sistema y las aplicaciones; y software de controlador, que opera dispositivos y periféricos del ordenador.

En sus inicios, el software se creó para determinados ordenadores y se vendió con el hardware en el que se ejecutaba. No fue hasta la década de los ochenta cuando el software empezó a comercializare en disquetes y, más tarde, en CD´s y DVD´s. Sin embargo, hoy en día, el software se compra y se descarga directamente a través de Internet, de hecho, se puede encontrar en diferentes sitios web de proveedores.

Como ya hemos mencionado con anterioridad, entre las diversas categorías de software, los tipos más comunes incluyen los siguientes:

  1. Software de la aplicación

Que es el tipo de software más común, el cual hace alusión a un paquete de software que realiza una función específica para un usuario o, en algunos casos, para otra aplicación. Esta aplicación puede ser autónoma o puede ser un grupo de programas que ejecutan la aplicación para el usuario. Algunos ejemplos de aplicaciones modernas incluyen suites de oficina, software de gráficos, bases de datos y programas de administración de bases de datos, navegadores web, procesadores de texto, herramientas de desarrollo de software, editores de imágenes y plataformas de comunicación. 

  1. Software del sistema.

Estos programas de software están diseñados para ejecutar programas de aplicación y de hardware. De tal manera que, se encarga de coordinar las actividades y funciones del hardware y el software y de, además, controlar las operaciones del hardware del ordenador y proporcionar un entorno o plataforma para que funcionen todos los demás tipos de software. El sistema operativo es el mejor ejemplo de software de sistema ya que es el que gestiona todos los demás programas informá Otros ejemplos de software del sistema incluyen el firmware , los traductores de idiomas informáticos y las utilidades del sistema .

  1. Software de control (también conocido como controladores de dispositivo).

Este software a menudo se considera un tipo de software del sistema.Los controladores dirigen y manejan los dispositivos y periféricos conectados al ordenador, lo que les permite realizar sus tareas especí Cada dispositivo que está conectado a un ordenador el cual necesita al menos un controlador de dispositivo para funcionar. Los ejemplos incluyen software que viene con cualquier hardware no estándar, incluidos controladores de juegos especiales, así como el software que habilita un  hardware estándar, como dispositivos de almacenamiento USB, teclados, auriculares e impresoras.

  1. Middleware.

El término middleware describe el software que media entre la aplicación y el software del sistema o entre dos tipos diferentes de software de aplicación. Por ejemplo, el middleware permite que Microsoft Windows se comunique con Excel y Word. También se utiliza para enviar una solicitud de trabajo remoto desde una aplicación en un ordenador que tiene un tipo de sistema operativo, a una aplicación de otro ordenador con un sistema operativo diferente y también permite que las aplicaciones más nuevas funcionen con las heredadas.

  1. Software de programación.

Los programadores de ordenadores utilizan el software de programación para escribir el có El software de programación y las herramientas de programación permiten a los programadores desarrollar, escribir, probar y depurar otros programas de software.

¿Cómo funciona el software?

Llegados a este punto y una vez sabemos qué es y qué tipos hay, no es de extrañar que la siguiente cuestión que nos planteemos sea la de: ¿cómo funciona?

Todo software proporciona las instrucciones y los datos que los ordenadores requieren para funcionar y satisfacer las necesidades de los usuarios. Sin embargo, los dos tipos diferentes (software de aplicación y software de sistema) funcionan de formas claramente diferentes.

Por una parte, el software de aplicación abarca muchos programas que realizan funciones específicas para los usuarios finales, como redactar informes y navegar por sitios web. De hecho, existen aplicaciones que también pueden realizar tareas para otras aplicaciones. Sin embargo, las aplicaciones insertas en un ordenador no pueden ejecutarse solas, por lo que, requieren de un sistema operativo, que junto con otros programas de software del sistema de apoyo, permite su funcionamiento.

Con respecto a las conocidas como aplicaciones de escritorio, tenemos que tener en cuenta que estas se instalan en el ordenador de un usuario y utilizan la memoria del ordenador para realizar tareas específicas para las que fueron creadas. Ocupan espacio en el disco duro del ordenador y no necesitan una conexión a Internet para funcionar. Sin embargo, las aplicaciones de escritorio deben cumplir con los requisitos de los dispositivos de hardware en los que se ejecutan.

Mientras que, en lo que respecta a las aplicaciones web, solo requieren acceso a Internet para funcionar y, por tanto, no dependen del hardware ni del software del sistema para ejecutarse. En consecuencia, los usuarios pueden iniciar aplicaciones web desde dispositivos que tienen un navegador web. Luego, dado que los componentes responsables de la funcionalidad de la aplicación se encuentran en el servidor, los usuarios pueden iniciar la aplicación desde Windows, Mac, Linux o cualquier otro sistema operativo.

Por otra parte, en lo relativo al ya mencionado software del sistema  éste se encuentra entre el hardware de la computadora y el software de la aplicación. De tal manera que, los usuarios no interactúan directamente con el mismo, ya que se ejecuta en segundo plano, y maneja las funciones básicas del ordenador. Este software es el encargado de coordinar el hardware y el software de un sistema para que los usuarios puedan ejecutar software de aplicación de alto nivel y así realizar acciones específicas. Luego, el software del sistema se ejecuta cuando se inicia un sistema informático y continúa funcionando mientras el sistema esté encendido.

Estas son las diferencias clave entre el sistema y el software de aplicación.

¿Cómo es la implementación del software? Diseño e implementación

En lo que respecta al proceso de implementación del software, y a su correspondiente diseños, debemos tener en cuenta los siguientes pasos:

Lo primero que debemos saber es que el ciclo de vida del desarrollo de software es un marco que los gerentes de proyecto utilizan para describir las etapas y tareas asociadas con el diseño de software. Los primeros pasos en el ciclo de vida del diseño son:

  1. Planificar el esfuerzo.
  2. Analizar las necesidades de las personas que utilizarán el software y crear requisitos detallados.
  3. Después del análisis de requisitos inicial, la fase de diseño tiene como objetivo especificar cómo cumplir con esos requisitos de usuario.

El siguiente paso es la implementación, donde se completa el trabajo de desarrollo y luego se realizan las correspondientes pruebas de software. En este sentido, debemos tener en cuenta que la denominada fase de mantenimiento incluye todas las tareas necesarias para mantener el sistema en funcionamiento.

Por su parte, el diseño del software incluye la descripción de la estructura del software que se implementará, los modelos de datos, las interfaces entre los componentes del sistema y, potencialmente, los algoritmos que utilizará el ingeniero de software. De tal manera que, el proceso de diseño de software transforma los requisitos del usuario en una forma que los programadores pueden usar para realizar la codificación e implementación del software. De ahí que los ingenieros de software sean los encargados de desarrollar el diseño de software de forma interactiva, agregando detalles y corrigiendo el diseño a medida que lo desarrollan.

Así pues, el software abarca los siguientes tipos de diseño:

  • Por un lado, está el denominado como diseño arquitectóEste es el diseño fundamental, que identifica la estructura general del sistema, sus componentes principales y sus relaciones entre sí utilizando herramientas de diseño arquitectónico .
  • Por otro lado está el conocido como diseño de alto nivel.Esta es la segunda capa de diseño que se centra en cómo el sistema, junto con todos sus componentes, se puede implementar en formas de módulos compatibles con una pila de software. Lo que en otras palabras quiere decir que un diseño de alto nivel es el que describe las relaciones entre el flujo de datos y los diversos módulos y funciones del sistema.
  • Finalmente, está el diseño detallado.Esta tercera capa de diseño se centra en todos los detalles de implementación necesarios para la arquitectura especificada.

Ahora bien, todos los ámbitos relativos al software que hemos tratado hasta el momento nos lleva a plantearnos la siguiente cuestión: ¿Cómo se mantiene la calidad del software?

La calidad del software determina si el software cumple con sus requisitos funcionales y no funcionales. En donde los requisitos funcionales son aquellos encargados de identificar lo que debe hacer el software, por lo que, incluyen los detalles técnicos, la manipulación y el procesamiento de datos, cálculos o cualquier otra función que especifique lo que una aplicación pretende lograr. Mientras que los requisitos no funcionales, también conocidos como atributos de calidad, determinan cómo debe funcionar el sistema, por lo que, incluyen la portabilidad, la recuperación ante desastres, la seguridad, la privacidad y la usabilidad.

Evidentemente, son las pruebas de software las que van a detectar y, en todo caso, resolver, los problemas técnicos en el código fuente del software, a la vez que serán las que evalúen la usabilidad, el rendimiento, la seguridad y la compatibilidad generales del producto para garantizar que cumpla con sus requisitos.
Finalmente, debemos destacar que las dimensiones de la calidad del software incluyen las siguientes características:

  • Esta hace referencia al grado en que un grupo diverso de personas, incluidas las personas que requieren tecnologías de adaptación como el reconocimiento de voz y las lentes de pantalla, pueden utilizar el software cómodamente.
  • Compatibilidad. Esta característica hace alusión a la idoneidad del software para su uso en una variedad de entornos, como con diferentes sistemas operativos, dispositivos y navegadores.
  • Esto es, la capacidad del software para funcionar correctamente sin desperdiciar energía, recursos, esfuerzo, tiempo o dinero.
  • Esto es, la capacidad del software para llevar a cabo sus funciones específicas.
  • Esto es, la capacidad del software para instalarse en un entorno específico.
  • Localización. Esta característica hace referencia a los distintos idiomas, zonas horarias y otras características similares en las que puede funcionar un software.
  • Con qué facilidad se puede modificar el software para agregar y mejorar funciones, corregir errores, etc.
  • Actuación. Esto es, qué tan rápido funciona el software bajo una carga especí
  • La capacidad del software para transferirse fácilmente de un lugar a otro.
  • La capacidad del software para realizar una función requerida en condiciones específicas durante un período de tiempo definido sin errores.
  • Escalabilidad. Esta característica hace alusión a  la medida de la capacidad del software para aumentar o disminuir el rendimiento en respuesta a cambios en sus demandas de procesamiento.
  • La capacidad del software para proteger contra el acceso no autorizado, la invasión de la privacidad, el robo, la pérdida de datos, el software malicioso, etc.
  • Esto es, qué fácil es probar el software.
  • Esto es, qué fácil es utilizar el software.

Ahora bien, cuando se trata de realizar el mantenimiento, debemos destacar que hay cuatro tipos de cambios que los programadores pueden realizar, que incluyen:

  1. Los usuarios a menudo identifican e informan de errores que los programadores deben corregir, incluidos errores de codificación y otros problemas que impiden que el software cumpla con sus requisitos.
  2. Los programadores deben realizar cambios regularmente en su software para asegurarse de que sea compatible con los entornos cambiantes de hardware y software, como cuando sale una nueva versión del sistema operativo.
  3. Estos son cambios que mejoran la funcionalidad del sistema, cómo mejorar la interfaz de usuario o ajustar el código del software para mejorar el rendimiento.
  4. Estos cambios se realizan para evitar que el software falle e incluyen tareas como reestructurar y optimizar el código.

No obstante, no podemos obviar el hecho de que, para mantener la calidad del software una vez implementado, los programadores deben ser capaces de adaptarlo constantemente para cumplir con los nuevos requisitos de los clientes, a la vez que deben ser capaces de hacer frente a las diversas vicisitudes y obstáculos que pueden surgir como consecuencia de los cambios en el contexto social. Esto incluye mejorar la funcionalidad, corregir errores y ajustar el código del software para evitar problemas, ya que como sabemos, la duración de un producto en el mercado depende de la capacidad de los programadores para cumplir con estos requisitos de mantenimiento.

Además de esta publicación, te recomendamos leer las siguientes publicaciones:

HARDWARE, ¿QUÉ ES?

LA PROTECCIÓN LEGAL DE LA MÚSICA DE LOS VIDEOJUEGOS 1

LA PROTECCIÓN LEGAL DE LA MÚSICA DE LOS VIDEOJUEGOS 2

DERECHO DE LOS VIDEOJUEGOS – ¿QUÉ INCLUYE?

DERECHOS DE AUTOR DE LOS VIDEOJUEGOS – PARTE 1

LOS DERECHOS DE AUTOR DE LOS VIDEOJUEGOS – PARTE 2

DERECHOS DE AUTOR Y VIDEOJUEGOS – PARTE 3

Las fuentes utilizadas para este artículo son las siguientes:

https://searchapparchitecture.techtarget.com/definition/software