La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Software. Índice ¿Qué es el software? ¿Qué es el software? Historia y etimología Historia y etimología Tipos de software Tipos de software Proceso de.

Presentaciones similares


Presentación del tema: "Software. Índice ¿Qué es el software? ¿Qué es el software? Historia y etimología Historia y etimología Tipos de software Tipos de software Proceso de."— Transcripción de la presentación:

1 Software

2 Índice ¿Qué es el software? ¿Qué es el software? Historia y etimología Historia y etimología Tipos de software Tipos de software Proceso de creación Proceso de creación Drivers Drivers Software libre Software libre Tipos de licencia Tipos de licencia Creative commons Creative commons Tipos de licencia Tipos de licencia

3 ¿Qué es el software? Es el equipamiento lógico de un ordenador, de un móvil, (Computadora digital), que comprende el conjunto de los componentes lógicos que se necesitan para realizar tareas específicas; al contrario que los componentes físicos del sistema, hardware. Es el equipamiento lógico de un ordenador, de un móvil, (Computadora digital), que comprende el conjunto de los componentes lógicos que se necesitan para realizar tareas específicas; al contrario que los componentes físicos del sistema, hardware. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos que forman parte de las operaciones de un sistema de computación. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos que forman parte de las operaciones de un sistema de computación.

4 Historia y etimología Teniendo en cuenta la definición anterior, el concepto de software es más que simples programas de cómputo, también su documentación, datos a procesar e información de usuario forman parte del software, es decir, abarca todo lo "no físico". Teniendo en cuenta la definición anterior, el concepto de software es más que simples programas de cómputo, también su documentación, datos a procesar e información de usuario forman parte del software, es decir, abarca todo lo "no físico". John W. Tukey, en 1957, fue quien puso de moda este término. El concepto de leer diferentes secuencias de instrucciones desde la memoria de un dispositivo para controlar los cálculos fue introducido por Charles Babbage. La base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936, llamado Los números computables. John W. Tukey, en 1957, fue quien puso de moda este término. El concepto de leer diferentes secuencias de instrucciones desde la memoria de un dispositivo para controlar los cálculos fue introducido por Charles Babbage. La base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936, llamado Los números computables. Software, proviene del inglés (partes blandas o suaves), en el español no tiene una traducción explícita. Software, proviene del inglés (partes blandas o suaves), en el español no tiene una traducción explícita.

5 Clasificación del software Software de sistema: su objetivo es desvincular al usuario y programador de los detalles de la computadora, aislándolo del procesamiento referido a las características internas, por ejemplo de memoria, puertos y dispositivos de comunicaciones, etc. El software de sistema ofrece herramientas y utilidades de apoyo que permiten el mantenimiento del sistema: Software de sistema: su objetivo es desvincular al usuario y programador de los detalles de la computadora, aislándolo del procesamiento referido a las características internas, por ejemplo de memoria, puertos y dispositivos de comunicaciones, etc. El software de sistema ofrece herramientas y utilidades de apoyo que permiten el mantenimiento del sistema: Sistemas operativos Sistemas operativos Controladores de dispositivos Controladores de dispositivos Herramientas de diagnóstico Herramientas de diagnóstico Herramientas de Corrección Herramientas de Corrección Servidores Servidores Otras utilidades Otras utilidades

6 Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros: Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros: Editores de texto Editores de texto Compiladores Compiladores Intérpretes Intérpretes Enlazadores Enlazadores Depuradores Depuradores Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario. Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario.

7 Software de aplicación: permite a los usuarios llevar a cabo tareas específicas. Software de aplicación: permite a los usuarios llevar a cabo tareas específicas. Aplicaciones para control de sistemas Aplicaciones para control de sistemas Aplicaciones ofimáticas Aplicaciones ofimáticas Software educativo Software educativo Software empresarial Software empresarial Bases de datos Bases de datos Telecomunicaciones (Internet) Telecomunicaciones (Internet) Videojuegos Videojuegos Software médico Software médico Software de cálculo numérico y simbólico. Software de cálculo numérico y simbólico. Software de diseño asistido Software de diseño asistido Software de control numérico Software de control numérico

8 Proceso de creación del software Este proceso puede llegar a ser muy complejo ( desde un sistema operativo a un simple programa). Normalmente se dividen en tres categorías: pequeño, mediano y gran porte. Este proceso puede llegar a ser muy complejo ( desde un sistema operativo a un simple programa). Normalmente se dividen en tres categorías: pequeño, mediano y gran porte. Existen varios métodos para estimar su complejidad, uno de las más populares es el sistema COCOMO, que provee métodos y un programa (software) que calcula y provee una estimación de todos los costes de producción de el software observado (relación horas/hombre, dinero invertido, etc.). Existen varios métodos para estimar su complejidad, uno de las más populares es el sistema COCOMO, que provee métodos y un programa (software) que calcula y provee una estimación de todos los costes de producción de el software observado (relación horas/hombre, dinero invertido, etc.). Considerando los de gran porte, es necesario realizar tantas tareas, que toda una ingeniería hace falta para su estudio y realización: Ingeniería de software. Considerando los de gran porte, es necesario realizar tantas tareas, que toda una ingeniería hace falta para su estudio y realización: Ingeniería de software. Al contrario que en los de mediano porte, ya que pequeños equipos de trabajo pueden realizar la tarea. Al contrario que en los de mediano porte, ya que pequeños equipos de trabajo pueden realizar la tarea.

9 Los procesos de desarrollo de software siguen pautas generales, y deben ser aplicados en la creación del software de mediano y gran porte, sino lo más seguro es que el proyecto fracase. Algunos de estos procesos son muy conocidos, como por ejemplo, XP, Extreme Programming, y otros menos como RUP, Rational Unified Process, FDD, Feature Driven Development, etc. Los procesos de desarrollo de software siguen pautas generales, y deben ser aplicados en la creación del software de mediano y gran porte, sino lo más seguro es que el proyecto fracase. Algunos de estos procesos son muy conocidos, como por ejemplo, XP, Extreme Programming, y otros menos como RUP, Rational Unified Process, FDD, Feature Driven Development, etc. Se estima que, del total de proyectos realizados de software de gran porte, un 28% fracasan, un 46% caen en severas modificaciones que lo retrasan y un 26% son totalmente exitosos. Se estima que, del total de proyectos realizados de software de gran porte, un 28% fracasan, un 46% caen en severas modificaciones que lo retrasan y un 26% son totalmente exitosos.

10 Diseño del software Codificación Codificación Durante esta etapa se realizan las tareas de programación; que consiste en llevar a código fuente, en el lenguaje de programación elegido, todo lo diseñado anteriormente. Esta tarea la realiza el programador, siguiendo un orden determinado. Durante esta etapa se realizan las tareas de programación; que consiste en llevar a código fuente, en el lenguaje de programación elegido, todo lo diseñado anteriormente. Esta tarea la realiza el programador, siguiendo un orden determinado. Lo normal es pensar que esta etapa es la que más trabajo conlleva en el desarrollo del software, sin embargo, esto puede ser relativo, ya que las etapas previas, como el diseño, son cruciales y pueden llevar bastante más tiempo, pero todo depende del lenguaje al que lo quieras pasar, y su dificultad. Lo normal es pensar que esta etapa es la que más trabajo conlleva en el desarrollo del software, sin embargo, esto puede ser relativo, ya que las etapas previas, como el diseño, son cruciales y pueden llevar bastante más tiempo, pero todo depende del lenguaje al que lo quieras pasar, y su dificultad.

11 Durante la fase de programación, el código puede pasar por varios estados: Durante la fase de programación, el código puede pasar por varios estados: Código fuente: es el escrito directamente por los programadores en editores de texto. Código fuente: es el escrito directamente por los programadores en editores de texto. Código objeto: es el código binario o intermedio resultante de procesar con un compilador el código fuente. El código objeto no es inteligible por el ser humano, porque normalmente esta en formato binario, pero tampoco es directamente ejecutable por la computadora. Se trata de una representación intermedia entre el código fuente y el código ejecutable Código objeto: es el código binario o intermedio resultante de procesar con un compilador el código fuente. El código objeto no es inteligible por el ser humano, porque normalmente esta en formato binario, pero tampoco es directamente ejecutable por la computadora. Se trata de una representación intermedia entre el código fuente y el código ejecutable Código ejecutable: Es el código binario. Constituye uno o más archivos binarios con un formato tal que el sistema operativo es capaz de cargarlo en la memoria RAM. Se dice que el código ejecutable es directamente "inteligible por la computadora". Código ejecutable: Es el código binario. Constituye uno o más archivos binarios con un formato tal que el sistema operativo es capaz de cargarlo en la memoria RAM. Se dice que el código ejecutable es directamente "inteligible por la computadora".

12 Instalación y paso a producción La instalación del software es el proceso por el cual los programas desarrollados son transferidos al computador destino, inicializados, y configurados; todo ello con el propósito de ser ya utilizados por el usuario final. Constituye la etapa final en el desarrollo del software. Luego el producto entrará en la fase de funcionamiento y producción. La instalación del software es el proceso por el cual los programas desarrollados son transferidos al computador destino, inicializados, y configurados; todo ello con el propósito de ser ya utilizados por el usuario final. Constituye la etapa final en el desarrollo del software. Luego el producto entrará en la fase de funcionamiento y producción.

13 Mantenimiento El mantenimiento de software es el proceso de control, mejora y optimización del software ya desarrollado e instalado, que también incluye depuración de errores que puedan haberse filtrado de la fase de pruebas. El mantenimiento de software es el proceso de control, mejora y optimización del software ya desarrollado e instalado, que también incluye depuración de errores que puedan haberse filtrado de la fase de pruebas. El período de la fase de mantenimiento es normalmente el mayor en todo el ciclo de vida del software. Ya que en esta fase se suelen involucrar actualizaciones y evoluciones del software; no necesariamente implica que el sistema tuvo errores, sino que un solo cambio o adaptación de última hora, puede llevar incluso a adaptar partes desde las primeras fases del desarrollo inicial. El período de la fase de mantenimiento es normalmente el mayor en todo el ciclo de vida del software. Ya que en esta fase se suelen involucrar actualizaciones y evoluciones del software; no necesariamente implica que el sistema tuvo errores, sino que un solo cambio o adaptación de última hora, puede llevar incluso a adaptar partes desde las primeras fases del desarrollo inicial. Básicamente se tienen los siguientes tipos de cambios: Básicamente se tienen los siguientes tipos de cambios: Perfectivos Perfectivos Evolutivos Evolutivos Adaptivos Adaptivos Correctivos Correctivos

14 Drivers Es un controlador, un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz - posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cómo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware. Es un controlador, un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz - posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cómo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware. Existen tantos tipos de controladores como tipos de periféricos, y es común encontrar más de un controlador posible para el mismo dispositivo Existen tantos tipos de controladores como tipos de periféricos, y es común encontrar más de un controlador posible para el mismo dispositivo Son programas añadidos al núcleo del sistema operativo, concebidos inicialmente para gestionar periféricos y dispositivos especiales. Son programas añadidos al núcleo del sistema operativo, concebidos inicialmente para gestionar periféricos y dispositivos especiales.

15 Software libre Es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente. Es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente. Existen las llamadas, cuatro libertades de los usuarios del software: Existen las llamadas, cuatro libertades de los usuarios del software: - La libertad de usar el programa, con cualquier propósito - La libertad de usar el programa, con cualquier propósito - De estudiar el funcionamiento del programa, y adaptarlo a las necesidades - De estudiar el funcionamiento del programa, y adaptarlo a las necesidades - De distribuir copias. - De distribuir copias. - Mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie. - Mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie. *Para la segunda y última, el acceso al código fuente es un requisito previo, que en algunos casos no se obtiene. *Para la segunda y última, el acceso al código fuente es un requisito previo, que en algunos casos no se obtiene.

16 Suele ser gratis, sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente. Análogamente, el "software gratis" incluye en ocasiones el código fuente; no obstante, este tipo de software no es libre completamente, a menos que se garanticen los derechos de autor (Copyright). Suele ser gratis, sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente. Análogamente, el "software gratis" incluye en ocasiones el código fuente; no obstante, este tipo de software no es libre completamente, a menos que se garanticen los derechos de autor (Copyright). No debe confundirse con "software de dominio público". Éste último es aquel software que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de este, habitualmente 70 años. No debe confundirse con "software de dominio público". Éste último es aquel software que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de este, habitualmente 70 años.

17 La definición de software libre no contempla el asunto del precio; un eslogan frecuentemente usado es: "libre como en libertad, no como en cerveza gratis", y es que es habitual ver a la venta CD de software libre, como distribuciones de Linux. Sin embargo, en esta situación, el comprador del CD tiene el derecho de copiarlo y redistribuirlo. El software gratis puede incluir restricciones que no se adaptan a la definición de software libre, por ejemplo, puede no incluir el código fuente, puede prohibir explícitamente a los distribuidores recibir una compensación a cambio, etc. La definición de software libre no contempla el asunto del precio; un eslogan frecuentemente usado es: "libre como en libertad, no como en cerveza gratis", y es que es habitual ver a la venta CD de software libre, como distribuciones de Linux. Sin embargo, en esta situación, el comprador del CD tiene el derecho de copiarlo y redistribuirlo. El software gratis puede incluir restricciones que no se adaptan a la definición de software libre, por ejemplo, puede no incluir el código fuente, puede prohibir explícitamente a los distribuidores recibir una compensación a cambio, etc.

18 Tipos de licencia GPL Una de las más utilizadas es la Licencia Pública General de GNU. El autor conserva los derechos de autor y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL. Una de las más utilizadas es la Licencia Pública General de GNU. El autor conserva los derechos de autor y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL. Es decir, la licencia GNU GPL posibilita la modificación y redistribución del software, pero únicamente bajo esa misma licencia. Y añade que si se reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", independientemente de la cantidad y calidad de cada uno de los códigos "A" y "B", debe estar bajo la licencia GNU GPL. Es decir, la licencia GNU GPL posibilita la modificación y redistribución del software, pero únicamente bajo esa misma licencia. Y añade que si se reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", independientemente de la cantidad y calidad de cada uno de los códigos "A" y "B", debe estar bajo la licencia GNU GPL. Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL. Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL.

19 AGPL Licencia similar a la GPL pero obliga la distribución del código fuente cuando el software licenciado sea usado para dar un servicio. Licencia similar a la GPL pero obliga la distribución del código fuente cuando el software licenciado sea usado para dar un servicio. BSD Llamadas así porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD. El autor mantiene la protección de copyright. Son muy permisivas, tanto que son fácilmente absorbidas al ser mezcladas con la licencia GNU GPL con quienes son compatibles. Puede argumentarse que esta licencia asegura verdadero software libre, en el sentido que el usuario tiene libertad ilimitada con respecto al software, y que puede decidir incluso redistribuirlo como no libre. Otras opiniones están orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre una BSD es más libre que una GPL si se opina también que un país que permita la esclavitud es más libre que otro que no la permite). Llamadas así porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD. El autor mantiene la protección de copyright. Son muy permisivas, tanto que son fácilmente absorbidas al ser mezcladas con la licencia GNU GPL con quienes son compatibles. Puede argumentarse que esta licencia asegura verdadero software libre, en el sentido que el usuario tiene libertad ilimitada con respecto al software, y que puede decidir incluso redistribuirlo como no libre. Otras opiniones están orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre una BSD es más libre que una GPL si se opina también que un país que permita la esclavitud es más libre que otro que no la permite).

20 GNU El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completamente libre: el sistema GNU El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completamente libre: el sistema GNU En 1991, Linus Torvalds empezó a escribir el núcleo Linux y decidió distribuirlo bajo la licencia GPL. En 1991, Linus Torvalds empezó a escribir el núcleo Linux y decidió distribuirlo bajo la licencia GPL. Muchos de los programas GNU han sido también transportados a otros sistemas operativos como Microsoft Windows y Mac OS X. Muchos de los programas GNU han sido también transportados a otros sistemas operativos como Microsoft Windows y Mac OS X.

21 El ñu de GNU y Tux de Linux.

22 Creative commons Creative Commons es una organización no gubernamental sin ánimo de lucro que desarrolla planes para ayudar a reducir las barreras legales de la creatividad, por medio de nueva legislación y nuevas tecnologías. Creative Commons es una organización no gubernamental sin ánimo de lucro que desarrolla planes para ayudar a reducir las barreras legales de la creatividad, por medio de nueva legislación y nuevas tecnologías. Creative Commons es también el nombre dado a las licencias desarrolladas por esta organización. Creative Commons es también el nombre dado a las licencias desarrolladas por esta organización.

23 Licencias Las licencias están inspiradas en la licencia GPL (General Public License). No son, sin embargo, un tipo de licenciamiento de software. La idea principal es posibilitar un modelo legal ayudado por herramientas informáticas, para así facilitar la distribución y el uso de contenidos. Las licencias están inspiradas en la licencia GPL (General Public License). No son, sin embargo, un tipo de licenciamiento de software. La idea principal es posibilitar un modelo legal ayudado por herramientas informáticas, para así facilitar la distribución y el uso de contenidos. Existe una serie de licencias Creative Commons, cada una con diferentes configuraciones o principios, como el derecho del autor original a dar libertad para citar su obra, reproducirla, crear obras derivadas, ofrecerla públicamente y con diferentes restricciones, como no permitir el uso comercial o respetar la autoría original. Existe una serie de licencias Creative Commons, cada una con diferentes configuraciones o principios, como el derecho del autor original a dar libertad para citar su obra, reproducirla, crear obras derivadas, ofrecerla públicamente y con diferentes restricciones, como no permitir el uso comercial o respetar la autoría original.

24 Fin Javier García Delgado


Descargar ppt "Software. Índice ¿Qué es el software? ¿Qué es el software? Historia y etimología Historia y etimología Tipos de software Tipos de software Proceso de."

Presentaciones similares


Anuncios Google