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

Ift 2251 Introduction au Génie Logiciel

Présentations similaires


Présentation au sujet: "Ift 2251 Introduction au Génie Logiciel"— Transcription de la présentation:

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 4.3 Conception détaillée

3 Conception détaillée La conception détaillée s’intéresse à la conception des composants ou modules formant l’architecture d’un système. On devient de moins en moins abstrait, pour s’approcher d’une 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 qu’un 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 Conception détaillée open
A ce niveau également, on procède par raffinements successifs open walk to door; reach for knob; open door; repeat until door opens turn knob clockwise; walk through; if knob doesn't turn, then close door. take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat

5 Conception détaillée Programmation structurée
La programmation structurée propose une méthode de conception détaillée basée sur l’utilisation d’un 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 d’en améliorer la compréhension, le test et la maintenance. - Contribue à la qualité des logiciel… mais n’est pas suffisant.

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

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

8 Conception détaillée Programmation structurée - Organigrammes
Ajouter une condition Z, a 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 n’est pas autorisé en prog. structurée La programmation structurée n’est pas toujours adéquate et efficace… x 1 b x 2 c x d 3 f e x 4 g x 5

9 Conception détaillée Tables de décision
Utile lorsqu’un 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 d’entrée à un programme pour diriger les pas d’un algorithme.

10 Conception détaillée Tables de décision - exemple
Matrice des combinaisons de conditions Liste des conditions Conditions Règles 1 2 3 4 5 6 7 8 Client a commandé catalogue d’hiver v f Client a commandé catalogue de Noël Client a commandé catalogue spécial Actions Envoyer le catalogue de Noël x Envoyer le catalogue spécial Envoyer les deux catalogues Liste des actions Matrice des actions activées

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

12 Conception détaillée Notation textuelle - pseudocode
Notation de conception qui utilise une syntaxe proche de celle d’un 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 d’organigramme. - Les notations textuelles de conception sont - souvent une simple transposition d’un langage de programmation déjà existant. Ex. pseudo-pascal, pseudo-ada, etc. - parfois spécialement conçu pour aider à la conception.

13 Conception détaillée Notation textuelle - pseudocode
Caractéristiques d’une notation textuelle de conception 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 d’interface - entrées/sortie 2) Syntaxe libre en langue naturelle pour décrire certains aspects de traitement.

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 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 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 "Ift 2251 Introduction au Génie Logiciel"

Présentations similaires


Annonces Google