Tema iii

45
Tema III. Tema III. Software Software operativo y de desarrollo operativo y de desarrollo Objetivo: El alumno conocerá y entenderá la Objetivo: El alumno conocerá y entenderá la evolución del software y la situación actual que evolución del software y la situación actual que éste presenta. Asimismo distinguirá los éste presenta. Asimismo distinguirá los diferentes tipos de programas (software) diferentes tipos de programas (software) necesarios tanto para operar la máquina como necesarios tanto para operar la máquina como para realizar desarrollos y aunado a esto tendrá para realizar desarrollos y aunado a esto tendrá las bases para seleccionar aquel software que le las bases para seleccionar aquel software que le permita resolver un problema. permita resolver un problema.

Transcript of Tema iii

Page 1: Tema iii

Tema III. Tema III. SoftwareSoftware

operativo y de desarrollooperativo y de desarrollo

Objetivo: El alumno conocerá y entenderá la Objetivo: El alumno conocerá y entenderá la evolución del software y la situación actual que evolución del software y la situación actual que

éste presenta. Asimismo distinguirá los éste presenta. Asimismo distinguirá los diferentes tipos de programas (software) diferentes tipos de programas (software)

necesarios tanto para operar la máquina como necesarios tanto para operar la máquina como para realizar desarrollos y aunado a esto tendrá para realizar desarrollos y aunado a esto tendrá las bases para seleccionar aquel software que le las bases para seleccionar aquel software que le

permita resolver un problema.permita resolver un problema.

Page 2: Tema iii

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Software Software

Es la estructura lógica de una Es la estructura lógica de una computadora, todo lo intangible, es computadora, todo lo intangible, es decir, son los programas de aplicación, decir, son los programas de aplicación, sistemas operativos que no son tangibles sistemas operativos que no son tangibles para el usuario.para el usuario.

Conjunto de programas, instrucciones y Conjunto de programas, instrucciones y

reglas informáticas para ejecutar ciertas reglas informáticas para ejecutar ciertas tareas en una computadora.tareas en una computadora.

http://rae.es/rae.htmlhttp://rae.es/rae.html

El término “evolución” del software se El término “evolución” del software se utiliza desde hace varias décadas para utiliza desde hace varias décadas para denominar la dinámica de crecimiento denominar la dinámica de crecimiento del software.del software.

Page 3: Tema iii

En 1999 Ned Chapin lo definió como “En 1999 Ned Chapin lo definió como “la aplicación de las actividades y la aplicación de las actividades y procesos de mantenimiento del software que generan una nueva versión procesos de mantenimiento del software que generan una nueva versión operativa de un software con una funcionalidad de usuario o propiedades operativa de un software con una funcionalidad de usuario o propiedades cambiadas a partir de una versión anterior […] junto con los procesos y 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 procesosactividades de garantía de calidad y con la gestión de esos procesos”. ”.

http://www.program-transformation.org/Transform/SoftwareEvolutionhttp://www.program-transformation.org/Transform/SoftwareEvolution

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Page 4: Tema iii

Durante los primeros años de la era de la Durante los primeros años de la era de la computadora, el software se contemplaba computadora, el software se contemplaba como un añadido. La programación de como un añadido. La programación de computadoras era "artesanal" y existían computadoras era "artesanal" y existían pocos métodos sistemáticos.pocos métodos sistemáticos.

El desarrollo del software se realizaba El desarrollo del software se realizaba virtualmente sin ninguna planificación, virtualmente sin ninguna planificación, hasta que los planes comenzaron a hasta que los planes comenzaron a descalabrarse y los costos a elevarse.descalabrarse y los costos a elevarse.

La misma persona lo escribía, lo ejecutaba La misma persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba. El diseño era un y, si fallaba, lo depuraba. El diseño era un proceso implícito, realizado en la mente proceso implícito, realizado en la mente de alguien y la documentación de alguien y la documentación normalmente no existíanormalmente no existía..

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Page 5: Tema iii

La La segundasegunda era en la evolución de era en la evolución de los sistemas de computadora se los sistemas de computadora se extienden desde la extienden desde la mitad de la mitad de la década de los sesenta hasta finales década de los sesenta hasta finales de los setenta.de los setenta.

La La multiprogramación y los sistemas multiprogramación y los sistemas multiusuariomultiusuario introdujeron nuevos introdujeron nuevos conceptos de interacción hombre-conceptos de interacción hombre-máquina.máquina.

También se caracterizó por el También se caracterizó por el establecimiento del software como establecimiento del software como producto y la llegada de las "casas producto y la llegada de las "casas de software".de software".

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Page 6: Tema iii

La La terceratercera era en la evolución de los era en la evolución de los sistemas de computadora comenzó a sistemas de computadora comenzó a mediados de los años setenta y mediados de los años setenta y continúo más allá de una décadacontinúo más allá de una década..

Los sistemas distribuidos, múltiples Los sistemas distribuidos, múltiples computadoras, cada una ejecutando computadoras, cada una ejecutando funciones concurrentes y funciones concurrentes y comunicándose con alguna otra, comunicándose con alguna otra, incrementaron notablemente la incrementaron notablemente la complejidad de los sistemas complejidad de los sistemas informáticos.informáticos.

Las redes, las comunicaciones digitales Las redes, las comunicaciones digitales de alto ancho de banda y la creciente de alto ancho de banda y la creciente demanda de acceso "instantáneo" a los demanda de acceso "instantáneo" a los datos, supusieron una fuerte presión datos, supusieron una fuerte presión sobre los desarrolladores del softwaresobre los desarrolladores del software..

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Page 7: Tema iii

LaLa cuarta cuarta era de la evolución de los era de la evolución de los sistemas informáticos se aleja de las sistemas informáticos se aleja de las computadoras individuales y de los computadoras individuales y de los programas de computadoras, programas de computadoras, dirigiéndose al impacto colectivo de dirigiéndose al impacto colectivo de las computadoras y del software.las computadoras y del software.

Potentes máquinas personales Potentes máquinas personales controladas por sistemas operativos controladas por sistemas operativos sofisticados, en redes globales y sofisticados, en redes globales y locales, acompañadas por locales, acompañadas por aplicaciones de software avanzadas aplicaciones de software avanzadas se han convertido en la normase han convertido en la norma..

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Page 8: Tema iii

La industria del software ya es la cuna La industria del software ya es la cuna de la economía del mundo.de la economía del mundo.

Las técnicas de la cuarta generación Las técnicas de la cuarta generación para el desarrollo del software están para el desarrollo del software están cambiando en la forma en que la cambiando en la forma en que la comunidad del software construye comunidad del software construye programas informáticos. programas informáticos.

Las tecnologías orientadas a objetos Las tecnologías orientadas a objetos están desplazando rápidamente los están desplazando rápidamente los enfoques de desarrollo de software enfoques de desarrollo de software más convencionales en muchas áreas más convencionales en muchas áreas de aplicaciones.de aplicaciones.

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Page 9: Tema iii

Sin embargo, un conjunto de problemas relacionados con el software ha Sin embargo, un conjunto de problemas relacionados con el software ha persistido a través de su evolución:persistido a través de su evolución:

Los avances del software continúan dejando atrás nuestra habilidad de Los avances del software continúan dejando atrás nuestra habilidad de construir software para alcanzar el potencial del hardware.construir software para alcanzar el potencial del hardware.

Nuestra habilidad de construir nuevos programas no pueden ir al mismo Nuestra habilidad de construir nuevos programas no pueden ir al mismo ritmo de la demanda de nuevos programas.ritmo de la demanda de nuevos programas.

El uso extenso de computadoras ha hecho de la sociedad cada vez más El uso extenso de computadoras ha hecho de la sociedad cada vez más dependiente de la operación fiable del software.dependiente de la operación fiable del software.

Luchamos por construir software informático que tenga fiabilidad y alta Luchamos por construir software informático que tenga fiabilidad y alta calidad.calidad.

Nuestra habilidad de soportar y mejorar los programas existentes se ve Nuestra habilidad de soportar y mejorar los programas existentes se ve amenazada por diseños pobres y recursos inadecuados.amenazada por diseños pobres y recursos inadecuados.

3.1 Evolución del software y su3.1 Evolución del software y susituación actualsituación actual

Page 10: Tema iii

ClasificaciónClasificación

Según su funciónSegún su función Software de baseSoftware de base Software aplicativosSoftware aplicativos

Por su uso o estandarizaciónPor su uso o estandarización El software aplicativoEl software aplicativo El software a la medidaEl software a la medida El software de acuerdo al clienteEl software de acuerdo al cliente Libre y propietarioLibre y propietario

3.2 Software de base3.2 Software de base

Page 11: Tema iii

Software de BaseSoftware de Base

Software básico que controla una computadora. Software básico que controla una computadora.

El sistema operativo tiene tres grandes funciones:El sistema operativo tiene tres grandes funciones:

CoordinaCoordina ManipulaManipula Organiza los archivosOrganiza los archivos

3.2 Software de base3.2 Software de base

Page 12: Tema iii

Sistemas operativosSistemas operativosUn sistema operativo (SO) es el Un sistema operativo (SO) es el programa o conjunto de programa o conjunto de programas que efectúan la programas que efectúan la administración de los procesos administración de los procesos básicos de una computadora, sus básicos de una computadora, sus funciones básicas son:funciones básicas son:

Coordinar y manipular el HW.Coordinar y manipular el HW. Organizar archivos en diversos Organizar archivos en diversos

dispositivos.dispositivos. Gestionar errores.Gestionar errores. Interpretar y ejecutar comandos.Interpretar y ejecutar comandos.

3.2 Software de base3.2 Software de base

Page 13: Tema iii

3.2 Software de base3.2 Software de base

Page 14: Tema iii

Algunos sistemas operativos Algunos sistemas operativos son:son:

MS-DOS.MS-DOS. Windows.Windows. UNIX.UNIX. BSD.BSD. LinuxLinux Symbian.Symbian. iOS.iOS. BlackBerry.BlackBerry. Android.Android. Chrome OSChrome OS

3.2 Software de base3.2 Software de base

Page 15: Tema iii

Sistemas operativos, MS-DOSSistemas operativos, MS-DOS

Microsoft Diskette Operating System:Microsoft Diskette Operating System: Aparece en 1981.Aparece en 1981. Monousuario y monotarea.Monousuario y monotarea. Usado a base de comandos.Usado a base de comandos.

3.2 Software de base3.2 Software de base

Page 16: Tema iii

Windows Windows

Hace su aparición el 20 de noviembre de 1985 Hace su aparición el 20 de noviembre de 1985 Dispone de una interfaz gráfica que facilita el manejo de los procedimientos: cada comando Dispone de una interfaz gráfica que facilita el manejo de los procedimientos: cada comando

puede ser visualizado en una pantalla mediante una imagen que lo representa.puede ser visualizado en una pantalla mediante una imagen que lo representa. Mayor difusión en el mercado actual, y su imponente popularidad se torna elemento Mayor difusión en el mercado actual, y su imponente popularidad se torna elemento

indispensable para la inserción de todo nuevo usuario informático.indispensable para la inserción de todo nuevo usuario informático. A partir de la versión 3, consiguió éxito comercial a principios de los 90’s, primeras pruebas de A partir de la versión 3, consiguió éxito comercial a principios de los 90’s, primeras pruebas de

WinNT.WinNT. Windows 95 fue el primero considerado como sistema operativo real; incorporó el “Plug and Windows 95 fue el primero considerado como sistema operativo real; incorporó el “Plug and

Play”.Play”. Win98, muy lento y sustituido por Win98-SE.Win98, muy lento y sustituido por Win98-SE. Win2k y WinME, “Universal Plug and Play”.Win2k y WinME, “Universal Plug and Play”. WinXP, aparece en 2001, el más utilizado actualmente.WinXP, aparece en 2001, el más utilizado actualmente. WinVista, 2006, de los fracasos más grandes de MS.WinVista, 2006, de los fracasos más grandes de MS. Win7, 2009.Win7, 2009.

3.2 Software de base3.2 Software de base

Page 17: Tema iii

3.2 Software de base3.2 Software de base

Page 18: Tema iii

Sistemas operativos, UNIXSistemas operativos, UNIX Es un sistema operativo Es un sistema operativo

portable, multitarea y portable, multitarea y multiusuario.multiusuario.

Desarrollado por Ken Desarrollado por Ken Thompson y Dennis Ritchie Thompson y Dennis Ritchie entre otros.entre otros.

Hizo su aparición a Hizo su aparición a principios de los 70’s en principios de los 70’s en los Laboratorios Bell.los Laboratorios Bell.

3.2 Software de base3.2 Software de base

Page 19: Tema iii

Sistemas operativos, BSDSistemas operativos, BSD

Berkeley Software Berkeley Software Distribution.Distribution.

Derivado de Unix nacido a Derivado de Unix nacido a partir de los aportes partir de los aportes realizados a ese sistema por la realizados a ese sistema por la Universidad de California en Universidad de California en Berkeley.Berkeley.

Manejo de memoria virtual Manejo de memoria virtual paginado por demanda, paginado por demanda, control de trabajos y Fast control de trabajos y Fast FileSystem.FileSystem.

3.2 Software de base3.2 Software de base

Page 20: Tema iii

Sistemas operativos, LinuxSistemas operativos, Linux Linux es el núcleo de un sistema Linux es el núcleo de un sistema

operativo libre, desarrollado y lanzado operativo libre, desarrollado y lanzado al mundo por Linus Torvalds en 1991.al mundo por Linus Torvalds en 1991.

Torvalds eligió distribuir Linux con una Torvalds eligió distribuir Linux con una licencia de software de código libre licencia de software de código libre denominada GNU GPL (General Public denominada GNU GPL (General Public License).License).

Una distribución es un agrupamiento del Una distribución es un agrupamiento del núcleo del sistema operativo Linux y núcleo del sistema operativo Linux y otra serie de aplicaciones de uso general otra serie de aplicaciones de uso general o no tan general.o no tan general.

Libre, gratuito, de código fuente abierto Libre, gratuito, de código fuente abierto y portable.y portable.

3.2 Software de base3.2 Software de base

Page 21: Tema iii

Uno de los primeros conceptos que aparecen al iniciarse en Uno de los primeros conceptos que aparecen al iniciarse en Linux es el concepto de distribución.Linux es el concepto de distribución.Una Una distribucióndistribución es un agrupamiento del núcleo del sistema es un agrupamiento del núcleo del sistema operativo Linux (la parte desarrollada por Linus Torvalds) y operativo Linux (la parte desarrollada por Linus Torvalds) y otra serie de aplicaciones de uso general o no tan general. otra serie de aplicaciones de uso general o no tan general. En principio las empresas que desarrollan las distribuciones En principio las empresas que desarrollan las distribuciones de Linux están en su derecho al cobrar una cierta cantidad de Linux están en su derecho al cobrar una cierta cantidad por el software que ofrecen, aunque en la mayor parte de por el software que ofrecen, aunque en la mayor parte de las ocasiones se pueden conseguir estas distribuciones desde las ocasiones se pueden conseguir estas distribuciones desde Internet, de revistas o de amigos, siendo todas estas formas Internet, de revistas o de amigos, siendo todas estas formas gratuitas y legales.gratuitas y legales.

3.2 Software de base3.2 Software de base

Page 22: Tema iii

Richard Matthew StallmanRichard Matthew Stallman

Inició el proyecto GNU en 1983 y liberó Inició el proyecto GNU en 1983 y liberó GNU Emacs y gcc.GNU Emacs y gcc.

La licencia GNU GPL fue creada en La licencia GNU GPL fue creada en 1987 y está orientada principalmente a 1987 y está orientada principalmente a proteger la libre distribución, proteger la libre distribución, modificación y uso de software.modificación y uso de software.

Fundador del proyecto GNU Fundador del proyecto GNU Creador Emacs Creador Emacs Compilador GCC Compilador GCC Creador de las licencias GNU: Creador de las licencias GNU:

GPL, LGPLGPL, LGPL

3.2 Software de base3.2 Software de base

Page 23: Tema iii

Libertades del Software LibreLibertades del Software Libre

Libertad 0Libertad 0:: la libertad de usar el la libertad de usar el programa, con cualquier propósito. programa, con cualquier propósito.

Libertad 1Libertad 1:: la libertad de estudiar cómo la libertad de estudiar cómo funciona el programa, y adaptarlo a tus funciona el programa, y adaptarlo a tus necesidades. necesidades.

Libertad 2Libertad 2:: la libertad de distribuir la libertad de distribuir copias, con lo que puedes ayudar a tu copias, con lo que puedes ayudar a tu vecino. vecino.

Libertad 3Libertad 3:: la libertad de mejorar el la libertad de mejorar el programa y hacer públicas las mejoras a programa y hacer públicas las mejoras a los demás, de modo que toda la los demás, de modo que toda la comunidad se beneficie.comunidad se beneficie.

3.2 Software de base3.2 Software de base

Page 24: Tema iii

Ciclo de Vida del SoftwareCiclo de Vida del Software

El software primero se desarrolla por un grupo de El software primero se desarrolla por un grupo de desarrolladores/programadores.desarrolladores/programadores.

Por lo general, está en uso durante algún tiempo Por lo general, está en uso durante algún tiempo antes de que se requiera hacerle modificaciones. antes de que se requiera hacerle modificaciones.

Las modificaciones a menudo son necesarias Las modificaciones a menudo son necesarias debido a errores encontrados en el software, a debido a errores encontrados en el software, a cambios en las normas o leyes, o a cambios en la cambios en las normas o leyes, o a cambios en la compañía misma.compañía misma.

El software debe modificarse antes para su uso El software debe modificarse antes para su uso posterior.posterior.

Estos dos pasos, usar y modificar, continúan Estos dos pasos, usar y modificar, continúan hasta que el software se vuelve obsoleto.hasta que el software se vuelve obsoleto.

3.2 Software de base3.2 Software de base

Page 25: Tema iii

3.2 Software de base3.2 Software de base

Page 26: Tema iii

3.2 Software de base3.2 Software de base

Page 27: Tema iii

Fase de AnálisisFase de Análisis

El proceso de desarrollo comienza El proceso de desarrollo comienza con la fase de análisis, la cual con la fase de análisis, la cual muestra qué debe hacer el muestra qué debe hacer el paquete. En esta fase, el analista paquete. En esta fase, el analista de sistemas define los requisitos de sistemas define los requisitos que especifican lo que el sistema que especifican lo que el sistema propuesto va a lograr.propuesto va a lograr.Los requisitos por lo general se Los requisitos por lo general se establecen en los términos que el establecen en los términos que el usuario comprende.usuario comprende.

3.2 Software de base3.2 Software de base

Page 28: Tema iii

Fase de AnálisisFase de Análisis

Para poder identificar y definir bien un problema es Para poder identificar y definir bien un problema es conveniente responder a las siguientes preguntas:conveniente responder a las siguientes preguntas:

¿Qué entradas se requieren?¿Qué entradas se requieren? Tipo de datos con los cuales se trabaja y cantidadTipo de datos con los cuales se trabaja y cantidad

¿Cuál es la salida deseada?¿Cuál es la salida deseada? Tipo de datos de los resultados y cantidadTipo de datos de los resultados y cantidad

¿Qué método produce la salida deseada?¿Qué método produce la salida deseada? Requisitos o requerimientos adicionales y restricciones a la Requisitos o requerimientos adicionales y restricciones a la

solución.solución.

3.2 Software de base3.2 Software de base

Page 29: Tema iii

Fase de DiseñoFase de Diseño

La fase de diseño define La fase de diseño define cómo logrará el sistema lo cómo logrará el sistema lo que se definió en la fase de que se definió en la fase de análisis. En la fase de análisis. En la fase de diseño, se determinan los diseño, se determinan los sistemas y el diseño de sistemas y el diseño de archivos y/o bases de datos archivos y/o bases de datos se completa.se completa.

Se ayuda de dos Se ayuda de dos características en esta etapa:características en esta etapa:

3.2 Software de base3.2 Software de base

Page 30: Tema iii

Fase de ImplementaciónFase de Implementación

En la fase de En la fase de implementación se crean los implementación se crean los problemas reales.problemas reales.

3.2 Software de base3.2 Software de base

Page 31: Tema iii

Fase de PruebaFase de PruebaUna vez que los programas se han Una vez que los programas se han escrito, deben probarse.escrito, deben probarse.La fase de prueba puede ser muy La fase de prueba puede ser muy tediosa y consumir parte del tiempo tediosa y consumir parte del tiempo de desarrollo del programa.de desarrollo del programa.Los programadores son Los programadores son completamente responsables de completamente responsables de probar sus programas. probar sus programas. En los proyectos de desarrollo En los proyectos de desarrollo grandes, con frecuencia hay grandes, con frecuencia hay especialistas llamados Ingenieros de especialistas llamados Ingenieros de Pruebas quienes son responsables de Pruebas quienes son responsables de probar el sistema como un todo.probar el sistema como un todo.

3.2 Software de base3.2 Software de base

Page 32: Tema iii

Calidad de SoftwareCalidad de Software““La calidad del software es el grado con el que un sistema, La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o especificados y las necesidades o expectativas del cliente o usuario”. (IEEE, std. 610-1990).usuario”. (IEEE, std. 610-1990).

3.2 Software de base3.2 Software de base

Page 33: Tema iii

Calidad de SoftwareCalidad de Software

Software que satisface los requerimientos explícitos Software que satisface los requerimientos explícitos e implícitos del usuario, está bien documentado, e implícitos del usuario, está bien documentado, cumple con las normas operativas de la organización cumple con las normas operativas de la organización y se ejecuta de manera eficiente en el hardware y se ejecuta de manera eficiente en el hardware para el cual se desarrolló.para el cual se desarrolló.

3.2 Software de base3.2 Software de base

Page 34: Tema iii

3.2 Software de base3.2 Software de base

Page 35: Tema iii
Page 36: Tema iii

3.2 Lenguajes y 3.2 Lenguajes y traductorestraductores

Lenguaje de programaciónLenguaje de programaciónEs un lenguaje artificial diseñado para Es un lenguaje artificial diseñado para expresar instrucciones que pueden ser llevadas expresar instrucciones que pueden ser llevadas a cabo por máquinas como las computadoras.a cabo por máquinas como las computadoras.

Pueden usarse para crear programas que Pueden usarse para crear programas que controlen el comportamiento físico y lógico de controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con una máquina, para expresar algoritmos con precisión, o como modo de comunicación precisión, o como modo de comunicación humana.humana.

Está formado por un conjunto de símbolos y Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y estructura y el significado de sus elementos y expresiones.expresiones.

Page 37: Tema iii

Lenguajes de bajo nivelLenguajes de bajo nivel

El lenguaje de máquina es el sistema de El lenguaje de máquina es el sistema de códigos directamente interpretable por un códigos directamente interpretable por un microprocesador. Este lenguaje está microprocesador. Este lenguaje está compuesto por un conjunto de instrucciones compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la que determinan acciones a ser tomadas por la máquina.máquina.

El lenguaje ensamblador implementa una El lenguaje ensamblador implementa una representación simbólica de los códigos de representación simbólica de los códigos de máquina binarios y otras constantes necesarias máquina binarios y otras constantes necesarias para programar un microprocesador.para programar un microprocesador.

3.2 Lenguajes y 3.2 Lenguajes y traductorestraductores

Page 38: Tema iii

Lenguajes de alto nivelLenguajes de alto nivel

Son aquellos que se aproximan más al Son aquellos que se aproximan más al lenguaje natural humano que al lenguaje lenguaje natural humano que al lenguaje binario de las computadoras (de bajo binario de las computadoras (de bajo nivel).nivel).

Al aproximarse al lenguaje natural, el Al aproximarse al lenguaje natural, el programa se puede escribir y leer de una programa se puede escribir y leer de una forma más sencilla, eliminando muchas forma más sencilla, eliminando muchas de las posibilidades de cometer errores de las posibilidades de cometer errores que se daban en el lenguaje máquina, ya que se daban en el lenguaje máquina, ya que se utilizan palabras (generalmente que se utilizan palabras (generalmente en inglés) en lugar de cadenas de en inglés) en lugar de cadenas de símbolos sin ningún significado aparente.símbolos sin ningún significado aparente.

3.2 Lenguajes y 3.2 Lenguajes y traductorestraductores

Page 39: Tema iii

CompiladorCompilador

Un compilador es un programa que permite traducir el código fuente de Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina).(típicamente lenguaje de máquina).

De esta manera un programador puede diseñar un programa en un De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.compilarlo a un programa más manejable por una computadora.

3.2 Lenguajes y 3.2 Lenguajes y traductorestraductores

Page 40: Tema iii

3.2 Lenguajes y 3.2 Lenguajes y traductorestraductores

Page 41: Tema iii

IntérpreteIntérprete

Es un programa capaz de analizar y Es un programa capaz de analizar y ejecutar programas escritos en un ejecutar programas escritos en un lenguaje de alto nivel.lenguaje de alto nivel.

Los intérpretes se diferencian de los Los intérpretes se diferencian de los compiladores en que los primeros sólo compiladores en que los primeros sólo realizan la traducción a medida que sea realizan la traducción a medida que sea necesaria, típicamente, instrucción por necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el instrucción, y normalmente no guardan el resultado de dicha traducción.resultado de dicha traducción.

3.2 Lenguajes y 3.2 Lenguajes y traductorestraductores

Page 42: Tema iii

3.3 Software de aplicación3.3 Software de aplicación

Software de aplicaciónSoftware de aplicación

Es aquel que permite a los usuarios llevar a cabo una o varias tareas Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios.automatizado o asistido, con especial énfasis en los negocios.

Se clasifica en dos grandes áreas:Se clasifica en dos grandes áreas:

A la medida.A la medida. De propósito general.De propósito general.

Page 43: Tema iii

Software A la medidaSoftware A la medida

Son aplicaciones desarrolladas “a la medida Son aplicaciones desarrolladas “a la medida de las necesidades que ofrecen una gran ‟de las necesidades que ofrecen una gran ‟potencia, ya que, están exclusivamente potencia, ya que, están exclusivamente diseñadas para resolver problemas con diseñadas para resolver problemas con requerimientos específicos.requerimientos específicos.

3.3 Software de 3.3 Software de aplicaciónaplicación

Page 44: Tema iii

Software De propósito generalSoftware De propósito general

Son paquetes integrados de software que incluyen varias aplicaciones, por Son paquetes integrados de software que incluyen varias aplicaciones, por ejemplo:ejemplo:

Procesadores de Texto.Procesadores de Texto. Hoja de Cálculo.Hoja de Cálculo. Base de datos.Base de datos.

3.3 Software de 3.3 Software de aplicaciónaplicación

Page 45: Tema iii

Tarea3.1Tarea3.1:: Investigar que es un live cd, utilizarlo y hacer una captura de Investigar que es un live cd, utilizarlo y hacer una captura de pantalla con su navegador visitando: pantalla con su navegador visitando: http://lcp02.fi-b.unam.mx/http://lcp02.fi-b.unam.mx/

Tarea3.2Tarea3.2:: Utilizar el emulador de linux Utilizar el emulador de linux http://bellard.org/jslinux/http://bellard.org/jslinux/ y y probar diversos comandos: ls, date, whoami, cat, chmod, etc.probar diversos comandos: ls, date, whoami, cat, chmod, etc.

Tarea3.3Tarea3.3:: Hacer un mapa coneptual de al menos 20 lenguajes de Hacer un mapa coneptual de al menos 20 lenguajes de programación y clasificarlos por el paradigma al que pertenece y por la programación y clasificarlos por el paradigma al que pertenece y por la forma en la que ejecutan sus programas.forma en la que ejecutan sus programas.

TAREA TEMA 3