uml2 porgrammationb objet
TRANSCRIPT
-
8/8/2019 uml2 porgrammationb objet
1/281
1 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
ANALYSE ET DESIGN AVEC UML
UNE INTRODUCTION
-
8/8/2019 uml2 porgrammationb objet
2/281
2
Table des matires
Introduction lanalyse oriente objets et au design Historique
Dveloppement Itratif et Incrmental Cycle de vie du dveloppement dun systme
Comportement du systme Analyse du comportement requis avec lapproche des
cas dutilisation Scnarii et objets
Dveloppement de scnarii pour les cas dutilisation Recherche dobjets pour les scenarii identifis
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
3/281
3
Table des matires (suite 1)
Interactions entre objets Reprsentation graphique dun scnario
Classes et paquetages
Dfinition des classes, strotypes et paquetages Diagrammes de classes
Relations Recherche des relations requises pour
interactions entre objets Oprations
Structure et comportement
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
4/281
4
Table des matires (suite 2)
Hritage Recherche de facteurs communs entre les classes
Comportement d lobjet Les diagrammes de transition
Design de larchitecture Les 4+1 vues architecturales
Mcanismes cls
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
5/281
5
Table des matires (suite 3)
Design des classes Interface utilisateur Les patterns
Design des relations Design des attributs Design pour lhritage
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
6/281
6
Introduction lanalyse oriente objets et audesign
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
7/281
7
Objectifs:
A la fin de ce chapitre, vous devez pouvoir: Dcrire les mthodologies usuelles de dveloppement Expliquer la crise lie aux logiciels Discuter des atouts de la technologie oriente objet (00) Discuter des domaines dans lesquels la technologie OO
peut tre utilise
Dfinir lanalyse et le design Expliquer les origines de UML
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse oriente objet
-
8/8/2019 uml2 porgrammationb objet
8/281
8
Les mthodologies usuelles dedveloppement
Le modle en cascade Le modle en spirale
Le modle itratif et incrmental
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjet
-
8/8/2019 uml2 porgrammationb objet
9/281
9
Le modle en cascade
Chaque tape doit tre boucle avant que lasuivante ne soit entame
Ce modle simpliste (et facile a grer) savreinadquat quand la taille et la complexit du projetaugmentent.
o Les problmes majeures sont:o Les larges systmes doivent tre entirement compris et analyss avant le design.
La complexit croit et devient difficile a grer au niveau des dveloppeurso Les risques croissent avec le temps. Les problmes majeurs surviennent dans les
dernires phases surtout lors de lintgrationo Les cots de rectification augmentent exponentiellement avec le tempso Pour les grands projets, chaque tape prends un temps considrable (maintient
dune quipe sur +1 ans pour des tests???)
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
10/281
10
Le modle en cascade
Vu que lanalyse nest effectue uniquement quen amont, nous courrons le grand risque
de ne pas rellement comprendre les besoins du client Malgr le suivi de procdures rigoureuses et la signature de documents par le client, les
chances que le produit final aprs le design, limplmentation, lintgration et les tests nerponde pas aux attentes du client restent leves
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse oriente objetIntroduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
11/281
11
Le modle en cascade
Le modle en cascade nest pas mauvais en soi. Il est efficace quand le projet est relativement petit :
Pilot par une petite quipe
Chaque personne de lquipe comprends tous les aspect dusystme La dure du dveloppement est courte (quelques mois)
Ce modle vaut beaucoup mieux que le chaos. Il devient moins adquat quand la complexit saccrot.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
12/281
12
Le modle en spirale
Dans ce modle, le projet est divisen une suite de petits cycles,aboutissant chacun la productiondun logiciel excutable.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
13/281
-
8/8/2019 uml2 porgrammationb objet
14/281
14
Le modle en spirale
Inconvnients: Ce modle est communment associ au dveloppement rapide
dapplication Le processus est plus difficile a grer. Les techniques classiques
de gestion de projet telles que les chartes de GANTT ne peuventplus sappliquer. Dautres techniques sont requises.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
15/281
15
Le modle itratif et incrmental
Ce modle est une extension logique du modle en spirale a ladiffrence quil introduit du formalisme et de la rigueur.
Ce modle comprends 4 phases: Initiation laboration Construction Transition
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
Initiation Construction
laboration Transition
-
8/8/2019 uml2 porgrammationb objet
16/281
16
Le modle itratif et incrmental
Initiation: Cette phase dfini les contours du projet et sa charte Les livrables possibles sont:
La charte du projet Une exploration initiale des besoins du client Dossier financier (prvisions financires, critres de succs, retour
sur investissement etc.) valuation des risques associs au projet Plan du projet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
17/281
17
Le modle itratif et incrmental
laboration: Cette phase permet danalyser le problme, dagrmenter le plan du
projet et dliminer les parties risques du projet. A la fin de cette phase, lquipe projet a une comprhension global du
projet (pas encore en profondeur) 2 modles de UML aident dans cette phase:
Les cas dutilisation (Use Case Model), permettent de comprendreles besoins du client
Les diagrammes de classes qui permettent dexplorer les conceptsmajeurs soumis par le client
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
18/281
18
Le modle itratif et incrmental
Construction: Dans cette phase, le produit est construit Elle ne se fait pas de faon linaire mais suit le modle en
spirale, en passant par une srie ditrations. Chaque itration suit le modle en cascade. En rduisant la dure de chacune des itrations, les
problmes lis au modle en cascade peuvent tre vits.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
19/281
19
Le modle itratif et incrmental
Construction:
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
Lobjectif lissue de chaque itration est de dispos dun systme
excutable.Le systme devient de plus en plus oprationnel avec les itrationsLes fonctionnalits sont ajoutes par incrments.
-
8/8/2019 uml2 porgrammationb objet
20/281
20
Le modle itratif et incrmental
Transition: Cette phase finale concerne le transfert de lapplication chez le client Les activits typiques sont:
Les versions bta Les tests dintgration La reprise des donnes La formation des utilisateurs Le marketing, la distribution et la vente
Cette phase ne correspond pas a la phase de test dans lemodle en cascade. Avant cette phase, le produit doitdj tre test.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
21/281
21
Le modle itratif et incrmental
Exemples de modles itratifs Le RUP (Rational Unified Process)
http://www-306.ibm.com/software/awdtools/rup/ Le XP (eXtreme Programming)
http://www.extremeprogramming.org/ Le AUP (Agile Unified Process)
http://www.ambysoft.com/unifiedprocess/agileUP.html Le EUP (Enterprise Unified Process)
http://www.enterpriseunifiedprocess.com/
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjetLes mthodologies dedveloppement
-
8/8/2019 uml2 porgrammationb objet
22/281
22
La crise logicielle
Source: US. Government Data
Paid for But Not Delivered
Delivered But Unusable
Major Rework Reqd
Used WithChanges
Less than 5% Used with no changes
More than 95% Requiredchanges orwas unusable
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjet
-
8/8/2019 uml2 porgrammationb objet
23/281
23
La crise logicielle
Le dpartement des vhicules motoriss de ltat de Californiea dpens plus de $ 43 millions pour fusionner le fichier despermis de conduire avec celui de limmatriculation de vhicules Le systme a t abandonn sans jamais avoir t utilis
American Airlines a perdu $ 165 millions pour relier son systmede rservation avec celui de Mariott, Hilton et Budget.
Laroport de Denver a perdu des millions de dollars US avec lereport de son ouverture suite au dysfonctionnement du systmeinformatique des bagages
Introduction lanalyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Source:Rapport sur les checs logiciels par W. WaytGibbs,Scientific American, Septembre 1994
-
8/8/2019 uml2 porgrammationb objet
24/281
24
La crise logicielle
En mars 1989, la cabinet Arthur Andersen a rapport que plus de $300 milliards par an sont dpenss dans des activits
tournant autour des logiciels aux USA Les logiciels livrs et fonctionnels ne reprsentent que 8% de cette
manne
Les raisons de la crise logicielle volutivit des besoins checs dans la gestion des risques Complexit des logiciels
Introduction lanalyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
25/281
25
volutivit des besoins
Les besoins initiaux sont gnralement mal dfinis ou exprims Les cycles de dveloppement courts sont une ncessit
Les clients attendent plus en termes de flexibilit
Introduction lanalyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
La crise logicielle
-
8/8/2019 uml2 porgrammationb objet
26/281
26
chec dans la gestion du risque
Le modle en cascade peut retarder lidentification desproblmes
Rien ne prouve que le systme fonctionnera en fin de cycle Le rsultat est laugmentation du risque
Introduction lanalyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
La crise logicielle
I t d ti l l i t
-
8/8/2019 uml2 porgrammationb objet
27/281
27
La complexit des logiciels
La demande de solutions mtiers augmente sans cesse Personne ne comprend totalement le systme La maintenance des systmes doit tre assure mais les
dveloppeurs initiaux sont partis
Introduction lanalyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
La crise logicielle
I t d ti l l i t
-
8/8/2019 uml2 porgrammationb objet
28/281
28
Les atouts de la technologie 00
Un seul paradigme Langage simple utilis par les utilisateurs, les analystes, les
designers, les dveloppeurs Facilite la rutilisation de larchitecture et du code Modlise mieux le monde rel
Dcrit plus prcisment les donnes et processus Dcompose sur la base de partitionnements naturels Facile a comprendre et a maintenir
Stabilit
Une modification mineur dans les besoins ne ncessite pasforcement des changements importants du systme enconstruction
Introduction lanalyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
29/281
29
Simple exemple de commande
Introduction lanalyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les atouts de la technologie 00
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
30/281
30
Diagramme de classes
Introduction l analyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les atouts de la technologie 00
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
31/281
31
Effet dun changement dans les besoins
Introduction l analyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les atouts de la technologie 00
Au cas ou une nouvelle compagnie de transport doit tre prise en compte
seule la classe Camiondoit tre modifi
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
32/281
32
Domaines dapplication
Systmes Graphique Lapproche 00 facilite le design et limplmentation
de systmes avec Interface Graphique (Mac OS,Windows XP, Gnome etc.)
Introduction l analyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les atouts de la technologie 00
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
33/281
33
Domaines dapplication
Systmes Embarqus Les mthodes 00 permettent aux systmes
embarqus et temps rel dtre dvelopps avecqualit et flexibilit
Introduction l analyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les atouts de la technologie 00
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
34/281
34
Domaines dapplication
Traitements Client/Serveur Les approches 00 permettent dencapsuler les
informations dans des objets, rduisant la tailledes application a livrer
Introduction l analyse orienteobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les atouts de la technologie 00
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
35/281
35
Domaines dapplication
Re-engineering Les mthodes 00 permettent de faire du re-
engineering sur des parties dun systme,protgeant ainsi les investissements en logicielsexistants
t oduct o a a yse o e teobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les atouts de la technologie 00
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
36/281
36
Analyse et Design Orients Objet
yobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
37/281
37
Quest ce que UML?
Unified Modeling Language (Langage de Modlisation Unifi) Langage dcrit dans The Unified Modeling Language for
Object Oriented Development crit par Grady Booch, JimRumbaugh et Ivar Jacobson Disponible depuis http://www.rational.com/
Bas sur les expriences personnelles des auteurs Inclus les contributions dautres mthodologistes Soumis lOMG (Object Management Group) par Rational
Software (IBM), Microsoft, HP, Oracle, Texas Instrument, MCI
Systemhouse et autres.
yobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Analyse et Design 00
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
38/281
38
Origines de UML
objet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Analyse et Design 00
-
8/8/2019 uml2 porgrammationb objet
39/281
Introduction lanalyse oriente
-
8/8/2019 uml2 porgrammationb objet
40/281
40
Les 4+1 vues dun modle UML
objet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Analyse et Design 00
Introduction lanalyse orientebj
-
8/8/2019 uml2 porgrammationb objet
41/281
41
Avantages de UML
Permet une transition fluide de lanalyse au design et
limplmentation Dfini une notation consistante et expressive:
Facilite la communication Aide isoler les omissions et inconsistances
Sapplique aux petites et larges analyses
objet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Analyse et Design 00
Introduction lanalyse orientebj t
-
8/8/2019 uml2 porgrammationb objet
42/281
42
Conclusion
De nouvelles techniques de dveloppement sont requises
pour juguler la crise logicielle Les besoins ne sont pas stables Les logiciels deviennent complexes Les clients exigent le maximum de flexibilit
La technologie 00 a plusieurs atouts Paradigme unique Les modles sont calqus sur le monde rel Elle facilite la rutilisation de larchitecture et du code Elle offre plus de flexibilit
Un changement mineur dans les besoins nimplique pas desmodifications majeures du systme en dveloppement
objet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjet
-
8/8/2019 uml2 porgrammationb objet
43/281
43
Conclusion
La technologie OO est utilise pour diffrents types de
systmes Systmes graphiques, embarqus, client serveur et re-
engineering Lanalyse OO est une mthode dans laquelle les besoins
sont exprims en termes des objets dcrits par le problme Sappuie sur le QUOI Dans le design 00, le modle issue de lanalyse est raffin,
avec lajout de dtails et des dcisions de design requisespour implmenter le modle Sappui sur le COMMENT
objet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Introduction lanalyse orienteobjet
-
8/8/2019 uml2 porgrammationb objet
44/281
44
Conclusion
La mthodologie UML a t dvelopp par Grady Booch, Jim
Rumbaugh et Ivar Jacobson en collaboration avec plusieursautres sur la base de leurs expriences collectives.
UML support 4+1 vue architecturales La vue Logique
La vue de Dveloppement La vue des Traitements La vue Physique La vue des cas dutilisation/scenarii
objet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
45/281
45
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
46/281
46
Dveloppement itratif et incrmental
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Dveloppement itratif et incrmental
-
8/8/2019 uml2 porgrammationb objet
47/281
47
Objectifs:
A la fin de ce chapitre, vous devez pouvoir: Dfinir le processus de dveloppement itratif et
incrmental (PDII) Lister les tapes, rsultats et activits majeures
pour chacune des phases dun PDII
Dfinir une itration et lister ses activits
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Dveloppement itratif et incrmental
-
8/8/2019 uml2 porgrammationb objet
48/281
48
Le Dveloppement Itratif et incrmental
Le Dveloppement Itratif et incrmental (DII) est le
processus de construction dun logiciel par petites tapes Avantages
Rduction des risques sur la base dun feedback Flexibilit dans la prise en compte des changements de besoins
et de nouveaux besoins Amlioration de la qualit des logiciels
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Dveloppement itratif et incrmentalL D l I if I l
-
8/8/2019 uml2 porgrammationb objet
49/281
49
Le Cycle de Vie Logiciel
Le cycle de vie logiciel est divis en cycles ou le livrable dun
cycle donn est la cration dun produit Chaque cycle est une succession des phases:
Initiation laboration
Construction Transition
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le Dveloppement Itratif et Incrmental
Dveloppement itratif et incrmentalL l d i l i i l
-
8/8/2019 uml2 porgrammationb objet
50/281
50
La phase dInitiation
Utilit tablir le cadre lgal, juridique et financier pour la mise en place
dun nouveau systme ou la mise a jour dun systme existant Livrables requis
Les besoins essentiels pour le projet
Une valuation initiale des risques Livrables optionnels
Un prototype conceptuel Un domaine de modle initial (10~20% termin)
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le cycle de vie logiciel
Dveloppement itratif et incrmentalLe cycle de vie logiciel
-
8/8/2019 uml2 porgrammationb objet
51/281
51
La phase dlaboration
Utilit Analyser le domaine du problme tablir une solide architecture de base Aborder les sections les plus risques du projet laborer un plan de projet montrant comment le projet sera
excut
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le cycle de vie logiciel
Dveloppement itratif et incrmentalLe cycle de vie logiciel
-
8/8/2019 uml2 porgrammationb objet
52/281
52
La phase dlaboration
Livrables Un modle du comportement du systme incluant le contexte,
les scenarii, un domaine de modle (80% termin) Une architecture Une bauche de la vision du produit sur la base du domaine de
modle Un valuation rvise des risques Un plan de dveloppement Des critres dvaluation du systme Descriptions des Une premire version du manuel dutilisation (optionnel)
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le cycle de vie logiciel
Dveloppement itratif et incrmentalLe cycle de vie logiciel
-
8/8/2019 uml2 porgrammationb objet
53/281
53
La phase de Construction
Utilit Dvelopper de faon incrmentale un logiciel complet prt a
tre transfrer chez le client Livrables
Une srie de versions excutables du produit
Des prototypes Les rsultats Assurance Qualit La documentation Le plan de dploiement Les critres dvaluation pour litration suivante
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le cycle de vie logiciel
Dveloppement itratif et incrmentalLe cycle de vie logiciel
-
8/8/2019 uml2 porgrammationb objet
54/281
54
La phase de Transition
Utilit Transfrer le logiciel chez le client
Livrables Une srie de versions excutables du produit Les rsultats Assurance Qualit
La documentation Analyses des performances du projet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le cycle de vie logiciel
Dveloppement itratif et incrmental
-
8/8/2019 uml2 porgrammationb objet
55/281
55
Planification des itrations
Identifier et prioriser les risques majeurs du projet Slectionner un nombre de scnarii qui adresse directement
les risques de plus haute priorit Les scenarii slectionns seront utiliss :
Par les dveloppeurs pour identifier ce qui doit tre implmenter
dans litration. Par les responsables des tests pour dvelopper les plans de
tests et les procdures pour litration A la fin de litration, dterminer les risques ayant t rduits
ou limins. Mettre le plan a jour pour les itrations restantes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Dveloppement itratif et incrmental
-
8/8/2019 uml2 porgrammationb objet
56/281
56
Planification des itrations
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Dveloppement itratif et incrmental
-
8/8/2019 uml2 porgrammationb objet
57/281
57
Conclusion
Le dveloppement itratif et incrmental est le processus de
construction de logiciels par petites tapes. Le dveloppementpasse par une srie de publication de versions qui aboutissenten la version finale.
Le cycle de vie logiciel est divis en cycles ou le rsultat duncycle est la production dune version du logiciel
Chaque cycle est une succession de phases Initiation -- fondement lgal, juridique et financier laboration analyse du domaine du problme, fondation
architecturale, valuation prliminaire des risques Construction dveloppement incrmental dun logiciel completprt a tre transfrer chez le client Transition transfert du produit chez le client
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Dveloppement itratif et incrmental
-
8/8/2019 uml2 porgrammationb objet
58/281
58
Conclusion
Une itration est un circuit ferm de dveloppement
aboutissant en une version du produit final et comprenant tousles aspects du dveloppement de logiciel: Analyse des besoins Design Implmentation Tests Documentation
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
59/281
59
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
60/281
60
Comportement du Systme
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du Systme
-
8/8/2019 uml2 porgrammationb objet
61/281
61
Objectifs:
A la fin de ce chapitre, vous devez pouvoir: Dfinir le comportement du systme Dfinir les cas dutilisation et les acteurs Comprendre comment documenter les cas
dutilisation Utiliser un diagramme de cas dutilisation pour
montrer les acteurs, le systme et les casdutilisation identifis.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systme
-
8/8/2019 uml2 porgrammationb objet
62/281
62
Quest que le comportement dun Systme?
Le comportement dun systme dfini comment le systme
se comporte et ragi Cest lactivit visible et testable du systme
Le comportement du systme est captur par les casdutilisation Ils dcrivent le systme, son environnement et les relation entre
le systme et son environnement
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systme
-
8/8/2019 uml2 porgrammationb objet
63/281
63
Concepts majeurs du MCU
Un acteur reprsente toute entit qui
interagi avec le systme
Un Cas dUtilisation (CU) est unesquence de transactions effectuespar un systme et qui abouti en unrsultat mesurable ayant de la valeurpour un acteur particulier
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systme
-
8/8/2019 uml2 porgrammationb objet
64/281
64
Modle de Cas dUtilisation (MCU)
Un modle de cas dutilisation est un modle des fonctions
attendues du systme (cas dutilisation) et de sonenvironnement (acteurs) Les cas dutilisation servent de fil conducteur pendant le
dveloppement du systme Le mme cas dutilisation est utilis dans lanalyse des
besoins, dans le design et dans les tests.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le rle le plus important dun modle de cas dutilisation
est de communiquer les fonctionnalits et lecomportement du systme au client ou utilisateur final
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
65/281
65
Avantages du MCU
Le modle de cas dutilisation Est utilis pour communiquer avec les utilisateurs finaux et lesexperts du domaine
Garantie la comprhension mutuelle des besoins
Est utilis pour identifier Qui interagira avec le systme et ce que le systme doit faire Quelles interfaces le systme devra possder
Est utilis pour vrifier Que les besoins ont t capturs Que les dveloppeurs ont compris les besoins
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
66/281
66
Quest quun acteur?
Les acteurs ne font pas partie du systme,
ils reprsentent les rles quun utilisateurdu systme peut jouer
Un acteur peut changer des informationsavec le systme
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Recherche des acteurs: quelques
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
67/281
67
Recherche des acteurs: quelquesindices
Qui est concern par certains besoins ? Ou dans lorganisation le systme est il utilis? Qui fournira les informations au systme, utilisera linformation,
supprimera linformation? Qui utilisera cette fonction?
Qui soccupera du support et de la maintenance du systme? Le systme utilise til des ressources externes De quels acteurs le CU a-t-il besoin? Est-ce quun acteur jour plusieurs diffrents rles? Le mme rle
est il jou par plusieurs acteurs?
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
68/281
68
Instances dacteurs
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
69/281
69
Un utilisateur pour plusieurs rles
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
70/281
70
Quest ce quun cas dutilisation ?
Un cas dutilisation modlise un
dialogue entre les acteurs et lesystme. Un cas dutilisation est initi par un
acteur pour invoquer unefonctionnalit dans le systme
Un cas dutilisation est un fluxcomplt et sens dvnements
Pris ensemble, tous les casdutilisation constituent les voies
possible dutilisation du systme
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
71/281
71
Recherche des CU: quelques indices
Quelles sont les taches de cet acteur? Lacteur va-t-il crer, enregistrer, modifier, supprimer ou lire desinformations du systme Quel cas dutilisation pourra crer, enregistrer, modifier,
supprimer ou lire cette information?
Lacteur devra til informer le systme de changement soudainset/ou externes? Lacteur devra til tre inform de certains vnements du
systme? Quel cas dutilisation devront supporter et maintenir le systme Les cas dutilisation peuvent ils adresser tous les besoins
fonctionnels?
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
72/281
72
Source dinformation pour les CU
Spcifications du systme/nonc du problme Littrature relative au domaine Interviews avec les experts du domaine Connaissances personnelles du domaine
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
73/281
73
Le Diagramme de CU (DCU)
Un diagramme de cas dutilisation peut tre dessin pour illustrer que les
cas dutilisation et les acteurs interagissent en senvoyant des stimuli.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
74/281
74
Documentation des CU
Les cas dUtilisation sont documents avec:
Une brve description Le but du cas dutilisation en quelques lignes
Le flux dtaill des vnements Description du flux primaire et du flux alternatif des vnements qui auront lieu
quand le CU sera initi
Les 2 documents sont crits en des termes que le client comprends
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
75/281
75
Flux des vnements dans un CU
Chaque cas dutilisation
A une squence normale de transactions Peut avoir plusieurs squences alternatives de transactions A gnralement plusieurs squences exceptionnelles traitant des situations
derreurs Peut avoir des pr et post conditions bien dfinies.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
76/281
76
Pour qui est la documentation des CU?
Client approuve ce que le systme doit faire
Utilisateur fourni une comprhension du systme Dveloppeur documente le comportement du systme Vrificateur Examine le flux des vnements Analyste fourni les bases pour lanalyse et le design Chargs des tests comme base pour les cas de tests Chef de projet planification du projet Documentaliste pour la rdaction du manuel des utilisateurs finaux.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
77/281
77
Conclusion
Le comportement du systme dfini comment le systme agit et ragit
Le comportement dun systme peut tre caractris par un groupe decas dutilisation Un cas dutilisation reprsente une fonctionnalit fournie pat le systme
en rponse au stimulus dun acteur externe Ils offrent un vhicule pour capturer les besoins dun systme du point de
vue utilisateur Un acteur est quelquun ou quelque chose qui doit s interfacer avec le
systme en dveloppement Un cas dutilisation est une reprsentation graphique du systme qui
montre les acteurs et les cas dutilisation identifis par le systme.
La documentation dun cas dutilisation consiste en une brvedescription et un flux dvnements
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
78/281
78
Exemple: Inscription acadmique
Au dbut de chaque semestre, les tudiants peuvent demander un
catalogue contenant la liste des cours dispensables. Les informationsrelatives a chaque cours, telles que le professeur, le dpartement et lespr requis y sont mentionnes pour aider ltudiant.
Le nouveau systme doit aider les tudiants a slectionner dans unpremier temps, quatre matires pour le semestre a venir. Ensuite,
chaque tudiant doit slectionner deux autres matires pour le cas ou ilny aurait plus de place disponible pour lune des matires de premierchoix ou que la matire en question ait t annule. Une foislinscription termine pour un tudiant donn, le systme dinscriptionenvoie linformation au systme de facturation pour que ltudiant
reoive la facture du semestre.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
79/281
79
Exemple: Inscription acadmique
Les professeurs doivent pouvoir accder au systme pour
mentionner les cours quils dispenseront. Il devront aussiconnaitre les tudiants stant inscrits pour leurs cours. Pour chaque semestre, il y a une priode de temps pendant
laquelle les tudiants peuvent modifier leurs emploi du temps.
Les tudiants doivent pouvoir accder au systme pendant cettepriode pour ajouter ou supprimer des cours.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
80/281
80
Les acteurs: Inscription acadmique
Les acteurs sont tudiant Professeur Systme de facturation
Charg des inscriptions
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
81/281
81
Les CU: Inscription acadmique
tudiant Sinscrit pour des cours
Charg dinscriptions Maintient les informations sur les matires dispenses, les
tudiants, les professeurs et gnre le catalogue des matires
dispenses Professeur
Dispose des contenus des cours, choisi les cours a enseigner
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
82/281
82
Le DCU: Inscription acadmique
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Brve description: CU Inscription
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
83/281
83
acadmique
Ce CU est initi par un tudiant. Il permet ltudiant de crer,
supprimer, modifier et/ou rviser un emploi du temps pour unsemestre donn.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Flux des vnements: CU Inscription
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
84/281
84
acadmique
Ce CU dmarre quand ltudiant saisi son matricule. Le systme
vrifie que le matricule est valide et demande ltudiant dechoisir le semestre en cours ou un semestre future. Ltudiantchoisi le semestre qui lintresse. Le systme demande altudiant de choisir entre les activits suivantes La cration dun emploi du temps La consultation dun emploi du temps La modification dun emploi du temps
Suppression dune matire Ajout dune matire
Ltudiant indique la fin de lactivit choisie. Le systme ditelemploi du temps de ltudiant et informe ce dernier de la fin delinscription. Le systme envoie des lments de facturation ausystme de facturation pour traitement.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Flux des vnements: CU Inscription
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
85/281
85
acadmique
Flux alternatif
Si le matricule est invalide, le systme ne permet aucun accs. Si ltudiant tente de crer un emploi du temps pour un semestre
donne alors quun emploi du temps existe, demandera de faire unautre choix
Ajoute ltudiant a la liste relative a ce cours sil y a encore de la place
Cration dun emploi du temps Ltudiant slectionne dabord 4 matires de premier choix, puis 2
matires alternatives. Ltudiant soumet ses choix. Le systme Vrifie que les pr requis sont satisfaits
Flux alternatif Si une matire de premier choix nest pas disponible, le systme la
remplace par une matire alternative
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Flux des vnements: CU Inscription
Comportement du systmeModle de Cas dUtilisation (MCU)
-
8/8/2019 uml2 porgrammationb objet
86/281
86
acadmique
Consultation dun emploi du temps
Ltudiant demande des informations sur tous les course pour lesquels ilpeut sinscrire pour un semestre donn. Le systme affiche tous les courspour lesquels ltudiant est inscrit avec la dnomination du cours, le numrodu cours, les jours de la semaine, les horaires, les salles et les units devaleur.
Modification Suppression dun cours. Ltudiant indique le cours quil aimerait supprimer.
Le systme vrifie que la date butoir pour la modification nest pas passe.Le systme informe ltudiant que sa demande a t traite.
Ajout dun cours. Ltudiant indique le cours quil aimerait ajouter. Le
systme vrifie que la date butoir pour la modification nest pas passe et Vrifie que le nombre maximal des cours nest pas dpasse Vrifie que les pr requis sont satisfaits Ajoute ltudiant a la liste au cas ou il y a encore de la place
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
87/281
87
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
88/281
88
Scnarii et Objets
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Scnarii et Objets
-
8/8/2019 uml2 porgrammationb objet
89/281
89
Objectifs:
A la fin de ce chapitre, vous devezpouvoir:
Dfinir et dvelopper des scenarii de casdutilisation Dfinir et donner des exemples dobjet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Scnarii et ObjetsScnarii
-
8/8/2019 uml2 porgrammationb objet
90/281
90
Quest ce quun scnario ?
Un scnario est un instance de cas dutilisation
Cest le contour des vnements qui arrivent pendant lexcution dusystme
Chaque CU contient plusieurs scenarii Les scenarii primaires (meilleur des mondes)
Les flux normaux, le fonctionnement idal Les scenarii secondaires
Les exceptions au scenarii primaires
Les scenarii sont modliss avec les diagrammes de squenceset/ou mes diagrammes de collaboration
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Un Scnario pour CU Sinscrit pour les
Scnarii et ObjetsScnarii
-
8/8/2019 uml2 porgrammationb objet
91/281
91
cours
Kouassi saisi le matricule 1234 56 et le systme valide le numro.
Le systme demande le semestre. Kouassi choisi le semestre encours et opte pour crer un nouvel emploi du temps.De la liste des cours disponibles, Kouassi choisi dans un premier
temps les cours primaires Anglais 101, Gologie 110, Histoire
200, Algbre 110. Il choisi ensuite les cours additionnelsThorie Musicale 110 et Introduction a Java 180Le systme dtermine que Kouassi a les pr requis ncessaires et
lajoute a la liste des lves
Le systme indique la fin des activits. Le systme dite lemploi dutemps et envoie les informations de facturation pour les 4 coursau systme de facturation
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
S ii d i
Scnarii et ObjetsScnarii
-
8/8/2019 uml2 porgrammationb objet
92/281
92
Scnarii secondaires
Quels sont les scnarii secondaires pour le CU Sinscrit pour les cours
?
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
S ii d i
Scnarii et ObjetsScnarii
-
8/8/2019 uml2 porgrammationb objet
93/281
93
Scnarii secondaires
Quelques scenarii a considrer sont:
Ltudiant ne slectionne pas 4 cours primaires Le cours primaire nest pas disponible Les cours primaires et secondaires ne sont pas disponibles
Impossibilit dajouter ltudiant a la liste
Impossibilit de crer lemploi du temps de ltudiant
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
S ii d i
Scnarii et ObjetsScnarii
-
8/8/2019 uml2 porgrammationb objet
94/281
94
Scnarii secondaires
Quelques scenarii a considrer sont:
Ltudiant ne slectionne pas 4 cours primaires Le cours primaire nest pas disponible Les cours primaires et secondaires ne sont pas disponibles
Impossibilit dajouter ltudiant a la liste
Impossibilit de crer lemploi du temps de ltudiant
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Combien de scnarii sont ncessaires ?
Scnarii et ObjetsScnarii
-
8/8/2019 uml2 porgrammationb objet
95/281
95
Combien de scnarii sont ncessaires ?
Simple rponse: autant quil en faut pour comprendre le
systme a dvelopper Rgle dOr:
Scenarii primaires laborer prs de 80% des scenarii
Scenarii secondaires laborer quelques un des cas intressants et hautement risqus des
scenarii secondaires
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Quest ce quun objet?
Scnarii et ObjetsScnarii
-
8/8/2019 uml2 porgrammationb objet
96/281
96
Quest ce quun objet?
De faon informelle, un objet reprsente une entit soit physique,
conceptuelle ou logicielle
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Entit Physique
Entit Conceptuelle
Entit Logicielle
Quest ce quun objet?
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
97/281
97
Qu est ce qu un objet?
Un objet est un concept, une abstraction ou une entit avec un
contour bien dfini et un sens pour une application Un objet est une entit qui a:
Un tat Un comportement
Une identit Le terme INSTANCE est frquemment utilis pour decrire un
objet particulier
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Un objet a un tat
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
98/281
98
Un objet a un tat
Ltat dun objet est lune des conditions dans lesquelles lobjet
peut exister Ltat est reprsent par la valeur des proprits dun objet a un
instant donn Ltat dun objet change normalement avec le temps
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Un objet a un Comportement
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
99/281
99
Un objet a un Comportement
Le comportement dtermine comment un objet agit et ragit: ses
changements dtat et ses interactions avec dautres objets Le comportement dfini comment un objet ragit aux requtes
dautres objets Le comportement est dtermin par le groupe des oprations
quun objet peut effectuer
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Un objet a une Identit
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
100/281
100
Un objet a une Identit
Chaque objet a une identit unique, mme si sont tat est
identique a celui dun autre objet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Recherche des Objets
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
101/281
101
Recherche des Objets
Les objets sont identifis en examinant les noms dans les cas
dutilisation et les scenarii Les noms trouvs peuvent tre
Des objets La description de ltat dun objet
Des entits externes et/ou acteurs
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Filtrage des noms
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
102/281
102
Filtrage des noms
Dans le choix des nom, il faut considrer que:
Plusieurs termes peuvent designer le mme objet Un terme peut tre mieux appropri Le langage naturel est assez ambigu
Le filtrage permet didentifier plusieurs objets sans importance
La liste des noms doit tre filtre Chaque nom doit tre considr dans le contexte du problme
pos. Un nom ne tient pas en lui-mme
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les noms du scnario Sinscrit pour des
cours
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
103/281
103
cours
Dans le choix des nom, il faut considrer que:
Plusieurs termes peuvent designer le mme objet Un terme peut tre mieux appropri Le langage naturel est assez ambigu
Le filtrage permet didentifier plusieurs objets sans importance
La liste des noms doit tre filtre Chaque nom doit tre considr dans le contexte du problme
pos. Un nom ne tient pas en lui-mme
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les noms du scnario Sinscrit pour des
cours
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
104/281
104
cours
Quels noms doivent tre filtrs ?
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Systme de facturation
4 coursInformations de facturationEmploi du tempsActivits
Liste des lvesPr requis ncessaires
Introduction a Java 180Thorie Musicale 110
Cours additionnelsAlgbre 110
Histoire 200Gologie 110
Anglais 101Cours primaires
Liste des cours disponiblesNouvel emploi du temps
Semestre en coursSemestre
NumroSystme
Matricule 1234 56Kouassi
Dcision de filtrage
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
105/281
105
Dcision de filtrage
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Etat des cours slectionnsCours additionnels
ObjetAlgbre 110ObjetHistoire 200
ObjetGologie 110
ObjetAnglais 101
tat des cours slectionnsCours primaires
ObjetListe des cours disponiblesObjetNouvel emploi du temps
Identique au semestreSemestre en cours
Etat aprs slectionSemestre
Identique au matriculeNumro
Ce qui est en constructionSystme
Proprit dun tudiantMatricule 1234 56
ActeurKouassi
Dcision de filtrage
Scnarii et ObjetsObjets
-
8/8/2019 uml2 porgrammationb objet
106/281
106
Dcision de filtrage
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
ActeurSystme de facturation
Information requise par le systme de facturationInformation de facturation
Identique a Nouvel emploi du tempsEmploi du tempsExpression linguistiqueActivits
ObjetListe des lves
ObjetPr requis ncessaires
ObjetIntroduction a Java
ObjetThorie Musicale 110
tat des cours slectionnsCours additionnels
Conclusion
Scnarii et Objets
-
8/8/2019 uml2 porgrammationb objet
107/281
107
Conclusion
Un scnario est une instance dun cas dutilisation Cest le contour des vnements qui se produisent lors delexcution du systme
Chaque cas dutilisation identifi est compos deplusieurs scenarii Les scnarii primaires cours normal des vnements Les scenarii secondaires exceptions au scenarii primaires
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Conclusion
Scnarii et Objets
-
8/8/2019 uml2 porgrammationb objet
108/281
108
Conclusion
Un objet est une entit qui a un tat, un
comportement et une identit Ltat dun objet est lune des condition dans lesquelles il
peut exister Le comportement dtermine comment un objet agit et ragit
aux requtes des autres objets Chaque objet a une identit unique mme si son tat est
similaire un autre objet
Les objets sont dcouverts en examinant les nomscontenus dans les cas dutilisation et les scenarii
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
109/281
109
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
110/281
110
Interactions des objets
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Objectifs:
Interaction des Objets
-
8/8/2019 uml2 porgrammationb objet
111/281
111
j
A la fin de ce chapitre, vous devezpouvoir:
Modliser un scnario avec lesdiagrammes dinteraction
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagrammes dinteraction
Interaction des Objets
-
8/8/2019 uml2 porgrammationb objet
112/281
112
g
Les scenarii sont typiquement schmatiss par les
diagrammes dinteraction Il existe 2 type de diagrammes dinteraction
Les diagrammes de squence Les diagrammes de collaboration
Chacun des diagrammes offre un vue diffrente de lamme interaction Les diagrammes de squence sont ordonns dans le temps Les diagrammes de collaboration peuvent inclure des flux de
donnes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le Diagramme de Squence (DS)
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
113/281
113
g q ( )
Le diagramme de squence reprsente les messages
changs par un groupe dobjets pendant un scnario Un diagramme de squence contient
Les objets avec leur ligne de vie Les messages changs entre objets dans une squence
ordonne Les focus de contrle (optionnel)
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Un Diagramme de Squence (DS)
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
114/281
114
g q ( )
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Nomenclature de objets (DS)
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
115/281
115
j ( )
Les objets sont reprsents par des rectangles avec
leurs noms souligns Les lignes de vie des objets sont reprsentes par
des lignes discontinues
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Interactions entre objets
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
116/281
116
Les interactions entre objets sont indiques par les flcheshorizontales partant de la ligne horizontale reprsentant lobjetclient vers la ligne reprsentant lobjet fournisseur.
Les lignes horizontales sont annotes avec le message La squence des vnements dans le temps sont indiqus par la
position verticale, avec le premier vnement au dessus La numrotation est optionnelle dans la mesure ou la squence
dbute du haut
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Focus de contrle
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
117/281
117
Le focus de contrle reprsente la dure relative
pendant laquelle un objet est le point focal du flux decontrle Il reprsente le temps pendant lequel un objet initie les
messages
Le focus de control peut tre mentionn dans undiagramme de squence
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Notes
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
118/281
118
Des notes peuvent tre ajoutes pour donner plus
dinformation au diagramme
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le Diagramme de Collaboration (DC)
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
119/281
119
Un scnario peut tre aussi reprsent
graphiquement par un diagramme de collaboration Le DC reprsente aussi les message changs par
un groupe dobjets durant un scnario
Un DC contient Des objets Des liens entre objets Des messages changs entre objets de faon squentielle
Le flux de donnes entre objets le cas chant
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Exemple de Diagramme de
Collaboration
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
120/281
120
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Reprsentation des objets dans un DC
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
121/281
121
Les objets sont reprsents par des
rectangles avec leurs noms souligns
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Reprsentation des liens dans un DC
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
122/281
122
Un lien dinteraction dans un diagramme de
collaboration est reprsent par une ligneinterconnectant des icnes dobjets Un lien indique quil y a change entre les
objets connects
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Annotation des liens dans un DC
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
123/281
123
Un lien dinteraction dans un DC peut tre annotavec: Une flche partant de lobjet client lobjet fournisseur Le nom dun message avec une liste optionnelle de
paramtres et/ou des valeurs de retour Une squence optionnelle de numros montrant lordre dans
lequel les messages sont mis
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Cration des DC
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
124/281
124
Les cas dutilisation sont examins pour
dterminer les scenarii Des informations additionnelles peuvent tre
ncessaires pour terminer les scenarii
Dtails du systme ayant t omis du CU Par exemple, Kouassi saisit le numro
2345676 Question: Dans quoi le numro est il saisi? Rponse: Un formulaire denregistrement est
ajout 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagramme de squence pour le
scnario inscription acadmique
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
125/281
125
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagramme de collaboration pour le
scnario inscription acadmique
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
126/281
126
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Rsum: Interaction dobjets
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
127/281
127
Un scnario peut tre graphiquement reprsentdans un diagramme de squence qui dmontrelexistence dobjets et les interactions entre les objetsidentifis Les objets sont reprsents par des rectangles avec les
noms souligns La ligne de vie dun objet est reprsente par une ligne
discontinue, descendant de lobjet Les messages sont indiqus par des flches horizontales
diriges de lobjet client vers lobjet fournisseur Les lignes horizontales sont annotes avec le nom dumessage
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Rsum: Interaction dobjets
Interaction des ObjetsDiagrammes dinteraction
-
8/8/2019 uml2 porgrammationb objet
128/281
128
Un diagramme de collaboration est une
reprsentation alternative graphique dunscnario Les objets sont reprsents par des rectangles Un lien dinteraction (ligne) est dessin entre les
objets communicants Le lien peut tre annot avec une flche contenant lenom du message et pointant de lobjet client vers lobjetfournisseur
Le lien peut tre aussi annot avec une flche de retour
de donnes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
129/281
129
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
130/281
130
CLASSES ET PAQUETAGES
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Objectifs:
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
131/281
131
A la fin de ce chapitre, vous devez pouvoir: Dfinir et donner des exemples de classes Dcrire les relations entre classes et objets Identifier les classes potentielles Dfinir les strotypes Dfinir et donner des exemples de paquetages Crer des paquetages Crer des diagrammes de classes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les classesPl sie rs objets sont identifis po r n problme
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
132/281
132
Plusieurs objets sont identifis pour un problmeparticulier
Une classe est une description dun groupe dobjetayant des proprits similaires (attributs), descomportements communs (oprations), des relationscommunes avec dautres objets (associations et
agrgations), et une smantique commune Un objet est une instance dune classe
Une classe est une abstraction qui Met en relief les importantes caractristiques
Supprime les autres caractristiques Labstraction nous aide a grer la complexit
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Exemple de classe
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
133/281
133
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Classes dobjets
C bi d l di i ?
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
134/281
134
Combien de classes distinguez vous?
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Indications pour la recherche de
classes Une classe doit capturer une et une seule abstraction cl
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
135/281
135
Une classe doit capturer une et une seule abstraction cl Mauvaise abstraction: une classe Etudiant qui dtient les informations
de ltudiant et son emploi du temps pour le semestre en cours Bonne abstractions: Des classes spares pour Etudiant et Emploi dutemps
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Nomenclature des classes
L m d l d it t m
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
136/281
136
Le nom dune classe doit tre un nom
singulier qui caractrise au mieux labstraction Des difficults dans le choix dun nom de
classe sont lindication dun mauvaise
abstraction Les noms doivent dcouler du vocabulaire du
domaine du problme.
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Style de nomenclature des classes Un style de nomenclature dfinit les conventions dans
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
137/281
137
Un style de nomenclature dfinit les conventions dansle choix des noms de classes
Exemple de style Les classes sont nommes avec des noms singuliers Les noms de classe commencent avec une lettre majuscule
Les sous tirets ne sont pas utiliss Les noms composs sont concatns avec les premires lettres
en capital
Exemples: Etudiant, Professeur, SystemeDeFacturation
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
138/281
Exemple de dictionnaire de modele
Nom: InformationEtudiant
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
139/281
139
Nom: InformationEtudiant Dfinition: information relative a une personnesetant inscrit pour suivre des cours a luniversit
Nom: Cours Dfinition: Session de formation offerte parlUniversit
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Au fur et a mesure quon comprend le problme, on
raffine les dfinitions de classes et on ajoute denouvelles classes au dictionnaire du modle
Reprsentation des classes
Une classe est reprsente par un
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
140/281
140
Une classe est reprsente par un
rectangle compartiment
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Compartiments des classes Une classe comprends 3 sections
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
141/281
141
p La 1ere section contient le nom de la classe La 2e montre la structure de la classe (attributs) La 3e montre le comportement (oprations)
La 2e et 3e section peuvent tre omises dun diagramme si ellesne sont pas utiles
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Relations entre classes et objets Une classe est une dfinition abstraite dun objet
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
142/281
142
Elle dfinit la structure et le comportement de chaque objet de la
classe Elle sert de moule pour la cration dobjets Les objets trouvs dans les scenarii peuvent tre regroups en
classes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les cartes CRC Classes-Responsabilit-Collaboration
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
143/281
143
p Les CRC peuvent aider a dcouvrir les classes
Introduites en 1989 par Kent et Ward Une carte CRC est une carte index qui contient
Le nom et la dfinition de la classe Les responsabilits de la classe
Information internes a la classe Services offerts par la classe
Les collaborateurs pour les responsabilits Un collaborateur est une classe dont les services sont requis par
une responsabilit
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Une session de carte CRC Un groupe de personnes est dsign pour jouer un
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
144/281
144
scnario Une carte est cre pour chaque objet dun scnario Un groupe de cartes est assign a chaque participant
Le participant devient une classe Les scenarii dfinis sont excuts par les participants Les cartes sont annotes avec les responsabilits et
les collaborations Des cartes sont cres pour les nouveaux objets
dcouverts
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Carte CRC pour la classe COURS
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
145/281
145
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Avantages dune carte CRC Au fur et a mesure que les scenarii se terminent, les
h d ll b ti d t id t
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
146/281
146
schmas de collaboration se rendent vidents Les cartes peuvent tre physiquement disposespour reprsenter les collaborations Il est possible didentifier les
gnralisation/spcialisation ou hirarchies
dagrgation entre les classes Les cartes CRC sont plus effectives avec les groupes
nouvellement introduits aux techniques OO : vitent de se focaliser sur les problmes lies la
programmation OO vitent les gnralisations prmatures Encourage le raisonnement en termes dobjets
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
valuations Les choses vont bien si
Toutes les classes ont des noms significatifs et spcifique au domaine
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
147/281
147
Toutes les classes ont des noms significatifs et spcifique au domainedu problme
Chaque classe a un petit nombre de collaborateurs Il ny a pas de classe indispensable (God Class) (une classe qui
collabore avec tout le monde doit tre redfinie) Linformation de chaque classe tient sur la carte Un changement dans les besoins peut tre gr par les classes
Les choses vont mal si Un certain nombre de classes nont aucune responsabilit Une mme responsabilit est assigne a plusieurs classes en mme
temps Toutes les classes collaborent avec toutes les autres classes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Strotypes Un strotype reprsente la classification dune classe Chaque classe peut avoir tout au plus un strotype
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
148/281
148
Chaque classe peut avoir tout au plus un strotype Les strotypes communs
Classe dinterfaage (boundary class) Classe d entit Classe de contrle Classe dexception Metaclass Classe paramtrique Classe utilitaire
Les strotypes sont reprsents par le nom de classe entreguillemets
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Classes dinterfaage Une classe dinterfaage modlise la communication
entre len ironnement d s stme et son
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
149/281
149
entre lenvironnement du systme et son
fonctionnement interne Les classes dinterfaage typiques sont
Les fentres (interface utilisateur) Les protocoles de communication (interface systme) Les interfaces dimprimantes Les sondes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Recherche de classes dinterfaage Toutes les informations changes entre un acteur et le
systme sont contenues dans les classes dinterfaage
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
150/281
150
systme sont contenues dans les classes d interfaage Les scenarii sont examins pour identifier le contenu de la
classe
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Prototypes et brouillons Des prototypes et/ou brouillons peuvent tre cres pour
communiquer les aspects esthtiques de la classe
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
151/281
151
communiquer les aspects esthtiques de la classe
dinterfaage a lutilisateur
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Interface aux autres systmes Une classe dinterfaage est aussi utilise pour modliser une
interface a un autre systme.
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
152/281
152
y
Les caractristiques importantes de ce type de classesdinterfaage sont: Linformation a vhiculer a lautre systme Le protocole de communication utilis pour parler avec lautre
systme
Dans le scnario sinscrire pour les cours , le systme defacturation est de ce type de classe dinterfaage
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Classe dentit Une classe dentit modlise linformation persistante et le
comportement y tant associ (dure dans le temps)
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
153/281
153
Elle peut reflter un phnomne rel Elle peut tre requise pour les taches internes du systme Les valeurs de ses attributs sont souvent fournies par un acteur Le comportement est indpendant de lenvironnement
Les classes dentit dans le CU inscription acadmique sont Cours EmploiDuTemp Catalogue
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Classe de contrle Une classe de contrle modlise le
comportement spcifique un ou plusieurs CU
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
154/281
154
comportement spcifique un ou plusieurs CU Une classe de contrle
Cre, initialise et supprime les objets contrls Contrle la squence ou coordination de lexcution
des objets contrls Contrle les aspects lis la concurrence desclasses contrles
Est la plupart du temps, limplmentation dun objet
intangible
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Classe de contrle pour CU
inscription acadmique Une classe appele GestionnaireDesInscriptions des ajoute Le GestionnaireDesInscriptions
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
155/281
155
p
Reoit les informations dinscription de IHM quand le bouton OK estappuy Il vrifie les pr requis pour le cours slectionn Il ajoute ltudiant aux premiers cours disponibles Sait quoi faire quand les 4 cours ne sont pas disponibles
Cre l EmploiDuTemp qui mentionne les cours Cre lobjet SystemeDeFacturation pour ltudiant
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagrammes de squence Les diagrammes de squence sont mis a
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
156/281
156
jour Les classes additionnelles sont ajoutes au
diagramme
Les objets dans le diagrammes sontassigns aux classes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Exemple: Objets dans le scnario
sinscrit pour les cours FormulaireEnregistrement formulaire qui affiche
les options dinscription
Classes et paquetagesLes classes
-
8/8/2019 uml2 porgrammationb objet
157/281
157
p p FormulaireEmploiDuTemps formulaire qui permeta ltudiant de slectionner les cours Cours disponibles liste des cours enseigns dans
un semestre Anglais cours disponible dans un semestre Information de facturation information requise par
le systme de facturation (acteur)
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les paquetages La plupart des modles contiennent plusieurs classes Ces classes peuvent tre regroupes dans des paquetages
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
158/281
158
Un paquetage est une collection logique de classes et/oudautres paquetages Le paquetage possde les classes quil contient
Un paquetage est reprsent par un rpertoire avec onglet
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Paquetages dans le systme
dinscription Les classes dans le systme dinscription peuvent
tre regroups en 3 paquetages
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
159/281
159
g p p q g ElementsUniversitaires, Rgles mtier et Interfaces
ElementsUniversitaires Catalogue, Cours, DossierEtudiant, ListeCours,
EmploiDuTemps
ReglesMetier GestionnnaireInscription
Interfaces
FormulaireEnregistrement, FormulaireEmploiDuTemps,SystemeFacturation
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le diagramme de classe La vue logique est compose de plusieurs paquetages et
classes
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
160/281
160
Un diagramme de classes est une vue partielle ou compltedes paquetages et classes dans la vue logique Il y a gnralement plusieurs diagrammes de classe
Le diagramme de classe principal est typiquement une vue delensemble des paquetages dans la vue logique
Chaque paquetage a gnralement son diagramme de classeprincipal Des diagrammes de classes additionnels sont ajout si besoin
est Vue des classes participant dans un scnario
Vue des classes prives dans un paquetage Vue dune classe avec ses attributs et oprations Vue dune hirarchie dhritage
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagramme de classe principal pour le
systme dinscriptions
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
161/281
161
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagramme de classe principal pour
les interfaces
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
162/281
162
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagramme de classe principal pour
les lments universitaires
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
163/281
163
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Diagramme de classe principal pour
les rgles mtier
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
164/281
164
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Mtamorphose A luniversit, il y a les tudiants a temps plein et les tudiants a
temps partiel Les tudiants a temps plein on un numro matricule et une date
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
165/281
165
p pprobable de fin de cycle pendant que ceux a temps partiel nen ontpas
Les tudiants a temps partiel peuvent prendre un maximum de 3cours pendant quaucune restriction ne simpose aux tudiants atemps plein
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Quadvient-il lorsquun tudiant passe du stade de tempspartiel a temps plein?
Mtamorphose Il est trs difficile de modifier la classe dun objet Meilleur technique de modlisation
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
166/281
166
Placer la structure et le comportement qui changent dans leur propre classe Cela permet a un objet de parler diffrents objets pour
accomplir la mtamorphose
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Mtamorphose
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
167/281
167
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Mtamorphose Cette technique ajoute aussi de la flexibilit au
modle
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
168/281
168
Exemple: un tudiant a temps plein peut aussirsider sur le campus. Dans ce cas, il y a le nom dubtiment, le numro de la chambre et le numro dela cl de la chambre
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Rsum: Classes et paquetages Une classe est une dfinition abstraite dun groupe dobjets qui
partagent une structure et un comportement communs.
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
169/281
169
Les noms de classes doivent caractriser au mieux labstraction Les classes sont reprsentes avec des rectanglescompartiments Le 1er compartiment contient le nom de la classe Le 2e montre la structure (attributs)
Le 3e
montre le comportement (oprations) Les classes sont dcouvertes en analysant les CU et les scenarii
dvelopps pour le systme. Les cartes CRC peuvent tre utilises pour dcouvrir les classes
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Rsum: Classes et paquetages Un strotype reprsente une classification dune classe
Chaque classe peut avoir tout au plus un strotype
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
170/281
170
Les strotypes communs sont: les classes dinterfaage, lesclasses dentit, les classes de contrle, les classes dexception,les mta-classes, les classes paramtriques, les classes utilitaires
Une classe dinterfaage modlise la communication entrelenvironnement dun systme et son fonctionnement interne
Une classe dentit modlise linformation et le comportementassoci qui doit tre enregistrer Une classe de contrle modlise laspect de contrle spcifique
un ou plusieurs CU Un paquetage est une collection logique de classes et/ou autres
paquetages
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Rsum: Classes et paquetages Un diagramme de classe est une vue logique
partielle ou complte des paquetages et classes
Classes et paquetages
-
8/8/2019 uml2 porgrammationb objet
171/281
171
dans une vue logique Il y a gnralement plusieurs diagrammes de classes
Si un objet doit tre modifi, il faut placer la
structure et le comportement qui changent dans une classe a part. Cela permet a un objet de parler avec diffrents
objets pour accomplir la mtamorphose
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
172/281
172
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
-
8/8/2019 uml2 porgrammationb objet
173/281
173
LES RELATIONS
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Objectifs:
A la fin de ce chapitre, vous devez pouvoir: N l 2 i i d l i l
Les relations
-
8/8/2019 uml2 porgrammationb objet
174/281
174
Nommer les 2 principaux types de relations entre classes:association et agrgation Dfinir lassociation et la reprsenter sur un diagramme de classe Utiliser les noms dassociation et de rle pour clarifier les
associations Dfinir et spcifier la multiplicit dune association Dfinir lagrgation et la reprsenter sur un diagramme Dfinir et reprsenter une association rflective ou agrge
Utiliser les attributs dassociation Dfinir les qualifiants et les reprsenter sur un diagramme de
classes Dcouvrir les association depuis les scenarii
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
La ncessit des relations Tout systme comprends plusieurs classes et objets Les objets contribuent au comportement du systme en
ll b
Les relations
-
8/8/2019 uml2 porgrammationb objet
175/281
175
collaborant entre eux La collaboration est accomplie par le biais des relatons
Il y a 2 principaux types de relations pendant lanalyse Lassociation Lagrgation
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Lassociation Une association est une connexion entre 2 classes
Cela implique quil y a un lien entre les objets des classes associes Les associations sont reprsentes sur un diagramme de classe
li t t l l i
Les relations
-
8/8/2019 uml2 porgrammationb objet
176/281
176
par une ligne connectant les classes associes Le flux des donnes peut tre dans lune des directions ou dans
les 2 directions
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Navigation Une association est une relation bi-directionnelle
Pour une instance donne de GestionnaireInscriptions, il existe
un objet associ Cours
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
177/281
177
un objet associ Cours Pour une instance donne de Cours, il existe un objet associ
GestionnaireInscriptions
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Nomenclature des associations Pour clarifier son sens, une association peut tre
nommes Le nom est reprsent par n label plac le long de la
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
178/281
178
Le nom est reprsent par un label plac le long de laligne dassociation, entre les icnes des classes Le nom dune association est gnralement un verbe
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les rles Un rle indique la raison pour laquelle une classe est associe a
une autre Les noms de rles sont typiquement des noms Un nom de rle est plac sur la ligne de lassociation du cot de la
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
179/281
179
Un nom de rle est plac sur la ligne de l association du cot de laclasse concerne Lun ou les deux bouts de lassociation peuvent avoir des noms de rle
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Associations multiples Plus dune association peut exister entre 2 classes Dans ce cas, ces association DOIVENT tre nommes
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
180/281
180
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Les associations multiples doivent tre remises encause
Associations multiples
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
181/281
181
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Ce modle est-il bon ou mauvais
Multiplicit des associations La multiplicit est le nombre dinstance dune classe li
au UNE instance de lautre classe Pour chacune des associations il y a 2 dcisions de
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
182/281
182
Pour chacune des associations, il y a 2 dcisions demultiplicit a prendre: une pour chaque bout delassociation
Par exemple, pour la connexion entre Personne jouantle rle de professeur et Cours Pour chaque instance de Personne, plusieurs (cest--dire zro
ou plus) Cours peuvent tre enseigns Pour chaque instance de Cours, il faut exactement une
Personne qui est le professeur
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Indicateur de multiplicit Chaque bout de lassociation contient un
indicateur de multiplicitIl indique le nombre dobjets participants dans la
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
183/281
183
Il indique le nombre d objets participants dans larelation
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Exemple de multiplicit
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
184/281
184
Les dcisions de multiplicit exposent plusieurshypothse (caches) relatives au problme en question Un professeur peut il ne pas avoir de cours a donner? Un cours peut il avoir deux professeurs?
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Le sens de la multiplicit La multiplicit rponds a 2 questions
Lassociation est elle obligatoire ou optionnelle? Quels sont les nombre minimum et maximum des instances quipeuvent tre lis une instance?
Les relationsLassociation
-
8/8/2019 uml2 porgrammationb objet
185/281
185
qpeuvent tre lis une instance?
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Que nous enseigne ce diagramme ?
Lagrgation Lagrgation est une forme spcialise de lassociation dans
laquelle un tout est li a sa/ses partie/parties Lagrgation est aussi connue comme partie-de Une agrgation est reprsente comme une association avec un
Les relations
-
8/8/2019 uml2 porgrammationb objet
186/281
186
g g p Une agrgation est reprsente comme une association avec un
diamant prs de la classe matrialisant le tout La multiplicit est reprsente de la mme manire que dans les
associations
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Test dagrgation Lexpression partie-de est elle utilise pour dcrire la relations?
Une Portire fait partie-de une Voiture Existe-t-il des oprations qui appliques au tout sappliquentautomatiquement aux parties
Les relationsLagrgation
-
8/8/2019 uml2 porgrammationb objet
187/281
187
p q pp q pp qautomatiquement aux parties Dplacer la Voiture, dplacer la Portire
Existe il des valeurs dattributs propages du tout aux parties ? La Voiture est bleue, la Portire est bleue
Existe-t-il une asymtrie (intrinsque) dans la relation ou une classeest subordonne a une autre Une Portire fait partie dune Voiture, une Voiture ne fait pas partie dune
Portire
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Agrgation ou Association? Si 2 objets sont intimement lis par la relation tout-
partie La relation est une agrgation
Les relations
-
8/8/2019 uml2 porgrammationb objet
188/281
188
g g
Si 2 objets sont gnralement considrs commeindpendant, mme si il sont lis
La relation est une association
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Association rflective Dans une association rflective, les objets dune mme classe sont
lis Cela indique que plusieurs objets dans la mme classe collaborent entreelles
Les relations
-
8/8/2019 uml2 porgrammationb objet
189/281
189
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Un cours peut avoir plusieurs pr-rquis
Un cours peut tre un pr-rquis a plusieurs autres cours
Classes dassociation Nous souhaitons suivre les notes de tous les cours auxquels un tudiant
sest inscrit
La relation entre Etudiant et Cours est une relation de plusieurs plusieurs Ou allons nous placer lattribut note?
Les relations
-
8/8/2019 uml2 porgrammationb objet
190/281
190
2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
Reprsentation des classes
dassociation Lattribut note ne peut tre plac dans Cours parce quil y a (potentiellement)
plusieurs liens avec plusieurs objets Etudiant Lattribut grade ne peut tre plac dans Etudiant parce quil