Objectifs de la certification
La certification a pour objectif préparer des professionnels experts dans le développement d'architecture logicielle, pour avoir la capacité d’innover en matière de systèmes complexes dans une perspective sociétale et écologique.
Activités et compétences visées par la certification
Activités visées
Les activités professionnelles de l’expert en ingénierie du développement et en architecture logicielle s’articulent autour de 5 champs :
- l’analyse et la définition de la stratégie d’un système d’information ;
- le management des projets d’un système d’information ;
- l’intégration d’architectures techniques et logicielles ;
- la supervision du développement et de l’exécution de solutions applications ;
- le déploiement et le maintien des architectures techniques et logicielles.
A l’issue de la certification, le candidat atteste des compétences suivantes :
- C1.1. Mener une veille en identifiant les nouveaux usages, innovations et opportunités de nouveaux marchés et en matière d'accessibilité numérique afin d’évaluer et recommander des outils, technologies et processus.
- C1.2. Définir une stratégie technique : - en mettant en place des études de faisabilité ; - en estimant les coûts, bénéfices et risques des stratégies envisagées ; - en appliquant les normes et les standards définis pour le métier - en prenant en compte les contraintes organisationnelles ; - en tenant compte des attentes éthiques, réglementaires et sociétales (RGPD) ; - en proposant des solutions écoresponsables et l’écoconception, pour répondre à des besoins opérationnels.
- C1.3. Concevoir les architectures distribuées dans l’entreprise : - en sélectionnant les technologies appropriées ; - en anticipant la montée en charge ; - dans une démarche scalabilité et de modularités ; - dans une logique d’optimisation des performances, afin de définir une solution de service fiable.
- C2.1.1. Définir les spécifications techniques de la solution :
- en sélectionnant les composantes techniques (progiciels, composants applicatifs, langages, middleware, serveur…) ;
- en définissant les normes techniques, les fonctionnalités des programmes, les flux de données et leurs interactions,
- en suivante une conception responsable de service numérique ;
- afin de produire le cahier des charges technique et fonctionnel du projet.
- C2.1.2. Elaborer le cahier des charges :
- en évaluant les pratiques et outils déjà en place ;
- en intégrant de façon détaillée les problématiques d'accessibilité et d'expérience utilisateurs ;
- en précisant les contraintes réglementaires du projet ;
- en définissant les ressources à mobiliser (métiers, financières, matérielles…), afin de définir la roadmap du projet.
- C2.2. Définir la méthodologie de gestion de projet :
- en sélectionnant la méthode adaptée au déploiement et suivi (Cascade, Cycle en V, Agile…) ;
- en s’appuyant sur les référentiels de bonnes pratiques (PMP, Prince 2, Scrum…) ;
- en mettant en place les outils de suivi des projets (tableaux de bords, listing de tâches, feuilles de route …), afin d’optimiser sa mise en œuvre.
- C2.3. Contrôler le déroulement du projet du SI :
- en conduisant des évaluations intermédiaires et finales de performance globale du projet (KPI) ;
- en s’appuyant sur les référentiels de bonnes pratiques (CMMI…) ;
- en revoyant les conditions de mise en œuvre du projet selon les évaluations intermédiaires, pour s’assurer formellement que la solution est conforme aux spécifications et attendus en termes de ROI pour le projet.
- C2.4. Manager les équipes au sein du projet :
- en réunissant les parties prenantes (comités de pilotage, réunions…) ;
- en s’assurant que les parties prenantes saisissent les enjeux, risques et bénéfices (commanditaire, MOE, prestataires) dans un contexte national ou international ;
- en favorisant la communication ascendante et descendante au sein du projet ;
- en incitant les parties prenantes à travailler sous un mode collaboratif ;
- en sensibilisant les acteurs projets sur les « situations à risques »,
- en s'assurant que les collaborateurs en situation de handicap aient accès à des outils de travail adaptés, pour mener à bien les phases de développement, de tests et d’intégration du projet.
- C3.1. Définir l'architecture technique :
- en identifiant les moyens techniques (logiciel système, les intergiciels, les réseaux de communication) ;
- en identifiant les relations entre les éléments la composant, pour assurer la performance des applications.
- C3.2. Définir les modes de communication utilisés par les éléments d’un système en identifiant les protocoles adaptés (réseaux, chaines de blocs, mobiles ou web), pour garantir leur interopérabilité au sein de l’architecture technique.
- C3.3. Concevoir des architectures logicielles complexes :
- en décrivant le système en termes d’objets, de composants, de bibliothèques et de Framework ;
- en définissant l’organisation des composants dans l’environnement de développement (bibliothèques dynamiques, statiques, codes sources) ;
- en définissant l’environnement du système (bande passante, contraintes géographiques, tolérance aux pannes) ;
- en choisissant le style d’architecture, pour réduire les coûts, l’impact écologique et augmenter la qualité du logiciel.
- C3.4. Mettre en place et documenter une architecture logicielle en créant et en alimentant la bibliothèque logicielle constituée des différents composants, pour assurer son évolutivité et sa maintenabilité.
- C4.1. Superviser le développement d’une application logicielle :
- en choisissant une plateforme de développement adaptée (Web, mobile, lourde, distribuée, électronique) et sécurisée ;
- en intégrant des modules algorithmiques complexes ou d’intelligence artificielle et d’apprentissage ;
- en élaborant un contrat intelligent sur une chaîne de blocs,
- en introduisant les règles d'accessibilité dans les procédures de développement d'une application, pour proposer une solution logicielle adaptée aux besoins du clients et au RGPD.
- C4.2. Construire des interfaces homme-machine :
- en se basant sur des critères d’ergonomie ;
- en se basant sur l’expérience utilisateur ;
- en intégrant les normes d’accessibilité, pour permettre un usage optimal de la solution proposée.
- C4.3. Garantir la fiabilité des modules logiciels et leur adéquation avec les spécifications techniques et fonctionnelles des applications :
- en définissant et en menant les tests adaptés ;
- en automatisant les tests, pour augmenter la qualité des applications.
- C5.1. Mettre en place et maintenir les plateformes de développement :
- en définissant les outils de livraison continue ;
- en mettant en place les automatismes d’intégration continue en fonction des évolutions des produits, pour assurer un développement continu des applications.
- C5.2.1. Mettre en place des outils de protection du logiciel :
- en utilisant des normes cryptographiques ;
- en sécurisant le stockage des données ;
- en construisant des procédures d’authentification ;
- en utilisant des réseaux privés virtuels, pour garantir la sécurité et la confidentialité d’une application.
- C5.2.2. Concevoir et valider la documentation technique et utilisateur :
- en précisant les modalités d’usages ;
- en indiquant les spécificités techniques en des termes adaptés aux utilisateurs visés,
- en expliquant les enjeux pour les parties prenantes/l’entreprise, afin d’assurer la maintenabilité d’une architecture technique et logicielle.
- C5.3. Déployer un projet :
- en assurant une validation fonctionnelle ;
- en réalisant un recettage ;
- en mettant en place des outils de gestion des incidents et de la qualité, pour assurer son passage en production.
Le référentiel d’activités, de compétences et d’évaluation est consultable et téléchargeable dans son entièreté sur la fiche RNCP
Conditions de délivrance de la certification
L'obtention de chaque bloc de compétences fait l'objet de la délivrance d'une attestation de compétences.
La validation de l'ensemble des blocs de compétences permet la délivrance de la certification.