CasAscenseur UML 4p [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Diagramme de cas d!utilisation

Cas Ascenseur – UML Bernard ESPINASSE 2003 L!objet est de développer un système de contrôle de plusieurs ascenseurs devant servir dans un immeuble à nombreux étages. Le problème qui nous intéresse ici est la logique requise pour bouger les ascenseurs entre les étages avec les contraintes suivantes :

Permet : • une description générale de comment le système sera utilisé • une présentation générale des fonctionnalités attendues du système • est compréhensible aussi bien par les utilisateurs que les professionnels

• 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). 1

Cas Ascenseur – UML – Bernard ESPINASSE

2

Cas Ascenseur – UML – Bernard ESPINASSE

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 ; n

• Le système détecte le bouton d!étage pressé ;

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 pour modéliser un système temps réel, alors que le diagramme de collaboration montre les relations entre objets.

Décrit l!ensemble des interactions entre les classes et montre les relations entre les 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

Diagramme de séquence

Cas Ascenseur – UML – Bernard ESPINASSE

6

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 Module Name Module Type Input Argument Output Argument Error Message File Access File Change Method Invoke Narative

Cas Ascenseur – UML – Bernard ESPINASSE

9

Elevator_Control::Elevator_control_loop Method None None None None None button::illuminate, button::cancel_illumination, door::open, door::close, elevator::move, elevator::stop

Cas Ascenseur – UML – Bernard ESPINASSE

Speudo-code généré void elevator_control (void) { while a button has been pressed if button not on { button::illuminate; update request list; } else if elevator is moving up { if there is no request to stop at floor f Elevator::move one floor up; else

}

10