Diagrammes UML

Diagrammes de classes 

(exercice extrait de [Roques, 2004], livre d'exercices reprenant des exercices de Valtech Training)

Cette étude concerne un système simplifié de réservation de vols pour une agence de voyages.

Les interviews des experts métier ont permis de résumer les connaissances du domaine sous la forme des phrases suivantes :

    1. Des compagnies aériennes proposent différents vols.
    2. Un vol est ouvert à la réservation et refermé sur ordre de la compagnie.
    3. Un client peut réserver un ou plusieurs vols.
    4. Une réservation concerne un seul vol et un seul passager.
    5. Une réservation peut être annulée ou confirmée.
    6. Un vol a un aéroport de départ et un aéroport d'arrivée.
    7. Un vol a un jour et une heure de départ, et un jour et une heure d'arrivée.
    8. Un vol peut comporter des escales dans des aéroports.
    9. Une escale a une heure d'arrivée et une heure de départ.
    10. Chaque aéroport dessert une ou plusieurs villes.

Modèle du domaine 

Construisez un modèle de classes du domaine en analysant les phrases précédentes. 

Structuration en package

Structurez le modèle de classes en packages en respectant les principes de cohérence et d'indépendance des packages.

Autre modèle du domaine

Imaginez un modèle de domaine adapté à la réservation de voyages en bus.

Factorisation et abstraction

Proposez une architecture de package qui permette de mettre en commun les similitudes entre modèles du domaine.

Lien diagramme de classes / code 

Soient deux classes en relation d'association : 

Pour chacun des cas, réflechissez à la manière de coder les classes en JAVA, notamment en termes d'attribution de responsabilité pour la création, les modifications. Vous pourrez vous aider de quelques diagrammes de séquences pour expliquer les choses.

Cas d'utilisation 

On se donne pour objectif de définir les acteurs et les cas d'utilisation d'un système d'information pour l'UFR d'informatique, permettant de faciliter le fonctionnement de l'organisation pour le personnel et les étudiants. Evidemment, ce qui fonctionne bien doit être intégré au système comme acteurs extérieurs : authentification, serveurs d'impression, etc.

Décrivez les acteurs en quelques lignes, les cas d'utilisation  (niveau système et objectifs utilisateur, niveau organisation si nécesssaire pour expliquer, en style abrégé : quelques lignes), et leurs relations éventuelles. Vous décrirez quelques cas d'utilisation au niveau détaillé, avec scénario nominal, extension, erreurs. 

Diagrammes d'activité 

Créez un diagramme d'activité modélisant l'utilisation d'un cafetière électrique, de la recherche des ingrédients jusqu'à la dégustation.

Diagrammes d'interactions (séquence / communication) 

On considère un monte-charge servant à transporter des pièces de gros volume entre deux niveau N0 et N1. Le fonctionnement est le suivant : 

    1. Appel du monte-charge : un bouton extérieur est disponible à chaque niveau pour appeler la cabine si celle-ci n'est pas disponible.
    2. Fonctionnement de la porte 
      1. La porte possède un détecteur optique d'obstacle utilisé au cours de la fermeture. En présence d'un obstacle, la porte se réouvre immédiatement.
      2. Lorsque la cabine arrive à un niveau, la porte s'ouvre, puis reste ouverte. 
    3. Fonctionnement de la cabine
      1. L'utilisateur qui désire se déplacer avec la cabine doit d'abord appuyer sur un bouton de fermeture de la porte, puis appuyer sur un autre bouton, soit montée, soit descente (il peut aussi réouvrir la porte grâce au bout ad hoc).
      2. Un voyant lumineux indique si l'on est en montée ou en descente.
    4. Sécurité
      1. Un bouton stop permet d'arrêter la cabine au cours de son mouvement en cas d'urgence (on pourra la redémarrer en appuyant sur un bouton de montée ou de descente)
      2. En cours de mouvement seul le bouton stop fonctionne. Un capteur de mouvement détecte le mouvement de la cabine.

Q1 : Etablissez le diagramme de cas d'utilisation du monte-charge.

Q2 : Etablissez un modèle du domaine du monte-charge.

Q3 : Etablissez plusieurs diagrammes de séquences mettant en jeu des objets issus du modèle du domaine (et de nouveaux si besoin). On fera suffisamment de diagrammes pour couvrir les différents scénarios possibles.

Diagrammes de machines d'états 

Q4 : Etablissez un diagramme de machine d'état pour la cabine, pour la porte.

Etude vélocypédique lyonnaise

Donner le diagramme des CU d'un borne Velo'v.

Créez un diagramme d'activité montrant l'utilisation d'un Velo'v lyonnais.

Créez un diagramme de machines d'états pour un Velo'v, pour le compte d'un utilisateur de Velo'v.