Sei sulla pagina 1di 16

Introduccin a la Informtica 2009

Tema

Software
1. Introduccin.
En un sistema informtico, para que el hardware o parte material pueda realizar el trabajo
para el que ha sido construido, es necesario tener un conjunto de normas y rdenes que
coordinen todos los procesos que se realicen. Este conjunto de rdenes se denomina
software o parte inmaterial del sistema. Por ello, a travs del software (integrado por un
gran nmero de programas que interactan unos con otros) pueden ser manejados todos
los recursos de un sistema informtico para resolver cualquier problema.
El trmino software (del ingls: producto etreo, pensamiento), lo
constituye un
conjunto de ideas, producto de la inteligencia de las personas para solucionar problemas
de muy diversos tipos.
Todos los programas que conforman el software pueden ser divididos en dos grupos bien
diferenciados segn su funcin:

Software de sistema. Compuesto por el conjunto de programas imprescindibles para


el funcionamiento del hardware, ms otros programas cuya misin es la de facilitar el
uso del sistema y optimizar sus recursos. Entre estos se destaca el sistema operativo
como elemento fundamental para el funcionamiento de una computadora.

Software de aplicacin. Es el conjunto de programas que se desarrollan para que una


computadora realice cualquier trabajo controlado por el usuario. Estos programas
pueden ser de uso estandarizado, como por ejemplo, los procesadores de texto, planillas
de clculo, etc, o diseados para un uso especfico como, por ejemplo, un programa de
monitoreo cardaco, un programa de gestin contable, etc.

En la siguiente figura se representa grficamente la relacin entre los dos grupos anteriores
y el hardware de un sistema.

La siguiente tabla muestra la clasificacin del software y los principales componentes de


cada categora.

Software de sistema

Software
Software de aplicacin

Sistemas operativos

Software estndar

Programas traductores

Paquetes integrados

Programas de mantenimiento del sistema

Software a medida

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 1

Introduccin a la Informtica 2009

2.

Tema

Software de sistema

2.1. Sistemas Operativos


Un sistema operativo (SO) OS (System Operating) en un programa pero un programa
diferente al resto de los programas que pueden encontrarse en una PC.
El sistema operativo es el software que controla el hardware del sistema e interacta con el
usuario y el software de aplicaciones. El SO es el programa de control maestro de la
computadora. El SO proporciona las herramientas (comandos) que permiten la interaccin
del usuario con la computadora, traduce el comando en cdigo que la computadora pueda
entender y asegura que el resultado de las acciones se muestren en la pantalla o en la
impresora, por ejemplo.
Tambin el SO acta como el mecanismo de control principal del hardware de la
computadora.
Entonces, como interfaz del usuario con la computadora:
Un sistema operativo es un conjunto de programas y funciones que controlan el
funcionamiento del hardware ocultando sus detalles, ofreciendo al usuario una va sencilla y
flexible de acceso a la computadora.

Por otra parte, una computadora es una mquina que posee un conjunto de elementos que
denominaremos recursos, que deben ser racionalmente distribuidos y utilizados para
obtener de ellos el mejor rendimiento. Estos recursos son los siguientes:

El procesador. Como sabemos, es el lugar donde se ejecutan las instrucciones y por


ello deben controlarse los programas que se ejecuten y su secuenciamiento.

La memoria interna. Todo programa que se ejecute en una computadora, as como


todo dato que se desee procesar, debe residir en la memoria interna, por tanto, es
necesario regular su uso y ocupacin.

La entrada/salida. Todo programa, en general, necesita realizar operaciones de


entrada/salida sobre sus unidades perifricas para el control y direccionamiento de las
mismas.

La informacin. Los datos, sus tipos, tamaos y mtodos de representacin tienen que
estar perfectamente controlados para evitar operaciones errneas o falsas
interpretaciones.
Desde el punto de vista del control de los recursos de una computadora podemos establecer
la siguiente definicin:

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 2

Introduccin a la Informtica 2009

Tema

Un sistema operativo es el administrador de los recursos ofrecidos por el hardware para


alcanzar un eficaz rendimiento de los mismos.
2.1.1. Funciones del sistema operativo
De acuerdo a lo descripto anteriormente, un SO realiza las siguientes funciones bsicas:

Despliega los elementos de la pantalla que conforman la interfaz de usuario.

Carga los programas (por un ejemplo, un procesador de texto, una planilla de clculo,
un navegador de Internet, un juego, un reproductor de MP3) en la memoria de la
computadora de manera que se puedan utilizar.

Coordina la forma en que los programas trabajan con el hardware de la computadora y


con otros tipos de programas.

Controla la manera en que se almacena y recupera la informacin de los discos u otros


soportes de almacenamiento de datos.

2.1.2. Tipos de sistemas operativos


Los sistemas operativos se pueden organizar en cuatro tipos principales:
Sistemas operativos de tiempo real: Es un SO muy rpido y relativamente pequeo.
Generalmente estn integrados en los circuitos de un dispositivo y no se cargan desde una
unidad de disco. Son necesarios en aplicaciones de tiempo real. Este tipo de aplicacin se
caracteriza por responder a ciertos tipos de entrada en forma extremadamente rpida.
Ejemplo de aplicaciones de tiempo real: equipos de diagnstico mdico, sistemas de
soportes a las funciones vitales, instrumentos cientficos y sistemas industriales.
Sistemas operativos monousuario/monotarea: Este tipo de SO slo permite que un
usuario realice una sola tarea a la vez, esto es que slo puede realizar un proceso por vez.
El MS-DOS es un SO de una sola tarea as como un sistema Palm OS. Si bien estos SO son
limitados por estas caractersticas, existe un uso especfico para ellos, debido a que ocupan
muy poco espacio en disco o en la memoria cuando se estn ejecutando y no requieren de
una computadora poderosa y de alto costo.
Sistemas operativos monousuario/multitareas: Estos SO permiten que un solo usuario
realice dos ms funciones a la vez. Las computadoras personales actuales utilizan este
tipo de SO, entre los que se incluyen Windows de Microsoft, el sistema operativo Macintosh
y Linux.
Las caractersticas de multitarea de estos sistemas operativos incrementan la productividad
de las personas. Por ejemplo, un oficinista puede ejecutar varios programas a la vez, por
ejemplo, una planilla de clculo y un procesador de texto, incluso puede intercambiar
informacin entre ambos, puede realizar un grfico en la planilla y agregarlo al documento
de texto.
Como desventajas de este tipo de SO podra mencionarse el tamao y la complejidad
crecientes que necesitan para proporcionar soporte a las mltiples tareas.
Sistemas operativos multiusuarios/multitareas: Permite que mltiples usuarios
ejecuten programas que funcionen de manera simultnea en un solo servidor de red. En un
sistema multiusuario, el sistema operativo le ofrece a cada usuario un entorno completo
llamado sesin de usuario en el servidor. Cada aplicacin de usuario se ejecuta dentro de
su propia sesin de usuario dentro del servidor de manera separada de las dems sesiones
de usuario. En el entorno de un sistema operativo multiusuario/multitarea, todos o la
mayora de los procesos se realizan en el servidor. Ejemplos: UNIX y sistemas operativos
para mainframe.
La ventaja de estos sistemas operativos es que pueden administrarse haciendo cambios en
el servidor en lugar de hacerlo en cada una de las computadoras de escritorio. Tambin
permite que los usuarios trabajen con aplicaciones que requieren computadoras ms
poderosas. Como desventaja puede mencionarse que cuando falla la conexin de red el
usuario no puede trabajar con las aplicaciones que estn en el servidor.
Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 3

Introduccin a la Informtica 2009

Tema

2.1.3. Interfaz de usuario


La interfaz de usuario est constituida por un conjunto de elementos que estn en la
pantalla. Los dos tipos ms comunes de interfaz de usuario son las grficas y las de lnea de
comando.
a) Interfaz grfica de usuario
La mayora de los sistemas operativos actuales, incluyendo todas las versiones de Windows,
el sistema operativo Macintosh, el OS/2, adems de algunas versiones de UNIX y Linux,
proporcionan una interfaz grfica de usuario GUI (Graphic User Interface).
Una GUI tiene ese nombre porque utiliza el mouse ( algn otro tipo de dispositivo de
sealamiento) para trabajar con objetos grficos (por ejemplo, ventanas, mens, iconos,
botones y otras herramientas. Estas herramientas grficas representan distintos tipos de
comandos. La ventaja de las GUI es que permiten emitir comandos a la computadora a
travs de la utilizacin de objetos visuales en lugar de escribir comandos.
Windows es una de las distintas GUI que utiliza la metfora de escritorio. El fondo de la GUI
es el escritorio, ste tiene herramientas grficas y puede almacenar su trabajo.
Las imgenes pequeas o iconos, llamados tambin accesos directos, representan
vnculos a los recursos de la PC o en una red. Por ejemplo, programas, carpetas, archivos.
b) Interfaz de lnea de comando
Algunos sistemas operativos ms viejos (por ejemplo MS-DOS) y algunas versiones actuales
de UNIX y Linux, incluyen una interfaz de lnea de comandos, la cual utiliza comandos
escritos en lugar de lugar de objetos grficos para ejecutar tareas.
La mayora de las personas prefieren trabajar con una interfaz grfica pero la interfaz de
lnea de comandos es ms rpida para introducir comandos.
2.1.4. Ejecucin de programas
El sistema operativo brinda una interfaz entre los programas de aplicacin y el usuario.
Tambin es la interfaz entre esos programas y otros recursos de la computadora, por
ejemplo, la memoria, la impresora u otro programa. Los programadores escriben programas
con instrucciones integradas conocidas cono llamadas al sistema. Por ejemplo, cuando un
programa necesita acceder a un archivo hace una llamada al SO, quin cumple con el
pedido y devuelve el control a la aplicacin. Algunas de las tareas que los SO realizan como
servicio a los programas son:
-

Guardar el contenido de los archivos en el disco.

Leer un archivo y disco y colocar los datos en la memoria

Enviar un documento a la impresora y activarla.

Asignar la RAM entre los programas que se ejecutan

Reconocer las teclas que se han presionado o los clic del mouse y desplegar
caracteres o imgenes en la pantalla.

2.1.5. Compartir informacin


Para que las aplicaciones compartan informacin, por ejemplo, agregar un grfico Excel en
un documento Word, algunos sistemas operativos realizan esta tarea mediante el
Portapapeles.
El portapapeles es un espacio de almacenamiento temporal (dentro de la memoria de la
computadora) para los datos que se copian o mueven. Con el comando Copiar Cortar los
datos se guardan en el portapapeles y con el comando Pegar, se colocan en el lugar donde
est posicionado el cursor de insercin.

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 4

Introduccin a la Informtica 2009

Tema

2.1.6. Administracin de hardware


Cuando los programas se ejecutan, necesitan utilizar la memoria, discos, monitor,
impresora, etc. El sistema operativo acta de intermedio entre los programas y el hardware.
En una red de computadoras, el sistema operativo tambin est entre su computadora y los
dems dispositivos de red.
Interrupciones de procesamiento
El SO responde a solicitudes para utilizar memoria y otros dispositivos, mantiene el registro
de los programas que accedieron a los dispositivos y coordina el funcionamiento del
hardware de manera que las actividades no se traslapen, mediante las solicitudes de
interrupcin (IRQ), explicadas en el tema 3 (CPU).
2.1.7. Sistemas operativos para PC
La computadora personal (PC) ha evolucionado rpidamente en un tiempo relativamente
corto y mucho del progreso se debe a los sistemas operativos. Estos programas han
permitido que las computadoras sean cada vez ms fciles de manejar, ms flexibles y ms
confiables. Los sistemas operativos se encuentran presente en las computadoras ms
poderosas como as tambin en los dispositivos de tipo handheld (PDA) y telfonos
celulares.
La seccin siguiente proporciona una breve descripcin de los distintos sistemas operativos
que se utilizan en las computadoras de escritorio. A pesar de que algunos de estos
sistemas operativos (por ejemplo, DOS y Windows 95) se consideran descontinuados, se
siguen utilizando en determinados ambientes y por ello se incluyen aqu.
DOS
DOS (sistema operativo en disco) aun se utiliza por distintas razones. Originalmente, la
utilizacin de DOS se extendi en los aos ochentas. La primera versin fue PC DOS, la cual
fue incluida en las computadoras IBM. La otra fue la versin de DOS de Microsoft,
conocida como MS-DOS (Microsoft DOS), la cual fue utilizada en millones de PC
"compatibles con IBM" o "clones". (Estos trminos describen a cualquier PC que este
basada en la misma arquitectura que utilizaban las computadoras personales de IBM.)
A pesar de su dominio en el mercado de la PC durante ms de una dcada, DOS tena
algunas debilidades. Por ejemplo, slo proporcionaba soporte para un usuario a la vez y
slo ejecutaba un programa al mismo tiempo. No inclua el soporte integrado para el
trabajo en redes y los usuarios tenan que instalar de forma manual los controladores
cada vez que deseaban aadir un componente de hardware nuevo en sus PC. Adems,
DOS est limitado en la cantidad de memoria RAM y espacio de almacenamiento que
poda utilizar. Por ltimo, incluso hoy en da, DOS slo proporciona soporte para
programas de 16-bits, de manera que no pueda aprovechar el poder de los
procesadores modernos de 32-bits (y 64-bits). Adems, DOS utiliza interfaz de lnea de
comando que obliga a los usuarios a recordar nombres de comandos.
Por que DOS se sigue utilizando hoy en da? Las dos razones son su tamao y
simplicidad. No requiere de mucha memoria o espacio de almacenamiento y no
necesita una computadora poderosa. Por tanto, se utiliza frecuentemente como un SO
integrado a dispositivos que ejecutan aplicaciones muy simples que slo realizan una
tarea. Otra razn para que siga siendo utilizado es que muchas empresas aun cuentan
con aplicaciones personalizadas que fueron escritas como una aplicacin particular para sus
compaas o para sus necesidades especiales.
Windows 9x
El trmino Windows 9x se utiliza para referirse a cualquiera de los miembros de este tro:
Windows 95, Windows 98 y Windows Me. A pesar de que estas versiones de Windows estn
consideradas como obsoletas son utilizado por usuarios que tienen PCs antiguas.

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 5

Introduccin a la Informtica 2009

Tema

En 1995, Microsoft lanz al mercado Windows 95, un sistema operativo completo (no
necesitaba que fuera instalado MS-DOS antes de su propia instalacin), a diferencia de sus
predecesores Windows 95 instala los componentes necesarios del sistema operativo MSDOS que necesita y tiene un cdigo de programacin adicional que aprovecha las
capacidades ms avanzadas de los CPU modernos adems de mantener una interfaz grafica
de usuario.
Windows 95 mejor la capacidad de ejecutar mltiples tareas en comparacin con las
versiones anteriores de Windows y fue la primera versin de Windows en proporcionar
soportes para el estndar Plug and Play para conectar hardware nuevo. Incorpora tambin
soporte para redes integrado y mejoras en la GUI, como, por ejemplo, la barra de tareas y
el botn Inicio.
Windows 98 (llamado as por el ao en que fue lanzado al mercado, 1998) es una
actualizacin de Windows 95. Como cambio importante este SO presenta la integracin del
navegador Internet Explorer con una nueva caracterstica, el Active Desktop, que permite a
los usuarios navegar en Internet y la computadora local de la misma forma. El Active
Desktop permite que los usuarios integren los recursos de Internet.
En el 2000, Microsoft lanz al mercado Windows Millenium (el ltimo miembro de la
familia Windows 9x). Windows Me ofrece algunas mejoras notables sobre sus predecesores,
por ejemplo, capacidades multimedia avanzadas, soporte integrado para edicin de video
digital y mejoras en las caractersticas de Internet. Pero al igual que Windows 95 y Windows
98, Windows Me continua utilizando una gran cantidad de cdigo de 16 bits que proporciona
soporte para las aplicaciones DOS y Windows 3.x antiguas. Como resultado, Windows Me no
fue mucho ms estable o robusto que Windows 95 o 98 y estaba sujeto a cadas frecuentes
del sistema.
Windows XP
Windows XP fue introducido en octubre de 2001. El escritorio tiene una apariencia ms
tridimensional con esquinas redondeadas y mas sombreados. Con Windows XP, Microsoft
consolid sus sistemas operativos de escritorio para usuarios hogareos y empresas en un
solo entorno. Algunas las caractersticas que se han actualizado en Windows XP:
-

Soporte para medios digitales. Por medio del uso de Windows Media Player provee el
soporte para ediciones digitales adems de la creacin de video y audio para proyectos
multimedia.

Capacidades de red y comunicaciones avanzada: aprovecha el soporte universal para el


estndar Plug and Play, el cual permite que la PC encuentre y utilice hardware que est
conectado por medio de una red sin tener que forzar al usuario a configurar el sistema
o instalar controladores. Tambin utiliza la herramienta Internet Connection Sharing, la
cual permite que los usuarios conecten varias computadoras a Internet con una sola
conexin.

El sistema operativo Macintosh


El sistema operativo Macintosh (o Mac OS) slo funciona en las computadoras Macintosh y
esto se considera su principal desventaja. Sin embargo, a pesar de que slo cuenta con una
pequea parte del mercado, las computadoras Macintosh son la opcin preferida de
editores, desarrolladores de multimedia y artistas grficos, por sus reconocidas capacidades
de tratamiento grfico. La versin actual se llama Mac OS System X (diez), el cual cuenta
con cuatro versiones principales. La ltima versin es Mac OS X Panther, tambin conocida
como versin 10.3.
UNIX para sistemas de escritorio
El SO UNIX se puede ejecutar en una amplia variedad de computadoras, desde laptops a
supercomputadoras. A pesar de que UNIX no tiene un lugar importante en el mercado de
los sistemas operativos de escritorio, gracias a su poder y atractivo para los ingenieros y
Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 6

Introduccin a la Informtica 2009

Tema

otros usuarios de software CAD (Diseo Asistido con Computadora) y CAM, UNIX se utiliza
en las estaciones de trabajo de alto poder.
UNIX se caracteriza por utilizar interfaz de lnea de comandos, instrucciones difciles y el
hecho de que requiere de muchos comandos para hacer incluso tareas simples. Sin
embargo, el poder y estabilidad de este SO son muy destacados.
Linux para sistemas de escritorio
A pesar de que Linux es considerado como un sistema operativo "freeware", se destaca por
su poder, capacidades y amplio conjunto de caractersticas. Linux es un sistema operativo
multitareas completamente de 32-bits y proporciona soporte para mltiples usuarios y
procesadores. Linux se puede ejecutar en casi cualquier computadora y puede funcionar con
casi cualquier tipo de aplicacin. Utiliza una interfaz de lnea de comandos, pero tambin
existen entornos GUI basados en ventanas conocidos como shells.
La principal diferencia no tcnica entre UNIX y Linux es el precio. Cualquier persona puede
obtener una copia gratuita de Linux en Internet o en libros y revistas de computacin. Las
versiones comerciales de Linux, las cuales son poco costosas cuando se comparan con el
precio de otros sistemas operativos, tambin se pueden adquirir dentro de una variedad de
fabricantes que ofrecen el cdigo de Linux gratuitamente y aplican cargos por las
caractersticas adicionales, por ejemplo, las herramientas, la interfaz GUI y la
documentacin.
Por estas razones, Linux se ha vuelto un sistema operativo muy usado en muchos
ambientes. Estudiantes y profesores han optado por Linux no slo por sus avances
tcnicos , sino que tambin para participar en la comunidad global que se ha creado a
partir de este sistema operativo. Esta comunidad invita a los usuarios de Linux y
desarrolladores a contribuir con modificaciones y mejoras, adems comparte de manera
gratuita informacin acerca de Linux y asuntos relacionados. Aunque normalmente se
considera a Linux como una plataforma de servidor, las empresas de software estn
generando aplicaciones para escritorio nuevas o modificando las que tienen para que
puedan ser utilizadas en Linux.
2.1.8. Sistemas operativos de red (NOS Netware Operating System)
Un sistema operativo de red (NOS) est diseado para trabajar en un servidor dedicado a
proveer distintos servicios a otras computadoras de la red. Las otras computadoras se
conocen como computadoras cliente, cada computadora que se conecta a un servidor de
red debe ejecutar un software de cliente diseado para solicitar un servicio especifico. Por
ejemplo, si se conecta a un servidor para almacenar y recuperar archivos, la computadora
debe contar con el software de cliente que le permite conectarse a ese servidor para ese
propsito. Algunos de estos NOS ms utilizados se enumeran a continuacin: Windows NT
Server, Windows 2000, Windows Server 2003, Netware de Novell, Unix para servidores, Linux para
servidores

2.1.9. Sistemas operativos integrados


Un sistema operativo integrado es aquel que esta integrado en los circuitos de los
dispositivos electrnicos, a diferencia de un sistema operativo para PC, el cual reside en
un disco magntico. Los sistemas operativos integrados se encuentran actualmente en
una amplia variedad de dispositivos, incluyendo aparatos domsticos, automviles,
lectores de cdigos de barras, telfonos celulares, equipos mdicos, asistentes digitales
personales (PDA). Los sistemas operativos integrados ms utilizados son: Windows XP
Embedded, Windows CE .NET, Palm OS, Pocket PC OS, Symbian.
2.2. Programas traductores
Los programas traductores son metaprogramas que toman como entrada un programa
escrito en lenguaje simblico alejado de la mquina denominado programa fuente y
proporcionan como salida otro programa equivalente escrito en un lenguaje comprensible

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 7

Introduccin a la Informtica 2009

Tema

por el hardware de la computadora denominado programa objeto. En algunos casos, un


programa objeto necesita antes de su ejecucin una pequea preparacin y la inclusin de
rutinas del propio lenguaje. Esta preparacin la realiza un programa que complementa al
traductor, denominado montador, producindose finalmente un programa listo para ser
ejecutado que se denomina programa ejecutable. En la siguiente figura podemos ver el
esquema general del proceso de traduccin de un programa fuente a un programa
ejecutable.

Programa fuente

Programa objeto

Traductor

Montador

Programa objeto

Prog. ejecutable

Existen tres tipos de programas traductores: los ensambladores, los compiladores y los
intrpretes:
2.2.1.

Programas ensambladores:

Convierten programas fuente escritos en lenguajes simblicos de bajo nivel (denominados


lenguajes ensambladores o assemblers), en programas objeto, escritos en lenguaje
mquina y ejecutables directamente por el hardware de la computadora. La traduccin del
programa de usuario se efecta de forma que cada instruccin en lenguaje fuente se
transforma en una nica instruccin en lenguaje objeto. Se puede decir que el lenguaje
ensamblador es una simplificacin simblica del lenguaje mquina y el programa
ensamblador es su traductor.
2.2.2.

Programas compiladores:

Convierten programas fuente escritos en lenguaje simblico de alto nivel en programas


objeto escritos en lenguaje mquina. La traduccin no suele ser directa, apareciendo un
paso intermedio situado en un nivel similar al de ensamblador. Una caracterstica
fundamental de este tipo de traductores es que se realiza la traduccin completa, y en el
caso de no existir errores se pasa a la creacin del programa objeto. La traduccin del
programa fuente se efecta, adems, de forma que cada instruccin del programa fuente se
transforma en una o ms instrucciones en el programa objeto.
2.2.3.

Programas intrpretes:

Convierten programas fuente escritos en lenguaje de alto nivel en programas objeto


escritos en lenguaje mquina. En estos programas intrpretes la traduccin se realiza de
forma que despus de transformar una instruccin del programa fuente en una o varias
instrucciones en lenguaje mquina no esperan a traducir la siguiente instruccin, sino que
inmediatamente la ejecutan.
3. Software de aplicaciones
El software de aplicacin desva el enfoque de las computadora hacia las personas, porque
est diseado para ayudar a los usuarios a ser productivos, por esto este tipo de programas
se conoce tambin como software de productividad. Existen tantos tipos distintos de
software de aplicacin como tareas diferentes que se pueden realizar en una PC.
3.1. Software Estndar y Software a Medida
En los inicios de la Informtica, y durante bastante tiempo, se diseaba de forma especfica
y aislada todo el software que necesitaba cualquier entidad o empresa para cada actividad
concreta que se deba realizar con una computadora. Solamente las grandes organizaciones
tenan la capacidad, el personal y las grandes computadoras (mainframes) necesarios para
Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 8

Introduccin a la Informtica 2009

Tema

poder disear y disponer de estas aplicaciones, entre las cuales, se encuentran aplicaciones
contables, financieras, estadsticas, control de inventarios, nminas y otras muy diversas.
Con el avance y desarrollo de las tecnologas de la informacin se han identificado algunas
de estas aplicaciones de uso comn en la mayora de las organizaciones, como son el
proceso de texto, hojas de clculo, grficos estadsticos, etc., de manera tal que los
fabricantes han diseado y puesto en el mercado aplicaciones para ser utilizadas por un
gran nmero de usuarios y en diferentes sistemas. A estas aplicaciones de uso general se
denomina software estndar, es decir, a aquellos programas que se pueden adquirir
normalmente en establecimientos del ramo, dispuestos para su uso inmediato en una gran
variedad de sistemas, sin necesitar la intervencin de personal informtico.
3.2. Aplicaciones estndar
Es muy numerosa la gama de aplicaciones estndar existentes en el mercado cubriendo una
gran cantidad de actividades, desde juegos hasta sistemas de contabilidad y gestin de
pequeas y medianas empresas.
En general, los programas se comercializan en disquetes o CDROM, acompaados de un
Manual de Usuario y una Gua de Referencia, junto con un contrato de proteccin legal del
copyright, de tal manera que un usuario no especializado en Informtica puede instalarlas
en su computadora.
Dentro de los programas que se compran se pueden distinguir los siguientes tipos:
3.2.1. Software comercial
En esta categora caen los programas que hay que pagar de alguna manera y pueden ser:
- Programas independientes: Corresponde a las aplicaciones que hacen una slo tipo
de tareas, por ejemplo, un programa de retoque fotogrfico.
- Suite o paquetes de software: Programas de uso frecuentes, por ejemplo,
procesadores de texto, planillas de clculo, etc., se agrupan y se venden como suite
de software. Ejemplos: Office de Microsoft, suite Corel para tratamiento de
imgenes.
- Programas shareware: Generalmente corresponde a herramientas especficas que se
compran por una pequea suma de dinero para que el usuario pueda probarlo. En
este caso, el software se habilita una cierta cantidad de das y luego requiere su
registracin.
3.2.2. Software Freeware y software de dominio pblico
Un software freeware es cualquier programa que se pone a disposicin de los usuarios en
forma gratuita. Es decir, el usuario no lo paga para usar pero no es dueo del software.
Tanto en el caso de software shareware y freeware, el autor original mantiene un inters de
propiedad sobre el producto, por lo tanto quien lo utiliza debe aceptar los trminos de una
licencia que prohbe que se hagan cambios al programa o venderlo a otra persona.
En el caso del software de dominio pblico, el cdigo fuente es gratuito y se puede utilizar
para cualquier propsito y cualquier persona.
3.2.3. Software de cdigo abierto (open source)
Es un software de cualquier tipo cuyo cdigo fuente est disponible para los usuarios en
forma editable, as como las distintas bibliotecas de desarrollo que se utilizan. Los usuarios
u otros desarrolladores de software pueden modificar este cdigo y personalizarlo siguiendo
los lineamientos dados por el autor original. Este tipo de software se puede ofrecer en forma
comercial o gratuita. Ejemplo, OpenOffice.org es una suite de aplicaciones de cdigo
abierto.
3.2.4. Software de Ofimtica:
El software estndar ms difundido est compuesto por aplicaciones del rea de la
Ofimtica (programas orientados a la gestin de datos en las oficinas), tales como:

Procesador de textos

Hoja electrnica de clculo

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 9

Introduccin a la Informtica 2009

Programas de presentacin

Gestor de base de datos

Programas para la planificacin de proyectos

Programas para la realizacin de grficos

Tema

3.3. El software a medida


Esta categora de software queda constituido por las aplicaciones especficas que por
corresponder a actividades ms especializadas es necesario encargar a los profesionales del
software, como puede ser un sistema de control de trfico o un sistema de monitorizacin
de pacientes en un hospital. Este tipo de software es ms caro pues est dirigido a un solo
cliente.
4. Desarrollo o creacin de software
Cualquiera sea la categora del software, para la creacin del mismo se requiere que un
programador codifique las instrucciones que representan la solucin o programa que
automatizar el procesamiento de los datos de un determinado problema para lograr un
resultado determinado. Por ejemplo: la gestin contable de un empresa, un monitor
cardaco, un video juego.
Repasaremos el conceptos de programa y algunas de las extensiones ms usuales de
archivos de programas.
4.1. Qu es un programa de computadora?
Un programa de cmputo es un conjunto de instrucciones o declaraciones (tambin
conocidas como cdigo) que debe realizar la CPU de una computadora.
Los programas, o software, toman distintas formas. Hemos visto que los programas se
pueden dividir en tres categoras principales: sistemas operativos, herramientas y
aplicaciones.
Un programa normalmente esta compuesto de un mdulo principal y submdulos. Estos
mdulos estn almacenados como un conjunto de archivos; los programas grandes
pueden contener miles de archivos individuales, cada uno para un propsito especifico.
Algunos de los archivos contienen instrucciones para la computadora mientras que otros
archivos contienen datos.
Para las PC basadas en Windows, algunas extensiones comunes para los archivos de
programas son las siguientes:

Archivos ejecutables. Un archivo ejecutable (.exe, .com) contiene los comandos que
se envan al procesador. De hecho, cuando ejecutamos un programa, ejecutamos el
archivo ejecutable. Los archivos ejecutables normalmente (pero no siempre) tienen la
extensin .exe.

Archivos de biblioteca dinmica de vinculos. Un archivo de biblioteca dinmica de


vnculos (.dll) es un archivo .exe parcial. Un archivo .dll no puede ejecutarse por si
mismo; sus comandos son accedidos por otro programa que esta ejecutndose. Se
utilizan para dividir programas grandes en componentes pequeos que son
reemplazables. Permiten que el programa completo sea ms fcil de actualizar. LOs
archivos .dll pueden ser compartidos por distintos programas al mismo tiempo.

Archivos de inicializacin. Un archivo de inicializacin (.ini) contiene informacin


sobre configuraciones, por ejemplo, el tamao y punto de inicio de una ventana, el color
del fondo, el nombre del usuario y otros aspectos. Contienen informacin que los
programas pueden utilizar cuando se ejecutan.

Archivos de ayuda. Un archivo de ayuda (.hlp, .chm) contiene informacin en formato


indexado y con vnculos cruzados. Se utilizan para proporcionar al usuario informacin
de ayuda en lnea.

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 10

Introduccin a la Informtica 2009

Tema

4.2. Codificacin de programas


El trmino cdigo se refiere a las declaraciones escritas en cualquier lenguaje de
programacin, por ejemplo, en Java, Visual Basic Pascal. Hemos visto en el tema 2 que
las computadoras operan en binario, por lo tanto, las instrucciones de un programa tambin
estarn en binario. El lenguaje de programacin se utiliza para escribir las instrucciones a la
computadora que luego sern traducidas al cdigo de mquina.
La codificacin puede ser una tarea tediosa pero tambin muy emocionante. Es tediosa
porque los lenguajes de programacin, al igual que los idiomas, tienen un conjunto de
reglas obligatorias. Si las personas cometen errores de gramaticales igual pueden
comunicarse con las personas, sin embargo, esto no ocurre con el cdigo. Para que pueda
ejecutarse debe estar libre de errores de sintaxis.
Por otra parte, la programacin puede ser emocionante porque es una tarea creativa e
implica siempre el desafo de resolver un problema. El problema puede ser tan simple como
calcular un valor o tan complejo como determinar la ruta de un satlite en rbita.
4.3. Metodologas de Programacin
Cuando un programador escribe un programa primero realiza un diseo de la solucin,
mediante un diagrama de flujo o un seudocdigo. Luego debe escribir las instrucciones en
un lenguaje de programacin, para ello puede seguir algunas de las metodologas ms
comunes, como son la programacin estructurada o la programacin orientada a
objetos. Existen otros mtodos o paradigmas, pero estos dos son los ms utilizados:
4.3.1. Programacin estructurada
Esta metodologa de programacin surgi en los aos 70. El nombre se refiere a la prctica
de crear programas utilizando mdulos pequeos que son fciles de leer y entender. Las
prcticas de la programacin estructurada se pueden utilizar con cualquier lenguaje de
programacin.
Existen tres estructuras de control:
- La estructura secuencial
define el flujo de control predeterminado de un
programa. Ejecuta lneas de cdigo en el orden en que fueron escritas.
- Las estructuras de seleccin utilizan construcciones de un flujo de programa
especial llamadas declaraciones condicionales. Una declaracin condicional es una
prueba que determinar lo que har a continuacin el programa. Cuando el
programa toma una decisin utilizando una declaracin condicional, el flujo del
programa frecuentemente se dirige en una de dos direcciones distintas.
- Las estructuras de repeticin ( estructuras de ciclo) estn basadas en
construcciones llamadas bucles. Un bucle es un fragmento de cdigo que se repite
una y otra vez hasta que se cumpla la condicin de salida del bucle.
Las estructuras mencionadas se visualizan en la siguiente imagen:

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 11

Introduccin a la Informtica 2009

Tema

4.3.2. Programacin orientada a objetos


Los conceptos de la programacin orientada a objetos, como por ejemplo, objetos y clases,
pueden parecer abstractos al principio, pero para muchos programadores, la POO
(programacin orientada a objetos) ofrece una manera intuitiva de modelar el mundo. Las
ventajas se traducen en programas ms sencillos, una programacin ms rpida y
reduccin de las tareas de mantenimiento.
Concepto de Objeto
Si miramos alrededor nuestro podemos ver que estamos rodeados de objetos: libros,
computadora, plantas, etc. En general, percibimos los objetos como una unidad (por
ejemplo un auto), sin tener en cuenta los asientos, volante, etc.
Pero, si tuviramos que describir el objeto auto a otra persona, seguramente
comenzaramos describiendo sus atributos, por ejemplo, el color, tamao, forma, velocidad
y otros aspectos. Un atributo describe las caractersticas de un objeto. Tambin podra decir
lo que el auto puede hacer, es decir describir sus funciones. Por ejemplo, se mueve hacia
delante, en reversa, abre las ventanas, y otras funciones. En conjunto, las funciones y los
atributos definen al objeto.
En la POO, todos los objetos tienen atributos y funciones que pueden encapsular
(contener) otros objetos. Por ejemplo, el sistema de traccin, incluye un motor,
transmisin, eje delantero y trasero. De manera que un objeto puede ser una unidad entera
o un componente de otros objetos. La siguiente figura muestra un objeto auto, con
atributos, funciones y otros objetos encapsulados.

En un programa se definen los objetos, que representan datos, y se definen las acciones
mtodos entre ellos para obtener los resultados deseados.
5. Lenguajes de programacin
Un lenguaje de programacin es una notacin para escribir programas, permiten la
comunicacin con el hardware y dar as las rdenes adecuadas para la realizacin de un
determinado proceso. Un lenguaje est definido por una gramtica o conjunto de reglas que
se aplican a un alfabeto constituido por el conjunto de smbolos utilizados.
Actualmente, los programadores pueden elegir entre muchas herramientas de desarrollo
que difieren en capacidad, flexibilidad y facilidad de uso. Sin embargo, a pesar de sus
diferencias, la mayora de los lenguajes de programacin comparten una caracterstica:
cada lenguaje de programacin requiere que el programador siga un conjunto de reglas
muy estrictas. En general, los lenguajes de programacin requieren que los desarrolladores:
-

Proporcionen informacin en un orden y estructura especficos

Utilicen smbolos especiales

Utilicen puntuaciones (en algunos casos)

Estas reglas se conocen como la sintaxis del lenguaje de programacin y pueden variar de
un lenguaje a otro.
Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 12

Introduccin a la Informtica 2009

Tema

Ejemplo de cdigo en el lenguaje C:


If (d > 15)
{
Do
{
d--;
} while (d > 1);
}
5.1. Clasificacin de los lenguajes de programacin
Cientos de lenguajes de programacin se usan en todo el mundo. Algunos son altamente
especializados y se usan solamente en una rama de la ciencia o la industria, mientras que
otros son bien conocidos y se utilizan en muchos lugares. Algunos lenguajes son obsoletos y
nicamente se utilizan para mantener los sistemas ms viejos, mientras que otros son tan
nuevos que muchos programadores no lo conocen.
Debido a esta diversidad se pueden establecer distintos criterios para clasificar los lenguajes
de programacin. Sin embargo, los lenguajes de programacin se agrupan normalmente de
acuerdo a su historia evolutiva, en tres categoras o niveles.
El nivel hace referencia a lo prxima que la forma de expresar las sentencias est al hombre
(o sea, al lenguaje natural), o a la mquina (el lenguaje de unos y ceros de los circuitos
electrnicos).
Lenguajes de bajo nivel (mquina)
Lenguajes intermedios (ensambladores)
Lenguajes de alto nivel (evolucionados)
5.1.1. Lenguaje mquina
El lenguaje mquina es el nico que entiende directamente la computadora. Utiliza el
alfabeto binario, que consta de los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de dgitos binarios). Fue el primer lenguaje utilizado en la programacin de
computadoras, pero dej de utilizarse por su dificultad y complicacin, siendo sustituido por
otros lenguajes ms fciles de aprender y utilizar, que adems reducen la posibilidad de
cometer errores.
Generalmente, en la codificacin de los programas, se empleaba el sistema hexadecimal
para simplificar el trabajo de escritura.
Ejemplo:
Instrucciones en lenguaje mquina y sus equivalentes en sistema hexadecimal.

0000
1000
0011

0001
1001
1010

1010
1001
1001

0001
1010
1100

01 Al
89 9A
3A 9C

5.1.2. Lenguaje ensamblador


El lenguaje ensamblador es el primer intento de sustituir el lenguaje mquina por otro ms
fcil de usar por las personas. En este lenguaje cada instruccin equivale a una instruccin
en lenguaje mquina, utilizando para su escritura palabras mnemotcnicas en lugar de
cadenas de bits.
Ejemplo:
Instrucciones en lenguaje ensamblador:

INICIO: ADD
MOV
CMP
JE
JMP
FIN:
END

B, 1
A, B
A, E
FIN
INICIO

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 13

Introduccin a la Informtica 2009

Tema

Este lenguaje presenta la mayora de los inconvenientes del lenguaje mquina:


Cada modelo de computadora tiene un lenguaje ensamblador propio diferente de los
dems, por lo cual un programa slo puede utilizarse en la mquina para la que se
program.
El programador tiene que conocer perfectamente el hardware del equipo, ya que
maneja directamente las posiciones de memoria, registros del procesador y dems
elementos fsicos.
Todas las instrucciones son elementales, es decir, en el programa se deben describir
con el mximo detalle todas las operaciones que se han de efectuar en la mquina
para la realizacin de cualquier proceso.
Por otro lado, tanto el lenguaje mquina como el ensamblador tienen la ventaja de mnima
ocupacin de memoria y mnimo tiempo de ejecucin en comparacin con el resultado de la
compilacin del programa equivalente escrito en otros lenguajes.
5.1.3. Lenguajes de alto nivel
Los lenguajes de alto nivel, tambin denominados lenguajes evolucionados, fueron
diseados para que la programacin sea ms sencilla. Se llaman de alto nivel porque la
sintaxis requerida es ms parecida al idioma humano que al de la mquina. Adems,
persiguen otros objetivos, entre otros:
1. Lograr independencia de la mquina, pudiendo utilizar un mismo programa en diferentes
equipos con la nica condicin de disponer de un programa traductor o compilador que
permita obtener el programa ejecutable en lenguaje binario de la mquina que se trate.
2. Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una
forma ms sencilla.
3. Incluir rutinas de uso frecuente, como las de entrada/salida, funciones matemticas,
manejo de tablas, etc., que figuran en una especie de librera del lenguaje, de manera
que se puedan utilizar siempre que se quiera sin necesidad de programarlas cada vez.
5.2. Generaciones de lenguajes de programacin
Los lenguajes de programacin son discutidos con frecuencia, en trmino de generaciones.
Las ltimas generaciones incluyen lenguajes que son ms fciles de usar y ms poderosos.
Atendiendo a esta clasificacin, los lenguajes de mquina o de bajo nivel, corresponden a la
primera generacin y los ensambladores a la segunda generacin. Los lenguajes de alto
nivel comenzaron con la tercera generacin:
5.2.1. Lenguajes de tercera generacin (3GL):
Los lenguajes de tercera generacin hacen que sea ms fcil escribir programas y permiten
que los programadores compartan el desarrollo.
Algunos lenguajes de tercera generacin y sus caractersticas son:
C: En un lenguaje poderoso que produce cdigo rpido y eficiente. Es de propsito general,
es decir, capaz de resolver cualquier tipo de problema. Es muy usado entre los
desarrolladores profesionales.
C++: Es la implementacin orientada a objetos de C, mantiene su caracterstica de
poderoso y eficiente. Es utilizado por las empresas desarrolladoras de software.
Java: Es un entorno de programacin orientado a objetos para crear programas que
funcionen en distintas plataformas. Nacin como un entorno de programacin para Internet,
con facilidades para crear programas interactivos y dinmicos para pginas Web,
denominados Applets. Luego se extendi a programas que no se ejecutaran en un
navegador.
ActiveX: La respuesta de Microsoft a Java fue ActiveX. El cdigo de ActiveX crea funciones
autocontenidas similares a los applets de Java, que pueden ser accedidas y ejecutadas por
cualquier otro programa compatible con ActiveX.
Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 14

Introduccin a la Informtica 2009

Tema

5.2.2. Lenguajes de cuarta generacin (4GL):


Los lenguajes de cuarta generacin son ms fciles de usar que los de tercera generacin.
Puede presentarse como entorno de texto o entorno visual.
En un entorno de texto, el programador utiliza palabras del idioma ingls para generar el
cdigo, normalmente una sola declaracin de un lenguaje 4GL puede realizar las mismas
tareas que varias lneas de un lenguaje 3GL.
En un entorno visual 4GL, el programador utiliza barras de herramientas para arrastrar y
soltar distintos elementos como, por ejemplo, botones, etiquetas y cuadros de texto con el
fin de crear una definicin visual de una aplicacin (por ejemplo, el diseo de la pantalla
que se ofrece al usuario). Una vez realizado este diseo, el programador puede asignar
acciones a los objetos de la pantalla. Por ejemplo, puede colocar un botn en la pantalla y
asignarle la accin abrir tabla de clientes.
La mayora de los 3GL y 4GL, permiten que el programador trabaje en un entorno de
desarrollo integrado o IDE (por sus siglas en ingls). Los IDE ofrecen todas las
herramientas necesarias para desarrollar aplicaciones. Visual Studio de Microsoft y Java
Studio de Sun, son dos IDE profesionales.
Entre los lenguajes de cuarta generacin se incluyen:
.NET: es el nuevo producto de Microsoft en el mundo de la programacin. Combina varios
lenguajes de programacin en un IDE. Los lenguajes incluidos son: Visual Basic, c++, C# y
J#. Este entorno permite escribir programas para Windows, para la Web y para Pocket PC
(versin de Windows para PDAs).
Entornos de autora: Son herramientas de programacin de propsitos especiales para
crear aplicaciones multimedia, programas de capacitacin por computadora, pginas Web y
otras aplicaciones. Un ejemplo es el programa Macromedia Director que utiliza el lenguaje
de secuencia de comandos Lingo. Permite crear productos multimedia combinando clips
musicales, texto, animacin, imgenes y otros elementos.
Los programas que se utilizan para crear pginas Web caen en esta categora: Microsoft
Frontpage, Netscape Visual JavaScript, etc.
5.2.3. Lenguajes de quinta generacin:
Los expertos no estn de acuerdo en la definicin de esta generacin, algunos consideran
que los entornos de autora ms avanzados caeran en esta categora. Otros consideran que
un 5GL debera utilizar tcnicas de inteligencia artificial.
5.3. Lenguajes de desarrollo de la WWW (Word Wide Web)
Pocos componentes tecnolgicos han afectado la cultura como Internet y la WWW, como
veremos el tema siguiente en esta materia. Internet ha evolucionado de mensajes simples a
sitios Web complejos, visuales e interactivos. De la misma manera, las herramientas de
desarrollo que se relacionan con la Web han evolucionado en poder y capacidades. Por
tanto, al hablar de programacin y desarrollo, hay tener en cuenta estas herramientas:
5.3.1. Lenguaje de marcacin de hipertexto (HTML).
Se utiliza para crear documentos para la Web. La estructura de una pgina Web utiliza
atributos y etiquetas. Las etiquetas proporcionan vnculos otra parte del documento o a otro
documento. Permiten tambin insertar imgenes y otros elementos multimedia. En realidad
por la simplicidad del HTML no se lo considera un lenguaje de programacin.
Otras herramientas de desarrollo para la Web son: Dreamweaver, Flash, Director, todos de
la empresa Macromedia.

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 15

Introduccin a la Informtica 2009

Tema

5.3.2. Lenguajes de secuencias de comandos


HTML crea pginas Web con mucho atractivo visual pero de tipo estticas. Esto quiere decir,
que su contenido no se modifica. Es apropiada para documentos que no cambian casi
nunca, por ejemplo, la informacin institucional de una empresa u organizacin. Pero, si la
pgina Web tiene que mostrar, por ejemplo, la temperatura de la ciudad, no puede ser
esttica. Para visualizar estos valores cambiantes se utilizan los lenguajes de secuencia de
comandos.
Existen distintos lenguajes de secuencia de comandos para la Web. Estos lenguajes tienen
la capacidad de crear pginas Web dinmicas. Las pginas dinmicas pueden cambiar de
acuerdo con la informacin que proporcionan al usuario. En los sitios de venta de productos,
un lenguaje de secuencia de comandos lee una base de datos para desplegar los productos.
Entre estas herramientas se encuentran:
-

JavaScript: Est diseado para trabajar dentro del HTML. Permite la verificacin de
pginas, animaciones sencillas y clculos.

Pginas de Active Server (ASP): Es el producto de Microsoft para pginas Web


dinmicas. ASP se basa en Visual Basic y es particularmente apropiado para bases de
datos Microsoft. Funciona slo en servidores Windows. La versin actual es ASP.NET.

Preprocesador de hipertexto (PHP): Se ejecuta en servidores UNIX/Linux Windows.


PHP es adecuado para acceder a bases de datos Oracle o MySQL. El compilador y el
software se ofrecen como open source, lo cual hace que su uso sea gratuito.

5.4. Paradigmas de programacin


Un paradigma de programacin es una coleccin de modelos conceptuales que modelan el
proceso de diseo y determinan la estructura de un programa.
Esa estructura conceptual de modelos est pensada de forma que esos modelos determinan
la forma correcta de los programas y controlan el modo en que se formulan las soluciones.
Para que este proceso sea efectivo las caractersticas del lenguaje deben reflejar
adecuadamente los modelos conceptuales de ese paradigma.
Cuando un lenguaje refleja bien un paradigma particular, se dice que soporta el paradigma.
5.4.1. Tipos de paradigmas
Se agrupan en tres categoras de acuerdo con la solucin que aportan para resolver el
problema:
5.4.1.1. Lenguajes imperativos o procedurales:
Utilizan instrucciones como unidad de trabajo de los programas (COBOL, PASCAL, C, ADA).
La mayora de los lenguajes son de este tipo.
5.4.1.2. Lenguajes funcionales o lgicos:
Basados en la definicin de funciones o relaciones. No utilizan instrucciones de asignacin
(sus variables no almacenan valores). Los programas estn formados por una serie de
definiciones de funciones (Lenguajes funcionales, como LISP) o de predicados expresiones
lgicas (Lenguajes de programacin lgica, como PROLOG).
5.4.1.3. Lenguajes orientados a objetos.
Los programas se descomponen en objetos que implementan parte del sistema
encapsulando los datos que almacenan su estado junto con los mtodos que se utilizan para
acceder a ellos. De este modo, las distintas partes del programa son menos dependiente
entre s, lo que facilita el mantenimiento de las aplicaciones. (Lenguajes SMALLTALK, C++,
Java).

Licenciatura en Sistemas de Informacin FACENA-UNNE

Pg. 16

Potrebbero piacerti anche