Académique Documents
Professionnel Documents
Culture Documents
UNE INTRODUCTION
1
Table des matières
2
Table des matières (suite 1)
3
Table des matières (suite 2)
Héritage
Recherche de facteurs communs entre les classes
Comportement d l’objet
Les diagrammes de transition
Design de l’architecture
Les « 4+1 » vues architecturales
Mécanismes clés
4
Table des matières (suite 3)
Les « patterns »
5
Introduction à l’analyse orientée objets et au
design
6
Introduction à l’analyse orientée objet
Objectifs:
7
Introduction à l’analyse orientée
objet
Les méthodologies usuelles de
développement
Le modèle en cascade
Le modèle en spirale
Le modèle itératif et incrémental
8
Introduction à l’analyse orientée
objet
Les méthodologies de
développement
Le modèle en cascade
Le modèle en cascade
Vu que l’analyse n’est effectuée uniquement qu’en amont, nous courrons le grand risque
de ne pas réellement comprendre les besoins du client
Malgré le suivi de procédures rigoureuses et la signature de documents par le client, les
chances que le produit final après le design, l’implémentation, l’intégration et les tests ne
réponde pas aux attentes du client restent élevées
Le modèle en cascade
11
Introduction à l’analyse orientée
objet
Les méthodologies de
développement
Le modèle en spirale
12
Introduction à l’analyse orientée
objet
Les méthodologies de
développement
Le modèle en spirale
Avantages:
L’équipe projet travaille sur tout le cycle de vie du projet (analyse,
design, code test) au lieu de passer beaucoup du temps sur une seule
phase
Le feedback client peut de faire beaucoup plus tôt et ce de façon
régulière
Les problèmes majeurs peuvent être identifiés plus tôt avant que le
développement ne soit trop avancé.
L’entendue et la complexité du travail peuvent être très tôt identifiés
Les évolutions technologiques peuvent être facilement incorporées
La production régulière d’exécutables est bonne pour le moral
LeKouao,
©2006, Philippe statut du projet
NTIC/DED/SNDI, Abidjan (% de réalisation) peut être mieux estimé.
13
Introduction à l’analyse orientée
objet
Les méthodologies de
développement
Le modèle en spirale
Inconvénients:
Ce modèle est communément associé au développement rapide
d’application
Le processus est plus difficile a gérer. Les techniques classiques
de gestion de projet telles que les chartes de GANTT ne peuvent
plus s’appliquer. D’autres techniques sont requises.
Initiation Construction
Élaboration Transition
Initiation:
Cette phase défini les contours du projet et sa charte
La charte du projet
Une exploration initiale des besoins du client
Dossier financier (prévisions financières, critères de succès, retour
sur investissement etc.)
Évaluation des risques associés au projet
Plan du projet
Élaboration:
Cette phase permet d’analyser le problème, d’agrémenter le plan du
projet et d’éliminer les parties risquées du projet.
A la fin de cette phase, l’équipe projet a une compréhension global du
projet (pas encore en profondeur)
2 modèles de UML aident dans cette phase:
Les cas d’utilisation (Use Case Model), permettent de comprendre
les besoins du client
Les diagrammes de classes qui permettent d’explorer les concepts
majeurs soumis par le client
Construction:
Dans cette phase, le produit est construit
Construction:
Transition:
Cette phase finale concerne le transfert de l’application chez le client
Les activités typiques sont:
Les versions bêta
Les tests d’intégration
La reprise des données
La formation des utilisateurs
Le marketing, la distribution et la vente
Cette phase ne correspond pas a la phase de test dans le
modèle en cascade. Avant cette phase, le produit doit
déjà être testé.
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
20
Introduction à l’analyse orientée
objet
Les méthodologies de
développement
La crise logicielle
Used With
Changes
22
Introduction à l’analyse orientée
objet
La crise logicielle
Le département des véhicules motorisés de l’État de Californie
a dépensé plus de $ 43 millions pour fusionner le fichier des
permis de conduire avec celui de l’immatriculation de véhicules
Le système a été abandonné sans jamais avoir été utilisé
American Airlines a perdu $ 165 millions pour relier son système
de réservation avec celui de Mariott, Hilton et Budget.
L’aéroport de Denver a perdu des millions de dollars US avec le
report de son ouverture suite au dysfonctionnement du système
informatique des bagages
Source:
Rapport sur les échecs logiciels par W. WaytGibbs,
Scientific American, Septembre 1994
23
Introduction à l’analyse orientée
objet
La crise logicielle
En mars 1989, la cabinet Arthur Andersen a rapporté que
plus de $300 milliards par an sont dépensés dans des activités
tournant autour des logiciels aux USA
Les logiciels livrés et fonctionnels ne représentent que 8% de cette
manne
Les raisons de la crise logicielle
Évolutivité des besoins
Échecs dans la gestion des risques
Complexité des logiciels
24
Introduction à l’analyse orientée
objet
La crise logicielle
25
Introduction à l’analyse orientée
objet
La crise logicielle
26
Introduction à l’analyse orientée
objet
La crise logicielle
27
Introduction à l’analyse orientée
objet
28
Introduction à l’analyse orientée
objet
Les atouts de la technologie 00
29
Introduction à l’analyse orientée
objet
Les atouts de la technologie 00
Diagramme de classes
30
Introduction à l’analyse orientée
objet
Les atouts de la technologie 00
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan …seule la classe Camion doit être modifié
31
Introduction à l’analyse orientée
objet
Les atouts de la technologie 00
Domaines d’application
Systèmes Graphique
L’approche 00 facilite le design et l’implémentation
de systèmes avec Interface Graphique (Mac OS,
Windows XP, Gnome etc.)
32
Introduction à l’analyse orientée
objet
Les atouts de la technologie 00
Domaines d’application
Systèmes Embarqués
Les méthodes 00 permettent aux systèmes
embarqués et temps réel d’être développés avec
qualité et flexibilité
33
Introduction à l’analyse orientée
objet
Les atouts de la technologie 00
Domaines d’application
Traitements Client/Serveur
Les approches 00 permettent d’encapsuler les
informations dans des objets, réduisant la taille
des application a livrer
34
Introduction à l’analyse orientée
objet
Les atouts de la technologie 00
Domaines d’application
Re-engineering
Les méthodes 00 permettent de faire du re-
engineering sur des parties d’un système,
protégeant ainsi les investissements en logiciels
existants
35
Introduction à l’analyse orientée
objet
36
Introduction à l’analyse orientée
objet
Analyse et Design 00
37
Introduction à l’analyse orientée
objet
Analyse et Design 00
Origines de UML
38
Introduction à l’analyse orientée
objet
Analyse et Design 00
39
Introduction à l’analyse orientée
objet
Analyse et Design 00
40
Introduction à l’analyse orientée
objet
Analyse et Design 00
Avantages de UML
Permet une transition fluide de l’analyse au design et à
l’implémentation
Défini une notation consistante et expressive:
Facilite la communication
Aide à isoler les omissions et inconsistances
S’applique aux petites et larges analyses
41
Introduction à l’analyse orientée
objet
Conclusion
De nouvelles techniques de développement 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 modèles sont calqués sur le monde réel
Elle facilite la réutilisation de l’architecture et du code
Elle offre plus de flexibilité
Un changement mineur dans les besoins n’implique pas des
modifications majeures du système en développement
42
Introduction à l’analyse orientée
objet
Conclusion
La technologie OO est utilisée pour différents types de
systèmes
Systèmes graphiques, embarqués, client serveur et re-
engineering
L’analyse OO est une méthode dans laquelle les besoins
sont exprimés en termes des objets décrits par le problème
S’appuie sur le QUOI
Dans le design 00, le modèle issue de l’analyse est raffiné,
avec l’ajout de détails et des décisions de design requises
pour implémenter le modèle
S’appui sur le COMMENT
43
Introduction à l’analyse orientée
objet
Conclusion
La méthodologie UML a été développé par Grady Booch, Jim
Rumbaugh et Ivar Jacobson en collaboration avec plusieurs
autres sur la base de leurs expériences collectives.
UML support 4+1 vue architecturales
La vue Logique
La vue de Développement
La vue des Traitements
La vue Physique
La vue des cas d’utilisation/scenarii
44
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
45
Développement itératif et incrémental
46
Développement itératif et incrémental
Objectifs:
47
Développement itératif et incrémental
48
Développement itératif et incrémental
Le Développement Itératif et Incrémental
49
Développement itératif et incrémental
Le cycle de vie logiciel
La phase d’Initiation
Utilité
Établir le cadre légal, juridique et financier pour la mise en place
d’un nouveau système ou la mise a jour d’un système existant
Livrables requis
Les besoins essentiels pour le projet
Une évaluation initiale des risques
Livrables optionnels
Un prototype conceptuel
Un domaine de modèle initial (10~20% terminé)
50
Développement itératif et incrémental
Le cycle de vie logiciel
La phase d’Élaboration
Utilité
Analyser le domaine du problème
Établir une solide architecture de base
Aborder les sections les plus risquées du projet
Élaborer un plan de projet montrant comment le projet sera
exécuté
51
Développement itératif et incrémental
Le cycle de vie logiciel
La phase d’Élaboration
Livrables
Un modèle du comportement du système incluant le contexte,
les scenarii, un domaine de modèle (80% terminé)
Une architecture
Une ébauche de la vision du produit sur la base du domaine de
modèle
Un évaluation révisée des risques
Un plan de développement
Des critères d’évaluation du système
Descriptions des
Une première version du manuel d’utilisation (optionnel)
52
Développement itératif et incrémental
Le cycle de vie logiciel
La phase de Construction
Utilité
Développer de façon incrémentale un logiciel complet prêt a
être transférer chez le client
Livrables
Une série de versions exécutables du produit
Des prototypes
Les résultats Assurance Qualité
La documentation
Le plan de déploiement
Les critères d’évaluation pour l’itération suivante
53
Développement itératif et incrémental
Le cycle de vie logiciel
La phase de Transition
Utilité
Transférer le logiciel chez le client
Livrables
Une série de versions exécutables du produit
Les résultats Assurance Qualité
La documentation
Analyses des performances du projet
54
Développement itératif et incrémental
55
Développement itératif et incrémental
56
Développement itératif et incrémental
Conclusion
Le développement itératif et incrémental est le processus de
construction de logiciels par petites étapes. Le développement
passe par une série de publication de versions qui aboutissent
en la version finale.
Le cycle de vie logiciel est divisé en cycles ou le résultat d’un
cycle est la production d’une version du logiciel
Chaque cycle est une succession de phases
Initiation -- fondement légal, juridique et financier
Élaboration – analyse du domaine du problème, fondation
architecturale, évaluation préliminaire des risques
Construction – développement incrémental d’un logiciel complet
prêt a être transférer chez le client
Transition – transfert du produit chez le client
57
Développement itératif et incrémental
Conclusion
Une itération est un circuit fermé de développement
aboutissant en une version du produit final et comprenant tous
les aspects du développement de logiciel:
Analyse des besoins
Design
Implémentation
Tests
Documentation
58
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
59
Comportement du Système
60
Comportement du Système
Objectifs:
61
Comportement du système
62
Comportement du système
63
Comportement du système
64
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Avantages du MCU
Le modèle de cas d’utilisation
Est utilisé pour communiquer avec les utilisateurs finaux et les
experts du domaine
Garantie la compréhension mutuelle des besoins
Est utilisé pour identifier
Qui interagira avec le système et ce que le système doit faire
Quelles interfaces le système devra posséder
Est utilisé pour vérifier
Que les besoins ont été capturés
Que les développeurs ont compris les besoins
65
Comportement du système
Modèle de Cas d’Utilisation (MCU)
66
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Recherche des acteurs: quelques
indices
Qui est concerné par certains besoins ?
Ou dans l’organisation le système est il utilisé?
Qui fournira les informations au système, utilisera l’information,
supprimera l’information?
Qui utilisera cette fonction?
Qui s’occupera du support et de la maintenance du système?
Le système utilise t’il des ressources externes
De quels acteurs le CU a-t-il besoin?
Est-ce qu’un acteur jour plusieurs différents rôles? Le même rôle
est il joué par plusieurs acteurs?
67
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Instances d’acteurs
68
Comportement du système
Modèle de Cas d’Utilisation (MCU)
69
Comportement du système
Modèle de Cas d’Utilisation (MCU)
70
Comportement du système
Modèle de Cas d’Utilisation (MCU)
71
Comportement du système
Modèle de Cas d’Utilisation (MCU)
72
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Le Diagramme de CU (DCU)
Un diagramme de cas d’utilisation peut être dessiné pour illustrer que les
cas d’utilisation et les acteurs interagissent en s’envoyant des stimuli.
73
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Documentation des CU
Les cas d’Utilisation sont documentés avec:
Une brève description
Le but du cas d’utilisation en quelques lignes
Le flux détaillé des événements
Description du flux primaire et du flux alternatif des événements qui auront lieu
quand le CU sera initié
Les 2 documents sont écrits en des termes que le client comprends
74
Comportement du système
Modèle de Cas d’Utilisation (MCU)
75
Comportement du système
Modèle de Cas d’Utilisation (MCU)
76
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Conclusion
Le comportement du système défini comment le système agit et réagit
Le comportement d’un système peut être caractérisé par un groupe de
cas d’utilisation
Un cas d’utilisation représente une fonctionnalité fournie pat le système
en réponse au stimulus d’un acteur externe
Ils offrent un véhicule pour capturer les besoins d’un système du point de
vue utilisateur
Un acteur est quelqu’un ou quelque chose qui doit s’ interfacer avec le
système en développement
Un cas d’utilisation est une représentation graphique du système qui
montre les acteurs et les cas d’utilisation identifiés par le système.
La documentation d’un cas d’utilisation consiste en une brève
description et un flux d’événements
77
Comportement du système
Modèle de Cas d’Utilisation (MCU)
78
Comportement du système
Modèle de Cas d’Utilisation (MCU)
79
Comportement du système
Modèle de Cas d’Utilisation (MCU)
80
Comportement du système
Modèle de Cas d’Utilisation (MCU)
81
Comportement du système
Modèle de Cas d’Utilisation (MCU)
82
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Brève description: CU Inscription
académique
83
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Flux des événements: CU Inscription
académique
84
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Flux des événements: CU Inscription
académique
Flux alternatif
Si le matricule est invalide, le système ne permet aucun accès.
Si l’étudiant tente de créer un emploi du temps pour un semestre
donnée alors qu’un emploi du temps existe, demandera de faire un
autre choix
Ajoute l’étudiant a la liste relative a ce cours s’il y a encore de la place
Création d’un emploi du temps
L’étudiant sélectionne d’abord 4 matières de premier choix, puis 2
matières alternatives. L’étudiant soumet ses choix. Le système
Vérifie que les pré requis sont satisfaits
Flux alternatif
Si une matière de premier choix n’est pas disponible, le système la
remplace par une matière alternative
85
Comportement du système
Modèle de Cas d’Utilisation (MCU)
Flux des événements: CU Inscription
académique
86
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
87
Scénarii et Objets
88
Scénarii et Objets
Objectifs:
89
Scénarii et Objets
Scénarii
90
Scénarii et Objets
Scénarii
Un Scénario pour CU « S’inscrit pour les
cours »
91
Scénarii et Objets
Scénarii
Scénarii secondaires
Quels sont les scénarii secondaires pour le CU ‘S’inscrit pour les cours’
?
92
Scénarii et Objets
Scénarii
Scénarii secondaires
93
Scénarii et Objets
Scénarii
Scénarii secondaires
94
Scénarii et Objets
Scénarii
95
Scénarii et Objets
Scénarii
Entité Physique
Entité Conceptuelle
Entité Logicielle
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
96
Scénarii et Objets
Objets
97
Scénarii et Objets
Objets
Un objet a un État
L’État d’un objet est l’une des conditions dans lesquelles l’objet
peut exister
L’État est représenté par la valeur des propriétés d’un objet a un
instant donné
L’État d’un objet change normalement avec le temps
98
Scénarii et Objets
Objets
Un objet a un Comportement
99
Scénarii et Objets
Objets
100
Scénarii et Objets
Objets
Les objets sont identifiés en examinant les noms dans les cas
d’utilisation et les scenarii
Les noms trouvés peuvent être
Des objets
La description de l’état d’un objet
Des entités externes et/ou acteurs
101
Scénarii et Objets
Objets
102
Scénarii et Objets
Objets
Les noms du scénario « S’inscrit pour des
cours »
103
Scénarii et Objets
Objets
Les noms du scénario « S’inscrit pour des
cours »
104
Scénarii et Objets
Objets
Décision de filtrage
Kouassi Acteur
Matricule 1234 56 Propriété d’un étudiant
Système Ce qui est en construction
Numéro Identique au matricule
Semestre Etat après sélection
Semestre en cours Identique au semestre
Nouvel emploi du temps Objet
Liste des cours disponibles Objet
Cours primaires État des cours sélectionnés
Anglais 101 Objet
Géologie 110 Objet
Histoire 200 Objet
Algèbre 110 Objet
Cours additionnels Etat des cours sélectionnés
105
Scénarii et Objets
Objets
Décision de filtrage
106
Scénarii et Objets
Conclusion
107
Scénarii et Objets
Conclusion
108
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
109
Interactions des objets
110
Interaction des Objets
Objectifs:
111
Interaction des Objets
Diagrammes d’interaction
Les scenarii sont typiquement schématisés par les
diagrammes d’interaction
Il existe 2 type de diagrammes d’interaction
Les diagrammes de séquence
Les diagrammes de collaboration
Chacun des diagrammes offre un vue différente de la
même interaction
Les diagrammes de séquence sont ordonnés dans le temps
Les diagrammes de collaboration peuvent inclure des flux de
données
112
Interaction des Objets
Diagrammes d’interaction
113
Interaction des Objets
Diagrammes d’interaction
114
Interaction des Objets
Diagrammes d’interaction
115
Interaction des Objets
Diagrammes d’interaction
116
Interaction des Objets
Diagrammes d’interaction
Focus de contrôle
117
Interaction des Objets
Diagrammes d’interaction
Notes
118
Interaction des Objets
Diagrammes d’interaction
119
Interaction des Objets
Diagrammes d’interaction
Exemple de Diagramme de
Collaboration
120
Interaction des Objets
Diagrammes d’interaction
121
Interaction des Objets
Diagrammes d’interaction
122
Interaction des Objets
Diagrammes d’interaction
123
Interaction des Objets
Diagrammes d’interaction
Création des DC
124
Interaction des Objets
Diagrammes d’interaction
Diagramme de séquence pour le
scénario «inscription académique »
125
Interaction des Objets
Diagrammes d’interaction
Diagramme de collaboration pour le
scénario «inscription académique »
126
Interaction des Objets
Diagrammes d’interaction
127
Interaction des Objets
Diagrammes d’interaction
128
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
129
CLASSES ET PAQUETAGES
130
Classes et paquetages
Objectifs:
131
Classes et paquetages
Les classes
Plusieurs objets sont identifiés pour un problème
particulier
Une classe est une description d’un groupe d’objet
ayant des propriétés similaires (attributs), des
comportements communs (opérations), des relations
communes avec d’autres objets (associations et
agrégations), et une sémantique commune
Un objet est une instance d’une classe
Une classe est une abstraction qui
Met en relief les importantes caractéristiques
Supprime les autres caractéristiques
L’abstraction nous aide a gérer la complexité
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
132
Classes et paquetages
Les classes
Exemple de classe
133
Classes et paquetages
Les classes
Classes d’objets
134
Classes et paquetages
Les classes
Indications pour la recherche de
classes
Une classe doit capturer une et une seule abstraction clé
Mauvaise abstraction: une classe Etudiant qui détient les informations
de l’étudiant et son emploi du temps pour le semestre en cours
Bonne abstractions: Des classes séparées pour Etudiant et Emploi du
temps
135
Classes et paquetages
Les classes
136
Classes et paquetages
Les classes
137
Classes et paquetages
Les classes
138
Classes et paquetages
Les classes
Nom: InformationEtudiant
Définition: information relative a une personne
s’etant inscrit pour suivre des cours a l’université
Nom: Cours
Définition: Session de formation offerte par
l’Université
Au fur et a mesure qu’on comprend le problème, on
raffine les définitions de classes et on ajoute de
nouvelles classes au dictionnaire du modèle
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
139
Classes et paquetages
Les classes
140
Classes et paquetages
Les classes
141
Classes et paquetages
Les classes
142
Classes et paquetages
Les classes
143
Classes et paquetages
Les classes
144
Classes et paquetages
Les classes
145
Classes et paquetages
Les classes
146
Classes et paquetages
Les classes
Évaluations
Les choses vont bien si
Toutes les classes ont des noms significatifs et spécifique au domaine
du problème
Chaque classe a un petit nombre de collaborateurs
Il n’y a pas de classe « indispensable » (God Class) (une classe qui
collabore avec tout le monde doit être redéfinie)
L’information de chaque classe tient sur la carte
Un changement dans les besoins peut être géré par les classes
Les choses vont mal si
Un certain nombre de classes n’ont aucune responsabilité
Une même responsabilité est assignée a plusieurs classes en même
temps
Toutes les classes collaborent avec toutes les autres classes
147
Classes et paquetages
Les classes
Stéréotypes
Un stéréotype représente la classification d’une classe
Chaque classe peut avoir tout au plus un stéréotype
Les stéréotypes communs
Classe d’interfaçage (boundary class)
Classe d’ entité
Classe de contrôle
Classe d’exception
Metaclass
Classe paramétrique
Classe utilitaire
Les stéréotypes sont représentés par le nom de classe entre
guillemets «»
148
Classes et paquetages
Les classes
Classes d’interfaçage
Une classe d’interfaçage modélise la communication
entre l’environnement du système et son
fonctionnement interne
Les classes d’interfaçage typiques sont
Les fenêtres (interface utilisateur)
Les protocoles de communication (interface système)
Les interfaces d’imprimantes
Les sondes
149
Classes et paquetages
Les classes
150
Classes et paquetages
Les classes
Prototypes et brouillons
Des prototypes et/ou brouillons peuvent être crées pour
communiquer les aspects esthétiques de la classe
d’interfaçage a l’utilisateur
151
Classes et paquetages
Les classes
152
Classes et paquetages
Les classes
Classe d’entité
Une classe d’entité modélise l’information persistante et le
comportement y étant associé (dure dans le temps)
Elle peut refléter un phénomène réel
Elle peut être requise pour les taches internes du système
Les valeurs de ses attributs sont souvent fournies par un acteur
Le comportement est indépendant de l’environnement
Les classes d’entité dans le CU « inscription académique » sont
Cours
EmploiDuTemp
Catalogue
153
Classes et paquetages
Les classes
Classe de contrôle
Une classe de contrôle modélise le
comportement spécifique à un ou plusieurs CU
Une classe de contrôle
Crée, initialise et supprime les objets contrôlés
Contrôle la séquence ou coordination de l’exécution
des objets contrôlés
Contrôle les aspects liés à la concurrence des
classes contrôlées
Est la plupart du temps, l’implémentation d’un objet
intangible
154
Classes et paquetages
Les classes
Classe de contrôle pour CU «
inscription académique »
Une classe appelée GestionnaireDesInscriptions des ajoutée
Le GestionnaireDesInscriptions
Reçoit les informations d’inscription de IHM quand le bouton OK est
appuyé
Il vérifie les pré requis pour le cours sélectionné
Il ajoute l’étudiant aux premiers cours disponibles
Sait quoi faire quand les 4 cours ne sont pas disponibles
Crée l’ EmploiDuTemp qui mentionne les cours
Crée l’objet SystemeDeFacturation pour l’étudiant
155
Classes et paquetages
Les classes
Diagrammes de séquence
156
Classes et paquetages
Les classes
Exemple: Objets dans le scénario «
s’inscrit pour les cours »
FormulaireEnregistrement – formulaire qui affiche
les options d’inscription
FormulaireEmploiDuTemps – formulaire qui permet
a l’étudiant de sélectionner les cours
Cours disponibles – liste des cours enseignés dans
un semestre
Anglais – cours disponible dans un semestre
…
Information de facturation – information requise par
le système de facturation (acteur)
157
Classes et paquetages
Les paquetages
La plupart des modèles contiennent plusieurs classes
Ces classes peuvent être regroupées dans des paquetages
Un paquetage est une collection logique de classes et/ou
d’autres paquetages
Le paquetage « possède » les classes qu’il contient
Un paquetage est représenté par un répertoire avec onglet
158
Classes et paquetages
159
Classes et paquetages
Le diagramme de classe
La vue logique est composée de plusieurs paquetages et
classes
Un diagramme de classes est une vue partielle ou complète
des paquetages et classes dans la vue logique
Il y a généralement plusieurs diagrammes de classe
Le diagramme de classe principal est typiquement une vue de
l’ensemble des paquetages dans la vue logique
Chaque paquetage a généralement son diagramme de classe
principal
Des diagrammes de classes additionnels sont ajouté si besoin
est
Vue des classes participant dans un scénario
Vue des classes « privées » dans un paquetage
Vue d’une classe avec ses attributs et opérations
Vue d’une hiérarchie d’héritage
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
160
Classes et paquetages
161
Classes et paquetages
162
Classes et paquetages
163
Classes et paquetages
164
Classes et paquetages
Métamorphose
A l’université, il y a les étudiants a temps plein et les étudiants a
temps partiel
Les étudiants a temps plein on un numéro matricule et une date
probable de fin de cycle pendant que ceux a temps partiel n’en ont
pas
Les étudiants a temps partiel peuvent prendre un maximum de 3
cours pendant qu’aucune restriction ne s’impose aux étudiants a
temps plein
165
Classes et paquetages
Métamorphose
Il est très difficile de modifier la classe d’un objet
Meilleur technique de modélisation
Placer la structure et le comportement qui « changent »
dans leur propre classe
Cela permet a un objet de « parler » à différents objets pour
accomplir la métamorphose
166
Classes et paquetages
Métamorphose
167
Classes et paquetages
Métamorphose
Cette technique ajoute aussi de la flexibilité au
modèle
Exemple: un étudiant a temps plein peut aussi
résider sur le campus. Dans ce cas, il y a le nom du
bâtiment, le numéro de la chambre et le numéro de
la clé de la chambre
168
Classes et paquetages
169
Classes et paquetages
170
Classes et paquetages
171
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
172
LES RELATIONS
173
Les relations
Objectifs:
175
Les relations
L’association
Une association est une connexion entre 2 classes
Cela implique qu’il y a un lien entre les objets des classes associées
Les associations sont représentées sur un diagramme de classe
par une ligne connectant les classes associées
Le flux des données peut être dans l’une des directions ou dans
les 2 directions
176
Les relations
L’association
Navigation
Une association est une relation bi-directionnelle
Pour une instance donnée de GestionnaireInscriptions, il existe
un objet associé Cours
Pour une instance donnée de Cours, il existe un objet associé
GestionnaireInscriptions
177
Les relations
L’association
178
Les relations
L’association
Les rôles
Un rôle indique la raison pour laquelle une classe est associée a
une autre
Les noms de rôles sont typiquement des noms
Un nom de rôle est placé sur la ligne de l’association du coté de la
classe concernée
L’un ou les deux bouts de l’association peuvent avoir des noms de rôle
179
Les relations
L’association
Associations multiples
Plus d’une association peut exister entre 2 classes
Dans ce cas, ces association DOIVENT être nommées
180
Les relations
L’association
Associations multiples
181
Les relations
L’association
182
Les relations
L’association
Indicateur de multiplicité
183
Les relations
L’association
Exemple de multiplicité
184
Les relations
L’association
Le sens de la multiplicité
185
Les relations
L’agrégation
186
Les relations
L’agrégation
Test d’agrégation
187
Les relations
Agrégation ou Association?
188
Les relations
Association réflective
Dans une association réflective, les objets d’une même classe sont
liés
Cela indique que plusieurs objets dans la même classe collaborent entre
elles
189
Les relations
Classes d’association
Nous souhaitons suivre les notes de tous les cours auxquels un étudiant
s’est inscrit
La relation entre Etudiant et Cours est une relation de plusieurs à plusieurs
Ou allons nous placer l’attribut note?
190
Les relations
191
Les relations
Classes d’association et
multiplicité
Les classes d’association sont souvent utilisées pour les relations de
plusieurs à plusieurs
Si la multiplicité a l’un des bouts est « à un »
L’attribut peut être placé dans la classe du bout « à plusieurs » de la
relation
Une classe d’association peut être utilisée
192
Les relations
Qualificateur
Un qualificateur est un attribut d’une classe qui peut être
utilisé pour réduire la multiplicité d’une association
193
Les relations
FormInscription « parle »
à FormEmploiTemps
FormEmploiTemps « parle »
à GestInscriptions
194
Les relations
Associations ou Agrégations
195
Les relations
196
Les relations
197
Les relations
198
Les relations
199
Les relations
200
Les relations
201
Les relations
Résumé: Relations
Tous les systèmes traitent de plusieurs objets qui collaborent les uns
avec les autres pour offrir la fonctionnalité requise
Les 2 types importants de relations sont les associations et les
agrégations
Une association est une connexion entre 2 classes qui représente la
communication
Une association peut avoir un nom
Des noms de rôles peuvent être utilisés
La communication peut être uni ou bi directionnelle
La multiplicité est le nombre d’instances qui participent a une relation
Elle est mentionnée en bout de la ligne de relation
Chaque bout de la relation doit avoir un indicateur de multiplicité
202
Les relations
Résumé: Relations
203
Les relations
Résumé: Relations
204
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
205
OPERATIONS ET ATTRIBUTS
206
Opérations et Attributs
207
Opérations et Attributs
208
Opérations et Attributs
209
Opérations et Attributs
210
Opérations et Attributs
211
Opérations et Attributs
Opération primitive
212
Opérations et Attributs
213
Opérations et Attributs
214
Opérations et Attributs
215
Opérations et Attributs
216
Opérations et Attributs
217
Opérations et Attributs
218
Opérations et Attributs
219
Opérations et Attributs
220
Opérations et Attributs
221
Opérations et Attributs
Attributs dérivés
222
Opérations et Attributs
Chaque attribut à:
Un type de données
Une valeur initiale (optionnelle)
Pendant l’analyse, il n’est PAS OBLIGATOIRE de
donner la définition complète de l’attribut
Cette information peut être reportée jusqu’au design
223
Opérations et Attributs
224
Opérations et Attributs
225
Opérations et Attributs
226
Opérations et Attributs
227
Opérations et Attributs
Encapsulation
228
Opérations et Attributs
Exemple d’encapsulation
229
Opérations et Attributs
Encapsulation
230
Opérations et Attributs
Résumé:
231
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
232
HERITAGE
233
Héritage
Objectifs: Héritage
234
Héritage
Héritage
235
Héritage
236
Héritage
Héritage
237
Héritage
238
Héritage
Un camion à 3 attributs:
immatriculation
poids
tonnage
239
Héritage
Un camion à 3 attributs:
immatriculation
poids
tonnage
et 2 opérations:
immatriculer()
getTaxe()
240
Héritage
241
Héritage
242
Héritage
Exemple de généralisation
243
Héritage
244
Héritage
Exemple de spécialisation
245
Héritage
Hiérarchies d’héritage
246
Héritage
Niveaux d’abstraction
247
Héritage
Recherche de l’héritage
248
Héritage
Héritage et composition
249
Héritage
250
Héritage
251
Héritage
Héritage et composition
252
Héritage
Résumé:
L’héritage définit une relation entre classes ou une classe partage la
structure et/ou le comportement d’une ou de plusieurs autres classes
Elle définit la hiérarchie des abstractions dans laquelle une sous classe
hérite d’une ou de plusieurs superclasses
Héritage simple: une classe hérite d’une superclasse
Héritage multiple: une classe hérite de plus d’une superclasse
Une sous classe hérite des attributs, opérations et relations de sa
superclasse
Une sous classe peut
Ajouter des attributs, opérations et relations
Redéfinir les opérations héritées
253
Héritage
Résumé:
254
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
255
COMPORTEMENT DE L’OBJET
256
Comportement de l’Objet
Objectifs:
257
Comportement de l’Objet
258
Comportement de l’Objet
259
Comportement de l’Objet
État et attributs
260
Comportement de l’Objet
État et liens
261
Comportement de l’Objet
États spéciaux
262
Comportement de l’Objet
Événements
263
Comportement de l’Objet
Transitions
264
Comportement de l’Objet
Conditions
265
Comportement de l’Objet
Actions
266
Comportement de l’Objet
Activités
267
Comportement de l’Objet
Transitions automatiques
268
Comportement de l’Objet
Une action peut être associée à un état quand cette action doit
avoir lieu, que l’état soit en phase initiale ou finale
En réalité, l’action est associée à toute transition entrant ou sortant
de l’état en cours
L’action est présentée dans l’icône de l’état, précédée du mot clé
entry (entrée) ou exit (sortie)
269
Comportement de l’Objet
États imbriqués
270
Comportement de l’Objet
271
Comportement de l’Objet
272
Comportement de l’Objet
273
Comportement de l’Objet
274
Comportement de l’Objet
275
Comportement de l’Objet
Ou commencer ?
276
Comportement de l’Objet
Exercice
277
Comportement de l’Objet
Exercice
278
Comportement de l’Objet
Résumé:
Un diagramme d’état représente le cycle de vie de
l’objet en termes
Des états possibles de l’objet
Des transitions entre ces états
Il existe 2 états spéciaux
L’état initial est l’état d’un objet à sa création
L’état final indique la fin de la vie de l’objet
Une transition est un changement d’un état original à
un autre état, possiblement le même.
279
Comportement de l’Objet
Résumé:
Une transition résulte
De l’occurrence d’un événement
D’une condition satisfaite
Une action est une opération qui se produit en un
temps insignifiant
Une activité est une opération qui s’exécute pendant
que l’objet est dans un état
Les états imbriqués permettent de gérer les complexités
associées aux diagrammes d’état
L’historique permet la visualisation du plus récent sous
état dans un état
280
© 2006, Philippe Kouao, NTIC/DED/SNDI, Abidjan
281