SUPPORT DE COURS DE GENIE LOGICIEL François Xavier LUMINGU THAMBA. Licencié en

SUPPORT DE COURS DE GENIE LOGICIEL François Xavier LUMINGU THAMBA. Licencié en Sciences Informatiques Cours dispensé à l’université de l’alliance chrétienne en Première Licence sciences Informatiques. ANNEE ACADEMIQUE 2019 – 2020 GENIE LOGICIEL L1 UAC 2020-2021 OBJECTS DU COURS Ce cours a pour objectif principal, d’initier les étudiants, à la conception des applications informatiques de façon systématique (méthodique) et reproductible (rééditable); en les incitant à rechercher et établir les fonctionnalités d'une application, et à les modéliser sous forme de cas d'utilisation et de scénarios ainsi que rechercher les classes et les acteurs nécessaires à la conception de l'application. Et, D’une façon spécifique ce cours vise à :  Procurer à l’étudiants de la première licence, les bonnes pratiques de conception, comme l'utilisation de patron de conception (design pattern), le découpage en couches de l’architecture, la structuration en paquetages et le maquettage ;  Maîtriser des techniques de génie logiciel, en se focalisant sur les approches par objets et par composants ;  Exposer les principaux courants de pensées en matière de développement logiciel.  Proposer un ensemble de pratiques pragmatiques qui permettent de survivre à un projet de développement de logiciel. Mode d’intervention Le cours sera dispensé sous forme d’exposé oral et travaux pratiques qui seront exécutées sur des machines fonctionnant dans un environnement Windows. Chaque étudiant qui aura suivi ce cours doit à la fin du cours être à mesurer de présenter et défendre un projet de site web statistique selon un thème bien précis. Mode d’évaluation L’évaluation sera faite sur base de la présence, la participation au cours, les travaux pratiques, les interrogations, examen écrit et le projet à défendre. 2 | P a g e Cours de Génie Logiciel Par Ass LUMINGU THAMBA FRANCESCO GENIE LOGICIEL L1 UAC 2020-2021 CHAPITRE 1: INTRODUCTION AU GENIE LOGICIEL 1. Introduction Pourquoi le Génie logiciel?  Les économies de tous les pays développés dépendent sur des logiciels.  De plus en plus, les systèmes sont pilotés par des logiciels  Le génie logiciel est intéressé par les théories, les méthodes et les outils de développement des logiciels professionnels.  Les dépenses sur les logiciels représentent une fraction significative du PNB (Le produit national brut) de tous les pays développés. Les coûts des logiciels  Les coûts des logiciels dominent souvent les coûts d’un système informatique. Les coûts des logiciels sur un ordinateur sont souvent plus élevés que le coût du matériel.  Logiciel coûte plus cher à maintenir que d'en développer. Pour les systèmes avec une longue durée de vie, les coûts de maintenance peuvent être de plusieurs fois des coûts de développement.  Le génie logiciel est préoccupé par le développement de logiciels rentables. Échec du projet logiciel  Accroissement de la complexité du système:  Au fur et à mesure que de nouvelles techniques d'ingénierie logicielle nous permettent de construire des systèmes plus grands et plus complexes. Les systèmes doivent être construits et livrés plus rapidement; doivent avoir de nouvelles capacités qui auparavant étaient considérées comme impossibles.  Défaut d'utiliser les méthodes d'ingénierie logicielle:  Il est assez facile d'écrire des programmes informatiques sans utiliser de méthodes et de techniques d'ingénierie logicielle. Beaucoup d'entreprises ont dérivé du développement de logiciels à mesure que leurs produits et services ont évolué. Ils n'utilisent pas les méthodes d'ingénierie logicielle dans leur travail quotidien. Par conséquent, leur logiciel est souvent plus coûteux et moins fiable qu'il ne le devrait être. 3 | P a g e Cours de Génie Logiciel Par Ass LUMINGU THAMBA FRANCESCO GENIE LOGICIEL L1 UAC 2020-2021 2. Histoire du Génie Logiciel Naissance du Génie Logiciel  La notion de «Génie Logiciel» a été proposé en 1968 lors de la conférence «Garmisch-Partenkirchen, Germany, 7th to 11th October 1968 » pour discuter de ce qui était alors appelé la «Crise du Logiciel».  Il est devenu clair que les approches individuelles au développement du programme n’ont pas pu développer les grands et complexes systèmes logiciels et qui restent:  non fiables et ne satisfont pas leurs cahiers des charges  coûtent plus chers que prévu,  et ont été livrés en retard.  Tout au long des années 1970 et 1980, une variété de nouvelles techniques et méthodes de génie logiciel ont été développés. Outils et notations standards ont été élaborés et sont maintenant largement utilisés.  L’initiative viendra de la division des affaires scientifiques de l"OTAN (NATO)1, qui organise en octobre 1968 sur la suggestion de F. L. Bauer, professeur à l’université technique de Munich, une conférence de travail sur les difficultés de la production de logiciel et les moyens de les surmonter.  Intitulée WorkingConference on Software Engineering, elle est considérée comme l"événement fondateur de cette nouvelle discipline et c"est elle qui popularise le terme de software engineering, traduit en français par « génie logiciel ».  Bauer donne la définition suivante du terme GL : “Establishment and use of sound engineering principles to obtaineconomically software thatisreliable and works on real machines efficiently” Objectifs du Génie Logiciel  Le génie logiciel (software engineering) est une science de génie industriel qui étudie les méthodes de travail et les bonnes pratiques des ingénieurs qui développent des logiciels. Le génie logiciel s'intéresse en particulier aux 4 | P a g e Cours de Génie Logiciel Par Ass LUMINGU THAMBA FRANCESCO GENIE LOGICIEL L1 UAC 2020-2021 procédures systématiques qui permettent d'arriver à ce que des logiciels de grande taille correspondent aux: - attentes du client, - soient fiables, - aient un coût d'entretien réduit et - de qualité et de bonnes performances tout en respectant les délais et les coûts de construction. Le génie logiciel est préoccupé par le développement des logiciels professionnels rentables. 3. Développement de logiciel professionnel Qu’est-ce que le génie logiciel ?  Définition 1: « Le génie logiciel est une discipline d'ingénierie qui s'occupe de tous les aspects de la production de logiciels ». Le génie logiciel est intéressé par les théories, les méthodes et les outils de développement de logiciels professionnels.  Définition 2: selon l'arrêté du 30 décembre 1983: « ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationaliser la production du logiciel et de son suivi »  Définition 3: « Le génie logiciel est un domaine des sciences de l’ingénieur dont l’objet d’étude est la conception, la fabrication, et la maintenance des systèmes informatiques complexes». 5 | P a g e Cours de Génie Logiciel Par Ass LUMINGU THAMBA FRANCESCO GENIE LOGICIEL L1 UAC 2020-2021 Qu’est-ce qu’un système ?  Définition 1: ensemble d'éléments en interaction dynamique, dont les éléments sont organisés et coordonnés en vue d'atteindre un objectif, qui évolue dans un environnement.  Definition 2: Un système est un ensemble d’éléments interagissant entre eux suivant un certains nombres de principes et de règles dans le but de réaliser un objectif.  L’environnement est la partie du monde extérieure au système. Un système est souvent hiérarchisé à l’aide de sous-systèmes.  Un système complexe se caractérise par :  sa dimension, qui nécessite la collaboration de plusieurs personnes;  son évolutivité.  Exemples : Une fourmilière, l’économie mondiale, le noyau Linux, . . .  De plus en plus, les systèmes sont pilotées par des logiciels Qu’est-ce qu’un logiciel ?  Définition 1: Les programmes informatiques et la documentation associée. Les produits logiciels peuvent être développés pour un client particulier ou peuvent être développés pour un marché général.  Définition 2: « Un logiciel est un ensemble d’entités nécessaires au fonctionnement d’un processus de traitement automatique de l’information». Parmi ces entités, on trouve par exemple : - des programmes (en format code source ou exécutables); - des documentations d’utilisation; - des informations de configuration.  Définition 3: selon l'arrêté du 22 décembre 1981: ensemble des programmes, procédés et règles, et éventuellement de la documentation, relatifs au fonctionnement d'un ensemble de traitements de l'information. 6 | P a g e Cours de Génie Logiciel Par Ass LUMINGU THAMBA FRANCESCO GENIE LOGICIEL L1 UAC 2020-2021 Les produits logiciels  Les produits génériques: - Systèmes autonomes qui sont commercialisés et vendus à un client qui souhaite les acheter. - Exemples : logiciel de PC tels que les programmes graphiques, les outils de gestion de projet; les logiciels de CAO; logiciels pour des marchés spécifiques tels que les systèmes de rendez-vous pour les dentistes.  Les produits commandés (ou sur mesure, personnalisés): - Le logiciel qui est commandé par un client spécifique pour répondre à leurs propres besoins. - Exemples: systèmes embarqués de contrôle, logiciel de contrôle du trafic aérien, les systèmes de surveillance (monitoring) du trafic. Spécification du produit 7 | P a g e Cours de Génie Logiciel Par Ass LUMINGU THAMBA FRANCESCO GENIE LOGICIEL L1 UAC 2020-2021  Les produits génériques: - La spécification de ce que le logiciel doit faire est détenue par le développeur du logiciel et les décisions de modification (changement) sur les logiciels sont faites par le développeur.  Les produits sur mesure: - La spécification de ce que le logiciel doit uploads/Ingenierie_Lourd/ cours-gl-uac-l1-2019.pdf

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