Manejo de versiones 392



Documentos relacionados
COMO CREAR UN ÁLBUM DE FOTOGRAFÍAS EN MICROSOFT OFFICE POWERPOINT?

Tutorial: Primeros Pasos con Subversion

Elementos requeridos para crearlos (ejemplo: el compilador)

Módulo Presupuesto SP 3.0

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Instantáneas o Shadow Copy

Manual de operación Tausend Monitor

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Selección de los puntos de montaje

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Transacciones y bloqueos en SQL-Server

5. Diseño e Implementación del sistema (software)

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

3.1. Guardar un libro de trabajo

MANUAL PARA LA ACTUALIZACIÓN Y CREACIÓN DE DEPENDENCIAS EN EL SISTEMA CREG ENTREGA-RECEPCIÓN

Manual del panel. Core-Admin

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

5.4. Manual de usuario

Manual Oficina Web de Clubes (FBM)

Toda base de datos relacional se basa en dos objetos

Cuentas Contables. Para Generar y/o modificar las cuentas contables hay que ir a: Parámetros Plan de Cuentas Cuentas Contables

... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

1. Copias de seguridad.

Gestión de Retales WhitePaper Noviembre de 2009

Mantenimiento Limpieza

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

Introducción a Moodle

PowerPoint 2010 Manejo de archivos

Apuntes para hacer páginas Web con FrontPage

Manual del Usuario. Sistema de Help Desk

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

Plantillas Office. Manual de usuario Versión 1.1

Uso del Programa Gantt Project

Presentación de Pyramid Data Warehouse

MANUAL DE USUARIO CMS- PLONE

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

MÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX

GVisualPDA Módulo de Almacén

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Manual hosting acens

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

PLANTILLAS EN MICROSOFT WORD

P á g i n a 1 OPERADOR PC

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

Microsoft Office XP Access XP (III)

GENERACIÓN DE TRANSFERENCIAS

GUÍA DE OUTLOOK. Febrero 2010

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

MANUAL DE USUARIO TARIFICADOR SIPTAR Y REPORTES SIPTAR.

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Utilidades de la base de datos

MACROS. Automatizar tareas a través del uso de las macros.

Análisis de los datos

LiLa Portal Guía para profesores

PLANTILLAS DE DOCUMENTOS EN WORD 2007

Notas para la instalación de un lector de tarjetas inteligentes.

Históricos Impresión de Facturas

Para utilizar esta nueva funcionalidad usted debe hacer lo siguiente: Figura 1. Ventana buscar usuarios para modificar.

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

CURSO INSTALACION E IMPLEMENTACION ALOJA SOFTWARE HOTEL MODULO 01: Instalación- Datos Generales- Datos Particulares [1]

Estimado usuario. Tabla de Contenidos

INSTITUTO TECNOLOGICO SUPERIOR DE TEZIUTLAN CONFIGURACION Y ADMON DE REDES

Cómo instalar el software de CRM Personas en un alojamiento web remoto

BREVE MANUAL DE SOLVER

TPVFÁCIL. Caja Real. Definiciones.

Sitios remotos. Configurar un Sitio Remoto

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Office Online Office Online

Copias de Seguridad con SQL Server Realizar una copia de seguridad de Bases de Datos

GMAIL (avanzado) 1. Accede a la web de Gmail, Te destacamos las funcionalidades que vamos a enseñarte a. 2. Vamos a enseñarte a:

COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN

Nota: Se puede tener un acceso directo definido o podemos entrar a través de la

, RECUPERACIoN DE DATOS:

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Crear la base de datos antes de la instalación de Wordpress.

OPERACIONES EN MOSTRADOR

Guía de uso del Cloud Datacenter de acens

Manual CMS Mobincube

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

MANUAL DE AYUDA MODULO TALLAS Y COLORES

Servicios Educativos Del Estado De Chihuahua Sistema Integral de Presupuestos y Materiales. Indice. Introducción Barra de Herramientas...

CheckOUT HELP DESK. Una vez en sesión, UD. Podrá registrar problemas, consultas y hacer un seguimiento de los problemas que UD. ha ingresado.

Historial de Versiones: Velneo vversion. Funcionamiento. Repositorio de versiones. Funcionalidades del Historial de Versiones. Bloquear.

OBTENER DATOS EXTERNOS

Capítulo 9. Archivos de sintaxis

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

INTEGRACION CONTABLE

SERVIDOR DNS DINÁMICO EN WINDOWS 2000/2003 SERVER.

Manual de Usuario Comprador. Módulo Compra Express. Iconstruy e S.A. Serv icio de Atención Telefónica:

Compartir carpetas en XP

Transcripción:

Manejo de versiones 392

El desarrollo de software es un trabajo en equipo y cierto grado de confusión es inevitable. No puedo reproducir el error en esta versión! Qué pasó con el arreglo de la semana pasada? La aplicación en ejecución no es compatible con el código fuente Realmente estamos trabajando en la última versión? Este programa ayer funcionaba! 393

Conclusión: El ciclo de desarrollo es un proceso dinámico que requiere control de los cambios realizados a los objetos del proyecto. Se necesita: Marcar hitos en el desarrollo de la aplicación Tener líneas de desarrollo paralelas Administrar el ciclo de vida de la aplicación (SCM) KB... Versión 1 Versión 2 Versión N Durante el proceso de construcción de la aplicación, es necesario marcar hitos en el desarrollo de la misma, entendiendo como hitos la congelación del desarrollo en un determinado momento especial en el proceso. Esto se puede dar por ejemplo para liberar una versión a producción, congelar una versión entregada a un cliente, la necesidad de congelar un determinado estado especial de la aplicación, etc. Además también vamos a querer tener distintas líneas de desarrollo de la aplicación, algo muy común por ejemplo cuando se quiere hacer variaciones del proyecto para un cliente o cuando se requiere que dos grupos de trabajo lo hagan en paralelo y necesitamos poder realizar una administración de todos estos elementos. Lo que necesitamos básicamente es administrar el ciclo de vida de la aplicación durante el desarrollo. Varias de estas funcionalidades entran en lo que en el mundo del software se conoce como SCM (Software Configuración Management) 394

Solución: Manejo de versiones de la aplicación 1.1.1 1.1.2 APP 1.0 1.1 1.2 2.0 APP 2.1 Nodo raíz del árbol de versiones 1.0.1 1.0.2 1.0.3 Se comienza el desarrollo siguiendo una línea principal de desarrollo (línea del medio Trunk), lugar donde se agregan las funcionalidades requeridas y se utilizan prototipos para probarlas. En determinados momentos de este ciclo surge la necesidad de establecer un checkpoint en el proceso, ya sea por la liberación de una versión, la entrega de una versión a un cliente, la necesidad de congelar un determinado estado de una aplicación, etc. Entonces lo que hacemos es congelar el producto en ese momento creando por ejemplo la versión 1.0 que se la entregamos a un cliente y se continúa el proceso de desarrollo principal. En determinado momento surge la necesidad de realizar correcciones sobre la versión entregada al cliente (1.0) por lo que es necesario abrir una nueva línea de desarrollo para incluir estas correcciones sobre lo que era la versión 1.0 sin afectar la línea de desarrollo principal que siguió creciendo desde el momento de la congelación de la versión 1.0. Entonces se crea lo que se conoce como Developmen Version o branch, que es simplemente una nueva línea de desarrollo paralela a la principal. Luego durante el transcurso del proyecto vuelven a aparecer requerimientos de este tipo, ya sea de determinación de checkpoints como la necesidad de abrir nuevas líneas de desarrollo, entonces por ejemplo creamos la versión 1.1, o la 1.0.1 que vendría a ser un congelado de la línea de desarrollo abierta a partir de la versión 1.0 y así sucesivamente hasta tener por ejemplo la situación planteada en el diagrama. Estas situaciones forman parte de la operativa normal en el desarrollo de una aplicación y es necesario administrar fácilmente este proceso. Para ello se introduce el concepto de Manejo de Versiones. Las versiones se clasifican en: Development Versions, representan las líneas de desarrollo de la aplicación las cuales son independientes entre si, existe una línea principal y varias paralelas, la principal vendría a ser lo que se conoce como Trunk y las demás serían lo que en SCM se conoce como Branches Frozen Versions (también conocidas como Labels en SCM), representan los congelados creados en determinados momentos del proceso sobre las DV para determinar ciertos checkpoints (liberación de versión, entrega a cliente, congelar estado, etc.) 395

Solución: Manejo de versiones de la aplicación Development Version 1.1.1 1.1.2 APP APP 1.0 1.1 1.2 2.0 2.1 Nodo raíz del árbol de versiones 1.0.1 Frozen Versions Development Version (Trunk) 1.0.2 1.0.3 Development Version Se comienza el desarrollo siguiendo una línea principal de desarrollo (línea del medio Trunk), lugar donde se agregan las funcionalidades requeridas y se utilizan prototipos para probarlas. En determinados momentos de este ciclo surge la necesidad de establecer un checkpoint en el proceso, ya sea por la liberación de una versión, la entrega de una versión a un cliente, la necesidad de congelar un determinado estado de una aplicación, etc. Entonces lo que hacemos es congelar el producto en ese momento creando por ejemplo la versión 1.0 que se la entregamos a un cliente y se continúa el proceso de desarrollo principal. En determinado momento surge la necesidad de realizar correcciones sobre la versión entregada al cliente (1.0) por lo que es necesario abrir una nueva línea de desarrollo para incluir estas correcciones sobre lo que era la versión 1.0 sin afectar la línea de desarrollo principal que siguió creciendo desde el momento de la congelación de la versión 1.0. Entonces se crea lo que se conoce como Developmen Version o branch, que es simplemente una nueva línea de desarrollo paralela a la principal. Luego durante el transcurso del proyecto vuelven a aparecer requerimientos de este tipo, ya sea de determinación de checkpoints como la necesidad de abrir nuevas líneas de desarrollo, entonces por ejemplo creamos la versión 1.1, o la 1.0.1 que vendría a ser un congelado de la línea de desarrollo abierta a partir de la versión 1.0 y así sucesivamente hasta tener por ejemplo la situación planteada en el diagrama. Estas situaciones forman parte de la operativa normal en el desarrollo de una aplicación y es necesario administrar fácilmente este proceso. Para ello se introduce el concepto de Manejo de Versiones. Las versiones se clasifican en: Development Versions, representan las líneas de desarrollo de la aplicación las cuales son independientes entre si, existe una línea principal y varias paralelas, la principal vendría a ser lo que se conoce como Trunk y las demás serían lo que en SCM se conoce como Branches Frozen Versions (también conocidas como Labels en SCM), representan los congelados creados en determinados momentos del proceso sobre las DV para determinar ciertos checkpoints (liberación de versión, entrega a cliente, congelar estado, etc.) 396

Development Version: (Branch) Línea de desarrollo de la aplicación. Pueden haber varias líneas que transcurran paralelas. Development Version 1.1.1 1.1.2 APP APP 1.0 1.1 1.2 2.0 2.1 Development Version principal (Trunk) 1.0.1 1.0.2 1.0.3 Nodo raíz del árbol de versiones = nodo raíz del Trunk Development Version Las development version son las líneas de desarrollo de la aplicación, es decir el lugar donde efectivamente creamos y modificamos la aplicación. En el ciclo de vida de una aplicación participa una línea de desarrollo principal, es decir, donde comienza el proceso de desarrollo de la aplicación y en la cual normalmente se van a estar haciendo las modificaciones requeridas en el avance del proyecto. En SCM esta línea de desarrollo se conoce con el nombre de Trunk. Además de esta línea principal podrán existir una o varias líneas de desarrollo secundarias, totalmente independientes de la línea principal e independientes entre si. En SCM estas líneas de desarrollo secundarias se conocen como Branches y son usadas en general para realizar correcciones o pequeños agregados sobre versiones congeladas o liberadas de la aplicación, o para liberar una versión especial para un cliente. El desarrollo en cada una de estas development version es independiente, teniendo cada versión sus propios objetos, su propia base de datos, ambientes para generar la aplicación, etc. Una Development Version, es entonces, una copia de la KB editable e independiente. 397

Frozen Version: Versión no modificable, es una foto de la aplicación en un momento dado. 1.1.1 1.1.2 APP APP 1.0 1.1 1.2 2.0 2.1 1.0.1 1.0.2 1.0.3 Frozen Versions Una Frozen Version permite almacenar en forma estática momentos especiales de la KB. Es el elemento que utilizamos para marcar distintos hitos en el proceso, como por ejemplo el cierre de una versión para liberarla a los clientes. Se obtiene a partir de una versión en desarrollo (development version), congelándola para obtener una foto en un determinado momento. La versión obtenida es Read Only, es decir que objetos de la misma no podrán ser modificados, ni tampoco sus propiedades. Sí será posible realizar acciones relacionadas con la generación de la aplicación, como por ejemplo la creación de la base de datos o la regeneración de los programas. Cuando congelamos una versión es porque determinamos que la misma está en un estado consistente y sería conveniente guardar dicho estado. Por ejemplo, congelamos una version X para dársela a los clientes, en determinado momento, mientras se continúa con el proceso de desarrollo, un nuevo cliente requiere de la aplicación, entonces lo que hacemos es generar la misma en la version X, que sabemos tiene un estado correcto y se la instalamos al nuevo cliente. Los objetos si bien no pueden ser modificados, pueden ser abiertos para distintas consultas o para realizar comparaciones con otras versiones de la aplicación. 398

Ejemplo de versionado: Implementación paso a paso Variaciones debido a arreglos o cambios en requerimientos APP APP.. Ciclo de desarrollo principal - Prototipado Development Version principal (Trunk) Partimos del nodo raíz del árbol de versiones, el cual se crea al crear la KB. La aplicación va sufriendo cambios a medida que transcurre el ciclo de desarrollo. La línea de desarrollo principal es donde se implementan las funcionalidades requeridas y donde se hace el prototipado. Esta línea de desarrollo generalmente coincide con el Trunk, o sea con la rama principal del árbol de versionado. Es una Development Version creada por defecto al crearse la KB. A medida que se van haciendo modificaciones a la aplicación, la misma va cambiando a lo largo del tiempo. 399

Para ver el árbol de versiones, abrimos la ventana Knowledge Base Versions (View/Versions): Nodo raíz del árbol de versiones = nodo raíz del Trunk 400

Surge la necesidad de congelar versiones, para fijar hitos en el proyecto. Para eso creamos Frozen Versions (copia de sólo lectura de la aplicación). APP APP.. Development Version principal (Trunk) 1.0 1.0 Frozen Version 1.0 Las Frozen Version sirven para: Analizar (no modificar) objetos, propiedades, environments, etc. Como fuente de un Reporte de Análisis de Impacto de la base de datos Para crear la base de datos Para regenerar todos los programas 401

Cómo congelamos una Development Version, para crear una Frozen Version? Damos botón derecho sobre el nodo raíz y seleccionamos Freeze 402

Ahora queremos poner la aplicación en Producción. Para eso partir de una Frozen Version 1.1 creamos una Development Version Release 1. APP APP.. Development Version principal (Trunk) 1.0 1.0 1.1 1.1 Release1 Release1 Development Version para Producción En la versión de Producción se van produciendo variaciones debido a arreglos, pero no se agrega funcionalidades nuevas. Las mismas son agregadas en la línea de desarrollo principal. Las Development Version sirven para: Trabajar en una línea de desarrollo paralela a la principal Como fuente o destino de una operation de Revert desde una Frozen Version de Backup 403

Creamos la Frozen Version 1.1 como vimos anteriormente Botón derecho sobre el nodo raíz y click en Freeze Frozen Version 1.1 Nótese que las Frozen Version más nuevas, se muestran más arriba en el árbol de versiones. 404

Damos botón derecho sobre la Frozen Version 1.1 y seleccionamos New Version para crear la Development Version Release 1. Development Version Release1 El tiempo que se demora en crear una nueva Development Version es proporcional al tamaño de la KB. 405

También podemos crear nuevas Frozen Versions tanto en la rama del desarrollo principal como en la rama de Producción. KB1 KB1.. Trunk 1.0 1.0 1.1 1.1 1.2 1.2 2.0 2.0 2.1 2.1 Producción Release1 Release1 1.1.1 1.1.1 1.1.2 1.1.2 Frozen Versions de Producción Como las líneas de desarrollo del Trunk (Desarrollo) y de Relase 1 (Producción) son paralelas, los cambios en una no afecta a la otra. Ambas versiones son entonces totalmente independientes y podemos requerir congelarlas por diferentes motivos. Por ejemplo, en el caso de la rama de Producción, para fijar un estado luego de ciertos arreglos que tuvimos que hacer. De acuerdo a la metodología adoptada, en el ciclo de desarrollo principal, es donde se agregan nuevas funcionalidades, arreglos, cambios importantes a la aplicación, prototipado y testing. Es más frecuente que se necesita fotos en esa etapa viva del desarrollo de la aplicación. En la rama del Release1, los cambios son menores, más bien arreglos circunstanciales que no agregan funcionalidad. En este caso, es menos frecuente la necesidad de crear Frozen Versions, pero puede ser igualmente necesario. 406

Nótese que las Frozen Versions más nuevas, se muestran más arriba en el árbol de versiones 407

Luego de ciertos arreglos en Producción, nos interesa generar la aplicación. Para eso marcamos la DV Release 1 como activa. Damos botón derecho sobre el nodo Release1 y elegimos Set Active GeneXus genera automáticamente los programas y las estructuras de la BD, partiendo de la versión que esté activa. Se puede marcar como activa una versión en desarrollo o una versión congelada. En éste último caso, no podremos hacer ninguna modificación a la misma, solamente utilizarla para generar la aplicación o para realizar un impacto a la base de datos, o para comparar versiones. Solamente puede haber una versión activa a la vez. 408

La Development Version que esté activa, será la que se utilizará para generar la aplicación al hacer un Build (F5) GeneXus nos indica cuál es la rama activa 409