You are on page 1of 18

CLASIFICACIÓN DE SOFTWARE Y SISTEMAS

DE APLICACIÓN.
Primero que nada para realizar la investigación definiría que es un software y para
que sirve. Así que “software” proviene del idioma inglés, pero que gracias a la
masificación de uso, ha sido aceptada por la Real Academia Española. Según la
RAE, el software es un conjunto de programas, instrucciones y reglas informáticas
que permiten ejecutar distintas tareas en una computadora

Se considera que el software es el equipamiento lógico e intangible de un


ordenador. En otras palabras, el concepto de software abarca a todas las
aplicaciones informáticas, como los procesadores de textos, las planillas de cálculo
y los editores de imágenes.

Así que el software básicamente es desarrollado por los programas de lenguaje


programación, que permiten controlar el comportamiento de una máquina. Estos
lenguajes consisten en un conjunto de símbolos y reglas sintácticas y semánticas,
que definen el significado de sus elementos y expresiones. Un lenguaje de
programación permite a los programadores del software especificar, en forma
precisa, sobre qué datos debe operar una computadora.

Son clasificados en:


1. Software de Sistema.
2. Software de Aplicación.
3. Software de Programación.

1. Se llama Software de
Sistema o Software de Base al
conjunto de programas que sirven para
interactuar con el sistema, confiriendo
control sobre el hardware, además de
dar soporte a otros programas.

El Software de Sistema se divide en:

 Sistema Operativo
 Controladores de Dispositivos
 Programas Utilitarios

 El Sistema Operativo Es un conjunto de programas que administran los


recursos de la computadora y controlan su funcionamiento.
Un Sistema Operativo realiza cinco funciones básicas: Suministro de Interfaz al
Usuario, Administración de Recursos, Administración de Archivos, Administración
de Tareas y Servicio de Soporte.
 Suministro de interfaz al usuario: Permite al usuario comunicarse con la
computadora por medio de interfaces que se basan en comandos, interfaces que
utilizan menús, e interfaces gráficas de usuario.
 Administración de recursos: Administran los recursos del hardware como la CPU,
memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de
salida.
 Administración de archivos: Controla la creación, borrado, copiado y acceso de
archivos de datos y de programas.
 Administración de tareas: Administra la información sobre los programas y
procesos que se están ejecutando en la computadora. Puede cambiar la prioridad
entre procesos, concluirlos y comprobar el uso de estos en la CPU, así como
terminar programas.
 Servicio de soporte: Los Servicios de Soporte de cada sistema operativo
dependen de las implementaciones añadidas a este, y pueden consistir en inclusión
de utilidades nuevas, actualización de versiones, mejoras de seguridad,
controladores de nuevos periféricos, o corrección de errores de software.
 Controladores de Dispositivos

Los Controladores de Dispositivos son programas que permiten a otros programa


de mayor nivel como un sistema operativo interactuar con un dispositivo de
hardware.
 Programas Utilitarios

Los Programas Utilitarios realizan diversas funciones para resolver problemas


específicos, además de realizar tareas en general y de mantenimiento. Algunos se
incluyen en el sistema operativo.

2. Software de aplicación.
El Software de Aplicación son los programas diseñados para o por los
usuarios para facilitar la realización
de tareas específicas en la
computadora, como pueden ser las
aplicaciones ofimáticas (procesador
de texto, hoja de cálculo, programa
de presentación, sistema de gestión
de base de datos...), u otros tipos de
software especializados como
software médico, software
educativo, editores de música,
programas de contabilidad, etc.
Las funciones de una aplicación dependen de su propósito, según el cual
pueden clasificarse en dos categorías:

Programas básicos (o utilitarios)

Son aplicaciones cuyo propósito es mejorar, en alguna forma, el desempeño del


ordenador.

Programas de productividad

Son aplicaciones cuyo propósito es facilitar, agilizar y mejorar para el usuario, la


ejecución de ciertas tareas.

Algunos programas de productividad


Procesadores de texto: Aplicaciones diseñadas para editar y/o procesar de texto,
logrando documentos de alta calidad.

Hojas de cálculo: Aplicaciones especialmente diseñadas para introducir, calcular,


manipular y analizar conjuntos de números.

Presentaciones automatizadas: Aplicaciones que permiten al usuario crear y


editar presentaciones atractivas, incluyendo imágenes y sonidos.

Navegadores de Internet: Aplicaciones diseñadas para proveer acceso a


Internet, sus servicios y sus recursos.

Administradores de bases de datos: Aplicaciones diseñadas para


acceder, almacenar y procesar grandes colecciones de datos, en una forma
eficiente.

Desarrolladores de sitios web: Aplicaciones que brindan al usuario las


herramientas necesarias para diseñar, crear, editar y publicar páginas y sitios
Web.

3. 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.
Un lenguaje de programación
es un idioma artificial diseñado
para expresar computaciones
que pueden ser llevadas a
cabo por máquinas como las
computadoras. Pueden usarse
para crear programas que controlen el comportamiento físico y lógico de una
máquina, para expresar solución a problemas con pasos lógicos y con
precisión, o como modo de comunicación humana. Está formado por un
conjunto de símbolos y reglas que definen su estructura y el significado de
sus elementos y expresiones.
Algoritmo

Un algoritmo es una secuencia de procesos o pasos que están lógicamente


relacionados para llegar a la solución de un problema planteado.

Un algoritmo se basa en una lista de instrucciones que guían el paso a paso de un


proceso determinado, donde este conjunto de pasos es finito y son seguidos de un
orden lógico que entregan la solución a un problema.

Un algoritmo tiene una estructura básica para plantear la solución a un problema,


el primer paso es plantear y analizar un problema, luego identificar las entradas, los
procesos y todas las salidas a dicho problema; y se continúa diseñando el algoritmo,
para esto se describe la secuencia de pasos de manera ordenada y precisa.

Ejemplos de algoritmos

Los algoritmos deben tener características básicas para ser considerados como
tales, siendo precisos e indicando el orden de cada paso, tienen que ser definidos,
la cantidad de pasos tiene que ser finita para terminar el algún momento y debe
constar de una entrada y salida.
Ejemplos de algoritmos trasladados al contexto escolar
El profesor pide a sus alumnos realizar una composición escrita acerca de la
importancia de reciclar

1. Inicio
2. Tomar el cuaderno y lápiz
3. Comenzar a escribir los aspectos más relevantes sobre el reciclaje
4. Revisar faltas de ortografías y coherencia del texto
5. Si existen errores volver al paso 3
6. Volver al paso 4
7. Fin

Ejemplos de algoritmos trasladados al contexto de la vida cotidiana


Cambiar la bombilla de la cocina

1. Inicio
2. Quitar la bombilla dañada del techo de la cocina
3. Tomar el envase de las nuevas bombillas y retirar una
4. Colocar la bombilla en el lugar de la bombilla dañada
5. Verificar el funcionamiento de la nueva bombilla
6. Si no funciona volver al paso 3
7. Volver al paso 4
8. Finalizar

Un ejemplo rápido de algoritmos es ¿Cómo encontrar el promedio de un conjunto


de notas?, primer paso, sumar todas las notas obtenidas, luego contar la cantidad
de notas obtenidas y dividir el resultado de esta suma por la cantidad de notas
totales.

PROGRAMACIÓN.

Es el proceso de escribir (en un lenguaje de programación el código fuente de un


software), analizar, depurar y mantener el código programado. El objetivo de la
programación es crear programas que después serán ejecutados por otros
programas o directamente por el hardware de la computadora para la facilitación de
los problemas y necesidades de los usuarios.

 Programa
Es un conjunto de instrucciones que el CPU de una computadora puede entender y
ejecutar. Los programadores crean los programas al escribir un conjunto de
comandos en un editor. Todo el conjunto de comandos se almacena en un archivo
y se crea el código fuente del programa. La compilación es el proceso mediante el
cual se convierte un código fuente a un código objeto almacenado en un archivo.
Un enlazador acomoda todos los archivos para crear un archivo ejecutable. Esto es
una pequeña introducción de cómo crear un programa, aunque faltan varios pasos
a seguir.

 lenguaje de programación
Un lenguaje de programación" es un lenguaje diseñado para describir el conjunto
de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de
programación es un modo práctico para que los seres humanos puedan dar
instrucciones a un equipo.
Por otro lado, el término "lenguaje natural" define un medio de comunicación
compartido por un grupo de personas (por ejemplo: inglés o francés).
Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada
que ver con los lenguajes de programación; se los conoce como protocolos de
comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de
programación es muy estricto:
El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata de
datos tal como llegan al procesador, que consisten en una serie de 0 y 1 (datos
binarios).
El lenguaje máquina, por lo tanto, no es comprensible para los seres humanos,
razón por la cual se han desarrollado lenguajes intermediarios comprensibles para
el hombre. El código escrito en este tipo de lenguaje se transforma en código
máquina para que el procesador pueda procesarlo.
El ensamblador fue el primer lenguaje de programación utilizado. Es muy similar al
lenguaje máquina, pero los desarrolladores pueden comprenderlo. No obstante,
este lenguaje se parece tanto al lenguaje máquina que depende estrictamente del
tipo de procesador utilizado (cada tipo de procesador puede tener su propio lenguaje
máquina). Así, un programa desarrollado para un equipo no puede ser portado a
otro tipo de equipo. El término "portabilidad" describe la capacidad de usar un
programa de software en diferentes tipos de equipos. Para poder utilizar un
programa de software escrito en un código ensamblador en otro tipo de equipo, ¡a
veces será necesario volver a escribir todo el programa!
Por lo tanto, un lenguaje de programación tiene varias ventajas:
 Es mucho más fácil de comprender que un lenguaje máquina:
 Permite mayor portabilidad, es decir que puede adaptarse fácilmente para
ejecutarse en diferentes tipos de equipos.

Lenguajes de programación imperativos y funcionales

Los lenguajes de programación generalmente se dividen en dos grupos principales


en base al procesamiento de sus comandos:
 Lenguajes imperativos;
 Lenguajes funcionales.

Lenguaje de programación imperativo

Un lenguaje imperativo programa mediante una serie de comandos, agrupados en


bloques y compuestos de órdenes condicionales que permiten al programa retornar
a un bloque de comandos si se cumple la condición. Estos fueron los primeros
lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan
este principio.
No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido
a la secuencialita de las instrucciones.

Lenguaje de programación funcional

Un lenguaje de programación funcional(a menudo llamado lenguaje


procedimental) es un lenguaje que crea programas mediante funciones, devuelve
un nuevo estado de resultado y recibe como entrada el resultado de otras funciones.
Cuando una función se invoca a sí misma, hablamos de recursividad.

EDITOR DE TEXTO
Un editor de texto es un programa que permite crear y modificar archivos digitales
compuestos únicamente por texto sin formato. Cuenta con las diferentes herramientas por
medio de las cuelas se modifica el estilo del texto, el tamaño, la fuente, alineación, color,
etc.

EDITORES DE TEXTO

El editor de textos es el programa que cuenta con herramientas mediante la cual se puede
agregar texto y modificarlo, así como cambiar la apariencia: tipo de letra, tamaño,
alineación, color,...
Ejemplo:
INTERPRETACIÓN Y COMPILACIÓN
Los lenguajes de programación pueden, en líneas generales, dividirse en dos
categorías:
 lenguajes interpretados
 lenguajes compilados

Lenguaje interpretado
Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por
lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa
escrito en un lenguaje interpretado requiere de un programa auxiliar (el intérprete),
que traduce los comandos de los programas según sea necesario.

Lenguaje compilado
Un programa escrito en un lenguaje "compilado" se traduce a través de un
programa anexo llamado compilador que, a su vez, crea un nuevo archivo
independiente que no necesita ningún otro programa para ejecutarse a sí mismo.
Este archivo se llama ejecutable.
Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un
programa anexo para ser ejecutado una vez que ha sido compilado. Además, como
sólo es necesaria una traducción, la ejecución se vuelve más rápida.
Sin embargo, no es tan flexible como un programa escrito en lenguaje interpretado,
ya que cada modificación del archivo fuente (el archivo comprensible para los seres
humanos: el archivo a compilar) requiere de la compilación del programa para
aplicar los cambios.
Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad
del código fuente. En efecto, el lenguaje interpretado, al ser directamente un
lenguaje legible, hace que cualquier persona pueda conocer los secretos de
fabricación de un programa y, de ese modo, copiar su código o incluso modificarlo.
Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Por
otro lado, ciertas aplicaciones aseguradas necesitan confidencialidad de código
para evitar las copias ilegales (transacciones bancarias, pagos en línea,
comunicaciones seguras...).
Lenguajes intermediarios
Algunos lenguajes pertenecen a ambas categorías (LISP, Java, Python...) dado que
el programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de
compilación intermediaria, en un archivo escrito en un lenguaje ininteligible (por lo
tanto diferente al archivo fuente) y no ejecutable (requeriría un intérprete). Los
applets Java, pequeños programas que a menudo se cargan en páginas web, son
archivos compilados que sólo pueden ejecutarse dentro de un navegador web (son
archivos con la extensión .class).

Algunos ejemplos de lenguajes ampliamente usados


A continuación, encontrará una breve lista de los lenguajes de programación
actuales:

Lenguaje Principal área de aplicación Compilado/interpretado

ADA Tiempo real Lenguaje compilado

BASIC Programación para fines Lenguaje interpretado


educativos

C Programación de sistema Lenguaje compilado

C++ Programación de sistema Lenguaje compilado


orientado a objeto

Cobol Administración Lenguaje compilado

Fortran Cálculo Lenguaje compilado

Java Programación orientada a Internet Lenguaje intermediario

MATLAB Cálculos matemáticos Lenguaje interpretado

Cálculos Cálculos matemáticos Lenguaje interpretado


matemáticos

LISP Inteligencia artificial Lenguaje intermediario

Pascal Educación Lenguaje compilado

PHP Desarrollo de sitios web dinámicos Lenguaje interpretado


Inteligencia Inteligencia artificial Lenguaje interpretado
artificial

Perl Procesamiento de cadenas de Lenguaje interpretado


caracteres

 Paradigmas de programación
Podemos definir como paradigma de programación al modelo que seguimos
para programar. Los paradigmas de programación más utilizados son:

 Paradigma de programación Imperativo


Los programas que podemos clasificar como imperativos, son todos aquellos
que contienen un grupo de datos acompañados de una serie de
instrucciones, con los cuales se le indica a la computadora cómo realizar una
tarea específica. Con estos elementos se logra formar una abstracción de
los datos y del código en la memoria principal. Este modelo ha tenido gran
éxito entre los programadores por su sencillez y cercanía a la arquitectura de
las computadoras convencionales.

 C: Es un claro ejemplo de lenguaje de programación imperativo, ya que


forma una abstracción de la máquina de Von-Neumann, que se caracteriza
por: la memoria principal y la unidad central de proceso.

 Paradigma de programación Funcional


Los programas funcionales son aquellos que tienen como objetivo principal
el uso de funciones matemáticas puras. El modelo funcional es muy parecido
a una calculadora, el usuario introduce una expresión inicial y es evaluada
por el lenguaje. En este modelo el programador utiliza definiciones de
funciones para obtener un valor irreductible. El modelo funcional se
caracteriza por utilizar funciones de orden superior, sistemas de inferencia
de tipos, polimorfismo, listas por comprensión y evaluación perezosa.

Haskell: Es un lenguaje de programación funcional, en este lenguaje


podemos
Encontrar las características más significativas del paradigma funcional.

 Paradigma de programación Lógica


Los programas que podemos clasificar como lógicos, son aquellos que están
basados en premisas (hechos) y que a partir de esas reglas (supuestos
verdaderos), el programa nos retorna un valor verdadero. Con este
paradigma de programación, es muy sencillo modelar un programa, basado
en lógica matemática. Además se puede escribir código más legible y
eficiente, lo que hace más sencilla la tarea de dar mantenimiento al
programa.

Prolog: Es un lenguaje de programación lógica, este lenguaje se basa en un


conjunto de hechos y de reglas. Su forma de trabajo, consiste en realizar una
pregunta, para obtener por inferencia los resultados, los cuales deduce a
partir de la relación entre las premisas y las reglas.

 Paradigma de programación Orientada a Objetos


La programación orientada a objetos, como su nombre lo indica, es toda
aquella que se basa en la construcción de objetos y sus métodos, para que
puedan interactuar entre ellos. Este tipo de programación se basa
principalmente en el diseño del sistema y utiliza varias técnicas; entre las más
utilizadas podemos encontrar: herencia, polimorfismo y encapsulamiento.

Java es un lenguaje de programación orientada a objetos, en este lenguaje


podemos encontrar muchas de las características que conforman a la
programación orientada a objetos.

Archivos ejecutables
Un ejecutable es un archivo binario creado para iniciar un programa. Este tipo de
archivos contienen instrucciones específicas para ejecutar un programa o varios.

Comúnmente se utiliza la extensión .EXE (executable) en windows, aunque también


existen otros tipos de ejecutables como los .COM (que fueron los primeros), los BAT
(archivos de procesamiento de lotes que ejecutan varios programas).

El archivo ejecutable puede venir solo o acompañado de más archivos, pero


siempre será él quien inicie la ejecución, carga y manejo de esos archivos.

Cualquier archivo ejecutable necesita un sistema operativo, el cual le permite al


ordenador entender lo que el archivo dice y llevar a cabo las tareas.
Consola de línea de comandos
Las consolas o terminales suelen llamarse Konsole, Xterm, Mrxvt, Gnome-terminal,
etc. permite a las personas dar instrucciones a algún programa informático por
medio de una línea de texto simple.

La consola de línea de comandos te permite acceder de manera más rápida a


archivos, sin la necesidad de usar el mouse.

Por medio de comandos de texto se pueden acceder a carpetas, archivos, etc. Por
ejemplo, si queremos encontrar un archivo usamos el comando locate. Si
quisiéramos encontrar un archivo JPG utilizamos locate jpg y obtendremos un
listado de todos los archivos JPG en nuestro disco rígido.

Mapas conceptuales
BIBLIOGRAFIAS

 http://definicion.de/software/
 Abella, J. Sánchez y M. A. Segovia. (2004). Libro Blanco del Software Libre .
España: A. Abella, J. Sánchez y M. A. Segovia.
 http://proyectoova.webcindario.com/software_de_aplicacin.html
 WATT, D. 1989. Programming Languaje Concepts and Paradigms. Glasgow
University, Uk. Edit. Prentice Hall UK
 SEBESTA, R. R. 1999. Concepts of Programming Languajes. University of
Colorado. 4º Ed. Edit. Addison Wesley U.S.A.
 https://funprogramacion.wikispaces.com/Lenguaje+de+Programaci%C3%B3n
 http://michelletorres.mx/paradigmas-de-programacion/
 http://www.mastermagazine.info/termino/3904.php
 https://es.scribd.com/doc/6291235/Archivos-Ejecutables
 https://tecsiscom.wordpress.com/2012/09/07/1-10consola-de-linea-de-
comandos/
 http://tarea1fp.blogspot.mx/2015/08/110-consola-de-linea-de-comandos.html

You might also like