INSTITUT SUPERIEUR TECHNIQUE D’INFORMATIQUE APPLIQUEE Cours de Génie Logiciel (

INSTITUT SUPERIEUR TECHNIQUE D’INFORMATIQUE APPLIQUEE Cours de Génie Logiciel (destiné aux étudiants de L1 Informatique de Gestion) (75 heures) Prof. Dr. Boni KIBAMBE MUTAMBA Assistant Bonaventure LOTOLA ILA 2013 - 2014 1 Cahier de charges 1. Objectif du Cours L’enseignement du cours de Génie Logiciel a pour objectif de préparer l’étudiant aux travaux de conception, d’analyse, de production des logiciels et d’implémentation des systèmes à l’échelle industrielle selon la position dans le secteur informatique qu’il occupera : maître d’ouvrage ou maître d’œuvre. 2. Pré-requis - Avoir maîtrisé les outils de développement tant dans l’environnement classique qu’orienté objet ; - Avoir maîtrisé les méthodes fondamentales d’analyse et de conception des systèmes d’information ; - Avoir les notions de conduites de projets informatiques. 3. Méthodologie Ce cours, qui est articulé en huit chapitres, se donne en exposés magistraux du premier au troisième chapitre. Tandis qu’à partir du quatrième jusqu’au huitième chapitre quant à eux, seront consacrés plus aux exercices pratiques. 4. Evaluation L’année académique 2013-2014 sera sanctionnée par six travaux pratiques, une interrogation et un examen écrit. 5. Autres informations Contact Courriel : boni630@gmail.fr Téléphone : 085 414 0402 2 Plan du Cours Chap.1. Généralités I.1. Définition I.2. Objectifs I.3. Etat des lieux du Génie Logiciel I.4. Caractéristiques I.5. Principales branches de génie logiciel I.6. Conclusion partielle (Thème de l’Etudiant) Chap. II. Principes fondamentaux du Génie Logiciel II.1. La rigueur II.2. La séparation des problèmes II.3. La modularité II.4. L’abstraction II.5. L’anticipation du changement II.6. La généricité II.7. La construction évolutive II.8. Conclusion partielle (Thème de l’Etudiant) Chap. III. Modèles de cycle de vie III.1. Introduction III.2. La modélisation d’un processus III.3. Concepts III.4. Démarche III.5. Modèle de cycle de vie III.5.1. Selon les étapes de cycle de vie III.5.2. Selon les approches visées III.6. Conclusion partielle (Thème de l’Etudiant) Chap. IV. Développement et tests des logiciels IV.1. Théorie sur le développement des logiciels IV.2. Test des logiciels IV.2.1. Définition de test du logiciel IV.2.2. Classification des méthodes de test IV.2.2.1. Test statique IV.2.2.2. Test dynamique IV.2.2.2.1. Test structurel (boîte blanche) IV.2.2.2.2. Test fonctionnel (boîte noire) IV.3. Conclusion partielle (Thème de l’Etudiant) Chap. V. Les Techniques de conception V.1. Introduction V.2. Modules et relation V.3. Approches orientées Bases de données V.3.1. Approches fonctionnelles V.3.2. Approches Objet V.3.3. Conclusion partielle (Thème de l’Etudiant) 3 Chap. VI. Les Techniques de spécification VI.1. Introduction VI.2. Les style de spécification VI.3. Les techniques de spécification pour les phases d’analyse VI.3.1. Spécification en langages ordinaires VI.3.2. Spécification en langages informatiques VI.3.3. Diagrammes à flots de données (DfD) VI.3.4. Machines à états finis VI.3.5. Réseaux de Pétri VI.3.6. Schémas Entités/Association (ou Entité/Relation) VI.3.7. Conclusion partielle (Thème de l’Etudiant) Chap. VII. Maintenance des logiciels VII.1. Définition VII.2. Type de maintenance de logiciel VII.3. Mesure de fiabilité d’un logiciel Chap. VIII. La Gestion des coûts et des délais VIII.1. Notion de gestion de projet VIII.2. Détermination des charges en génie logiciel VIII.3. La planification 4 Bibliographie A. Ouvrages 1. A.U. Tansel, J. Clifford, S. Gadia, S. Fajodia, A. Segev, R. Snodgrass, “Temporal Databases: Theory, Design and Implementation”, Benjamin Cumings, 1993. 2. F. Van ASSCHE, B. MOULIN, C. ROLAND: “Object Oriented Approach in Is”, North Holland, 1991 3. G. BOOCH : « Analyse et conception orientées objet », Nouvelle édition entièrement refondue, Addison-Wesley, 1995 4. Gouarné et Jean-Marie, Le projet décisionnel, Eyrolles, 1998 5. Jacques Lonchamp, Génie Logiciel, Ed. CNAM, 2003 6. Marée, Christian et Ledant, Guy. SQL 2 : initiation, programmation. Dunod, 1999 7. X. CASTELLANI : « Méthode générale d’analyse et de conception des systèmes d’objet », Tome I : Ingénierie des besoins, Masson, 1993. B. Autres documents 1. First Conference on Requirements Engineering, IEEE Soft COF. COLORADO Spring, USA, 1994 2. J. BRUNET : « Analyse conceptuelle orientée objet », Thèse de Doctorat de l’Université Paris VI, mars 1993. 3. Journée de synthèse : « L’unification des méthodes orientées objet OMT, BOOCH, etc.», Afcet, Paris, septembre 1995. 5 Chapitre I. Généralités I.1. Définition Le Génie logiciel est un ensemble des règles, des méthodes, des contraintes et des standards à observer pour une programmation industrielle qui se traduit par une production collective de système logiciel et sanctionné par un train de documents. Notez aussi qu’actuellement, les économies du monde dépendent des génies logiciels ou des logiciels. I.2. Objectifs du génie logiciel Le génie logiciel se préoccupe de certains concepts de base dans la fabrication des logiciels de façon à s’assurer que les quatre critères suivants soient respectés (CQFD = Coût, Qualité, Fonctionnalité et Délais) : Fonctionnalité : On parle de la fonctionnalité ou du logiciel fonctionnel, quand le système répond aux désirs et aux attentes de l’utilisateur. Qualité : On parle de la qualité quand le système correspond aux termes du contrat de service initial. Validité : aptitude d’un logiciel à réaliser exactement les tâches définies dans les spécifications. Fiabilité : aptitude d’un logiciel à assurer de manière continue le service attendu. Robustesse : aptitude d’un logiciel à fonctionner même dans les conditions difficiles. Réutilisabilité : aptitude d’un logiciel à être réutilisé en tout ou partie. Extensibilité : facilité d’adaptation d’un logiciel au changement des spécifications. Compatibilité : aptitude d’un logiciel à pouvoir être combiné aux autres. Efficacité : aptitude d’un logiciel à bien utiliser les ressources matériels telles que la mémoire et la puissance de l’unité central. Portabilité : facilité à être porté sur des nouveaux environnements matériels ou logiciel. Traçabilité : capacité à identifier ou à suivre un élément du cahier de charge lié à un composant logiciel. Vérifiabilité : facilité de préparation de procédure de certification. 6 Intégrité : aptitude d’un logiciel à protéger ses différents composants contre des accès ou modification non autorisés. Coût : les coûts doivent rester dans les exigences prévues dans le cahier de charge ou dans les contrats de service initial. Délais : les délais doivent rester dans les limites prévues au cahier de charge ou dans le contrat de service initial. I.3. Etat de lieu du génie logiciel Vers les années 1970, le G.L. a été évoqué « pour répondre à la crise du logiciel » et cette crise est apparue lorsqu’on a pris conscience que le coût du logiciel dépassait largement le coût des matériels. Un autre symptôme de cette crise se situait dans la qualité de système produit. Les risques humains et économiques ont été très importants comme nous allons les illustrer ci-après : Projet TAURUS : est un projet d’informatisation de la brousse londonienne qui a été abandonné définitivement quatre ans après le travail. Conséquence : cet abandon a généré une perte de 100.000.000£ ; Mission Venus : passage à 5.000.000Km au lieu de 5.000Km à cause du remplacement d’une virgule par un point ; Mauvais pilotage automatique de la commande d’une bombe au cobalt en milieu hospitalier, six morts ; La non différenciation entre un avion civil et un avion militaire dans la guerre de golf : un air bus iranien a été abattu où l’on a dénombré 280 morts. 7 50 60 70 80 90 200 100 50 0 Figure n°1 Ce qui a amené aussi le Cabinet de Conseil en Technologie de l’Information « Standish Group International » à faire des études et statistiques où il a été constaté que : - en 1995, un tableau accablant et sombre s’était dessiné sur la conduite des projets informatiques. Sur un échantillon représentatif des 365 entreprises, totalisant 8380 applications, ce dernier donnait : o 16,2% seulement des projets étaient conformes aux prévisions initiales ; o 52,7% avaient subi des dépassements en coût et délai d’un facteur de 2 à 3 avec diminution du nombre des fonctions offertes ; o 31,1% ont été abandonnés durant leurs développements. - en 2002, les pannes causées par des problèmes logiciels ont coûté aux entreprises du monde entier une perte évaluée à 175 milliards de dollars. La solution envisagée pour répondre à cette avalanche de crises était l’industrialisation de la production du logiciel entre autre, l’organisation des procédés de production (cycle de vie, méthodes, outils et notation). Malgré tout cela, le génie logiciel est le seul domaine de l’ingénierie en technologie (science de l’ingénierie) qui est resté en marge quant à la formalisation et à la codification (guerre des méthodes) par rapport à d’autres domaines de science de l’ingénierie, à l’instar du génie civil et génie chimique. Cela est causé par sa nature, le logiciel est immatériel c'est-à-dire il est très facile à modifier, à manipuler pendant son développement, ses aspects sont difficiles à être figés et surtout à être gérés. Aussi, nous pouvons évoquer d’autres causes, telles que : - les défaillances et les imperfections générées par la nature humaine ; un logiciel, quand il atteint le cycle ou la phase de sénilité, il est appelé obsolète parce qu’il a perdu ses qualités face à sa durée de vie. 8 Néanmoins, avec le génie logiciel plusieurs reformes ont été inventoriées. Ex : la base de données Sybase donne actuellement 80 HA ; le système UNIX donne actuellement 70 HA ; le compilateur C donne 10 HA avec ± 30 KLS uploads/Ingenierie_Lourd/ cours-de-genie-logiciel-2013-2014-isp.pdf

  • 50
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager