Professional Documents
Culture Documents
Nous construisons des modles de systmes complexes parce que nous sommes incapables d'apprhender ces systmes dans leur entiret. Un modle est une simplification de la ralit
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 3
La capacit de vrification
Cohrence Compltude
Il s'agit d'un processus qui consiste identifier les caractristiques intressantes d'une entit, en vue d'une utilisation prcise. L'abstraction dsigne aussi le rsultat de ce processus, c'est--dire l'ensemble des caractristiques essentielles d'une entit, retenues par un observateur.
Un modle dfinit une frontire entre la ralit et la perspective de l'observateur. Ce n'est pas "la ralit", mais une vue trs subjective de la ralit. Bien qu'un modle ne reprsente pas une ralit absolue, un modle reflte des aspects importants de la ralit, il en donne donc une vue juste et pertinente.
5
Le caractre abstrait d'un modle doit notamment permettre : de faciliter la comprhension du systme tudi Un modle rduit la complexit du systme tudi. de simuler le systme tudi Un modle reprsente le systme tudi et reproduit ses comportements. Un modle rduit (dcompose) la ralit, dans le but de disposer d'lments de travail exploitables par des moyens mathmatiques ou informatiques. Un modle est une simplification de la ralit. Il permet de mieux comprendre le systme qu'on doit dvelopper. Les meilleurs modles sont proches de la ralit.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 6
Buts dUML
Modlisation du systme complet (pas seulement le logiciel) Relier les objets conceptuels au systme "excutable" Contrler la complexit (chelle) Lisible par des humains et des machines Langage ouvert (mcanisme d'extensibilit) Langage de spcification : signification claire et non ambigu
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 7
Gnalogie de UML
Do la ncessit de suivre : un processus bien dfini => le cycle de vie dun logiciel : prvoir et planifier les travaux ; coordonner les activits de conception, de fabrication, de validation, ragir lvolution des objectifs. une mthode rigoureuse base sur des Modles: reprsentations smantiques simplifies mais justes dun systme visant lanalyser et le comprendre pour mieux le concevoir.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 9
Lexpression des besoins : laboration par le client et le fournisseur dun cahier des charges dcrivant : les fonctionnalits du systme tudi ; comment utiliser ce systme ; les spcifications du systme : lever les ambiguts, liminer les redondances du cahier des charges ; lanalyse : phase indpendante du toute considration technique et informatique visant dfinir le systme (saccorder sur le quoi ) ;
la conception : prise en compte de lenvironnement technique pour dterminer la manire de rsoudre le problme pos (saccorder sur le Experts comment ) ; informatiques limplmentation : traduction de la conception dans un langage de programmation, en une base de donnes, ...
Experts les tests : vrification que limplmentation est correcte ; informatiques utilisateurs, experts / fournisseur
10
un caractre incrmental : une srie de prototypes (sous-ensemble logiciel intgrable, rutilisable et volutif) voluent jusqu la version finale.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 11
12
UML est un langage qui permet de reprsenter des modles, mais il ne dfinit pas le processus d'laboration des modles ! Cependant, dans le cadre de la modlisation d'une application informatique, les auteurs d'UML prconisent d'utiliser une dmarche : itrative et incrmentale, guide par les besoins des utilisateurs du systme, centre sur l'architecture logicielle. D'aprs les auteurs d'UML, un processus de dveloppement qui possde ces qualits devrait favoriser la russite d'un projet.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 13
Une dmarche itrative et incrmentale ? Une dmarche pilote par les besoins des utilisateurs ? Une dmarche centre sur l'architecture ?
14
L'ide est simple : pour modliser (comprendre et reprsenter) un systme complexe, il vaut mieux s'y prendre en plusieurs fois, en affinant son analyse par tapes. Cette dmarche devrait aussi s'appliquer au cycle de dveloppement dans son ensemble, en favorisant le prototypage. Le but est de mieux matriser la part d'inconnu et d'incertitudes qui caractrisent les systmes complexes.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 15
Les besoins des utilisateurs servent aussi de fil rouge, tout au long du cycle de dveloppement (itratif et incrmental) : A chaque itration de la phase d'analyse, on clarifie, affine et valide les besoins des utilisateurs. A chaque itration de la phase de conception et de ralisation, on veille la prise en compte des besoins des utilisateurs. A chaque itration de la phase de test, on vrifie que les besoins des utilisateurs sont satisfaits.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 16
Une architecture adapte est la cl du succs d'un dveloppement. Elle dcrit des choix stratgiques qui dterminent en grande partie les qualits du logiciel (adaptabilit, performances, fiabilit...).
18
vue ("4+1")
Ph. Kruchten propose diffrentes perspectives, indpendantes et complmentaires, qui permettent de dfinir un modle d'architecture (publication IEEE, 1995). Cette vue ("4+1") a fortement inspir UML :
19
La vue logique
Cette vue de haut niveau se concentre sur l'abstraction et l'encapsulation, elle modlise les lments et mcanismes principaux du systme. Elle identifie les lments du domaine, ainsi que les relations et interactions entre ces lments : les lments du domaine sont lis au(x) mtier(s) de l'entreprise, ils sont indispensables la mission du systme, ils gagnent tre rutiliss (ils reprsentent un savoirfaire). Cette vue organise aussi (selon des critres purement logiques), les lments du domaine en "catgories" : pour rpartir les tches dans les quipes, regrouper ce qui peut tre gnrique, isoler ce qui est propre une version donne, etc..
20
21
Cette vue est trs importante dans les environnements multitches ; elle montre : La dcomposition du systme en terme de processus (tches). Les interactions entre les processus (leur communication). La synchronisation et la communication des activits parallles (threads).
22
La vue de dploiement
Cette vue trs importante dans les environnements distribus, dcrit les ressources matrielles et la rpartition du logiciel dans ces ressources : La disposition et nature physique des matriels, ainsi que leurs performances. L'implantation des modules principaux sur les noeuds du rseau. Les exigences en terme de performances (temps de rponse, tolrance aux fautes et pannes...).
23
Dessiner le plan (l'architecture) d'un systme informatique n'est pas suffisant, il faut le justifier ! Cette vue dfinit les besoins des clients du systme et centre la dfinition de l'architecture du systme sur la satisfaction (la ralisation) de ces besoins. A l'aide de scnarios et de cas d'utilisation, cette vue conduit la dfinition d'un modle d'architecture pertinent et cohrent. Cette vue est la "colle" qui unifie les quatre autres vues de l'architecture. Elle motive les choix, permet d'identifier les interfaces critiques et force se concentrer sur les problmes importants.
24
25
26
29
Classes
30
31
32
La conceptualisation :
Le but de la conceptualisation est de comprendre et structurer les besoins du client. Il ne faut pas chercher l'exhaustivit, mais clarifier, filtrer et organiser les besoins ! Une fois identifis et structurs, ces besoins :
Le modle conceptuel doit permettre une meilleure comprhension du systme. Le modle conceptuel doit servir d'interface entre tous les acteurs du projet. Les besoins des clients sont des lments de traabilit dans un processus intgrant UML.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML)
dfinissent le contour du systme modliser (ils prcisent le but atteindre), permettent d'identifier les fonctionnalits principales (critiques) du systme.
33
Il s'agit de la solution UML pour reprsenter le modle conceptuel. Les use cases permettent de structurer les besoins des utilisateurs et les objectifs correspondants d'un systme. Ils centrent l'expression des exigences du systme sur ses utilisateurs : ils partent du principe que les objectifs du systme sont tous motivs.
34
Ils se limitent aux proccupations "relles" des utilisateurs ; ils ne prsentent pas de solutions d'implmentation et ne forment pas un inventaire fonctionnel du systme. Ils identifient les utilisateurs du systme (acteurs) et leur interaction avec le systme. Ils permettent de classer les acteurs et structurer les objectifs du systme. Ils servent de base la traabilit des exigences d'un systme dans un processus de dveloppement intgrant UML.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 35
Dictionnaire du domaine
Cest un outil de dialogue Informel, volutif et simple raliser, il permet dtablir et de figer la terminologie du domaine dapplication. Il Constitue le point d'entre et le rfrentiel initial de l'application ou du systme Le dictionnaire est un outil mthodologique important. Il permet de runir utilisateurs et informaticiens autour d'un objectif commun. La communication et donc la qualit de l'expression des besoins s'en trouvent amliores.
36
Dictionnaire du domaine
La terminologie issue du cahier des charges doit tre reprise et prcise, afin d'en extraire le dictionnaire. Les concepts de ce dictionnaire (noms communs) sont candidats tre des classes, relations ou attributs, alors que les actions (verbes) sont candidats tre des oprations. Le cahier des charges peut comporter des manques et des incohrences. Un premier objectif du dictionnaire est de clarifier ces aspects. Le dictionnaire est un document de rfrence, qui fait foi au cours du projet. Les dfinitions prcises des termes du dictionnaire doivent permettre de rgler les cas des synonymes (plusieurs termes ont la mme dfinition) et des polysmies (un mme terme plusieurs smantiques).
37
Instrument
Instrument
Manette_gaz
Action
Dfinition Action qui permet dinjecter le maximum de carburant pour atteindre la vitesse maximale
Traduit en ...
Nom informatique
Opration
Mettre_a_fond
38
Acteur : entit externe qui agit sur le systme (oprateur, autre systme...).
L'acteur peut consulter ou modifier l'tat du systme. En rponse l'action d'un acteur, le systme fournit un service qui correspond son besoin. Les acteurs peuvent tre classs (hirarchiss).
Use case : ensemble d'actions ralises par le systme, en rponse une action d'un acteur.
Les use cases peuvent tre structurs. Les use cases peuvent tre organiss en paquetages (packages). L'ensemble des use cases dcrit les objectifs (le but) du systme.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 39
Un cas d'utilisation "use-case" est une manire particulire d'utiliser le systme. Les cas d'utilisation permettent d'exprimer rapidement et simplement les besoins fondamentaux d'un point de vue compltement externe au systme. On dfinit une relation entre lacteur et chacun de ses use-cases. Lacteur communique avec le use-case, il participe au cas dutilisation. Un use-case peut tre reli plusieurs acteurs.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 40
41
42
43
Relation dassociation
Un lien entre le use case et lacteur , cest une relation de communication
Relation dutilisation
Inclusion ( includes ) : utilisation systmatique
Relation de gnralisation
Hritage Generalization
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 44
45
46
47
48
En gnral, chaque vnement se dveloppe en un cas dutilisation, mais un vnement peut engendrer plusieurs cas dutilisation.
50
La modlisation par use cases est une technique imprcise, assez difficile mettre en oeuvre. Nanmoins, elle permet de vrifier la conformit du produit avec les spcifications. La modlisation par use cases adopte un formalisme vraiment simpliste, ce qui facilite la comprhension par tout le monde, surtout aux non initis aux pratiques objet. La modlisation par use cases n'est pas une technique OBJET en soi
51
L'excutant profite du flou artistique sur la modlisation par use cases pour laisser le champ libre sa conception future du produit L'excutant a besoin des use cases pour faire l'valuation de l'ampleur du projet et tablir le cot et les autres paramtres d'affaires. Une bonne modlisation par use cases doit rpondre la question: que fait le systme un haut niveau et jamais comment (WHAT TO DO et NOT HOW TO DO) ?
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 52
tape 1: Identifier les "rles" du systme: Ce sont les acteurs avec le strotype "acteur". Lorsquun systme est subdivis en sous-systmes plus lmentaires, un soussystme peut devenir un acteur pour un autre sous systme. Si l'acteur n'est pas humain, utiliser une forme rectangulaire. tape 2: Diffrencier les acteurs si possible si la nature du problme lexige. Chercher les proprits communes de ces acteurs. Factorisez ventuellement un rle commun et driver (si possible) les autres acteurs partir de cet acteur commun (usage de l'hritage)
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 53
tape 3: Pour chaque acteur, chercher ce que cet acteur peut faire avec le systme et identifier les use cases de base. tapes 4: tudier chaque use case de base. S'il a l'air complexe et ne permet pas d'estimer l'ampleur du projet, dcomposer le et identifier les use cases sous-jacents. tape 5: Dcrire en dtail chaque use case, aussi bien des use case de base que les use cases sous-jacents. C'est une tape importante car elle permet de clarifier ce qu'on veut confier comme tches un systme.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 54
tape 6 : Supprimer les uses cases qui n'ont pas leur raison d'tre. Gnralement, un use case est "ralis" possiblement avec un mini diagramme de squence ou de collaboration, aussi petit soit-il, si l'on poursuivait l'tude. Si ce n'est pas le cas, peut tre le use case n'a pas sa raison d'tre. tape 7: Trouver les traitements communs dans les descriptions et cherchez les possibilits de factorisation. Dgagez si possible les use cases factoriss tape 8: tablir les liens strotyps pour prciser la smantique du systme. Ce sera la partie la plus technique de la spcification.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 55
tape 9: Recommencer les tapes 4 8 pour tous les use cases de base. tape 10: Identifier les acteurs secondaires (par exemple, les acteurs de maintenance et recommencez les tapes de 2 9 pour les acteurs secondaires)
56
Modlisation dun GAB (Guichet Automatique de Banque). Les principales fonctions sont les suivantes :
distribution dargent tout porteur dune carte de la banque (autorisation dun certain montant par le Systme dInformation de la banque) ou dune carte VISA (autorisation distance par le Systme dAutorisation VISA), consultation du solde, dpt en numraire et de chques pour les possesseurs dune carte de la banque. Toutes les transactions sont scurises (code personnel vrifi avec le code enregistr sur la puce de la carte ; la carte est avale aprs trois checs).Il faut parfois recharger le GAB et retirer des choses ...
58
Bibliothque
Un grant de bibliothque dsire automatiser la gestion des prts. Il commande un logiciel permettant aux utilisateurs de connatre les livres prsents, d'en rserver jusqu' deux. L'adhrent peut connatre la liste des livres qu'il a emprunts ou rservs. L'adhrent possde un mot de passe qui lui est donn son inscription. L'emprunt est toujours ralis par les employs qui travaillent la bibliothque. Aprs avoir identifi l'emprunteur, ils savent si le prt est possible (nombre max de prts = 5), et s'il a la priorit (il est celui qui a rserv le livre). Ce sont les employs qui mettent en bibliothque les livres rendus et les nouveaux livres. Il leur est possible de connatre l'ensemble des prts raliss dans la bibliothque.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 59
60
61
Les limites des diagramme de squence : comment faire apparatre des oprations non squentielles? Si la somme nest pas suffisante?
62
63
synchrone : lmetteur reste bloqu le temps que le rcepteur traite le message envoy ; asynchrone : lmetteur nest pas bloqu lorsque le rcepteur traite le message envoy.
64
65
66
Les diagrammes dactivits reprsentent ltat de lexcution dun mcanisme, sous la forme dun droulement dtapes regroupes squentiellement dans des branches parallles de flot de contrle ; Les diagrammes dactivit peuvent tre utiliss comme alternatives aux diagrammes de squences pour dcrire un cas dutilisation (quand les utilisateurs dun systme ont du mal manipuler des diagrammes de squences).
67
68
69
70
Ltude du cahier des charges ainsi quun dialogue avec les employs et leur chef a abouti retenir 3 acteurs : Un employ dont le rle est de saisir les caractristiques des articles lors dun chargement / dchargement. Un superviseur dont le rle est de pouvoir contrler ltat du stock. Un administrateur du systme dont le rle est de grer des comptes utilisateurs pour les employs et le superviseur.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 72
73
Lors de larrive dun camion : lemploy saisie les caractristiques des articles du chargement :
les articles sont caractriss par :
une rfrence unique pour chaque type darticle ; le nombre darticles dun type donn ;
Remarque : ce cas dutilisation ninclue pas ltape de vrification du chargement qui est faite manuellement.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 74
Lors du chargement dun camion : lemploy saisie les caractristiques des articles charger :
les articles sont caractriss par :
une rfrence unique pour tout le stock.
75
Lors de lajout dun nouvel employ utilisant le systme informatique : ladministrateur saisie des informations sur lemploy (son immatriculation) ; Ladministrateur ajoute cette personne aux groupes des employs.
76
77
78
A)Modliser le retrait dargent avec une carte VISA avec un diagramme dactivits. La carte peut tre invalide. Si elle est valide, le client doit taper son code. La carte est avale aprs trois essais infructueux. Le SA VISA autorise un certain montant ou refuse tout retrait. Une carte non rcupre est avale. Les billets non rcuprs par le client sont repris. Un ticket est toujours imprim pendant que les billets sont proposs. B)Modliser le scnario nominal (succs) avec un diagramme de squence.
Y. BERAICH - Mthodes d'analyse et de conception orientes objet (UML) 79
80
81