Motivations (many2many) Motivations (many2one) Sur le thème de la Version. La gestion de version. La gestion de configuration.



Documents pareils
Support Orders and Support Provisions (Banks and Authorized Foreign Banks) Regulations

Once the installation is complete, you can delete the temporary Zip files..

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Instructions Mozilla Thunderbird Page 1

Règlement relatif à l examen fait conformément à la Déclaration canadienne des droits. Canadian Bill of Rights Examination Regulations CODIFICATION

VTP. LAN Switching and Wireless Chapitre 4

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

WEB page builder and server for SCADA applications usable from a WEB navigator

Practice Direction. Class Proceedings

LE FORMAT DES RAPPORTS DU PERSONNEL DES COMMISSIONS DE DISTRICT D AMENAGEMENT FORMAT OF DISTRICT PLANNING COMMISSION STAFF REPORTS

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

Les systèmes de gestion de version

First Nations Assessment Inspection Regulations. Règlement sur l inspection aux fins d évaluation foncière des premières nations CONSOLIDATION

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

Editing and managing Systems engineering processes at Snecma

Credit Note and Debit Note Information (GST/ HST) Regulations

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

Contents Windows

APPENDIX 6 BONUS RING FORMAT

Systèmes de gestion de code source

Frequently Asked Questions

Differential Synchronization

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

Interest Rate for Customs Purposes Regulations. Règlement sur le taux d intérêt aux fins des douanes CONSOLIDATION CODIFICATION

Improving the breakdown of the Central Credit Register data by category of enterprises

Monitor LRD. Table des matières

How to Login to Career Page

Calculation of Interest Regulations. Règlement sur le calcul des intérêts CONSOLIDATION CODIFICATION. Current to August 4, 2015 À jour au 4 août 2015

Appointment or Deployment of Alternates Regulations. Règlement sur la nomination ou la mutation de remplaçants CONSOLIDATION CODIFICATION

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

Loi sur la remise de certaines dettes liées à l aide publique au développement. Forgiveness of Certain Official Development Assistance Debts Act

LOI SUR LA RECONNAISSANCE DE L'ADOPTION SELON LES COUTUMES AUTOCHTONES ABORIGINAL CUSTOM ADOPTION RECOGNITION ACT

RAPID Prenez le contrôle sur vos données

INVESTMENT REGULATIONS R In force October 1, RÈGLEMENT SUR LES INVESTISSEMENTS R En vigueur le 1 er octobre 2001

Archived Content. Contenu archivé

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

COUNCIL OF THE EUROPEAN UNION. Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53

Disclosure on Account Opening by Telephone Request (Trust and Loan Companies) Regulations

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

Material Banking Group Percentage Regulations. Règlement fixant le pourcentage (groupe bancaire important) CONSOLIDATION CODIFICATION

Ordonnance sur le paiement à un enfant ou à une personne qui n est pas saine d esprit. Infant or Person of Unsound Mind Payment Order CODIFICATION

Air Transportation Tax Order, Décret de 1995 sur la taxe de transport aérien CONSOLIDATION CODIFICATION

Ships Elevator Regulations. Règlement sur les ascenseurs de navires CODIFICATION CONSOLIDATION. C.R.C., c C.R.C., ch. 1482

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Loi sur l aide financière à la Banque Commerciale du Canada. Canadian Commercial Bank Financial Assistance Act CODIFICATION CONSOLIDATION

Paxton. ins Net2 desktop reader USB

BILL 203 PROJET DE LOI 203

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE:

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

INSTITUT MARITIME DE PREVENTION. For improvement in health and security at work. Created in 1992 Under the aegis of State and the ENIM

Import Allocation Regulations. Règlement sur les autorisations d importation CONSOLIDATION CODIFICATION

Borrowing (Property and Casualty Companies and Marine Companies) Regulations

Exemple PLS avec SAS

Règlement sur les baux visés à la Loi no 1 de 1977 portant affectation de crédits. Appropriation Act No. 1, 1977, Leasing Regulations CODIFICATION

Disclosure on Account Opening by Telephone Request (Retail Associations) Regulations

Short-term Pooled Investment Fund Regulations. Règlement sur le fonds commun de placement à court terme CONSOLIDATION CODIFICATION

CLIM/GTP/27/8 ANNEX III/ANNEXE III. Category 1 New indications/ 1 re catégorie Nouvelles indications

General Import Permit No. 13 Beef and Veal for Personal Use. Licence générale d importation n O 13 bœuf et veau pour usage personnel CONSOLIDATION

Order Binding Certain Agents of Her Majesty for the Purposes of Part 1 of the Personal Information Protection and Electronic Documents Act

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

Life Companies Borrowing Regulations. Règlement sur les emprunts des sociétés d assurance-vie CONSOLIDATION CODIFICATION

ONTARIO Court File Number. Form 17E: Trial Management Conference Brief. Date of trial management conference. Name of party filing this brief

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM APPLICATION FORM

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

If the corporation is or intends to become a registered charity as defined in the Income Tax Act, a copy of these documents must be sent to:

SERVEUR DÉDIÉ DOCUMENTATION

BILL C-452 PROJET DE LOI C-452 C-452 C-452 HOUSE OF COMMONS OF CANADA CHAMBRE DES COMMUNES DU CANADA

Tutoriel git. Régis Briant, Youngseob Kim & Dmitry Khvorostyanov. Table des matières. 1 Configurer git 2

Resident Canadian (Insurance Companies) Regulations. Règlement sur les résidents canadiens (sociétés d assurances) CONSOLIDATION CODIFICATION

Form of Deeds Relating to Certain Successions of Cree and Naskapi Beneficiaries Regulations

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

INDIVIDUALS AND LEGAL ENTITIES: If the dividends have not been paid yet, you may be eligible for the simplified procedure.

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

IBM Workplace : Live!

CALCUL DE LA CONTRIBUTION - FONDS VERT Budget 2008/2009

Gestion des prestations Volontaire

GASKET FOR TONER COLLECTION BOTTLE

DOCUMENTATION - FRANCAIS... 2

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

Les Portfolios et Moodle Petit inventaire

Tutoriel de formation SurveyMonkey

Projet de développement

COPYRIGHT Danish Standards. NOT FOR COMMERCIAL USE OR REPRODUCTION. DS/EN 61303:1997

AUDIT COMMITTEE: TERMS OF REFERENCE

S9 - Contrôle des sources, gestion des demandes de changement et travail en équipe sous IBM i avec le produit RTC (Rational Team Concert)

Mendeley, pour gérer sa bibliographie et la partager. Patricia Volland-Nail

Le No.1 de l économie d énergie pour patinoires.

Formulaire de candidature pour les bourses de mobilité internationale niveau Master/ Application Form for International Master Scholarship Programme

CONSOLIDATION OF ABORIGINAL CUSTOM ADOPTION RECOGNITION ACT S.N.W.T. 1994,c.26 In force September 30, 1995; SI

Folio Case User s Guide

Export Permit (Steel Monitoring) Regulations. Règlement sur les licences d exportation (surveillance de l acier) CONSOLIDATION CODIFICATION

Railway Operating Certificate Regulations. Règlement sur les certificats d exploitation de chemin de fer CODIFICATION CONSOLIDATION

Transcription:

À la recherche de la qualité Motivations (one2one) Développer : 1 utilisateur 1 fichier/classe/package Cycle prog: 1ère version tests correction bugs version corrigée tests difficiles/fonctionnels version OK (réécriture). MAIS Lors de la correction de bugs, on peut avoir envie de revenir en arrière si on se lance dans de trop grosses modifications, Souvent on se perd dans nos propres corrections, La correction d un problème provoque 3 nouveaux problèmes ou fait réapparaitre un bug déjà corrigé. La correction incrémentale doit être ordonnée La solution : gestion d un historique du fichier. Motivations (one2many) Développer un projet : 1 utilisateur 1 projet (n modules/packages) Cycle prog : développement par bouts tests unitaires (avec bouchons?) assemblage tests ajustements validation OK (réorganisation /optimisation / simplification) MAIS Déplacement de bout de codes d un endroit à l autre, Version incrémentale des différents blocs à synchroniser Tests spécifiques validés, impactés par des modifications/correction, à réajuster pour être revalider. Savoir s arrêter La solution : gestion du projet (Roadmap, schéma, cas d utilisation). 1

Motivations (many2many) Développer en équipe n utilisateurs 1 projet (décomposé en modules) Cycle en V : spéc / découpage / répartition / dev / tests U / assemblage / coordination / correction / réorganisation / intégration / recette MAIS Diversité de styles, de rythmes de développement, de compréhensions, d implications Coordination (comité de développement, affectation des bugs, unions des forces) Savoir arrêter une version stable obtenir une version stable La solution : gestion de projet et d équipe et de version Motivations (many2one) Développer en parallèle n utilisateurs 1 projet (module commun) Cycle prog : accès concurrent synchrone/asynchrone - fork/branchements tests bugs compréhension bug affectation corrections - tests module validation (homogénéisation) - intégration - recette MAIS Développement cyclique Problème lors des fusions Style de développements différents Modifications sur différentes versions historiques Retour en arrière et réincorporation d un bout de dev La solution : gestion de configuration Sur le thème de la Version La gestion de version CVS SourceSafe, la solution M$ La gestion de configuration ClearCase (et ClearQuest) SubVersion Conclusion 2

La gestion de versions Travaux préliminaires SCCS [Bell Labs 72] (source code control system) Get / Edit / Put Successeur RCS [80] (Revision Code System) Utilise le Diff et stocke le résultat Fichier décrit de manière incrémentale one2one Le plus répandu CVS [84] (Concurrent Version System) Many2many Les commandes add /delete Ajoute ou supprime un fichier dans le repository Ckeck out (out of CVS) Check in (ou commit) Vision client serveur Importe ou exporte une révision d un fichier Numérotation automatique Update mise à jour locale de la version CVS si OK commit si KO, résolution humaine des conflits puis commit L environnement de dev Ligne de commande (pour les véritables) GUI sur la plupart des plateformes En fait CVS n est qu une gestion de fichiers intelligente PlugIn nombreux Eclipse, JavaIDE, NetBeans, Client / Serveur un peu d administration possible 3

Quelques définitions Repository The repository is where the current and historical file data is stored, often on a server. Sometimes also called a depot. Working copy The working copy is the local copy of files from a repository, at a specific time or revision. All work done to the files in a repository is initially done on a working copy, hence the name. Conceptually, it is a sandbox. Check-out A check-out (or checkout or co) creates a local working copy from the repository. Either a specific revision is specified, or the latest is obtained. Commit A commit (check-in, ci or, more rarely, install or submit) occurs when a copy of the changes made to the working copy is written or merged into the repository. Quelques définitions 2 Change A change (or diff, or delta) represents a specific modification to a document under version control. The granularity of the modification considered a change varies between version control systems. Change list On many version control systems with atomic multi-change commits, a changelist (or change set) identifies the set of changes made in a single commit. This can also represent a sequential view of the source code, allowing source to be examined as of any particular changelist ID. Resolve The act of user intervention to address a conflict between different changes to the same document. Baseline An approved revision of a document or source file from which subsequent changes can be made. Quelques définitions 3 Update An update (or sync) merges changes that have been made in the repository (e.g. by other people) into the local working copy. Branch A set of files under version control may be branched or forked at a point in time so that, from that time forward, two copies of those files may be developed at different speeds or in different ways independently of the other. Merge A merge or integration brings together two sets of changes to a file or set of files into a unified revision of that file or files. This may happen when one user, working on those files, updates their working copy with changes made, and checked into the repository, by other users. Conversely, this same process may happen in the repository when a user tries to check-in their changes. It may happen after a set of files has been branched, then a problem that existed before the branching is fixed in one branch and this fix needs merging into the other. It may happen after files have been branched, developed independently for a while and then are required to be merged back into a single unified trunk. 4

Quelques définitions 4 Tag A tag or release refers to an important snapshot in time, consistent across many files. These files at that point may all be tagged with a user-friendly, meaningful name or revision number. Import An import is the action of copying a local directory tree (that is not currently a working copy) into the repository for the first time. Export An export is similar to a check-out except that it creates a clean directory tree without the version control metadata used in a working copy. Often used prior to publishing the contents. Conflict A conflict occurs when two changes are made by different parties to the same document or place within a document. When the software is not intelligent enough to decide which change is 'correct', a user is required to resolve such a conflict. La résolution des conflits 2 way merging Diff(A,B) et choix du meilleur remplacement A mis à jour par B ou B mis à jour par A 3 way merging A, B, Parent commun diff(parent,a), diff(parent, B) Incorporation simultanée parent : Parent mis à jour par A et B Cela n évite pas tous les conflits new merging algorithm (Codeville) La solution Microsoft : Visual Source Safe Outil intégré à Visual Studio Compatible Microsoft suite Peut être transparent en.net Reconnu OK pour petits et moyens projets Peut être couplé à SourceAnyWhere en mode distant 5

SourceAnyWhere La gestion de la configuration Motivations : gestion technique qu est ce qui a changé? Relier les changements entre eux? Manipuler différentes versions de différents produits assemblés fixer les releases, vérifier la cohérence + Build management Environnement management La gestion de la configuration Motivations Organisationnelles Contrôle les modifications imposées Audit sur les modifications : Qui a fait quoi? Qu a fait qui? Assistance au travail en équipe Etude d impact en cas de découverte de bug Permettre de coordonner le processus de développement du logiciel 6

Intérêts Génie Logiciel Contrôle Méthode de suivi et d évolution de version Gestion Identification et guidage durant le cycle de vie du logiciel Economie Détection des bugs en amont, étude d impact simplifié, orientation des corrections. Qualité «La vérification automatique au fil de l eau d un processus humain conduit à une meilleure productivité» Les actions à effectuer 1/ Politique de gestion du configurateur de version 2/ Identification des Produits/Modules/SP à suivre 3/ Gestion des versions effective 4/ Validation des mises à jour 5/ Décision Release Intérêts supplémentaires Processus prévisible Plus grande flexibilité Communication entre développeurs Communication (exportation) vis-à-vis de l extérieur 7

Rational Clear Case Outil de CM d IBM Intégré à Rational + Rational Clear Quest Suivi de modif Suivi de bug Flux de soumission, de correction, de notification Versionning New Generation SubVersion (SVN) [2004] est le prolongement et l extension de CVS Réimplémentation du module de gestion Correction de lacunes de CVS (versionning de projets, renommage, commits non atomiques, liens symboliques ) Simplification d utilisation Meilleurs algorithmes de fusion Scripts aisés Nouveautés fonctionnelles Versionning des répertoires Versionning des meta-données (propriétés, droits) Branche, Label (tag), Répertoire sont identiquement gérés copy (complexité linéaire pour les opérations de gestion en taille de modifs non en taille de fichiers!) Fichier binaire (algorithme diff spécifique) Client WEB cvs2svn! 8