uml2 porgrammationb objet

Upload: yacouyahaya

Post on 09-Apr-2018

236 views

Category:

Documents


0 download

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