• Aucun résultat trouvé

[PDF] UML guide de formation avec exemples | Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] UML guide de formation avec exemples | Cours informatique"

Copied!
76
0
0

Texte intégral

(1)

INTRODUCTION A UML

INTRODUCTION A UML

INTRODUCTION A UML

INTRODUCTION A UML

Moussa LO

UFR de Sciences Appl. & de Technologie UGB de Saint-Louis

(2)

Bibliographie

Intégrez UML dans vos projets, N. Lopez, J. Migueis, E.

Pichon, Eyrolles, 1998.

Modélisation objet avec UML, P. Muller, Eyrolles, 1998.

UML 2 en action, P. Roques, F. Vallée, Eyrolles, 2004

UML 2, Initiation, exemples et exercices corrigés, L.

Debrauwer, F. V. der Heyde, ENI, 2005.

UML 2, Entraînez-vous à la modélisation, L. Debrauwer, N.

(3)

Webographie

UML @ site de l’OMG, http://www.uml.org/.

UML en français, http://uml.free.fr/.

UML @ developpez.com, http://uml.developpez.com/

UML @.wikipedia, http://fr.wikipedia.org/wiki/Unified_Modeling_Language

Support de cours UML de F. Julliard, Université de Bretagne

Sud, 2002.

(4)

UML (Unified Modeling Language

)

Résultat de la fusion de plusieurs modèles de conception objet comme :

 OMT (J. Rimbaugh),

 BOOCH (G. Booch),

 BOOCH (G. Booch),

 OOSE (I. Jacobson), etc.

Adopté et normalisé par l’OMG (Object Management

Group) en 1997.

Représentation standardisée d’un système orienté

(5)

UML (Unified Modeling Language

)

UML ≠≠≠≠ Méthode de conception

UML = notation graphique normalisée de présentation de certains concepts pour modéliser des systèmes objets. de certains concepts pour modéliser des systèmes objets.

Peut être utilisée avec tout processus de développement objet.

(6)

UML (Unified Modeling Language

)

La version actuelle de UML (2) s’articule autour de 13 diagrammes.

 4 ont été introduits dans UML 2, Juillet 2005

.

Chaque diagramme fournit une représentation du

(7)

UML (Unified Modeling Language

)

UML modélise le système suivant 2 modes de représentation (nécessaires et complémentaires):

 Mode statique (ou structurel) : concerne la structure

du système pris au repos.

 Mode dynamique (ou comportemental) : concerne la

dynamique de fonctionnement du système.

 UML schématise la manière dont le système est composé et comment ses composantes sont liées.

(8)

Les 7 diagrammes UML de structure



Use cases : description des fonctionnalités du point de vue user

 Classes : structuration des entités manipulées par les

utilisateurs (classes, interfaces)

 Packages : hiérarchie des modules du système (UML 2)

 Objets : illustration des structures de classe complexes en

montrant des exemples d’instances et leurs relations montrant des exemples d’instances et leurs relations

 Structure composite : description de la composition d’un objet complexe lors de son exécution (UML 2)

 Composants : architecture des composants physiques du

système

 Déploiement : description de l’installation des composants du

(9)

Les 6 diagrammes UML de comportement



Etats : représentation du cycle de vie commun aux objets d’une

même classe.

 Activités : règles d’enchaînement des activités du système.

 Séquences : description d’échanges de messages entre objets

dans le cadre d’un fonctionnement particulier du système; dans le cadre d’un fonctionnement particulier du système; représentation des scénarios d’utilisation du système.

 Communication (ou collaboration) : représentation simplifiée

du diagramme de séquence.

 Global d’interactions : association entre diagrammes de séquence et d’activités (UML 2).

(10)

Quelques outils UML



Rational Rose, http://www-306.ibm.com/software/rational/



WinDesign, http://www.win-design.com/



Objecteering/UML, http://www.objecteering.com/



Poseidon



Poseidon, http://www.gentleware.com/



ArgoUML, http://argouml.tigris.org/



EclipseUML, http://www.eclipsedownload.com/

(11)

Les cas d’utilisation d’UML

analyse

spécifications Use cases

(12)

Use cases d’UML

Modélisation de processus métiers en les découpant

en cas d’utilisation.

• Représentation des fonctionnalités du système.

• Composé :

 d’acteurs :

 utilisateurs du système à représenter

 rôle joué par une personne ou une chose extérieure qui

interagit avec le système

 de cas d’utilisation :

 fonctionnalités proposées par le système

(13)
(14)

Les acteurs

Représentent la frontière entre :

 les éléments constitutifs de l’application

 les éléments extérieurs à l’application

Un acteur est un élément extérieur au système qui

interagit avec ce dernier.

L’identification des acteurs permet d’avoir une vue orientée utilisateur du système.

Acteurs primaires : utilisateurs du système

Acteurs secondaires : administrateurs du système

(15)

Représentation UML des acteurs / système

Exemple d’une application bancaire

?

Guichetier (enregistre les opérations

courantes) Responsable des

devises (fournit les infos sur le

?

Directeur (fait le bilan journalier) infos sur le cours des devises)

(16)

Les acteurs

Humains :

 Utilisateurs du logiciel (via l’interface graphique)

Logiciels :

 Autres logiciels qui interagissent avec le logiciel

Matériels :

 Matériels qui exploitent les données du logiciel ou qui sont pilotés par le logiciel



Ne pas confondre acteur et personne utilisant le système :  Une même personne peut jouer plusieurs rôles

(17)

Définition d’un acteur

Pour chaque acteur :

 choisir un identificateur représentatif du rôle

(18)

Les use cases (cas d’utilisation)

Quelles sont les vues que les acteurs identifiés ont du système ?



Identifier les fonctionnalités du système

Use case :

Use case :

 représente une fonctionnalité déclenchée suite à une action initiée par un acteur.

 correspond à une manière spécifique d’utiliser le système.  suite d’interactions entre un acteur et le système

(19)
(20)

Représentation textuelle d’un use case

Pour documenter les CA, la description textuelle est

indespensable afin de communiquer facilement avec les utilisateurs.

Rubriques habituelles obligatoires :

 Nom : verbe à l’infinitif décrivant une intercation

entre un acteur et le système.

 Résumé : brève description du CA.

 Acteurs : liste des acteurs interagissant avec le CA.  Description : texte explicatant le CA.

(21)

Représentation textuelle d’un use case

Rubriques habituelles optionnelles :

 Pré-conditions : conditions nécessaires pour

déclencher le CA.

 Post-conditions : conditions remplies après

l’exécution du CA (état du système après réalisation du CA).

 Exceptions : décrit les éventuelles exceptions levées.

(Un CA décrit le comprtement du système lorsqu’il n’y a pas d’exception.)

(22)

Représentation textuelle d’un use case



Use case “ Retrait en espèces “

Nom : Retrait en espècesActeurs : Guichetier

Description :Description :

 Le guichetier saisit le numéro de compte du client.

 L’application vérifie la validité du numéro de compte et demande le type d’opération au guichetier.

 Le guichetier sélectionne un retrait d’espèces d’un certain montant.

 L’application vérifie que le montant est disponible dans le compte. Si oui, elle débite le compte et informe le guichetier qu’il peut donner la somme au client.

(23)
(24)
(25)

Relations entre use cases

 2 types de relations :

Extension (extends)

(26)

La Relation extends

Tous les use cases fils

sont des cas particuliers du use case père

(27)

La Relation uses

Permet de décomposer un use case complexe

(28)
(29)

Les use cases (cas d’utilisation)

 L’ensemble des cas d’utilisation d’un système

contient:

 les exigences fonctionnelles attendues ou existantes

 les acteurs

 les relations qui unissent acteurs et fonctionnalités.

 les relations qui unissent acteurs et fonctionnalités.

 Les cas d’utilisation servent de support pour les étapes de modélisation, de développement et validation.

 Référentiel du dialogue entre les informaticiens et les clients.

(30)

Exemple :

distributeur automatique

On considère un distributeur automatique de produits courants (bonbons, boissons, etc.).

Une fois qu’il a choisi les produits qu’il désire acheter, le client doit ensuite payer ses achats, soit en espèces, client doit ensuite payer ses achats, soit en espèces, soit par carte bancaire.

Lors de l’achat d’un produit alimentaire, le client verifier la date limite de consommation du produit.

(31)
(32)

Les scénarios

Les scénarios

(33)

Scénarios

“Série d’évènements ordonnés dans le temps simulant

une éxécution particulière du système”, Lopez, Migueis, Pichon.

“Ensemble ordonné de messages échangés par des

objets (instance de classe ou d’acteur)”, Roques, Vallée.

objets (instance de classe ou d’acteur)”, Roques, Vallée.

Instance de cas d’utilisation.

Permettent d’expérimenter les exécutions du système

(34)

Scénarios

 Pour chaque cas d ’utilisation, il existe un ou plusieurs

scénarios dont la description permet d’expliciter le comportement du système pour une situation donnée.

(35)

Représentation d’un scénario

Un scénario peut être représenté par un diagramme de séquence.

Exemple de diagramme de séquence

(36)

Représentation d’un scénario

Un scénario peut être aussi représenté par un diagramme de communication (diagramme de collaboration dans UML 1).

Exemple de diagramme de communication

Le diagramme de communication se focalise sur la représentation spatiale.

(37)
(38)

Diagramme de séquence

Décrit la dynamique d’une sous-fonction du système.

La dynamique globale d’un système nécessite

plusieurs diagrammes de séquences.

Modélise les messages échangés entre objets en

mettant l’accent sur la chronologie des messages.

Décrit les interactions entre un groupe d’objets en

montrant, de façon séquentielle, les envois de message qui interviennent entre les objets.

(39)

Diagramme de séquence : messages

Pour interagir entre eux, les objets s’envoient des messages.

 Lors de la réception d’un message, un objet devient actif et exécute la méthode appropriée.

 Envoi de message = appel de méthode

Message : spécification d’une communication unidirectionnelle entre objets qui transporte de

(40)

Diagramme de séquence : ligne de vie

• Le diagramme de séquence fait entrer en action les

instances des classes intervenant dans la réalisation de la sous-fonction qui lui est liée.

• A chaque instance est associée une ligne de vie qui montre ses actions et réactions, ainsi que les périodes durant lesquelles elle est active.

(41)

Diagramme de séquence : ligne de vie

nom objet : Classe

nom de l’objet et de sa classe

Le nom de l’objet est optionnel

période d’activité de l’objet

(42)

Diagramme de séquence : messages

Les envois de message sont représentés par des

flèches horizontales reliant la ligne de vie de l’objet émetteur à celle de l’objet destinataire.

objet_1 : Classe objet_2 : Classe

objet_1 : Classe objet_2 : Classe

(43)

Diagramme de séquence : messages

La transmission d’informations est possible.

objet_1 : Classe objet_2 : Classe

objet_1 : Classe objet_2 : Classe

(44)

Diagramme de séquence : messages

3 catégories de messages :

Synchrone (appel) : invocation d’une opération;

l’émetteur donne la main au récepteur et est bloqué jusqu’au traitement effectif du message.

Asynchrone (signal) : communication explicite entre 2 objets; l’émetteur n’est pas bloqué et peut poursuivre son exécution. (cas des systèmes multi-thread).

(45)

Diagramme de séquence : messages

Auto-envoi de message :

Un objet peut s’envoyer un message.

objet : Classe

(46)

Diagramme de séquence : messages

Creation et destruction d’un objet :

Création d’objet : message spécifique qui donne lieu au début de la ligne de vie du nouvel objet.

Destruction d’objet : message envoyé à un objet existant et qui donne lieu à la fin de sa ligne de vie. Représenté par une croix.

(47)

Diagramme de séquence : messages

Creation et destruction d’un objet :

objet_1 : Classe

objet_2 : Classe

objet_2 : Classe

(48)
(49)
(50)

Diagramme de classes

• Permet de définir l’ensemble des classes et leurs

relations.

• Une classe est représentée par un rectangle séparé en 3

parties : parties :

 La 1ière partie contient le nom de la classe  La 2e partie contient les attributs de la classe  La 3e partie contient les méthodes de la classe

• Pour des raisons de lisibilité, on peut masquer ou non

(51)

Diagramme de classes :

représentation d’une classe

public class Etudiant {

public String nom; public String prenom;

private String numero_ins; public Etudiant(String nom) {

this.nom = nom; }

public String getNumIns() { return this. numero_ins; } public void setNumIns(String numero_ins) {

if (numero_ins==null || numero_ins.length!=11) return; this.numero_ins = numero_ins;

}

(52)

Diagramme de classes :

représentation d’une classe

Nom Classe

attribut1 : type

attribut2 : type = valeur

methode1(args) methode1(args) methode2():type

(53)

Diagramme de classes : visibilité

(+) public : accessible par toutes les classes.

(-) private : accessible que par les seules méthodes de sa classe.

(#) protected : accessible par les classes du même

(54)

Diagramme de classes : association

• Une association représente une relation structurelle entre classes d’objets.

• On représente une association en traçant une ligne entre les classes associées.

(55)

Diagramme de classes : association

Association ternaire :

Classe1 Classe2

(56)

Diagramme de classes : association

Types de multiplicité des associations

1 : un et un seul 0 .. 1 : zéro ou un m .. n : de m à n * : de zéro à plusieurs 0 .. * : de zéro à plusieurs 1 .. * : de un à plusieurs N : exactement N

(57)

Diagramme de classes : association

Classe Association :

Classe1 Classe2

(58)

Diagramme de classes :

composition/agregation

Composition :

 Les composants font partie de l’objet composé.

 Chaque composant ne peut être partagé entre

plusieurs objets composés. plusieurs objets composés.

Agregation :

 Composition faible.

 Les composants peuvent être partagés par plusieurs

(59)

Diagramme de classes :

composition/agregation

(60)
(61)
(62)

Les diagrammes d’objets et

de structure composite

• Complètent le diagramme de classe.

• Les diagrammes d’objets servent à illustrer des

structures de classes compliquées en montrant des structures de classes compliquées en montrant des exemples d’instance.

• Les diagrammes de structure composite permettent

de décrire la composition d’un objet complexe lors de l’exécution.

(63)

Diagramme de packages

• Un package est un ensemble de classes et d'autres

packages regroupés sous un nom.

• C'est l'adaptation du concept de librairie ou de

bibliothèque. bibliothèque.

• Servent à structurer l’ensemble des classes et

interfaces.

• Permet de structurer un système en plusieurs parties, chacune représentée par un package .

(64)
(65)
(66)

Le diagramme d’états

Représente le cycle de vie commun aux objets d’1 même classe.

Exple : Situation

professionnelle d’une personne

(67)

Le diagramme d’états : état

• Moment du cycle de vie d’un objet.

Dans un état, un objet peut être Actif ou Inactif :

Inactif : attend un signal provenant d’autres objets

Inactif : attend un signal provenant d’autres objets

Actif : réalise une activité (exécution d’une série de

méthodes liée à un objectif)

Le changement d’état est déclenché par un

(68)

Le diagramme d’états : transition

• Lien orienté entre 2 états qui exprime le fait que

l’objet a la possibilité de passer d’un état d’origine à un état de destination.

(69)

Le diagramme d’états : exemple

(70)

Le diagramme d’activités

Permet de représenter graphiquement le comportement

d’une méthode ou le déroulement d’un cas d’utilisation.

Il est composé :

Il est composé :

• d’un noeud initial

• d’activités liées entre elles par des évènements

(71)

Le diagramme d’activités

• Forme spécifique du diagramme d’états-transitions

dans lequel :

 chaque état est associé à une activité

 toutes les transitions sont automatiques (enchaînements)

Activité : série d’actions.

Action :

 Affecter une valeur à un attribut,  Créer ou détruire un objet,

(72)

Le diagramme d’activités : exemple

(73)

Le diagramme de composants

• Décrit les composants et leurs dépendances dans

l’environnement de réalisation.

• Vue statique de l’implémentation des systèmes qui

montrent les choix de réalisation. montrent les choix de réalisation.

• En général, il n’est utilisé que pour des systèmes

(74)

Diagramme de composants

Modélisation de l’architecture logicielle et sa structuration en composants.

(75)

Les diagramme de déploiement

• Montre la disposition physique des différents matériels

– les noeuds – qui entrent dans la composition d’un système et la répartition des instances de composants, processus et objets qui « fonctionnent » sur ces matériels.

matériels.

• Modélisation de l’architecture matérielle. • Très utile pour des systèmes distribués.

(76)

Figure

Diagramme de séquence : ligne de vie
Diagramme de séquence : messages
Diagramme de séquence : messages
Diagramme de séquence : messages
+7

Références

Documents relatifs

Ainsi, par exemple, le lieu des points d'où l'on voit deux segments situés d'une manière quelconque sur le plan, sous des angles dont les cotangentes sont liées par une équation

En cycle 4, les élèves complètent leurs connaissances sur le monde microbien, notamment sur l’existence d’un microbiote humain et le rôle de celui-ci dans notre santé,

Ici recherche pour le mot « téléphone » sur SFR : (1) Les résultats sont affichés sur une page du site SFR (2).. La mise en page des résultats est la même que sur Google avec

fiche 010 Prénom, Nom : maths : connaissance des nombres entiers CM2. Sur ton cahier, reproduis le tableau de

deux cent trente-quatre mille huit cent vingt-sept six millions trois cent quarante-deux mille quatre-vingt-trois mille quatre-vingt-dix-neuf sept cent

[r]

Lorsque le nombre de recrutements ouvrant droit à une nomination au titre de la promotion interne n’a pas été atteint pendant une période d’au moins 4 ans,

Les bouteilles déposées automatiquement sur le tapis (ne pas en tenir compte) sont détectées par un capteur P ; l’action sur un bouton départ cycle Dcy entraîne le fonctionnement