Datos personales

domingo, 26 de abril de 2020

SOFTWARE

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: 

  • 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