osingsoft.pdf

28
Linux IDES Investigación y Desarrollo en GNU/Linux Herramientas Open Source de Herramientas Open Source de apoyo en Ingeniería de Software apoyo en Ingeniería de Software Juan Eladio Sánchez Rosas Juan Eladio Sánchez Rosas juansanchez.webcindario.com blogs.antartec.com/opensource

Transcript of osingsoft.pdf

  • Linux IDESInvestigacin y Desarrollo en GNU/Linux

    Herramientas Open Source de Herramientas Open Source de apoyo en Ingeniera de Softwareapoyo en Ingeniera de Software

    Juan Eladio Snchez RosasJuan Eladio Snchez Rosas

    juansanchez.webcindario.com

    blogs.antartec.com/opensource

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Qu es software libre/free software?

    Cuatro libertades: Usar el programa, con cualquier propsito. Estudiar cmo funciona el programa, y adaptarlo a tus

    necesidades. Distribuir copias, con lo que puedes ayudar a otros. Mejorar el programa y hacer pblicas las mejoras a los dems, de

    modo que toda la comunidad se beneficie. Licencias ejemplo

    GNU General Public License (GPL) GNU Lesser General Public License (LGPL)

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Qu es cdigo abierto/open source?

    Trmino ms general que Software Libre. Al igual que en Software Libre se pueden ver y modificar

    el cdigo fuente. Sin embargo, algunas licencias Open Source NO cumplen

    con las cuatro libertades. Facebook usa Common Public Attribution Licence 1.0 (CPAL):

    Trabajos derivados (competidores) deben incluir una nota que atribuya el software a Facebook.

    PHP usa The PHP License 3.0Impide utilizar PHP como parte del nombre de un software escrito en PHP, ni se puede retirar las notas de copyright de binarios o cdigo fuente de PHP.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Entonces?

    Hablar de Cdigo Abierto no es lo mismo que hablar de Software Libre, pero estn en el mismo contexto.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Hablemos de desarrollo de software ...

    Ingeniera de Software Se encarga de desarrollar y mantener sistemas de software que

    se comporten de manera confiable y eficiente, que mantengan un costo de desarrollo y mantenimiento controlado, y que satisfagan todos los requerimientos que los clientes les definieron.

    ACM Computing Curricula 2005 (The Overview Report)http://www.acm.org/education

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Desarrollar software != slo programar

    Se utilizan numerosas herramientas de apoyo especializadas Planificacin Anlisis Diseo Construccin Documentacin

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Que usamos en las otras actividades?

    Herramientas privativas MS Project Rational Rose MS Office ErWin?

    Hemos adquirido sus licencias?

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Ya fue suficiente teora ...

    Herramientas Open Source De APOYO al desarrollo de software. Independientes del lenguaje Independientes del framework Independientes del entorno

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Planificacin y gestin de proyectos

    Gantt Project Diseo de diagramas de Gantt. Fcil de usar, con importacin y exportacin de archivos en

    formato MS Project. OpenProj

    Solucin multiplataforma quesustituye a alternativas de seguimiento de proyectos.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Planificacin y gestin de proyectos

    RedMine nfasis en tareas

    Project.Net nfasis en proyectos

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Plantillas de Documentacin

    ReadySET Librera de plantillas reutilizables para ingeniera de software. Punto de partida para los documentos utilizados en proyectos de

    desarrollo de software.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Anlisis y Diseo

    MySQL Workbench Precursor: FabForce DBDesigner. Integra modelado, creacin y mantenimiento de bases de datos

    en un solo ambiente de trabajo. Incluye sincronizacin e ingeniera inversa a bases de datos MySQL.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Anlisis y Diseo

    StarUML Herramienta de modelado de software y una

    plataforma que reemplaza a las herramientas UML comerciales como Rational Rose, Together, etc.

    Vase tambin ArgoUML, Umbrello.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Sistemas administradores de bases de datos (DBMS)

    MySQL La base de datos de cdigo abierto ms popular. Caractersticas: velocidad,

    confiabilidad y facilidad de uso. PostgreSQL

    Poderoso sistema de base de datos con dcadas de activo desarrollo.

    De arquitectura confiable, con integridad de datos y eficiente.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Sistemas administradores de bases de datos (DBMS)

    Vase tambin MySQL GUI Tools, pgAdmin III.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Configuracin y versionado de software

    Subversion Sistema centralizado para el seguimiento de los cambios en

    archivos de proyectos de software. Ideal para el trabajo de equipos encargados de distintas

    funcionalidades. Clientes: TortoiseSVN, SmartSVN.

    Vase tambin(sistemas distribuidos de control de versiones) Git Bazaar Mercurial

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Entornos integrados de desarrollo (IDEs)

    Eclipse IDE Plataforma de robusta, completa y

    de nivel empresarial para el desarrollo de herramientas altamente integradasy aplicaciones enriquecidas parausuarios.

    Soporta: Java, AspectJ, C/C++, Cobol, PHP. NetBeans IDE

    Es un ambiente que contiene todas las herramientas necesarias para crear aplicaciones profesionales a nivel de escritorio, empresarial, web y mvil en Java.

    Soporta: AJAX, Java, C/C++, PHP, Ruby, Visual Mobile.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Diseo grfico de interfaces

    The GIMP / The GIMP Portable Programa de retoque fotogrfico y composicin de imgenes e

    interfaces disponible en distintas plataformas e idiomas. Inkscape

    Programa de diseo vectorial Vase tambin

    Xara Xtreme for Linux.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Elaboracin de documentacin

    OpenOffice.org / OpenOffice.org Portable Suite ofimtica para procesamiento de textos, hojas de clculo,

    presentaciones, etc. Genera archivos en un formatos estndares internacionales

    (ODF, PDF) y otros formatos populares. Vase tambin:

    Sun StarOffice, IBM Lotus Symphony, OxygenOffice Professional.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Pero la ponencia no era ... ?

    Herramientas Open Source de apoyo a los cursos de Ingeniera de Software. Ttulo actual:

    Herramientas Open Source de apoyo en Ingeniera de Software

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Ingeniera de software en la PUCP

    Tres cursos Ingeniera de software Desarrollo de programas 1 Desarrollo de programas 2

    Lenguaje de programacin Generalmente decidido por profesores

    Tecnologas adicionales A criterio de alumnos

    Evaluacin Revisiones sucesivas Presentacin de producto final

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Tecnologas a criterio de alumnos?

    Si, lo que genera diversidad de trabajos:

    Aquellos que reunen tecnologas de vanguardia.

    Aquellos que reutilizan tecnologas del ciclo anterior.

    Aquellos que priorizan las tecnologas ms sencillas.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Pero hay un problema ...

    El entregable final es: Ejecutable del software Cdigo fuente Documentacin

    Y las herramientas de apoyo? Se redescubren cada ciclo.

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Wiki Cursos Libres

    http://wiki.pucp.edu.pe/linux/ Experiencias de uso de herramientas de software libre y

    cdigo abierto en la PUCP Inicialmente Ingeniera Informtica

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Formatos de documentacin

    Por curso Especialidades Web del curso Descripcin Software No Libre utilizado Herramientas de software libre utilizados Ciclos y horarios donde se utilizaron Alternativas libres adicionales

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Formatos de documentacin

    Por herramienta Web del proyecto Descripcin Lista de cursos donde se usa Lista de cursos donde se recomienda su uso Referencias Enlaces relacionados (manuales, ejemplos)

  • LINUX IDES: GRUPO DE INVESTIGACIN Y DESARROLLO EN GNU/LINUX

    Y todo esto fue porque ...

    No importa si eres estudiante o profesional Aplica las herramientas que te brinda el software libre y abierto de

    acuerdo a tus necesidades. Y difndelas!

  • Linux IDESInvestigacin y Desarrollo en GNU/Linux

    Herramientas Open Source en Herramientas Open Source en Ingeniera de SoftwareIngeniera de SoftwareJuan Eladio Snchez RosasJuan Eladio Snchez Rosas

    juansanchez.webcindario.com

    blogs.antartec.com/opensource

    Herramientas Open Source en Herramientas Open Source en Ingeniera de SoftwareIngeniera de Software

    Muchas GraciasMuchas Gracias

    Pgina 1Pgina 2Pgina 3Pgina 4Pgina 5Pgina 6Pgina 7Pgina 8Pgina 9Pgina 10Pgina 11Pgina 12Pgina 13Pgina 14Pgina 15Pgina 16Pgina 17Pgina 18Pgina 19Pgina 20Pgina 21Pgina 22Pgina 23Pgina 24Pgina 25Pgina 26Pgina 27Pgina 28