Suivre les cours…​

Au programme aujourd’hui

Plan

  • Retour sur les diagrammes de séquences

  • Diagrame des Cas d’Utilisation

  • Modèle / Vue / Contrôleur

Le Diagramme de Séquence

Conception 'centralisée' Conception 'objet'

Généralités

  • Modélise les interactions entre objets

  • Séquencement dans le temps

  • Échange de messages

  • Spécifie les scénarios des cas d’études

  • Éléments :

    • participants

    • lignes de vie

    • barres d’activation

    • messages

    • blocs (loop, alt, opt, …​)

Généralités

Diagramme de séquence Eléments de notation

Les lignes de vie représentent des objets et non des classes

Exemple

Exemple de diagramme de séquence

Notions avancées

  • Instructions itératives et conditionnelles

  • Mieux vaut utiliser un diagramme d’activité

  • Cadres d’interaction

    • loop (boucle)

    • alt (alternative)

    • opt (optionel)

    • par (parallèle)

    • region (région critique - un seul thread à la fois)

Exemple

Un algorithme Sa modélisation

Exemple de conceptions

Conception 'centralisée'

Exemple de conceptions (suite)

Conception 'objet'

Diagramme de séquence système (DSS)

Bien que non présent dans UML, il est courant de trouver un diagramme de séquence particulier, le diagramme de séquence système ou DSS, où on ne représente qu’un seul objet : le système en cours de développement lui-même.

Exemple de DSS

Diagramme des Cas d’Utilisation

Exemple de Diagramme d’UC

Diagramme des Cas d’Utilisation

Le Diagramme des Cas d’Utilisation est un modèle UML permettant de représenter :

  • les UC (Use Case ou Cas d’Utilisation)

  • les acteurs (principaux et secondaires)

  • les relations entre acteurs et UC

On notera simplement UC pour signifier "diagramme des UC"

Définition et concepts

  • Cas d’utilisation (UC)

  • Acteur

  • Relations entre UC

Cas d’Utilisation

Un cas d’utilisation (Use Case ou UC en abrégé) représente un ensemble de scénarios que le système doit exécuter pour produire un résultat observable par un acteur.

Exemple d’UC

Retrait par carte bancaire

Scénario principal

L’UC démarre lorsque le Guichet Automatique Bancaire (GAB) demande au client son numéro confidentiel après l’introduction de sa CB. Le client entre son code et valide son entrée. Le GAB contrôle la validité du code. Si le code est valide, le GAB autorise le retrait et l’UC se termine.

*Scénario alternatif n°1 *

Le client peut à tout instant annuler l’opération. La carte est éjectée et l’UC se termine.

Exemple de codification de l’UC

UC01 ou RetraitCB (pour Retrait par carte bleue)

Précisions

Un cas d’utilisation peut être précisé par :

  • une description textuelle

  • un ou des diagrammes UML (séquence, activité)

Dans les outils, cette "précision" se manifeste par le fait que l’on "attache" généralement un diagramme de séquence à un cas d’utilisation (clic droit sur un UC → nouveau seq).

Acteur

Un acteur peut être une personne, un ensemble de personnes, un logiciel, un processus qui interagit avec un ou plusieurs UC.

On peut trouver plusieurs types d’acteurs :

  • extérieurs au système (cf. actor Diagramme d’UC ci-après)

    • les acteurs principaux (= acteurs internes du MOT de Merise)

    • les acteurs secondaires (= acteurs externes du MOT de Merise)

    • les administrateurs (ils gèrent le système : données, sécurité, droits d’accès, utilisateurs…​)

  • types d’acteurs prédéfinis dans UML :

    • <<metaclass>>

    • <<utility>>

    • <<process>>

    • <<thread>>

    • <<powertype>>

Relations entre UC

Extension (<<extend>>)

Indique que l’UC source est éventuellement exécutée en complément de l’UC destination (cas particulier, erreur…​)

Inclusion (<<include>>)

Indique qu’un UC est inclus obligatoirement dans un autre UC (notion de sous-programme par exemple)

Généralisation

Relation entre un UC général et un autre plus spécialisé qui hérite de ses caractéristiques et en rajoute

!

Notation dans le diagramme d’UC

Diagramme d’UC

On n’utilise généralement include que dans le cas où le sous-cas d’utilisation est inclut dans plusieurs UC. Si ce n’est pas le cas, il est généralement englobé dans l’UC.

Pour construire un UC (de manière générale)

  1. identifier les acteurs

  2. identifier les cas d’utilisation

  3. structurer en packages

  4. ajouter les relations

  5. finaliser les diagrammes de cas d’utilisation

La suite logique est de décrire chaque UC par un diagramme de séquence système (cf. section suivante).

Exemples complets

Service comptable

Exemple de diagramme d’UC

Exemple de Diagramme d’UC

Gestion des notes

Autre exemple de diagramme d’UC

Exemple de Diagramme d’UC

Lien entre UC, DSS et DS

La décomposition hiérarchique permet de réaliser une description "TOP-DOWN" du système à réaliser.

On fait un Diagramme de Séquence Système pour chaque UC (issu du Diagramme d’UC) pour déterminer les échanges d’informations entre l’acteur et le système.

Ensuite on fait un Diagramme de Séquence (DS) pour décrire comment les objets composants le système (issus du Diagramme de Classes) collaborent pour réaliser le traitement demandé.

Exemple

Diagramme d’UC

Exemple

Le DSS correspondant

Exemple

Le DS correspondant

Modèle / Vue / Contrôleur

Cas classique d’organisation des classes

mvc exp1 ds

Caractéristique

mvc exp1 ds mvc

MVC : un patron d’architecture

mvc

MVC (exemple)

mvc exp1 uc

MVC (DSS pour l’UC 1)

mvc exp1 dss

MVC (architecure du code)

mvc exp1 ds

MVC (mise en oeuvre)

mvc exp1 ds mvc

MVC (diag. des classes participantes)

mvc dcp

MVC (Model)

mvc exp1 cd
mvc exp1 ds mvc

MVC (View)

mvc exp1 vue
mvc exp1 ds mvc

MVC (Controler)

mvc exp1 cc
mvc exp1 ds mvc

MVC (suite)

mvc zoo

Ready for a quizz?

tuxteacher

Ready for a quizz?

Warning
QUESTION
  • Connectez-vous sur : http://www.socrative.com/ (student login)

  • Ou téléchargez l’application pour étudiant socrative2

  • Choisissez la room 44918d67

socrative1