Definición de software: Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación. Considerando esta definición, el concepto de software va más allá de los programas de cómputo en sus distintos estados: código fuente, binario o ejecutable; también su documentación, datos a procesar e información de usuario forman parte del software: es decir, abarca todo lo intangible, todo lo "no físico" relacionado. El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1957. En las ciencias de la computación y la ingeniería de software, el software es toda la información procesada por los sistemas informáticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones desde la memoria de un dispositivo para controlar los cálculos fue introducido por Charles Babbage como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por vez primera por Alan Turing en su ensayo de 1936, "Los números computables", con una aplicación al problema de decisión. Categoría de los lenguajes: 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. Lenguaje de programación del software: Es el lenguaje de programación, en informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qué es y qué no es un lenguaje de programación. Se asume generalmente que la traducción de las instrucciones a un código que comprende la computadora debe ser completamente sistemática. Normalmente es la computadora la que realiza la traducción. Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente señales electrónicas binarias. Dar una instrucción a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de señales se denomina código máquina. El código representa normalmente datos y números e instrucciones para manipularlos. Un modo más fácil de comprender el código máquina es dando a cada instrucción un mnemónico, como por ejemplo STORE, ADD o JUMP. Esta abstracción da como resultado el ensamblador, un lenguaje de muy bajo nivel que es específico de cada microprocesador. Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son a menudo difíciles de aprender. Más importante es el hecho de que los programas escritos en un bajo nivel son prácticamente específicos para cada procesador. Si se quiere ejecutar el programa en otra máquina con otra tecnología, será necesario reescribir el programa desde el principio Evolución del Software: El término “evolución” del software se utiliza desde los sesenta para denominar la dinámica de crecimiento del software. Una definición atribuida a Lehman y Ramil dice que la evolución del software es “todas las actividades de programación que se orientan a generar una nueva versión de un software a partir de una versión anterior operativa. Ned Chapin (1999) lo definió como “la aplicación de las actividades y procesos de mantenimiento del software que generan una nueva versión operative de un software con una funcionalidad de usuario o propiedades cambiadas a partir de una versión anterior […] junto con los procesos y actividades de garantía de calidad y con la gestión de esos procesos”. De estas definiciones se desprende que la evolución cubre el ajuste a funcionalidades adicionales. La guía SWEBOK considera que la causa del mantenimiento está tanto en la necesidad de “cambios” como de “evolución” en el software. Sistemas operativos: Sistema operativo, software básico que controla una computadora. El sistema operativo tiene tres grandes funciones: coordina y manipula el hardware de disco, el teclado o el mouse; organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas, y gestiona los errores de hardware y la pérdida de datos. Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretación de los comandos que permiten al usuario comunicarse con el ordenador. Algunos intérpretes de instrucciones están basados en texto y exigen que las instrucciones sean tecleadas. Otros están basados en gráficos, y permiten al usuario comunicarse señalando y haciendo clic en un icono. Por lo general, los intérpretes basados en gráficos son más sencillos de utilizar. Concepto: El sistema operativo es el programa básico que toda computadora debe cargar primero en su memoria para poderse comunicar y comprenderse con el ser humano, se carga al momento de encender la máquina y sirve de intérprete entre el frío lenguaje de la máquina electrónica y el complejo idioma humano, el Sistema operativo es pues, el gobierno interno de la máquina. En la actualidad existen varios sistemas operativos para diferentes necesidades y tipos de computadoras, entre los más conocidos y utilizados actualmente se encuentran los siguientes: o o o o o o MS-DOS Microsoft - Disk Operative System. El sistema operativo con cual de una u otra forma hemos estado más familiarizados desde la aparición de las Computadoras Personales y sobre el cuál trabajan la mayoría de los programas usados tanto en la pequeña, mediana y grande empresa, así como en Industrias, Instituciones y hogares por millones de gentes alrededor del mundo. Su versión más nueva a la fecha es la 6.22. OS/2 WARP Diseñado por IBM es el competidor más cercano de MS-DOS sobre todo por sus grandes capacidades de interconexión de equipos y facilidad de uso bajo ambiente gráfico. El NetWare diseñado por Novell, líder mundial en sistemas operativos para redes de computadoras que ha conquistado al mundo de la informática por el poder y versatilidad de sus funciones, así como su extremada capacidad de interconectar computadoras y recursos de tan variadas capacidades y marcas. Unix: es un Sistema operativo de alto rendimiento utilizado actualmente en grandes proyectos y para necesidades de intercomunicación a nivel internacional y de gran volumen de operaciones diarias. Linux: Es una implementación de libre distribución UNIX para computadoras personales (PC), servidores, y estaciones de trabajo. Fue desarrollado para el i386 y ahora soporta los procesadores i486, Pentium, Pentium Pro y Pentium II, así como los clones AMD y Cyrix. También soporta máquinas basadas en SPARC, DEC Alpha, PowerPC/PowerMac, y Mac/Amiga Motorola 680x0. Windows: es el sistema operativo más conocido y usado a nivel mundial. Fue creado por Microsoft. Han existido diferentes versiones tales como Windows 95, 98, 2000, XP, etc. Las aplicaciones de este sistema operativo para servidores agregan a su nombre la palabra Server, tal es el caso de Windows 2003 Server. Compiladores: Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación. Lenguajes de programación: 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 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. Evolución: Un compilador es un programa que lee un programa escrito en un lenguaje, el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto. Al inicio de la era computacional, todo se programaba en “lenguaje de máquina” y la tarea era exageradamente tediosa, puesto que existían muchos códigos numéricos que eran difíciles de aprender y fáciles de confundir. Los creadores de los microprocesadores y circuitos programables, se dieron cuenta de las limitaciones que daba este tipo de programación en maquina, dando un gran paso al lenguaje ensamblador, el cual permite programar a lenguaje de maquina por medio de nemónicos que referían a los códigos numéricos, los cuales eran más fáciles de recordar. Aunque permitía programar de manera sencilla seguía siendo lenguaje de máquina. El primer compilador de la historia es el A-0 (Math Matic), desarrollado por Grace Hopper, viendo ella lo tedioso que era programar en la famosa computadora Mark I, apostó por poder ingresar código que pudiera ser interpretado en cualquier máquina y llego a la conclusión que en vez de programar a tan bajo nivel, era necesario un intermediario, por ende su propio compilador. Software de Aplicación:es un programa informático diseñado para facilitar al usuario la realización de un determinado tipo de trabajo. Posee ciertas características que le diferencia de un sistema operativo (que hace funcionar al ordenador), de una utilidad (que realiza tareas de mantenimiento o de uso general) y de un lenguaje (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 puede ser la contabilidad o la gestión de un almacén. 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. Categorías de Software: 1. Sistemas operativos. Estos programas son considerados como los principales de una computadora. Debido a que si la computadora no tiene un sistema operativo esta no funciona.los hay de dos monoususario y multiusuario 2. De aplicación: Estos están diseñados para realizar una tarea en específico, la mayoría de programas son de este tipo 3. lenguajes de programación: Estos son utilizados para crear otros programas los hay en tres niveles alto (pascal, c++, java, visual estudio, etc.) medio(interprete, compilador) bajo (ensamblador) PREGUNTAS GENERADORAS ¿Qué es el software?: El software es todo programa o aplicación programado para realizar tareas específicas ¿Para qué le sirve el software a la computadora? Para que una computadora realice todas las actividades para las que hoy día es utilizada, requiere de dos componentes o partes principales: el software y el hardware ¿Qué diferencia hay entre hardware y software? El software son los programas como Windows, Excel, los juegos, etc. y el hardware es todo lo físico como la tarjeta madre, el monitor, la tarjeta de video, etc. ¿Para qué se utilizan los sistemas operativos? El sistema operativo se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones . ¿Qué es un sistema operativo? Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de una computadora y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. ¿Cuál es la importancia de los sistemas operativos El Sistema Operativo es importante, ya que controla al computador y actúa como intermediario entre el usuario y la máquina. ¿Cuál es la Función de un compilador? Sirve Para traducir las instrucciones de un programa escrito en un lenguaje de alto nivel a instrucciones de un lenguaje máquina, hay que utilizar este programa. ¿Cuál es la diferencia entre un lenguaje de alto nivel y uno de bajo nivel? Lenguaje de bajo nivel Es el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que los programas escritos en forma de ceros y unos están en lenguaje de máquina, porque esa es la versión del programa que la computadora realmente lee y sigue. Lenguajes de alto nivel Son lenguajes de programación que se asemejan a las lenguas humanas usando palabras y frases fáciles de entender. En un lenguaje de bajo nivel cada instrucción corresponde a una acción ejecutable por el ordenador, mientras que en los lenguajes de alto nivel una instrucción suele corresponder a varias acciones.