Cours Notions Uml

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 34

Module d’uml

Objectif du module : Présenter les différents diagramme d’uml et


pour chaque diagramme faire ressortir les objets, les éléments du
diagramme et leur réalisation à partir d’exemple et exercice

Volume : 30 heures
Chargé du cours : M Serge GNAGBO 47264047

Cours UML Reseau Tecom 2 Page 1


Progression

Chapitre I : Présentation d’UML 1 séance (CM)


Chapitre II : Le Diagramme de cas d’utilisation 2 séance (CM + TD)
Chapitre III : Le diagramme de classe 3 séance (2 CM + 1 TD)
Chapitre IV : Le diagramme d’objet 1 séance (CM + TD)
Chapitre V : Le diagramme d’état-transition 1 séance (CM +TD)
Chapitre VI : le diagramme de séquence 1 séance (CM +TD)

Cours UML Reseau Tecom 2 Page 2


Chapitre I : présentation d’UML
I- Objectif de la programmation orientée objet
Les techniques de programmation n’ont cessé de progresser depuis l’époque de la
programmation en langage binaire (cartes perforées, switch) à nos jours. Cette évolution a
toujours été dictée par le besoin de concevoir et de maintenir des applications toujours plus
complexes.

La programmation structurée (Pascal en 1970, C en 1972, Modula et Ada en 1979, …) a alors


vu le jour et permis de développer et de maintenir des applications toujours plus ambitieuses.
L’algorithmique ne se suffisant plus à elle seule à la fin des années 1970, le génie logiciel est
venu placer la méthodologie au cœur du développement logiciel. Des méthodes comme Merise
(1978) se sont alors imposées.

La taille des applications ne cessant de croître, la programmation structurée a également


rencontré ses limites, faisant alors place à la programmation orientée objet (Simula 67 en 1967,
Smalltalk en 1976, C++ en 1982, Java en 1995, …). La technologie objet est donc la
conséquence ultime de la modularisation dictée par la maîtrise de la conception et de la
maintenance d’applications toujours plus complexes. Cette nouvelle technique de
programmation a nécessité la conception de nouvelles méthodes de modélisation.

UML (Unified Modeling Language en anglais, soit langage de modélisation objet unifié) est né
de la fusion des trois méthodes qui s’imposaient dans le domaine de la modélisation objet au
milieu des années 1990 : OMT, Booch et OOSE. D’importants acteurs industriels (IBM,
Microsoft, Oracle, DEC, HP, Rational, Unisys etc.) s’associent alors à l’effort et proposent
UML 1.0 à l’OMG (Object Management Group) .

II- L’approche orientée objet


L’approche orientée objet considère le logiciel comme une collection d’objets dissociés,
identifiés et possédant des caractéristiques. Une caractéristique est soit un attribut (i.e. une
donnée caractérisant l’état de l’objet), soit une entité comportementale de l’objet (i.e. une
fonction). La fonctionnalité du logiciel émerge alors de l’interaction entre les différents objets
qui le constituent. L’une des particularités de cette approche est qu’elle rapproche les données
et leurs traitements associés au sein d’un unique objet.

La Conception Orientée Objet (COO) est la méthode qui conduit à des architectures logicielles
fondées sur les objets du système, plutôt que sur la fonction qu’il est censé réaliser.

UML n’est pas une méthode (i.e. une description normative des étapes de la modélisation) :
mais un langage graphique qui permet de représenter et de communiquer les divers aspects d’un
système d’information. Aux graphiques sont bien sûr associés des textes qui expliquent leur
contenu. UML est donc un métalangage car il fournit les éléments permettant de construire le
modèle qui, lui, sera le langage du projet.

Il est impossible de donner une représentation graphique complète d’un logiciel, ou de tout
autre système complexe mais il est possible de donner sur un tel système des vues partielles.

Cours UML Reseau Tecom 2 Page 3


III- Les diagrammes d’uml
UML 2.0 comporte ainsi treize types de diagrammes représentant autant de vues distinctes
pour représenter des concepts particuliers du système d’information. Ils se répartissent en
deux grands groupes :

1- Diagrammes structurels ou diagrammes statiques (UML Structure)

 diagramme de classes (Class diagram) :


 diagramme d’objets (Object diagram)
 diagramme de composants (Component diagram)
 diagramme de déploiement (Deployment diagram)
 diagramme de paquetages (Package diagram)
 diagramme de structures composites (Composite structure diagram)

2- Diagrammes comportementaux ou diagrammes dynamiques (UML Behavior)

 diagramme de cas d’utilisation (Use case diagram)


 diagramme d’activités (Activity diagram)
 diagramme d’états-transitions (State machine diagram)
 Diagrammes d’interaction (Interaction diagram)
o diagramme de séquence (Sequence diagram)
o diagramme de communication (Communication diagram)
o diagramme global d’interaction (Interaction overview diagram)
o diagramme de temps (Timing diagram)

Cours UML Reseau Tecom 2 Page 4


Chapitre II : Le diagramme de cas
d’utilisation
I- Objectifs du diagramme
Le diagramme de cas d’utilisation représente la structure des grandes fonctionnalités
nécessaires aux utilisateurs du système. C’est le premier diagramme du modèle UML, celui où
s’assure la relation entre l’utilisateur et les objets que le système met en œuvre. Pour élaborer
les cas d’utilisation, il faut se fonder sur des entretiens avec les utilisateurs.

II- Eléments du diagramme


1- Le système
C’est le domaine d’activité qu’on souhaite modéliser. Il est borné et fini.

Représentation
Nom du système

2- Les acteurs
Un acteur est l’idéalisation d’un rôle joué par une personne externe, un processus ou une chose qui
interagit avec un système.

Representation

Exemple
L’acteur caissière sera representé par :

3- Le cas d’utilisation
Un cas d’utilisation est une unité cohérente représentant une fonctionnalité visible de l’extérieur. Il
réalise un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l’acteur
qui l’initie.

Representation

Cours UML Reseau Tecom 2 Page 5


Exemple
Enregistrer un article

III- Les relations

1- Relation entre acteur et cas d’utilisation


L’association est la relation qui existe entre un acteur (celui qui initie) et le cas d’utilisation
(ce qu’on fait).

Representation

Exemple
La caissière édite un reçu

Mais on peut avoir des acteurs principaux et secondaires. Un acteur est qualifié de principal pour
un cas d’utilisation lorsque ce cas rend service à cet acteur. Les autres acteurs sont alors qualifiés de
secondaires. Un cas d’utilisation a au plus un acteur principal.
Exemple
La caissière edite le paiement d’un étudiant

2- Relations entre cas d’utilisation


Il n’existe pas de relation entre des cas d’utilisation mais plutôt entre un cas general et ses
sous cas. On a 3 relations

Cours UML Reseau Tecom 2 Page 6


a- Relation d’inclusion
Un cas A inclut un cas B si pour la réalisation complete de A il faut obligatoirement realiser le
cas B.
Representation

Exemple
Pour manger une personne doit obligatoirement se laver les mains

b- Relation d’extension
On dit qu’un cas d’utilisation A étend un cas d’utilisation B lorsque le cas d’utilisation A peut être
appelé au cours de l’exécution du cas d’utilisation B. Exécuter B peut éventuellement entraîner
l’exécution de A : contrairement à l’inclusion, l’extension est optionnelle.

Exemple
Une personne mange du foutou et prend un dessert s’il a eu une prime

c- Relation de généralisation
Un cas A est une généralisation d’un cas B si B est un cas particulier de A.
Representation

Cours UML Reseau Tecom 2 Page 7


Exemple
Un animal se vole, marche ou nage

3- Relation entre acteurs


La seule relation possible entre deux acteurs est la généralisation : un acteur A est une généralisation
d’un acteur B alors B est une spécialisation de A. B réalise toutes les cas de A mais avec avec des
taches spécifiques
Représentation

Cours UML Reseau Tecom 2 Page 8


Exercice n1 : application de stock
Pour une application de gestion de stock ; le magasiner edite les articles et les fournisseurs.
L’edition peut être l’ajout, la modification et la suppression d’un article.
Il consulte la liste des articles et des fournisseurs comme son assistant. Pour supprimer un
article ou un fournisseur il doit obligatoirement rechercher l’article ou le fournisseur.

Exercice N°2 : Application de vente en ligne

Pour une application de vente en ligne, un visiteur peut consulter les annonces du jour.
L’abonnée faire des recherches mais il doit obligatoirement s’authentifier. Il peut egalement
acheter des articles mais doit payer et s’authentifier. Il paye soit par carte bancaire ou par pay
pal. Pendant les promos il paye avec remise

Exercice n°3 : application de gestion bancaire


Pour une application de gestion bancaire ; l’administrateur créer les utilisateurs, il peut
desactiver un utilisateur s’il a été suspendu ou est en congé.
Le gestionnaire créer les comptes des clients, les comptes peuvent être des comptes
d’épargne, courant ou des depots a terme. Il consulte les comptes de ses clients et peut faire
des opérations bancaire de debit et crédit. On debite un compte apres avoir verifier la
disponibilité du montant sur le compte. Pour les credits si le montant est superieur à 5000000
FCFA on verifie sa provenance.
La caisissiere ne fait que les opérations bancaires.
Les utilisateurs comme l’administateur font des opérations dans le système apres s’être
authenfiés.

Cours UML Reseau Tecom 2 Page 9


Chapitre III : Le Diagramme de classes
I- Objectif du diagramme
Alors que le diagramme de cas d’utilisation montre un système du point de vue des acteurs, le
diagramme de classes en montre la structure interne. Il permet de fournir une représentation
abstraite des objets du système qui vont interagir ensemble pour réaliser les cas d’utilisation.

II- La classe
1- Définition

Tout système orienté objet est organisé autour des classes.

Une classe est un type de données abstrait qui précise des caractéristiques (attributs et
méthodes) communes à toute une famille d’objets et qui permet de créer (instancier) des objets
possédant ces caractéristiques

Un objet est une instance d’une classe. C’est une entité discrète dotée d’une identité, d’un état
et d’un comportement que l’on peut invoquer. Les objets sont des éléments individuels d’un
système en cours d’exécution.

2- Caractéristique d’une classe

Une classe définit un jeu d’objets dotés de caractéristiques communes. Les caractéristiques d’un
objet permettent de spécifier son état et son comportement.

État d’un objet : Ce sont les attributs qui décrivent l’état d’un objet. Les propriétés décrites
par les attributs prennent des valeurs lorsque la classe est instanciée
Comportement d’un objet : Les opérations décrivent les éléments individuels d’un
comportement que l’on peut invoquer. Ce sont des fonctions qui peuvent prendre des valeurs
en entrée et modifier les attributs ou produire des résultats.

3- Representation

4- Encapsulation et visibilité

L’encapsulation consiste à masquer les détails d’implémentation d’un objet, en définissant une
interface. L’interface est la vue externe d’un objet, elle définit les services accessibles (offerts)
aux utilisateurs de l’objet.

L’encapsulation permet de définir des niveaux de visibilité des éléments d’un conteneur. La
visibilité déclare la possibilité pour un élément de modélisation de référencer un élément qui se
trouve dans un espace de noms différents de celui de l’élément qui établit la référence.

Cours UML Reseau Tecom 2 Page 10


Il existe quatre visibilités prédéfinies.

Public ou + : tout élément qui peut voir le conteneur peut également voir l’élément indiqué.
Private ou - : seul un élément situé dans le conteneur peut voir l’élément.
Protected ou # : seul un élément situé dans le conteneur ou un de ses descendants peut voir
l’élément indiqué.
Package ou ∼ ou rien : seul un élément déclaré dans le même paquetage peut voir l’élément.

Exemple

Soit les objets suivants

Définir la classe des objets précédents

Exercice
Donner la classe des objets suivants :
2+3
2*3
2-3
2x+3=0

Cours UML Reseau Tecom 2 Page 11


Exercice
Koffi kouadio a 5 ans il est du sexe masculin. Il viellit. Adja amlan a 17 ans du sexe feminin,
elle viellit

III- Relation entre les classes


1- L’association
Une association est une relation entre deux classes (association binaire) ou plus (association n-aire),
qui décrit les connexions structurelles entre leurs instances. Une association indique donc qu’il peut y
avoir des liens entre des instances des classes associées.
Representation

La terminaison d’association

La terminaison d’association est caractérisée par :

nom : le role joué par une instance de la classe dans


multiplicité : c’est le nombre de fois qu’une instance de classe participe à des instances
d’association.
Quelques visibilités

 exactement un : 1 ou 1..1
 plusieurs : * ou 0..*

Cours UML Reseau Tecom 2 Page 12


 au moins un : 1..*
 de un à six : 1..6

navigabilité : La navigabilité indique s’il est possible de traverser une association. Si une classe
contient des instances des classes avec laquelle elle est en association. Par defaut la navigabilité est
dans les deux sens.
Exemple

Explication
la terminaison du côté de la classe Commande n’est pas navigable : cela signifie que les instances de la
classe Produit ne stockent pas de liste d’objets du type Commande. Inversement, la terminaison du
côté de la classe Produit est navigable : chaque objet commande contient une liste de produits.

Exemple
Plusieurs personnes travaillent dans une entreprise

Un homme epouse une ou plusieurs femmes

Plusieurs personnes sont citoyens d’un pays et peuvent voyager dans un ou plusieurs pays.

Cours UML Reseau Tecom 2 Page 13


Dans un repère orthonormee un triangle est decrit par 3 points.

Les associations n-aires

On les représente par :

<Association>
Classe A Classe B

Classe C

Exemple
Plusieurs enseignants font cours avec plusieurs classes dans plusieurs matières

Cours UML Reseau Tecom 2 Page 14


2- les classes associations
une classe-association possède les caractéristiques des associations et des classes : elle se connecte à
deux ou plusieurs classes et possède également des attributs et des opérations.

Representation

Classe Association

Classe Association Classe Association

multiplicité multiplicité

Exemple
Plusieurs étudiants composent dans des matières et obtiennent des notes. L’étudiant à un
matricule, un nom, un prenom. La matière est caractérisée par un code, un libellé et un
coefficient . la note a une date de composition et la note obtenue. On peut annuler une note et
savoir l’appreciation.

3- Agrégation et composition
a- L’agregation

Une association simple entre deux classes représente une relation structurelle entre pairs, c’est
à dire entre deux classes de même niveau conceptuel : aucune des deux n’est plus importante
que l’autre. Lorsque l’on souhaite modéliser une relation tout/partie où une classe constitue un
élément plus grand (tout) composé d’éléments plus petit (partie), il faut utiliser une agrégation.

Une agrégation est une association qui représente une relation d’inclusion structurelle ou
comportementale d’un élément dans un ensemble.

Cours UML Reseau Tecom 2 Page 15


Representation

Exemple
Une unité pédagogique est composée d’enseignants

b- La composition
La composition, également appelée agrégation composite, décrit une contenance structurelle entre
instances. Ainsi, la destruction de l’objet composite implique la destruction de ses composants. Une
instance de la partie appartient toujours à au plus une instance de l’élément composite : la multiplicité
du côté composite ne doit pas être supérieure à 1

Representation

Exemple
Un dossier est composé de fichiers

Cours UML Reseau Tecom 2 Page 16


4- Généralisation et Héritage
La généralisation décrit une relation entre une classe générale (classe de base ou classe parent) et une
classe spécialisée (sous-classe). La classe spécialisée est intégralement cohérente avec la classe de
base, mais comporte des informations supplémentaires (attributs, opérations, associations). Un objet
de la classe spécialisée peut être utilisé partout où un objet de la classe de base est autorisé.

Les propriétés principales de l’héritage sont :

 La classe enfant possède toutes les caractéristiques des ses classes parents, mais elle
ne peut accéder aux caractéristiques privées de cette dernière.
 Une classe enfant peut redéfinir (même signature) une ou plusieurs méthodes de la
classe parent. Sauf indication contraire, un objet utilise les opérations les plus
spécialisées dans la hiérarchie des classes.
 Toutes les associations de la classe parent s’appliquent aux classes dérivées.
 Une instance d’une classe peut être utilisée partout où une instance de sa classe parent
est attendue.

Representation

Exemple

Un employé est soit un agent , l’administrateur, le directeur

Cours UML Reseau Tecom 2 Page 17


Exercice

Exercice N°1 :
Quels types d'association y a t'il entre classes des expressions suivantes ?
- un pays a une capitale ;
- une transaction boursière est un achat ou une vente ;
- les fichiers contiennent des enregistrements ;
- un polygone est composé d'un nombre ordonné de points ;
- une personne utilise un langage dans un projet ;
- modems et claviers sont des périphériques d'entrées / sorties ;
- les classes d'objets peuvent avoir plusieurs attributs.

Exercice N°2 :
Le diagramme de classes suivant correspond au cahier des charges pour la gestion d'une
médiathèque.

Ajoutez à ce diagramme les cardinalités des associations. Faîtes apparaître des relations
d'héritage et d'agrégation.

Cours UML Reseau Tecom 2 Page 18


TD2 : Diagramme de classes
1 Propriétés d'une classe
Une personne est caractérisée par son nom, son prénom, son sexe et son âge. Les objets de
classe Personne doivent pouvoir calculer leurs revenus et leurs charges. Les attributs de la classe
sont privés ; le nom, le prénom ainsi que l'âge de la personne doivent être accessibles par des
opérations publiques.
Question 1 :
Donnez une représentation UML de la classe Personne, en remplissant tous les compartiments
adéquats.
Deux types de revenus sont envisagés : d'une part le salaire et d'autre part toutes les autres
sources de revenus. Les deux revenus sont représentés par des nombres réels (float). Pour
calculer les charges globales, on applique un coefficient fixe de 20% sur les salaires et un
coefficient de 15% sur les autres revenus.
Question 2:
Enrichissez la représentation précédente pour prendre en compte ces nouveaux éléments.
Un objet de la classe Personne peut être créé à partir du nom et de la date de naissance. Il est
possible de changer le prénom d'une personne. Par ailleurs, le calcul des charges ne se fait pas
de la même manière lorsque la personne décède.
Question 3:
Enrichissez encore la représentation précédente pour prendre en compte ces nouveaux
Eléments.

2 Relations entre classes


Question :
Pour chacun des énoncés suivants, donnez un diagramme des classes :
- Tout écrivain a écrit au moins une œuvre
- Les personnes peuvent être associées à des universités en tant qu'étudiants aussi bien qu'en
tant que professeurs.
- Un rectangle a deux sommets qui sont des points. On construit un rectangle à partir des
coordonnées de deux points. Il est possible de calculer sa surface et son périmètre, ou
encore de le translater.
- Les cinémas sont composés de plusieurs salles. Les films sont projetés dans des salles. Les
projections correspondantes ont lieu à chacune à une heure déterminée.
- Tous les jours, le facteur distribue des recommandés dans une zone géographique qui lui
est affectée. Les habitants sont aussi associés à une zone géographique. Les recommandés
sont de deux sortes : lettres ou colis. Comme plusieurs facteurs peuvent intervenir sur la
même zone, on souhaite, pour chaque recommandé, le facteur qui l'a distribué, en plus du
destinataire

3 Elaboration d'un diagramme de classes complet


Un hôtel est composé d'au moins deux chambres. Chaque chambre dispose d'une salle d'eau :
douche ou bien baignoire. Un hôtel héberge des personnes. Il peut employer du personnel et il
est impérativement dirigé par un directeur. On ne connaît que le nom et le prénom des employés,
des directeurs et des occupants. Certaines personnes sont des enfants et d'autres des adultes
(faire travailler des enfants est interdit). Un hôtel a les caractéristiques suivantes : une adresse,
un nombre de pièces et une catégorie.

Cours UML Reseau Tecom 2 Page 19


Une chambre est caractérisée par le nombre et de lits qu'elle contient, son prix et son numéro.
On veut pouvoir savoir qui occupe quelle chambre à quelle date. Pour chaque jour de l'année,
on veut pouvoir calculer le loyer de chaque chambre en fonction de son prix et de son
occupation (le loyer est nul si la chambre est inoccupée). La somme de ces loyers permet de
calculer le chiffre d'affaires de l'hôtel entre deux dates.
Question :
Donnez une diagramme de classes pour modéliser le problème de l'hôtel

Exercice N°2
On désire automatiser la gestion d’une petite bibliothèque municipale. Pour cela, on a
analysé son fonctionnement pour obtenir la liste suivante de règles et d’affirmations :

• Les adhérents ont un prénom (chaîne de caractères) et un nom (chaîne de caractères).


• La bibliothèque comprend un ensemble de documents et un ensemble d’adhérents.
• Les adhérents sont inscrits ou désinscrits sur une simple demande.
• De nouveaux documents sont ajoutés régulièrement à la bibliothèque.
• Ces documents sont soit des journaux, soit des volumes.
• Les volumes sont soit des dictionnaires, soit des livres, soit des BD.
• Les documents sont caractérisés par un titre (chaîne de caractères).
• Les volumes ont en plus un auteur (chaîne de caractères). Les Bd ont en plus un nom de
destinataire (chaîne de caractères).
• Les journaux ont, outre les caractéristiques des documents, une date de parution (une date).
• Seuls les livres sont empruntables.
• Un adhérent peut emprunter ou restituer un livre.
• Les adhérents peuvent emprunter des livres (et uniquement des livres) et on doit pouvoir
savoir à tout moment quels sont les livres empruntés par un adhérent.
• Un adhérent peut emprunter au plus 3 livres.
• La date de restitution d’un livre emprunté est fixée au moment du prêt. Cette date peut être
prolongée sur demande.

Cours UML Reseau Tecom 2 Page 20


Chapitre IV : Le diagramme d’objets
I- Objectif du diagramme
Un diagramme d’objets représente des objets (i.e. instances de classes) et leurs liens (i.e.
instances de relations) pour donner une vue figée de l’état d’un système à un instant donné.
Un diagramme d’objets peut être utilisé pour :

 illustrer le modèle de classes en montrant un exemple qui explique le modèle ;


 préciser certains aspects du système en mettant en évidence des détails imperceptibles
dans le diagramme de classes ;
 exprimer une exception en modélisant des cas particuliers ou des connaissances non
généralisables qui ne sont pas modélisés dans un diagramme de classe ;
 prendre une image (snapshot) d’un système à un moment donné.

Le diagramme de classes modélise les règles et le diagramme d’objets modélise des faits.

II- Elements du diagramme


1- l’instance
Graphiquement, un objet se représente comme une classe. Cependant, le compartiment des
opérations n’est pas utile. De plus, le nom de la classe dont l’objet est une instance est précédé d’un
<< : >> et est souligné. Pour différencier les objets d’une même classe, leur identifiant peut être
ajouté devant le nom de la classe. Enfin les attributs reçoivent des valeurs. Quand certaines valeurs
d’attribut d’un objet ne sont pas renseignées, on dit que l’objet est partiellement défini.

Representation

Instance nomm

Instance :classe
Exemple personne1 est une instance de Personne

personne1 :Personne

Instance avec attributs valués

Instance :classe

Attribut=valeur
Attribut = valeur
Attribut=valeur

Cours UML Reseau Tecom 2 Page 21


Exemple une personne dont le nom est koffi et le prenom konan

Personne1 :Personne

nom= ‘’koffi’’
prenom = ‘’konan’’

Instance anonyme

:classe

Exemple

Une personne

:Personne

2- les liens
Dans un diagrammes d’objets, les relations du diagramme de classes deviennent des liens. La relation
de généralisation ne possède pas d’instance, elle n’est donc jamais représentée dans un diagramme
d’objets. Graphiquement, un lien se représente comme une relation, mais, s’il y a un nom, il est
souligné. Naturellement, on ne représente pas les multiplicités.

Exemple

Koffi est etudiant de la classe Licence professionnel 1

Cours UML Reseau Tecom 2 Page 22


Travaux dirigés du diagramme d’objets
Exercice 1
Pour les énoncés suivants,
1) proposer un diagramme de classe.
2) Proposer 2 diagrammes d’objet satisfaisant le diagramme de classe
Q1. Un état possède un nom et une capitale. Il partage une frontière avec au moins un autre
pays.
Q2. Un électeur vote pour au plus un candidat.
Q3. Un supermarché propose différents types de produits à la vente : des denrées
alimentaires, des objets
et des plantes. Chaque produit a un code bar et un prix. Les denrées alimentaires possèdent
une date de péremption et les plantes une date de fraicheur.
Q4. Un bâtiment a plusieurs étages. Certains sont composés de bureaux et d’appartements.
D’autres sont dédiés au parking. Ils se composent de plusieurs places de parking.

Q5. Une médiathèque possède des médias, empruntables par les abonnés de la médiathèque.

Exercice N°2
Drogba didier âgé de 35 ans joue dans la sélection ivoirienne qu’on surnomme les éléphants.
Yaya Touré âgé de 29 ans joue aussi dans cette sélection ainsi que copa barry.
Drogba et yaya sont des joueurs de champs et copa est un gardien. L’équipe de côte d’ivoire a
les maillots composé d’un haut orange , un bas orange et des chaussettes orange et le maillot
composé d’un haut vert, un bas blanc et des chaussettes verts.
La cote d’ivoire joue le match de la Can 2014 du 01 janvier 2014 contre l’équipe du Zambie
qu’on nomme les chipolopolo dans le stade Houphouet Boigny qui est d’une capacité de
35000 personnes situé dans la ville d’abidjan.
Au cours de ce match Drogba marque un but et joue les 90 minutes, yaya marque un but et
joue 75 min, copa obtient un carton jaune.
Taf
1- donner le diagramme de classe
2- donner le diagramme d’objet de la situation.

Cours UML Reseau Tecom 2 Page 23


Chapitre I : Le diagramme d’Etat/Transition
Source : http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-etats-transitions

I- Objectif du diagramme
Les diagrammes d'états-transitions d'UML décrivent le comportement interne d'un objet à l'aide
d'un automate à états finis. Ils présentent les séquences possibles d'états et d'actions qu'une
instance de classe peut traiter au cours de son cycle de vie en réaction à des événements discrets
(de type signaux, invocations de méthode).Il s'agit d'une représentation séquentielle des états
d'un système.

II- Elements du diagramme


1- L’Etat

Un état (state) représente une situation d'un bloc fonctionnel pendant laquelle

 il satisfait une certaine condition


 il exécute une certaine activité

formalisme

l’etat simple

- Les pseudo-état

l’etat initial

L'état initial indique l'état de départ, par défaut, lorsque le diagramme d'états-transitions, ou
l'état enveloppant, est invoqué. Lorsqu'un objet est créé, il entre dans l'état initial.

l’état final

L'état final indique que le diagramme d'états-transitions, ou l'état enveloppant, est terminé.

2- L’événement

Un événement est quelque chose qui se produit pendant l'exécution d'un système et qui mérite
d'être modélisé.

Cours UML Reseau Tecom 2 Page 24


On peut diviser les événements en plusieurs types explicites et implicites : signal, appel,
changement et temporel.

- Evenement d’appel

Un événement d'appel représente la réception de l'appel d'une opération par un objet

Syntaxe

<nom_événement> ( [ <paramètre> : <type> [; <paramètre> : <type> ... ] ] )

- Evenement de changement

Un événement de changement est généré par la satisfaction (i.e. passage de faux à vrai) d'une
expression booléenne sur des valeurs d'attributs. Il s'agit d'une manière déclarative d'attendre
qu'une condition soit satisfaite.

syntaxe

when ( <condition_booléenne> )

Notez la différence entre une condition de garde et un événement de changement. La première


est évaluée une fois que l'événement déclencheur de la transition a lieu et que le destinataire le
traite. Si elle est fausse, la transition ne se déclenche pas et la condition n'est pas réévaluée. Un
événement de changement est évalué continuellement jusqu'à ce qu'il devienne vrai, et c'est à
ce moment-là que la transition se déclenche.

- Evenement temporel

Les événements temporels sont générés par le passage du temps. Ils sont spécifiés soit de
manière absolue (date précise), soit de manière relative (temps écoulé). Par défaut, le temps
commence à s'écouler dès l'entrée dans l'état courant.

Syntaxe

after ( <durée> )

Un événement temporel spécifié de manière absolue est défini en utilisant un événement de


changement :

syntaxe

when ( date = <date> )

3- La transition
- Definition

Une transition définit la réponse d'un objet à l'occurrence d'un événement. Elle lie,
généralement, deux états E1 et E2 et indique qu'un objet dans un état E1 peut entrer dans l'état

Cours UML Reseau Tecom 2 Page 25


E2 et exécuter certaines activités, si un événement déclencheur se produit et que la condition
de garde est vérifiée.

syntaxe

[ <événement> ][ '[' <garde> ']' ] [ '/' <activité> ]


- La garde

Une transition peut avoir une condition de garde (spécifiée par '[' <garde> ']' dans la syntaxe).
Il s'agit d'une expression logique sur les attributs de l'objet, associé au diagramme d'états-
transitions, ainsi que sur les paramètres de l'événement déclencheur. La condition de garde est
évaluée uniquement lorsque l'événement déclencheur se produit. Si l'expression est fausse à ce
moment-là, la transition ne se déclenche pas, si elle est vraie, la transition se déclenche et ses
effets se produisent.

- L’activité

Lorsqu'une transition se déclenche (on parle également de tir d'une transition), son effet
(spécifié par '/' <activité> dans la syntaxe) s'exécute. Il s'agit généralement d'une activité qui
peut être

 une opération primitive comme une instruction d'assignation ;


 l'envoi d'un signal ;
 l'appel d'une opération ;
 une liste d'activités, etc.

La façon de spécifier l'activité à réaliser est laissée libre (langage naturel ou pseudocode).

Lorsque l'exécution de l'effet est terminée, l'état cible de la transition devient actif.

- Formalisme de la transition externe

Une transition externe est une transition qui modifie l'état actif. Il s'agit du type de transition le
plus répandu. Elle est représentée par une flèche allant de l'état source vers l'état cible.

- Formalisme de la transition interne

Les règles de déclenchement d'une transition interne sont les mêmes que pour une transition
externe excepté qu'une transition interne ne possède pas d'état cible et que l'état actif reste le
même à la suite de son déclenchement

exemple

Cours UML Reseau Tecom 2 Page 26


entry

 entry permet de spécifier une activité qui s'accomplit quand on entre dans l'état.

exit

 exit permet de spécifier une activité qui s'accomplit quand on sort de l'état.

do

 une activité do commence dès que l'activité entry est terminée. Lorsque cette activité est
terminée, une transition d'achèvement peut être déclenchée, après l'exécution de
l'activité exit bien entendu. Si une transition se déclenche pendant que l'activité do est
en cours, cette dernière est interrompue et l'activité exit de l'état s'exécute.

- Point de jonction

Un point de jonction peut avoir plusieurs segments de transition entrante et plusieurs segments
de transition sortante. Par contre, il ne peut avoir d'activité interne ni des transitions sortantes
dotées de déclencheurs d'événements.

Exemple

- Point de decision

Un point de décision possède une entrée et au moins deux sorties. Contrairement à un point de
jonction, les gardes situées après le point de décision sont évaluées au moment où il est atteint.
Cela permet de baser le choix sur des résultats obtenus en franchissant le segment avant le point
de choix Si, quand le point de décision est atteint, aucun segment en aval n'est franchissable,
c'est que le modèle est mal formé.

Il est possible d'utiliser une garde particulière, notée [else], sur un des segments en aval d'un
point de choix. Ce segment n'est franchissable que si les gardes des autres segments sont toutes

Cours UML Reseau Tecom 2 Page 27


fausses. L'utilisation d'une clause [else] est recommandée après un point de décision, car elle
garantit un modèle bien formé.

Exemple

III- Les super-états, pseudos états et mémoire

Le diagramme d'état peut comporter des super-états (submachine state) qui encapsulent d'autres
diagrammes d'états. Ils permettent de "factoriser" des transitions déclenchées par le même
évènement et amenant vers le même état cible (brancher, débrancher) tout en spécifiant des
transitions particulières entre les sous-états.

La mémorisation est modélisée par un pseudo état History symbolisé par la lettre H.
L'activation de ce pseudo-état permet au super état de se souvenir du dernier sous-état qui
était actif avant une transitsion sortante.

Cours UML Reseau Tecom 2 Page 28


Dans l'exemple ci-dessus, grâce au pseudo état History le fait de débrancher la RADIO
provoque la mémorisation des paramètres programmés. Lorsque l'appareil sera à nouveau
rebranché les paramètres mémorisés seront repris.

On peut définir qu'une mémorisation (History) se propage quelque soit le niveau de


profondeur des diagrammes d'état. On utilise alors le Deep History représenté par H*.

Cours UML Reseau Tecom 2 Page 29


Travaux dirigés diagramme d’etat/transition

Exercice N°1
Partie 1
Considérons un réveille-matin simplifié :
1. On peut mettre l’alarme ‘on’ ou ‘off’ ;
2. Quand l’heure courante devient égale à l’heure d’alarme, le réveil sonne sans s’arrêter.
3. On peut interrompre la sonnerie.
Questions
1. Dessinez le diagramme d’états correspondant.
2. Complétez le diagramme d’états précédent pour prendre en compte le fait que la sonnerie
du réveil s’arrête d’elle même au bout d’un certain temps.

Exercice N°2
Une équipe est qualifié pour une compétition à élimination directe. Lorsqu’il ya un match, elle
peut gagné ou perdre, si elle est perd elle est élimée. Sinon est qualifié pour le prochain tour. Si
elle est finale , si elle est gagne est championne sinon est elle est vice-championne.

Exercice N°3
Un étudiant affecté se préinscrit dans la période de préinscription est lancée. Pour cela il saisit
ses informations. Lors des orientations, son inscription est validée. A la rentrée il est en activité
et en fin d’année il est en congé. Il reprend son cycle et finit son cycle de formation soit en etat
renvoyé si pendant l’examen, il échoue pour la deuxième fois ; soit admis à l’examen.
Pendant son activité il est disponible, si il y a un appel il est soit présent, soit absent. S’il est
présent il peut en fin de module composer dans un module, il valide le module ou il est en
ajourné. S’il est present et en cas de faute grave, il peut être suspendu, sur décision du conseil
de discipline, il peut etre renvoyé alors il sort du cycle ou être réintegré mais il sera disponible
pour les cours qu’apres 3 jours de suspensions.

Cours UML Reseau Tecom 2 Page 30


Chapitre V : le diagramme de séquence
I- Objectif
Un objet interagit pour implémenter un comportement. On peut décrire cette interaction de deux
manières complémentaires : l'une est centrée sur des objets individuels (diagramme d'états-
transitions) et l'autre sur une collection d'objets qui coopèrent (diagrammes d'interaction).
Les diagrammes d'interaction permettent d'établir un lien entre les diagrammes de cas
d'utilisation et les diagrammes de classes : ils montrent comment des objets (i.e. des instances
de classes) communiquent pour réaliser une certaine fonctionnalité. Ils apportent ainsi un aspect
dynamique à la modélisation du système.

Le diagramme de communication est un diagramme d'interaction mettant l'accent sur


l'organisation structurelle des objets qui envoient et reçoivent des messages.
Le diagramme de séquence est un diagramme d'interaction mettant l'accent sur la
chronologie de l'envoi des messages.

II- Les elements du diagramme


1- L’interaction
C’est l’opération ou le cas d’utilisation qu’on souhaite représenter.

Représentation

2- La ligne de vie

Une ligne de vie représente l’ensemble des opérations exécutées par un objet.

Représentation
Obj :classe

Cours UML Reseau Tecom 2 Page 31


3- Les messages
Un message définit une communication particulière entre des lignes de vie. Plusieurs types
de messages existent les plus communs sont :
• l'envoi d'un signal ;
• l'invocation d'une opération ;
• la création ou la destruction d'une instance.
- Le message asynchrone

Dans ce cas, l’émetteur n’attend pas la réponse à son message, il poursuit l’exécution de
ses opérations.
Représentation

- Le message synchrone
Dans ce cas l’émetteur reste en attente de la réponse à son message avant de poursuivre
ses actions. On peut ajouter un message de retour si besoin.
Représentation

Période d’activité del’objet

Message de retour

- Le message de création et de destruction


Le message de création permet de créer un nouvel objet et celui de destruction permet de
le détruire.

Représentation

Cours UML Reseau Tecom 2 Page 32


Exemple :
Soit le modèle suivant

Taf
Représenter l’action allumer de l’additionneuse d’un opérateur

Cours UML Reseau Tecom 2 Page 33


Exercice : du modèle de l’exemple précédent représenter l’opération 1+2 par l’opérateur

Cours UML Reseau Tecom 2 Page 34

Vous aimerez peut-être aussi