ateliers de génie logiciel. Réalisé par: Mohamed Amine BACCAR Azhar BEJAOUI Elyes BEN KHLIFA Hichem BEN AMAR Yassine THABTI Fahmi CHAABANE Ghassen FILALI Qu'est ce qu'un atelier de génie logiciel ?
• Un AGL (Atelier de Génie Logiciel) est un logiciel aidant à la réalisation de
logiciels. Autrement dit, il s'agit d'un système pour le développement logiciel assisté par ordinateur. Un AGL intègre des outils adaptés aux différentes phases de la production d'un logiciel et facilite la communication et la coordination entre ces différentes phases Objectifs de génie logiciel • Les AGL apportent une réelle solution à certains problèmes du génie logiciel et contribuent nettement à l'amélioration de la productivité et de la qualité du logiciel. Néanmoins, cet enthousiasme doit être modéré: le processus logiciel est encore loin d'être maîtrisé et les différentes formalisations qui en sont proposées font encore l'objet de controverses, et dans tous les cas, sont bien loin d'être totalement automatisables. L'informaticien a encore de belles années de travail devant lui avant d'être supplanté par des AGL. Les outils de génie logiciel • Les AGL intègrent différents outils d'aide au développement de logiciels, appelés outils CASE: éditeurs de texte (vi, emacs, ...), de diagrammes (TRAMIS VIEW, X-fig, ...), outils de gestion de configuration (make), SGBD, compilateurs, debuggers, outils pour la mise en forme (pretty- printers), la génération de tests, la génération d'interfaces homme-machine, ... Les outils de génie logiciel • Ces différents outils interviennent lors d'une ou plusieurs phases du cycle de vie du logiciel: • conception (éditeurs de texte, de diagrammes) • programmation (éditeurs de texte, compilateurs, pretty printers, générateurs d'interfaces homme/machine...) • mise au point (debuggers, outils de génération de tests) • Certains outils, concernant notament la gestion de configurations, la gestion de projet, interviennent durant la totalité du processus logiciel. L'Evolution des ateliers de génie logiciel • Nous considerons comme une evolution normale que le logiciel devienne un produit (industriel) comme un autre, qu'il puisse faire l'objet des memes methodes de conception - etude - developpement - fabrication - homologation ... malheuresement, hormis dans un nombre restreint de domaines tres specifiques, la grande majorité des logiciels n'a pas encore atteint ce stade de maturité. L'Evolution des ateliers de génie logiciel • S'il existe un certain nombre d'applications de cette situation, il est indeniable que le progrès effectués en trente ans en matiere de conception et de realisation de logiciels sont considerables, on peut meme dire qu'aucune industrie n'a fait de tels progrés en si peu de temps. Aujourd'hui, les langages proposés au programmeurs contiennent tout les ingrédients nécessaires à l'amelioration de la qualité des logiciels produits, pour atteindre cet objectif, un effort conséquent est actuellemnt realisé sur l'amelioration des modeles d'architec tures sous-jacents qui permettent de tavailler sur un modele unifié depuis les premieres phases de specification et de conception jusqu'à l'implementation. L'Evolution des ateliers de génie logiciel • Ce modele doit permettre la generation d'applications fiables et evolutives par composition d'elements reutilisables. En outre, les ateliers de genie logiciel associés evoluent également tres rapidement afin que les informaticiens disposent de tous les moyens indispensables à une reelle industrialisation de l'informatique. Aujourd'hui, les derniers obstacles sont sans doute d'ordre methodologique et organisationnel car le developement tend a devenir de plus en plus concourant et qu'il implique des equipes de travail de plus en plus nombreuses. De plus, depuis quelque années on constate une prise de conscience du fait que la conception des logiciels n'est pas seulement l'apanage des informaticiens mais qu'elle doit resulter de cooperations interdisciplinaires impliquant notamment les utilisateurs finaux de ces logiciels. L'Evolution des ateliers de génie logiciel • bien qu'issues de l'evolution accelerée de la conception des logiciels, ces conclusions peuvent sans doute etre appliquées à de nombreux autres domaines de conception ou le poids historique des methodes et outils de travail est certes plus important que dans l'industrie logicielle mais ou l'evolution technologique peut aussi apporter de nouvelles façons de concevoir. • Les apports de génie logiciel • La division des produits en sous-ensembles et l’interchangeabilité entre eux • La division des taches et la production en flux tendu • La standarisation et l’automatisation du différents process du cycle de vie de logiciel (Développement, test, mise en production …) Les limites des ateliers de génie logiciel • la présence persistante de nombreuses erreurs dans les logiciels, même lorsque ceux-ci ont subi des cycles de vérification et de validation intenses • la difficulté extrême à faire évoluer les logiciels de grand taille • les modifications successives détruisent rapidement la structure logique (architecture) initialement mise en place, fragilisent le système et obligent à des refontes prématurées coûteuses. Les limites des ateliers de génie logiciel • Le coût des « bug » • D’après un rapport du NIST (Assesses Technical Needs of Industry to Improve Software-Testing) daté de 2002 : Le coût des erreurs et des « bugs » logiciels représente annuellement 59.5 billion de dollars. • Cette étude indique aussi – que tous les « bugs » ne peuvent être corrigés : • mais que l’evolution des outils de génie logiciel on permet d’éviter deux tiers des erreurs provenant (soit 44.62billion de dollars). Au Revoir Madame :)
Fiche Technique 8 Prevention Et Gestion Des Risques Lies Aux Pesticides Chimiques de Synthese Prevention and Management of Risks Associated With Synthetic Chemical Pesticides