Cours informatique UML, tutoriel & guide de travaux pratiques introduction à UML en pdf.
Diagramme de cas d’utilisation
Description des interactions type entre un utilisateur et le système informatique
Définition des cas d’utilisation à partir de discussions avec l’utilisateur sur ses attendus du système
Enumération des principaux scénarios prévus
Exemple : écriture d’un texte avec un traitement de texte
2 cas d’utilisation : mettre du texte en gras, créer un index
Propriétés des cas d’utilisation
Déterminer les fonctions visibles pour un utilisateur
Prendre en compte les objectifs des utilisateurs
De taille quelconque
Deux grandes approches
Objectif de l’utilisateur
Interaction du système
Exemple : utilisation d’une feuille de style dans un traitement de texte
Interaction du système : définir un style, changer de style, déplacer un style d’un document vers un autre
Objectif de l’utilisateur : assurer un formatage cohérent, faire un format de document identique à un autre
Les interactions du système reflètent ce que l’utilisateur peut faire plus que le but réel de l’application
Description d’un cas d’utilisation : de manière informelle, généralement en langage naturel
Diagramme de classes
Définition des éléments formant une application et de leurs relations
Structuration statique de l’application
Définition des classes existantes
Définition de la structure interne des classes (attributs, opérations)
Définition des relations entre les classes
2 principaux types de relations entre classes
Association
Un client peut louer un certain nombre de vidéos
Sous-typage/généralisation
Un étudiant est une personne
Important : documenter les diagrammes de classes
Exemple de 3 usages possibles d’un diagramme de classes
Diagramme conceptuel
Concepts métier du domaine étudié à un niveau abstrait
Sans lien avec l’implémentation
Diagramme de spécification
Première approche du logiciel par la définition de ses interfaces
Interface = type de l’objet, classe = implémentation de l’objet
Un type (ou interface) peut avoir plusieurs réalisations (liées à l’environnement, choix de conception/implémentation…)
Diagramme d’implémentation
Vision « bas-niveau » de l’implémentation du logiciel
Concepts proches entre diag. classe et langages objet
Classe, interface, méthode, attributs, spécialisation …
Manque le concept d’association (pouvant se traduire par des attributs)
Mais encore une fois, peut utiliser des diagrammes de classe pour modéliser autre chose que du code objet
Attributs
Élément caractérisant une partie de l’état d’un objet
Syntaxe UML pour la définition d’un attribut : visibilité nom [multiplicité] : type = init {propriétés}
visibilité : + (public), # (protégé) ou – (privé)
nom : nom de l’attribut
multiplicité : nombre d’attributs de ce type (tableau : [1..5])
type : type de l’attribut
init : valeur initiale de l’attribut
propriétés : propriétés, contraintes associées à l’attribut
Opérations
Processus/fonction qu’une classe sait exécuter
Appelées également méthodes dans les langages objets
Syntaxe UML pour la définition d’une opération : visibilité nom(paramètres) : typeRetourné {propriétés}
visibilité : + (public), # (protégé) ou – (privé)
nom : nom de l’opération
paramètres : liste des paramètres de l’opération
typeRetourné : type de la valeur retournée par l’opération (si elle retourne une valeur)
propriétés : propriétés, contraintes associées à l’opération
Enumeration
Liste de valeurs manipulées comme un type
Classe d’association
A chaque couple des éléments de l’association, une instance d’une autre classe est associée
Ici, à chaque employé d’une entreprise sont associées les informations sur son poste
Contraintes sur les associations (en plus des cardinalités)
Relation d’exclusion entre deux associations : soit l’une soit l’autre mais pas les deux à la fois
Eléments dérivés
Principalement pour attributs et associations
Se déduisent d’autres parties du diagramme
Nom de l’élément commence par /
Exemples
L’ensemble des banques dont on est client se déduit de ses comptes banquaires
L’argent géré par une banque est la somme des soldes de ses comptes
Ces éléments dérivés peuvent formellement être définis en OCL
Contraintes
Associations, attributs et généralisations spécifient des contraintes importantes (relations, cardinalités), mais ils ne permettent pas de définir toutes les contraintes
UML permet d’ajouter des contraintes sur des éléments (classe, attribut, association, …)
Soit des prédéfinies
Exemple : {ordered} et {xor} pour les associations
Soit des spécifiques définies par le concepteur
Pas de syntaxe précise préconisée, uniquement l’utilisation de { … }
En pratique, pour être précis, on exprimera ces contraintes en OCL
Exemple de contrainte explicite : on indique qu’un client individuel n’a pas de droit de crédit
Objet = instance d’une classe
Diagramme d’objets : ensemble d’objets respectant les contraintes du diagramme de classe
Respect des cardinalités
Chaque attribut d’une classe a une valeur affectée dans chaque instance de cette classe
Diagramme de classes = définition d’un cas général
Diagramme d’objets = définition d’un cas particulier de ce cas général
Composant
Elément spécifiant ses interactions avec l’extérieur via la définition de ses interfaces fournies et requises
On connecte une interface requise d’un composant à l’interface fournie compatible d’un autre composant : assemblage
Composant composite
Composant peut être formé de composants internes assemblés par leurs interfaces
Composition hiérarchique de composants
Port
Point d’interaction du composant
Associé à une interface d’opérations (en mode requis ou fourni)
Connecteur
De délégation : lie un port du composite à un port d’un de ses éléments
D’assemblage : lie une interface d’un élément interne avec celle d’un autre élément interne
Ensemble de composants connectés entre eux par assemblage ou composition
Diagramme de structure composite
Diagramme conceptuellement assez proche d’un diagramme de composants
Définit l’architecture interne d’une classe
Les éléments qui la forment (les parts)
Les interactions entre ces éléments (d’une manière proche des diagrammes de collaboration)
PLAN
Diagrammes fonctionnels
Diagrammes statiques
Diagrammes dynamiques
D’états
De séquence
D’activité
De communication
Vue générale d’interaction
De temps
Diagramme d’implémentation