P. Collet1 Environnement de Programmation Philippe Collet Licence 3 Informatique 2007-2008.

Slides:



Advertisements
Présentations similaires
Intégration de logiciels Open-Source dans un ordinateur simplifié basé sur Linux Stage du 6 avril au 30 juin 2006.
Advertisements

Active Directory Windows 2003 Server
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Etat d'avancement ORI-OAI Interaction avec les ENT.
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Validation des Systèmes Informatisés Industriels
Bienvenue dans le programme de formation rapide à NSIS Date : 20 novembre 2003 Intervenant : Julien VICTOR Interlocuteurs : Ingénieurs 2000 Informatique.
Concurrent Version System
Module 3 : Gestion et analyse du service DHCP
Module 6 : Gestion et analyse du système DNS
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Tests et Validation du logiciel
Les Ateliers de Génie Logiciel
Simulateurs de réseaux Ns-3 et Ns-2.
Les outils d’intégration continue
Active Directory Windows 2003 Server
MRP, MRP II, ERP : Finalités et particularités de chacun.
Démarche Analyse des OGL et des Méthodes Objectifs : Activités :
Etude des Technologies du Web services
Subversion un logiciel libre de gestion de configuration
Introduction au Génie Logiciel
N. Le Gall A. Jaouën E. Morin C. Coelo Cuzon D. Le Toux
par Bernard Maudhuit Anne-Marie Droit
Lycée Louis Vincent Séance 1
Les plates-formes intégrées de gestion de développement, lexemple de GForge Florent Guilleux, Comité Réseau des Universités TutoJRES 01, Juin 2006.
Le SMS à votre service Comment utiliser facilement la puissance du SMS … Robert MASSE (KLUGHER.COM)
Concurrent Versatile Versions
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 2 : Préparation de l'analyse des performances du serveur
Conception des Réalisé par : Nassim TIGUENITINE.
27 juin Formation à lutilisation dun client Subversion Vincent Carpier Florent Guilleux Paris, 27 Juin 2007.
Subversion.
Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.
Module 1 : Installation de Microsoft Windows XP Professionnel
Gestion de configuration Linux avec etckeeper
De CVS à SVN Xavier Baril. (C) Xavier Baril2 Plan Origine Apports de SVN Reprise des concepts CVS Quelques différences Conclusion.
Introduction à la gestion de configuration avec CVS
Audit de réseau. Audit réseau Responsable : Jean-François RODRIGUEZ Objectif : tester les failles d’une machine ou d’un réseau Outil : nessus Audit réseau.
Nouvelles technologies de système de fichiers dans Microsoft Windows 2000 Salim Shaker Ingénieur de support technique Support technique serveur Microsoft.
Pourquoi est-il nécessaire d'installer de nouveaux logiciels sur votre ordinateur ? J'exclus de cette présentation l'installation de nouveaux matériels.
Subversion, un outil de gestion de version
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Supports de formation au SQ Unifié
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
08 Avril 2010 Versionnement de CODE (Subversion SVN et USVN) CATI Ecoinformatique le 08/04/2010.
ENGIMA.
Cours de programmation web
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
INF8505: processeurs embarqués configurables
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction au Génie Logiciel
Arbre GénéalogiqueDiagramme de Classes Comment la visualisation d’une hiérarchie de classes facilitera le travail de notre client ?
Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau.
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
Initiation à la conception des systèmes d'informations
Groupe 3 De Greef Didier Oozeer Tommy Piette Marc Renard Guy
AFPA CRETEIL 14-1 Windows NT Environnement des utilisateurs Chapitre 14.
L’enseignement de spécialité SLAM
SNMP Simple Network Management Protocol
3.3 Communication et réseaux informatiques
Introduction aux outils de supervision
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Subversion.
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
PARTIE B: Systèmes de contrôle de révisions Plusieurs acteurs sur un même projet Projets distribués Entremêlement des préoccupations Entremêlement des.
Analyse, élaboration et exploitation d’une Base de Données
1Boulogne Informatic Club PRESENTATION DE WINDOWS 10.
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Projet Personnel (Epreuve 6) Projet réalisé dans le cadre de mon épreuve E6 au sein de mon alternance au conseil départemental du val de marne Arnaud PICANO.
Framework de reconstruction et d’analyse pour Micromegas Jean Jacquemier 27 janvier 2008.
Transcription de la présentation:

P. Collet1 Environnement de Programmation Philippe Collet Licence 3 Informatique

P. Collet2 Génie logiciel : organisation générale Analyse et Conception Orientée objets Spécifications Spec. OO Environnement de Programmation (outils pour le Génie Logiciel) Génie Logiciel et supports de Programmation Design Patterns, Réflexivité, Tests OO…

P. Collet3 Organisation (suite) Envt de Prog. : 6 cours / 6 TP machine Introduction Gestion de versions et de configurations Construction de programmes, Makefile Création et utilisation de bibliothèques Qualités du logiciel, Documentation Analyse de performances Principes de V&V Tests (principes, organisation, tests unitaires, couverture) Débogage, profilage mémoire et trace Conclusion Évaluation 1 TP à rendre (30 %) Examen final (70 %)

P. Collet4 Introduction Pourquoi ? Génie logiciel : définition(s) Pourquoi cest difficile ?

P. Collet5 Pourquoi le Génie logiciel ? pour passer du développement logiciel ad hoc et imprévisible à un développement logiciel systématique et réfléchi

P. Collet6 Génie logiciel : historique Réponse à la crise du logiciel, il y a 30 ans Conférence OTAN 1968

P. Collet7 La crise du logiciel Grosses erreurs : Les sondes perdues (Vénus dans les années 60, Mars en 99) La fausse attaque de missiles (1979) Les missiles Patriotes (1991) 1er vol dAriane 5 (1996) Laéroport de Denver ( ) Lan 2000 Un incident tous les mois… Les régulateurs de vitesse La bourse de Tokyo Les projets logiciels ne livrent pas le produit dans les temps coûtent beaucoup plus chers que prévu. délivrent un produit de qualité très faible échouent dans la majorité des cas !!! Étude américaine de 1995 : 81 milliard $ / an en échec

P. Collet8 Pourquoi ne construit-on pas les logiciels comme on construit des ponts ? Génie civil Échecs moins nombreux L écroulement est grave et met en danger l utilisateur On ne répare pas un pont « buggé », on reconstruit un pont qui sécroule. On inspecte tous les ponts construits sur le même modèle Les ponts résistent à toutes les conditions (à 99 %...) Génie logiciel Échecs très nombreux Crash système pas considéré comme inhabituel Cause du bug pas directement identifiable Dommages mineurs A part dans les systèmes critiques, on considère que le logiciel ne peut anticiper TOUTES les situations Différence d approche face à l échec, face aux pannes

P. Collet9 Pourquoi ne construit-on pas les logiciels comme on construit des ponts ? Génie civil Plusieurs milliers d années d expérience dans la construction des ponts Les ponts sont des systèmes continus et analogiques On repeint un pont, on change l enrobée de la route… On ne reconstruit pas la moitié d un pont Génie logiciel Les systèmes informatiques se complexifient trop vite Les logiciels passent pas des états discrets, dont certains ne sont pas prévus Ajouts, changements de fonctionnalités, de plates- formes... Différence dans la complexité et dans la maintenance

P. Collet10 Liste (non-exhaustive) des problèmes Productivité Coûts et délais Simplicité Uniformité, orthogonalité, unicité, normalisation Communication H/M Ergonomie, interactivité, multimédia, simplicité, rapidité, documentation (contextuelle) Fonctionnels Étendue et pertinence des services, fiabilité (correction, robustesse)

P. Collet11 Liste des problèmes (suite) Matériau Logiciel, structure, langage, modularité… Organisation Gestion de projet visibilité, protections, contrôles Réalisme Adéquation aux besoins, évolutivité Économique Réutilisabilité, transportabilité Diversité BD, IA, Calcul, Parallélisme, Réseau, Internet, intranet Divers Juridique, psychologique

P. Collet12 Génie logiciel : définition (ou presque) Discipline (= méthodes, techniques et outils) basée sur le savoir (théorique) le savoir-faire (pragmatique) et le faire savoir (communication) pour produire(développement) de façon industrielle(taille, diffusion) des logiciels(= les produits) de qualité au meilleur prix...

P. Collet13 Génie logiciel : les besoins Langagespour décrire Outilspour manipuler Méthodespour décider Théories pour démontrer Professionnelspour réaliser Logistiquepour supporter

P. Collet14 Gestion de version et de configuration Introduction à SVN

P. Collet15 Motivations Quand on modifie des sources : Des bugs apparaissent parfois (souvent !) On pourrait sauver chaque version de chaque fichier modifié… Ou ne stocker que les différences ! Et quand on est plusieurs à modifier Savoir qui modifie quoi Ne rien écraser Fusionner si on modifie à plusieurs

P. Collet16 Principe de la différenciation Outil diff Différences entre 2 fichiers daprès Ligne de début/de fin Insertion/Suppression dune ou plusieurs lignes Facilité de détection et de construction dun patch Pas de détection des lignes modifiées Traitées comme suppression + insertion

P. Collet17 Historique SCCS (livré avec Unix dès Vx, Bell labs programmer workbench, fusionné en 1983) Delta descendant RCS (W. Tichy 1985) Delta ascendant CVS (B. Berliner 1989) WinCVS Support dans beaucoup denvironnements…

P. Collet18 Historique (suite) Subversion (subversion.tigris.org) La relève de cvs Bonne gestion des modifications de larborescence des répertoires Installation et maintenance simplifiée Nombreuses interfaces graphiques ou intégrations dans les IDE Visual Source Safe The Microsoft Way ClearCase (Rational) Lusine de gestion de traçabilité

P. Collet19 Ce que SVN nest pas… Un système de construction (makefile, ant…) Un système de gestion de projet (Ms-project) Un substitut à la communication entre développeurs (ex: conflit sémantique) Un système de contrôle du changement (bug- tracking, ChangeLog) Un système de tests automatisés Un système fondé sur un processus particulier

P. Collet20 Commande(s) SVN svn subcommand [switches] [cmd_args] Commande de base coté client subcommand : obligatoire switches : options spécifiques à la sous-commande cmd_args : arguments de la sous-commande svn checkout subv svnadmin subcommand [switches] [cmd_args] Administration de la base

P. Collet21 Base (ou dépôt) svn Locale (accéder directement par le client) : file:// Accédée à travers Apache 2 (WebDAV) encryption) Accédée par le protocole spécifique « svn » (possibilité de passer par ssh) svn://(nécessitée davoir un serveur svnserve) svn+ssh://identique à svn://, mais tunneling ssh (et pas de serveur)

P. Collet22 Administrer une base SVN Créer une base SVN svnadmin create /chemin/vers/referentiel Par défaut format de stockage FSFS (autre format Berkeley-DB moins performant, conservé pour compatibilité) référentiel create administrateur conf : répertoire des fichiers de config dav : répertoire spécifique à mod_dav_svn db : les données (pas directement « lisibles ») format : un fichier avec un seul entier donnant le numéro de version des hooks de traitement hooks : répertoire des scripts de hook locks : répertoire des verrous de subversion README.txt : des infos sur les autres répertoires

P. Collet23 Administrer une base SVN Au sein d'une base se trouvent un ou plusieurs projets. À chaque projet correspond en général un répertoire situé à la racine du dépôt et qui contient lui-même les fichiers et dossiers du projet. Organiser les répertoires : référentiel create administrateur --+--/batchxsl--+--/trunk | +--/branches | +--/tags Tronc de larborescence Branches de travail svn copy trunk branches/my-branch Versions taggées

P. Collet24 Importer des sources svn import rep_local /chemin/vers/referentiel [options] svn import myTree file:///usr/local/svn/newrepos/batchxsl/trunk -m "Initial import" référentiel import utilisateur 1 Fichiers locaux Fichiers dans un projet

P. Collet25 Récupérer une copie locale des sources svn checkout chemin/vers/referentiel/et/projet [options] svn checkout référentiel utilisateur 1 checkout utilisateur 2 copie locale copie locale modifications 1 modifications 2

P. Collet26 Propager ses changements Mettre à jour par rapport à la base Propagation de vos changements svn commit Récupération de nouvelles mises à jour svn update référentiel utilisateur 1 utilisateur 2 copie locale copie locale modifications 1 modifications 2 commit update mise à jour fusion (travail sur le même fichier) conflit (travail sur le même endroit du même fichier) update

P. Collet27 Signification des sorties SVN pour update et checkout U file : votre répertoire a été mis à jour A file : fichier ajouté à votre copie privée, sera propagé après commit D file : fichier effacé… définitivement après commit C file : conflit détecté lors de fusion G file : fusion effectuée (car pas de conflit)

P. Collet28 Quelques commandes et options Ajouter un fichier/répertoire : svn add + commit Retirer un fichier/répertoire : svn delete + commit Copie des fichiers/répertoires : svn copy + commit Déplacer des fichiers/répertoires : svn move + commit

P. Collet29 Quelques commandes et options (suite) Liste des répertoires dans le référentiel : svn list Affichage des messages de commit : svn log Mes modifications locales (pas de connection au référentiel) : svn status Visualiser les différences : svn diff Revenir en arrière (undo) : svn revert Indiquer quun conflit est résolu sur un fichier : svn resolved sandwich.txt

P. Collet30 Plein dautres choses… Cf. refcard Les outils graphiques aident à rendre tout cela vivable RapidSVN (multi-plateformes) TortoiseSVN (très bonne intégration dans Windows) Les supports des environnements de développement (Eclipse : très bon support)

P. Collet31 Références The SVN Book (en téléchargement, licence GPL) Source dinformation