INF-El Software - Edumin-INF

Anuncio
EL SOFTWARE
CAROLINA CRUZ
YUDY VELANDIA
CESAR BENAVIDES CORREA
MAURICIO BENAVIDES CORREA
UNIVERSIDAD MINUTO DE DIOS
CERES – SABANA OCCIDENTE
SALUD OCUPACIONAL
FACATATIVÁ - CUNDINAMARCA
EL SOFTWARE Y SU FUNCION
TRABAJO DE INVESTIGACION
ELECTIVA I - INFORMÁTICA
CAROLINA CRUZ
YUDY VELANDIA
CESAR BENAVIDES CORREA
MAURICIO BENAVIDES CORREA
TUTOR
MAURICIO LEAL PARGA
UNIVERSIDAD MINUTO DE DIOS
CERES FACATATIVA
SALUD OCUPACIONAL
SÁBADO 8 DE MAYO DE 2010
FACATATIVÁ - CUNDINAMARCA
PREGUNTAS GENERADORAS
1. ¿Qué es el Software?
El software es un conjunto de programas elaborados por el hombre, que controlan la actuación del
computador, haciendo que éste siga en sus acciones una serie de esquemas lógicos predeterminados.
2. ¿qué es un programa?
Un programa es una secuencia de instrucciones que pueden ser interpretadas por un computador,
obteniendo como fruto de esa interpretación un determinado resultado que ha sido predeterminadamente
establecido por el ser humano.
3. ¿Cuáles son los tipos o la clasificación del Software (programas)?
La clasificación básica es: software de sistema y software de aplicación.
El software de sistema es el software básico o sistema operativo. Es un conjunto de programas cuyo
objeto es facilitar el uso del computador (aísla de la complejidad de cada dispositivo, y presenta al
exterior un modelo común de sistema de manejo para todos los dispositivos) y conseguir que se use
eficientemente (ejemplo: realizar operaciones mientras se ejecuta un programa). Administra y asigna los
recursos del sistema (hard-ware).
Por otro lado, el software de aplicación son los programas que controlan y optimización la operación de la
máquina, establecen una relación básica y fundamental entre el usuario y el computador, hacen que el
usuario pueda usar en forma cómoda y amigable complejos sistemas hardware, realizan funciones que
para el usuario serían engorrosas o incluso imposibles, y actúan como intermediario entre el usuario y el
hardware.
OBJETIVOS ESPECIFICOS
-
Dar a conocer a las personas que tienen nociones básicas en sistemas, la facilidad del manejo
que brinda este medio para dar solución a las múltiples barreras que se puedan presentar en
nuestra diaria labor.
-
Demostrar que con el conocimiento de los sistemas se abren múltiples oportunidades para
mejorar nuestras condiciones personales y laborales.
INTRODUCCIÓN
Muchas personas se preguntan qué es el software, Cómo está formado, sus diferentes aplicaciones, etc.;
y que importante es para el funcionamiento del computador, aunque tenemos claridad que prácticamente
sin él, no funcionaría.
Debido a su complejidad ya que posee cantidad de programas que infieren en diferentes funcionamientos
en particular; es muy importante esta parte en un computador para que haya un orden lógico en el
momento de manipular una máquina, y así al usuario no se le haga tan complicado
Es de nuestro interés brindar las herramientas para que conozcamos las funciones de su aplicabilidad
que conlleven a un manejo correcto y mejor de esta importante herramienta que brinda la tecnología.
1. CATEGORIA DE LOS LENGUAJES
LENGUAJE DE PROGRAMACION
Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones
consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo
práctico para que los seres humanos puedan dar instrucciones a un equipo. Tiene varias ventajas:
-
Es mucho más fácil de comprender que un lenguaje máquina.
-
Permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en
diferentes tipos de equipos.
Los lenguajes de programación generalmente se dividen en dos grupos principales en base al
procesamiento de sus comandos:
-
Lenguajes imperativos;
-
Lenguajes funcionales.
Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos
de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la
condición.
Un lenguaje de programación funcional (a menudo llamado lenguaje procedimental) es un lenguaje que
crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el
resultado de otras funciones. Cuando una función se invoca a sí misma, hablamos de recursividad.
2. EVOLUCION DEL SOFTWARE
Durante los primeros años de la era de la computadora, el software se contemplaba como un añadido.
La programación de computadoras era un "arte de andar por casa" para el que existían pocos métodos
sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los
planes comenzaron a descalabrarse y los costes a correr. Los programadores trataban de hacer las
cosas bien, y con un esfuerzo heroico, a menudo salían con éxito. El software se diseñaba a medida
para cada aplicación y tenía una distribución relativamente pequeña.
La mayoría del software se desarrollaba y era utilizado por la misma persona u organización. La misma
persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba. El diseño era un proceso implícito, realizado
en la mente de alguien y, la documentación normalmente no existía.
La segunda era en la evolución de los sistemas de computadora se extienden desde la mitad de la
década de los sesenta hasta finales de los setenta. La multiprogramación y los sistemas multiusuario
introdujeron nuevos conceptos de interacción hombre - máquina.
La tercera era en la evolución de los sistemas de computadora comenzó a mediados de los años setenta
y continúo más allá de una década. El sistema distribuido, múltiples computadoras, cada una ejecutando
funciones concurrentes y comunicándose con alguna otra, incrementó notablemente la complejidad de
los sistemas informáticos. El microprocesador ha producido un extenso grupo de productos inteligentes,
desde automóviles hasta hornos microondas, desde robots industriales a equipos de diagnósticos de
suero sanguíneo.
La cuarta era de la evolución de los sistemas informáticos se aleja de las computadoras individuales y de
los programas de computadoras, dirigiéndose al impacto colectivo de las computadoras y del software.
Potentes máquinas personales controladas por sistemas operativos sofisticados, en redes globales y
locales, acompañadas por aplicaciones de software avanzadas se han convertido en la norma.
3. SISTEMAS OPERATIVOS
Los sistemas operativos empleados normalmente son UNIX, Macintosh OS, MS-DOS, OS/2 y WindowsNT. El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su sistema de archivos
proporciona un método sencillo de organizar archivos y permite la protección de archivos. Sin embargo,
las instrucciones del UNIX no son intuitivas. Otros sistemas operativos multiusuario y multitarea son
OS/2, desarrollado inicialmente por Microsoft Corporation e International Business Machines (IBM) y
Windows-NT, desarrollado por Microsoft. El sistema operativo multitarea de las computadoras Apple se
denomina Macintosh OS. El DOS y su sucesor, el MS-DOS, son sistemas operativos populares entre los
usuarios de computadoras personales. Sólo permiten un usuario y una tarea.
MS-DOS Acrónimo de Microsoft Disk Operating System (sistema operativo de disco de Microsoft). Como
otros sistemas operativos, el sistema MS-DOS supervisa las operaciones de entrada y salida del disco y
controla el adaptador de vídeo, el teclado y muchas funciones internas relacionadas con la ejecución de
programas y el mantenimiento de archivos.
WINDOWS En informática, nombre común o coloquial de Microsoft Windows, un entorno multitarea
dotado de una interfaz gráfica de usuario, que se ejecuta en computadoras diseñadas para MS-DOS.
Windows proporciona una interfaz estándar basada en menús desplegables, ventanas en pantalla y un
dispositivo señalador como el mouse (ratón).
OS/2 En informática, sistema operativo multitarea para ordenadores o computadoras personales con
microprocesadores de la gama x86 de Intel. El OS/2 puede ejecutar aplicaciones para Windows y MSDOS y leer discos de MS-DOS. El OS/2 fue desarrollado originalmente como un proyecto conjunto de
Microsoft e IBM.
UNIX en informática, sistema operativo multiusuario que incorpora multitarea. Fue desarrollado
originalmente por Ken Thompson y Dennis Ritchie en los laboratorios AT&T Bell en 1969 para su uso en
minicomputadoras.
CRAYTHUR. Completamente nuevo y en español. Tiene un cuidado especial en el diseño de escritorios y
ventanas.
Sin
embargo,
las
aplicaciones
aún
están
un
poco
a
medias.
DESKTOPTWO. Basado en Flash, requiere registro para probarlo. Las aplicaciones son algo lentas y con
unos cuantos bugs. Hace bastantes cosas bien, pero le falta algo de usabilidad. Y dejar de funcionar a
base de pop-ups.
EYEOS. Puede descargar los archivos de este sistema operativo para instalarlos en su servidor web y
utilizarlos como más le parezca, además de una demo o cuentas gratis para los que no tengan su propio
servidor. Resulta funcional y no tiene demasiados fallos, pero de momento no está listo para trabajar con
él.
GLIDE. En su segunda etapa, este SO se ofrece en versión gratis o de pago. Basado en Flash, no trata
de imitar el entorno de Windows y permite subir o almacenar hasta 1GB. Incluye las aplicaciones más
comunes, está bien diseñado (al menos a primera vista), pero comparte algunos de los fallos de
Desktoptwo. Muchas aplicaciones se abren en ventanas emergentes, otras no están bien terminadas en
cuanto a los gráficos, y algunas sencillamente no funcionan.
Goowy. Basado en Flash, con muchas aplicaciones bien construidas y con buena usabilidad. No es
demasiado lento, y todo funciona en la misma ventana con una barra de herramientas. Los autores de la
selección lo consideran de lejos el mejor de la lista por su funcionalidad, usabilidad y escasos fallos.
ORCA. No soporta Firefox. Pero incluso en Internet Explorer, Orca está sin terminar, como para que los
amigos
del
programador
le
ayuden
a
probarlo.
PUREFECT. También está en una fase temprana de su desarrollo, pero muestra algunas promesas.
Incluye unas pocas aplicaciones que imitan el estilo de Windows. A pesar de sus fallos, podría merecer la
pena revisar cuánto ha avanzado en unos meses. Por ahora no es suficiente.
4. COMPILADORES
La traducción de una serie de instrucciones en lenguaje ensamblador (el código fuente) a un código
máquina (o código objeto) no es un proceso muy complicado y se realiza normalmente por un programa
especial llamado compilador. La traducción de un código fuente de alto nivel a un código máquina
también se realiza con un compilador, en este caso más complejo, o mediante un intérprete. Un
compilador crea una lista de instrucciones de código máquina, el código objeto, basándose en un código
fuente. El código objeto resultante es un programa rápido y listo para funcionar, pero que puede hacer
que falle el ordenador si no está bien diseñado. Los intérpretes, por otro lado, son más lentos que
los compiladores ya que no producen un código objeto, sino que recorren el código fuente una línea cada
vez. Cada línea se traduce a código máquina y se ejecuta. Cuando la línea se lee por segunda vez, como
en el caso de los programas en que se reutilizan partes del código, debe compilarse de nuevo. Aunque
este proceso es más lento, es menos susceptible de provocar fallos en la computadora.
Ventajas de compilar frente a interpretar:







Se compila una vez, se ejecuta n veces.
En bucles, la compilación genera código equivalente al bucle, pero interpretándolo se traduce
tantas veces una línea como veces se repite el bucle.
El compilador tiene una visión global del programa, por lo que la información de mensajes de
error es más detallada.
Ventajas del intérprete frente al compilador:
Un intérprete necesita menos memoria que un compilador. En principio eran más abundantes
dado que los ordenadores tenían poca memoria.
Permiten una mayor interactividad con el código en tiempo de desarrollo.
Un compilador no es un programa que funciona de manera aislada, sino que necesita de otros
programas para conseguir su objetivo: obtener un programa ejecutable a partir de un programa
fuente en un lenguaje de alto nivel.
4.1 CLASIFICACIÓN DE COMPILADORES
El programa compilador traduce las instrucciones en un lenguaje de alto nivel a instrucciones que
la computadora puede interpretar y ejecutar. Para cada lenguaje de programación se requiere un
compilador separado. El compilador traduce todo el programa antes de ejecutarlo. Los compiladores son,
pues, programas de traducción insertados en la memoria por el sistema operativo para convertir
programas de cómputo en pulsaciones electrónicas ejecutables (lenguaje de máquina). Los compiladores
pueden ser de:
-
-
-
Una sola pasada: examina el código fuente una vez, generando el código o programa objeto.
Pasadas múltiples: requieren pasos intermedios para producir un código en otro lenguaje, y una
pasada final para producir y optimizar el código producido durante los pasos anteriores.
Optimación: lee un código fuente, lo analiza y descubre errores potenciales sin ejecutar el
programa.
Compiladores incrementales: generan un código objeto instrucción por instrucción (en vez de
hacerlo para todo el programa) cuando el usuario teclea cada orden individual. El otro tipo de
compiladores requiere que todos los enunciados o instrucciones se compilen conjuntamente.
Ensamblador: el lenguaje fuente es lenguaje ensamblador y posee una estructura sencilla.
Compilador cruzado: se genera código en lenguaje objeto para una máquina diferente de la que
se está utilizando para compilar. Es perfectamente normal construir un compilador de Pascal que
genere código para MS-DOS y que el compilador funcione en Linux y se haya escrito en C++.
Compilador con montador: compilador que compila distintos módulos de forma independiente y
después es capaz de enlazarlos.
Autocompilador: compilador que está escrito en el mismo lenguaje que va a compilar.
Evidentemente, no se puede ejecutar la primera vez. Sirve para hacer ampliaciones al lenguaje,
mejorar el código generado, etc.
4.2 PARTES EN LAS QUE TRABAJA UN COMPILADOR
Conceptualmente un compilador opera en fases. Cada una de las cuales transforma el programa fuente
de una representación en otra. En la figura se muestra una descomposición típica de un compilador. En
la práctica se pueden agripar fases y las representaciones intermedias entres las fases agrupadas no
necesitan ser construidas explícitamente.
Programa fuente
5. LENGUAJES DE PROGRAMACION
Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden
ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que
controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o
1
como modo de comunicación humana. Está formado de un conjunto de símbolos y reglas
sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al
proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de
un programa informático se le llama programación.
También la palabra
programación se define como el proceso de creación de
un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los
siguientes pasos:
-
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación específico
(codificación del programa)
Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
Prueba y depuración del programa.
Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje
informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como
por ejemplo el HTML. (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de
programación sino un conjunto de instrucciones que permiten diseñar el contenido y el texto de los
documentos).
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser
almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo
esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal
como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es
precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean
comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.
6. EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a
este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e
inventor ingles, que la principio del siglo XIX predijo muchas de las teorías en que se basan los actuales
ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no
pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada
como la primera programadora de la historia, pues realizo programas para aquélla supuesta maquina de
Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada,
lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación,
sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las
técnicas diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante
tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia.
Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la
inteligencia de la que se hallaban dotados.
En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un
dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la máquina
analítica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas perforadas,
gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había
creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información
codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento
crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con
una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si
bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya
que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño,
la máquina constaba de cinco unidades básicas: 1) Unidad de entrada, para introducir datos e
instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control,
para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético-Lógica, que efectúa las
operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage,
conocido como el "padre de la informática" no pudo completar en aquella época la construcción del
computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de
Babbage, no fue nunca abandonado y siguiéndolo, se construyeron los primeros computadores.
Cuando surgió el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And Calculator), su
programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el
Hardware de la maquina, exactamente lo que sé hacia era cambiar cables de sitio para conseguir así la
programación de la maquina. La entrada y salida de datos se realizaba mediante tarjetas perforadas.
7. APLICACIONES DEL SOFTWARE
En informática, una aplicación es un tipo de programa informático diseñado como herramienta para
permitir a un usuario realizar uno o diversos tipos de trabajo. Esto lo diferencia principalmente de otros
tipos de programas como los sistemas operativos (que hacen funcionar al ordenador), las utilidades (que
realizan tareas de mantenimiento o de uso general), y los lenguajes de programación (con el cual se
crean los programas informáticos).
Suele resultar una solución informática para la automatización de ciertas tareas complicadas como
pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén. Algunos ejemplos
de programas de aplicación son los procesadores de textos,hojas de cálculo, y base de datos.
Ciertas aplicaciones desarrolladas 'a medida' suelen ofrecer una gran potencia ya que están
exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de
software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa
procesador de textos, de hoja de cálculo y de base de datos.
Este diagrama muestra la ubicación y relación que tienen estas aplicaciones para con el usuario final, y
con otros programas informáticos existentes.
Otros ejemplos de programas de aplicación pueden ser: programas de comunicación de
datos, Multimedia, presentaciones, diseño gráfico, cálculo, finanzas, correo electrónico, compresión de
archivos, presupuestos de obras, gestión de empresas, etc.
Algunas compañías agrupan diversos programas de distinta naturaleza para que formen un paquete
(llamados suites o suite ofimática) que sean satisfactorios para las necesidades más apremiantes del
usuario. Todos y cada uno de ellos sirven para ahorrar tiempo y dinero al usuario, al permitirle hacer
cosas útiles con el ordenador (o computadora); algunos con ciertas prestaciones, otros con equis diseño;
unos son más amigables o fáciles de usar que otros, pero bajo el mismo principio. Un ejemplo común de
estos paquetes es Microsoft Office.
8. HERRAMIENTAS DE PRODUCTIVIDAD PERSONAL
Son los métodos necesarios para aprender a utilizar el software, que sea útil para la realización tanto de
gráficos como de presentaciones electrónicas, tan necesarias para la presentación de trabajos y temas
en la actualidad. Conocer la forma más fácil y práctica de hacer una presentación que incluya efectos,
gráficos, imágenes, videos... Además conocer conceptos relacionados con este tema como: resolución,
impresoras, escáner, etc.
MAPA CONCEPTUAL
EL SOFTWARE Y
SU FUNCION
CATEGORIAS DE
LOS LENGUAJES
LENGUAJES DE
PROGRAMACION
SISTEMAS
OPERATIVOS
COMPILADORES
LENGUAJES DE
PROGRAMACION
UNA SOLA PASADA
OPTIMACIÓN
MS DOS
WINDOWS
IMPERATIVOS
INCREMENTALES
ENSAMBLADOR
OS / 2
UNIX
FUNCIONALES
CRUZADO
CON MONTADOR
CRAYTHUR
DESKTOPTWO
PASADAS
MULTIPLES
AUTOCOMPILADOR
EYEOS
GLIDE
GOOWY
ORCA
PUREFECT
CONCLUSIONES
Se dieron a conocer los conceptos básicos sobre el Software: programas, lenguajes, sistemas operativos,
aplicaciones y su evolución, que conllevan al mejoramiento del uso de las nuevas tecnologías y
optimizan nuestras condiciones laborales y personales.
BLIOGRAFÍA

JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James (2000). El Proceso Unificado de
Desarrollo de Software (en Español). Pearson Addisson-Wesley.

Pressman, Roger S. (2003). Ingeniería del Software, un enfoque Práctico, Quinta edición edición
(en Español), Mc Graw Hill. ISBN 84-481-3214-9.

JACOBSON; BOOCH; RUMBAUGH (1999). UML - El Lenguaje Unificado de Modelado (en
Español). Pearson Addisson-Wesley. Rational Software Corporation, Addison Wesley
Iberoamericana. ISBN 84-7829-028-1.

Haeberer, A. M.; P. A. S. Veloso, G. Baum (1988). Formalización del proceso de desarrollo de
software, Ed. preliminar edición (en Español), Buenos Aires: Kapelusz. ISBN 950-13-9880-3.

Fowler, Martin; Kendall Sccott (1999). UML Gota a Gota (en Español). Addison Wesley. ISBN
9789684443648.

Loucopoulos, Pericles; Karakostas, V. (1995). System Requirements Engineering (en Inglés).
London: McGraw-Hill Companies, pp. 160 p.. ISBN 978-0077078430.

Sommerville, Ian; P. Sawyer (1997). Requirements Engineering: A Good Practice Guide, 1ra.
edition edición (en Inglés), Wiley & Sons, pp. 404 p.. ISBN 978-0471974444.
Gottesdiener, Ellen; P. Sawyer (2002). Requirements by Collaboration: Workshops for Defining
Needs (en Inglés). Addison-Wesley Professional, pp. 368 p.. ISBN 978-0201786064

Descargar