DEFINICIÓN DE SOFTWARE:
El software o soporte lógico de un ordenador es el conjunto de programas, procedimientos
y documentación que forman parte de un sistema informático.
"Es el conjunto de los programas informáticos, procedimientos, reglas, documentación
y datos asociados que forman parte de las operaciones de un sistema de
computación."
Extraído del estándar 729 del IEEE6
![]() |
Mapa Conceptual de Software |
CLASIFICACIÓN DE SOFTWARE SEGÚN SU FUNCIÓN
1. SOFTWARE BASE (SISTEMA):
El software de sistemas corresponde a la clase de programas que controlan y apoyan al hardware de
computadora y sus actividades de procesamiento de la información. Es más general que el de aplicación y
suele ser independiente de cualquier tipo específico de aplicación. Apoyan al de aplicación dirigiendo las
funciones básicas de la computadora.
1.1. SISTEMA OPERATIVO
Es un conjunto de programas destinado a gestionar los recursos del
computador de manera eficiente. El sistema operativo administrar los recursos
del hardware y permite al usuario comunicarse con la computadora.
1.2. CONTROLADORES DE DISPOSITIVOS
Un controlador de dispositivo es un pequeño software cuya funciones es indicar al sistema operativo y otros software el modo en el cual comunicarse con una pieza de hardware. También conocidos como Drivers.
1.3. HERRAMIENTAS DE DIAGNOSTICO
Una herramienta de diagnostico es un software que permite monitorear y en algunos casos controlar la funcionalidad del hardware. Estos dispositivos pueden ser, la memoria RAM, el procesador, los discos duros, ruteadores, tarjetas de red, entre muchos dispositivos mas.
1.4. SERVIDOR
Es un tipo de software que realiza ciertas tareas en nombre de los usuarios.
1.5. UTILIDAD
Es un software diseñado para ayudar a analizar, configurar, optimizar o mantener una computadora.
2. SOFTWARE DE PROGRAMACIÓN
Es un conjunto de herramientas que permiten desarrollar software de
aplicaciones. Entre el software de programación encontramos:
- Compiladores,
- Intérpretes,
- Depuradores,
- Entornos de desarrollo Integrados, etc.
2.1. LENGUAJES DE PROGRAMACIÓN
Los lenguajes de programación constituyen básicamente un conjunto de símbolos y de reglas que se usan para
escribir el código del programa, se puede decir que son los bloques constitutivos básicos para todo el software
de los sistemas. Cada lenguaje emplea un conjunto diferente de reglas y la sintaxis que dicta cómo se
combinan los símbolos de manera que tengan significado.
EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
Las diferentes etapas de los lenguajes de programación reciben el nombre de “generaciones”. Todas ellas continúan utilizándose.
⃞Lenguaje de Máquina: Constituye el lenguaje de cómputo de más bajo nivel, y consiste en la representación
interna de las instrucciones y de los datos. Este código de máquina está compuesto por dígitos binarios.
Resulta muy difícil de entender y de usar para los programadores, por eso se han creado lenguajes cada vez
más orientados al usuario, aunque siempre los traduce primero al programa de lenguaje máquina.
⃞Lenguaje Ensamblador: Está más orientado al usuario y representa las instrucciones y las localidades de los datos recurriendo a las ayuda memoria que la gente puede utilizar con mayor facilidad. Aunque facilita la tarea al programador, una instrucción en este lenguaje sigue traduciéndose a una instrucción en lenguaje de máquina.
⃞Lenguajes Procedurales (Tercera Generación): Estos requieren que el programador especifique exactamente paso por paso, cómo llevaría a cabo una tarea la computadora. Un lenguaje procedural se orienta hacia la manera en que se va a producir un resultado. Estos deben traducirse al lenguaje de máquina antes de su ejecución, para lo cual existen dos traductores de lenguaje:
⃞Lenguaje Ensamblador: Está más orientado al usuario y representa las instrucciones y las localidades de los datos recurriendo a las ayuda memoria que la gente puede utilizar con mayor facilidad. Aunque facilita la tarea al programador, una instrucción en este lenguaje sigue traduciéndose a una instrucción en lenguaje de máquina.
⃞Lenguajes Procedurales (Tercera Generación): Estos requieren que el programador especifique exactamente paso por paso, cómo llevaría a cabo una tarea la computadora. Un lenguaje procedural se orienta hacia la manera en que se va a producir un resultado. Estos deben traducirse al lenguaje de máquina antes de su ejecución, para lo cual existen dos traductores de lenguaje:
- Compiladores: La traducción de un programa en lenguaje de alto nivel a código objeto se realiza mediante un programa de software que se llama compilador y el proceso de traducción se denomina compilación.
- Intérpretes: Un intérprete constituye un compilador que traduce y ejecuta una instrucción de programa fuente a la vez. Esto los hace más simples, lo que permite que los intérpretes proporcionen mayores ayudas para la depuración y el diagnóstico.
⃞Lenguajes no procedurales (Cuarta Generación): Permite al usuario especificar los resultados deseados
sin tener que indicar los procedimientos detallados que se necesitan para llegar a los resultados. Una ventaja
es la posibilidad de que los manipulen usuarios no técnicos para efectuar tareas funcionales específicas.
Además simplifican y aceleran en gran medida el proceso de programación y reducen el número de errores de
codificación.
⃞Lenguajes de la Quinta Generación: Los lenguajes de programación de lenguaje natural (NLP) son el
siguiente paso evolutivo. Los programas de traducción para convertir los lenguajes naturales en una forma
legible y estructurada para la máquina son sumamente complejos y requieren una gran cantidad de recursos
de cómputo como INTELLECT y ELF. Estos constituyen usualmente interfaces para los lenguajes de la cuarta
generación mejorando la interfaz con el usuario con estos mismos lenguajes.
![]() |
Software de Programación |
3. SOFTWARE DE APLICACIÓN
El Software de Aplicación son programas que buscan facilitar la realización de
tareas en la computadora al usuario. Entre las tareas, encontramos:
- Aplicaciones ofimáticas: LibreOffice, Microsoft Office, etc.
- Software educativo: Matlab, Mathematica, etc.
- Juegos: Pacman, sudoku, etc
- Software de Cálculo Numérico y simbólico.
- Software de Diseño Asistido (CAD)
- Software de Control Numérico (CAM)
CLASIFICACIÓN DEL SOFTWARE SEGÚN SU LICENCIAMIENTO
SOFTWARE PROPIETARIO
Son software en el que los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o redistribuirlo o cuyo código fuente no esta disponible o el acceso a este se encuentra restringido. Este tipo de software esta protegido por los derechos de autor.
SOFTWARE LIBRE
Es el software con autorización para que cualquiera pueda usarlo, copiarlo,
modificarlo y distribuirlo. En particular, ésto significa que el código fuente debe
estar disponible.
El software es libre si hay:
- Libertad de usar el programa, con cualquier propósito
- Libertad de estudiar cómo funciona el programa y adaptarlo.
- El acceso al código fuente y libertad de distribuir copias
- Libertad de mejorar el programa y hacer públicas las mejoras a los demás.
"Richard Stallman, el mesías del Sofware libre"
ETAPAS DEL CICLO DE VIDA DEL SOFTWARE
REFERENCIAS BIBLIOGRÁFICAS:
- Pantaleo, G. (2011). Calidad en el Desarrollo de Software. Recuperado de https://www.academia.edu/38707258/CALIDAD_EN_EL_DESARROLLO_DE_SOFTWARE
- Sánchez, J. (2013). Software 1.: Sistema Operativo, Software de Aplicación. Recuperado de https://proyectocirculos.files.wordpress.com/2013/11/software.pdf
- Stallman, R. (2004). Software libre para una sociedad libre. Recuperado de https://www.gnu.org/philosophy/fsfs/free_software2.es.pdf
No hay comentarios:
Publicar un comentario