Fundamentos Del Software
Enviado por RaulVillanueva • 16 de Octubre de 2013 • 3.812 Palabras (16 Páginas) • 827 Visitas
Fundamentos Del Software
El Fantasma de la Máquina
En un extremo tenemos una persona. En otro extremo tenemos una computadora. Un gran abismo separa la persona que tiene una colección de vagos problemas del árido y rígidamente delimitado mundo de las computadoras. Éste es el punto en el que el software entra en acción. El software permite que las personas puedan contarle a la computadora cierto tipo de problemas y que ésta a su vez les ofrezca algún tipo de solución a los mismos.
Cada computadora creada desde entonces se ha basado en el concepto de programa almacenado. La idea estableció la industria del software. Los programas de hoy en día escriben programas y las introducen en la memoria de la computadora mediante teclados o cualquier otro dispositivo de entrada. Estos programas constituyen el software de la máquina.
Procesamiento Con Programas
El software es invisible y complejo. Para tener claro los conceptos básicos, empezaremos nuestra exploración de lo que es software con una analogía más cercana a nosotros.
Comida como idea
Piense en el hardware de una computadora como en la cocina de un restaurant de comida rápida: está preparada para producir cualquier cosa que el cliente (usuario) solicite, pero permanece ociosa hasta que se realiza un pedido (comando). Roberto, es el jefe informático de la cocina imaginaria, está esperando que el cliente (usuario) le solicite un pedido, en este caso un comando de entrada. Roberto actúa como un CPU.
Como ya habrá supuesto, la receta es el software. Si la receta es correcta, clara y precisa para obtener la salida adecuada. En el caso de que las instrucciones no sean claras, o si el software tiene errores, o bugs, la salida puede no ser la que el usuario desea.
Una máquina rápida pero estúpida
Las computadoras parecen inteligentes porque pueden efectuar estas operaciones aritméticas y las comparaciones rápidamente y con precisión.
La receta de tortilla de patatas de la abuela Enriqueta no se considera un programa informático, ya que no está escrito en un lenguaje que la máquina no pueda entender. Pero es considerado como un algoritmo: un conjunto de procedimientos secuenciales para llevar a cabo una tarea. Un programa suele iniciarse con un algoritmo escrito en cualquier lenguaje humano.
El trabajo del programador es convertir el algoritmo en un programa añadiéndole detalles, puliendo los fallos, verificando los procedimientos y depurando los errores.
El lenguaje de las computadoras
Cada computadora procesa instrucciones en un lenguaje máquina, el cual emplea códigos numéricos para representar las operaciones más básicas de una computadora.
Hoy en día, la mayoría de programadores emplean lenguajes de programación como C++, C#, Java o Visual Basic.NET que se encuentra a medio camino entre lo que entiende un humano y lo que se debe suministrar a la máquina. Estos lenguajes, llamados lenguajes de alto nivel, posibilitan que los científicos, ingenieros y público en general resuelvan sus problemas mediante una terminología familiar, en lugar de usar enigmáticas instrucciones máquinas. Para que una computadora entienda un programa escrito en uno de estos lenguajes, es preciso convertirlo al idioma de las máquinas, es decir, a unos y ceros.
El programa traductor más común es el compilador, cuya misión es convertir un programa completo escrito en un lenguaje de alto nivel (como C#) antes de que se ejecute por primera vez. El programa compilado puede ejecutarse una y otra vez, y sólo deberá recompilarse en el caso de que se modifique alguna instrucción.
La implacable demanda de detalles técnicos por parte de la computadora no ha desaparecido; simplemente son manipulados automáticamente por el software de traducción. Como resultado, la programación es más sencilla y menos propensa a los errores. A medida que los traductores se vuelven más sofisticados, los programadores pueden comunicarse con la computadora en un lenguaje más próximo a los lenguajes naturales .
Los lenguajes de programación se emplean para resolver los problemas que no pueden solucionarse gracias al software convencional aunque, virtualmente, todos los trabajos de los usuarios podrían hacerse sin necesidad de programación. (Beekman, 2005)
Aplicaciones. Herramientas Para Los Usuarios
Las aplicaciones de software permiten a los usuarios controlar sus computadoras sin pensar del mismo modo que los programadores. Vamos a centrar nuestra atención en ellas.
Aplicaciones para el usuario
Las tiendas de computadoras y software, las de productos electrónicos y las de venta por correo venden cientos de programas: software de autoedición, de contabilidad, de gráficos, gestores de información personal, herramientas multimedia, títulos educativos, juegos, etc.
El proceso de compra de cualquier software es similar al de cualquier CD de música. Pero existen algunas sutiles diferencias que veremos a continuación.
Documentación
Cualquier paquete de software de incluir documentación impresa con las instrucciones a seguir para su instalación en el disco duro de la computadora. Algunos también disponen de tutoriales y manuales de referencia que explican cómo usarlo. Muchas compañías de software han sustituidos estos documentos impresos por tutoriales, materiales de referencia y ficheros de ayuda que aparecen en la pantalla a petición del usuario.
Actualización
La mayoría de las empresas de software trabajan en la mejora de sus productos, eliminando fallos y añadiendo nuevas características. Como resultado de ello, es frecuente que aparezcan nuevas versiones de los programas más populares cada uno o dos años.
Compatibilidad
El comprador de cualquier software debe preocuparse de los temas de compatibilidad. Aunque no de forma general, también existen los estándares universales de software en el mundo informático, pero un programa escrito para un tipo de computadora puede que no funcione en otro.
Renuncias
Según la letra pequeña de las garantías incluidas en muchos paquetes de software, algunas aplicaciones podrían ser técnicamente inservibles aun disponiendo de hardware y software compatible. El primer párrafo de cualquier garantía de un software típico, el cual forma parte de un extenso EULA.
Las compañías de software se esconden tras la renuncias ya que nada está exento de un error de escritura en un programa.
Licencia
Cuando se adquiere cualquier paquete de software, usted realmente no está comprando ese software sino una licencia para usar el programa, generalmente en una sola máquina. Muchas compañías ofrecen licencias
...