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
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).