Entornos y Tecnologías de Desarrollo en el Software Libre

Slides:



Advertisements
Presentaciones similares
Metodología de Desarrollo de la Red
Advertisements

Prof. José T. Cadenas. Aplicación Web La Internet y la Web hacen que sea fácil y atractivo poner toda la información en el cyberespacio, y la hace accesible.
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
VULCANO: Forja Open Source para el Software del Futuro.
Sistema de control de versiones CVS y Subvesion. Definición: Control de versiones Un sistema de control de versiones es un sistema de gestión de múltiples.
Utilización y administración avanzadas de sistemas GNU/Linux y aplicaciones Software Libre para estudiantes universitarios Recursos de programación en.
Proyecto GNOME. Agenda ● Generalidades. ● Historia. ● Fundación GNOME. ● La industria alrededor de GNOME. ● Estado de GNOME. ● Lenguajes de GNOME. ● Estudios.
CMS ABIERTO Y CMS CERRADO MARÍA CAMILA MUÑOZ U TATIANA ARIAS CHAPARRO U CAROLINA FIGUEROA U
Proyecto ROOTVE V2: Control de versiones con Subversion Grupo de Investigación y Desarrollo en Seguridad de la Información - GIDSI.
Curso de Aptitud Pedagógica 2006/2007 OpenOffice Base Introducción a las Bases de Datos.
Primer Taller de desarrollo con Software Libre Posadas - Misiones José Luís Di Biase Héctor Daniel Sanchez
Es el software que controla el conjunto de operaciones de una computadora. Proporciona el mecanismo por el cual un usuario puede solicitar la ejecución.
COMUNICACIÓN Y TICS Károl Fernanda Barragán M. Jennylith Dayana Ardila P. Wendy Paola Pinto F.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
ASPECTOS GENERALES. Introducción. ¿Qué es Moodle? Arquitectura. Especificaciones técnicas. Características generales. ¿Cómo puede ayudar Moodle en clase?
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
ALFRESCO.
Universidad Santo Tomas, Agosto 2007
INTRODUCCIÓN. Una computador u ordenador se compone principalmente del software, que se refiere al conjunto de programas, instrucciones y reglas informáticas,
Visual ITP y Web ITP Raquel Sánchez Díaz Universidad de Salamanca.
Ricardo Zúñiga Zúñiga Archivista Ministerio de la Presidencia
Manejo Básico de Google Drive
Agenda Introducción y objetivo Alcance Beneficios con el SINBA
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
¿Qué son las Plataformas?.
Legisoffice Versión 1.0..
Arquitectura de una Base de Datos
CICLO DE VIDA DEL SOFTWARE
Sistemas Distribuidos
Administración de Proyectos
MODELO CLIENTE -SERVIDOR
SISTEMAS OPERATIVOS IFE 115: Informática Básica
GROUPWARE Software de trabajo colaborativo en redes.
Lenguajes y representación técnica
LENGUAJES Y REPRESENTACION TECNICA
Miguel García Ruiz Jackeline Giraldo Urrea
Madeleyne Castro Michael Omaña Gineth Ruiz Bibiana Quintero 10 B
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
Software de aplicación de escritorio y web
Formación SICdrive Componentes de SICdrive El Backend El Frontend.
CICLO DE VIDA DEL SOFTWARE
SOFTWARE APLICADO Y DE DESARROLLO.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
KUbuntu Carlos Torres Denis González 7 de septiembre de 2015.
Principios básicos del entorno windows
Lenguaje y representación técnica
SISTEMAS OPERATIVOS Carlos Humberto Martínez Martínez
INTRODUCCIÓN A JAVA.
Ingeniería del Software
SOL GUTIÉRREZ Y MARIANA HEINTZ 4°C Prof. Gustavo price
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
EL SISTEMA OPERATIVO Es un conjunto de programas hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora.
Comprensión y obtención de los requerimientos
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
PRESENTADO POR: BRAIAM YESID USECHE EDWIN ANDRES HIDALGO
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
Lo que necesitas conocer sobre el ISOlucion
PROYECTO DE GRADUACIÓN
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
Overview. ¿QUÉ ES UN ERP? Enterprise Resource Planning, es una aplicación informática que gestiona, de una forma.
La programación de objetivos didácticos en Terminótica
PROYECTO DE GRADUACIÓN
PROYECTO DE GRADUACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LO SISTEMAS OPERATIVOS Presentado por: Jennifer.
Base de datos años  En la década de los años 80’, se desarrolló el SQL, un lenguaje de consultas que permite consultar, valga la redundancia,
ING. NANCY BASILIO MARCELO ADMINISTRACIÓN REDES DE COMPUTADORAS.
ICI 502 Procesos de Software
La Metodología Kimball, es una metodología empleada para la construcción de un almacén de datos (data warehouse, DW) que no es más que, una colección de.
Transcripción de la presentación:

Entornos y Tecnologías de Desarrollo en el Software Libre

Agenda (1/2) Caracterización de entornos, herramientas y sistemas. Lenguajes y herramientas asociadas. Mecanismos básicos de colaboración. Gestión de fuentes. CVS. Otros sistemas de gestión de fuentes.

Agenda (2/2) Documentación. Docbook. Wikis. Gestión de errores. Sistemas de gestión de flujos de trabajo. Soporte para otras arquitecturas. Sitios de soporte al desarrollo.

Caracterización de entornos El entorno, las herramientas y VM deben ser libres. Las herramientas deben ser sencillas, conocidas y deben funcionar en arch, económicas. Modelo de desarrollo es distribuido.

Lenguajes y herramientas asociadas (1/2) La mayoría del software libre esta escrito en C. GCC es el compilador estándar en casi todas las distribuciones. Otros lenguajes que se utilizan bastante son C++, Java, Perl, Python y PHP. El idioma estándar entre desarrolladores es el ingles.

Lenguajes y herramientas asociadas (2/2) La herramienta estándar para construir programas es make. Las herramientas que ayudan a la portabilidad son autoconf, automake y libtool (C & Unix). Gettext, es la herramienta de internacionalización más utilizada.

Mecanismos básicos de colaboración En un principio solo se utilizaban cintas magnéticas. News de USENET. ej. comp.sources. Listas de correo. ej. majordomo, mailman. Foros web o weblogs. ej. Slashdot, Barrapunto. Wikis para documentos. ej. specs. IRC, interacción. ej. irc.gnome.org.

Gestión de fuentes Idea: es archivar la historia del proyecto. ¿Para que?, tener control del proyecto. Administrar versiones del proyecto. Registra la historia de los archivos, como un conjunto de diferencias sobre un patrón. Utilización de metadatos. Tipos de control: Pesimista. Optimista.

Concurrent Versions System (CVS) (1/4) Sistema de gestión de fuentes optimista. Diseñado a finales de los 80. Roles dentro del CVS: administrador, desarrollador, colaborador anónimo. El administrador del CVS, gestiona el acceso al repositorio.

Concurrent Versions System (CVS) (2/4): Colaborador anónimo Permite realizar entrega pronta y frecuente del software. Potencialmente les permite descubrir errores y reportarlos. Ejemplo de uso: #Para acceder y bajar el modulo $ cvs -d:pserver:anonymous@progs.org:/var/lib/cvs login $ cvs -d:pserver:anonymous@progs.org:/var/lib/cvs co <modulo> #Para actualizar la copia del modulo. $ cd <modulo> $ cvs update

Concurrent Versions System (CVS) (3/4): Desarrollador normal Tiene cuenta en el repositorio y acceso a escritura de los archivos. Teniendo una copia instalada del modulo, se pueden realizar las modificaciones. Primer paso antes de modificar es comprometer los cambios, de la siguiente manera: $ cvs ci parte.h parte.c Tratar de identificar mejor cada componente del proyecto.

Concurrent Versions System (CVS) (4/4): Administrador Encargado del mantenimiento del repositorio. Operaciones: dar de alta los proyectos, otorgar permisos a los desarrolladores, coordinaciones, etiquetar versiones entregadas, etc. Administración de ramas.

Otros sistemas de gestión de fuentes (1/2) CVS es el sistema de control de versiones más usado. CVS tiene varios inconvenientes: CVS esta orientado a la administración de archivos individuales. No soporta renombramientos. No soporta conjuntos de cambios. Complicado uso de ramas y mezclas. No genera Changelog.

Otros sistemas de gestión de fuentes (2/2) Algunas alternativas a CVS son: Aegis. Vesta. Subversion (sucesor de CVS). Arch. Bitkeeper. (http://linux.bkbits.net/)

Documentación (1/3) Convenientemente debe residir en el repositorio. Se prefieren formatos textuales a binarios. Compatibles GFDL. Formatos procesables aceptados; roff, texinfo.

Documentación (2/3): Docbook Antesesores linuxdoc y debiandoc. Aplicación SGML. Formato estándar de documentación libre para muchos proyectos. Su naturaleza es compleja y llena de etiquetas. Importante disponer de herramientas de ayuda a la edición.

Documentación (3/3): Wikis Alternativa a la complejidad de escribir Docbook y manejar CVS. Elaboración de documentos en linea. Lenguaje de marcas simple y conciso. Propio control de versiones de los documentos.

Gestión de errores Idea: Contribuir con informes de error, y aportar en la solución. Existen sistemas de gestiones de errores, que trabajan; vía web, vía email o vía un programa intermedio. Todos tiene interfaz web para consultas. Unos permiten informes anónimos, otros requieren autenticación(email). Ejemplo reportbug de Debian GNU/Linux.

Sistemas de gestión de flujos de trabajos En el software libre no hay mecanismos tan sofisticados de gestión de los trabajos. Sirven para definir tareas. Se espera que alguien se dé de alta en el sistema, asuma una tarea y declare un plazo. Ejemplos Bugzilla. Issuezilla.

Soporte para otras arquitecturas Probar la portabilidad del proyecto. Acceso a granjas de compilación. Esta infraestructura se denomina Tinderbox. Algunos proyectos que utilizan Tinderbox; Mozilla, Openoffice, FreeBSD.

Sitios de soporte al desarrollo (1/4) Proporcionan todo los servicios nombrados anteriormente. Servicios se entregan de forma integrada. Adicionalmente permiten busquedas y clasifican los proyectos. Libera al desarrollador de montar toda la infraestructura. Ejemplos: SourceForge.

Sitios de soporte al desarrollo (2/4): SourceForge Sistema de colaboración, administrado por OSDN. Alberga más de 100.000 proyectos. Subsidiaria de VA Software. Ofrece un portal global de entrada y un subportal por proyecto. Dentro de cada proyecto se puede ver su descripción, estado, descriptores. Software libre hasta su versión 2.

Sitios de soporte al desarrollo (3/4): Herederos SourceForge Crisis de las puntocom. VA Software anuncio cambio de licencia. Se eliminaron los mecanismos para llegar los proyectos a otro sitio. Herederos. Savannah. BerliOS.

Sitios de soporte al desarrollo (4/4): Otros sitios y programas Tigris: Proyectos de ingeniería de software libre. Gforce: Utilizado en el proyecto Debian GNU/Linux.

Preguntas y Respuestas