Examen omar

download Examen omar

If you can't read please download the document

Transcript of Examen omar

  • 1. UNIVERSIDAD NACIONAL DE CHIMBORAZO ESCUELA: INGENIERA INDUSTRIAL NOMBRE: OMAR GAIBOR DOCENTE: ING. PATRICIO VILLACRS TEMA: HERRAMIENTAS DEL SOFTWARE LIBRE PARA INGENIERA

2. MARZO 2013 JULIO 2013 Ingeniera de software Ingeniera de software es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin y mantenimiento de software, y el estudio de estos enfoques, es decir, la aplicacin de la ingeniera al software. Es la aplicacin de la ingeniera al software, ya que integra matemticas, ciencias de la computacin y prcticas cuyos orgenes se encuentran en la ingeniera. En el 2004, en los Estados Unidos, la Oficina de Estadsticas del Trabajo (U. S. Bureau of Labor Statistics) cont 760.840 ingenieros de software de computadora. El trmino "ingeniero de software", sin embargo, se utiliza en forma genrica en el ambiente empresarial, y no todos los ingenieros de software poseen realmente ttulos de ingeniera de universidades reconocidas. Algunos autores consideran que "desarrollo de software" es un trmino ms apropiado que "ingeniera de software" para el proceso de crear software. Personas como Pete McBreen (autor de "Software Craftmanship") cree que el trmino IS implica niveles de rigor y prueba de procesos que no son apropiados para todo tipo de desarrollo de software. Indistintamente se utilizan los trminos "ingeniera de software" o "ingeniera del software". En Hispanoamrica el trmino usado normalmente es el primero de ellos. La creacin del software es un proceso intrnsecamente creativo y la ingeniera del software trata de sistematizar este proceso 3. con el fin de acotar el riesgo del fracaso en la consecucin del objetivo creativo por medio de diversas tcnicas que se han demostrado adecuadas en base a la experiencia previa. La IS se puede considerar como la ingeniera aplicada al software, esto es, por medios sistematizados y con herramientas preestablecidas, la aplicacin de ellos de la forma ms eficiente para la obtencin de resultados ptimos; objetivos que siempre busca la ingeniera. No es slo de la resolucin de problemas, sino ms bien teniendo en cuenta las diferentes soluciones, elegir la ms apropiada. ndice 1 Implicaciones socioeconmicas 1.1 Econmicamente 1.2 Socialmente 2 Metodologa 2.1 Etapas del proceso 2.1.1 Anlisis de requisitos 2.1.2 Especificacin 2.1.3 Arquitectura 2.1.4 Programacin 2.1.5 Prueba 2.1.6 Documentacin 2.1.7 Mantenimiento 3 Modelos y filosofas de desarrollo de software 3.1 Naturaleza de la IS 3.1.1 Matemticas 3.1.2 Creacin 3.1.3 Gestin de Proyectos 3.1.4 Arte 4 Responsabilidad 5 Educacin tica 5.1 Organizaciones Implicaciones socioeconmicas La ingeniera de software afecta a la economa y las sociedades de variadas formas. Econmicamente En los Estados Unidos, el software contribuy a una octava parte de todo el incremento del PIB durante la dcada de 1990 (alrededor de 90,000 millones de dlares por ao), y un noveno de todo el crecimiento de productividad durante los ltimos aos de la dcada (alrededor de 33.000 millones de dlares 4. estadounidenses por ao). La ingeniera de software contribuy a US$ 1 billn de crecimiento econmico y productividad en esa dcada. Alrededor del globo, el software contribuye al crecimiento econmico en formas similares, aunque es difcil de encontrar estadsticas fiables. [cita requerida] Adems, con la industria del lenguaje est hallando cada vez ms campos de aplicacin a escala global. Socialmente La ingeniera de software cambia la cultura del mundo debido al extendido uso de la computadora. El correo electrnico (E-mail), la WWW y la mensajera instantnea permiten a la gente interactuar en nuevas formas. El software baja el costo y mejora la calidad de los servicios de salud, los departamentos de bomberos, las dependencias gubernamentales y otros servicios sociales. Los proyectos exitosos donde se han usado mtodos de ingeniera de software incluyen a GNU/Linux, el software del transbordador espacial, los cajeros automticos y muchos otros. Metodologa Un objetivo de dcadas ha sido el encontrar procesos y metodologas, que sean sistemticas, predecibles y repetibles, a fin de mejorar la productividad en el desarrollo y la calidad del producto software. Etapas del proceso La ingeniera de software requiere llevar a cabo numerosas tareas agrupadas en etapas, al conjunto de estas etapas se le denomina ciclo de vida. Las etapas comunes a casi todos los modelos de ciclo de vida son las siguientes: Anlisis de requisitos Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere habilidad y experiencia para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del anlisis de requisitos con el cliente se plasma en el documento ERS, Especificacin de Requisitos del Sistema, cuya estructura puede venir definida por varios estndares, tales como CMMI. Asimismo, se define un diagrama de Entidad/Relacin, en el que se plasman las principales entidades que participarn en el desarrollo del software. La captura, anlisis y especificacin de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en 5. gran medida el logro de los objetivos finales. Se han ideado modelos y diversos procesos de trabajo para estos fines. Aunque an no est formalizada, ya se habla de la Ingeniera de requisitos. La IEEE Std. 830-1998 normaliza la creacin de las especificaciones de requisitos de software (Software Requirements Specification). No siempre en la etapa de "anlisis de requisitos" las distintas metodologas de desarrollo llevan asociado un estudio de viabilidad y/o estimacin de costes. El ms conocido de los modelos de estimacin de coste del software es el modelo COCOMO Especificacin La especificacin de requisitos describe el comportamiento esperado en el software una vez desarrollado. Gran parte del xito de un proyecto de software radicar en la identificacin de las necesidades del negocio (definidas por la alta direccin), as como la interaccin con los usuarios funcionales para la recoleccin, clasificacin, identificacin, priorizacin y especificacin de los requisitos del software. Entre las tcnicas utilizadas para la especificacin de requisitos se encuentran: Caso de uso, Historias de usuario, Siendo los primeros ms rigurosas y formales, los segundas ms giles e informales. Arquitectura La integracin de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas estas actividades es el del Arquitecto. El arquitecto de software es la persona que aade valor a los procesos de negocios gracias a su valioso aporte de soluciones tecnolgicas. La arquitectura de sistemas en general, es una actividad de planeacin, ya sea a nivel de infraestructura de red y hardware, o de software. La arquitectura de software consiste en el diseo de componentes de una aplicacin (entidades del negocio), 6. generalmente utilizando patrones de arquitectura. El diseo arquitectnico debe permitir visualizar la interaccin entre las entidades del negocio y adems poder ser validado, por ejemplo por medio de diagramas de secuencia. Un diseo arquitectnico describe en general el cmo se construir una aplicacin de software. Para ello se documenta utilizando diagramas, por ejemplo: Diagramas de clases Diagramas de base de datos Diagrama de despliegue Diagrama de secuencia Siendo los dos primeros los mnimos necesarios para describir la arquitectura de un proyecto que iniciar a ser codificado. Depende del alcance del proyecto, complejidad y necesidades, el arquitecto elige qu diagramas elaborar. Las herramientas para el diseo y modelado de software se denominan CASE, (Computer Aided Software Engineering) entre las cuales se encuentran: Enterprise Architect Microsoft Visio for Enterprise Architects Programacin Reducir un diseo a cdigo puede ser la parte ms obvia del trabajo de ingeniera de software, pero no necesariamente es la que demanda mayor trabajo y ni la ms complicada. La complejidad y la duracin de esta etapa est ntimamente relacionada al o a los lenguajes de programacin utilizados, as como al diseo previamente realizado. Prueba Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificacin del problema. Una tcnica de prueba es probar por separado cada mdulo del software, y luego probarlo de forma integral, para as llegar al objetivo. Se considera una buena prctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la program, idealmente un rea de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un rea de pruebas, la primera es que est compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evala que la documentacin entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como estn descritas. El segundo enfoque es tener un 7. rea de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qu condiciones puede fallar una aplicacin y que pueden poner atencin en detalles que personal inexperto no considerara. Documentacin Todo lo concerniente a la documentacin del propio desarrollo del software y de la gestin del proyecto, pasando por modelaciones (UML),diagramas de casos de uso, pruebas, manuales de usuario, manuales tcnicos, etc; todo con el propsito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema. Mantenimiento Fase dedicada a mantener y mejorar el software para corregir errores descubiertos e incorporar nuevos requisitos. Esto puede llevar ms tiempo incluso que el desarrollo del software inicial. Alrededor de 2/3 del tiempo de ciclo de vida de un proyecto4 est dedicado a su mantenimiento. Una pequea parte de este trabajo consiste eliminar errores (bugs); siendo que la mayor parte reside en extender el sistema para incorporarle nuevas funcionalidades y hacer frente a su evolucin. Modelos y filosofas de desarrollo de software La ingeniera de software dispone de varios modelos, paradigmas y filosofas de desarrollo, en los cuales se apoya para la construccin del software, entre ellos se puede citar: Modelo en cascada o Clsico (modelo tradicional) Modelo de prototipos Modelo en espiral Desarrollo por etapas Desarrollo iterativo y creciente o Iterativo e Incremental RAD (Rapid Application Development) Desarrollo concurrente Proceso Unificado RUP (Proceso Unificado de Rational) Naturaleza de la IS La ingeniera de software tiene que ver con varios campos en diferentes formas: Matemticas Los programas tienen muchas propiedades matemticas. Por 8. ejemplo la correccin y la complejidad de muchos algoritmos son conceptos matemticos que pueden ser rigurosamente probados. El uso de matemticas en la IS es llamado mtodos formales. Creacin Los programas son construidos en una secuencia de pasos. El hecho de definir propiamente y llevar a cabo estos pasos, como en una lnea de ensamblaje, es necesario para mejorar la productividad de los desarrolladores y la calidad final de los programas. Este punto de vista inspira los diferentes procesos y metodologas que se encuentran en la IS. Gestin de Proyectos El desarrollo de software de gran porte requiere una adecuada gestin del proyecto. Hay presupuestos, establecimiento de tiempos de entrega, un equipo de profesionales que liderar. Recursos (espacio de oficina, insumos, equipamiento) por adquirir. Para su administracin se debe tener una clara visin y capacitacin en Gestin de Proyectos. Arte Los programas contienen muchos elementos artsticos. Las interfaces de usuario, la codificacin, etc. Incluso la decisin para un nombre de una variable o una clase. Donald Knuth es famoso por argumentar a la programacin como un arte. Responsabilidad La responsabilidad en la ingeniera del software es un concepto complejo, sobre todo porque al estar los sistemas informticos fuertemente caracterizados por su complejidad, es difcil apreciar sus consecuencias. En la ingeniera del software la responsabilidad ser compartida por un grupo grande de personas, que comprende desde el ingeniero de requisitos, hasta el arquitecto software, y contando con el diseador, o el encargado de realizar las pruebas. Por encima de todos ellos destaca el director del proyecto. El software demanda una clara distribucin de la responsabilidad entre los diferentes roles que se dan en el proceso de produccin. El ingeniero del software tiene una responsabilidad moral y legal limitada a las consecuencias directas. 9. Educacin tica Organizaciones IEEE Computer Society Association for Computing Machinery (ACM) Software Engineering Institute (SEI) British Computer Society (BCS) RUSSOFT Association Society of Software Engineers Lista de software Creacin de documentos e informes OpenOffice.org Es una suite de oficina inspirada en la de Microsoft. Si ests totalmente acostumbrado a las herramientas de M$, sta es tu opcin. Adems trae el OpenOffice Draw, que es un programa de dibujo vectorial similar al Corel Draw. Hay muchos otros paquetes similares (KOffice, SIAG Office, GNOME Office) y tambin programas como Abiword y Gnumeric, todos con sus pros y sus contras. LaTeX Realmente penss hacer el informe de tu tesis en M$ Word? LaTeX es un lenguaje para crear documentos. El mtodo es bastante similar a la creacin de un programa. Tens que escribir el cdigo fuente de tu documento (en cualquier editor de texto plano), y despus compilarlo. Tiene una fuerte orientacin a las matemticas, permitiendo escribir frmulas y smbolos de todo tipo. Adems, es totalmente estable. La curva de aprendizaje es inversa a la de programas como M$ Word: al principio cuesta arrancar, pero una vez que te sents cmodo, pods hacer un informe tcnico de calidad profesional en poco tiempo. El formato de los documentos creados en LaTeX es generalmente Postscript (PS) o PDF, pero pueden ser fcilmente convertidos a otros formatos como HTML o incluso texto plano. Este documento fue creado en LaTeX. 10. Kile Sirve para editar archivos fuente de LaTeX, con syntax highlighting y macros para los comandos LaTeX ms utilizados. Ayuda muchsimo en el ciclo de editar/compilar/ver resultado. LyX Es un front-end de LaTeX, casi WYSIWYG (What You See Is What You Get), permitiendo crear documentos con la calidad de LaTeX, pero con la facilidad de los procesadores de textos usuales. DocBook Es otro lenguaje de creacin de documentos similar a LaTeX, pero basado en XML / SGML. Edicin de imgenes / bitmaps The GIMP Es el programa de edicin de bitmaps. Le pisa los talones al Photoshop. Dia Permite dibujar todo tipo de diagramas, grafos, cuadros sinpticos, etc, que pueden ser exportados a Postscript (para incluir, por ejemplo, en un documento LaTeX). XFig Es un programa para crear grficos vectoriales (es decir, para dibujo general). Las imgenes creadas pueden ser convertidas a muchos formatos usando el programa transfig. Permite incluir frmulas de LaTeX en los dibujos, por lo que es ideal para acompaar los documentos LaTeX con figuras. Inkscape Un programa de dibujo vectorial, similar al Corel Draw. Grfica de datos / funciones matemticas Gnuplot Puede graficar datos numricos o funciones matemticas, en 2D y 3D. Es muy flexible y totalmente configurable, pero para usarlo bien hay que aprender el lenguaje, ya que es un programa manejado mediante lnea de comandos. Kile Ya fue mencionado, pero ac est de nuevo, porque trae un front-end grfico para gnuplot. Significa que pods usar gnuplot sin aprender los comandos. Sistemas de lgebra y clculo simblico Maxima 11. Es un sistema de lgebra bastante completo. YACAS Otro sistema de lgebra, de propsito general, liviano y fcil de usar. Pari-GP Es un paquete para teora numrica asistida por computadora. Giac/XCas Otro sistema de lgebra, disponible como un programa independiente, o bien como una librera C++. Mathomatic Un sistema de lgebra de propsito general, altamente portable. Qalculate! A primera vista parece una calculadora de escritorio sencilla, pero bajo su interfaz simple e intuitiva se esconde un paquete matemtico muy completo y fcil de usar, que permite hacer clculo numrico y simblico, conversin de unidades, grficos (usando gnuplot) y muchas cosas ms. Herramientas/Lenguajes de clculo numrico Octave Un sistema de clculo numrico muy completo con un lenguaje casi compatible con Matlab. Utiliza a Gnuplot como back-end para graficar. Scilab Otro paquete de clculo numrico. Tal vez ofrece ms funcionalidades que Octave, pero su lenguaje es menos compatible con Matlab. Yorick Es un lenguaje de programacin interpretado, para clculos y simulaciones numricas. PDL Perl Data Language aade al lenguaje Perl la habilidad de almacenar y manipular grandes cantidade de datos en arreglos n-dimensionales, que son el pan y la manteca de la computacin cientfica. La idea es transformar a Perl en un lenguaje numrico similar a Matlab. Se incluye un entorno interactivo de lnea de comandos, adems del mdulo Perl (PDL) para usar en scripts. Euler Es un laboratorio numrico y un lenguaje de programacin. El sistema puede manejar nmeros, vectores y matrices reales, complejos y en forma de intervalos. Tambin existe una versin con interfaz grfica, Euler for GTK+. 12. Compiladores/Intrpretes gcc GNU Compiler Collection, (y no GNU C Compiler). Es el compilador de GNU, que contiene front-ends para C, C++, Objective-C, Fortran, Java, y Ada. Est incluido en cualquier distribucin de GNU/Linux (de hecho, casi todo el sistema operativo se compila en gcc). Free Pascal Es un compilador Pascal semnticamente compatible con TP 7.0, as como la mayora de las versiones de Delphi. GNU Pascal El compilador Pascal de GNU, que utiliza a gcc como back- end. Es compatible con Borland Pascal, y soporta muchas de sus unidades (units). Perl Perl es un lenguaje interpretado de alto nivel, optimizado para procesar archivos de texto arbitrarios, extraer datos de ellos, e imprimir informes basados en esa informacin. Python Un lenguaje de programacin interpretado, interactivo y orientado a objetos, que combina una gran potencia con una alta claridad en la sintaxis. Esta caracterstica hace que Python sea ideal, tanto para el que est dando sus primeros pasos en programacin, como para el programador avanzado. PHP Lenguaje de programacin interpretado, fuertemente orientado a desarrollo web. gprolog Un intrprete/compilador Prolog, que cumple casi completamente con el estndar ISO Prolog, aadiendo algunas extensiones bastante tiles. Incluye resolucin de condiciones sobre dominios finitos (FD), y una potente interfaz bidireccional entre Prolog y C. SWI-Prolog Otro intrprete/compilador Prolog con licencia libre. Incluye recolector de basura (garbage collection) e interfaz C/C++, y ofrece una buena performance general. Entornos de programacin (IDEs Integrated Development Environments) Anjuta Es un IDE para crear aplicaciones GNOME/Gtk+ con Glade, o simplemente para crear aplicaciones genricas, en C/C++, o cualquier otro lenguaje. 13. KDevelop Puede generar aplicaciones genricas, o GUIs usando Qt, KDE o GNOME, en C/C++. Kylix Kylix := Delphi in [Linux]. Es software propietario, pero el Kylix Personal Edition es gratuito. ViM / Emacs Son dos editores de texto plano tan flexibles que pueden utilizarse como entornos de programacin para prcticamente cualquier lenguaje. Quanta Plus Es un entorno de desarrollo para HTML con soporte PHP. Est diseado para el desarrollo rpido de sitios web. Eclipse Un entorno de desarrollo integrado, especialmente orientado a proyectos en Java. Mono Entorno de desarrollo .NET. Debugging gdb El debugger de GNU. Puede depurar cualquier programa compilado en gcc con la opcin -g. Se maneja mediante lnea de comandos. DDD Data Display Debugger es un front-end grfico muy completo para varios debuggers, incluyendo el gdb, y para varios lenguajes (C/C++, Java, Pascal). insight Es otro front-end grfico para gdb. Herramientas auxiliares para programacin Doxygen Sistema para generar automticamente la documentacin de programas escritos en C/C++. Umbrello Modelador UML. RCS / CVS / Subversion / Darcs Sistemas de control de versiones. 2.10 Redes Ethereal Sniffer y analizador de trfico de red, grfico. tcpdump 14. Sniffer y analizador de trfico de red, de consola. Apache Servidor web. 2.11 Electrnica Spice Es la versin original del programa de simulacin creado en la Universidad de California, Berkeley. Se maneja mediante lnea de comandos, as que no esperes ver un programa de dibujo de esquemticos con lucecitas y colores. El circuito a simular debe ser ingresado en un archivo de texto, y el Spice se limita a simularlo y entregarte los resultados. El paquete viene con nutmeg, que es un programa que sirve para interpretar y graficar los datos de la simulacin, pero no es demasiado flexible. Debido a problemas de licenciamiento, el Spice no puede ser distribuido en binarios, as que es necesario bajar el cdigo fuente y compilarlo. Si uss Debian, en: http://www.eda.ei.tum.de/~mcp/spicedeb/ se explica cmo crear un paquete .deb a partir del cdigo fuente del spice3f5. ngspice Es un proyecto que tiene como objetivo crear una versin mejorada del spice (con algunos bugs arreglados) y con licencia GPL. El paquete viene con ngnutmeg, que es similar al nutmeg del spice. Sirve para graficar los datos de salida de las simulaciones. Gnucap GNU Circuit Analysis Package. Este simulador no est basado en Spice, y su funcionamiento es algo diferente. La principal ventaja de esto es que se trata de un software enteramente libre. Se incluyen modelos para BJT, MOSFET y diodos. Oregano Es un front-end grfico para spice, ngspice o Gnucap. Permite dibujar los circuitos con una interfaz amigable y simularlos fcilmente. Richard Hult, el autor de Oregano, abandon el proyecto hace algn tiempo, y algunos miembros del LUGFI decidieron continuarlo. Aun est en desarrollo. Kicad 15. Un grupo de programas para la creacin de esquemticos y circuitos impresos. La interfaz es similar a la de Orcad. Electric Es un sistema de dibujo asistido, simulacin y produccin de circuitos elctricos, muy completo y sofisticado, pero tambin bastante difcil de usar. TkGate Es un simulador de circuitos digitales, con una interfaz amigable e intuitiva, y varias caractersticas interesantes, como un compilador genrico de microcdigo/macrocdigo para crear archivos de inicializacin de memorias. Xcircuit Es un programa que permite dibujar circuitos elctricos (aunque puede ser utilizado tambin para dibujar otras cosas). Es liviano, fcil de usar y produce resultados con calidad profesional y en formato EPS, por lo que resulta ideal para incluir circuitos en documentos LaTeX. Tambin permite generar archivos Spice para simular el circuito. gEDA GPL Electronic Design Automation. La buena noticia es que GNU/Linux ya cuenta con un sistema integrado de diseo electrnico, que contiene herramientas para creacin de esquemticos, simulacin y produccin de circuitos, distribuido ntegramente como software libre. La mala noticia es que aun est en fase de desarrollo. Programacin de microcontroladores Una lista (no completa) de los distintos ensambladores, compiladores, simuladores, depuradores y programadores de micros: sdcc, ASEM-51, uisp, avrp, HERRAMIENTAS DE SOFTWARE LIBRE APLICADAS EN LA INGENIERIA Objetivos: Conocer los conceptos relativos a la ingeniera del software. Disear un software orientado a objetos con el lenguaje UML. Disear juegos de pruebas y mtodos de control de calidad. Construir programas en entorno GNU. Trabajar con las herramientas de control de versiones. Gestionar el software y trabajar con los sistemas de empaquetamiento de programas. Documentar el software. Conocer y utilizar los recursos existentes y las comunidades virtuales. Contenido Programtico 16. Programa del curso Ingeniera del software en entornos del software libre: Introduccin a la ingeniera del software Control de calidad y pruebas Comprovacin del software Control de calidad Black-box testing White-box testing: GDB Desarrollo de un plan de control de calidad Sistemas de gestin de errores: Bugzilla Construccin de software en entorno GNU AutoMake Libtool Control de versions (CMS) Empaquetamiento y distribucin de software Sistemas de creacin de documentacin HTML, XML, DocBook Doxygen Comunidades virtuales y recursos existentes Freshmeat SourceForge Libreras estndar de programacin Qu es Linux? Linux es, en un sentido muy amplio, un sistema operativo. Sin embargo, ms purista y especficamente, Linux es un kernel. El kernel de un sistema operativo, se refiere a su ncleo. El kernel de un sistema operativo se encarga de gestionar los recursos de la memoria, habilitar el acceso a los sistemas de archivos, administrar recursos de red, y muchas cosas ms. 1. Y qu es GNU/Linux? GNU/Linux es todo el conjunto de herramientas que hacen a Linux un sistema operativo. GNU significa GNU is Not Unix y es el proyecto mundial, de software libre, iniciado en 1984 por Richard M. Stallman. GNU es lo que hace a Linux ser libre y abierto. 2. Linux es gratis? No: Linux es libre. El tipo de licencia que Linux posee es denominada GPL, que fue desarrollada por el proyecto GNU. La licencia GPL permite cuatro libertades fundamentales: Libertad de uso. Libertad de aprendizaje. Libertad de modificacin. Libertad de redistribucin. 3. Linux es software libre? 17. As es. Precisamente por poseer la licencia GNU/GPL. 4. Dnde consigo Linux? Cuando una persona "quiere Linux", lo que generalmente busca (o necesita) es una distribucin (comnmente llamada distro). Una distribucin es un conjunto de aplicaciones y herramientas que conviven con el ncleo de Linux cumpliendo fundamentalmente tres funciones: Instalacin del sistema operativo. Configuraciones del sistema operativo, principalmente de las piezas de hardware. Manejo de software. Para mayor informacin sobre las distribuciones de Linux, Linux en peru, vea mas informacin en el Portal de SomoLibres.org ademas de la seccin de distribuciones. 5. Quin es el dueo de Linux? Nadie. Comnmente se confunde a Linux como una empresa, y se cree que como Microsoft.com pertenece a la empresa Microsoft, entonces Linux.com ser el sitio oficial de la empresa Linux, o algo similar. Nada de ello. Linux no lo posee nadie, ni siquiera su creador, Linus Torvalds, es dueo de Linux. l nicamente posee el registro del nombre, pero el proyecto como tal es 100% libre. 6. Hay que saber programar para usar Linux? No. 7. Linux grficamente, es como MS-DOS? Lo que mucha gente cree es que Linux, grficamente, es como MS-DOS, es decir, con una interfaz de texto, de consola. No. Las diversas interfaces grficas de Linux y sus escritorios, como GNOME o KDE superan enormemente a Windows, tanto en desempeo, como en atractivo visual. 8. Tengo que ser un gur de la computacin para usar Linux? No. Las versiones ms recientes de distribuciones como RedHat y Mandrake dotan al usuario de una enorme facilidad de instalacin y configuracin de su sistema. 9. Puedo tener Windows y Linux en la misma computadora? S. 10.Instalando Linux, podr hacer todo lo que haca en Windows? Usar Word, Excel; navegar por Internet; chatear, etc. Desde luego. Para cualquier tarea de oficina se pueden usar OpenOffice.org, KOffice, StarOffice, etc. Y puedes usar una gran cantidad de navegadores, y mensajeros instantneos, como aMSN o GAIM. 18. En el marco del Programa Iberoamericano de Ciencia y Tecnologa para el Desarrollo, se han llevado a cabo Talleres Anuales de Herramientas de Clculo en Ingeniera en Alimentos, teniendo sede en Espaa y numerosos pases de Latinoamrica. El siguiente sitio web: rene ms de 90 herramientas de clculo y aplicaciones (software) de descarga libre, desarrolladas a lo largo de ms de 8 aos en los principales centros de investigacin en ingeniera qumica de Iberoamrica. Si bien concentrndose principalmente en ingeniera de alimentos, tambin incluye programas de clculo de equipos (evaporadores, secadores, extraccin lquido-lquido), clculos de fenomenos de transporte de calor y masa, programas de ajuste de datos, clculo de sistemas coloidales y otros. Se incluye la documentacin para cada programa y los nombres y afiliacin de los autores. Visite la pgina web. Qu es un GLUG? GNU/Linux es un movimiento mundial sin una estructura central, burocratizada o entidad para controlar, coordinar o dirigir sus objetivos. Mientras esta situacin es una parte poderosa del sentido y calidad tcnica de GNU/Linux como un sistema operativo de una computadora, puede jugar en contra para ubicar recursos humanos capacitados o educar usuarios. En gran medida un GLUG local provee las respuestas a esta clase de cuestiones. Debido a que no hay una una corporacin de GNU/Linux capaz de bindar informacion o soporte especializado, el GLUG local cumple los mismos roles que una oficina regional de una gran corporacin multinacional. Funciones de un GLUG: Difusin El GLUG local juega un indispensable rol en promover el uso de GNU/Linux. Si una persona conoce acerca de GNU/Linux a travs del esfuerzo de un GLUG local, entonces esa persona, como un nuevo usuario GNU/Linux, tiene una gran ventaja: ella ya esta conciente de la existencia de una organizacin que la ayudar a instalar, configurar y mantener GNU/Linux. Por est razn, es importante que 19. los GLUGs locales promuevan GNU/Linux porque su difusin es efectiva, bien soportada y libre. Educacin Podemos elegir el objetivo de educacin simplemente porque no hay otra entidad local de la cual usuarios GNU/Linux puedan recibir educacin con orientacin tcnica. Por otro lado un GLUG puede compartir la capacitacin laboral, ya que cada trabajador que expande sus habilidades en computacin participando en un GLUG local, es un trabajador menos que la empresa tiene que entrenar. An usando y administrando una PC GNU/Linux en casa, que no es lo mismo que administrar un data warehouse corporativo o sistemas de gran envergadura, es mucho ms complejo, ms reconfortante y ms educativo que administrar una PC con Windows 95 en casa. Este objetivo no solo puede servir para capacitar laboralmente, sino que puede convertirse en un servicio a la comunidad, ya que como la tecnologa de Informacin se vuelve una parte vital de la economa global, un GLUG local puede introducir GNU/Linux en escuelas, pequeos negocios, organizaciones comunitarias y sociales, y otros entornos no corporativos. Esta tarea de promocin tambin ayuda al entrenamiento del pblico en general acerca de GNU/Linux como un sistema operativo estilo Unix libre, gratuito, etc. Como ms y ms de estas clase de organizaciones buscan establecer una presencia en Internet o proveer acceso remoto a sus trabajadores, estudiantes o miembros, se originan oportunidades para los GLUGs locales de participar en la vida de su comunidad educndolos acerca de un sistema operativo libre y disponible gratuitamente. Esta clase de servicio a la comunidad permite al usuario medio de GNU/Linux emular la clase de generosidad que ha caracterizado a GNU/Linux y la comunidad de software libre desde un comienzo. Soporte La queja ms frecuente de los nuevos usuarios de GNU/Linux, una vez que tienen instalado el sistema, es la empinada curva de aprendizaje que no es nica de los GNU/Linux sino es una caracterstica de todos los modernos Unix. Una vez que esa curva es alcanzada, nos encontramos con el poder y flexibilidad de un sistema operativo complejo. Un GLUG local es el nico recurso que un nuevo usuario tiene disponible para aplanar la curva de aprendizaje. Pero an si un nuevo usuario GNU/Linux no conoce esto todava, el necesita ms que soporte tcnico, el mundo de GNU/Linux y el software libre se mueven rpidamente. Los GLUGs locales forman un invaluable conducto de informacin acerca de GNU/Linux. El movimiento GNU/Linux tiene recursos como GNU/Linux Journal y GNU/Linux Gazette www.ssc.com="" lg="", pero muchos usuarios desconocen estos recursos. El GLUG local debe ser una fuente de informacin acerca de bugs reparados, problemas de seguridad, parches, nuevos kernels, etc. Informacin vital para usuarios nuevos y experimentados. Por otro lado los GLUGs tienen la oportunidad de dar soporte a negocios y organizaciones locales. Este soporte tiene dos aspectos. Primero, pueden soportar organizaciones y negocios que quieren usar GNU/Linux como parte de su esfuerzo en Tecnologa de Informacin y computacin. Segundo, pueden dar soporte a negocios y organizaciones locales que desarrollen para GNU/Linux, soporten o instalen GNU/Linux. Si los GLUGs locales pueden jugar un rol en ayudar a usuarios de negocios a evaluar soluciones comerciales de GNU/Linux, entonces ms vendedores de software se vern 20. estimulados para considerar GNU/Linux en sus desarrollos y planificaciones. Socializacin Compartir experiencias, formando amistades y generando admiracin y respeto mutuo. La socializacin en GNU/Linux, a diferencia del mundo real, puede ocurrir a travs de listas de correo,Foros o quizas Usenet, pero la mejor forma de hacerlo es a travs de seres humanos de carne y hueso y no por voces incorporadas de una lista de correo, Forum o grupo de Usenet. Actividades de un GLUG Las dos maneras bsicas que un GLUG puede realizar las funciones descriptas anteriormente son: primero efectuar reuniones en un espacio fsico y segundo comunicarse a travs del ciberespacio. Se pueden efectuar reuniones sociales, presentaciones tcnicas, Instalaciones y configuraciones de GNU/Linux, llevando a cabo actividades como ensear a miembros acerca de GNU/Linux, comparar GNU/Linux con otros sistemas operativos, discutir las formas en que GNU/Linux puede ser promovido, discutir el negocio de un grupo de usuarios, comer, beber y ser felices. Pero el ingrediente masimportante son las ganas, persistencia y sobre todo un grupo Unido. Que sea todo por el Software Libre y las comunidades van a funcionar a trabajar. Pero es importante que los colegios y Universidades empieze esta aventura. No solo tu ganaras sino tu Colegio, Universidad, Localidad, Regin y sobre todo el Pais. Blog: http://omarg5495.blogspot.com/