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
4. Conception et architecture des logiciels
L’architecture, par la place centrale qu’elle occupe dans l’économie globale du cycle de vie logiciel, en est le régulateur principal (figure 11).
De l’architecture vont dépendre, non seulement les conditions de réalisation de la première version, mais également celles des versions successives, et finalement la durée de vie totale du système logiciel.
4.1 Nature de l’architecture
L’architecture est la résultante de trois ensembles de contraintes :
-
contraintes techniques, liées à la nature et aux missions du logiciel ;
-
contraintes technologiques, liées aux méthodes et outils de construction disponibles ;
-
contraintes humaines, liées à l’expérience des personnes et à la maturité des organisations de développement.
Ces contraintes et les compromis qui en découlent sont au cœur des phases d’expression des besoins et de conception.
Le problème auquel l’architecte est confronté existe indépendamment des technologies disponibles ou à inventer pour le résoudre. Mais l’un des dilemmes de l’architecte est :
-
peut-il, ou doit-il, imaginer le système en faisant totalement abstraction des contingences technologiques et humaines, au risque de déboucher sur un système infaisable ? ;
-
peut-il, ou doit-il, imaginer le système comme une conséquence des technologies disponibles, au risque de disparaître avec ces technologies ?
Un architecte de logiciel ne doit jamais oublier qu’une des vertus du logiciel est sa malléabilité. Il doit impérativement préserver cette caractéristique car c’est toujours le logiciel qui sera adapté en priorité lors des évolutions du système.
Dans une spécification d’architecture, il faut toujours bien séparer :
-
la description du système tel qu’il se présente dans la réalité physique, en y incluant toutes les activités tant manuelles qu’automatisées auxquelles le système donne lieu ; cette donnée première est le modèle conceptuel ;
-
la description logique du système telle qu’elle résulte des choix technologiques qui sont un compromis entre les exigences liées à la mission du logiciel, les coûts-délais d’acquisition et de...
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
Conception et architecture des logiciels
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