Ingénierie logicielle

Ingénierie logicielle

Génie logiciel

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

Sommaire

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é.[1]

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.

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é

Thématiques et domaines couverts

Les thématiques du génie logiciel recouvrent notamment :

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 (par exemple : Points-fonction)

Base de connaissance du génie logiciel

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

Outils de production utilisés 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 :

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 :

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 diplôme en génie logiciel sera amené à 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 :

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.

Notes et références

  1. Patrick Jaulent, Génie logiciel, les méthodes, Armand Colin, Paris, 1992
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « G%C3%A9nie logiciel ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Ingénierie logicielle de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • ingénierie logicielle — ● loc. f. ►SPECIF Discipline dans laquelle on cherche à produire proprement du logiciel, c est à dire avec des spécifications (assez) formelles, des schémas, de la documentation, des jolies méthodes prenant en compte les moindres détails, etc.… …   Dictionnaire d'informatique francophone

  • Ingénierie du logiciel — Génie logiciel Le génie logiciel (en anglais : software engineering) désigne l ensemble des méthodes, des techniques et des outils concourant à la production d un logiciel, au delà de la seule activité de programmation. Sommaire 1… …   Wikipédia en Français

  • Ingénierie inverse — Rétro ingénierie La rétro ingénierie (traduction littérale de l anglais reverse engineering), également appelée rétroconception, ingénierie inversée ou ingénierie inverse, est l activité qui consiste à étudier un objet pour en déterminer le… …   Wikipédia en Français

  • Ingénierie de la connaissance — Gestion des connaissances La gestion des connaissances (en anglais Knowledge Management) est l ensemble d initiatives, des méthodes et des techniques permettant de percevoir, d identifier, d analyser, d organiser, de mémoriser, et de partager des …   Wikipédia en Français

  • Exigence (Ingénierie) — En ingénierie, et plus particulièrement dans les procédures d appel d offres publiques et privées, les exigences sont l expression d un besoin documenté sur ce qu un produit ou un service particuliers devraient être ou faire. Elles sont le plus… …   Wikipédia en Français

  • Exigence (ingenierie) — Exigence (ingénierie) En ingénierie, et plus particulièrement dans les procédures d appel d offres publiques et privées, les exigences sont l expression d un besoin documenté sur ce qu un produit ou un service particuliers devraient être ou faire …   Wikipédia en Français

  • Exigence (ingénierie) — Demande de traduction Requirement → Exigence (ingé …   Wikipédia en Français

  • Retro-ingenierie — Rétro ingénierie La rétro ingénierie (traduction littérale de l anglais reverse engineering), également appelée rétroconception, ingénierie inversée ou ingénierie inverse, est l activité qui consiste à étudier un objet pour en déterminer le… …   Wikipédia en Français

  • Rétro-ingénierie — La rétro ingénierie (traduction littérale de l anglais reverse engineering), également appelée rétroconception, ingénierie inversée ou ingénierie inverse, est l activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne …   Wikipédia en Français

  • Rétro ingénierie — La rétro ingénierie (traduction littérale de l anglais reverse engineering), également appelée rétroconception, ingénierie inversée ou ingénierie inverse, est l activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”