modélisation structurelle - unigecui.unige.ch/isi/cours/uml-fr/03-uml-classes.pdf1 modélisation...

14
1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References Grady Booch, James Rumbaugh, Ivar Jacobson “The Unified Modeling Language User Guide”, Addison- Wesley 1999 Pierre-Alain Muller “Modélisation objet avec UML”, Eyrolles 1997 Grady Booch, James Rumbaugh, Ivar Jacobson “The Unified Modeling Language Reference Manual”, Addison-Wesley 1999

Upload: others

Post on 25-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

1

Modélisation structurelle

G. Falquet

June 2001 - G. Falquet, L. Nerima Classes 2

ISI

References

Grady Booch, James Rumbaugh, Ivar Jacobson“!The Unified Modeling Language User Guide!”, Addison-Wesley 1999

Pierre-Alain Muller“!Modélisation objet avec UML!”, Eyrolles 1997

Grady Booch, James Rumbaugh, Ivar Jacobson“!The Unified Modeling Language Reference Manual!”,Addison-Wesley 1999

Page 2: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

2

June 2001 - G. Falquet, L. Nerima Classes 3

ISI

Modélisation par objets et classes

v Modélisation du monde en termesv d'objetsv de classes d'objets« ce qui est » ≠ « ce qu'on fait »

v Les cas d'utilisation font référence aux objets dudomaine d'application

v L'architecture du système informatique sera construiteautour des classes d'objets

June 2001 - G. Falquet, L. Nerima Classes 4

ISI

Objets et système

v Le système est fait d'objets

v Les objets représentent des entités concrètes ouabstraites du monde réel

v un livre de la bibliothèquev un emprunteurv un prêt (abstrait)v une fenêtre sur l'écran de l'utilisateur (objet d'interface)v une occurrence de l'évènement « le bouton STOP a été pressé

à 16h22.33.01

Page 3: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

3

June 2001 - G. Falquet, L. Nerima Classes 5

ISI

A l'intérieur des objets

Un objet est caractérisé par les valeurs de ses attributs

livre56titre = "Zéro et Un"auteur = "M. Deux"année = 2001

livre3titre = "Tout est rien"auteur = "Nobody"année = 2000

bobnom = "Robert"prénom = "Konk"age = 20

HCUG

CHUV

June 2001 - G. Falquet, L. Nerima Classes 6

ISI

Liens entre objets

v Il peut exister des liens logiques entre objets

livre56titre = "Zéro et Un"auteur = "M. Deux"année = 2001

bobnom = "Kronk"prénom = " Robert "age = 20

emprunté par

HCUG

employé de

joenom = "Gloubs"prénom = " Joseph "age = 28

employé de

Page 4: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

4

June 2001 - G. Falquet, L. Nerima Classes 7

ISI

Classes d'objets

v Regrouper les objets ayant des caractéristiquescommunes

v Décrire globalement les propriétés communes à uneclasse d'objets

v Organiser le système en modules

June 2001 - G. Falquet, L. Nerima Classes 8

ISI

Notation et Exemples

Personnenomprénomage

Livretitreauteurdate_éditionéditeurnb_pages

Classeattributattribut...

Concepttermedéfinitionsource

Page 5: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

5

June 2001 - G. Falquet, L. Nerima Classes 9

ISI

Les objets sont des instances de classes

Personnenomprénomage

paul : Personne

pierre : Personne

emilie : Personnenom = "Loiseau"prénom = "Emilie"age = 33

June 2001 - G. Falquet, L. Nerima Classes 10

ISI

Les objets sont des instances de classes

Concepttermedéfinitionsource

liberté : Concept

égalité : Concept

ogm : Conceptterme = "organisme génétiquement modifié"définition = "Un OGM est ..."source = "Institut fédéral ..."

Page 6: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

6

June 2001 - G. Falquet, L. Nerima Classes 11

ISI

Associations entre objets

v Représente des liens logiques entre objets des classes

Classeattributattribut...

Classeattributattribut...

Association

Etudiant CoursInscription

Professeur

Enseignement Organisation

June 2001 - G. Falquet, L. Nerima Classes 12

ISI

Multiplicité des associations

v Tout objet de C est lié par A à au moins min et au plusmax objets de D.

C DA

Personne Caisse maladieAssurance_Maladie

min .. max

1 .. 1« il est obligatoire de s'assurer »

Domicile

Adresse0 .. 1 « on peut être SDF ou non »

Page 7: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

7

June 2001 - G. Falquet, L. Nerima Classes 13

ISI

Min et max peuvent rester indéterminés

Club PersonneMembre

3 .. *

« il faut au moins 3 personnes pourfaire un club »

Inscription Cours

* .. 10« on peut suivre au plus 10 cours »

Etudiant

Possession Véhicule

* .. *

Personne

June 2001 - G. Falquet, L. Nerima Classes 14

ISI

Préciser les deux extrémités de l'association

Club PersonneMembre

3 .. *

« il faut au moins 3 personnes pourfaire un club »

Inscription Cours

* .. 10« on peut suivre au plus 10 cours »

Etudiant

Possession Véhicule

* .. *

Personne

* .. *

5.. 20

1 .. 1

« entre 5 et 20 étudiants par cours »

« un véhicule appartient toujours à quelqu'un »

Page 8: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

8

June 2001 - G. Falquet, L. Nerima Classes 15

ISI

Associations : distinguer les rôles

v Chaque classe joue un rôle dans l'association

Classe ClasseAssociation

Etudiant CoursInscription

< Rôle Rôle >

suit >< est suivi par

Personne

Filiation

< parent

enfant >

2..2

0..*

June 2001 - G. Falquet, L. Nerima Classes 16

ISI

Associations : ajouter des attributs

v Informations propres à l'association

Classe ClasseAssociation

Etudiant CoursInscription

attributs

dateconditionsévaluation

Page 9: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

9

June 2001 - G. Falquet, L. Nerima Classes 17

ISI

Contraintes entre associations

OrdonancementParti PersonneElu

0..* ordonné

ExclusionVol Pilote

pilote >

copilote >ou exclusif

InclusionDépartement

Employé< membre

< directeur inclusion

June 2001 - G. Falquet, L. Nerima Classes 18

ISI

Composition

v Modéliser le lien « fait partie de »v A est composé de un ou plusieurs Bv Un B ne peut exister tout seul (dans le système)v Un B n'appartient qu'à un seul A

Bâtiment

Pièce

Page 10: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

10

June 2001 - G. Falquet, L. Nerima Classes 19

ISI

Agrégation

v Modéliser le lien « fait partie de »v Moins fort que la compositionv Un B peut exister indépendamment d'un Av Un B peut éventuellement appartenir à plusieurs A

Formation

Cours Stage

June 2001 - G. Falquet, L. Nerima Classes 20

ISI

Généralisation et spécialisation

v Organiser le domaine (taxonomie)

Boisson

Eau minérale Vin Bière

Eau gazeuse Eau plate

Page 11: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

11

June 2001 - G. Falquet, L. Nerima Classes 21

ISI

Généralisation et spécialisation

v Partager les descriptions communes

Personnenomprénom

Employéno_AVSsalaire

Etudiantno_etudiantdate_entrée

Informaticienassurance RC

June 2001 - G. Falquet, L. Nerima Classes 22

ISI

Opérations avec les objets

v Chaque objet peut être muni de méthodes qui rendentdes services.

v Les méthodes seront programmées par lesdéveloppeurs.

v Une méthodev calcule un résultat à partir de la valeur de l'objet et de

paramètresv modifie éventuellement la valeur de l'objet

Page 12: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

12

June 2001 - G. Falquet, L. Nerima Classes 23

ISI

Exemple

Livre

titreauteurdate_éditionéditeurstatut

emprunter()rendre()

Rectangle

largeurhauteurcoordonnées

surface()élargir(taille)déplacer(h, v)

June 2001 - G. Falquet, L. Nerima Classes 24

ISI

Fonctionnement du système

Système = ensemble d'objets qui interagissent

message = demande d'exécution d'une méthode

Prêt

Livre

emprunter()

vérifier_disponibilité()

Page 13: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

13

June 2001 - G. Falquet, L. Nerima Classes 25

ISI

Cas d'utilisation et objets

v Deux axes de modélisation distinctsv structurelv fonctionnel

v Lien explicitev les scénarios parlent des objets du systèmev les classes et objets définissent le vocabulaire des scénarios

v Les cas d'utilisation déterminent l'étendue de lamodélisation des objetsv éviter le syndrome de la modélisation infinie

June 2001 - G. Falquet, L. Nerima Classes 26

ISI

Modéliser quelles entités ?

Scenario: " Vérifier la disponibilité du livre. Vérifier si lelecteur a le droit d'emprunter ce livre. Enregistrer leprêt "

=> le système a besoin d'objets pour représenter leslivres, lecteurs et prêts

mais pas les étagères, portes, chaises, tables, ...

Page 14: Modélisation structurelle - UNIGEcui.unige.ch/isi/cours/UML-fr/03-uml-classes.pdf1 Modélisation structurelle G. Falquet June 2001 - G. Falquet, L. Nerima Classes 2 I S I References

14

June 2001 - G. Falquet, L. Nerima Classes 27

ISI

Cas d'utilisation et Objets

Raffinement d'un cas d'utilisation --> implémentationConnecter les cas d'utilisation aux classes nécessaires

Emprunter

Réserver un livre

Consulter catalogue

Enregistrer nouvel utilisateur

Livre

Reservation

Prêt

Utilisateur

Catalogue

Bibliothécaire Etagère

Auteur

June 2001 - G. Falquet, L. Nerima Classes 28

ISI

Ce n'est pas automatique

Tout terme du scénario ne se traduit pas forcémenten classe

" Vérifier la disponibilité du livre. Vérifier si lelecteur a le droit d'emprunter ce livre. Enregistrer leprêt "

« disponibilité » => attribut de livre« droit » => Ø

1. Utiliser l'intelligence et l'ingéniosité du concepteur2. Il n'y a pas de « solution unique » en conception