Présentation

Article

1 - CONTEXTES ÉCONOMIQUE ET TECHNIQUE

2 - MODÈLE DE DÉVELOPPEMENT ET CYCLE DE VIE

3 - OUTILS ET ATELIERS DE GÉNIE LOGICIEL

4 - CONCEPTION ET ARCHITECTURE DES LOGICIELS

5 - PROGRAMMATION ET TESTS

6 - MANAGEMENT DES PROJETS LOGICIELS

7 - MÉTHODES ÉMERGENTES

8 - CONCLUSION – L’AVENIR DU GÉNIE LOGICIEL

| Réf : H3208 v1

Programmation et tests
Génie logiciel

Auteur(s) : Jacques PRINTZ

Date de publication : 10 févr. 1997

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Auteur(s)

  • Jacques PRINTZ : Ancien élève de l’École centrale des arts et manufactures - Professeur titulaire de la chaire de Génie logiciel au Conservatoire national des arts et métiers

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

Le génie logiciel est une science de l’ingénieur dont la finalité est la fabrication de systèmes informatisés. Généralement complexes, ils prennent en charge des pans entiers du traitement de l’information nécessaires au bon fonctionnement de nos industries, des administrations, des communications, de notre défense et, pour résumer, de tout notre système socio-économique.

Un système informatisé est un ensemble d’ordinateurs, d’origine et de puissance diverses, reliés entre eux par des réseaux locaux (réseaux intra‐entreprises) et des réseaux distants (réseaux interentreprises), de périphériques très divers (une billetterie, un radar, un robot...) qui reçoivent et restituent de l’information dans leur environnement.

On distingue dans un tel système :

  • une partie matérielle (ordinateurs, terminaux, modems, commutateurs, capteurs, effecteurs...) dont le rôle est de fournir la puissance brute de traitement et de relier le système au monde extérieur ;

  • une partie logicielle qui assure les fonctions logiques nécessaires aux différents traitements et au stockage de l’information.

Ces logiciels sont de trois types :

  • des logiciels constructeurs, qui sont très dépendants du matériel ;

  • des progiciels développés par les éditeurs de logiciel, qui sont des boîtes noires, généralement paramétrables, assurant telles ou telles fonctions précises ;

  • des logiciels développés pour les besoins spécifiques de l’entreprise, soit par elle‐même, soit par l’intermédiaire de sociétés de services.

Le génie logiciel se préoccupe des procédés de fabrication de ces différents logiciels de façon à s’assurer que :

  • ce qui est fabriqué par le maître d’œuvre répond correctement aux besoins de celui qui les a formulés (le maître d’ouvrage, qui représente le client final) ;

  • les coûts et délais de réalisation restent dans les limites fixées au départ ;

  • le contrat de service sera effectivement respecté (performance, sûreté de fonctionnement, sécurité...) lors de l’exploitation future du logiciel.

Comme l’indique son appellation anglaise, « software », le logiciel est la partie « molle » du système, celle que l’on va pouvoir modifier à loisir en fonction des nouveaux besoins apparaissant tout au long de l’exploitation du système. Cette aptitude à l’évolution est une caractéristique spécifique du logiciel très importante, car c’est un élément déterminant de la durée de vie du système (flexibilité, souplesse et facilité d’emploi) et donc de son coût d’amortissement.

Le génie logiciel est une métadiscipline qui fixe des règles et des garde‐fous qui vont agir comme autant de conditions nécessaires au bon déroulement du processus de fabrication. Comme toute métadiscipline, il doit s’ancrer dans la pratique du développement des logiciels, rechercher en permanence les conditions de son efficacité et la pertinence des outils qu’il propose. Sous peine de stérilité, il doit tout particulièrement se défier des modes qui ne font souvent que passer, et du jargon qui cache souvent une vacuité de la pensée.

La présentation en quelques pages d’une discipline aussi foisonnante ne peut se faire que par une simplification drastique de la problématique en ne retenant que quelques caractéristiques essentielles et bien établies que l’on s’efforcera de présenter de façon intuitive.

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h3208


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(238 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation

5. Programmation et tests

La programmation est l’activité centrale, et la plus connue, du cycle de développement du logiciel. Elle est l’« âme » du système. Mais cette activité n’est pas réductible à la présence du seul programme car elle incorpore un certain nombre d’autres activités qui sont essentielles à la pérennité du programme. On parlera donc de « produit programme », en lieu et place de programme, lorsque les éléments présentés figure 19 seront réunis.

Un programme sans sa documentation ni ses tests n’est pas un objet industriel ; sa durée de vie est très limitée.

5.1 Programmation

HAUT DE PAGE

5.1.1 Modèle de programmation

Programme = algorithmes + structures de données

L’activité de programmation résulte directement de la structure des ordinateurs imaginée par J. Von Neumann dès les années 40. La lecture des deux textes fondateurs : Preliminary discussion of the logical design of an electronic computing instrument, et Planning and coding problems for an electronic computing instrument qui datent de 46-47 [Cf. Œuvres complètes Vol. 5], restent d’un grand intérêt. Dans le modèle de Von Neumann, les données et les instructions, dont l’union constitue le programme, partagent une mémoire unique, ce qui permet à un programme de construire un autre programme. Cette dernière caractéristique est tout à fait fondamentale.

Programmer, c’est agencer les données et les instructions en vue d’un but qui est la résolution du problème. Le but est décrit par une suite d’instructions qui, appliquées sur les données, va les transformer progressivement jusqu’à obtention du but. Fondamentalement, un programme est un raisonnement dont les termes sont les données, et les règles logiques les instructions de la machine.

À partir d’une certaine taille, données et instructions doivent être soigneusement organisées pour rester intelligibles. Le rôle de la programmation est, entre autres choses, de garantir cette...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(238 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Programmation et tests
Sommaire
Sommaire

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(238 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS