Вы находитесь на странице: 1из 5

Software

Dentro de la categora de software de aplicacin estn incluidos


los procesadores de texto como Libre Office Writer (arriba) y los editores
grficos rasterizados como Krita (abajo).
Se conoce como software al equipamiento lgico o soporte lgico de
un sistema informtico,
Que comprende el conjunto de los componentes lgicos necesarios que
hacen posible la realizacin de tareas especficas, en contraposicin a los
componentes fsicos que son llamados hardware.
Los componentes lgicos incluyen, entre muchos otros, las aplicaciones
informticas; tales como el procesador de texto, que permite al usuario realizar
todas las tareas concernientes a la edicin de textos; el llamado software de
sistema, tal como el sistema, que bsicamente permite al resto de los
programas funcionar adecuadamente, facilitando tambin la interaccin entre
los componentes fsicos y el resto de las aplicaciones, y proporcionando
una interfaz con el usuario.
El anglicismo "software" es el ms ampliamente difundido al referirse a
este concepto, especialmente en la jerga tcnica; en tanto que el trmino
sinnimo logicial, derivado del trmino francs logiciel, es utilizado
mayormente en pases y zonas de influencia francesa.
Software (pronunciacin es una palabra proveniente del ingls (literalmente:
partes blandas o suaves), que en espaol no posee una traduccin adecuada
al contexto, por lo cual se la utiliza asiduamente sin traducir y as fue admitida
por la Real Academia Espaola (RAE).
Aunque puede no ser estrictamente lo mismo, suele sustituirse por
expresiones
tales
como programas
(informticos) o aplicaciones
(informticas) o soportes lgicos.
Software es lo que se denomina producto en Ingeniera de Software.
Definicin de software
Existen varias definiciones similares aceptadas para software, pero
probablemente la ms formal sea la siguiente:
Es el conjunto de los programas de cmputo, procedimientos, reglas,
documentacin y datos asociados, que forman parte de las operaciones de un
sistema de computacin.
Extrado del estndar 729 del IEEE
Considerando esta definicin, el concepto de software va ms all de los
programas
de
computacin
en
sus
distintos
estados: cdigo
fuente, binario o ejecutable; tambin su documentacin, los datos a procesar e
incluso la informacin de usuario forman parte del software: es decir, abarca
todo lo intangible, todo lo no fsico relacionado.
El trmino software fue usado por primera vez en este sentido
por John W. Tukey en 1957. En la ingeniera de software y las ciencias de la

computacin, el software es toda la informacin procesada por los sistemas


informticos: programas y datos.
El concepto de leer diferentes secuencias de instrucciones (programa)
desde la memoria de un dispositivo para controlar los clculos fue introducido
por Charles Babbage como parte de su mquina diferencial. La teora que
forma la base de la mayor parte del software moderno fue propuesta por Alan
Turing en su ensayo de 1936, Los nmeros computables, con una aplicacin
al problema de decisin.
Clasificacin del software
Si bien esta distincin es, en cierto modo, arbitraria, y a veces confusa, a los
fines prcticos se puede clasificar al software en tres grandes tipos:

Software de sistema: Su objetivo es desvincular adecuadamente al


usuario y al programador de los detalles del sistema informtico en
particular que se use, aislndolo especialmente del procesamiento referido
a las caractersticas 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 diagnstico

Herramientas de Correccin y Optimizacin

Servidores

Utilidades
Software de programacin: Es el conjunto de herramientas que
permiten al programador desarrollar programas informticos, usando
diferentes alternativas lenguajes, de una manera prctica. Incluyen
bsicamente:

Editores de texto

Compiladores

Intrpretes

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 mltiples comandos para compilar,
interpretar, depurar,
etc.
Habitualmente
cuentan
con
una
avanzada interfaz grfica de usuario (GUI).
Software de aplicacin: Es aquel que permite a los usuarios llevar a
cabo una o varias tareas especficas, 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 automatizacin industrial

Aplicaciones ofimticas

Software educativo

Software empresarial

Bases de datos
Telecomunicaciones (por ejemplo Internet y toda su estructura
lgica)
Videojuegos
Software mdico
Software de clculo numrico y simblico.
Software de diseo asistido (CAD)
Software de control numrico (CAM)

Proceso de creacin del software


Artculo principal: Proceso para el desarrollo de software
Se define como proceso al conjunto ordenado de pasos a seguir para
llegar a la solucin de un problema u obtencin de un producto, en este caso
particular, para lograr un producto software que resuelva un problema
especfico.
El proceso de creacin de software puede llegar a ser muy complejo,
dependiendo de su porte, caractersticas y criticidad del mismo.
Por ejemplo la creacin de un sistema operativo es una tarea que
requiere proyecto, gestin, numerosos recursos y todo un equipo disciplinado
de trabajo.
En el otro extremo, si se trata de un sencillo programa (por ejemplo, la
resolucin de una ecuacin de segundo orden), ste puede ser realizado por
un solo programador (incluso aficionado) fcilmente.
Es as que normalmente se dividen en tres categoras segn su tamao
(lneas de cdigo) o costo: de pequeo, mediano y gran porte.
Existen varias metodologas para estimarlo, una de las ms populares
es el sistema COCOMO que provee mtodos y un software (programa) que
calcula y provee una aproximacin de todos los costos de produccin en un
proyecto software (relacin horas/hombre, costo monetario, cantidad de
lneas fuente de acuerdo a lenguaje usado, etc.).
Considerando los de gran porte, es necesario realizar complejas tareas,
tanto tcnicas como de gerencia, una fuerte gestin y anlisis diversos (entre
otras cosas), la complejidad de ello ha llevado a que desarrolle una ingeniera
especfica para tratar su estudio y realizacin: es conocida como Ingeniera de
Software.
En tanto que en los de mediano porte, pequeos equipos de trabajo
(incluso un avezadoanalista-programador solitario) pueden realizar la tarea.
Aunque, siempre en casos de mediano y gran porte (y a veces tambin en
algunos de pequeo porte, segn su complejidad), se deben seguir ciertas
etapas que son necesarias para la construccin del software.
Tales etapas, si bien deben existir, son flexibles en su forma de
aplicacin, de acuerdo a la metodologa 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 creacin del software de mediano
y gran porte, ya que en caso contrario lo ms 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 lder (si lo hay)
del equipo de desarrollo.
Algunos de esos procesos son programacin (en ingls eXtreme
Programming o XP), Proceso Unificado de Rational(en ingls Rational Unified
Process o RUP), Feature Driven Development (FDD), etc.
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.6
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. 7
Cuando un proyecto fracasa, rara vez es debido a fallas tcnicas, la
principal causa de fallos y fracasos es la falta de aplicacin de una buena
metodologa o proceso de desarrollo.
Entre otras, una fuerte tendencia, desde hace pocas dcadas, es
mejorar las metodologas o procesos de desarrollo, o crear nuevas y
concientizar a los profesionales de la informtica a su utilizacin adecuada.
Normalmente los especialistas en el estudio y desarrollo de estas reas
(metodologas) y afines (tales como modelos y hasta la gestin misma de los
proyectos) son los ingenieros en software, es su orientacin.
Los especialistas en cualquier otra rea de desarrollo informtico
(analista, programador, Lic. en informtica, ingeniero en informtica, ingeniero
de sistemas, etc.) normalmente aplican sus conocimientos especializados pero
utilizando modelos, paradigmas y procesos ya elaborados.
Es comn para el desarrollo de software de mediano porte que los
equipos humanos involucrados apliquen metodologas propias, normalmente
un hbrido de los procesos anteriores y a veces con criterios propios.
El proceso de desarrollo puede involucrar numerosas y variadas
tareas,6 desde lo administrativo, pasando por lo tcnico y hasta la gestin y el
gerenciamiento.
Pero, casi rigurosamente, siempre se cumplen ciertas etapas mnimas; las
que se pueden resumir como sigue:

Captura, elicitacin , especificacin y anlisis de requisitos (ERS)


Diseo
Codificacin
Pruebas (unitarias y de integracin)
Instalacin y paso a produccin
Mantenimiento

En las anteriores etapas pueden variar ligeramente sus nombres, o ser ms


globales, o contrariamente, ser ms refinadas; por ejemplo indicar como una
nica fase (a los fines documentales e interpretativos) de anlisis y diseo; o
indicar como implementacin lo que est dicho como codificacin; pero en
rigor, todas existen e incluyen, bsicamente, las mismas tareas especficas.

Вам также может понравиться