Domaine g : Développement d'applications
Ce domaine couvre les compétences liées au développement logiciel
Compétences opérationnelles
g1 - Analyser et documenter les besoins en matière d'applications et d'interfaces
8 objectifsDans une première étape, ils consignent les besoins du client sous forme d’exigences techniques et spécifiques à son activité professionnelle. Afin de mieux cerner la perspective des utilisateurs, ils décrivent avec leur équipe et les parties prenantes concernées les groupes cibles et leurs besoins (p. ex. au moyen de personas). Cette phase peut être effectuée dans le cadre d’un workshop. Sur cette base, ils vérifient les exigences techniques devant être remplies par une application et les interfaces (p. ex. interface utilisateur [UI], REST, senso- rique, périphérie) quant à leur cohérence, exhaustivité et mesurabilité (critères d’acceptation). Ils consignent les informations relatives aux conditions cadres, au contexte et à la délimitation ainsi que la définition des termes. Si nécessaire, ils complètent les exigences. Dans une deuxième étape, ils dressent le catalogue des besoins, c.-à-d. qu’ils trient et regroupent ceux-ci selon des critères spécifiques à l’activité ou au projet (p. ex. besoins fonc- tionnels, non fonctionnels, qualité). Ils enregistrent les résultats dans le système (p. ex. backlog, issues, use cases, user stories) ou les consignent sur papier et leur attribuent une dénomination explicite (identification). Dans une troisième étape, ils évaluent en équipe l’investissement en temps nécessaire, la complexité, le périmètre et la priorisation des lots de travail. Selon la situation, ils coor- donnent la procédure avec le responsable de projet ou le propriétaire du produit. En concertation avec les parties prenantes, ils vérifient la validité des exigences définitives et s’assurent qu’il n’y ait pas de malentendus. En cas de changements au cours du développement applicatif, les exigences sont mises à jour (procédure itérative).
g2 - Vérifier la faisabilité technique des prototypes d'interfaces utilisateur et les développer
0 objectifsLes informaticiennes et informaticiens vérifient la faisabilité technique des prototypes d’interfaces utilisateur et les développent en termes de convivialité: Ils reçoivent du mandant ou d’autres partenaires des directives et consignes conceptuelles applicables aux interfaces utilisateur. Sur cette base, ils développent des maquettes ou des modèles d’interfaces fonctionnels (p. ex. mock-up, grid, wireframe) en utilisant des outils graphiques. Selon la situation, ils apportent des adaptations aux ébauches déjà élabo- rées. Ils identifient ensuite les éléments problématiques de l’interface utilisateur, p. ex. les informations interdépendantes ou les composants non standards. Ils vérifient la faisabilité de ces éléments à l’aide de prototypes élaborés sur papier ou au moyen d’outils. Ce faisant, ils tiennent compte de différents aspects tels que l’étendue des informations, les dépen- dances entre les champs, les éléments d’interaction, la navigation, la réactivité, les règles d’or du design ou l’accessibilité. Ils discutent des éléments techniques non réalisables avec les parties prenantes. Ils leur proposent des solutions et adaptent le prototype en conséquence. Sur la base du ou des prototypes, ils développent finalement les interfaces utilisateur fonctionnelles en utilisant des méthodes et des outils actuels.
g3 - Evaluer et documenter la sécurité des applications et des interfaces
0 objectifsLes informaticiennes et informaticiens évaluent la sécurité des applications et des interfaces et documentent leurs résultats: Ils clarifient tout d’abord les questions de sécurité relatives à l’environnement système, p. ex. quelles sont les interfaces existantes, qui sont les utilisateurs de l’application, quels autres systèmes accèdent à l’application, quel est le besoin de protection des données respectivement de l’application (disponibilité, confidentialité, fiabilité, intégrité), quelles di- rectives internes ou prescriptions légales doivent être respectées. Sur la base de leur examen, ils déduisent les risques auxquels peuvent être exposées l’application et ses interfaces. A cet égard, ils adoptent une démarche prospective et mettent en évidence les méthodes de menaces et les manipulations possibles provenant de l’extérieur. Ils discutent en équipe des résultats de leur analyse et en tirent les mesures appropriées qu’ils consignent (p. ex. encryptage des données, sécurité d’accès, gestion des identités, escaping). Enfin, ils adaptent le catalogue des exigences en fonction de leurs constats et en discutent avec la partie prenante.
g4 - Elaborer des variantes de mise en œuvre d'une application et développer la solution sur le plan conceptuel
0 objectifsLes informaticiennes et informaticiens élaborent des variantes de mise en œuvre d’une application et développent un concept de réalisation pour la variante choisie. Dans ce contexte, ils travaillent en étroite collaboration avec leur équipe et les parties prenantes: A l’aide d’ébauches et de descriptions, ils présentent tout d’abord les variantes fondamentales en regard de leur implémentation (p. ex. technologies, composants, frameworks, librairies, systèmes). Conjointement avec les parties prenantes respectives, ils établissent une analyse d’utilité compréhensible des différentes variantes avec des critères décision- nels pertinents et évaluables. Sur la base de l’analyse d’utilité, ils conseillent la partie prenante dans sa prise de décision en vue de lui faire adopter la solution optimale. Ce faisant, ils veillent à ce que la solution soit défendable sur les plans éthique et légal. Enfin, ils vérifient la variante choisie, éventuellement sous la forme d’une analyse de faisabilité (→ a3). Sur cette base, ils élaborent progressivement un concept de réalisation technique et spécialisé (p. ex. uses cases, composants, couches, déroulement, interfaces, classes, modèle de données). A cet effet, ils analysent les données, procédures, systèmes et interfaces pertinents et documentent leurs résultats. Ils utilisent pour ce faire des outils appropriés, p. ex. le langage de modélisation unifié (UML) ou d’autres diagrammes. Selon la situation, ils peuvent aussi concevoir des adaptations pour des applications existantes.
g5 - Implémenter les applications et les interfaces selon le concept en respectant les exigences de sécurité
0 objectifsSur la base des exigences définies et des ébauches/modèles développés, les informaticiennes et informaticiens implémentent les applications et les interfaces. Il peut s’agir de nouvelles applications ou d’une extension apportée à une application existante: Ils mettent tout d’abord en place un environnement de développement et d’exécution approprié. Le concept de réalisation préétabli et les directives de l’entreprise servent de base à cette étape. Ils passent ensuite à la programmation du back-end et du front-end selon les exigences définies. A cet effet, ils utilisent les langages de programmation donnés et des outils de développement. Ils testent régulièrement l’implémentation en vue de détecter des erreurs et les corrigent (débogage). Ils veillent à respecter systématiquement les dispositions réglementaires et les directives techniques (p. ex. frameworks, directives de design). Ils se conforment également aux exigences de sécurité. Lors de l’implémentation, ils veillent à respecter les conventions de code afin de garantir clarté et traçabilité (p. ex. clean code, coding conventions). Ils déposent en continu les éléments programmés dans un système de gestion des logiciels (p. ex. GIT). Ils sont en mesure d’accéder en tout temps aux étapes intermédiaires enre- gistrées. Ce faisant, ils respectent les directives internes de l’entreprise (p. ex. divisions). Ils apportent ensuite d’éventuelles adaptations au concept de réalisation afin de le maintenir à jour. Ils développent rapidement les technologies informatiques. Ils s’informent en continu sur les nouveautés et leurs conséquences (p. ex. quels sont les nouveaux frameworks?) et appliquent les derniers enseignements et avancées technologiques à leur travail quotidien.
g6 - Vérifier la qualité et la sécurité des applications et des interfaces
0 objectifsLes informaticiennes et informaticiens vérifient la qualité et la sécurité des applications et des interfaces sur la base de concepts de tests. Ils garantissent ainsi que les applications sont implémentées conformément aux exigences et les erreurs supprimées, et que l’application sera validée pour la mise en production: Ils établissent tout d’abord un concept de tests où ils décrivent l’environnement de tests de l’application avec les indications pertinentes (p. ex. système, acteur, données, utilisa- teurs, autorisations). Ils définissent ensuite les types de tests qui seront utilisés (p. ex. tests unitaires [unit tests], tests d’acceptation des utilisateurs, tests d’intégration, tests de charge/performance ou tests de sécurité.) Sur cette base, ils déterminent les moyens de test appropriés. Ils décrivent ensuite les cas de test (test cases) en relation avec les cas d’utilisation (use cases) et les exigences. Ce faisant, ils adoptent différents angles d’approche (p. ex. valeurs limites, situations d’erreurs). Ils s’assurent que les cas de test définis sont reproductibles (de manière automatisée ou manuelle). Ils définissent les résultats escomptés et les documentent de façon compréhensible. Si nécessaire, ils mettent en place un environnement de tests au cours d’une autre étape. Le concept de tests préalablement établi leur sert de base dans ce contexte. Ils implémen- tent, dans la mesure du possible, des cas de tests automatisables. Ils exécutent ensuite tous les cas de test, évaluent le déroulement du test et consignent les résultats dans un rapport. Ils adoptent une démarche rigoureuse et établissent un rap- port clair et compréhensible. En cas d’échec des cas de test, ils apportent des mesures correctives au test ou à l’implémentation. Les corrections apportées, ils effectuent de nouveaux tests. Ils vérifient l’implémentation en fonction du concept de sécurité défini et, en cas d’écarts avec celui-ci, ils prennent des mesures appropriées en vue d’en respecter les différents points.