Resumé UML

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

Résumé UML

I. Cas d’utilisation
1. Sert à modéliser les aspects dynamiques du système (contrairement au
diagramme de classe)
2. Faire ressortir les acteurs
3. Les composants :
a. Acteurs :
Acteur Principale : agit d’une manière directe sur le system (ex :
employé)
Acteur Secondaire : agit d’une manière indirecte sur le system (ex : le
system bancaire lors d’une transaction)

Généralisation/Spécialisation :
Acteur spécialisé Acteur général
b. Cas d’utilisation
représente les fonctionnalités du système

Les relations entre les CUs :


 Inclusion « include » : A inclut B veut dire que A inclut
obligatoirement le comportement de B.
<<include>>
A B
>
 Extension « extend » : A extend B veut dire que B peut ajouter
son comportement au niveau d’un point au comportement du A
(c’est pas obligatoire)
<<extend>>
B > A

EX :

 L’héritage : dakchi sahel asahbi xD

c. Dialogue
le diagramme de cas d’utilisation décrit juste les grand fonctions d’un
system sans avoir décrire les interactions entre ces derniers.
Il existe une desc textuel et autre visuel (digramme de séquence).
Textuel :
 Identification :
- Nom du cas :
- Objectif :
- Auteurs
 Scénario :
- Scénario nominal :
les interactions entre les acteur dans le cas normal.
- Scénario alternatif :
dans les extrêmes ou le mot de passe n’est pas correct ou autre…
- Scénario exception :
dans les cas d’une panne électrique ou similaire

Exemple global :

II. Diagramme de classe


Il permet d’avoir une vue statique sur le systéme en terme de
- Classe d’objets
- Relation entre les classes :
o Association
o Agrégation/composition
o Héritage
Il est basé sur 3 concepts fondamentaux :
- Le concept d’objet
- Le concept de classe d’objet comprenant des attributs et des
opérations
- Les différents types de relation entre les classes
1. Concept d’objet
Il doit être :
o Autonome
o Avoir une signification dans le système
o En relation avec d’autre objets
2. Concept d’attribut :
Description : Visibilité attribut :type[=valuer initiale]
Où :
- Visibilité :
o + (public)
o – (private)
o # (protected)
Exemples :
- - couleur : enum{rouge,vert,bleu} ;
- # b : boolean = vrai ;
- - Client : Personne ;
RQ : Lorsqu’un attribut peut être dérivé ou calculé à partir d’autres
attributs, il est précédé d’un /
EX :

Type d’attributs :
- Attribut d’instance (attribut normal dans une classe)
- Attribut de classe (attribut statique)
o Notation : Visibilité attribut :type[=valuer initiale]
(juste souligné xD )

3. Concept d’opération et méthode


Une opération est un service offert par la classe permet de décrire le
comportement d’un objet.
Une méthode est l’implémentation de l’opération.
Différents types des méthodes :
- Accesseurs (getters)
- Modifieurs (setters)
- Constructeurs
Description d’une opération :
Visibilité opération([arguments :type[=valeur initiale]] :ret type
Exemple :

4. Concept de classes d’objets


Classe = ensemble d’objets ayant les mêmes propriétés (attributs)et
le même comportement (opérations)
Description :

Encapsulation, visibilité et interface


- L’Encapsulation est le mécanisme de regrouper les attributs et les
opérations dans une classe pour empêcher l’accès directement
sauf à travers des services offerts aux utilisateurs qui définissent
ce qu’on appelle l’interface de la classe

Méthodes et classes abstraites :


Méthode abs : lorsqu’ on cannait juste la signature de la méthode.
Classe abs : Lorsqu’elle définit au moins une méthode abstraite.
Classe « Interface »
Une interface est une classe spéciale dont toutes les méthodes sont
abstraites.
Description : avec « interface » ou symbole o—

5. Package
Permet de regrouper des calasses, des interfaces et des packages.
Description :

Relation d’import : permet à une classe d’un package d’utiliser les


classes d’un autre package. Elle s’exprime avec une flèche pointillé
du source au cible.

6. Associations
Relation existant entre 1,2 ou + de classes.
Une association porte un nom (signification).
Description :
Rq :
- Une association fonctionne généralement dans les 2 sens
- Termes associés : Nom, sens de lecture, degré, multiplicité, rôle,
navigabilité, qualificateur.
Nom : décrit la signification de l’association
Sens de lecture : montre la direction de lecture.

Rôle d’une association :


Utile surtout dans deux cas :
o Lorsqu’on a plusieurs assoc entre 2 classes avec des rôles
diff

o Une relation réflexive : relation entre deux instances d’une


même classe

Classe association
Les classes association sont utiles quand il y a des attributs qui sont
pertinents à l’association, mais à aucune des classes :
Degré d’une association = nombre de classe participantes
- Unaire, binaire, ternaire, … n-aire

Multiplicité = nombre de participations d’une classe dans une


association

La classe Client peut instancier un seul Client dans une instance de la


classe compte, mais la classe compte peut instancier n’importe quel
nombre de compte dans une instance de la classe Client.
Notation des multiplicités :
1..1 Exactement 1
0..* 0 ou plusieurs
n..n Exactement n
0..1 0 ou 1

Navigabilité :
Une association est par défaut bidirectionnelle
Parfois il peut être utile de se limiter à une seule direction 

Qualification d’une association :


Permet de restreindre la multiplicité d’une association.
EX :
Modèle sans qualification :

Modèle avec qualification sur NCompte :

Ex d’avion :
Un avion est composé de plusieurs sièges, mais dans une rangée il y a
seulement quatre sièges.

7. Agrégation
Type particulier d’association dans laquelle on a classe agrégat
(composé), classe agrégée (composant) et entre les deux il existe une
relation de type « est composé de » :
La Composition :
- C’est un cas particulier d’une agrégation dans la laquelle la vie des
composants est liée à celle de l’agrégat (le père), si l’agrégat est
détruit ou déplacé, ses composant le sont aussi.
- Une instance de composant ne peut être liée qu’a un seul agrégat.
- Il est représenté par un losange noir.

8. Généralisation / Spécialisation et héritage


Généraliser = mettre en facteur des classes  « super-classe »
Spécialiser = décrire de nouveaux détails  « sous-classes »
C’est une association de type « est un »

L’héritage est l’implémentation de la Généralisation / Spécialisation.


Dans UML on peut hériter de plusieurs classes and idk why =D

9. Contraintes sur les associations


Permettent d’imposer des règles à respecter lors du passage à
l’implémentation.
Description : représentés entre accolades.
Les contraintes (prédéfinies) souvent utilisées :
- {ordonné}
Maintenir un ordre specifique lors toute création, modification, …
- {sous ensemble}
Indique qu’une collection est incluse dans une autre, inclusion
dans Merise
- {xor}
Indique que parmi un groupe d’associations, une seule est valide à
la fois, exclusion dans Merise

- {addOnly}
C’est clair xD, tu peux juste ajouter pas supprimer et pas modifier.

- {frozen}
Tu ne peux rien faire après la première initialisation
10. Diagramme d’objets
Représenté les objets (instance de classes) et les liens (instance de
relations) à un instant donné.
Utilisé pour illustrer le modèle de classes en montrant un exemple,
préciser certains aspects du système, exprimer une exception en
modélisant des cas particuliers.
Description :

Les Etapes pour établir un diagramme de classe :


1- identifier un premier ensemble de classe candidates
2- identifier les associations et les attributs
3- identifier les généralisations
4- Lister les traitements, choisir les opérations
5- Vérifier le modelé obtenu
a- Supprimer les transitivités
b- s’assurer que le schéma répond à la demande
6- itérer jusqu’à satisfaction
III. Diagramme de classe
But :
- Modéliser une tâche ou un processus
- Décrire une fonction d’un système
- Décrire la logique d’une opération
1) Activité et Action
- Action c’est l’exécution atomique d’instructions (EX : affectation,
accès à une valeur, …)
- Activité est l’exécution non atomique
- Activité est un comportement composé des actions
- Flot d’exécution est modélisé par des nœuds reliés par des arcs
(transitions)
- Le flot de contrôle reste dans l’activité jusqu’à ce que les
traitements soient terminé
2) Nœuds d’activité

Nœud de Nœud
d’init Nœud Nœud
Nœud de decision bifurcation
final final de flot

A. Noeud initial
Debut de l’activité, we can have many
B. Noeud final
Have 1 or + input and 0 output
Noeud fin activité : return
Noeud fin de flot : I think it’s break ? it stops
synchronous stuff
C. Noeud de décision et de fusion
Noeud de décision : if() { } else { }, 1 entrant , 2 ou +
sortant.
Noeud de fusion : filter(), representé comme if,
n input -> 1output

D. Noeud de bifurcation et d’union


Noeud de bifurcation : separe un flot en des flots
concurrents, (like creating threads), 1 in -> n out
Noeude d’union : synchronise les flots multiple
n in -> 1 out
E. Noeud d’objet
Un noeud d’objet permet de definir un flot d’objet (de
donnée) dans un diagramme d’activités, il repsente
l’existence d’un objet generé par une action dans une
activité et utilisé par autre actions

F. Pin d’entrée ou de sortie


Utilisé pour specifier les argument et les valeurs de
retour d’une activité
Le passage est par valeur

G. Flot d’objet
Permet de passer les données d’une activité à une autre,
un arc reliant un pin de sortie à un pin d’entrée est un
flot d’objet.

3. Alternative

4. Embranchment
Utilisation du noeud de biffurcation
5. Jonction
Utilisation du noeud de jointure (c’est pour la synchro)

6. Couloir
Couloir regroupe visuellement les activités qui ont de affinités
sémantiques
7. Flot d’objet

8. Exception
Il peut être generé automatiquement pour signaler une erreur
d’exécution ou soulevée explicitement par une action
(raiseException) pour signaler une situation problématique qui
n’est pas prise en charge par la séquence de traitement normale.

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy