M319 V1

Concevoir et implémenter des applications

Type
EP obligatoire
Lieu
École professionnelle
Année
1ère année d'apprentissage
PDF
319_1_FR.pdf

Compétences PEC liées

g2 g4 g5

Compétence visée par le module

Connaître les bases de la programmation, leurs exigences et origine, et être à même de comprendre des problèmes en relation avec l’environnement professionnel et de développer des solutions appropriées.

Situation / objet

Problèmes pouvant être transposés dans un langage de programmation.

Objectifs opérationnels et connaissances

319.1 Saisir le problème, développer de façon structurée des solutions possibles et les traduire pour les parties prenantes. g2 g4 g5
ConnaissanceTexte
319.1.1Connaître la différence entre espace de problème et espace de solution ainsi que leur finalité.
319.1.2Connaître des outils en vue de recueillir et d’identifier les besoins sans avancer de solution.
319.1.3Connaître les raisons de séparer l’espace de problème de l’espace de solution (p. ex. gain d’innovation, réduction du stress).
319.2 Créer une représentation visuelle appropriée pour la programmation des besoins. g2 g4 g5
ConnaissanceTexte
319.2.1Connaître une notation servant à décrire graphiquement le déroulement d’une logique de programme (p. ex. diagramme de flux, structogramme, diagramme d’activité).
319.2.2Connaître la finalité des modèles et des diagrammes comme base de discussion et de mise en œuvre.
319.3 Déduire les données nécessaires à partir des consignes (entrée, processus, sortie et types de données). g2 g4 g5
ConnaissanceTexte
319.3.1Connaître les différences entre les types de données (p. ex. primitives, complexes).
319.3.2Connaître les principaux types de données (p. ex. integer, boolean, array avec une dimension).
319.3.3Connaître le mode de fonctionnement d’un logiciel selon le principe entrée-processus-sortie (input-process-output [IPO]).
319.4 Implémenter l’application à l’aide de structures de contrôle et des fonctions créées. g2 g4 g5
ConnaissanceTexte
319.4.1Connaître la construction fondamentale d’une application, respectivement d’un programme.
319.4.2Connaître l’utilisation des structures de contrôle telles que les itérations (vérifié/non vérifié) ou la sélection.
319.4.3Connaître le sens et le but des variables et des constantes ainsi que leurs différences.
319.4.4Connaître le domaine d’application des instructions et leur finalité.
319.4.5Connaître les possibilités des éditeurs et d’un environnement de développement ainsi que la manière de traiter les messages d’erreurs et d’alerte.
319.4.6Connaître la structure des fonctions (nom, paramètre, types de données, types de retours) et comment celles-ci peuvent être utilisées et appelées correctement dans un programme.
319.4.7Connaître la plus-value apportée par l’externalisation de parties de code dans des fonctions.
319.5 Respecter les conventions définies, commenter le code en tenant compte de la maintenabilité. g2 g4 g5
ConnaissanceTexte
319.5.1Connaître l’importance des conventions (p. ex. conventions d’entreprise, conventions de langage).
319.5.2Connaître l’importance des commentaires et leur contribution à une meilleure maintenabilité logicielle.
319.6 Interpréter les défauts (erreurs) du logiciel et les corriger. g2 g4 g5
ConnaissanceTexte
319.6.1Connaître la finalité, les fonctions et le mode de manipulation d’un débogueur.
319.6.2Connaître le sens et le but des tests ainsi que la finalité de cas de test individuels.
319.6.3Connaître une procédure de test statique (p. ex. revue de code) de code de programme et pouvoir en expliquer l’importance pour la qualité du logiciel.

Matrice de compétences

BandeCompétenceDébutantIntermédiaireAvancéObjectifs
A1 Identifier les problèmes et développer des solutions Je peux analyser une tâche détaillée et la diviser en étapes logiques. Je peux détailler une tâche grossièrement écrite et la diviser en étapes logiques. Je peux transformer un problème en tâche et le diviser en étapes logiques.
319.1
A1 Identifier les problèmes et développer des solutions Je peux analyser une tâche détaillée et la diviser en étapes logiques. Je peux détailler une tâche grossièrement écrite et la diviser en étapes logiques. Je peux transformer un problème en tâche et le diviser en étapes logiques.
319.1
B1 Présenter visuellement les exigences Je peux comprendre un processus décrit graphiquement. (par exemple avec diagramme d'activités, diagramme de séquence). Je peux afficher graphiquement un déroulement de programme donné. (par exemple diagramme d'activités, diagramme de séquence). Je peux convertir le processus décrit en un flux de programme et l'afficher graphiquement (par exemple diagramme d'activités, diagramme de séquence).
319.2
B1 Présenter visuellement les exigences Je peux comprendre un processus décrit graphiquement. (par exemple avec diagramme d'activités, diagramme de séquence). Je peux afficher graphiquement un déroulement de programme donné. (par exemple diagramme d'activités, diagramme de séquence). Je peux convertir le processus décrit en un flux de programme et l'afficher graphiquement (par exemple diagramme d'activités, diagramme de séquence).
319.2
C1 Dériver et utiliser des données, des types de données et des variables Je peux identifier les différences entre les types de données élémentaires et savoir quel type de données je peux utiliser pour quel type de données. Je peux déterminer le type de données élémentaires correct pour une variable en fonction de la tâche, le déclarer, l'initialiser et effectuer des affectations. Je peux expliquer le but des conteneurs et les déclarer, les initialiser et les attribuer. (par exemple, tableau, liste).
319.3
C1 Dériver et utiliser des données, des types de données et des variables Je peux identifier les différences entre les types de données élémentaires et savoir quel type de données je peux utiliser pour quel type de données. Je peux déterminer le type de données élémentaires correct pour une variable en fonction de la tâche, le déclarer, l'initialiser et effectuer des affectations. Je peux expliquer le but des conteneurs et les déclarer, les initialiser et les attribuer. (par exemple, tableau, liste).
319.3
C2 Dériver et utiliser des données, des types de données et des variables Je peux définir, déclarer et initialiser une classe modèle simple composée de plusieurs attributs. N'est pas dans la suggestion HZ3, laissez-le de côté. J'implémente le principe de l'encapsulation à l'aide de modificateurs d'accès, de getters, de setters et de constructeurs. J'ajoute des fonctions à mes classes afin qu'elles puissent être utilisées à l'intérieur et à l'extérieur de la classe.
319.3
D1 Exécutez et vérifiez le programme Je peux exécuter un programme que j'ai créé dans un environnement de développement. Je peux interpréter les messages d'erreur et d'avertissement affichés par le compilateur/interprète et dépanner les causes des messages d'erreur et d'avertissement affichés. Je peux utiliser un débogueur pour exécuter le programme et l'utiliser spécifiquement pour l'analyse des erreurs (par exemple en définissant des points d'arrêt, en utilisant la barre de variables, etc.).
319.6 319.4
D1 Exécutez et vérifiez le programme Je peux exécuter un programme que j'ai créé dans un environnement de développement. Je peux interpréter les messages d'erreur et d'avertissement affichés par le compilateur/interprète et dépanner les causes des messages d'erreur et d'avertissement affichés. Je peux utiliser un débogueur pour exécuter le programme et l'utiliser spécifiquement pour l'analyse des erreurs (par exemple en définissant des points d'arrêt, en utilisant la barre de variables, etc.).
319.4
E Programmes de base Je peux expliquer le principe EVA sans aucune aide. Je peux stocker et générer des valeurs saisies par l'utilisateur dans des types de données primitifs significatifs. Je peux rechercher et appliquer des commandes inconnues.
319.4
E1 Implémenter l'application Je connais la structure, la syntaxe et la structure (structures de contrôle) d'un programme simple et je peux le mettre en œuvre. Je peux mettre en œuvre un processus détaillé à l'aide d'un langage de programmation. Je peux détailler un processus décrit grossièrement et l'implémenter à l'aide d'un langage de programmation.
319.2 319.4 319.3
E2 Implémenter l'application Je peux expliquer la structure et l'appel d'une fonction (déclaration et implémentation). (par exemple, variables d'instance, paramètres, variables locales, valeurs de retour). Je peux utiliser correctement une fonction (déclaration et implémentation). (par exemple, variables d'instance, paramètres, variables locales, valeurs de retour). Je peux identifier les parties de programme qu'il est logique d'externaliser vers leur propre fonction et de les sous-traiter. Je peux déplacer des parties de code dans des fonctions, en tenant compte des paramètres, des types de données et des types de retour, et je peux expliquer la valeur ajoutée.
319.6 319.4 319.3
F1 Adhérer aux conventions Je peux ajouter des commentaires sur une ou plusieurs lignes à mon programme. Je connais des moyens de formater ou d'annoter des commentaires (par exemple FIXME, TODO, etc.). J'implémente des conventions pour un code source propre. (par exemple, Clean Code, directives de codage).
319.4
F1 Adhérer aux conventions Je peux ajouter des commentaires sur une ou plusieurs lignes à mon programme. Je connais des moyens de formater ou d'annoter des commentaires (par exemple FIXME, TODO, etc.). J'implémente des conventions pour un code source propre. (par exemple, Clean Code, directives de codage).
319.5
G1 Sous-programmes Je peux utiliser un sous-programme donné pour expliquer sa structure (nom, valeur de retour, paramètres). Je peux placer un fragment de code donné dans un sous-programme et l'appeler en conséquence. Je peux créer des sous-programmes dans lesquels les données peuvent éventuellement être transmises et renvoyées.
319.4
H1 Conventions et commentaires Je peux expliquer le sens et le but des conventions sans aucune aide. Je peux citer deux avantages et inconvénients de l’utilisation des commentaires dans le code d’un programme. Je peux implémenter du code de programme basé sur des conventions données. Je peux ajouter des commentaires significatifs au code du programme. En appliquant des conventions, je peux utiliser des outils pour créer automatiquement de la documentation logicielle.
319.5
I1 Déboguer Je peux expliquer le but et l'utilisation d'un débogueur sans aucune aide. Je peux trouver une erreur de programmation dans un programme donné à l'aide du débogueur. Je peux utiliser des outils de journalisation pour analyser le comportement des logiciels.
319.6
J1 Tests de logiciels Je peux expliquer le but des tests de logiciels sans aucune aide. Je peux spécifier des cas de tests significatifs, clairement formulés et mesurables en fonction d'une tâche donnée. Je peux créer des tests automatisés basés sur une tâche donnée.
319.6

Modules liés par compétences PEC

ModuleTitrePEC communes
M223 Réaliser des applications multi-utilisateurs orientées objets
g2 g4 g5
M320 Programmer orienté objet
g2 g4 g5
M335 Réaliser une application pour mobile
g2 g4 g5
M106 Interroger, traiter et assurer la maintenance des bases de données
g4 g5
M293 Créer et publier un site Web
g2 g5
M294 Réaliser le front-end d’une application Web interactive
g2 g5
M321 Programmer des systèmes distribués
g4 g5
M322 Concevoir et implémenter des interfaces utilisateur
g2 g5
M323 Programmer de manière fonctionnelle
g4 g5
M164 Créer des bases de données et y insérer des données
g4
M165 Utiliser des bases de données NoSQL
g5
M183 Implémenter la sécurité d'une application
g5