You are on page 1of 9

Conceptos bsicos de Software

1. CONCEPTO DE SOFTWARE En la arquitectura propuesta por Von Newmann, el hardware de un ordenador es una mquina electrnica que por si sola no realiza ninguna tarea Esta maquina necesita del software para acometer su propsito El software se compone de secuencias de ordenes que indican al hardware que debe realizar Es decir, el ordenador procesa instrucciones que le indican que operaciones debe acometer en cada instante Como !a hemos "isto en el tema anterior sobre conceptos sobre hw, las instrucciones se sit#an en memoria ! son le$das desde el procesador para su e%ecucin o procesamiento

1.1 Un programa &as instrucciones que 'entiende' el ordenador son mu! simples, pero e%ecutadas en ciertas secuencias ! a un ritmo mu! ele"ado pueden obtener resultados bastante notables (ara alcanzar sus ob%eti"os las instrucciones se agrupan en programas que siguen ciertos algoritmos &os algoritmos son seme%antes a recetas de cocina, donde los pasos se realizan de forma ordenada para producir el resultado deseado )n programa, aplicacin o software puede "erse como una herramienta que permite al usuario realizar cierta tarea *o proporcionar soporte a la realizacin de una tarea+ (ara ello, a un programa se le proporcionan datos de entrada *como puede ser te,to, imgenes, cifras, etc + ! a partir de estos datos el programa efect#a un procesamiento para producir como resultado unos datos de salida *que pueden ser incluso los mismos datos de entrada con formato o simplemente almacenados+ 1.2 La comunicacin con el or ena or El ordenador es un componente electrnico basado en la tecnolog$a digital &a informacin que se mane%a en esta tecnolog$a esta basada en una codificacin de los n#meros mediante - ! 1, denominada sistema de numeracin binario Este sistema se adapta mu! bien a la naturaleza de los componentes el.ctricos !a que se corresponde directamente con la presencia de corriente o la ausencia de la misma )na persona que desee usar esta herramienta de forma #til no ser$a capaz de comunicarse mediante - ! 1 para e,presar lo que requiere Necesita que la comunicacin establecida con el ordenador sea realizada en t.rminos de algo ms abstracto ! mane%able &os programas son los encargados de presentar al usuario una "isin ms amigable de lo que es un ordenador Estos se encargan de mane%arse con la comple%idad inherente al hardware, para presentar al usuario una "isin ms abstracta, que puede ser comprendida ! resultar producti"a para los ob%eti"os del usuario

&os ordenadores son aplicados en multitud de propsitos, que "an desde el ocio, el almacenamiento de informacin *bases de datos+, la publicacin *procesamiento de te,to, edicin de paginas 0eb, maquetacin de peridicos, maquetacin de "ideos+, el dise1o *grfico, de ingenier$a, etc +, el clculo matemtico *financiero, cient$fico, etc +, como medio de comunicacin, ! much$simos otros Sin embargo, el ordenador normalmente no esta dise1ado para un propsito especifico, sino que proporciona la base para cualquier aplicacin Es decir, el software es el encargado de usar el hw para proporcionar aquellas funcionalidades que el usuario desea Es por tanto el sw el encargado de con"ertir al ordenador en una herramienta #til El sw tambi.n puede contemplarse como un intermediario que se encarga de satisfacer las e,pectati"as o necesidades del usuario 2. T!POS DE SOFTWARE El software puede clasificarse, seg#n su funcin general, en tres categor$as principales2 software de sistema, software de aplicaciones ! software de desarrollo 2.1 So"#$are e %i%#ema Como hemos "isto, el sw se encarga de gestionar la comple%idad de los dispositi"os hw Sin embargo, esta 3comunicacin4 con el hw no es realizada indi"idualmente por cada programa que se e%ecuta en un ordenador En su lugar, otro programa intermediario es el encargado de mane%ar los recursos *memoria, procesador, dispositi"os E5S+ Este programa es el Sistema 6perati"o El S6 act#a como mediador ! administrador de los recursos de la maquina (or e%emplo, cuando un programa se carga en memoria para ser e%ecutado, de alguna manera debe decidirse en que lugar de la memoria debe colocarse Esta decisin no la toma el propio programa *no escoge el mismo la zona de memoria donde colocarse+ En su lugar, es el S6 el encargado de gestionar la memoria ! decidir en que lugar "a a colocar este nue"o programa 7el mismo modo, el S6 se encarga de decidir cuando le toca a un programa e%ecutarse, pasndole el control del procesador Esta forma de operar conlle"a ciertas "enta%as2 6frece a los programas una ma&uina e'#en i a, en el sentido de que los programas no deben preocuparse mas que por la tarea que tienen que realizar Esto facilita enormemente la tarea de desarrollar un programa, !a que no se debe llegar a los detalles que serian necesarios programar en caso contrario (ermite que "arios programas 3con"i"an4 en la misma maquina Como hemos "isto, el S6 act#a de administrador, ! es capaz de gestionar la e%ecucin de "arios programas al mismo tiempo, lo que se denomina proce%amien#o concurren#e o mul#i#area *esto es lo mas habitual en los sistemas operati"os actuales, sin embargo mencionar que los sistemas operati"os ms antiguos solo eran capaces de gestionar una tarea al mismo tiempo+ Esta caracter$stica permite apro"echar al m,imo los recursos de la maquina

&as tareas encomendadas al S6 con ma!or detalle son2 Se comunica con los dispositivos E/S, siendo esta una de las tareas ms comple%as Cada fabricante fabrica su dispositi"o con un interfaz propio *es decir, cada fabricante establece su propia forma de comunicarse con el dispositi"o+ (or ello, los fabricantes suelen proporcionar su propio sw encargado de controlar cada dispositi"o Este sw se denomina mane%ador de dispositi"o o driver El S6 se encarga de gestionar el acceso de los programas a los mane%adores Gestin de procesos2 los S6 actuales permiten e%ecutar "arios traba%os al mismo tiempo Esta funcionalidad se basa en el reparto de peque1as porciones de procesador entre las tareas, de modo que, en apariencia, parece que todas se e%ecutan al mismo tiempo 7e esta modo se consigue reducir al m$nimo el tiempo de inacti"idad del

procesador, apro"echando al m,imo su capacidad 9ambi.n, tener "arios programas permite compartir informacin entre los mismos Administracin de la memoria2 cuando "arias aplicaciones tienen que coe,istir en memoria, tienen que e,istir ciertas normas que determinen como debe usarse la memoria El S6 es capaz de administrar esta memoria ! determinar en cada momento como se distribu!e entre las aplicaciones En ocasiones, el S6 ofrece lo que se denomina memoria (ir#ual, que consiste en emular memoria :;< utilizando un dispositi"o de almacenamiento rpido *bsicamente estas t.cnicas intentan de%ar en memoria los datos que se usan ms a menudo+ Gestin de las comunicaciones2 en la actualidad esta tarea a cobrado una gran importancia, !a que no se concibe un ordenador aislado, ! la ma!or$a de las aplicaciones estn concebidas para ser interconectadas El S6 se encarga de gestionar las comunicaciones, implementando los protocolos de comunicacin *que son normas que se definen para que se pueda establecer una comunicacin precisa, ! que en definiti"a puedan entenderse distintos ordenadores+ Sistema de ficheros2 los dispositi"os de almacenamiento necesitan un sistema para ordenar ! estructurar la informacin contenida en ellos 9ambi.n pueden aplicarse en esta tarea consideraciones sobre la seguridad en el acceso a la informacin almacenada En ocasiones es "ital que solo las personas autorizadas puedan acceder a informacin almacenada en los dispositi"os de almacenamiento

U#ili a e% el %i%#ema El S6 suele "enir acompa1ado de programas que realizan tareas cu!o propsito suelen ser proporcionar una base que el usuario pueda configurar la maquina ! pueda e%ecutar fcilmente otros programas 7entro de estas tareas se pueden enumerar las siguientes2 &a instalacin del S62 operacin que se realiza para incorporar el S6 a un ordenador &a configuracin del S62 los S6 contienen multitud de parmetros que permiten a%ustar su funcionamiento para seg#n que casos (ersonalizacin del interfaz2 el entorno de traba%o de un S6 puede ser configurado para alcanzar una ma!or producti"idad o comodidad en su mane%o Visualizar de forma grfica e intuiti"a el contenido de los dispositi"os de almacenamiento (roporcionar opciones para permitir al usuario poner en e%ecucin otros programas

En la actualidad los S6 han ampliado aun mas sus capacidades inclu!endo programas ms propios del software de aplicacin, como na"egadores de =nternet, programas que permiten la edicin simple de te,tos, programas para "isualizar archi"os de sonido o de "ideo, etc 2.2 So"#$are e aplicacin Esta categor$a engloba todo aquel software cu!o propsito es a!udar a realizar al usuario una tarea El sw de aplicacin se puede considerar como una herramienta que e,tiende las capacidades humanas, permitiendo la realizacin de tareas que de otro modo ser$a dif$cil o

imposible realizarlas (or lo tanto, la ma!or parte del sw cae dentro esta clase 7entro de ella podemos distinguir entre los siguientes tipos de sw2 ;plicaciones de publicacin electrnica *(rocesadores de te,tos, entornos de desarrollo de sitios 0eb+ ;plicaciones de clculo num.rico *?o%as de calculo+ ;plicaciones de almacenamiento de informacin *@ases de datos+ ;plicaciones de telecomunicaciones ! redes *Na"egadores, Chats, A9(s, Correo+ ;plicaciones grficas de dise1o *"ectorial, /7, 87+ ;plicaciones multimedia e hipermedia ;plicaciones de gestin empresarial ;plicaciones de mercado "ertical o a medida2 tipo especial de aplicaciones que son desarrolladas para un uso mu! concreto (or tanto, estas aplicaciones son desarrolladas a medida )n e%emplo ser$a el sw desarrollado para la N;S;

Sobre el sw de aplicacin e,isten "arios puntos que trataremos a continuacin2 Documen#acin El sw casi siempre se acompa1a de documentacin impresa, donde se puede encontrar informacin sobre su instalacin ! uso 9ambi.n es habitual encontrar opciones dentro del programa que proporcionan te,tos de a!uda al momento, es la denominada a!uda on-line Sin embargo, en la actualidad los programas son dise1ados de forma que su instalacin ! utilizacin sean simples ! sencillas incluso para los usuarios que no disponen de conocimientos 6tra caracter$stica que facilita su uso es la adopcin de caracter$sticas mu! similares en el mane%o de los programas, lo que permite deducir la forma de uso de un programa a partir del mane%o de otros En la ma!or$a de ocasiones solo es necesario recurrir al manual en casos puntuales Con"iguracin &a configuracin consiste habitualmente en establecer una serie de parmetros para el uso de software Estos parmetros permiten a%ustar su funcionamiento )n e%emplo ser$an los directorios de traba%o *localizaciones en el disco donde se almacenan por defecto los ficheros creados con ese programa+ En ocasiones esta configuracin es necesaria para que funcionen correctamente *por e%emplo, el correo electrnico debe ser configurado, !a que no se puede mane%ar una cuenta de correo si antes no se especifica+ (or otro lado, la configuracin

>

tambi.n puede consistir en opciones que permiten personalizar la herramienta para adaptarlos ms a las necesidades o gustos del usuario Ac#uali)acione% &as empresas desarrolladoras de sw traba%an de forma continuada sobre este para me%orar su producto o eliminar sus errores Esto da lugar frecuentemente a actualizaciones del sw, consistentes en peque1os a1adidos a los programas que permiten que el sw disponga de nue"as funcionalidades o se eliminen errores Esta forma de operar se debe principalmente a que el mercado del sw obliga a las empresas a desarrollar productos competiti"os en poco tiempo Esto produce como consecuencia que el software se desarrolle de forma poco cuidadosa dando lugar a los, por otro lado ine"itables, errores en el sw Estas actualizaciones suelen estar en la actualidad disponibles en =nternet ;parte de estas actualizaciones, cuando los cambios en las funcionalidades del sw son importantes esto suele dar lugar a "ersiones ms actuales de los programas Compa#i*ili a &os programas no pueden instalarse ! e%ecutarse en cualquier ordenador En la gran ma!or$a de ocasiones necesitan traba%ar con ciertos sistemas operati"os *"ersiones de estos+ o con ciertos tipos de ordenadores concretos El sw suele lle"ar este requerimiento remarcado para e"itar confusiones El problema de la compatibilidad es fruto de que los fabricantes de ordenadores ! los desarrolladores de S6 no optan por las mismas soluciones Ello deri"a en que se oferten productos, que aunque en realidad tienen el mismo propsito, su forma de operar con los programas es distinta *es un problema similar al de las cintas V?S ! @eta+ Es el desarrollador de sw quien determina si su producto debe ser desarrollado para un S6 u otro, o para un tipo de ordenador u otro Di%#ri*ucin El software, tiene en la actualidad, una legislacin similar al de una obra literaria o musical E,iste lo que se denomina derechos de autor, que precisamente establecen el marco de uso del sw ;dems, el comercio de software se realiza en muchas ocasiones ba%o una licencia de uso, donde se establece de que modo puede el usuario usar ese software <uchas "eces esta licencia impide que "arias personas puedan usar el programa a la "ez Esta cuestin re"ista mucha importancia, dada la facilidad con la que puede instalarse en "arios ordenadores &as condiciones impuestas en las licencias de uso nos permiten distinguir entre las distintas formas que en la actualidad podemos encontrar a la hora de adquirir el sw2 Software comercial2 se "ende un producto, ba%o una licencia de uso que establece normalmente el numero m,imo de personas que pueden usar el software Software de dominio p#blico2 este sw se produce sin ning#n afn de lucro, pero tampoco se compromete a que funcione siempre 9ambi.n estos programas suelen ser ms simples ! complicados de usar *no son tan intuiti"os como los comerciales+ Shareware2 *(robar antes de pagar+ 2 este tipo de sw se permite su uso *en ocasiones limitado por tiempo o por funcionalidad+ ! se pide que despu.s de usarlo, si se adapta a nuestras necesidades, se compre Entonces el usuario que lo compra obtiene una cla"e que quita la limitacin de tiempo o de funcionalidad Freeware2 sin ning#n tipo de limite en el uso, sus autores buscan el reconocimiento En ocasiones, se libera tambi.n el cdigo fuente ! esto produce que se produzcan actualizaciones o nue"as "ersiones por gente que in"ierte tiempo en desarrollar el programa

Adware2 el sw se puede usar libremente pero nunca con propsitos comerciales Se caracteriza porque en alguna parte delo programa aparece una zona en la que "an apareciendo distintos banners de publicidad Este tipo de licencia es mu! habitual en programas espec$ficos para =nternet

2.+ So"#$are e e%arrollo e %$ (or #ltimo, dentro de esta categor$a caen todos aquellos programas que permiten construir programas Como hemos "isto los programas son secuencias de ordenes (ero estas secuencias deben ser cuidadosamente dise1adas para que realizan las tareas encomendadas &os programadores deben indicarle al ordenador que debe realizar en cada instante, sin que estas acciones tengan ninguna ambigDedad ni imprecisin El desarrollo de programas es una tarea complicada, !a que muchas "eces las necesidades de una persona se e,presan en t.rminos ambiguos o "agos, ! en ning#n caso se e,presan en el lengua%e que entiende el computador El traba%o de los desarrolladores de sw es con"ertir esos requerimientos e,presados por los usuarios en programas que entienda el ordenador En la actualidad la programacin se aborda como una tarea de ingeniera, una apro,imacin mucho ms predecible ! "iable econmicamente que en .pocas pasadas Sin embargo, ! a pesar de usar m.todos de ingenier$a es dif$cil realizar programas que no contenga errores o fallos Esta caracter$stica casi inherente al software es mu! dif$cil de erradicar El programa debe hacer frente a las peticiones del usuario, as$ como a las muchas posibles situaciones concretas que se puedan dar en el momento de su e%ecucin *problemas de configuracin de dispositi"os, entradas de datos errneas, ! otras muchas posibles causas de problemas+ &os usuarios pueden realizar tal cantidad de combinaciones de actuacin ante un programa, que pueden realizar algo en lo que el desarrollador *o ms bien el equipo desarrollador+ no ha!a pensado esto Este problema es bastante frecuente ! da lugar a importantes quebraderos de cabeza, as$ como a un decremento de la producti"idad importante en el uso de las herramientas sw (or otro lado, el sw se distingue de otros productos !a que cuando sale al mercado no termina su produccin *no es un producto cerrado+ sino que su desarrollo continua pendiente de posibles errores, o posibles funcionalidades que deber$an ser incorporadas al programa, etc +. ARRAN,UE DEL S!STE-A EFue sucede cuando se enciende el ordenadorG &a respuesta es precisamente la cuestin que "eremos en este apartado Cuando se conecta el ordenador se da una secuencia de pasos que es mu! similar en todos los ordenadores Esta secuencia de pasos se suele denominar arranque del sistema En primer lugar el ordenador e%ecuta un programa que tiene inscrito en una memoria especial, denominada memoria permanente o :6< *memoria de solo lectura+ Este programa realiza "arias tareas, que principalmente son2 1 / 8 Chequeo interno del sistema2 mira que procesador ha!, cuanta memoria :;< tenemos Chequeo de e,istencia de los dispositi"os2 se despierta a los dispositi"os ! se espera que responda que tipo de dispositi"o es Se busca en uno de los dispositi"os de almacenamiento alguna rutina de arranque del S6 )na "ez localizada se e%ecuta &a rutina de arranque del sistema operati"o es un programa situado en un sitio mu! concreto del disco que esta preparado para arrancar el resto del S6

El S6 es, como hemos "isto, el programa que se encarga de soportar la e%ecucin del resto de aplicaciones .. !NSTALAC!/N DEL SOFTWARE &a instalacin es un proceso por medio del cual una aplicacin pasa a formar parte del con%unto de programas listos para ser e%ecutados en el ordenador Normalmente, los programas deben sufrir un proceso de acoplamiento al sistema operati"o, ! al ordenador donde "an a ser e%ecutados En este proceso los programas son informados por el S6 de en que condiciones *memoria, dispositi"os, etc + "an a e%ecutarse <uchas "eces necesitan de otros componentes, o necesitan estar en un lugar concreto del disco En ocasiones el proceso de instalacin se produce para que se introduzcan los datos sobre la licencia de uso ! corroborar as$ que se trata de software original 7urante la instalacin se e%ecuta un software especial, denominado sw de instalacin Este realiza todas las tareas antes mencionadas 0. !NTERFA1 2O-3RE4-5,U!NA &a interfaz define como los usuarios interaccionan con el sw, ! por lo tanto tambi.n establece que se puede pedir que realice el sw Se entiende por interfaz aquellos elementos que sir"en para comunicarse con el programa 7entro de estos interfaces podemos distinguir2

Lo% i%po%i#i(o% e comunicacin2 lo constitu!en aquellos dispositi"os de E5S que sir"en para que el usuario pueda comunicarse con los programas (or e%emplo, la pantalla, el ratn, el teclado, lpiz ptico, tar%eta de sonido, etc )n aspecto importante en estos dispositi"os es la ergonom$a que ofrecen, es decir, la capacidad de ofrecer un modo de comunicacin eficaz ! adaptado a las capacidades humanas &os #ltimos a"ances en el desarrollo de las interfaces hombreI ordenador se encaminan hacia nue"os dispositi"os donde el usuario pueda comunicarse de una forma ms natural2 pantallas sensibles al tacto, procesamiento del lengua%e natural, realidad "irtual , etc El in#er"a) gr6"ico e u%uario *J)= K Graphical User Interface+ Configura el aspecto "isual que tenga el programa hacia el usuario2 el sw se comunica con el usuario a tra".s de s$mbolos te,tuales o grficos (ara presentar la informacin en los dispositi"os de "isualizacin *pantallas, impresoras, etc + el sw se gu$a por ciertas reglas de comunicacin basadas en s$mbolos En principio ! debido a las limitaciones del hw de las pantallas, las interfaces se compon$an de informacin te,tual, ! la interaccin que realizaba el usuario era a tra".s de comandos que eran introducidos tras un prompt o indicador de interprete que indicaba que el ordenador estaba preparado para procesar nue"os comandos Este tipo de interfaces se denominaban interfaz de comandos (osteriormente los programas se comunicaban a tra".s de una pantalla basada en men#s ! botones, pero con informacin solo de tipo te,tual Estas tipo de interfaz, denominada interfaz de te,to, hac$a uso de un nue"o dispositi"o2 el ratn Con la e"olucin posterior del hw, las interfaces pasaron a ser interfaces grficas Estas interfaces estn basadas en elementos grficos ms intuiti"os como2 botones, iconos grficos, barras de desplazamiento, men#s, etc as$ como otros elementos no grficos, como el sonido Como se "e los a"ances en la comunicacin con el software aparecen ligados muchas

"eces a la aparicin de nue"os dispositi"os de comunicacin En las siguientes imgenes podemos "er e%emplos de interfaces "isuales2

Este es un ejemplo de interfaz de comandos (interprete MS-DOS)

Aqui podemos ver la interfaz del Mac OS (Sistema operativo propio de la familia de ordenadores Macintosh)

Interfaz que presenta el nuevo sistema operativo de Apple (el OS )

&as tendencias futuras se encaminan hacia el ob%eti"o de adaptar las interfaces todo lo posible a la forma habitual de traba%ar del usuario Es decir, intentan aseme%arse de la me%or forma posible al modo interaccionar del usuario con el mundo real

pueden comunicarse ! compartir informacin sin tener que 'conocer' al resto de los programas

7. !NTE8RAC!/N EN EL SOFTWARE El sw debe, en muchas ocasiones interaccionar con otros programas para permitir compartir informacin ! combinar resultados &a ma!or parte del sw esta especializado, en el sentido de que su cometido es realizar una tarea concreta Sin embargo, puede ser mu! beneficioso mezclar el resultado obtenido por "arios programas, uniendo as$ la potencia de "arias herramientas 7e este modo se pueden construir herramientas a#n ms eficaces &a integracin entre sw se realiza mediante mecanismos de comunicacin de informacin, como por e%emplo la operacin de cortar ! pegar documentos *o partes de documentos+ &os paquetes integrados, constitu!en un e%emplo de sw integrado Se componen de "arias aplicaciones que se "enden con%untamente o por separado )na "enta%a de la integracin del sw es que generalmente todas los programas que se "enden en un paquete integrado disponen de una forma de traba%ar mu! similar, facilitando la tarea de aprendiza%e del usuario En la actualidad los programas se integran con suma facilidad dado que e,isten normas de intercambio de informacin que estn casi estandarizados 7e este modo los programas

You might also like