El software es un anglicismo en el idioma español, el cual, hace referencia al programa de cómputo, o también llamado programa computacional o programa de ordenador.
Los científicos de la computación refieren comúnmente que el software es un programa que dirige acciones dentro de una computadora, y que dichos programas pueden ser "operativos" como UNIX, Windows o IOS; "sistemas de bases de datos" como Oracle o DB-Terrific, o "programas de aplicación" como Excel o Word.
La anterior definición de software es puntual, empero, es muy breve, por lo que se ha tenido a bien exponer un puñado de las definiciones más relevantes hasta ahora respecto a los programas de cómputo:
"El software es el conjunto de programas y/o sistemas informáticos que permiten al usuario realizar tareas específicas con ayuda de la computadora. De igual forma es intangible y virtual, lo cual quiere decir que no es material y que solo existe en el entorno digital de la computadora. Los programas de cómputo o software son un complemento de la computadora, una parte desmontable de la misma que hace posible su utilización para múltiples usos" - Fernández Haddad
“El software es un proceso de automatización, consecuencia de una combinación de algoritmos y números binarios (por tanto creaciones técnicas), y asimismo, el resultado de incorporar un conjunto de instrucciones que pueden presentarse bajo la forma de documento escrito literario, sin importar el género ni la forma de expresión” - Ortiz Peozo
"El software es el conjunto de instrucciones que procesa el ordenador a través del CPU, para controlar el resultado de la máquina" - Cárdeno Shaadi
El software es una lista de instrucciones que ejecuta la computadora, a fin de alcanzar el resultado deseado por el programador. Esto en virtud de que la máquina que es la computadora, al no poder pensar por sí misma, se le debe decir exactamente qué debe hacer” - Becerra Ramírez
Por su lado, existen legislaciones e instituciones que de igual manera han definido a esta figura:
El Código de Propiedad Intelectual de España en su artículo 96 fracción primera, define: "El programa de ordenador es toda secuencia de instrucciones o indicaciones destinadas a ser utilizadas, directa o indirectamente, en un sistema informático para realizar una función o una tarea o para obtener un resultado determinado, cualquiera que fuere su forma de expresión y fijación".
La Oficina de Derechos de Autor de los Estados Unidos, (United States Copyright Office) en su circular 61 titulada Copyright Registration of Computer Programs; define al software de la siguiente manera; “A Computer Program (software) is a set of statements or instructions to be used directly or indirectly in a computer to bring about a certain result”.
La Ley Federal del Derecho de Autor en México, en su artículo 101, señala: "Se entiende por programa de computación la expresión original en cualquier forma, lenguaje o código, de un conjunto de instrucciones que, con una secuencia, estructura y organización determinada, tiene como propósito que una computadora o dispositivo realice una tarea o función específica".
Tipos de software
La división general y más común del software son: el sistema operativo y el programa aplicativo, o también llamados software operativo y aplicativo (aplicaciones).
Un sistema operativo (DOS o Windows) coordina la interacción entre el hardware y la máquina, y las aplicaciones (Word o Solitario) realizan las funciones que el usuario desea.
Es por ello que Pressman respecto a las dos más grandes divisiones ha dicho que el software de sistemas o sistema operativo es un conjunto de programas escritos para dar servicio a otros programas y que se caracteriza por su gran interacción con el hardware de la computadora, uso intensivo por parte de usuarios múltiples, operación concurrente que requiere la secuenciación, recursos compartidos y administración de un proceso sofisticado, estructuras complejas de datos e interfaces externas múltiples.
Y por otra parte entiende al programa de aplicación como programas aislados que resuelven una necesidad específica de negocios. Las aplicaciones en esta área procesan datos comerciales o técnicos en una forma que facilita las operaciones de negocios o la toma de decisiones administrativas o técnicas.
Creación técnica del software
Normalmente en la doctrina informática se conocen tres módulos para su creación; el análisis, diseño y desarrollo, sin embargo el maestro Fernández Haddad, con base en su experiencia suma a estos importantes módulos los de prueba y entrega del software, que son de vital importancia al momento de su creación. A continuación se expone una breve explicación de lo que se lleva a cabo en cada uno de estos módulos:
Análisis
En esta etapa se conoce con detalle el funcionamiento de las áreas que se desean automatizar por medio de un programa o sistema informático. El análisis está constituido por una incesante búsqueda e integración de información por medio de entrevistas y encuestas aplicadas al personal inmiscuido, por parte de los desarrolladores y diseñadores.
Diseño
En esta fase se crean los diseños de lo que serán las interfaces o pantallas de comunicación, está asociada al tipo de ventanas que se utilizarán, a los colores empleados, al tipo de botones. Mediante herramientas de diseño de formulario es posible diseñar este tipo de objetos, para dar a conocer a la persona que se encuentre creando el software, cómo será la interfaz. Es necesario aclarar que hasta este momento las pantallas todavía no tienen funcionalidad, por decirlo de alguna manera están “huecas”.
Desarrollo
Mediante un lenguaje de programación se escribe el conjunto de algoritmos o razonamientos que darán funcionalidad al sistema operativo o programa aplicativo, para que este cumpla con el objetivo para el cual fue creado, esto por medio del código fuente y código objeto. En esta etapa trabajan programadores o expertos en lenguajes de programación que son los encargados de codificar los algoritmos e incorporarlos a las interfaces para darles funcionalidad.
Pruebas de software
En esta fase, el software desarrollado es sometido a múltiples pruebas para evaluar su funcionamiento, y buscar cualquier posible falla, no se puede pasar de esta etapa hasta que no se está seguro de que éste funciona correctamente.
Entrega del software
En esta etapa se instala el software en las áreas para las que fue creado. También se entregan los discos con el programa de instalación y una clave para acceso a un repositorio en la nube para descargar los programas.
De la anterior descripción surgen algunos términos propios de la informática, como lenguaje de programación, algoritmo, código fuente y código objeto, por lo que para concluir, se expone una breve definición de cada uno de ellos:
Lenguaje de Programación
Es una herramienta de desarrollo de software que permite crear programas y sistemas. Mediante un lenguaje de programación se pueden desarrollar otros lenguajes de programación, ejemplos de estos lenguajes son C#, C,C++, JAVA, Visual Basic, etc.
Algoritmo
Un algoritmo es una secuencia de instrucciones que tiene como objetivo llegar a la solución de un problema o un determinado fin. Los algoritmos son independientes del lenguaje de programación y estos tienen un principio y un fin.
Código Fuente
Conjunto de algoritmos escritos en el lenguaje de programación, mediante los cuales se desarrolla o construye un software. En el código fuente están contenidos todos los razonamientos que asignan comportamiento funcional a un programa o sistema.
Código Objeto
El código objeto es el código fuente compilado, es decir el código resultante de la compilación. Este se encuentra antes de generar el software ejecutable.
Fuentes bibliográficas:
[1] N. PATT Yale y J. PATEL, Sanjay. Introducción a los sistemas de cómputo: de los bits y compuertas al c y más allá. McGraw-Hill Interamericana, México, 2005. p. 5. [2]FERNANDEZ HADDAD, Jaime F, Experto en software, concepto obtenido de la entrevista personal en la Facultad de Derecho de la Universidad Veracruzana el 17 mayo del 2018, véase anexo no.1. [3]PÉREZ MIRANDA. Op. Cit., p. 392. [4]ORTIZ PEOZO, Rafael, Protección del software, Universidad de Margarita, Perú, 2004, p. 579. [5]CÁRDENO SHAADI. Op. Cit., p. 19. [6]BECERRA RAMÍREZ, Manuel, Los programas de computación y su regulación en la legislación mexicana, Instituto de Investigaciones Jurídicas UNAM, México, 2016, p. 283. [7] COPYRIGHT United States Office, Copyright Registration of Computer Programs, Circular 61, p.1, recuperado el 12 mayo del 2018 en: https://www.copyright.gov/circs/ [8] El hardware es un anglicismo que se refiere al conjunto de componentes que conforman la parte material o física de una computadora, ya que por otro lado el software refiere a los componentes lógicos o intangibles de la computadora. [9]BECERRA RAMÍREZ. Los programas de computación y su regulación en la legislación mexicana. Op. Cit., p. 284. [10] PRESSMAN, Roger, Ingeniería del Software: Un Enfoque Práctico, McGraw-Hill, México, 2010, p. 6. [11] App es actualmente un anglicismo que refiere a un programa aplicativo que puede ser instalado en dispositivos móviles y computadoras para que el usuario realice una actividad en específico, tal como recibir noticias y descargar archivos multimedia. [12]Recuperado de la página oficial de la Agencia Espacial Europea el 19 mayo del 2018 en: https://www.esa.int/About_Us/Law_at_ESA/Intellectual_Property_Rights/Copyright_and_software [13] FERNANDEZ HADDAD, Jaime F, Experto en software, concepto obtenido de la entrevista personal en la Facultad de Derecho de la Universidad Veracruzana el 17 de mayo del 2018.
Comentarios