lundi 24 février 2025

Ingénierie, maintenance numériques - Choix généraux

Les réalisateurs des activités d’ingénierie, de maintenance des ensembles matériels et logiciels, font des choix économiques relatifs aux processus à mettre en œuvre.

Les processus comportent le management des activités, la prise en charge des ensembles matériels et logiciels, les conceptions générale et détaillée, la construction, la recette, le traitement des non-conformités. Des activités numériques de soutien sont aussi à réaliser (achats, recrutement…).

Les résultats des activités sont ensembles matériels et logiciels, nouveaux ou modifiés, prêts à être déployés, exploités, fabriqués : composants matériels, équipements, sous-ensembles numériques, SI, logiciels. Les réseaux de télécommunications numériques sont considérés comme des SI.

Pour les produits, les logiciels standard, les activités portent sur les prototypes, les versions de référence des logiciels. Ces versions (initiales, correctives ou évolutives) sont à diffuser aux clients.

Les équipements, les systèmes associent parfois des éléments numériques à des éléments d'autres natures. L’ingénierie, la maintenance numériques font alors partie de l’ingénierie, de la maintenance globales.

Les processus sont à adapter au contexte, aux enjeux. Les utilisateurs sont susceptibles de réaliser directement des tâches simples, comme le paramétrage des tableurs. Des scientifiques programment eux-mêmes des modèles. Des processus simplifiés sont alors à mettre en place s’il y a lieu.

1) Les normes, référentiels susceptibles d’être définis pour l’ingénierie, la maintenance numériques, sont, outre les normes ISO 9000, les normes de l’ingénierie système (IEEE 1220, EIA 632, ISO/IEC/IEEE 15288), le modèle CMMI.

CMMI est un modèle de gestion de la qualité, un recueil de bonnes pratiques, qui vise à améliorer le processus de développement du logiciel. Il est utilisé également pour l'ingénierie des SI.

2) Une stratégie de contrôle et de test est à définir s’il y a lieu par le donneur d'ordres et par le responsable technique. Elle fait partie de la démarche retenue. Elle contribue à garantir la qualité des ensembles matériels et logiciels livrés, mis à disposition.

Elle définit les éléments à contrôler, à tester, la nature des contrôles et tests prévus, leur étendue, leur volume, leur planification, leur taux de couverture, leur niveau de profondeur, leur responsabilité, les démarches, méthodes, outils...

Les coûts et les délais des contrôles et tests des produits, des grands logiciels, SI… sont parfois très élevés. Ils sont à mettre en balance avec l'impact d'un dysfonctionnement majeur d'un logiciel ou d'un produit vendu en un grand nombre d'exemplaires, d'un SI, d'un réseau, utilisés par un grand nombre d’utilisateurs.

Entre le donneur d’ordres et le responsable technique, un équilibre est à trouver en termes d’efficacité, de charge, coûts et délais de réalisation, de respect des responsabilités et de collaboration nécessaire entre les acteurs.

Le mouvement DevOps préconise la réalisation des tests de logiciels au plus tôt, dans un environnement aussi proche que possible de la production.

3) Des choix sont à faire sur le cycle de développement du logiciel à retenir. Les cycles sont prédictifs (cycles en cascade, en V), de livraison incrémentale, itératifs (prototypage, en spirale, UP), agiles (RAD, XP, SCRUM...). Ils se distinguent notamment par les modalités de définition des besoins, l'adaptation à leurs évolutions, la durée des projets, un développement incrémental, par itérations successives, l'importance accordée aux tests, à la documentation, l’enchaînement des activités (par exemple démarrage ou non de l’écriture des programmes alors que la conception n’est pas complètement terminée).

Les démarches choisies incluent parfois des modèles, des exemples (templates), l'utilisation de composants standard.

4) Des outils sont nécessaires pour l’ingénierie, la maintenance du logiciel. Des choix sont à faire sur leurs caractéristiques, la nature de leurs fonctions.

Les outils de génie logiciel choisis sont en général des outils du marché. Ils sont indépendants ou constituent un ensemble cohérent (atelier de génie logiciel ou AGL, ALM (gestion du cycle de vie des applications)). Les outils indépendants sont plus ou moins interopérables. Un outil intégré permet parfois la constitution d’un référentiel de l’ensemble des livrables, des informations de référence utilisées. Il facilite la collaboration entre les membres de l’équipe.

Des plateformes sont mises en place pour exploiter les outils, stocker et tester les logiciels réalisés, par exemple pour le développement et les tests unitaires, l'intégration et les tests des logiciels dans leur environnement cible, la recette.

Dans le cadre de DevOps, l’ingénierie de plateforme est fondée sur l’utilisation en libre service de plateformes intégrant des outils intégrés, des processus, des services…

Pour l'ingénierie des produits numériques, des SI, des outils de gestion de cycle de vie, de CAO, de gestion de configuration… sont utilisables. Ils doivent faciliter la réutilisation, la gestion des modifications.

5) Les activités d’ingénierie, de maintenance numériques, pilotent des activités non numériques, relevant de la mécanique, de l'électricité, de l'électronique, des télécommunications, des travaux publics, du bâtiment… : développement de composants matériels, construction et aménagement de salles informatiques, installation de liaisons filaires, terrestres, sous-marines, locales, de liaisons hertziennes, communications par satellites, réparations matérielles, retrait et recyclage des équipements… Les processus mis en œuvre sont spécifiques à chaque nature d‘activité.

Ces activités sont coordonnées par le responsable technique de l'ensemble des activités. Elles sont à intégrer dans les cycles précédents, ou font l'objet d'organisations, de cycles spécifiques

Aucun commentaire:

Enregistrer un commentaire