Sunteți pe pagina 1din 9

Fundamentos de software

Existen varias definiciones similares aceptadas para software, pero probablemente la


más formal sea la siguiente:

Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y


datos asociados, que forman parte de las operaciones de un sistema de computación.

Considerando esta definición, 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.

El término software fue usado por primera vez en este sentido por John W. Tukey en
1957. 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.

El concepto de leer diferentes secuencias de instrucciones (programa) desde la


memoria de un dispositivo para controlar los cálculos fue introducido por Charles
Babbage como parte de su máquina diferencial. La teoría que forma la base de la
mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de
1936, «Los números computables», con una aplicación al problema de decisión.

Clasificación del software

Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines
prácticos se puede clasificar al software en tres tipos:

 Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al


programador de los detalles del sistema informático en particular que se use,
aislándolo especialmente del procesamiento referido a las características
internas de: memoria, discos, puertos y dispositivos de comunicaciones,
impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario
y programador adecuadas interfaces de alto nivel, controladores, herramientas y
utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye
entre otros:
o Sistemas operativos
o Controladores de dispositivos
o Herramientas de diagnóstico
o Herramientas de corrección y optimización
o Servidores
o Utilidades
 Software de programación: Es el conjunto de herramientas que permiten al
programador desarrollar programas de informática, usando diferentes
alternativas y lenguajes de programación, de una manera práctica. Incluyen en
forma básica:
o Editores de texto
o Compiladores
o Intérpretes
o Enlazadores
o Depuradores
o Entornos de desarrollo integrados (IDE): Agrupan las anteriores
herramientas, usualmente en un entorno visual, de forma tal que el
programador no necesite introducir múltiples comandos para compilar,
interpretar, depurar, etc. Habitualmente cuentan con una avanzada
interfaz gráfica de usuario (GUI).

 Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una
o varias tareas específicas, en cualquier campo de actividad susceptible de ser
automatizado o asistido, con especial énfasis en los negocios. Incluye entre
muchos otros:
o Aplicaciones para Control de sistemas y automatización industrial
o Aplicaciones ofimáticas
o Software educativo
o Software empresarial
o Bases de datos
o Telecomunicaciones (por ejemplo, Internet y toda su estructura lógica)
o Videojuegos
o Software médico
o Software de cálculo numérico y simbólico.
o Software de diseño asistido (CAD)
o Software de control numérico (CAM)

Proceso de creación del software

Se define como «proceso» al conjunto ordenado de pasos a seguir para llegar a la


solución de un problema u obtención de un producto, en este caso particular, para
lograr un producto software que resuelva un problema específico.

El proceso de creación de software puede llegar a ser muy complejo, dependiendo de


su porte, características y criticidad del mismo. Por ejemplo, la creación de un sistema
operativo es una tarea que requiere proyecto, gestión, numerosos recursos y todo un
equipo disciplinado de trabajo. En el otro extremo, si se trata de un sencillo programa
(por ejemplo, la resolución de una ecuación de segundo orden), éste puede ser
realizado por un solo programador (incluso aficionado) fácilmente. Es así que
normalmente se dividen en tres categorías según su tamaño (líneas de código) o costo:
de «pequeño», «mediano» y «gran porte». Existen varias metodologías para estimarlo,
una de las más populares es el sistema COCOMO que provee métodos y un software
(programa) que calcula y provee una aproximación de todos los costos de producción
en un «proyecto software» (relación horas/hombre, costo monetario, cantidad de líneas
fuente de acuerdo a lenguaje usado, etc.).

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; las que se pueden
resumir como sigue:

 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

En las anteriores etapas pueden variar ligeramente sus nombres, o ser más globales, o
contrariamente, ser más refinadas; por ejemplo, indicar como una única fase (a los
fines documentales e interpretativos) de «análisis y diseño»; o indicar como
«implementación» lo que está dicho como «codificación»; pero en rigor, todas existen e
incluyen, básicamente, las mismas tareas específicas.
Fundamentos de software
Se conoce como software al soporte lógico de un sistema informático, que comprende
el conjunto de los componentes lógicos necesarios que hacen posible la realización de
tareas específicas, en contraposición a los componentes físicos que son llamados
hardware. La interacción entre el software y el hardware hace operativo un ordenador
(u otro dispositivo), es decir, el Software envía instrucciones que el Hardware ejecuta,
haciendo posible su funcionamiento.

Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas,
tales como el procesador de texto, que permite al usuario realizar todas las tareas
concernientes a la edición de textos; el llamado software de sistema, tal como el
sistema operativo, que básicamente permite al resto de los programas funcionar
adecuadamente, facilitando también la interacción entre los componentes físicos y el
resto de las aplicaciones, y proporcionando una interfaz con el usuario.

El software en su gran mayoría, está escrito en lenguajes de programación de alto


nivel, ya que son más fáciles y eficientes para que los programadores los usen, porque
son más cercanos al lenguaje natural respecto del lenguaje de máquina. Los lenguajes
de alto nivel se traducen a lenguaje de máquina utilizando un compilador o un
intérprete, o bien una combinación de ambos. El software también puede estar escrito
en lenguaje ensamblador , que es de bajo nivel y tiene una alta correspondencia con
las instrucciones de lenguaje máquina; se traduce al lenguaje de la máquina utilizando
un ensamblador.

Tipos de Software. Sin duda muchos opinarán que el software lo podemos clasificar
de mil maneras, hasta cierto punto es verdad, sin embargo si buscamos hacer una
clasificación entendible para el usuario normal, hablo de personas poco estudiadas
o que no precisamente saben de software, entonces debemos clasificarlos de la
siguiente manera.

Software de Sistema

El software de sistema, digamos que es la parte esencial, en ella no solamente


podemos clasificar los sistemas operativos como Linux, Windows o Mac, también
debemos agregar aquel software que permite la comunicación entre el Hardware y
el sistema operativo, los controladores de sistema para la ejecución de diversos
sectores de la computadora e incluso programas que son capaces de administrar los
recursos y de proporcionarle al usuario una bella interfaz para que pueda controlar la
computadora de una forma muy sencilla.

La clasificación del Software de sistema queda de la siguiente manera:

 Sistemas operativos
 Controladores de dispositivo
 Herramientas de diagnóstico
 Herramientas de Corrección y Optimización
 Servidores
 Utilidades

Software de Programación

Está claro que para que puedan existir diversos programas, primero debe haber
personas encargadas del desarrollo de sistemas, en este caso haciendo uso de
software de programación, por eso la clasificación continua en este punto, después
de que el sistema operativo es la base de todo, la programación le sigue muy detrás,
un software que ayuda en la creación y desarrollo de aplicaciones, haciendo uso
de conocimientos lógicos y de programación.

Algunos ejemplos de esto, son los compiladores y los editores de texto, un conjunto
de software que trabaja de la mano uno con el otro, el programador desarrolla en un
editor de texto y posteriormente compila el programa para verificar que está correcto,
esto en cualquier lenguaje de programación, aunque actualmente existen Entornos
de Desarrollo Integrados (IDE) que no son más que un programa informático que
consta de una serie de herramientas de programación, los que actualmente utilizan
los lenguajes de programación para su desarrollo.

La Clasificación del software de programación es la siguiente:

 Editores de texto
 Compiladores
 Intérpretes
 Enlazadores
 Depuradores
 Entornos de Desarrollo Integrados (IDE)

Software de Aplicación

El software de aplicación, es aquel que utilizamos día a día, cada uno de los
programas, aplicaciones o utilidades que manejamos dentro de nuestra computadora,
entran dentro de esta clasificación, es el resultado de la programación de software,
enfocado hacia alguno de los sistemas operativos, como puedes ver es el tercer y
último paso, hablando de forma técnica es el software diseñado para el usuario
final.

Dentro de los ejemplos que podría darte, se encuentran todos los programas que usas
día a día, la paquetería de Office, los programas para comunicarte por medio de chat,
los programas para ver fotos, utilidades para escuchar música en la computadora, los
antivirus, etc.

La clasificación del software de aplicación queda de al siguiente manera:

 Aplicaciones de Sistema de control y automatización industrial


 Aplicaciones ofimáticas
 Software educativo
 Software médico
 Software de Cálculo Numérico
 Software de Diseño Asistido (CAD)
 Software de Control Numérico (CAM)
Así que ahora ya sabes como se clasifica el tipo de software, aunque esta
clasificación podría variar, es una buena forma para que cualquier persona lo pueda
entender y comprender fácilmente.

Lenguajes de programación

Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos


que pueden ser llevados a cabo por máquinas tales como ordenadores. Está formado
por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura
y el significado de sus elementos y expresiones. Al proceso por el cual se escribe,
prueba, depura, compila (si es necesario) y se mantiene el código fuente de un programa
se le llama programación.
La diferencia entre el lenguaje algorítmico y el informático, es que el algorítmico es aquel
por medio del cual se realiza un análisis previo del problema a resolver y encontrar un
método que permita resolverlo. El conjunto de todas las operaciones a realizar, y el orden
en el que deben efectuarse, se denomina algoritmo. El lenguaje informático es aquel
por medio del cual dicho algoritmo se codifica a un sistema comprensible por el
ordenador.

Proceso de creación del 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; las que se pueden
resumir como sigue:
 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

En las anteriores etapas pueden variar ligeramente sus nombres, o ser más globales, o
contrariamente, ser más refinadas; por ejemplo indicar como una única fase (a los fines
documentales e interpretativos) de «análisis y diseño»; o indicar como
«implementación» lo que está dicho como «codificación»; pero en rigor, todas existen e
incluyen, básicamente, las mismas tareas específicas.

S-ar putea să vă placă și