Université de Sherbrooke 10/04/2017 Troisième journée Analyse et conception Programmation structurée IFT099 - BF
Cycle de vie d’un logiciel
Cycle de vie d’un logiciel
Réfléchir à un programme
Coût des erreurs
Analyse Déterminer les attentes de l’utilisateur Comprendre et clarifier le problème Déterminer les tenants et aboutissants Séparer l’essentiel du détail, c’est-à-dire procéder par abstraction On travaille sans se préoccuper du « comment »
Exemple de spécification Approuvé si les achats < crédit actuel du client avec l’identificateur Refusé sinon Nouveau crédit = Crédit actuel - Achats
Exemple : Faire un programme qui convertit une temps exprimé en secondes en un temps exprimé en heures, minutes et secondes. Question : comment est rentrée cette valeur ? comment est fournie la solution ? comment faire la conversion ? ...
Conception But : rendre la solution précédente implémentable On ajoute des détails en explicitant les étapes pour rencontrer les besoins Chaque étape est décomposée en sous-étapes pour l’expliciter
Implémentation Petit à petit En testant chaque étape En documentant correctement ce qui est attendu pour le comparer à ce qu’on obtient ce qui est fait pour l’expliciter à un futur développeur
Programmation structurée Université de Sherbrooke 10/04/2017 Programmation structurée Idée : Réduire le nombre d’énoncés utilisables par le programmeur But : Simplifier le fonctionnement du programme pour établir plus facilement sa logique IFT099 - BF
Construction d’un programme Université de Sherbrooke 10/04/2017 Construction d’un programme Instructions de base Énoncés : séquence (faire A après B) sélection (si P alors faire A sinon faire B) itération (répéter A tant que P) Les énoncés fabriquent des instructions avec les instructions de bases IFT099 - BF
Université de Sherbrooke 10/04/2017 La séquence Suite de deux instructions A et B Nécessaire pour faire plus qu’une seule instruction de base IFT099 - BF
Université de Sherbrooke 10/04/2017 La sélection En fonction d’un prédicat P on effectue soit A soit B Nécessaire pour la valeur absolue par exemple IFT099 - BF
Université de Sherbrooke 10/04/2017 L’itération Répéter une instruction A tant que un certain prédicat P est vraie Nécessaire pour le calcul du factoriel de n par exemple IFT099 - BF
Université de Sherbrooke 10/04/2017 Exemples : moyenne de x et y valeur absolue de x faire un trait jusqu’à la ligne horizontale sans dépasser de plus de 10 IFT099 - BF
Graphe de contrôle d’exécution Université de Sherbrooke 10/04/2017 Graphe de contrôle d’exécution Représentation graphique de l’exécution du programme Une flèche représente un chemin d’exécution Une boîte représente un énoncé ou une instruction simple Un losange représente un prédicat IFT099 - BF
Université de Sherbrooke 10/04/2017 Graphe de la séquence Séquence de deux instructions A . B IFT099 - BF
Université de Sherbrooke 10/04/2017 Graphe de la sélection Sélection de deux instructions selon la valeur de P A P B IFT099 - BF
Université de Sherbrooke 10/04/2017 Graphe de l’itération Séquence de deux instructions (P A)* IFT099 - BF
Université de Sherbrooke 10/04/2017 Exemples : IFT099 - BF
Université de Sherbrooke 10/04/2017 Fonctions Scheme (execute action_1 ...) (si elt1 comp elt2 action-oui action-non) (repete n-fois action) (tantque elt1 comp elt2 action-a-faire) IFT099 - BF
Université de Sherbrooke 10/04/2017 Exemples : (si x > 0 x -x) (si pos-x > 0 (souris droite) (souris gauche)) (tantque direction < 180 (souris avance tourne)) (repete 5 (souris (haut gauche bas gauche)) IFT099 - BF
Exercices Afficher la valeur de la valeur absolue d’un nombre Faire un carré avec une longueur passée en paramètre Faire un cercle (à peu près) de rayon fixé Afficher « hh:mm:ss » pour un nombre de seconde en paramètre
Université de Sherbrooke 10/04/2017 Les tests Nécessité car un code n’est jamais sans défaut Doivent être prévus avant de faire ce qu’ils doivent vérifier : tests prévus pour valider la conception tests prévus pour vérifier les procédures Doivent être documentés, archivés pour les rejouer après toutes modif. IFT099 - BF
Deux questions Faisons nous le bon produit ? Le faisons nous bien ? valider ce qui a été fait Le faisons nous bien ? vérifier qu’il a été bien fait
Cycle de développement