Génie logiciel - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Le génie logiciel (anglais software engineering) est une science qui étudie les méthodes de travail des ingénieurs qui développent des logiciels. Il s'intéresse en particulier aux procédures qui permettent d'obtenir de manière régulière des logiciels de bonne qualité dans le respect des délais, du budget et du cahier des charges. Il s'intéresse également à l'application des principes du génie au développement de logiciels.

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 [Journal officiel du 19 février 1984], 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 les 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 Project Management Body of Knowledge (PMBOK) du Project Management Institute (PMI) le fait, pour la gestion de projet.

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
  • 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.

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é
Page générée en 0.083 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise