Zoom sur

Architecture et intégration des systèmes

26 avril 2022

Pour promouvoir le savoir-faire du Cnam en matière d’architecture et d’intégration des systèmes, retrouvez une présentation de cette discipline par le professeur Yann Pollet, titulaire de la chaire d’intégration des systèmes.

Le monde du logiciel et des systèmes

Le métier du développement informatique connaît des changements majeurs et reste en continuelle évolution. Les contraintes industrielles de coût et de délai jointes à l’existence d’un très grand nombre de produits logiciels prêts à l’emploi, pour une grande part sous la forme de logiciel libre, impacte fortement la démarche classique de développement. Par ailleurs, la plupart des applications informatiques d’une certaine importance sont maintenant conçues comme des logiciels distribués, les différentes parties du logiciel étant alors déployées sur un nombre parfois important de machines clientes et de serveurs, communiquant via des réseaux locaux et/ou à travers Internet. D’autres facteurs comme les exigences croissantes des utilisateurs, l’omniprésence d’Internet, l’informatique dans le nuage (cloud), ou encore l’exploitation de données massives, viennent accélérer encore cette dynamique.

La maîtrise des projets informatique par l’ingénieur implique donc que celui-ci conçoive ses réalisations en prenant en compte l’ensemble de ce contexte. Il s’agit de rendre de manière transparente un service à l’utilisateur à travers la coopération de multiples éléments géographiquement répartis : programmes, serveurs, au besoin dématérialisés dans le nuage, réseaux, …

Dans le cadre d’un nouveau système ou d’une nouvelle application à développer, la définition de l’architecture logicielle adaptée aux besoins devient alors un enjeu majeur. De manière générale, l’architecte devra faire des choix et définir une organisation générale du logiciel répondant à l’ensemble des exigences des futurs utilisateurs et à l’ensemble des contraintes issues su contexte d’emploi. L’architecte doit donc parfaitement maîtriser les principes sous-jacents aux différentes technologies ainsi que les approches architecturales associées afin de faire les choix pertinents. Plus que les technologies elles-mêmes, ce sont bien ici les principes sur lesquels celles-ci sont basées qui sont essentiels.

Systèmes et architectures de systèmes

Au sein de cette complexité, émergent les notions de système et d’architecture, lesquelles deviennent cruciales pour l’ingénieur en charge de la conception du nouveau système ou de la maintenance d’un système existant. L’évolution du métier implique donc plus généralement le passage d’une logique de simple développement logiciel à celle d’ingénierie d’un système complexe, les métiers d’architecte logiciel et système, et d’intégrateur prennent donc une importance majeure.

Pour l’ingénieur, un système est un ensemble d’éléments technologiques intégrés dans le but de rendre un certain service. Il existe une très grande diversité de systèmes en opération, et l’on en développe dans tous les domaines d’activité en mettant en œuvre une grande variété de technologies. C’est aujourd’hui une notion essentielle pour l’ingénieur.

L’ingénierie des systèmes complexes

Un système présente par nature une certaine complexité du fait du nombre et de l’hétérogénéité des éléments mis en jeu. Partant d’un besoin donné, un enjeu essentiel est celui de concevoir le système, c’est-à-dire de définir les éléments qui devront venir constituer ce système et la manière pertinente de les organiser, conduisant à bien définir l’architecture du système et soit apte à satisfaire les attentes de ses futurs utilisateurs. Dans ce cadre, l’expérience montre que construire un système qui réponde effectivement aux véritables besoins n’a rien d’immédiat. La complexité est alors non seulement source de difficultés d’ordre technique, mais aussi d’ordre méthodologique. La construction d’un système requiert donc un recul, une vision d’ensemble, une démarche rigoureuse, et surtout, outre bien sûr l’expérience, une manière particulière d’appréhender les problèmes.

La démarche issue de la discipline appelée Ingénierie Système a été adoptée de très longue date dans le monde industriel. Elle est unanimement reconnue et fait l’objet de standards internationaux. Elle considère toutefois le logiciel comme une technologie parmi d’autres, alors que le logiciel est omniprésent et que la nature essentiellement immatérielle de celui-ci, modifiable à volonté, mais aussi plus volontiers objet de défauts, lui donne au contraire un rôle tout à fait particulier. A l’opposé, l’activité de développement logiciel, pratiquée dans les entreprises de services numériques, aborde la réalisation d’un système, même complexe, essentiellement comme un problème de développement logiciel.

Contenu des formations

Dans la continuité des contenus scientifiques et techniques enseignés dans les cursus informatiques du Conservatoire National des Arts et Métiers, les enseignants-chercheurs en Architecture Intégration des Systèmes et Logiciels forment des ingénieurs déjà en activité dans de nombreux domaines de l’informatique incluant celui de l’ingénierie des systèmes complexes à dominante logicielle.