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’articleINTRODUCTION
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.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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
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
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 fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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
Programmation et tests
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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