Fundamentos Del Software
RaulVillanueva16 de Octubre de 2013
3.812 Palabras (16 Páginas)898 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 corporativas, las cuales permiten utilizar el software a toda una empresa, un colegio o a una instituciones gubernamentales.
Virtualmente, todo el software comercializado tiene un copyright, lo que significa que no puede duplicarse legalmente para su distribución a terceras personas. Por lo general, la forma más habitual de proteger un programa contar su copia es solicitar al usuario que escriba su nombre y el número de serie del producto antes de que éste se ejecute por primera vez.
Distribución
El software se distribuye directamente desde el fabricante a las empresas y otro tipo de instituciones, mientras que el cliente normal lo adquiere en tiendas especializadas, librerías y tiendas de este tipo. Muchos programas son vendidos mediante catálogos de venta por correo y sitios web.
No todo el software tiene copyright y se vende por canales comerciales. Los sitios web, los grupos de usuarios y otro tipo de fuentes ofrecen con frecuencia software de dominio público y shareware . (HobbyPress, 1990)
¿Por qué usamos aplicaciones?
Podría sonar raro que alguien pagase una cantidad de dinero por un producto que no tiene garantía y que incluye docenas de restricciones legales relacionadas con su uso. De hecho, el rápido crecimiento de la industria de software ha producido una gran cantidad de programas que han vendido millones de copias.
Los programas más exitosos comparten dos importantes rasgos:
• Están construidos alrededor de metáforas visuales de herramientas del mundo real. Un programa de dibujo convierte la pantalla en una hoja de papel y una colección de herramientas de dibujo. Las hojas de cálculo reúnen las cuentas de un libro de contabilidad. El software de edición de video sitúa en pantalla los familiares controles de un video. Pero si estos programas solamente copiaran a sus equivalentes en la vida real, la gente no se habría decidido a utilizarlo.
• Expanden, de alguna forma, las capacidades humanas. Los programas más populares permiten que las personas realicen cosas que no pueden llevarse a cabo de una manera sencilla o, en todo caso, con herramientas convencionales.
Aplicaciones integradas y suites. Paquetes de software
Aunque la mayoría de los paquetes de software están especializados en una aplicación particular, como un procesador de textos o la edición fotográfica, los paquetes de software integrado de bajo precio incluyen varias aplicaciones diseñadas para trabajar juntas.
Cada una de las partes que componen un paquete integrado puede que no dispongan de todas las características de sus equivalentes en solitario, pero aun así ofrecen muchas ventajas.
Estas ventajas no son privilegios exclusivos de los paquetes integrados. Muchas compañías ofrecen suites de aplicaciones (paquetes que contienen varios programas de aplicación completos que también se venden por separados).
...