1 génie logiciel - méthodes de conception b. sadeg université du havre...

50
1 Génie logiciel - Méthodes de conception B. Sadeg Université du Havre [email protected]

Upload: onesime-le-gall

Post on 04-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

  • Page 1
  • 1 Gnie logiciel - Mthodes de conception B. Sadeg Universit du Havre [email protected]
  • Page 2
  • 2 Gnralit sur les mthodes de conception - Les systmes informatiques => deviennent plus complexes => ncessit de rationaliser leur conception et dveloppement - Pour diminuer les cots des diffrentes maintenances => Disposer doutils, mthodes, et techniques qui font du dveloppement de SI une activit dingnierie comme les autres (gnie mcanique,...) - Depuis les annes 70, diffrentes mthodes ont t proposes. - Objectif : mieux dfinir les tapes de conception et standardiser le vocabulaire (concepteurs et dveloppeurs) - Le dveloppement de ces mthodes est inspir par les technologies successives des langages de programmation, de BD, de rseaux, gestion temps rel,...
  • Page 3
  • 3 Motivations Deux types de motivations dans le choix des mthodes de Conception : possibilit de prendre en compte des applications de + en + complexes le souci de diminuer les cots de dveloppement et de maintenance
  • Page 4
  • 4 Prise en compte des nouvelles applications Avant les annes 80 : 70% des applis informatiques sont des applis de gestion (le reste est scientifique) => les mthodes de conception sont souvent orientes gestion. Mais, de nouveaux types dapplis sont apparus : CAO, FAO,... Simulation (de circuits, de pgms,...), Carthographie, Architecture, Elles sont caractrises par : forte intractivit avec lutilisateur reprsentation, manipulation dobjets complexes temps de rponse courts interfaces homme-machines (IHM) conviviales
  • Page 5
  • 5 Ces nouvelles applications : trs volutives structure, comportement des objets rutilisation intensive dobjets existants pour construire de nouveaux objets mise en oeuvre dinterfaces de haut niveau : utilisation de standards denvironnement, de critres rgonomiques,...
  • Page 6
  • 6 Diffrents modles existent pour construire/dvelopper un logiciel
  • Page 7
  • 7
  • Page 8
  • 8 Le modle en cascade Le dveloppement se fait application par application Analyse : identifier les entres, sorties, transformations raliser Conception : spcifications techniques dtailles (dcrire les fichiers, algos, tats de sortie) Implmentation : codage (programmation) Tests : mise au point + validation
  • Page 9
  • 9 Inconvnients du modle en cascade incapable de prendre en compte les systmes complexes (plusieurs applis qui interagissent) passage direct de lanalyse des besoins (globale) la spcification dtaille (trop technique) phase de tests : pas de validation par rapport aux besoins
  • Page 10
  • 10
  • Page 11
  • 11 Le modle en V introduit la notion de systme et de composants (sous-systmes) contrle mieux la hirarchie par des tests explicitement spcifis => donne une + grande matrise du dveleppement de systmes complexes ltape de validation du systme complet par rapport aux besoins montre la distinction entre la vrification de la cohrence logique (si systme bien construit) et la validation (on construit bien le systme quil faut)
  • Page 12
  • 12 Quelques problme du modle en V Sil apparat pertinent de faire la vrification logique selon une approche ascendante (des composants au systme), la validation par rapport aux besoins intervient trop tard dans le cycle de vie (En effet, il est coteux de constater linadquation du systme seulement la fin !)
  • Page 13
  • 13
  • Page 14
  • 14 Le modle en spirale La validation du systme se fait le plus tt possible et autant de fois que ncessaire, par une srie de prototypes. Problmes mise en oeuvre trs coteuse pas de consensus sur la taille des prototypes, ni leur dstine (tre jets, ou servir de noyaux pour dautres fonctions) le nombre de prototypes est discutable
  • Page 15
  • 15 Diffrentes classes de mthodes de Conception En fonction de la manire dont le syst. est peru (point de vue fonctionnel, systmique ou objet) et en fonction de la dmarche de conception prconise (dcomposition hirarchique, ascendante, descendante, ) On distingue : les mthodes danalyse et de dcomposition hirarchiques (cartsiennes) : annes 70. : incluent les mthodes fonctionnelles, c--d dcomposition dune fonction de faon hirarchique en un ensemble de sous-fonctions, jusqu arriver des fionctions suffisamment simples ( raliser). Exemple : SADT.
  • Page 16
  • 16 Mthodes fonctionnelles. Ex. SADT Points forts : simplicit adquation capturer les besoins des utilisateurs peuvent produire des solutions plusieurs niveaux dabstraction Points faibles : effort danalyse concentr sur les fonctions (ngligeant la cohrence des donnes) rgles de dcomposition non explicites (dcompositions diffrentes selon les analystes) difficult tenir compte des interactions non hirarchiques dans les systmes complexes. de plus, la volatilit des fonctions fait que le syst. est en perpetuelle reconception.
  • Page 17
  • 17 Le modle tri-dimentionnel (Ex. mthode MERISE) dveloppement selon trois axes : cycle de vie du SI niveaux de description (abstraction) du SI description du cycle de dveloppement (cycle de dcision) correspondant au cycle de vie du projet.
  • Page 18
  • 18 Commentaires Cycle de vie : priodes lissue desquelles le syst. subit des modif. importantes (changement de matriel, de logiciel,...), changement darchitecture organique (centralise > distribue),... Cycle dabstraction : description des difrents niveaux de spcification du SI (du niveau conceptuel : indpendant de toute technologie, un niveau interne : dpendant dun environnement particulier) Cycle de dcision : variante du modle en cascade
  • Page 19
  • 19 Points forts : plus grande cohrence des donnes (sous forme de BD non redondante) respect des niveaux de conception de la norme ANSI/SPARC 75 (niv. externe, conceptuel, interne) Points faibles : pas de rgles formelles pour assurer la cohrence entre modles de donnes et de traitement distinction floue entre les diffrents niveaux de conception (dpend des mthodes) faiblesse de la modlisation des traitement (mlange connaissances et contrle)
  • Page 20
  • 20 Approches objet peuvent tre considres comme une volution de lapproche systmique vers une plus grande cohrence entre les objets et leur dynamique => dcrire une grande partie de la dynamique du SI comme un ensemble doprations attaches aux objets composant le syst. => ceci permet une meilleure modularit et rutilisabilit des comoposants du SI Ex : AOO-COO, HOOD, OMT, OOM, SYS_P_O,... Remarque : Utilisation gnralis de UML pour modliser. ! UML n'est pas une mthode, c'est un langage (Unified Modelling Language)
  • Page 21
  • 21 Remarques Petit point faible : pousse une perception et une reprsentation monolithiques des applications (Tout est objet). Ceci nest pas toujours le cas en ralit : laspect fonctionnel est galement important dans les organisations.
  • Page 22
  • 22 Nous allons introduire la mthode SADT Utilisation principale : spcification des fonctionnalits d'un systme/logiciel (Description des fonctions d'un logiciel/systme)
  • Page 23
  • 23 SADT = langage pluridisciplinaire, favorise la communication entre utilisateurs et concepteurs Concepts de base de la mthode : concepts simples, bass sur un formalisme graphique et textuel facile. Permet de : (1) modliser le pb. (informatique ou non) puis expose la solution (2) assure une communication efficace entre les # personnes concernes par le systme. SADT (Structured Analysis and design Technics)
  • Page 24
  • 24 1. S ADT analyse un syst. en construisant un modle dont le but est d en exprimer une comprhension complte et de le situer dans son contexte. Plusieurs modles selon # points de vue peuvent s avrer ncessaires. 2. Analyse du systme : descendante, hirarchique, modulaire, structure 3. SADT dcrit le QUOI (o la mthode est efficace) et non le COMMENT (# solutions envisages pour la ralisation du QUOI) -> moins efficace 4. SADT modlise la fois les choses, donnes, objets, noms (-> doc, produits, personnes, pgms, machines, et les vnements, activits, verbes effectus par ces objets. Le modle complet tablit les liens entre ces 2 modles. 7 concepts fondamentaux :
  • Page 25
  • 25 5. SADT = langage semi-formel = {texte + graphiques (botes, flches)} 6. SADT favorise le travail en quipe disciplin et coordonn. 7. SADT oblige consigner par crit tous les choix effectus pendant l analyse. Les documents sont ainsi accessibles tous pour tre revus et corrigs.
  • Page 26
  • 26 Un modle SADT = {diagrammes ordonns hirarchiquement}. Au niveau le + gnral : diagramme de niveau -1. le contexte du systme analyser : les sources et destinations des informations, (interfaces de la bote avec lextrieur) Au niveau infrieur, on montre juste la bote principale (bote 0) dans un diagramme, appel -0. Cette bote se dcompose elle-mme en un diagramme de niveau infrieur (niveau 0), qui contient les botes 1, 2, 3, . Une bote i se dcompose en un diagramme i1, i2, i3, i4, Chaque diagramme du modle peut tre considr comme un diagramme pre (synthse de ses diagrammes enfants) ou comme diagramme fils (analyse d une partie (bote) de son diagramme pre). Un diagramme peut tre un actigramme (activits : Ai) ou un datagramme (donnes : Di). LE LANGAGE SADT
  • Page 27
  • 27 utilisation auteur : projet : notes : 1 2 3 4 5 6 7 8 9 10 travail lecteur date recommand publication contexte A-1 A-0 A0 1 2 3 4 A1A4 1 2 3 1 2 3..... TITRE : NUD :NUMERO :
  • Page 28
  • 28 Chaque diagramme de niveau infrieur apporte un nombre limit de dtails sur un sujet bien dlimit. Une bote est dcompose en un diagramme comportant entre 3 botes au minimum et 6 botes au maximum (sauf A-1 ou D-1 et quelques cas particuliers). Selon SADT, l univers qui nous entoure (et donc le modle) est compos de donnes (objets, substantifs) et d actions (vnements, activits, verbes). En SADT, il y a dualit entre activits et donnes. vnement, activit, verbe objet nom objet nom objet nom processeur objet, donne, nom action verbe action verbe action verbe appareil, dispositif de stockage Bote d activitBote de donne
  • Page 29
  • 29 En SADT, les aspects donnes et activits sont examins ensemble ==> cration de deux ensembles de diagrammes : - les actigrammes (diag. d activits) : activits (botes) qui manipulent des donnes vhicules par les flches. - les datagrammes (diag. de donnes) : donnes (botes) o les flches montrent les activits qui crent et utilisent les donnes. Application de SADT sur les tapes du cycle de vie dun systme syst. en exploitation nouv. besoins spcif. fonctionnelles spcif. de ralisation prototype dtecter les besoins analyser concevoir raliser et tester intgrer au systme tude pralable conception globale conception dtaille codage et tests intgration et tests
  • Page 30
  • 30 En partant du systme en exploitation, SADT peut s appliquer : - la comprhension actuel du systme, - aux spcifications des besoins (non satisfaits par le syst. actuel) - l analyse des besoins et aux spcifications fonctionnelles du nouv. syst. - aux spcif. de ralisation ( partir des sprcif. fonctionnelles) - au plan d intgration et d installation - la mise en route du syst. - la gestion du dveloppement du projet (pilotage des tapes) Pour le dveloppement d un projet, les donnes prendre en compte sont : - les besoins primaires (par le clients ou l utilisateur) - besoins secondaires (issus de la solution propose) - contraintes du syst. (imposes par les choix matriels dj effectus) - contraintes commerciales (tat du march) - contraintes administratives (qualification du personnel, disponibilit, )
  • Page 31
  • 31 Analyse fonctionnelle (tapes suivre aprs avoir clarifi les besoins) : - construire les actigrammes et les datagrammes du syst. - tablir les rfrences croises (entre eux) - complter ventuellement l analyse fonctionnelle (refaire des diagrammes, ) - indiquer quelques squencements possibles des activits - identifier les mcanismes qui permettent de passer la phase de conception Rmq. la premire tape est la plus longue et la plus critique Equipe SADT Auteurs (analystes) : tudient les besoins et contraintes et analusent les fonctions du syst. sous formes d actigrammes et datagrammes. Commentateurs (critiques) : sont souvent des auteurs qui commentent et critiques les diagrammes d autres auteurs (avec des suggestions !) Lecteurs : gnralement des futurs utilisateurs du syst. Ils lisent les diag. pour information en approuvant ou non. Experts (spcialistes d un domaine) : fournissent aux auteurs des infos spcialises sur les contraintes et facilits du syst. (au cours d interviews)
  • Page 32
  • 32 Comit technique de haut niveau : son rle est de critiquer chaque tape importante de la dcomposition. Il rsoud les problmes techniques et aide le chef de projet dans les prises de dcision. Bibliothcaire : lment important. Il tient jour les documents du projet, veille la bonne circulation de ces documents entre les auteurs et les commentateurs. Conserve les archives. Moniteur : spcialiste de la mthode SADT. Conseille les membre de l quipe. chef de projet comit technique experts auteurs bibliothcaire lecteurs auteur bibliot. lecteur(s) kitnouv. kit copie kit commentaires par crit kit comment rponse par crit kit avec ractions lit les rponses classe le kit discussion aut/lect classe le kit cre ou modifie d autres diag.
  • Page 33
  • 33 Composants d un modle SADT La cration d un modle : par les auteurs. C est un processus dynamique qui requiert plusieurs personnes. Un modle est cre selon UN PONT DE VUE et un BUT donns. Un modle SADT = des actigrammes, reprsentant toutes les activits du syst. des datagrammes, reprsentant toutes les donnes du syst. des rfrences croises des squencements des activits du texte reli aux diagrammes un glossaire des termes et sigles utiliss des diag. supplmentaires, PES (Pour Explication Seulement), ne font pas prtie de la hirarchie une liste hirarchique (sert de table des matire) Rmq. Tout est crit sur un formulaire SADT.
  • Page 34
  • 34 Hirarchie des diagrammes en SADT La figure montre une vue gnrale des actigrammes d un modle et comment les diagrammes montrent graduellement de + en + de dtail du haut vers le bas. Un diag. initial (une seule bote) = activit entire du systme (diag. de contexte gnral. Cette bote est dtaille dans le diagramme de haut niveau (A0) Chaque bote de A0 est dtaille ensuite dans un nouveau diagramme. Par dfinition, un diagramme enfant dtaille une bote de son diagramme parent. A0 A2 A1 A2 A3 A4 A21 A22 A24 A24... A41 A42 A43 A11 A12 A13 A21 A22 A24 A24... A41 A42 A43 A111 A112 A113... A131 A132 A133... A431 A432 A433 A434 etc...
  • Page 35
  • 35 Pour les datagrammes => numrotation analogue (D-0, D0, D1, D2, D11, D12, ) Tous les termes dfinis dans les actigrammes doivent avoir des correspondants dans les datagrammes. Les textes et les PES relis un diag. ont le mme numro de nud que le diagramme, suivis de P (pour PES) ou de T (pour texte) : A1T, A1P, , D21T, ) Le glossaire, plac en fin de modle : numros de pages G1, G2, Une table des matires pour un modle (ou pour un kit) => liste hirarchique des numros avec les titres des diag. Exemple : A-0 : surveiller les malades A0 : surveiller les malades A1 : placer un malade sous contrle A2 : retirer un malade du contrle A3 : contrler le malade A31 : choisir le malade examiner A32 : acqurir et valider les mesures A321 :... A322 : A33 : contrler les valeurs A34 : afficher les alarmes A35 : enregistrer les rsultats A4 : grer le dossier
  • Page 36
  • 36 Langage graphique Un diagramme SADT = botes connectes par des flches Les flches et leur signification : verbe nom une bote d actigramme une bote de datagramme titre graines sortie contrle mcanisme Les flches ont des labels label donne processeur activit dispositif de stockage pousser temps fermier lgumes tudier les prix entre vendre panier faire pousser les lgumes lgumes
  • Page 37
  • 37 Sous forme textuelle : le fermier utilise les graines pour faire pousser les lgumes, d une manire qui dpend du temps les lgumes, aprs avoir pouss, sont gards dans des paniers, d o ils sont vendus en considrant le prix courant On en dduit que : - Une entre dans un actigramme est convertie en sortie par l activit. - Un contrle n est pas modifi par l activit, mais amne une contrainte sur la faon dont l activit convertit l entre en sortie. Rmq. En pratique, une flche est toujours considre comme un contrle, moins que visiblement elle ne serve que d entre. Rsum : Entre : donne transforme par lactivit en sortie Sortie : donne cre par l activit Actigramme : Contrle : donnes influant sur la transformation des E en S Mcanisme : processeur qui effectue l activit (pgm, pers., ) Entre : activit qui cre par la donne Sortie : activit qui utilise la donne Contrle : activit qui influe sur la cration ou l utilisation de la donne Mcanisme : dispositif de stockage de la donne datagramme
  • Page 38
  • 38 Connexion entre les botes : La connexion de la sortie d une bote une ou plusieurs autres botes montre une relation de contrainte entre ces botes, c--d que la bote destination ne s active que si l autre bote lui fournit la donne. Possibilit de montrer l excution l excution en // : 1 2 3 la sortie de la bote 1 est l entre de la bote 2... et de la bote 3 la sortie de la bote 2 . est le contrle de la bote 3 la sortie de la bote 3 gnre un contrle en retour sur la bote 1 1 2 3 ds que cette donne est fournie par 1, alors 2 et 3 peuvent l utiliser
  • Page 39
  • 39 Ramification des flches : examinerdiagnostic prescrire faire des stat. => chaque portion de flche reprsente la mme donne prparer plats plats surgeler consommer conserver => chaque portion de flche reprsente l ensemble de la donne
  • Page 40
  • 40 Remarques et conventions graphiques : une bote d activit peut avoir de multiples possibilit d activations : une entre et un contrle, seulement les contrles, toutes les entres et contrles,... disposer en diagonal les 3 6 botes d un diagramme X Y X Y A B Contrles rciproques : A/B X Y X Y A B Entres rciproques : A/B
  • Page 41
  • 41 Les codes MECS (Mcanisme, Entres, Contrle, Sortie) : tablissent les liens entre la bote mre et le diagramme enfant. C2C1C3 E1 E2 S2 S1 2 3 4 1
  • Page 42
  • 42 Autres conventions graphiques : plutt que
  • Page 43
  • 43 plutt que ( ) lorsqu une flche apparat sur une bote d un diagramme de dtail, mais pas sur le parent lorsqu une flche apparat sur une bote parent mais pas sur les niveaux infrieurs (pour ne pas charger)
  • Page 44
  • 44 Rmq. Toute flche d une bote mre doit apparatre dans son diagramme enfant, sauf les flches parenthses. Liens activits/donnes (A/D) Aprs avoir construit les actigrammes et datagrammes, faire les liens A/D et D/A. Ce sont les rfrences croises. Un numro de nud de chaque bote d un modle est crit sur les flches de l autre modle et vice-versa. Chaque numro est prcd de A ou D. Quand les liens sont crits sur les actigrammes : liens A/D. Liens D/A sinon. Exemple : A331 A332 A333 D124 D212 D41 D2231 D213 Liens D/A D211 D212 D213 A332 A331 A332 Liens A/D A331 A332 A332 lit D212 et cre D213 D212 est cre par A331, utilise par A332
  • Page 45
  • 45 Comment lire un diagramme : 1. Lire les titres des botes (avoir un aperu de la dcomposition) 2. Examiner le diagramme pre, notamment la bote mre et ses interfaces. Identifier les E, S et C importants 3. Considrer les flches internes du diagramme considr. Chercher le chemin principal qui relie l ntre E (ou contrle C) important la sortie importante => met laccent sur les problmes-cl. 4. Examiner chaque bote et vrifier que chaque E, S et C est justifi. Comprendre le rle de chaque flche. 5. Examiner comment les flches se connectent entre les botes (chercher les erreurs, les contre-ractions, ) 6. Lire les textes et PES (Pour Explication Seulement) associs.
  • Page 46
  • 46 Rmq. cette squence devient tout fait naturelle avec la pratique. Travail d un auteur : au niveau modle, au niveau dcomposition du modle et au niveau des diagrammes qui constituent ces dcompositions. Pour crer un modle : 1. Dfinir le point de vue (auditoire) et le but (analyse fonctionnelle, besoins, conception,...) 2. Crer A-0 et A0. Revoir A-0 et A0 jusqu ils soient acceptables 3. Continuer la dcomposition des activits sur 3 ou 4 niveaux 4. Passer aux datagrammes : crer D-0 et D0. Les revoir jusqu acceptation 5. Continuer la dcomposition en donnes jusqu environ le mme niveau de dtails que les actigrammes. 6. Etablir les liens A/D et D/A, vrifier la cohrence et la compatibilit, ajouter ou modifier des diagrammes si ncessaire. 7. Choisir les mcanismes. Ajouter les indications de squencement (dans actigrammes)
  • Page 47
  • 47 Cration d un actigramme : 1. Commencer un nouvel actigramme. Slectionner une bote dcomposer (ou dcider de s arrter) 2. Rassembler l information relative au sujet (documents, notes, interviews, ) 3. Commencer un nouveau formulaire : lister les donnes comme elles viennent l esprit se rfrer au titre de la bote dcomposer considrer les activits, pour vrifier la compltude de la liste de donnes ajouter des donnes ainsi dcouvertes grouper les donnes pour monter leurs relations Crer les botes d activits du diagramme : - passer en revue la liste des donnes et leurs regroupements - dduire les activits qui manipulent les groupes de donnes (on peut auparavant crer une liste d activits) - trouver les donnes relatives aux activits partir de la liste de donnes. Dessiner les botes d activits avec les flches correspondantes (donnes en E, S ou C) - ajouter les flches manqauntes qui viennent l esprit - dcouper, regrouper les botes pour augmenter ou rduire leur nombre, amliorer la communication, .
  • Page 48
  • 48 Examiner les botes d activits obtenues (limites, point de vue) Corriger le diagramme : dessiner les botes l o elles manquent. Examiner chaque bote. S assurer quelle a au moins un C et une S. Reconsidrer les flches de chaque botes. Regrouper en cbles si ncessaire. Crer des flches double sens si possible. Se demander si chaque bote est essentielle ou s il serait plus clair de regrouper. Re-dessiner le diagramme, mettre le numro-C (chronologique) Prsenter les botes en escalier. Vrifier les codes MECS. Ajouter des notes ventuellement. Tester la qualit du diagramme : - facteur d amplification (apporte assez de dtails) - point de vue (auditoire) - vrifier le but (analyse des besoins, ou fonctionnelle, ou ) - tester lquilibre (certaines activits sont-elles plus dtailles que d autres, ) - vrifier la compltude (l information est-elle complte ? recouvre-t-elle tout le domaine dlimit par la bote mre ? ) Crer des PES si ncessaire
  • Page 49
  • 49 Cration d un datagramme similaire aux actigrammes, mais un datagramme n est pas l inverse d un actigramme ! (ils doivent tre compatibles, c--d que l on doit retrouver les mmes donnes et activits, mais pas ncessairement aux mmes niveaux).
  • Page 50
  • 50 E1 C1 C2 S1 1 2 3 1 2 3 4 6 7 8 9 10 11 12 13 14 15 5 Exemple de Correspondance Activits/Donnes (liens A/D)