Static modeling, Thu 21.6.2001 - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

Static modeling, Thu 21.6.2001

Description:

allumer. teindre. r parer. Les roles multiples. Stabilit des associations: Les liens entre ... allumer, teindre, r parer sont des m thodes. June 2001 - G. Falquet, ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 47
Provided by: GillesF8
Category:

less

Transcript and Presenter's Notes

Title: Static modeling, Thu 21.6.2001


1
Static modeling, Thu 21.6.2001

G. Falquet, L. Nerima
2
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

3
Outline
  • Objects and classes
  • Class diagrams
  • Relationships
  • Class hierarchies and inheritance
  • Class modeling exercise

4
C'est quoi un objet
Une entité contenant        des données
(état)        des procédures (comportement)
Exemple d'objet Le rectangle r1
Chaque objet a une identité (Oid)
5
Messages et Méthodes
le message déclenche l'exécution de la méthode
sur l'objet r1.surface() retournera la valeur
40 r1.agrandir(5) modifie l'état de r1 -gt
largeur25 et hauteur40   Métaphore 1 objet .
1 collection 1 objet . N objets .1
artisan 1 industrie 1 Classe
6
Les classes
Une classe est un moule pour fabriquer des
objets        De meme structure        De meme
comportement        Régit par les memes
règles Exemple La classe Rectangle
 
7
Instanciation dun objet
Instanciation d'objet à partir de la classe   new
Rectangle(5,8) new Rectangle(4,4)
Un objet est une instance d'une classe
8
Pourquoi les objets ?
Bonne propriété "génie logiciel" Réunir données
et traitements (le comportement est défini dans
la classe) Encapsulation (cacher comment sont
réalisées les méthodes) (cacher les
variables) Héritage (affiner le comportement
d'une classe) (factoriser le code,
réutilisation) Polymorphisme Liaison dynamique
9
Contrôle de la visbilité
 
10
Diagramme de classe UML
Notation UML
Exemples
11
Diagramme dobjets
Notation UML
Exemples
Le rectangle r1
un rectangle en général
un objet avec ses attributs
12
Des liens entre les objets
Les objets ont des liens entre eux
Mais les classes ont des associations entre elles
13
Associations
Indépendance des classes
  Association est un couplage faible entre classes
Nommer l'association
14
Associations
orienter le nom lt gt
Les roles
Le role que joue une classe dans une association
15
Les roles multiples
Stabilité des associations Les liens entre les
objets doivent exister en dehors de l'exécution
d'une méthode.
allumer, éteindre, réparer sont des méthodes
16
Multiplicité des associations
Tout objet de A est associé par r à min objets de
B et au plus max objets de B
Cas 1, 0..1
Tout objet de A est associé exactement 1 objet de
B
Tout objet de A est associé au plus à 1 objet de B
17
Multiplicité (suite)
Cas , 0.., 1..
Tout objet de A est associé à plusieurs objets de
B
Tout objet de A est associé optionnellement à
plusieurs objets de B
Tout objet de A est associé à au moins 1 objet de
B
Exemple
18
1 et 1 seul
Des exemples
         
19
au plus 1
Des exemples
           
20
à plusieurs
Des exemples
21
Association binaire, ternaire,
Arité de l'association (combien de classes)
binaire
ternaire
22
Association encore plus ?
23
association attribuée
Classe anonyme permet de mémoriser des
informations dans le lien
24
Classe - association
parfois la classe doit perdre son anonymat (pour
etre associées à d'autres classes)
ou bien des association ternaire
25
Classe - association
ou encore une classe (permet la co-édition!)
26
Contraintes
Ordonner les liens
   
ou-exclusif
pilote
Vol
Employé
ou exclusif
copilote
sous-ensemble de
27
Contraintes
alternative
L'association ne se parcourt que dans un sens Le
sens de navigation est indiqué par une flèche
28
Agrégation
Association non symétrique
       A est formé de B        A pré-existe à
B        B n'existe pas sans A   Autres
dépendances          A contient B
(ensembliste)        Les attributs d'une classe
sont dépendants de l'autres        Les actions
d'une classe sont dépendants de
l'autres   Agrégation modèlise un couplage plus
fort que l'association
29
Exemple d'agrégation
A est un ensemble de B   Si un B n'est lié
qu'à un A alors l'agrégation est une composition
30
Composition
31
Attribut de type classe
attributs avec des types Classe !
Les objets B et C dans un objet A
32
Autres exemples de composition
33
La généralisation
Objectifs partager        Attributs
(statique)        Comportement (dynamique)
On parle aussi de relation d'héritage
34
Différence entre agrégation et composition ?
35
Exemple de généralisation
L'eau gazeuse est une eau
L'eau est une boisson
36
Généralisation - agrégation
L'eau contient du NaCl
37
Autre exemple de généralisation
L'héritage a une propriété classifiante
38
Autre exemple de généralisation
La classification cela n'est pas simple !
39
Principe de substitution de Liskow
Si A est un B Alors il doit etre possible de
substituer à un objet de la classe la plus
générale (B) un objet d'une de ses sous-classes
(A) sans modifier le comportement du système (un
programme)
le chat miaule devient après substitution le
chat siamois miaule
pas toujours respecté par les développeurs      
  L'héritage est utilisé pour propager du
code        Mécanisme de version       
Mécanisme de réutilisation
40
Factoriser le code (sans classification)
Exemple La trajectoire des satellites peut se
calculer comme celle d'une planète. Cependant la
lune n'est pas une planète.
41
Héritage Multiple
On n'hérite son comportement depuis plusieurs
classes ne partageant pas la meme arborescence  
42
Héritage Multiple


43
Covariance
Intégrer plusieurs critères indépendants dans une
meme arborescence ? Exemple Critères du milieu
ou
44
Covariance (suite)
ou de propulsion
45
Covariance et Héritage Multiple
46
Break and exercise time !
Write a Comment
User Comments (0)
About PowerShow.com