La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Ift 2251 Introduction au Génie Logiciel Partie 4 Conception Ref. Pressman Ch. 13, 14 et 16 Julie Vachon, DIRO, Université de Montréal, 2001.

Présentations similaires


Présentation au sujet: "1 Ift 2251 Introduction au Génie Logiciel Partie 4 Conception Ref. Pressman Ch. 13, 14 et 16 Julie Vachon, DIRO, Université de Montréal, 2001."— Transcription de la présentation:

1 1 Ift 2251 Introduction au Génie Logiciel Partie 4 Conception Ref. Pressman Ch. 13, 14 et 16 Julie Vachon, DIRO, Université de Montréal, 2001

2 2 4.3 Conception détaillée

3 3 Conception détaillée La conception détaillée sintéresse à la conception des composants ou modules formant larchitecture dun système. On devient de moins en moins abstrait, pour sapprocher dune conception de plus en plus détaillée, prête à être codée dans un langage de programmation. On pourrait décrire la conception détaillée des composants directement dans un langage de programmation. Une alternative propose toutefois de le faire dans une notation intermédiaire (de plus haut niveau quun langage de programmation) qui peut facilement être traduite en code source. Ces notations intermédiaires peuvent être -graphiques (flowchart, organigramme), - tabulaires (tables de décision) - textuelles (pseudocode).

4 4 Conception détaillée A ce niveau également, on procède par raffinements successifs open walk to door; reach for knob; open door; walk through; close door. repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; take key out; find correct key; find correct key; insert in lock; insert in lock; endif pull/push door move out of way; end repeat

5 5 Conception détaillée Programmation structurée -La programmation structurée propose une méthode de conception détaillée basée sur lutilisation dun ensemble limité de construction logiques: -la séquence -la condition -la répétition - Ce minimalisme permet de réduire la complexité des programmes et den améliorer la compréhension, le test et la maintenance. - Contribue à la qualité des logiciel… mais nest pas suffisant.

6 6 Conception détaillée Programmation structurée - Organigrammes La programmation structurée sexprime généralement en utilisant une notation graphique (flowchart, organigramme). Cette notation utilise trois primitive. Action (à un niveau dabstraction quelconque) Condition (à un niveau dabstraction quelconque) Flot dexécution

7 7 Conception détaillée Programmation structurée - Organigrammes Trois constructions principales… Séquence Condition Répétition v f f v While-Do Repeat-until

8 8 Conception détaillée Programmation structurée - Organigrammes a x 1 x 2 b 3 x 4 5 c d ef g x x Ajouter une condition Z, Si vrai, sortir du programme La situation se complique… Il faudrait rajouter des branches de sortie permettant de sortir des boucles imbriquées… Ce qui nest pas autorisé en prog. structurée La programmation structurée nest pas toujours adéquate et efficace…

9 9 Conception détaillée Tables de décision -Utile lorsquun module doit évaluer une combinaison complexe de conditions et sélectionner les actions appropriées qui en découlent. -Permet de structurer les actions et les conditions dont elles dépendent sous forme de tableau. -Peut éventuellement être utilisé comme donnée dentrée à un programme pour diriger les pas dun algorithme.

10 10 Conception détaillée Tables de décision - exemple ConditionsRègles Client a commandé catalogue dhiver vvvvffff Client a commandé catalogue de Noël vvffvvff Client a commandé catalogue spécial vfvfvfvf Actions Envoyer le catalogue de Noël xxxx Envoyer le catalogue spécial xx Envoyer les deux catalogues xx Liste des conditions Liste des actions Matrice des combinaisons de conditions Matrice des actions activées

11 11 Conception détaillée Tables de décision Étapes à suivre pour développer une table de décision: 1.Faire la liste de toutes les actions qui peuvent être associées à une procédure donnée. 2.Faire la liste de toutes les conditions à vérifier pendant lexécution de cette procédure. 3.Faire la liste de toutes les combinaisons de satisfaction de conditions possibles en éliminant celles qui sont impossibles. 4.Définir les règles en indiquant quelles actions sont déclenchées pour chaque combinaison de conditions.

12 12 Conception détaillée Notation textuelle - pseudocode -Notation de conception qui utilise - une syntaxe proche de celle dun langage de programmation - des expressions en langue naturelle - Peut éventuellement être compilée pour produire le squelette d`un programme ou une représentation graphique sous forme dorganigramme. - Les notations textuelles de conception sont - souvent une simple transposition dun langage de programmation déjà existant. Ex. pseudo-pascal, pseudo-ada, etc. - parfois spécialement conçu pour aider à la conception.

13 13 Conception détaillée Notation textuelle - pseudocode Caractéristiques dune notation textuelle de conception 1)Mots clefs avec syntaxe précise pour décrire: - les constructions structurées: séquence, condition, répétition, structure de bloc - la déclaration des types et des données (simples ou complexes) - les caractéristiques des modules: entête et définition dinterface - entrées/sortie 2) Syntaxe libre en langue naturelle pour décrire certains aspects de traitement.

14 14 Conception détaillée – notation textuelle Module FonctionsEntiers Export procedure rechercheNpremiers(n : in integer) Implementation procedure rechercheNpremiers(n: in integer) var i : integer; var liste: array(1..n) of integer; begin initialiser liste; i := 2; while i < n do begin if premier(i) then insérer i dans liste else ne rien faire i := nouveau candidat end while imprimer la liste à lécran end; End FonctionsEntiers Entête et interface du module Entête de procédure et déclaration de variables Dans cet exemple, les pseudo-instructions susceptibles dêtre raffinées: - Initialiser - Insérer - Nouveau candidat

15 15 Conception détaillée – notation textuelle Quelques autres éléments de la notation… Repeat instructions Until condition Function t (n: in boolean): integer; Procedure v (n: in boolean; x: out real); Type B : array(1..5,1..8) of boolean;


Télécharger ppt "1 Ift 2251 Introduction au Génie Logiciel Partie 4 Conception Ref. Pressman Ch. 13, 14 et 16 Julie Vachon, DIRO, Université de Montréal, 2001."

Présentations similaires


Annonces Google