lundi 24 février 2025

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

Les résultats attendus de la conception générale 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).

Une définition initiale des besoins généraux est fournie dans les demandes reçues. Les besoins sont approfondis si nécessaire avec les équipes techniques.

Des spécifications générales sont établies ou modifiées.

L’activité vise à définir une architecture, des technologies pour un nouvel ensemble matériel et logiciel, ou à modifier l’architecture existante, à mettre en œuvre d’autres technologies, 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 ont pour objectifs d’aider à faire les choix les plus pertinents, d'alléger la charge de réalisation des travaux, d’éviter des erreurs, de fournir des éléments pour la réflexion. Ils sont un des supports de l’art.

Les architectures initiales évoluent. 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 raisonnablement 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 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 connaissancessont particulièrement importants pour la définition des architectures, des technologies numériques. 

Résultat attendu

Le contenu attendu de la définition des architectures, des technologies, est à définir.

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 identifiés.

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 autres natures d’équipements, 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.

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, matériels et logiciels, 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.

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 à l’architecture mise 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, 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 dans l’immédiat mais qui obèrent l’avenir (architecture plus complexe, moins rationnelle, dette technique…), 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, les résultats obtenus... 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 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.

Définition des capacités, évaluation des performances prévisionnelles

Des méthodes, des outils, sont parfois à choisir pour définir les capacités, évaluer 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, 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 mathématiques 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.

Choix des caractéristiques des éléments constitutifs

Les éléments constitutifs de l’architecture des ensembles matériels et logiciels sont externes ou internes, existants, à construire ou à faire évoluer. 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.

Elle sert de base à des achats de produits et services externes, à l’étude des adaptations et des évolutions à réaliser des éléments existants dans l’entreprise, des conditions de réalisation des nouveaux éléments sur mesure.

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