lundi 24 février 2025

Ingénierie, maintenance numériques - 4 - Conception générale

Les processus d’ingénierie, de maintenance numériques, incluent la conception générale des ensembles matériels et logiciels. Ses résultats sont des spécifications, une architecture générales, des technologies, le choix d’éléments constitutifs (composants matériels, logiciels, équipements, SI, liaisons, données numériques), pour de nouveaux ensembles matériels et logiciels ou pour des évolutions importantes (rarement pour des corrections d’erreurs).

Voir les articles sur ces activités.

Il est recommandé que les exigences de sécurité soient prises en compte dès ce stade (security by design).

L’activité vise à définir une architecture numérique, des technologies pour un nouvel ensemble matériel et logiciel, ou à faire évoluer l’architecture, les technologies existantes, pour répondre à une évolution des spécifications générales ou si l’existant ne répond pas aux exigences définies.

Les processus définis pour cette tâche ont pour objectifs d’aider à faire les choix les plus pertinents, d'alléger la charge de réalisation des travaux lourds, d’éviter des erreurs, de fournir des éléments pour la réflexion. Ils sont un des supports de l’art.

Les architectures numériques initiales évoluent pour prendre en compte des évolutions des besoins, l’utilisation de nouvelles technologies, l’expérience de leur mise en œuvre. On observe qu’elles ont tendance à se complexifier avec le temps, notamment du fait de la cohabitation de solutions reposant sur des principes techniques différents. Il est souhaitable qu’elles soient pérennes, que leurs propriétés attendues soient préservées pendant toute la durée de vie des ensembles matériels et logiciels, et que des évolutions inopportunes ne conduisent pas à des remplacements complets prématurés. Un des objectifs des processus à mettre en place est de maintenir une vision et une cohérence d’ensemble de l’architecture, à court, moyen ou long terme.

Les choix relatifs aux processus de veille technologique, de gestion des connaissances sont particulièrement importants pour la définition des architectures, des technologies. 

Résultat attendu

Des choix sont à faire sur le contenu attendu de la définition des architectures, des technologies.

Dans le cas des évolutions, on fait apparaître la cible, les éléments nouveaux, à conserver en l’état et ceux à faire évoluer. Plusieurs états successifs sont parfois définis.

1) Pour les composants matériels, le résultat attendu dépend de leur nature. Pour les processeurs, par exemple, il peut comporter les éléments actifs et passifs à utiliser, le parallélisme, les architectures multicœurs. Des algorithmes sont parfois à définir.

2) Pour les équipements numériques, les sous-ensembles numériques à intégrer dans les équipements comportant des éléments d’autres natures, il peut comporter les composants matériels et les logiciels à construire, à faire évoluer ou à utiliser en l’état, s’ils sont standard ou spécifiques, ainsi que leurs fonctions, les modalités de communication et d’interfonctionnement entre composants, entre logiciels, avec l’extérieur, le stockage des informations.

3) La définition des architectures, des technologies pour un logiciel peut comporter le choix d’une architecture standard, la décomposition du logiciel en composants majeurs, l'utilisation de composants logiciels existants, dans l'entreprise ou sur le marché. Elle inclut les fonctions attendues de chaque composant majeur, leurs modalités d'interfonctionnement, des choix sur l'utilisation de patrons de conception (patterns), d'infrastructures de développement (frameworks).

Des algorithmes sont à définir à ce stade, si cette définition constitue un choix majeur.

Des modalités de stockage sont à définir ou à faire évoluer pour les informations permanentes stockées par le logiciel. Elles sont propres au logiciel, ou partagées entre plusieurs logiciels. Des choix sont à faire sur les structures à retenir (bases de données, entrepôts de données, structures du big datablockchain...), les outils logiciels de gestion des informations (présents ou non dans l'environnement d'exécution cible), la journalisation des accès aux informations, le contrôle d'accès aux informations.

Un ou des langages de programmation sont à définir.

4) Un cadre d’architecture de l’ensemble des SI utilisés par l’entreprise est souvent à établir. Un tel cadre contient par exemple des principes d’architecture, des solutions de communication, des types de matériels ou logiciels, des systèmes d’exploitation, des SGBD, les liens entre les systèmes, des règles générales de sécurité, de protection des données, des droits. Le cadre existant est susceptible d’évoluer : pour un ensemble de systèmes existants, une cible d’évolution est parfois définie.

L'architecture d’ensemble d'un SI a à définir s’il y a lieu les types de SI à prévoir (systèmes distants, locaux, mobiles, réseaux de télécommunications numériques...), s'ils appartiennent à l'entreprise ou sont mis à sa disposition, en totalité ou en partie, s'ils sont mutualisés ou dédiés, leurs fonctions, les informations qu'ils stockent, comment ils communiquent, interopèrent.

Une architecture est à définir ensuite pour chacun des SI appartenant à l'entreprise : éléments constitutifs, informations stockées, origine, modalités de communication, d'interfonctionnement. Pour les SI mis à disposition, des caractéristiques attendues sont exprimées dans les mêmes domaines. 

Les dimensions de l'architecture des SI sont fonctionnelles et techniques. Dans la méthode Merise, on définit des niveaux conceptuels, logiques et physiques, une architecture des traitements, des données.

5) Les SI, les équipements comportent souvent des données, des informations techniques. Des choix sont à faire sur leur architecture, leur origine. Des logiciels sont également à prévoir dans certains cas pour transformer, charger les données d'origine.

Choix d’architecture, de technologies

Des architectures, des technologies possibles sont à définir pour les ensembles matériels et logiciels, puis à comparer en termes de conformité aux spécifications, de coûts d'investissement, de fabrication, de fonctionnement, de maintenance/évolution, de délais de mise en place, de consommation d’énergie, de maîtrise des risques... La démarche à retenir est susceptible de comporter les tâches suivantes.

1) Les spécifications générales comportent une description des fonctions attendues, des informations à exploiter, à traiter. Sur cette base, il est envisageable de définir dans une première étape une architecture des fonctions, des données, « idéale », indépendante des choix technologiques.

Dans le cas des évolutions d’un existant, on part d’un schéma du même type correspondant aux choix mis en place, et on définit une évolution correspondant aux nouvelles attentes.

2) Les exigences (fonctionnelles, techniques, de sécurité…) sont à répartir entre des éléments constitutifs : SI, équipements, logiciels, composants matériels ou logiciels..., existants ou nouveaux.  Des choix technologiques sont à faire sur leur nature.

L'architecture logicielle des SI, des équipements, est à définir. Des choix sont à faire entre logiciels standard ou développés sur mesure, existants et nouveaux.

Les SI, les équipements numériques, les liaisons, les composants matériels nouveaux... sont à dimensionner (cf. ci-après).

L'architecture des informations stockées est à définir, à faire évoluer, ainsi que des protocoles de communication, d'interopérabilité entre les éléments constitutifs, avec l'extérieur.

L’utilisation d'éléments constitutifs fournis par des tiers est parfois à comparer à celle d'éléments appartenant à l’entreprise, ou à développer, à construire par elle, à faire évoluer.

3) Pour les SI appartenant à l’entreprise, des choix sont à faire pour leur architecture matérielle, réseau. Les équipements sont en général standard. 

Pour les SI mis à disposition, les réseaux de télécommunication, des choix sont à faire sur les types de services à utiliser. Leur architecture, quand elle est connue, est un des éléments du choix.

4) Pour les logiciels, les produits développés par l’entreprise, des choix technologiques sont à faire (langages de programmation, types de composants matériels…).

5) La sécurité des ensembles matériels et logiciels est à concevoir dès la conception générale (« security by design »), par exemple sur des points comme le recours à des services numériques externes, le chiffrement des données, les redondances de systèmes, de liaisons réseau, de composants, les différents niveaux de protection. C'est beaucoup plus efficace et moins coûteux que de rajouter des fonctions de sécurité à un élément déjà conçu, voire construit.

6) Dans le cas (fréquent) des évolutions d’une architecture existante, on a évidemment tendance à limiter les évolutions au strict nécessaire, pour préserver les investissements déjà réalisés. On est parfois conduit à arbitrer entre des solutions moins coûteuses mais qui complexifient l’architecture, la rendent moins rationnelle, et des solutions plus coûteuses, mais plus satisfaisantes pour l’avenir.

Modélisation des architectures

Les processus de définition des architectures sont susceptibles de s’appuyer sur leur modélisation. Des choix sont à faire sur les modèles à utiliser.

La modélisation des ensembles matériels et logiciels porte sur leur comportement d'ensemble, puis sur leurs éléments constitutifs. L’architecture est susceptible d’être représentée selon différentes dimensions : fonctionnelle, logicielle, matérielle, géographique, réseau.

Les éléments à modéliser sont leur environnement, les données utilisées, les traitements réalisés. La modélisation passe, par étapes,du problème (spécification des exigences) à la solution.

L’environnement est représenté par les flux d’information échangés avec l’extérieur : nature, origine, localisation des points d’entrée/sortie, etc.

Des modèles sémantiques sont utilisés pour les données. Le plus utilisé est le modèle entité-relation. L'origine attendue des données externes à l'entreprise est à définir.

La modélisation statique des traitements est réalisable sous la forme d’arborescences de fonctions, de sous-fonctions, de boîtes transformatrices de flux d’information, de diagrammes de flux. La modélisation dynamique des traitements est utilisée pour les traitements dont la nature dépend de l’état des données enregistrées par l'ensemble défini.

Étude de faisabilité technique

Il est parfois nécessaire de vérifier que les technologies envisagées répondent effectivement aux attentes (« proof of concept »).

Des expérimentations du fonctionnement des ensembles matériels et logiciels sont réalisées si nécessaire.

Définition des capacités, analyse des performances

Des méthodes, des outils, sont parfois à choisir pour évaluer les capacités, les performances prévisionnelles des architectures étudiées.

Des ratios, des modèles permettent de passer des capacités attendues de l’ensemble matériel et logiciel à celles de ses éléments constitutifs, selon des unités ayant un sens pour les concepteurs techniques, les constructeurs, les fournisseurs de logiciels, de services de mise à disposition de SI. L’observation de la réalité permet de valider ou d’améliorer les modèles.

Les performances globales sont modélisables, par décomposition des performances attendues entre les éléments constitutifs. Des modèles statistiques sont utilisables, comme les modèles de gestion des files d’attente.

Il est parfois utile de rechercher des analogies avec des architectures existantes.

Coordination des choix d’architecture

1) Des choix sont à faire sur la coordination des architectures numériques de l’entreprise, en cherchant à éviter les diversités inutiles et coûteuses, à définir des standards internes d’architecture, à mutualiser quand c’est utile et profitable.

S’il est conseillé, par application du principe de subsidiarité, de laisser un maximum d’autonomie aux entités, les différences de décisions entre les entités d'une même entreprise ne sont pas toujours justifiées. Une rationalisation technique est parfois susceptible d’entraîner des économies sur les achats externes. La sécurité de l'ensemble des systèmes de l’entreprise par rapport aux accès externes doit être traitée de façon coordonnée.

Il est souhaitable de faire en sorte que les professionnels du numérique partagent une vision d'architecture commune, que les évolutions globales des SI de l'entreprise restent rationnelles.

Le recours direct par les entités utilisatrices à des services de mise à disposition de SI, d'accès à des données externes, est autorisé ou non. Il est susceptible de porter atteinte à la sécurité numérique de l'entreprise, à la protection de ses données. Les entités utilisatrices n'ont pas nécessairement les compétences commerciales, techniques nécessaires pour choisir ces services numériques à bon escient.

2) Des démarches d’urbanisme des SI sont susceptibles d’être mises en œuvre, intégrant une gestion permanente de l’architecture d’ensemble des SI de l'entreprise. Les choix d'architecture sont alors faits s’il y a lieu en collaboration avec les urbanistes.

La gestion de l’architecture d'ensemble des SI d’une entreprise porte notamment sur l'inventaire des SI, leurs fonctions, leurs données, leur interfonctionnement, la mise en cohérence des informations qu’ils traitent, qu’ils stockent.

La plupart des architectures sont fondées sur l'utilisation de composants matériels, d'équipements numériques, de données numériques, de logiciels ou de composants logiciels standard, de SI ou de réseaux mis à disposition. Une fois l'architecture générale définie, la conception générale inclut la définition des caractéristiques attendues de ces éléments.

Cette définition sert de base aux achats de produits et services numériques nécessaires. Le concepteur participe au processus d’acquisition.

Une fois ces achats et études réalisés, les spécifications générales, les choix d'architecture sont souvent à préciser, notamment pour prendre en compte les choix de SI mis à disposition, de composants matériels ou d'équipements numériques, de logiciels standard (fonctions des différents SI, des équipements, des logiciels, données, protocoles de communication, d'interopérabilité, capacité des équipements...).

Aucun commentaire:

Enregistrer un commentaire