SOFTWARE

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

SOFTWARE

Se conoce como software (pronunciación en inglés: /ˈsɔftˌwɛr/),1 logicial o soporte lógico


al sistema formal de un sistema informático, que comprende el conjunto de los
componentes lógicos necesarios que hace 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.2

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.3 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.

El anglicismo software es el más ampliamente difundido al referirse a este concepto,


especialmente en la jerga técnica, en tanto que el término sinónimo «logicial», derivado del
término francés logiciel, es utilizado mayormente en países y zonas de influencia francesa.

Etimología
Software (AFI: [ˈsoft.wer]) es una palabra proveniente del inglés, que en español no posee
una traducción adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir y así
fue admitida por la Real Academia Española (RAE).4 Aunque puede no ser estrictamente lo
mismo, suele sustituirse por expresiones tales como programas (informáticos), aplicaciones
(informáticas) o soportes lógicos.5
Software es lo que se denomina producto en ingeniería de software.6

El término «logicial» es un calco léxico del término francés logiciel, neologismo que se
formó en 1969 a partir de las palabras logique ('lógica') y matériel ('material') como
traducción de la Delegación de la informática responsable del Plan Calcul.7

Definición 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.
Extraído del estándar 729 del IEEE8
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.9

Clasificación del software

Buscador de Programas en Ubuntu 13.10


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:10

Software de sistema: Su objetivo es vincular 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:
Sistemas operativos
Controladores de dispositivos
Herramientas de diagnóstico
Herramientas de corrección y optimización
Servidores
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:
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
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:
Aplicaciones para Control de sistemas y automatización industrial
Aplicaciones ofimáticas
Software educativo
Software empresarial11
Bases de datos
Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
Videojuegos
Software médico
Software de cálculo numérico y simbólico.
Software de diseño asistido (CAD)
Software de control numérico (CAM)
Proceso de creación del software
Artículo principal: Proceso para el desarrollo de 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), este 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.).

Considerando los de gran porte, es necesario realizar complejas tareas, tanto técnicas como
de gerencia, una fuerte gestión y análisis diversos (entre otras cosas), la complejidad de ello
ha llevado a que desarrolle una ingeniería específica para tratar su estudio y realización: es
conocida como ingeniería de Software.
En tanto que en los de mediano porte, pequeños equipos de trabajo (incluso un avezado
analista-programador solitario) pueden realizar la tarea. Aunque, siempre en casos de
mediano y gran porte (y a veces también en algunos de pequeño porte, según su
complejidad), se deben seguir ciertas etapas que son necesarias para la construcción del
software. Tales etapas, si bien deben existir, son flexibles en su forma de aplicación, de
acuerdo a la metodología o proceso de desarrollo escogido y utilizado por el equipo de
desarrollo o por el analista-programador solitario (si fuere el caso).

Los «procesos de desarrollo de software» poseen reglas preestablecidas, y deben ser


aplicados en la creación del software de mediano y gran porte, ya que en caso contrario lo
más seguro es que el proyecto no logre concluir o termine sin cumplir los objetivos
previstos, y con variedad de fallos inaceptables (fracasan, en pocas palabras). Entre tales
«procesos» los hay ágiles o livianos (ejemplo XP), pesados y lentos (ejemplo RUP), y
variantes intermedias. Normalmente se aplican de acuerdo al tipo y porte del software a
desarrollar, a criterio del líder (si lo hay) del equipo de desarrollo. Algunos de esos procesos
son Programación Extrema (en inglés eXtreme Programming o XP), Proceso Unificado de
Rational (en inglés Rational Unified Process o RUP), Feature Driven Development (FDD),
etc.12

Cualquiera sea el «proceso» utilizado y aplicado al desarrollo del software (RUP, FDD, XP,
etc), y casi independientemente de él, siempre se debe aplicar un «modelo de ciclo de
vida».13

Se estima que, del total de proyectos software grandes emprendidos, un 28 % fracasan, un


46 % caen en severas modificaciones que lo retrasan y un 26 % son totalmente exitosos.14

Cuando un proyecto fracasa, rara vez es debido a fallas técnicas, la principal causa de fallos
y fracasos es la falta de aplicación de una buena metodología o proceso de desarrollo. Entre
otras, una fuerte tendencia, desde hace pocas décadas, es mejorar las metodolog

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy