Vous êtes sur la page 1sur 3

Cas Ascenseur – UML Diagramme de cas d!

utilisation
Bernard ESPINASSE
2003 Permet :
• une description générale de comment le système sera utilisé
L!objet est de développer un système de contrôle de plusieurs ascenseurs devant servir • une présentation générale des fonctionnalités attendues du système
dans un immeuble à nombreux étages. Le problème qui nous intéresse ici est la logique • est compréhensible aussi bien par les utilisateurs que les professionnels
requise pour bouger les ascenseurs entre les étages avec les contraintes suivantes :

• Chaque ascenseur possède un ensemble de boutons, un pour chaque étage. Ils


s!illuminent quand ils sont pressés et conduisent à amener l!ascenseur à l!étage
correspondant. L!illumination est annulée quand l!ascenseur est à l!étage
correspondant ;
• Chaque étage, excepté le premier et le dernier, ont 2 boutons, un pour demander un
ascenseur en montée et un autre pour demander un ascenseur en descente. Ces
boutons s!illuminent quand ils sont pressés. L!illumination est annulée quand
l!ascenseur arrive à l!étage et quand il évolue dans le sens demandé.
• Lorsqu!un ascenseur n!a pas de demande, il reste à l!étage où il est avec ses portes
fermées.

Les spécifications de notre système seront faites en UML (Unified Modeling Language).

Cas Ascenseur – UML – Bernard ESPINASSE 1 Cas Ascenseur – UML – Bernard ESPINASSE 2

Scénarios de base Diagramme de classes


Les scénarios de base peuvant être extraits du cas d!utilisation sont les suivants : Le premier diagramme de classes développé :

• Le passager presse le bouton d!étage ;


• Le système détecte le bouton d!étage pressé ; n 1 1 n
• L!ascenseur bouge à l!étage demandé ;
• Les portes de l!ascenseur s!ouvrent ;
• Le passager rentre dans l!ascenseur et presse le bouton de l!ascenseur précisant
l!étage demandé ;
m
• Les portes de l!ascenseur se ferment ;
• L!ascenseur va à l!étage demandé ;
• Les portes de l!ascenseur s!ouvrent ;
• Le passager sort de l!ascenseur ;
• Les portes de l!ascenseur se ferment.

Cas Ascenseur – UML – Bernard ESPINASSE 3 Cas Ascenseur – UML – Bernard ESPINASSE 4
Diagramme de séquence Diagramme de collaboration
• le diagramme de séquence montre les séquences explicites de messages souhaitables Décrit l!ensemble des interactions entre les classes et montre les relations entre les objets
pour modéliser un système temps réel, alors que le diagramme de collaboration montre
les relations entre objets.

Diagramme de collaboration pour le bouton de la cabine

Diagramme de séquence pour le bouton de la cabine

Cas Ascenseur – UML – Bernard ESPINASSE 5 Cas Ascenseur – UML – Bernard ESPINASSE 6

Diagramme de séquence Diagramme de collaboration

Diagramme de collaboration pour le bouton de l!étage

Diagramme de séquence pour le bouton de l!étage

Cas Ascenseur – UML – Bernard ESPINASSE 7 Cas Ascenseur – UML – Bernard ESPINASSE 8
Diagramme de classes détaillé Génération de code
Description détaillée d!opération Speudo-code généré

void elevator_control (void)


Module Name Elevator_Control::Elevator_control_loop {
Module Type Method while a button has been pressed
Input Argument None if button not on
Output Argument None {
Error Message None button::illuminate;
File Access None update request list;
File Change None }
Method Invoke button::illuminate, else if elevator is moving up
button::cancel_illumination, door::open, {
door::close, elevator::move, elevator::stop if there is no request to stop at floor f
Narative Elevator::move one floor up;
else
<Some more code>
}

Cas Ascenseur – UML – Bernard ESPINASSE 9 Cas Ascenseur – UML – Bernard ESPINASSE 10

Vous aimerez peut-être aussi