Recientes

lunes, 6 de noviembre de 2017

Software

El software es una palabra que proviene del idioma inglés, pero que gracias a la masificación de uso, ha sido aceptada por la Real Academia Española, ya que en español no posee una traducción adecuada al contexto.  El término software fue usado por primera vez en este sentido por John W. Tukey en 1957.
El software es el conjunto de programas, documentos, datos, procedimientos y rutinas que permiten realizar las tareas asignadas al computador. Un programa es un conjunto de instrucciones dadas a la computadora para que ésta las ejecute de manera secuencial, es decir una detrás de la otra. El software se compone de secuencias de órdenes que indican al hardware que debe realizar.

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.

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.

Clasificación del software

El software se clasifica en tres grandes tipos:

Software de sistema: Se encarga de controlar, integrar y administrar los componentes de hardware de un sistema informático, proporcionando un entorno amigable para que los usuarios puedan ejecutar otras aplicaciones de software. Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático. El software de sistema incluye: Sistemas operativos, controladores de dispositivos, herramientas de diagnóstico, herramientas de corrección y optimización, servidores y utilidades.

Software de programación: Es el conjunto de herramientas que permiten al programador escribir programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. El software de programación es una subcategoría del software de sistema, pero por su demanda cada vez mayor se trata como una categoría separada, al nivel del software de aplicación y el software sistema.  El software de programación incluye: Editores de texto, compiladores, intérpretes, enlazadores, depuradores y entornos de desarrollo integrados (IDE).

Software de aplicación: Utiliza las capacidades del computador para realizar una tarea específica. El software de aplicación es capaz de manipular texto, números, gráficos y archivos de audio y video. El software de aplicación se utiliza muchas veces para fines comerciales, encontrados en el campo educativo, de negocios y médico. El software de aplicación incluye: Aplicaciones para control de sistemas y automatización industrial, aplicaciones ofimáticas, software educativo, software empresarial, bases de datos, telecomunicaciones, videojuegos, software médico, software de cálculo numérico y simbólico, software de diseño asistido (CAD), software de control numérico (CAM).

Proceso de desarrollo de software

El proceso de desarrollo puede involucrar numerosas y variadas tareas, desde lo administrativo, pasando por lo técnico y hasta la gestión y el gerenciamiento. Pero, casi rigurosamente, siempre se cumplen ciertas etapas mínimas, que generalmente son las siguientes: captura, elicitación, especificación y análisis de requisitos (ERS), diseño, codificación, pruebas (unitarias y de integración), instalación y paso a producción, mantenimiento.

Modelos de proceso o ciclo de vida

Para cada una de las fases o etapas del ciclo de vida, existen sub-etapas. El modelo de proceso o modelo de ciclo de vida utilizado para el desarrollo, define el orden de las tareas o actividades involucradas. Entre los más conocidos se puede mencionar: modelo en cascada o secuencial, modelo espiral, modelo iterativo incremental.

Evolución del software

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.

Conclusión

El mundo del desarrollo del software está irreconocible si lo comparamos con lo que era hace 20 años, y en 10 años el futuro del desarrollo del software será también totalmente distinto. Pronto todas las nuevas incorporaciones a las empresas sabrán programar algo.