Informaticien(ne) en développement d’applications avec brevet fédéral

Formations professionnelles supérieures

Introduction

L’informaticienne ou l’informaticien(1) en développement d’applications travaille en règle générale dans l’unité de développement de logiciels d’un fournisseur de prestations informatiques ou d’une entreprise utilisatrice des technologies de l'information. Il est responsable du développement et de la maintenance des applications. Il analyse des situations complexes en rapport avec les processus métiers et en déduit les exigences systèmes. Il conçoit les applications et utilise, à cet effet, les modèles et outils d’élaboration appropriés.

Documentation pdf ...

__________
(1) Afin de faciliter la lecture, par la suite, seul le masculin est utilisé pour désigner les deux genres.

Prix, Dates, Inscription

La formation, d'une durée de 51 jours, se déroule chaque année pour préparer aux examens fédéraux qui se déroulent chaque année en mai. Les cours se déroulent généralement les vendredis et samedis toutes les 2 semaines, de 9h00 à 12h00 et de 13h00 à 16h00 et 15h00 les samedis.
Selon notre expérience, la réussite des examens implique en plus du cours et des exercices dirigés, un travail personnel d´assimilation conséquent dont la charge est estimée à 2 jours par jour de cours.
Informaticien(ne) en développement d’applications avec brevet fédéral
2021 - 2022
Durée
51
Prix
15'300.-
Prix/J
300.-
En 2021
12, 13 fév, 12, 13 mar, 16, 17 avr, 8, 28 mai, 11, 12, 25, 26 jun, 27, 28 aoû, 10, 11, 24, 25 sep, 8, 9, 22, 23 oct, 6, 19, 20 nov, 3, 4, 17 déc
En 2022
14, 15, 21, 22, 28, 29 jan, 4, 5, 11, 12, 18, 25, 26 fév, 11, 12, 25, 26 mar, 8, 9, 22, 23 avr, 6, 7 mai
Prix avec le subventionnement :
  • CHF 7'650.-, soit CHF 150.- par jour avec la subvention de 50 % de la Confédération pour tout candidat(e) payant ses impôts en Suisse.
  • CHF 5'150.-, soit CHF 100.- par jour avec la subvention supplémentaire de 25 % de la fondation FONPRO pour candidat(e) travaillant dans une entreprise située dans le canton de Vaud.
Subventionnement jusqu'à 75 % pour la formation : plus de renseignements ...
Le prix du cours comprend toute la documentation pédagogique distribuée comprenant des ouvrages, supports de cours, supports de présentation, exercices avec corrigés et examens à blanc avec corrigés.
Le prix du cours n'inclut pas la taxe d'examen de CHF 2'900.- (tarif 2020), non soumis à la TVA, montant subventionné à 100 % par la FONPRO et facturé par ICT-Formation professionnelle Suisse. Subventionnement jusqu'à 75 % pour la formation et jusqu'à 75 % pour l'examen : plus de renseignements ...
Modalités de paiement : plus de renseignements ...

Plan de formation et compétences à acquérir

La formation est composée de 16 modules officiels et d'un module ISEIG de travaux interdisciplinaires mettant en pratique la matière de tous les modules et de préparation aux examens.

167

Business Engineering

Evaluer des outils informatiques

Evaluer des offres conformément aux exigences envers les outils et prestations informatiques et déclencher la procédure d’achat.

1
Définir une procédure d’évaluation conformément au mandat de projet et établir un calendrier.
1.1
Connaître les objectifs et les conditions générales régissant l’acquisition de système TIC et qui nécessitent une évaluation.
1.2
Connaître les activités principales et les résultats d’une procédure d’évaluation et pouvoir en décrire les interdépendances temporelles et contextuelles.
2
Définir les critères d’appel d’offres et d’évaluation à partir des informations et des exigences relatives aux outils et prestations informatiques et établir le catalogue de critères.
2.1
Connaître les différences fondamentales entre objectifs et exigences d’un projet et pouvoir les illustrer par des exemples.
2.2
Connaître les aspects à prendre en compte dans la formulation de critères sur la base d’objectifs et d’exigences pour garantir la représentativité de l’appel d’offres et l’objectivité de l’évaluation.
2.3
Connaître la structure de base d’un catalogue d’exigences et savoir quels en sont les éléments qui contribuent à garantir une situation de départ claire pour l’acquisition d’une solution.
3
Rédiger, à partir des informations relatives aux outils et prestations informatiques et du catalogue de critères, un cahier des charges destiné aux soumissionnaires qui contient des informations précises sur l’outil ou la prestation et sur les exigences que doivent remplir les offres.
3.1
Connaître la structure d’un cahier des charges et savoir quels en sont les éléments qui contribuent à établir une base contraignante pour la soumission d’offres.
3.2
Connaître les dispositions légales qui régissent les appels d’offres et savoir comment elles contribuent à garantir le jeu de la concurrence.
4
Etablir, à partir du catalogue de critères et d’autres informations figurant dans l’appel d’offres, des bases d’évaluation qui garantissent une sélection objective et transparente des offres.
4.1
Connaître les éléments fondamentaux d’une méthode d’évaluation, notamment les objets d’évaluation, les critères d’évaluation et leur pondération. Pouvoir expliquer comment ces critères contribuent à l’objectivité de l’évaluation.
4.2
Connaître des méthodes permettant de pondérer des éléments d’évaluation (prestations, objets, critères, etc.) et pouvoir expliquer les informations nécessaires et comment la pondération en découle.
4.3
Connaître des méthodes d’évaluation permettant de comparer des offres (comparaison deux à deux, matrice de préférence, comparaison par facteurs, analyse multicritère, etc.) et pouvoir indiquer leurs démarches mais aussi leurs limites en ce qui concerne la significativité des comparaisons.
5
Se procurer des informations fiables sur les soumissionnaires dans des revues professionnelles, auprès d’autres entreprises, etc. et sélectionner ceux auxquels le contrat pourrait être attribué.
5.1
Connaître les exigences à satisfaire pour garantir une sélection des fournisseurs potentiels adaptée au projet (base de compétences, situation financière, respect de critères environnementaux, disponibilité des ressources, projets de référence).
5.2
Connaître la démarche systématique à adopter pour sélectionner des fournisseurs potentiels adaptés sur le marché libre.
5.3
Connaître différentes sources d’information (foires, revues professionnelles, profils Internet, projets de référence, demandes directes de renseignements) relatives aux fournisseurs potentiels. Pouvoir indiquer les influences que subit leur significativité.
6
Procéder à une présélection des offres sur la base des critères impératifs et de l’exhaustivité des soumissions.
6.1
Connaître les critères à respecter pour la présélection des offres et pouvoir indiquer les conséquences négatives qu’ils permettent d’éviter pour le projet et pour l’exploitation.
7
Evaluer les offres présélectionnées sur la base des documents d’évaluation, analyser les résultats et formuler une recommandation à l´intention du mandant.
7.1
Connaître les documents nécessaires à l’évaluation d’offres (catalogues de critères, analyse multicritère, etc.) et pouvoir indiquer comment ils contribuent à une prise de décision précise et transparente.
7.2
Connaître les techniques permettant de représenter les résultats de l’évaluation de manière transparente.
8
Préparer les négociations contractuelles avec les fournisseurs sélectionnés et accompagner cette phase d’évaluation.
8.1
Connaître les contenus déterminants d’une proposition à l’intention des décideurs et pouvoir indiquer comment ces contenus et leur ordre facilitent et garantissent la prise de décision.
8.2
Pouvoir décrire les méthodes et les techniques permettant d’obtenir une décision de la part d’une instance et pouvoir illustrer par des exemples les situations dans lesquelles elles sont utilisées.
9
Déclencher la procédure d’achat conformément aux directives internes et en assurer le suivi.
9.1
Connaître les informations nécessaires à une acquisition.
9.2
Pouvoir montrer comment le projet d’évaluation, le projet d’acquisition ainsi que l’organisation qui utilisera la solution se différencient sur le plan des tâches, des responsabilités et des compétences durant le processus qui s’étend de l’analyse des exigences à la mise en service de la solution.
Durée (Jours)

2

176

Security/Risk Management

Assurer la sécurité de l’information

Définir des directives et mesures organisationnelles permettant de garantir la sécurité de l’information et l’exploitation opérationnelle TIC.

1
Etablir si les processus assistés par TIC et leur flux de données satisfont aux dispositions légales et aux consignes internes en matière de sécurité de l’exploitation.
1.1
Pouvoir expliquer quelles sont les descriptions et documentations (descriptions de fonction et de processus, directives, organigrammes, etc.) qui contiennent des informations sur les dispositions légales et les consignes internes.
1.2
Savoir comment on consolide et documente de manière transparente les résultats d’une analyse documentaire.
1.3
Connaître les éléments d’un processus métier (sous‐processus, activités, responsabilités, etc.) et pouvoir expliquer lesquels de ces éléments servent à reproduire quels états de faits dans une activité métier.
2
Recommander des mesures de sécurité et de protection garantissant le respect des dispositions légales et des consignes internes dans le cadre de l’utilisation de matériels TIC dans les processus métier.
2.1
Connaître la législation nationale (lois, ordonnances et directives) déterminante en matière de sécurité de l’information, p.ex. LPD, CP, CO et Olico.
2.2
Savoir comment décomposer un processus assisté TIC pour identifier les domaines/objets déterminants en matière de sécurité.
2.3
Connaître des mesures organisationnelles permettant de garantir la sécurité de l’information (autorisations d’accès, heures de fonctionnement, sauvegarde de fichiers, etc.).
2.4
Connaître des méthodes et techniques qui permettent de soumettre à une instance supérieure des recommandations concernant des mesures nouvelles ou modifiées et d’obtenir une décision.
3
Assurer la vérification périodique de l’efficacité des mesures de sécurité et de protection, autrement dit de sécurité de l’information. Rendre compte des résultats et des mesures à prendre aux instances responsables.
3.1
Connaître des démarches systématiques permettant de vérifier périodiquement la conformité des mesures de sécurité aux consignes.
3.2
Connaître des méthodes de contrôle systématique de la sécurité (audit) permettant d’identifier et de décrire des faiblesses pour pouvoir ensuite définir des mesures ciblées.
3.3
Connaître des techniques de représentation permettant de présenter de manière convaincante à la direction de l’entreprise les résultats d’un contrôle de sécurité et les constatations qui en ont été tirées.
4
Analyser les conséquences d’une panne d’un système TIC sur le déroulement d’un processus métier donné.
4.1
Connaître les incidences fondamentales d’une panne d’un système/composant TIC sur d’autres systèmes/composants TIC, processus TIC, processus métier assistés par TIC et pouvoir expliquer les interdépendances qui conditionnent ces incidences.
5
Définir des mesures de gestion de la continuité d’activité garantissant le traitement des processus métier.
5.1
Connaître des mesures fondamentales permettant de prévenir les pannes de processus assistés par TIC (tolérances, redondances, etc.).
5.2
Connaître des mesures organisationnelles proactives propres à minimiser les conséquences de la panne d’un processus assisté par TIC (plans d’urgence, simulations régulières, etc.).
6
Définir des mesures de sensibilisation du personnel au respect des dispositions légales et des consignes internes en matière de sécurité de l’information.
6.1
Connaître des possibilités de communiquer de manière convaincante des règles de comportement importantes à un cercle donné de destinataires (formations, matériel d’information [notices], etc.) et pouvoir expliquer les mesures prises dans ce contexte pour renforcer la sensibilisation (prise de conscience).
Durée (Jours)

2

177

Service Management

Identifier les problèmes intervenant dans l’exploitation opérationnelle, les analyser et mettre en place des solutions durables.

1
Evaluer systématiquement les informations provenant de l’exploitation opérationnelle et préparer les résultats en vue des décisions de gestion des incidents.
1.1
Connaître les catégories d’erreurs intervenant dans l’exploitation de systèmes et pouvoir en indiquer les causes fondamentales.
1.2
Connaître les principales valeurs statistiques à consigner lors de la consolidation des informations d’un système de tickets de dépannage en vue de la rédaction d’un rapport de qualité périodique. Pouvoir expliquer les conclusions qu’on peut en tirer pour le traitement systématique des erreurs.
1.3
Connaître les techniques de représentation à utiliser lors de la consolidation des informations d’un système de tickets de dépannage en vue de la rédaction d’un rapport de qualité périodique (analyses graphiques, analyses de tendance, etc.). Pouvoir expliquer comment ces techniques contribuent à augmenter la valeur significative en ce qui concerne la qualité du service.
2
Prioriser les incidents et faiblesses identifiés lors de l’évaluation en fonction de leur importance pour l’activité de l’entreprise. Elaborer sur cette base un plan de réalisation visant à les éliminer.
2.1
Connaître et pouvoir décrire les éléments d’information importants pour la priorisation des incidents.
2.2
Pouvoir décrire les méthodes et les techniques permettant d’obtenir une décision de la part d’une instance et illustrer par des exemples les situations dans lesquelles elles sont utilisées.
3
Analyser les variantes de solution à un incident, les évaluer sous l’angle de l’efficacité, de l’investissement nécessaire et de la faisabilité. Décider sur cette base si une solution transitoire est nécessaire ou si une solution durable peut être réalisée.
3.1
Connaître des méthodes proactives permettant d’éviter les incidents (FAQ, informations destinées aux utilisateurs, actualisation de logiciels, surveillance ou remplacement).
3.2
Connaître des méthodes de résolution provisoire des incidents survenant dans l’exploitation opérationnelle de systèmes et pouvoir indiquer comment elles contribuent à l’efficacité et à la sécurité de l’exploitation.
4
Définir, avec le responsable de l’exploitation TIC et les utilisateurs, des solutions transitoires permettant au système de livrer les prestations souhaitées malgré l’incident.
4.1
Pouvoir indiquer les règles et conditions générales à respecter lors de l’élaboration de solutions transitoires en cas de recours à une procédure d’escalade et la manière dont elles contribuent à la définition d’une solution acceptable pour les fournisseurs et les utilisateurs de prestations.
5
Définir des demandes de modification fournissant des consignes précises et contraignantes pour la réalisation d’une solution durable à l’incident.
5.1
Connaître les éléments d’information qui doivent figurer dans une demande de modification et pouvoir indiquer comment ils contribuent à une résolution ciblée des incidents.
5.2
Connaître les principes fondamentaux de la résolution efficace et efficiente d’incident et pouvoir indiquer comment les demandes de modification contribuent à leur respect.
5.3
Connaître les principales informations que doit contenir une proposition de correction d’erreur et pouvoir expliquer comment elles contribuent à l’élaboration d’une base de décision globale.
6
Définir les critères et objectifs pour l’implémentation d’une solution transitoire ou d’une modification et en contrôler le respect.
6.1
Connaître les conditions générales et les critères de l’implémentation réussie de la solution à un incident.
6.2
Connaître des méthodes de surveillance et de réalisation de solutions transitoires validées dans l’exploitation opérationnelle (surveillance de la fiabilité, avis d’événements, réactions d’utilisateurs, évaluation de tickets d’incident, etc.).
Durée (Jours)

2

192

Business Engineering

Délimiter des systèmes et spécifier des exigences

Analyser la structure d’un système ainsi que son intégration dans un système supérieur et spécifier les exigences en matière de développement, d’achat, d’exploitation ou de maintenance de ce système.

1
Assigner un système dans le cadre de sa complexité fonctionnelle dans le système supérieur et le décrire.
1.1
Connaître les principes fondamentaux de la pensée systémique (décomposition de systèmes, méta‐modèles de données, ordre, éléments, relations, etc.).
1.2
Pouvoir expliquer les relations entre un système et les structures organisationnelles, de ressources humaines et techniques de l’entreprise.
1.3
Comprendre l’interprétation d’un méta‐modèle de données supérieur.
1.4
Savoir quels sont les moyens à disposition pour décrire un système (modèles de processus, modèles de fonctions, etc.).
2
Analyser et documenter des frontières de systèmes et de sous‐systèmes. Identifier et documenter des interfaces entre systèmes.
2.1
Connaître les interactions entre un système et son environnement.
2.2
Savoir situer un système spécifique dans les structures de système supérieures et savoir comment évaluer sa fonction dans l’ensemble des fonctions.
2.3
Savoir comment analyser les frontières d’un système et connaître des moyens de les documenter (listes d’événements, descriptions d’interfaces, etc.).
3
Décomposer un système décrit en sous‐systèmes, systèmes partiels et éléments. En décrire les interactions.
3.1
Savoir comment un système spécifique est décomposé en ses sous‐systèmes et éléments et pouvoir décrire les relations entre sous‐systèmes et éléments.
3.2
Connaître les méthodes d’analyse (analyse structurée, analyse orientée objet (AOO)) et de modélisation (UML, ERD, diagrammes de contexte, descriptions de processus) des systèmes.
3.3
Savoir comment ces outils sont utilisés dans le cadre des projets de développement ou d’évaluation pour répondre de manière optimale aux exigences de l’exploitation.
4
Identifier en accord avec le responsable les prestations que doit fournir le système.
4.1
Connaître les prestations fournies au cours du cycle de vie d’un système et pouvoir expliquer leur importance qualitative, économique et environnementale pour le système.
4.2
Connaître des techniques permettant d’obtenir des informations relatives à certains états de fait de manière ciblée et efficace (recherche documentaire, entretiens, sondages, ateliers, observation, analyse de processus, etc.).
4.3
Savoir comment on décompose les exigences de l’exploitation pour les adapter à un système.
5
Définir à partir des prestations demandées, des besoins des groupes d’intérêts ainsi que des faiblesses de l’existant les exigences que doit remplir un système informatique ou que doivent remplir les livrables fournis en relation avec ce système.
5.1
Pouvoir identifier les groupes d’intérêt déterminants pour un système (utilisateurs, parties prenantes, propriétaires de processus, environnement, informatique, etc.).
5.2
Pouvoir identifier systématiquement les exigences de l’exploitation (fonctionnelles, techniques, organisationnelles, environnementales et économiques).
5.3
Pouvoir montrer comment déduire des exigences à partir de processus métier.
5.4
Savoir comment identifier les faiblesses d’un système au moyen de méthodes de comparaison, d’une analyse existant‐objectifs ou d’une analyse multicritère.
6
Spécifier en accord avec les parties prenantes (services opérationnels, informatique, etc.) des exigences précises, objectives et consensuelles envers les prestations à fournir par le système.
6.1
Savoir comment spécifier en accord avec les groupes d’intérêt des exigences précises, objectives et consensuelles envers le développement, l’acquisition, l’exploitation ou la maintenance d’un système informatique.
6.2
Pouvoir expliquer sur la base des exigences internes et de l’existant quand un système doit être créé, remplacé ou modifié.
7
Classer les exigences par prestations, catégories logiques et ordre d’importance. Documenter ces exigences dans un catalogue d’exigences structuré sur la base de ces critères.
7.1
Savoir décrire une exigence et la rendre mesurable sur la base de spécifications données.
7.2
Savoir expliquer la différence entre objectifs impératifs et facultatifs.
7.3
Connaître la structure de base d’un catalogue d’exigences (fonctionnelles, non fonctionnelles, métier, système) et savoir quels en sont les éléments qui contribuent à garantir une situation de départ claire pour l’acquisition d’une solution.
7.4
Pouvoir expliquer pourquoi des pondérations différentes sont attribuées à des spécifications données.
7.5
Savoir quels sont les outils d’analyse à utiliser pour prioriser ou pondérer des exigences (comparaison avec les objectifs, définition du degré de faisabilité, comparaison avec les meilleures pratiques, etc.).
Durée (Jours)

2

202

Application Engineering

Elaborer une architecture logicielle

Réaliser l’architecture logicielle d’une application à développer sur la base des exigences fonctionnelles et non fonctionnelles.

1
Définir une architecture logicielle appropriée conformément aux exigences fonctionnelles et non fonctionnelles d’une application et à des consignes d’architecture (logicielle, de système et de réseau).
1.1
Connaître les éléments et caractéristiques d’une architecture logicielle. Pouvoir expliquer ses spécificités et la manière dont elles influencent les caractéristiques fonctionnelles et non fonctionnelles d’une application.
1.2
Pouvoir expliquer comment les éléments et caractéristiques d’une architecture logicielle influencent la structure physique et organisationnelle d’un projet.
1.3
Connaître les éléments et caractéristiques d’une architecture de système dont il faut tenir compte dans la définition d’une architecture logicielle et pouvoir expliquer comment ils influencent l’architecture d’une application.
1.4
Connaître les éléments et caractéristiques d’une architecture de réseau dont il faut tenir compte dans la définition d’une architecture logicielle et pouvoir expliquer comment ils influencent l’architecture d’une application.
2
Décomposer l’application en couches logiques et les attribuer aux couches architecturales correspondantes (tier) compte tenu du modèle architectural choisi.
2.1
Connaître les critères de déploiement d’une application en couches logiques et pouvoir expliquer comment ils influencent le déploiement physique (tier).
2.2
Connaître et pouvoir expliquer les éléments d’un diagramme de paquetage qui contribuent à la description du modèle en couches d’une architecture logicielle.
2.3
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de paquetage et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
2.4
Connaître et pouvoir expliquer les éléments d’un diagramme de déploiement qui contribuent à la description d’une architecture logicielle.
2.5
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de déploiement et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
3
Définir des types d’interactions appropriés entre les couches pour l’architecture en couches choisie compte tenu des exigences fonctionnelles et non fonctionnelles.
3.1
Connaître et pouvoir expliquer les éléments d’un diagramme de composants qui contribuent à la description des composants d’une application.
3.2
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de composants et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
3.3
Connaître et pouvoir expliquer les éléments d’un diagramme de communication qui contribuent à la description du déroulement d’un cas d’utilisation du modèle d’analyse d’une application.
3.4
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de communication et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
4
Définir les consignes de développement de l’application qui garantissent le respect et l’implémentation de l’architecture applicative spécifiée.
4.1
Connaître les consignes fondamentales à respecter dans une architecture applicative et pouvoir expliquer comment elles garantissent la cohérence du développement et de l’implémentation de l’application.
4.2
Connaître les domaines d’utilisation et de fonctionnalité des frameworks logiciels et pouvoir expliquer comment ils influencent l’implémentation d’une application.
5
Définir les exigences et attentes de l’entreprise en matière de développement d’architecture sur la base des constatations résultant de l’élaboration de l’architecture logicielle.
5.1
Connaître le processus fondamental de développement d’une architecture et savoir comment y intégrer les exigences et propositions de modification concernant le développement de l’architecture d’une entreprise.
5.2
Connaître les informations à fournir dans le cadre de la soumission d’exigences et de propositions de modification concernant le développement de l’architecture d’une entreprise et pouvoir expliquer en quoi ces informations sont utiles aux décideurs.
6
Analyser les conséquences de l’évolution des consignes architecturales de l’entreprise pour une application et en déduire les mesures nécessaires en ce qui concerne le développement.
6.1
Connaître les critères selon lesquels il est possible de déterminer l’influence de nouvelles consignes d’architecture (logicielle, de système et de réseau) sur l’architecture applicative.
Durée (Jours)

3

207

Business Management

Analyser et budgétiser des prestations TIC

Examiner le coût des lots de travaux (pack), services et autres prestations de services TIC, à l’aide de méthodes appropriées et établir, dans le cadre des prescriptions de l’entreprise, un budget des dépenses.

1
Analyser et structurer les ressources humaines et techniques nécessaires pour les lots de travaux ou des services définis.
1.1
Connaître des méthodes de décomposition de lots de travaux en étapes de travail (p. ex. structuration) et pouvoir leur attribuer les ressources humaines et techniques nécessaires.
1.2
Connaître des méthodes d’estimation des coûts (méthode analogique, cercle d’experts, etc.) et leurs utilisations possibles en fonction de la situation.
2
Calculer les coûts des ressources humaines et techniques, établir une planification des coûts et analyser la précision des résultats.
2.1
Connaître les interdépendances entre ressources humaines et techniques ainsi que l’impact d’une harmonisation optimale entre ressources humaines et techniques, d’une part, et coûts, de l’autre.
2.2
Connaître des possibilités de structuration adéquate des positions de coûts dans une planification des coûts.
2.3
Connaître la différence entre investissements, coûts de réalisation de projet et charges d’exploitation.
2.4
Connaître des modèles simples de calcul des coûts de lots de travaux.
2.5
Appuyer ses calculs sur des sources d’information adéquates et pouvoir évaluer la précision des résultats.
3
Identifier le cadre financier de la réalisation de services et de lots de travaux sur la base de contrats de clients définis, analyser les économies potentielles et leurs conséquences pour la fourniture des prestations, adapter la planification des coûts en conséquence.
3.1
Connaître des modèles de calcul fournissant les consignes quantitatives et qualitatives de fourniture de prestations à partir de la rémunération convenue.
3.2
Connaître les règles de la création de valeur et savoir quelles sont les exigences de planification des coûts qui en découlent pour la planification du travail en lots de travaux.
3.3
Connaître les interactions entre planification des coûts et budget.
4
Etablir sur la base de la planification des coûts un budget de projet et un budget d’exploitation et les adapter au processus de budgétisation de l’entreprise.
4.1
Connaître le processus de budgétisation et les incidences fondamentales des coûts de projets, des charges d’exploitation et des recettes sur la liquidité de l’entreprise.
4.2
Connaître le contexte de la budgétisation de l’ensemble de l’entreprise et ses conséquences sur la budgétisation du domaine de responsabilités de sa propre activité.
5
Comparer les coûts effectifs et le budget sur la base du contrôle des dépenses du projet et des rapports financiers. En déduire des tendances pour l’avenir et proposer des mesures adéquates de réaction aux écarts.
5.1
Connaître l’incidence des engagements pris (commandes, lots de travaux octroyés à l’interne/externe) sur le contrôle des coûts.
5.2
Connaître des possibilités de mettre en place un suivi pertinent des coûts.
5.3
Connaître des méthodes de comparaison entre coûts engagés et résultats du travail.
5.4
Connaître des possibilités de représentation des écarts entre planification des coûts et budget, d’analyse de la situation et des tendances et d’estimation des développements futurs.
5.5
Connaître l’utilisation du triangle magique et du carré diabolique, qui permettent d’élaborer des propositions de correction à partir de la situation analysée.
Durée (Jours)

2

249

Project Management

Planifier et superviser des projets

Planifier, superviser et piloter un projet conformément au mandat de projet.

1.
Analyser un mandat de projet, le vérifier le cas échéant avec le mandant, le préciser si nécessaire et établir une planification générale de projet.
1.1
Connaître les rôles d’un projet et savoir quelles sont leurs tâches, compétences et responsabilités au sein de l’organisation de projet.
1.2
Connaître les caractéristiques que doit présenter un objectif pour être complet. Savoir comment elles permettent d’aboutir à un accord précis entre mandant et mandaté et comment elles aident le mandaté à réaliser les objectifs convenus.
1.3
Connaître les facteurs relatifs au contenu, aux délais et au budget qui influencent le déroulement du projet et pouvoir expliquer comment en tenir compte dans l’élaboration d’une planification de projet.
1.4
Connaître les méthodes de planification permettant d’atteindre les objectifs de délai, de qualité et de contenu (GANTT, plan PERT, organigramme de tâches, etc.).
1.5
Connaître les principes fondamentaux du déroulement structuré d’un projet.
1.6
Connaître les différents modèles de démarche (chute d’eau, Scrum, HERMES, modèle du cycle en V, etc.) et leurs différences.
1.7
Connaître différentes formes d’organisation de projet (task force, coordination de projet, matrice, etc.).
2.
Décomposer les livrables du projet en sous‐projets et lots de travaux. Formuler les mandats de travail correspondants en les assortissant d’objectifs techniques, économiques et de délais.
2.1
Savoir comment les livrables du projet sont représentés et documentés dans un organigramme de tâches
2.2
Connaître les critères à prendre en compte dans la constitution de lots de travaux et pouvoir expliquer comment ils contribuent à une répartition judicieuse du travail et au déroulement efficace d’un projet.
2.3
Connaître les exigences que doit remplir un mandat de travail pour être ciblé et adapté à son destinataire (cohérence, délimitation précise ou coïncidence avec les objectifs du projet, etc.).
2.4
Connaître les critères utilisés pour définir des sous‐projets.
3.
Planifier sur la base des objectifs techniques, économiques et des délais le suivi des sous‐projets et lots de travaux.
3.1
Connaître les outils et méthodes de suivi d’un projet et pouvoir expliquer comment ils contribuent à la réalisation optimale des objectifs.
3.2
Connaître la signification des facteurs d’influence environnementaux et savoir comment ils influent la réalisation des objectifs, autrement dit comment ils doivent être pris en compte
4.
Planifier la communication de projet conformément aux consignes figurant dans le mandat de projet et aux parties prenantes définies dans l’organisation de projet
4.1
Savoir quels sont les besoins d’information découlant des exigences formulées dans le mandat de projet et du suivi du projet.
4.2
Savoir comment concrétiser ces exigences dans un plan de communication de projet.
5.
Choisir des exécutants compétents pour la réalisation des sous‐projets et des lots de travaux et leur attribuer des missions.
5.1
Connaître les critères qualitatifs et personnels à remplir pour réaliser des lots de travaux.
5.2
Connaître les caractéristiques que doit présenter un mandat de travail pour être complet.
5.3
Connaître les exigences de délai, qualitatives, environnementales et économiques que doit satisfaire l’attribution de sous‐projets
5.4
Connaître les éléments que doit contenir un mandat de sous‐projet. Connaître les directives internes relatives à l’attribution de sous‐projets.
6.
Identifier et analyser les risques liés au projet et proposer des mesures propres à les maîtriser.
6.1
Pouvoir décrire la démarche systématique d’analyse des risques et la contribution de chacune de ses étapes à l’identification, à l’évaluation et à la maîtrise des risques des projets.
6.2
Pouvoir indiquer des mesures adéquates de maîtrise des risques, expliquer leur efficacité. Savoir comment elles s’intègrent dans le processus de planification.
7.
Assurer le suivi permanent de l’avancement du projet, mettre en œuvre les mesures de pilotage adéquates et les coordonner si nécessaire avec le mandant.
7.1
Connaître des méthodes de suivi permanent de l’avancement d’un projet, de sous‐projets et de lots de travaux (rapports de travail, rapports d’avancement, rapports concernant les livrables, revues, etc.).
7.2
Connaître des mesures de pilotage de projets qui peuvent être prises suite à l’identification d’écarts de planification lors du contrôle d’avancement. Savoir comment elles s’intègrent dans le processus de planification.
7.3
Connaître les caractéristiques des mesures de pilotage prises en cas d’écart de planification qui définissent l’instance qui décide de leur réalisation. Pouvoir indiquer pourquoi leur prise en compte permet d’impliquer les décideurs en fonction de leur compétence.
8.
Planifier le processus de traitement des demandes de modification concernant le projet, le mettre en place et traiter les demandes de modification en conséquence.
8.1
Connaître les causes possibles d’une modification des conditions générales et des objectifs d’un projet.
8.2
Savoir comment définir un processus de changement adapté au projet.
8.3
Savoir quelles informations concernant la gestion du changement doivent être intégrées dans la documentation de projet.
9.
Rédiger des rapports d’avancement de projet et de phase à l’intention du mandant et les présenter à l’occasion des réunions du comité de projet.
9.1
Connaître les caractéristiques d’un rapport de projet (rapports de jalon, rapports de projet, rapports de phase, demandes d’autorisation de phase, etc.) et savoir comment les préparer à l’intention des décideurs.
9.2
Savoir comment préparer une présentation concernant l’avancement d’un projet et pouvoir expliquer quels sont les critères qui en conditionnent la réussite.
Durée (Jours)

7

451

Quality Management

Tester une application

Développer un concept de tests, en tenant compte de toutes les conditions cadres du développement d’applications, et le mettre en œuvre en respectant les méthodes d’assurance qualité logicielle.

1
Développer un concept de test en tenant compte des objectifs du projet, des directives, des normes et de la stratégie de test.
1.1
Connaître les différentes stratégies de test et pouvoir expliquer à quelles conditions elles peuvent être utilisées dans un projet de développement.
1.2
Connaître les conventions contenues dans un concept de test et pouvoir les caractériser. Connaître la structure et la chronologie d’un concept de test.
1.3
Connaître les méthodes de test courantes et pouvoir expliquer à quels types d’objets de test et à quels niveaux de test elles sont destinées.
2
Spécifier un environnement de test approprié sur la base des consignes de l’entreprise, de la planification de projet, du concept de test et des niveaux de test qui y sont définis.
2.1
Connaître les critères à prendre en compte dans la définition d’un environnement de test et pouvoir expliquer comment le respect de ces critères contribue à la significativité des tests en ce qui concerne le bon fonctionnement de l’application en environnement opérationnel.
3
Préparer les outils de test et définir des consignes pour la spécification des cas de test.
3.1
Connaître les fonctions des outils courants de test et de gestion de test et savoir comment ils contribuent à la fiabilité et à l’efficacité du déroulement des tests applicatifs.
3.2
Connaître les possibilités de configuration des fonctions des outils courants de test et de gestion de test et pouvoir en expliquer l’influence sur l’implémentation et la réalisation des tests.
3.3
Connaître les éléments de définition des modèles de test et savoir comment ils contribuent à l’implémentation et la réalisation correcte des tests.
4
Elaborer un scénario de test approprié compte tenu des niveaux de test, objectifs et jalons définis dans le concept de test.
4.1
Connaître les éléments d’une description de cas de test et pouvoir expliquer comment ils contribuent à la concrétisation d’une application.
4.2
Connaître les exigences que doit remplir la spécification des éléments d’une description de cas de test et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
5
Elaborer des cas de test compte tenu des méthodes de création de cas de test définis dans le concept de test.
5.1
Connaître les éléments d’un scénario de test et pouvoir expliquer comment ils contribuent à la cohérence et à l’efficacité du déroulement des tests.
6
Elaborer des tests automatisables, implémenter le script et mettre les données nécessaires à disposition sous une forme lisible.
6.1
Connaître les conditions qui justifient l’automatisation d’un test et pouvoir expliquer le lien entre ces conditions et l’efficacité et la fiabilité du déroulement du test.
6.2
Connaître les règles d’implémentation des tests automatisés et savoir comment elles influencent la réalisation des tests ou contribue à leur implémentation correcte.
7
Procéder à des tests sur la base du scénario de test, regrouper et évaluer les résultats de tests, rédiger et analyser des avis d’erreur et les documenter dans un rapport à l’intention des décideurs.
7.1
Connaître les critères d´interprétation différenciée des résultats de tests courants et pouvoir expliquer les conclusions qu’ils permettent de tirer quant à la qualité d’une application.
7.2
Connaître les critères que doit remplir une analyse traçable de résultats / d’interprétations de tests et savoir comment ils contribuent à l’évaluation des résultats de tests et à la prise de décision.
8
Archiver les artefacts et documents de tests pour garantir la traçabilité des résultats de tests.
8.1
Connaître les caractéristiques d’un archivage structuré des résultats de tests et pouvoir expliquer comment ils garantissent la traçabilité et l’accessibilité des résultats de tests.
8.2
Connaître l’importance de l’archivage des tests et de leurs résultats pour la réutilisabilité et l’administration de la preuve en cas de réclamation pour non‐conformité.
Durée (Jours)

2

452

Quality Management

Implémenter la gestion des versions et des mises à jour

A partir des exigences et consignes d’exploitation, définir le management des versions et des mises à jour et prendre les mesures nécessaires à sa mise en place.

1
Regrouper les composants d’un système formant des ensembles logiques et fonctionnels en unités de mise en production (release).
1.1
Connaître les facteurs sur la base desquels les composants d’un système formant des ensembles logiques et fonctionnels sont regroupés en unités de mise en production.
1.2
Pouvoir décrire une unité de mise en production (release) et ses interdépendances sur le plan des applications, de la programmation et de la technique de système.
1.3
Pouvoir expliquer l’utilisation des différents types de version: version principale, version secondaire et version d’urgence.
1.4
Connaître les directives permettant de distinguer les composants de versions et les mises à jour.
2
Déterminer la nécessité d’une nouvelle version sur la base des exigences techniques, opérationnelles et organisationnelles.
2.1
Savoir comment évaluer les aspects fonctionnels d’une version et les harmoniser avec les exigences internes.
2.2
Pouvoir identifier l’unité de mise en production déterminante, les composants concernés et leur intégration fonctionnelle sur la base des exigences techniques, opérationnelles ou organisationnelles.
2.3
Savoir quels sont les groupes d’intérêts à consulter pour la définition et la planification d’une version.
2.4
Savoir coordonner la planification fonctionnelle et le calendrier d’une version avec les exigences techniques, opérationnelles et organisationnelles.
3
Rédiger la description et actualiser le niveau de la version planifiée et la faire valider.
3.1
Pouvoir décrire les informations que doivent contenir les descriptions de versions et de mises à jour en fonction de leur composition et des changements qu’elles implémentent.
3.2
Connaître les paramètres qui conditionnent la numérotation des versions et des mises à jour.
3.3
Pouvoir expliquer pourquoi et comment les descriptions de version sont utilisées pour préparer la validation d’une version.
3.4
Pouvoir expliquer quelles sont les instances responsables de la validation d’une version et quelle est leur place dans le processus de validation.
4
Garantir par des tests adéquats que la version future remplit toutes les exigences définies. Superviser le développement de la version.
4.1
Savoir quelles sont les instances responsables de la réalisation technique d’une version et connaître leur influence sur la réalisation.
4.2
Pouvoir expliquer comment est réglementée la livraison d’une version du développement (p. ex. équipe d’ingénierie) au test (p. ex. service de test de systèmes).
4.3
Pouvoir expliquer comment une unité de mise en production ainsi que la description et la nature d’une version conditionnent le type et la portée des tests.
4.4
Connaître les utilisations possibles d’outils techniques d’automatisation de tests.
4.5
Connaître la fonction et les utilisations possibles des exigences, des spécifications, des descriptions et des rapports de test.
5
Planifier le déploiement de la version en y intégrant pour les cas d’urgence un processus de restauration des fonctionnalités précédentes. Superviser l’introduction de la nouvelle version.
5.1
Connaître les différentes phases d’introduction d’une version et leur fonction spécifique.
5.2
Savoir quelles sont les instances qui introduisent une version sur le plan technique et organisationnel. Connaître des outils permettant de vérifier les résultats de l’introduction d’une version.
5.3
Savoir comment les scénarios de retour à la version antérieure (fallback) sont développés et connaître les situations dans lesquelles ces scénarios interviennent.
6
Mettre à jour la documentation système et applications et actualiser la base de données de configuration.
6.1
Connaître les composants de la documentation utilisateur et système concernés par le déploiement d’une unité de mise en production donnée et pouvoir en expliquer la signification.
6.2
Savoir comment la documentation utilisateur et système est mise à jour et actualisée sur la base des modifications de version (version des documents, validation des documents, assurance qualité, etc.).
6.3
Connaître le rôle d’une base de données de configuration. Pouvoir expliquer comment les unités de mise en production sont reproduites dans la base de données de configuration de l’entreprise et comment elle doit être adaptée lors de l’introduction d’une version.
7
Définir un système de gestion des mises à jour effectuées en dehors du cycle des versions pour procéder à des actualisations urgentes de sécurité.
7.1
Pouvoir expliquer les critères selon lesquels un composant modifié est déployé sous la forme d’une mise à jour (mise à jour de sécurité) ou dans le cadre d’une version.
7.2
Connaître des outils techniques d’automatisation de la gestion des versions ou des programmes et services de déploiement de mises à jour.
7.3
Savoir quelles sont les exigences sur le plan des applications, de la programmation et de la technique de systèmes qui influent sur le processus de gestion des mises à jour.
7.4
Savoir quels outils (descriptions de patch, tests, groupes de test bêta, etc.) permettent de minimiser les dysfonctionnements de l’activité dus à des mises à jour.
8
Définir un processus de développement et de déploiement de mises à jour d’urgence destinées à adapter des applications en dehors du cycle de versions.
8.1
Savoir comment définir les critères d’une version d’urgence et comment coordonner le déploiement de versions d’urgence avec les responsables de l’exploitation.
8.2
Savoir quels sont les facteurs (urgence, portée, etc.) qui influencent le processus de déploiement d’une version d’urgence.
8.3
Savoir quelles sont les mesures de précaution à prendre dans le cadre du déploiement d’une version d’urgence (scénario de secours, sauvegarde des données, etc.).
Durée (Jours)

2

459

Quality Management

Procéder à une revue du code

Vérifier la qualité technique du code d’une application et mettre en oeuvre des mesures pour l’amélioration de celle-ci.

1
Définir les critères et normes techniques que doit satisfaire le code source ou, autrement dit, dont la revue de code doit prouver le respect sur la base des consignes de développement de l’entreprise et des exigences spécifiques envers le logiciel à développer.
1.1
Connaître les objectifs de qualité applicative vérifiés au moyen des revues de code. Pouvoir citer des résultats concrets dans un code source et expliquer leurs conséquences en ce qui concerne la réalisation des objectifs.
1.2
Connaître les points faibles courants du code source (code smells) et pouvoir expliquer leurs conséquences en ce qui concerne sa réutilisation, son traitement ou son exécution.
1.3
Connaître les critères courants d’évaluation et les normes techniques de création de code source. Pouvoir expliquer les objectifs de qualité applicative auxquels ils correspondent et les points faibles qu’ils permettent de déceler ou d’éviter.
1.4
Connaître les critères découlant du framework utilisé pour l’application ou, autrement dit, des règles qui y sont définies. Pouvoir indiquer comment ils garantissent l’utilisation correcte du framework.
2
Sélectionner les méthodes de vérification ou les outils qui garantissent un contrôle fiable et efficace de la satisfaction des critères ou, autrement dit, du respect des normes techniques par le code source.
2.1
Connaître des mesures de vérification qui prouvent la qualité du code. Pouvoir expliquer à quels critères et normes elles se réfèrent et comment elles vérifient la satisfaction de ces critères et normes.
3
Procéder à une vérification du code de programme à l’aide des méthodes de vérification et outils sélectionnés.
3.1
Connaître la structure des langages de programmation du code source à vérifier et pouvoir indiquer comment en tenir compte dans les spécifications de test afin d’obtenir des résultats fiables concernant la qualité.
4
Analyser et évaluer au moyen des métriques de qualité logicielle si le code source satisfait les critères ou, autrement dit, respecte les normes techniques.
4.1
Pouvoir indiquer les métriques de qualité adaptées aux critères et normes courants et expliquer quelles sont les preuves de satisfaction des critères vérifiés et de respect des normes qu’elles fournissent.
5
Prioriser les résultats des revues de code et en déduire des recommandations qui figureront dans le rapport de qualité destiné au responsable de projet ou au mandant.
5.1
Connaître les critères de priorisation des résultats de vérification de qualité d’un code source. Pouvoir expliquer sur la base de la structure d’un code source et des interdépendances qui y figurent pourquoi ces critères doivent être pris en compte dans le développement de l’application.
5.2
Connaître les éléments d’information que doit contenir le rapport d’analyse, d’expertise, de vérification, etc. d’un fait destiné à un mandant ainsi que les exigences qu’il doit remplir. Pouvoir expliquer comment ces exigences influencent la traçabilité et permettent une prise de décision rationnelle.
6
Rédiger un mandat contraignant d’adaptation du code source en fonction des résultats priorisés.
6.1
Connaître les éléments que doit obligatoirement contenir un mandat complet destiné à une personne ou à une équipe et les critères qu’il doit satisfaire. Pouvoir expliquer comment ils contribuent au bon déroulement du mandat ou, autrement dit, à la réalisation des objectifs.
Durée (Jours)

2

475

Application Engineering

Développer une analyse pour une application

Développer à partir des exigences fonctionnelles et non fonctionnelles pour une application, les artefacts de l’analyse orientée objets. Effectuer des études de faisabilité en regard des possibilités techniques de mise en oeuvre des exigences.

1
Identifier les exigences déterminantes pour la conception et le design de l’application sur la base du catalogue structuré d’exigences et d’autres consignes concernant le système à développer.
1.1
Connaître les perspectives (IREB) qui structurent le catalogue d’exigences d’un système et leur importance pour le développement d’une application.
2
Définir les artefacts nécessaires à un développement différencié et traçable compte tenu de la complexité de l’application à développer et de la méthode de développement.
2.1
Connaître les étapes méthodologiques fondamentales du processus de développement logiciel (Open Unified Process) et pouvoir indiquer comment le développement agile les influence.
2.2
Connaître les consignes d’UML en ce qui concerne la création des artefacts du développement logiciel orienté objet et savoir comment elles contribuent à la concrétisation d’une application.
3
Identifier et décrire l’application sous forme de cas d’utilisation (modèle de cas d’utilisation) et d’objets métier essentiels (modèle de domaine) sur la base des exigences identifiées.
3.1
Connaître les éléments d’une description de cas d’utilisation et pouvoir expliquer comment ils contribuent à la concrétisation d’une application.
3.2
Connaître les exigences que doit remplir la spécification des éléments d’une description de cas d’utilisation et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
3.3
Connaître et pouvoir expliquer les éléments d’un diagramme de cas d’utilisation qui contribuent à la description du modèle de cas d’utilisation d’une application.
3.4
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de cas d’utilisation et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
3.5
Connaître et pouvoir expliquer les éléments d’un diagramme d’activité qui contribuent à la description du modèle en couches d’une architecture logicielle.
3.6
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme d’activité et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
3.7
Connaître et pouvoir expliquer les éléments d’un diagramme de classes qui contribuent à la description du modèle de domaine d’une application.
3.8
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de classes et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
3.9
Connaître et pouvoir expliquer les éléments d’un diagramme d’objet qui contribuent à la description des composants d’une application.
3.10
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme d’objet et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
4
Prioriser systématiquement les cas d’utilisation (use cases) compte tenu de leur importance pour l’entreprise et de leur faisabilité.
4.1
Connaître les méthodes et techniques qui permettent de prioriser des cas d’application en fonction des exigences et pouvoir en expliquer les résultats.
5
Réaliser les cas d’utilisation (use cases) priorisés sous forme de modèles de classes et de diagrammes d’interaction (modèle d’analyse).
5.1
Connaître et pouvoir expliquer les éléments d’un diagramme de classes qui contribuent à la description du modèle d’analyse d’une application.
5.2
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de classes et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
5.3
Connaître et pouvoir expliquer les éléments d’un diagramme de communication qui contribuent à la description du déroulement d’un cas d’utilisation du modèle d’analyse d’une application.
5.4
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de communication et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
6
Spécifier pour les cas d’utilisation et les exigences qu’ils comportent des cas de test garantissant une vérification fiable de la fonctionnalité de l’application.
6.1
Connaître les éléments d’une description de cas de test et pouvoir expliquer comment ils contribuent à la concrétisation d’une application.
6.2
Connaître les exigences que doit remplir la spécification des éléments d’une description de cas de test et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
7
Etudier la faisabilité technique et la précision des attentes de l’entreprise quant à la fonctionnalité souhaitée. Décider si un prototype doit être réalisé. Le cas échéant, déterminer le moment de sa réalisation dans le processus de développement et sa portée.
7.1
Connaître les méthodes et techniques qui permettent de préparer des résultats d’analyse pour la phase suivante du projet.
7.2
Connaître les éléments que doit obligatoirement contenir un mandat complet destiné à une personne ou à une équipe et les critères qu’il doit satisfaire. Pouvoir expliquer comment ils contribuent au bon déroulement du mandat ou, autrement dit, à la création d’un prototype.
Durée (Jours)

5

476

Application Engineering

Développer le design logique d’une application

Développer les artefacts du design orienté objet d’une application.

1
Identifier et définir les composants à développer à partir du modèle d’analyse des exigences non fonctionnelles et de l’architecture choisie. Concevoir sur cette base le modèle en couches de l’application.
1.1
Connaître et pouvoir expliquer les éléments d’un diagramme de composants qui contribuent à la description du modèle en couches d’une application.
1.2
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de composants et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
1.3
Connaître et pouvoir expliquer les éléments d’un diagramme de paquetage qui contribuent à la description du modèle en couches d’une application.
1.4
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de paquetage et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
2
Identifier et définir les composants physiques de l’application à partir du modèle en couches, des exigences non fonctionnelles et des consignes d’architecture. Déterminer leur déploiement dans l’infrastructure du système.
2.1
Connaître et pouvoir expliquer les éléments d’un diagramme de déploiement qui contribuent à la description d’une application.
2.2
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de déploiement et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
3
Concevoir un modèle métier de sous‐systèmes et de composants compte tenu du modèle d’analyse et des composants à développer.
3.1
Connaître et pouvoir expliquer les éléments d’un diagramme de composants qui contribuent à la description des composants d’une application.
3.2
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de composants et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
4
Concevoir les modèles de classe des composants à développer compte tenu du modèle d’analyse et en recourant au design pattern, aux best practices, etc. en fonction de la solution.
4.1
Connaître et pouvoir expliquer les éléments d’un diagramme de classes qui contribuent à la description des composants d’une application.
4.2
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de classes et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
4.3
Connaître et pouvoir expliquer les éléments d’un diagramme de structure composite qui contribuent à la description des composants d’une application.
4.4
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme de structure composite et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
4.5
Connaître et pouvoir expliquer les design patterns (patrons de conception) qui contribuent au développement d’un composant et de l’application.
4.6
Connaître les exigences que doit remplir la spécification des design patterns et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
5
Concevoir les modèles d’état qui définissent le comportement des objets et interactions dans et entre les composants à développer compte tenu du modèle d’analyse et en recourant au design pattern, aux best practices, etc. en fonction de la solution.
5.1
Connaître et pouvoir expliquer les éléments d’un diagramme d’état qui contribuent à la description des modèles d’état d’une application.
5.2
Connaître les exigences que doit remplir la spécification des éléments d’un diagramme d’état et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
6
Elaborer pour les composants à développer des unit tests orientés processus adéquats et automatisables.
6.1
Connaître et pouvoir expliquer les éléments de l’unité tests automatisés qui contribuent à la vérifiabilité du code de programme développé pour une application.
6.2
Connaître et pouvoir expliquer les éléments de l’unité tests automatisés qui contribuent à la vérifiabilité du code de programme développé pour une application.
7
Choisir les éléments adéquats pour développer des interfaces utilisateur en fonction des attentes des utilisateurs et créer ces interfaces conformément aux consignes de style et d’utilisabilité de la plateforme qui les accueillera.
7.1
Connaître et pouvoir expliquer les éléments d’un prototype d’écran qui contribuent à la description du modèle de domaine d’une application.
7.2
Connaître les exigences que doit remplir la spécification des éléments d’un prototype d’écran et pouvoir expliquer comment elles garantissent un accord contraignant en ce qui concerne la suite du développement de l’application.
Durée (Jours)

3

477

Application Engineering

Implémenter le design physique d’une application

Développer et implémenter le design physique afin de satisfaire adéquatement les exigences fonctionnelles et non fonctionnelles envers une application.

1
Définir le modèle de traitement à implémenter (par lots, en ligne, en temps réel, etc.) sur la base des exigences fonctionnelles et non fonctionnelles d’une application.
1.1
Connaître les modèles de traitement d’une application (par lots, en ligne, en temps réel, etc.) et pouvoir expliquer leur contribution à la satisfaction des exigences fonctionnelles et non fonctionnelles.
1.2
Connaître les éléments de définition des modèles de traitement et savoir comment ils contribuent à l’implémentation et à la réalisation correcte du modèle de traitement.
2
Réaliser le déroulement coordonné et fiable de traitements parallèles (multithread) au moyen des mécanismes de synchronisation nécessaires.
2.1
Connaître les mécanismes de synchronisation nécessaires à la réalisation de traitements parallèles (threads/processus) et pouvoir expliquer leur contribution à la coordination et à la fiabilité du déroulement.
2.2
Connaître les techniques et les règles d’implémentation de mécanismes de synchronisation et savoir comment elles contribuent à l’implémentation des threads et des processus.
3
Réaliser des interactions synchrones et asynchrones dans une architecture orientée services au moyen de services Web.
3.1
Connaître les techniques et mécanismes nécessaires au développement d’une architecture orientée services et pouvoir expliquer leur utilité pour l’entreprise.
3.2
Connaître les techniques et les règles d’implémentation de services dans une architecture orientée services et savoir comment elles contribuent à l’implémentation correcte de services.
4
Définir et implémenter des concepts appropriés pour garantir la cohérence d’objets dans plusieurs fuseaux horaires (les fonctions de manipulation de date du fuseau horaire sont traitées en conséquence).
4.1
Connaître les mécanismes nécessaires pour garantir la cohérence d’objets dans plusieurs fuseaux horaires et pouvoir expliquer leur utilité pour l’application.
4.2
Connaître les techniques et règles d’implémentation de la gestion de manipulations de date et savoir quelle est leur contribution à l’implémentation correcte dans plusieurs fuseaux horaires.
5
Définir et implémenter des concepts appropriés pour représenter des informations d’objet, des dialogues applicatifs, des menus, des aides, etc. en plusieurs langues.
5.1
Connaître les mécanismes nécessaires pour représenter des informations d’objet, des dialogues applicatifs, des menus, des aides, etc. en plusieurs langues et pouvoir expliquer leur utilité pour l’application.
5.2
Connaître les techniques et règles d’implémentation nécessaires pour représenter des informations en fonction de la langue et savoir quelle est leur contribution à l’implémentation correcte dans l’application.
6
Définir et implémenter des concepts appropriés pour créer des applications capables de gérer plusieurs mandants.
6.1
Connaître les mécanismes nécessaires pour créer une application capable de gérer plusieurs mandants et pouvoir expliquer leur utilité pour l’application.
6.2
Connaître les techniques et règles d’implémentation nécessaires pour structurer des informations en fonction du mandant dans une application et savoir quelle est leur contribution à l’implémentation correcte dans l’application.
7
Définir et implémenter des concepts appropriés pour garantir le contrôle d’accès à une application et sa protection contre les accès non autorisés.
7.1
Connaître les mécanismes nécessaires pour structurer le contrôle et la protection d’accès d’une application et pouvoir expliquer leur utilité pour l’application.
7.2
Connaître les techniques et règles d’implémentation nécessaires pour garantir le contrôle et la protection d’accès d’informations dans une application et savoir quelle est leur contribution à l’implémentation correcte dans l’application.
8
Définir et implémenter des concepts appropriés pour créer des processus métier transactionnels.
8.1
Connaître les mécanismes nécessaires pour créer des processus métier transactionnels dans une application et pouvoir expliquer leur utilité pour l’application.
8.2
Connaître les techniques et règles d’implémentation nécessaires pour créer des processus métier transactionnels et savoir quelle est leur contribution à l’implémentation correcte dans l’application.
9
Définir et implémenter des concepts appropriés pour garantir la traçabilité des modifications d’objets.
9.1
Connaître les mécanismes nécessaires pour garantir la traçabilité des modifications d’objets et pouvoir expliquer leur utilité pour l’application.
9.2
Connaître les techniques et règles d’implémentation nécessaires pour garantir la traçabilité des modifications d’objets et savoir quelle est leur contribution à l’implémentation correcte dans l’application.
Durée (Jours)

3

478

Application Engineering

Mettre à disposition un environnement de développement

Utiliser des outils appropriés pour le cycle de vie complet de l’application en cours de développement

1
Définir les outils d’un environnement de développement utilisés dans les différentes phases du cycle de vie d’une application en fonction de ses caractéristiques et de l’architecture logicielle choisie.
1.1
Connaître les outils de base disponibles dans un environnement de développement. Pouvoir expliquer dans quelles phases du cycle de vie d’une application ils sont utilisés et quelle y est leur fonction.
1.2
Connaître les principales caractéristiques des applications et de l’architecture logicielle qui influencent l’utilisation des outils et pouvoir en expliquer les interdépendances.
2
Installer et configurer l’environnement de développement (IDE) conformément aux consignes standard de l’entreprise et du fournisseur sur un poste de travail de développeur
2.1
Connaître les possibilités fondamentales de configuration d’un IDE qui permettent de garantir le respect des styles de codage et des consignes de développement dans les projets IDE.
2.2
Connaître les mécanismes permettant d’étendre les fonctionnalités des IDE et connaître les règles à respecter pour l’installation de ces extensions (plug‐ins, add‐ons, etc.).
3
Définir la structure des projets dans un environnement de développement. Déterminer les éléments de structure à lier à une version et implémenter ces consignes dans l’environnement de développement.
3.1
Connaître les caractéristiques de la structure de projet modulaire et pouvoir indiquer comment leur respect structure et facilite le développement.
3.2
Connaître des mécanismes permettant de gérer les interdépendances dans un projet IDE et avec des composants extérieurs (bibliothèques tierces) et savoir expliquer comment leur utilisation structure et améliore le développement.
4
Définir les consignes de versionnage pour le développement simultané de plusieurs versions et releases afin qu’il soit possible de restaurer un état défini en tout temps.
4.1
Connaître des mécanismes d’outils de gestion de code source (SCM) assistant le développement simultané dans plusieurs branches de développement et pouvoir expliquer comment ils garantissent la traçabilité permanente d’un état défini.
4.2
Connaître des méthodes et des processus permettant de coordonner le travail de plusieurs développeurs, de communiquer le cycle de vie d’une application et d’expliquer comment ils permettent de garantir la circulation des informations entre le développement et la gestion des versions.
5
Définir les fonctionnalités et configurer l’exécution des fonctions d’un serveur d’intégration continue compte tenu des exigences et conditions spécifiques d’un processus de création logicielle.
5.1
Connaître les fonctions de base d’un serveur d’intégration continue (serveur IC) et pouvoir expliquer comment elles assistent le processus de développement et garantissent que l’état actuel du développement (avancement du travail, documentation et qualité) soit toujours disponible.
5.2
Connaître les possibilités fondamentales de configuration des fonctions d’un serveur IC et pouvoir expliquer comment elles influencent le processus de développement de l’application et de ses composants et fournissent le soutien attendu.
5.3
Connaître les mécanismes fondamentaux des outils permettant de gérer les artefacts développés et leurs composants dépendants (bibliothèques tierces) dans un référentiel (repository) et savoir expliquer comment ils influencent la structure des projets IDE et les scripts de génération.
6
Elaborer des scripts pour l’automatisation de la génération, du paquetage, du déploiement et du versionnage des sources utilisées (code de programme et documentation correspondante).
6.1
Savoir élaborer des scripts pour l’automatisation de la génération, du paquetage, du déploiement et du versionnage des sources utilisées (code de programme et documentation correspondante).
6.2
Connaître les fonctions des outils de génération et savoir expliquer comment elles garantissent la création des artefacts dans l’environnement de développement (IDE) et dans le serveur IC.
6.3
Connaître les consignes des systèmes‐cibles des processus de génération (génération, unit test, paquetage, déploiement) et pouvoir indiquer comment elles doivent être prises en compte dans l’automatisation des processus de génération.
Durée (Jours)

2

479

Data Management

Réaliser un modèle de données

Elaborer le modèle de données physique à partir du design orienté objet et représenter l’accès aux données de l’objet modélisé.

1
Analyser les exigences de persistance des objets sur la base des artefacts de l’analyse et du design et en déduire la manière dont ils seront stockés.
1.1
Connaître les caractéristiques des objets qui conditionnent le type et la portée de leur persistance et pouvoir indiquer comment elles influencent les décisions concernant la persistance des objets.
1.2
Connaître des méthodes permettant de stocker des objets de manière persistante et pouvoir expliquer quelles sont leurs caractéristiques en ce qui concerne l’accès.
2
Développer le modèle de données conceptuel pour les objets qui seront stockés dans une base de données relationnelles sur la base des classes d’entités et de leurs caractéristiques.
2.1
Connaître les différences fondamentales de structuration des informations entre les modèles de classes et les modèles de données relationnels et pouvoir expliquer les conflits structurels qui en découlent lors de la migration.
2.2
Connaître des techniques et des règles permettant de dériver un modèle logique de données relationnel à partir d’un modèle de classes et savoir expliquer comment elles permettent de parvenir à une cohérence entre les deux modèles.
3
Convertir le modèle de données logique en modèle de données physique compte tenu des conventions et des restrictions du système de base de données choisi.
3.1
Connaître les conventions et restrictions fondamentales concernant la conversion d