Génie logiciel

Infos
Le terme génie logiciel (en anglais software engineering) désigne l'ensemble des méthodes, des techniques et outils concourant à la production d'un logiciel, au-delà de la seule activité de programmation.
Génie logiciel

Le terme génie logiciel (en anglais software engineering) désigne l'ensemble des méthodes, des techniques et outils concourant à la production d'un logiciel, au-delà de la seule activité de programmation.

Définitions

Si l'on se réfère à l'arrêté ministériel du 30 décembre 1983 relatif à l'enrichissement du vocabulaire de l'informatique , on appelle génie logiciel "l'ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi". Une définition plus pratique pourrait être la suivante : procédures, méthodes, langages, ateliers, imposés ou préconisés par les normes adaptées à l'environnement d'utilisation afin de favoriser la production et la maintenance de composants logiciels de qualité. L'appellation génie logiciel concerne l'ingénierie appliquée au logiciel informatique. Cette branche de l'informatique s'intéresse plus particulièrement à la manière dont le code source d'un logiciel est spécifié puis produit. Le génie logiciel touche au cycle de vie des logiciels. Toutes les phases de la création d'un logiciel informatique y sont enseignées : l'analyse du besoin, l'élaboration des spécifications, la conceptualisation du mécanisme interne au logiciel ainsi que des techniques de programmation, le développement, la phase de test et finalement à la maintenance. Les projets relatifs à l'ingénierie logicielle sont de l'ordre du "Programming in the large", c’est-à-dire que les projets sont généralement de grande envergure et dépassent souvent les 10 000 lignes de code. Ces projets nécessitent une équipe de développement bien structurée. La gestion de projet vient en complément naturel du génie logiciel. La norme SWEBOK du IEEE définit les champs de connaissance du génie logiciel, comme le PMBOK du PMI (Project Management Institute) le fait, pour la gestion de projet.

Les compétences et habiletés visées par le génie logiciel

- la conception et le développement de nouveaux logiciels selon les principes propres à l'ingénierie
- l'analyse des problèmes en vue de la programmation d'une solution logicielle économique
- l'établissement des objectifs quantitatifs sur le plan de la sécurité, de l'utilisation, de l'impact sur la productivité, de la maintenance, de la fiabilité ainsi que de l'adaptation et de la viabilité d'un projet logiciel d'un point de vue économique
- la mise en œuvre de solutions par des logiciels bien structurés
- la vérification des logiciels dans le respect des objectifs initiaux
- la gestion et la coordination efficace des projets logiciels et de l'équipe de développement
- l'évaluation du processus de développement et de son niveau de maturité

Les thématiques et domaines couverts

Les thématiques du génie logiciel recouvrent notamment :
- les outils et méthodes de spécification de fonctionnalités d'un logiciel
- les formalismes de modélisation (UML par exemple)
- les méthodes formelles (Méthode B par exemple)
- ...
- les outils et les méthodes de conception de logiciel
- Outil de conception, atelier logiciel,
- Ingéniérie des modèles Kermeta par exemple,
- Environnement de développement
- ...
- la génération automatique de code d'après une spécification formelle.
- l'utilisation de patrons de conception.
- l'automatisation de l'optimisation du code.

Quelques disciplines couvertes par le génie logiciel

- Gestion de la qualité du logiciel
- Architecture de haut niveau
- Architecture détaillée
- Analyse/Spécification des besoins
- Documentation logicielle
- Établissement de programme de mesure du logiciel
- Implantation de norme logicielle (ISO, IEEE)
- Connaissance dans l'application du CMM/CMMI
- Les cycles de vie du logiciel
- Optimisation des interfaces usager
- Gestion de projet
- Les métriques

La base de connaissance du génie logiciel

La base de connaissance du génie logiciel est le SWEBOK (Software Engineering Body of Knowledge) châpeauté par l'IEEE. Le SWEBOK n'est pas un guide. Il est un corpus de connaissance.

Outils de production utilisé par le génie logiciel

D'autres domaines sont connexes au génie logiciel dans la mesure où ils partagent des outils communs : description formelle du code, grammaires des langages manipulés. Ces domaines sont par exemple :
- la compilation ;
- l'interprétation de code ;
- la traduction de code d'un langage de programmation vers un autre.
- un éditeur dédié au langage de programmation
- les bibliothèques de composants
- les Outils de Planification
- un outil de Gestion de configuration pour contrôler les évolutions du code produit
- des moyens de tester pour vérifier la conformité du code produit
- des outils de génération de métriques pour caractériser la conformité du code produit

Outils de gestion en relation avec le génie logiciel

Bien que l'on passe du génie de la production à celui de la décision, ces domaines ont un impact tellement important sur l'activité de génie logiciel qu'ils doivent être mentionnés :
- La gestion de la qualité permet de contrôler l'organisation de la production du code.
- La qualité repose sur des méthodes.
- Le management est un modèle et un moyen humain qui a pour but d'améliorer la production.

Les professions du génie logiciel

Le titulaire d'un diplôme dans ce domaine peut exercer dans les diverses professions suivantes :
- Ingénieur en logiciel
- Ingénieur au niveau conception de logiciel
- Ingénieur en informatique

Quelques exemples d'employeurs potentiels

Le titulaire d'un diplome en génie logiciel sera amené a travailler un peu partout où le développement de logiciel sera nécessaire, voici quelques exemples d'employeurs pouvant avoir besoin de personnels spécialisé dans le génie logiciel :
- Les firmes d'ingénieurs
- Les sociétés de services en ingénieurie informatique (SSII)
- Les éditeurs de logiciels
- Les institutions gouvernementales

Bibliographie

- Strohmeier A., Buchs D., Génie logiciel: principes, méthodes et techniques, Lausanne, PRESSES POLYTECHNIQUES ET UNIVERSITAIRES ROMANDES, 1996.
- SWEBOK: Software Engeneering Body Of Knowledge, norme IEEE, 2004. Voir SWEBOK. Catégorie:Génie logiciel Catégorie:Gestion de projet Catégorie:Ingénierie Catégorie:Développement logiciel af:Sagteware-ingenieurswese ar:هندسة البرمجيات ast:Inxeniería del software bs:Softverski inžinjering ca:Enginyeria de programari cs:Softwarové inženýrství da:Softwareudvikling de:Softwaretechnik en:Software engineering es:Ingeniería de software fa:مهندسی نرم‌افزار fi:Ohjelmistotuotanto ga:Innealtóireacht bogearraí gl:Enxeñaría de software he:הנדסת תוכנה hr:Programsko inženjerstvo id:Rekayasa perangkat lunak is:Hugbúnaðarverkfræði it:Ingegneria del software ja:ソフトウェア工学 ko:소프트웨어 공학 lt:Programų inžinerija lv:Programminženierija nl:Software Engineering no:Programvareutvikling pl:Inżynieria oprogramowania pt:Engenharia de software ru:Разработка программного обеспечения sk:Softvérové inžinierstvo sr:Инжењеринг софтвера su:Rékayasa software sv:Programvaruutveckling ta:மென்பொருட் பொறியியல் th:วิศวกรรมซอฟต์แวร์ tl:Software engineering tr:Yazılım mühendisliği vi:Công nghệ phần mềm zh:软件工程
Sujets connexes
Atelier de génie logiciel   Capability Maturity Model Integration   Code source   Compilateur   Composant   Conception de logiciel   Documentation logicielle   Fonction (informatique)   Gestion de configuration   Gestion de la qualité   Gestion de projet   Grammaire formelle   Informatique   Kermeta   Langage de programmation   Logiciel   Management   Modèle   Méthode B   Méthode de travail   Métrique (logiciel)   Organisation internationale de normalisation   Outil   Patron de conception   Planification   Project Management Body of Knowledge   Project Management Institute   SWEBOK   Spécification   Test (informatique)  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^