Analyse des Systèmes d'Information MASI
Analyse des Systèmes d'Information MASI
1
Méthodologies d’Analyse des Systèmes d’Information (MASI)
Objectifs
Objectif général
Maîtriser l’analyse et la conception d’applications par une
approche systémique ou orientée objet.
Objectifs spécifiques :
A l’issue de ce cours l’étudiant sera capable
de décrire les différentes étapes de réalisation d’un système
informatique
de concevoir les modèles qui seront produits dans chaque
étape
développer des systèmes logiciels suivant une approche
orientée objet.
2
Méthodologies d’Analyse des Systèmes d’Information
(MASI)
Contenu
4
Références Bibliographiques
« Merise Guide pratique modélisation des données
et des traitements, langage SQL » de Jean Luc
BAPTISTE
« UML en Action de l’analyse des besoins à la
conception » de Pascal Roques et de Franck Vallée
« Conduite de projets informatiques :
Développement, analyse et pilotage » Brice-Arnaud
GUERIN
« Conduite de projets informatiques : Principes et
techniques s’appuyant sur la méthode MERISE »
José Moréjon, Jean-René Rames
5
Approche systémique et
systèmes d'information
Approche systémique
L'approche systémique se distingue de la
pensée cartésienne pour appréhender des
objets de grande complexité. Un objet
complexe se caractérise par un nombre
important de relations entre les éléments qui
le constituent, alors qu'un objet compliqué est
caractérisé par un nombre important
d'éléments. L'analyse cartésienne s'applique
bien au domaine du compliqué, mais mal aux
domaines du complexe.
!!! Si les éléments sont imbriqués et corrélés, alors il faut une vision d'ensemble, une
approche systémique.
Approche systémique
La notion de système
Ou:
entrées sorties
Organisation
transformations
11
Système d’information
Ensemble de moyens humains et matériels et de méthodes permettant de
réaliser les traitements nécessaires sur les différentes formes d’information
pour la bonne conduite de l’organisation
12
Système d’information
Un système d'information possède diverses facettes. La représentation la plus utilisée
est celle des trois cycles : abstraction, décision, vie.
Niveau Conceptuel
Niveau Logique
Cycle de vie
Niveau Physique
Etude préalable
Etude détaillée
Etude technique
Réalisation
Maintenance
Ordre de décision
outils
entreprise informatiques
langage strict
organisation vivante
contraintes technologiques
problèmes mal définis
17
Informatisation d'un système d'information
nécessité de conception
Suivi de principes
! ,23&;&'481"'(%&'(&%H4*2K2*,82"3#&
*"3*(H82"3
! 75#$ ,"$'($&8"#8&*"14$(38 ! 75#$ (,&K23&'#&'"')E(&124$,$*12.#(
D"#5(E&23'2*,8(#$&;&E(&*1M',@(
! 0481"'"E"@2(%&'(&'45(E"HH('(38 !
! (,&K23&'(%&23'#%8$2(%&E"#$'(%
! #82E%#&(352$"33('(38% ! (2-4$,E2%,82"3&'(%&KE#-&K23,3*2($%
! M,23%&'(&H$"'#*825284
! 85#$ ='4E2"$,82"3% ! 85#$ (P,5)3('(38&'(%&$4%(,#-
! ;4#82E2%,-2E284 ! (,&'4'"*$,82%,82"3&'(&E,&-"#$%(
((%&K#%2"3%",*.#2%282"3%
! *38($""H4$,-2E284 !
! (P(38$(H$2%(&48(3'#(
!"#$%&'(&)*
9555#$ E(&52EE,@(&HE,348,2$(&"#N(8&E,&8(*8"32.#(&'(&HE,.#(%&O
+"$'(,#-&! .//0
Informatisation
!"#$%&'()*+,-./&0$+., d'un système d'information
10,./0&0()'#(&2$3.).4.5+'#
Panorama des méthodologies
! !)$73089,:1)$73:.*<2,89+.$9+.2*7$2*+79=;2=,3:1=.7:2**=)$7)+7?.)*7
30<.*.)$
! F)7*28?,)=/7-,2;)+$70:12=)*+7)*7,9.$2*73=7*2*7,)$-):+73=7:91.),7
3)$7:19,5)$ 7< 497<2.$7)*7:)7D=.7:2*:),*)74)$7?=35)+$7)+74)$73049.$
! -=$$.7-9,4)&+&2*7+2=;2=,$73)7:,.$)7)*750*.)7425.:.)4
!"#$%&'(&)*
+"$'(,#-&! .//0
!"#$%&'()*+,-./&0$+., 10,./0&0()'#(&2$3.).4.5+'#
Informatisation d'un système d'information
Panorama des méthodologies
! !"#$%&'"(()(#*:,-.&%/01,(01,&-#/%/"#(:,3#0$$0%0=1#0);&)%*:6),#
7,"-#*8.,-,#"1#'&*8 ##-:"(1#$0(#1&103"/"-1#/0=1%,(8
! !0#'%,("#*)#3&:,',"3#("#/0-,."(1"#< 1%0<"%(#
! 3"#*8%0$0:"#*"(#*830,(#"1#*"(#'&>1(#*"#*8<"3&$$"/"-1#*"#30#
$3)$0%1#*"(#$%&;"1(#,-.&%/01,>)"(
! 30#%803,(01,&-#*"#3&:,',"3(#*"#/0)<0,("#>)03,18
! >),#-"#(01,(.&-1#$0(#3"(#)1,3,(01")%(
! >),#-"#(&-1#$0%.&,(#;0/0,(#)1,3,(8(#
! &)#>),#-8'"((,1"-1#*"#-&/7%")("(#"1#'&>1")("(#%8<,(,&-(
! !"(#".."1(#*"#30#'%,("#$&%1"-1#0)((,#7,"-#()%#3"#$30-#8'&-&/,>)"#"1#
.,-0-',"%#>)"#()%#3"#$30-#&%:0-,(01,&--"3#"1#6)/0,-
!"#$%&'(&)*
Informatisation d'un système d'information
Panorama des méthodologies
!"#$%&'()*+,-./&0$+., 10,./0&0()'#(&2$3.).4.5+'#
Les !"(#$%&73@/"(
problèmes
! !"(#/816&*"(#"1#1"'6-,>)"(#*"#:8-,"#3&:,',"3#*&,<"-1#$"%/"11%"#
*?0*0$1"%#&)#*"#.0,%"#8<&3)"%#)-#3&:,',"3#0$%@(#(0#/,("#"-#
"/$3&,101,&-
! !?&7(10'3"#/0;")%#$&)%#'"%-"%#3"(#7"(&,-(#*"(#)1,3,(01")%(#<,"-1#*"#
'"#>)"#3"(#)1,3,(01")%(#-"#'&--0,(("-1#$0(#1&);&)%(#1%@(#7,"-#3")%(#
$%&$%"(#7"(&,-(#0)#*87)1#*)#$%&;"1
! )3#<,"-1#8:03"/"-1#*"#'"#>)"#'"#7"(&,-#8<&3)"#0)#'&)%(#*)#$%&;"1#"-#
("#-&)%%,((0-1#*"(#%8()3101(#*"#3?0-03C("#*"#3?&%:0-,(01,&-D
! )3#<,"-1#()%1&)1#*"#'"#>)"#30#'&//)-,'01,&-#0<"'#3"(#,-.&%/01,',"-(#
-?"(1#$0(#&)#/03#:8%8"D
! )3#<,"-1#*)#'0%0'1@%"#07('&-(#*"#30#'&/$3"/,18 *"(#E&)<"33"(#
!"#$%&'(&)*
?"'6-&3&:,"(#*"#3?)-.&%/01,&-
+"$'(,#-&! .//0
Informatisation d'un système d'information
!"#$%&'()*+,-./&0$+., 10,./0&0()'#(&2$3.).4.5+'#
Panorama des méthodologies
! *',234($&'(%&%"5#63"4%&'761"'"5"23.#(%&.#3&:($'(66(46
! '(&'7;(5"::($&(6&'(&<,3$(&7;"5#($&5"23*3(5&%#3;,46&5(%&-(%"34%&$7(5%&'(%&
#6353%,6(#$%
! '33':53.#($&',;,46,2(&5(%ᣑ%,6(#$%&(6&5(%&$(%:"4%,-5(%&4 6"#%&5(%&43;(,#-&'(&
',4,2('(46&',4%&5(&:$"*(%%#%&'(&'7*3%3"4&(6&'(&'7;(5"::('(46&'(%&5"23*3(5%
! '3,'753"$($&5,&<"$',63"4
! '(&$7'#3$(&5(&<,$'(,#&'(&5,&',346(4,4*(&(6&5(&*"56&'(&'7;(5"::('(46&
3"?@,&,!,.)"(
!"#$%&'(&)*
+"$'(,#-&! .//0
Informatisation d'un système d'information
Panorama des méthodologies
!"#$%&'()*+,-./&0$+., 10,./0&0()'#(&2$3.).4.5+'#
A,-./0&2.34,-,5.367089:9;9<=.3B
! ! !#$%&''(')*+'%+,-+./ 0(+)1/."#&)(.)&.'&34-&)*&)
3$*"-&')*/%#+56.7)-&')*+88/#&.7')6',&%7')*9(.)'#'7"3&)
-$1+%+&-;)&.)(7+-+'6.7)(.&)%L+.&).$767+$.)4+&.)*/8+.+& <
!+""*1#&60$
! >4%('-5(&'(&$)25(%&-3(4&'7<343(%&.#3&*"4'#3%(46&:"#$&
:$"-5)'(&4 #4(&%"5#63"4&*"$$(*6(&
! 24(&'761"'(&,&:"#$&"-P(6
! '(&'7*$3$(&53(4%('-5(&'(%&6<*1(%&4 ,**"':53$#&
! 53"$'"44,4*('(46&'(&*(%&6<*1(%#
! 5(%&'"*#'(46%&(6&5(%&%6,4',$'%&.#3&5(#$&%"46&,%%"*37(%#&
! K(&'"44($(&'7',$*1(&:"#$&'(4($&5(%&,4,5L%(%
Informatisation d'un système d'information
Panorama des méthodologies
!"#$%&'()*+,-./&0$+., 10,./0&0()'#(&2$3.).4.5+'#
! 22(&'451"'(&'"75&:5$(&!"#"$%&'
! ()#*%++'$,-'*< /#'*0'12#-3/'*4%$0-1/&-5$'
! 2%4%7&'*8'*9%-$'*9%1'*< 8'+*4$);'0+*8'*0%-&&'*'0*+/;'0*,%$-"+
! C'$<'00$'*&%*<%=0$-+'*8'+*7/8!'0+
! D-/'$*&'*1%8$'*8@/0-&-+%0-)#*)40-<-+"'*8'+*)/0-&+*8@%-8'*< &%*
+4"1-9-1%0-)# *&%*1)#1'40-)# *&%*$"%&-+%0-)# *BBB
! -11$)=0$'*&%*4$)8/10-,-0" 8'+*+'$,-1'+*-#9)$<%0-3/'+
! -++/$'$*&%*1)2"$'#1'*8'+*+)&/0-)#+*1)#E/'+*'0*&'/$*-#0"!$%0-)#*
8%#+*/#'*+0$%0"!-'*!&)7%&'
! 22(&'451"'(&'"75&%9,'$(%%($&4 5"#%&;(%&,*5(#$%
! %-8'*< &%*<-+'*'#*4&%1'*8@/#*&%#!%!'*1)<</#*%/*+'-#*8'*
&@)$!%#-+%0-)#
! 4)/$*!%$%#0-$*/#'*<'-&&'/$'*1)<</#-1%0-)#*'#0$'*0)/+*&'+*
!"#$%&'(&)*
4%$0'#%-$'+
+"$'(,#-&! .//0
Informatisation d'un système d'information
!"#$%&'()*+,-./&0$+.,
Panorama 10,./0&0()'#(&2$3.).4.5+'#
des méthodologies
2)<4)+%#0'+*8@/#'*<"02)8)&)!-'*
" 22(&'4',$*1(&"#&,==$"*1(
! >==$"*1(&%5$#*5#$4(N@"2*57"22(;;(
3%#-5$'*8@%7)$8'$*&%*4$)7&"<%0-3/'*
! >==$"*1(&%A%54'7.#( "+)/,'#0*&-" < &%*+0$/10/$'*8'*&@)$!%#-+%0-)#*"0/8-"'$
! >==$"*1(&"-P(5
! >==$"*1(&Q0
" 22(&'A2,'7.#(
! >%*(2',25(N'(%*(2',25( ,$!%#-+%0-)#*8'+*42%+'+*8'*&@%#%&F+'
! !A*;(&'(&G7(
.'+0-)#*8'*4$);'0
" 22&;,2H,H(
! 045,"'"');(
! (,2H,H(&'(&0"'4;7%,57"2&
,/0-&+*8@%#%&F+'**********
"4'$<'0*8'*9)$</&'$*&%*8"<%$12'$
! (,2H,H(&'(&=$"H$,'',57"2&2,57@
" L(%&"#57;%
! >M(&'(&'"'4;7%,57"2 (/44)$0*< &%*4$)8/10-)#*8'+*&-,$%7&'+*
! +#%72(%%&=$"*(%% 0"'(;($ "8-%!$%<<'+ *+4"1-9-1%0-)#+ *0'<4&%0'+ #$
!"#$%&'(&)*
+"$'(,#-&! .//0
Informatisation d'un système d'information
!"#$%&'()*+,-./&0$+., 10,./0&0()'#(&2$3.).4.5+'#
Panorama des méthodologies
! $#$%%#$($)(*$+%,$-./012,$+%34+,$)1+5$./+23,5$#,*$601*,* F
753*/1/,
! !"#$%&'()*)+),-"#$.)/01-##"1'$020"%"1'$*"#$#)+/'-)1#$,+)32+"#$#/0$
')/'"#$4"#$4)%5)#21'"#$%2-#$5+/'F'$*"#$#)+/'-)1#$520'-"++"#$#/0$
4"0'2-1"#
! >3&4536(&("86*6(:#&"3&,
! +"#$%&'()*"#$*"$4)1*/-'"$*"$50);"'#
! +"#$%&'()*"#$*"$#5&4-.-42'-)1
! +"#$%&'()*"#$*8212+9#"$"'$*"$4)14"5'-)1
! +"#$%&'()*"#$*"$0&2+-#2'-)1
! +"#$%&'()*"#$*"$,"#'-)1$*"$50);"'#
! +"#$%&'()*"#$*82##/0214"$"'$*"$,"#'-)1$*"$+2$:/2+-'&
! +"#$%&'()*"#$*"$,"#'-)1$"'$*8&;2+/2'-)1$*"#$4)>'#$"'$*"#$0-#:/"#
! ===
!"#$%&'(&)*
+"$'(,#-&! .//0
Informatisation d'un système d'information
!"#$%&'()*+,-./&0$+., 10,./0&0()'#(&2$3.).4.5+'#
Panorama des méthodologies
C0-14-52+"#$%&'()*"#$*"$4)14"5'-)1$
29
Informatisation d'un système d'information
KGaye 39
Les méthodes « classiques et obsolètes »
Vocabulaire
§ On distingue :
ØLes Méthodes de Conception de SI, qui permettent de
représenter ou de modéliser le SI (objets, données,
fonctions, ...). Exemple : Merise.
ØLes Méthodes de Conduite de Projet, qui définissent
l’intégralité des règles selon lesquelles le projet sera mené
(Cf. page suivante).
§ Toutes ces méthodes s’appuient, explicitement ou
non, sur un découpage du projet en phases
temporelles et/ou en activités qu’on appelle «
modèle de développement ».
Ces phases/activités sont délimitées dans le temps et dans
leur fonction. On peut ainsi subdiviser la tâche afin de la
rendre plus facilement planifiable et contrôlable.
Le respect rigoureux de cette subdivision constitue la
première étape de la démarche de suivi d’une méthode.
KGaye 40
Les méthodes « classiques et obsolètes »
Ø Les Méthodes de Conduite de Projet sont extrêmement
complètes et laissent très peu de marge d’initiative à l’équipe
projet car elles définissent :
Le modèle en Cascade
Waterfall model
KGaye 43
Vérification : le produit correct ?
Le modèle en Cascade
Modèle en cascade Waterfall model
(1970)
Retrait
P. Collet 8
KGaye 44
Les méthodes « classiques et obsolètes » : Le Modèle en cascade
Expression
Expressiondes
desbesoins
besoins Bilan
BilanProjet
Projet
Spécifications
Spécificationsfonctionnelles
fonctionnelles Recette
Recette
Conception
ConceptionGénérale
Générale Test
Testd’Intégration
d’Intégration
Conception
Conceptiondétaillée
détaillée Test
TestUnitaires
Unitaires
Codage
Codage
ABIC
KGaye 9
47
Les méthodes « classiques et obsolètes » : Le Modèle en W
Conception Maquettes
de haut niveau
Conception du Test du
composant 'i' composant 'i'
Ø Difficultés à postériori :
◦ Savez-vous aujourd’hui définir dans le détail et par avance la maison de vos
rêves ??
51
Les disciplines d’un projet
52
Les disciplines d’un projet: vue d’ensemble
Rappel :
53
Les disciplines d’un projet : spécificaAons
SpécificaAons = manière dont l’applicaAon va implémenter
les besoins (étape précédente = expression de besoin)
Définir le périmètre de l’applicaAon :
◦ au niveau foncAonnel : acAvités méAer à informaAser (souvent sous UML)
NavigaAon dans l’applicaAon
DescripAon détaillé des écrans : maqueNes, règles de gesAon écran
OrganisaAon des traitements
DescripAon détaillée des traitements « batch »
GesAon des habilitaAons
Paramétrage et contrôle des traitements
◦ au niveau technique : interfaces techniques du projet (normes, flux
de données, interfaces matérielles (info indus, imprimantes,
équipements mobiles, …)
Livrables
◦ SpécificaAons FoncAonnelles Générales (SFG) - opAon
◦ SpécificaAons FoncAonnelles Détaillées (SFD) - obligatoire
◦ SpécificaAons Techniques Générales (STG) - opAon
◦ SpécificaAons Techniques Détaillées (STD) - opAon
54
Les disciplines d’un projet : Architecture
Technique
Peut être opAonnel (si l’architecture est déjà en place et
maîtrisée)
Nécessaire s’il faut industrialiser les développements sur de
gros projets
Tâches :
◦ SélecAonner avec soin les ouAls de développement
◦ Récupérer un framework existant ou le créer
◦ MeNre en place des foncAons standard pour les DAO
◦ IdenAfier et contourner les contraintes techniques (ex : projets
J2EE : comportements différents selon les navigateurs)
◦ Réaliser des modèles d’implémentaAon qui seront largement
uAlisés, exemple :
Écran de saisie, navigaAon standard dans l’écran
Fenêtres standard d’erreurs et gesAon standard des retours d’erreur
Livrables
◦ Dossier d’architecture logicielle
55
Les disciplines d’un projet : ConcepAon
Technique
ConcepAon Technique = Passerelle entre SFD et
Code
Point d’entrée des développeurs
Tâches :
◦ Analyser les SFD et détecter d’éventuelles anomalies
◦ IdenAfier les composants à développer (classes, écrans,
services méAer, …)
◦ Formaliser la navigaAon entre les écrans
◦ Formaliser sous forme de pseudo code les traitements
Livrables
◦ Dossier de ConcepAon Technique
56
Les disciplines d’un projet : développement
Tâches
◦ Développement, dans le respect :
Des spécificaAons
De la concepAon applicaAve
◦ Tests usine
Tests Unitaires
Tests d’intégraAon
Tests par mutaAon, tests par propriétés
Tests foncAonnels, Tests IHM
Tests de montée en charge, de robustesse, de sécurité, de scalabilité,
….
Livrables
◦ Code source
◦ Exécutables, dans un package de livraison complet
◦ DocumentaAon du code (si intérêt)
◦ DocumentaAon uAlisateur (dérive spécificaAons foncAonnelles)
◦ DocumentaAon des tests
57
Les disciplines d’un projet : receNe
But
◦ Passage de ses tests avant mise en producAon
Plusieurs niveaux :
◦ VT : ValidaAon technique (non contractuelle) : porte sur des sous ensembles
de l’applicaAon
◦ VA : VérificaAon d’ApAtude (ou VABF : VA au Bon FoncAonnement) :
opéraAon contractuelle : vérifier que l’applicaAon finale respecte
scrupuleusement les spécificaAons. CeNe validaAon déclenche la mise en
producAon
◦ VSP : VérificaAon sur Site Pilote (opAonnel) : correcAon de bugs éventuels en
producAon sur une extracAon des sites client
◦ VSR : VérificaAon pour Service Régulier (contractuel) : correcAon de bugs en
producAon sur tous les sites clients. Déclenche le début de la garanAe
contractuelle
Livrables
◦ Bordereaux de livraison (chaque étape)
◦ PV (procès verbal) de receNe (chaque étape)
« sans réserves »
« avec réserves » : bugs à corriger (mineurs)
58