SOMMAIRE
I.
Introduction du sujet_____________________________________________
4
II.
Le cahier des charges___________________________________________
5
A.
L’environnement & les
acteurs________________________________________
5
B.
Fonctionnalités______________________________________________________
5
C.
Le contexte_________________________________________________________
6
1.
Vu du palier :________________________________________________
6
2.
Vu de l'intérieur de la cabine :____________________________________
7
III.
Etude fonctionnelle_____________________________________________
8
A.
Cas d’utilisation générales____________________________________________
8
B.
Fonction – Qualité - Mesure___________________________________________
9
IV.
Itération 1____________________________________________________
10
A.
Les acteurs pour cette itération_______________________________________
10
B.
Les fonctionnalités__________________________________________________
10
C.
Le contexte de cette itération________________________________________
10
1.
Vu du palier :_______________________________________________
10
2.
Vu de l'intérieur de la cabine :___________________________________
11
D.
Les cas d’utilisation_________________________________________________
11
E.
Diagrammes de séquence____________________________________________
12
1.
Appel cabine du palier________________________________________
12
2.
Déplacement à l’étage sélectionné_______________________________
13
F.
Diagrammes de collaboration_________________________________________
14
1.
Appel cabine du palier________________________________________
14
2.
Déplacement à l’étage sélectionné_______________________________
14
G.
Diagramme de classes_______________________________________________
15
H.
Fonction – Qualité - Mesure__________________________________________
16
I.
Utilisation de l’IHM___________________________________________________
16
1.
Les deux modules :__________________________________________
16
2.
L'interface graphique :________________________________________
17
V.
Itération 2____________________________________________________
18
A.
Les acteurs pour cette itération_______________________________________
18
B.
Les fonctionnalités__________________________________________________
18
C.
Le contexte de cette itération________________________________________
19
1.
Vu de l'intérieur de la cabine :___________________________________
19
D.
Les cas d’utilisation_________________________________________________
20
E.
Diagrammes de séquence____________________________________________
21
1.
Appel urgence______________________________________________
21
2.
les autres__________________________________________________
21
F.
Diagrammes de collaboration_________________________________________
22
1.
Appel urgence______________________________________________
22
2.
Les autres_________________________________________________
22
G.
Diagramme de classes_______________________________________________
23
H.
Fonction – Qualité - Mesure__________________________________________
23
VI.
Glossaire____________________________________________________
24
Le sujet de ce projet est de modéliser le comportement d'un ou de plusieurs ascenseurs desservant les différents étages d'un immeuble. Le but principal est bien-sûr de mettre en-œuvre les cours de génie logiciel.
Un certain nombre de fonctionnalités principales et optionnelles sont à prendre en compte lors de l’étude.
Le nombre de cabines allant de 1 à n avec un comportement cohérent.
La mémoire traduisant l’intelligence de l’ascenseur (gestion de plusieurs ordres).
La précision des ordres c’est à dire le nombre de boutons sur le palier permettant d’affiner son choix (Monter/Descendre).
Le but de ce document est de présenter notre travail sur ce sujet. Nous allons voir le cahier des charges, l’analyse et les différentes itérations réalisées.
THIS IS
THE WORK OF THE « OTIS »-STE GROUPE.
Cette première partie définit le cahier des charges. C’est à dire l’ensemble des fonctionnalités, l’environnement, les acteurs et le contexte spécifiés par le client.
Le système se place au centre d’un bâtiment de 10 étages (rez-de-chaussée compris). Il est composé de 4 cabines desservant ces étages. Les utilisateurs doivent pouvoir appeler une des cabines pour monter ou descendre et le système doit réagir, en fonction, le plus intelligemment possible pour répondre à l’appel et faire gagner du temps à l’ensemble des utilisateurs.
Trois acteurs ont été identifiés (rappelons qu’un acteur est un élément extérieur au système et qui interagit avec lui) :
ü L’utilisateur : personne désirant se rendre à n’importe quels étages d’un bâtiment.
ü L’administrateur : personne pouvant accéder au système et agir sur son fonctionnement (il est par exemple capable d’arrêter une cabine à un étage donné pour maintenance ou encore de stopper tout le système).
ü Agent de maintenance : personne appelée à chaque problème ou à chaque révision pour maintenir le système et garantir un fonctionnement normal.
Voici l’ensemble des fonctionnalités que nous désirons mettre en place :
§ La cabine la plus proche se déplace vers le palier appelant, si et seulement si la direction actuelle de la cabine correspond à la direction demandée par l'utilisateur.
§ Si une cabine en déplacement croise un palier demandant une même direction : elle s'arrête.
§
Si une cabine en déplacement croise un palier demandant une
direction inverse : elle ne s'arrête pas.
Mémoire - L'ascenseur doit être « intelligent »:
q s'il n'a « aucune mémoire », lorsqu'il a reçu un premier ordre, il l'exécute avant de pouvoir en accepter un autre. Par exemple, X et Y montent ensemble dans l'ascenseur au rez-de-chaussée; X va au 3ème et Y au 5ème. Si Y appuie sur le bouton du 5ème étage juste avant que Y appuie sur le 3, l'ascenseur va au 5ième, s'arrête et attend un nouvel ordre. Même si ce type d'ascenseur existe, ce comportement est à peine acceptable.
q s'il a de la « mémoire », un ascenseur est capable de mémoriser plusieurs ordres reçus: il peut alors à tout moment recevoir un nouvel ordre et réorganiser l'exécution de ceux qu'il a à réaliser. Ces ordres peuvent venir de l'intérieur de la cabine ou de n'importe quel palier.
Sur tous les paliers du bâtiment, on peut trouver :
o
Une porte automatique qui s'ouvre à l'arrivée sur un palier (ou
lorsqu’un utilisateur sollicite une cabine qui est déjà présente) et qui se
ferme au bout de 2 secondes d’ouverture.
o
Un afficheur à deux digits (bon en fait, dans notre cas un seul
digit aurait suffit, mais on pense aux évolutions futures ! ! !)
pour chacune des cabines. Il affiche la position actuelle de la cabine
correspondante.
o
Deux boutons lumineux de commande par palier définissant la
direction désirée (monter/descendre) permettent d'appeler une cabine parmi les
quatre.
o
Deux voyants lumineux par cabine affichant le sens de déplacement
de celle-ci.
o
Un bouton, par cabine, actionnable par clé pour que l’agent de
maintenance puisse arrêter celle-ci.
Une cabine est composée de plusieurs éléments :
o
10 boutons lumineux désignant tous les arrêts possibles. Lorsque
un bouton est enfoncé par l’utilisateur, il s’allume et le restera jusqu’à
l’arrivé à l’étage désigné.
o 1 bouton d’appel lumineux en cas de problème dans la cabine.
o
1 bouton de maintien d’ouverture des portes (l’utilisateur
doit laisser son doigt appuyé le temps qu’il désire attendre un ami, par
exemple).
o
Un afficheur à deux digits qui affiche la position actuelle de la
cabine.
o
Deux voyants lumineux qui affichent le sens de déplacement de la
cabine.
o
Deux portes automatiques qui s'ouvrent à l'arrivée sur un palier
et qui se ferment au bout de 2 secondes (après le passage de la dernière
personne).
Voici l’ensemble des uses case que nous avons identifiés pour notre système :
UseCase :
Appeler Cabine ( Appel cabine à partir du palier)
User : Utilisateur
Description : L’utilisateur appel une cabine à partir d’un palier : le système envoie alors une cabine ou enregistre l’appel (si toutes les cabines sont déjà en déplacement). L’appel est soit pour monter soit pour descendre dans le bâtiment.
UseCase :
Choix étage (Se rendre à l’étage à partir de la cabine)
User : Utilisateur
Description : L’utilisateur rentre dans la cabine et sélectionne l’étage de destination. Le système déplace alors la cabine vers l’étage suivant demandé (gestion mémoire).
UseCase :
Appel d’Urgence
User : Utilisateur.
Description : En cas de nécessité, l’utilisateur presse le bouton d’urgence. Il s’allume. Un message d’alerte est envoyé à l’administrateur des ascenseurs.
UseCase :
Maintien ouverture porte
User : Utilisateur.
Description : Un utilisateur à la possibilité de rouvrir les portes en pressant une fois le bouton d’ouverture. Il peut aussi maintenir les portes ouvertes en maintenant ce même bouton.
UseCase :
Arrêt Maintenance
User : Agent maintenance.
Description : Lorsque l’agent de maintenance souhaite intervenir sur le système, il insert sa clef, à n’importe quel étage, dans la serrure correspondant à la cabine à réparer.
· Si la cabine n’est plus en état de se déplacer :
1. Le système tente quand même de faire venir la cabine.
2. Puis désactive totalement la cabine.
3. L’agent peut intervenir sur la cabine.
· Si la cabine est en mesure de se déplacer :
1. La cabine se rend au niveau de l’agent de maintenance.
2. Les portes s’ouvrent.
3. Le système désactive totalement la cabine
4. L’agent peut intervenir sur la cabine.
Le redémarrage du système se fait grâce à l’administrateur.
UseCase :
Administration du SGA
User : Administrateur
Description : L’administrateur a la possibilité d’activer, désactiver des ascenseurs et de déplacer une ou plusieurs cabines à n’importe quel étage. Il a la priorité sur toutes les autres actions du système.
Fonction |
Catégorie |
Qualité |
Mesure |
Catégorie |
Appel Cabine |
Evidente |
Temps d’attente |
Une cabine doit se présenter en moins de 3min |
Désiré |
Choix
dessert |
Evidente |
Temps de déplacement |
Une cabine met au plus 3secondes pour monter/descendre d’un palier |
Voulu |
Arrêt
Maintenance |
Caché |
Période d’intervention |
Il y a une maintenance mensuelle |
Voulu |
Appel
d’urgence |
Evidente |
Prise en compte rapide |
En cas d’alerte, l’administrateur doit recevoir un message d’alerte dans les 10s |
Nécessaire |
Administration
SGA |
Caché |
Une intervention prioritaire |
Les demandes d’un administrateur sont prioritaires sur toutes les autres demandes |
Nécessaire |
Le seul acteur que nous voulons faire agir pour cette première itération est l’utilisateur qui représente la personne, pour qui va être créé ce système.
Voici les différentes fonctionnalités misent en œuvre pour cette première itération :
· Planification des arrêts (effet mémoire).
· Gestion d’une cabine (sans porte).
· Gestion d'une desserte de 10 étages.
· Gestion des ordres venant d'un des paliers par 2 boutons (monter/descendre).
· Gestion des différents boutons lumineux.
Deux boutons lumineux de commande définissant la direction désirée (monter/descendre) permettent d'appeler la cabine.
Une cabine est composée de :
·
10 boutons lumineux désignant les arrêts demandés par les
utilisateurs présents dans la cabine.
Figure 1 : uses case Itération1
Deux uses case sont présents sur notre première figure :
· L’utilisateur appel une cabine à partir d’un palier : Le système envoie alors une cabine ou enregistre l'appel (si la cabine est déjà en déplacement). L'appel est soit pour monter soit pour descendre dans le bâtiment.
· L’utilisateur rentre dans la cabine, le système déplace la cabine vers l'étage suivant demandé (gestion mémoire).
Fonction |
Catégorie |
Qualité |
Mesure |
Catégorie |
Appel Cabine |
Evidente |
Temps d’attente |
Une cabine doit se présenter en moins de 3min |
Désiré |
Choix
dessert |
Evidente |
Temps de déplacement |
Une cabine met au plus 3secondes pour monter/descendre d’un palier |
Voulu |
Voici une présentation de l’interface du programme de l’itération 1
L'IHM se compose de deux parties, une fenêtre en mode texte et une interface graphique.
La fenêtre « mode texte » permet de faire avancer le temps (touche enter). Le temps avance d'une itération, c'est à dire le temps d'aller d'un étage à un autre.
L'interface graphique permet de voir :
- où se situe l'ascenseur,
- dans quelle direction va l'ascenseur,
- l'état des boutons dans l'ascenseur,
- l'état des boutons sur les paliers.
Les boutons sont réactifs : ils affichent leur état, et permettent d'« appuyer » dessus (cocher le bouton avec la souris).
Figure x :
Interface graphique
Partie A : Situation de l'ascenseur. L'information décrit à quelle étage se situe l'ascenseur (ici, aux 7eme).
Partie B : Direction de l'ascenseur. Elle permet de voir dans quelle direction va l'ascenseur.
- 1 : L'ascenseur descend.
1 : L'ascenseur monte.
0 : L'ascenseur ne bouge pas.
Partie C : Etat des boutons dans l'ascenseur. Les boutons affichent leur état et permettent de choisir une (ou plusieurs) destination(s).
Cn : demande à aller au nème étage.
C Alerte : bouton d'urgence (n'est pas géré ici)
Partie D : Etat des boutons sur les paliers. Pour chaque étage, deux boutons sont affichés (PB et PH).
PB : Appele l'ascenseur pour descendre.
PH : Appele l'ascenseur pour monter.
Pour cette itération, nous allons utiliser tous les acteurs. L’utilisateur qui représente la personne, pour qui va être créé ce système, l’agent de maintenance qui interviendra sur les cabines et l’administrateur qui pourra accéder à l’ensemble du système.
Voici les différentes fonctionnalités misent en œuvre pour cette deuxième itération en plus de celles de l’itération 1 :
· Gestion de quatre cabines intelligentes (avec porte).
Voici les éléments supplémentaires par rapport à l’itération 1 :
o
Une porte automatique qui s'ouvre à l'arrivée sur un palier (ou
lorsqu’un utilisateur sollicite une cabine qui est déjà présente) et qui se
ferme au bout de 2 secondes d’ouverture.
o
Un afficheur à deux digits (bon en fait, dans notre cas un seul
digit aurait suffit, mais on pense aux évolutions futures ! ! !)
pour chacune des cabines. Il affiche la position actuelle de la cabine
correspondante.
o
Deux voyants lumineux par cabine affichant le sens de déplacement
de celle-ci.
o
Un bouton, par cabine, actionnable par clé pour que l’agent de
maintenance puisse arrêter celle-ci.
Voici les éléments supplémentaires par rapport à l’itération 1 :
o 1 bouton d’appel lumineux en cas de problème dans la cabine.
o
1 bouton de maintien d’ouverture des portes (l’utilisateur
doit laisser son doigt appuyé le temps qu’il désire attendre un ami, par
exemple).
o
Un afficheur à deux digits qui affiche la position actuelle de la
cabine.
o
Deux voyants lumineux qui affichent le sens de déplacement de la
cabine.
o
Deux portes automatiques qui s'ouvrent à l'arrivée sur un palier
et qui se ferment au bout de 2 secondes (après le passage de la dernière
personne).
Figure 2 : uses case Itération2
Voici les uses case de l’itération 1 et ceux de l’itération 2.
Pour la description reportez-vous aux pages 8 et 9.
PAS FINIS.
PAS FINIS
Fonction |
Catégorie |
Qualité |
Mesure |
Catégorie |
Appel Cabine |
Evidente |
Temps d’attente |
Une cabine doit se présenter en moins de 3min |
Désiré |
Choix
dessert |
Evidente |
Temps de déplacement |
Une cabine met au plus 3secondes pour monter/descendre d’un palier |
Voulu |
Arrêt
Maintenance |
Caché |
Période d’intervention |
Il y a une maintenance mensuelle |
Voulu |
Appel
d’urgence |
Evidente |
Prise en compte rapide |
En cas d’alerte, l’administrateur doit recevoir un message d’alerte dans les 10s |
Nécessaire |
Administration
SGA |
Caché |
Une intervention prioritaire |
Les demandes d’un administrateur sont prioritaires sur toutes les autres demandes |
Nécessaire |
Plan de Tests |
Outils d'évaluation |
Itération 1 : |
Itération 1 : |
1)
Validation du fonctionnement de l'IHM |
IHM
v1 et sa documentation |
2)
Réponse de la cabine à un appel palier |
IHM
v1 |
3)
Réponse de la cabine à un ordre de destination |
IHM
v1 |
4)
Réponse de la cabine en utilisation mixte (appel palier + ordre de
destination) |
IHM
v1 |
5)
Conformité avec le cahier des charges - Validation des modules de l'itération |
Cahier
des charges et résultats des tests précédents |
RÉDACTION
DU RAPPORT DE TESTS IT1 |
|
|
|
Itération 2 : |
Itération 2 : |
1)
Analyse de l'impact des nouveaux modules sur les anciens (doit être nul
ou sans conséquences) |
Analyse
du code source |
2)
Test de l'appel d'urgence |
IHM
v2 |
3)
Test du maintien de l'ouverture de la porte |
IHM
v2 |
4)
Test de l'arrêt pour maintenance |
IHM
v2 |
5)
Test de l'administration du SGA |
IHM
v2 |
6)
Réponse de l'ensemble du système à un appel palier (optimisation) |
IHM
v2 |
5)
Réponse de l'ensemble du système à une utilisation mixte |
IHM
v2 |
6)
Conformité avec le cahier des charges - Validation des nouveaux modules |
Cahier
des charges et résultats des tests précédents |
RÉDACTION
DU RAPPORT DE TESTS IT2 |
|
7)
Validation finale et packaging |
|
RÉDACTION
DU DOSSIER DE RECETTE FINALE |
|
Actions
pour chaque test :
1) tests des spécifications
techniques, analyse de la documentation et validation du module IHM avec le
responsable
2) A partir d'un
étage, tester la montée et la descente, avec la cabine au-dessus et
au-dessous. Aucun ordre n'est donné depuis une cabine.
3) A partir de
certains étages critiques, tester des ordres de destination haut et bas. Aucun
appel palier n'est effectué.
4) Analyser la cohérence
de fonctionnement de la cabine en fonction des ordres de destination et des
appels palier.
5) Reprendre les
points du cahier des charges. Fermeture des modules validés.
Scénarios
:
1) Validation de
l'IHM
·
Cohérence des réponses
de la cabine en fonction des commandes passées
2) Tests appels
palier
·
Cabine à l'étage 5,
appel pour descendre de l'étage 0
·
Cabine à l'étage 5,
appel pour monter de l'étage 0
·
Cabine à l'étage 5,
appel pour monter de l'étage 9
·
Cabine à l'étage 5,
appel pour descendre de l'étage 9
3) Tests ordre de destination
·
Cabine à l'étage 0,
ordre de destination à l'étage 0
·
Cabine à l'étage 0,
ordre de destination à l'étage 5
·
Cabine à l'étage 9,
ordre de destination à l'étage 9
·
Cabine à l'étage 9,
ordre de destination à l'étage 5
4) Tests mixtes
·
Cabine à l'étage 0,
ordre de destination à l'étage 9, appel pour monter de l'étage 5
·
Cabine à l'étage 0,
ordre de destination à l'étage 9, appel pour descendre de l'étage 5
·
Cabine à l'étage 9,
ordre de destination à l'étage 0, appel pour monter de l'étage 5
·
Cabine à l'étage 9,
ordre de destination à l'étage 0, appel pour descendre de l'étage 5
·
Cabine à l'étage 0,
ordre de destination à l'étage 4, appel pour monter de l'étage 5
·
Cabine à l'étage 0,
ordre de destination à l'étage 4, appel pour descendre de l'étage 5
·
Cabine à l'étage 5,
ordre de destination à l'étage 9, appel pour monter de l'étage 4
·
Cabine à l'étage 5,
ordre de destination à l'étage 9, appel pour descendre de l'étage 4
·
Cabine à l'étage 5,
ordre de destination à l'étage 0, appel pour monter de l'étage 9
·
Cabine à l'étage 5,
ordre de destination à l'étage 0, appel pour descendre de l'étage 9
5) Conformité au cahier des charges
Actions
pour chaque test :
A terminer ...
6) Vérifier
l'optimisation de la cabine qui intervient à la demande, en fonction de la
position des cabines
Scénarios
:
A terminer ...
2) Tests pour
l'appel d'urgence
RAPPORT DE TESTS DE L'ITÉRATION 1 A RÉDIGER
PAS FINIS
Ascenseur : |
Système gérant une cabine. |
Bouton : |
Élément permettant à l'utilisateur d'appeler une
cabine s'il est sur un palier. S'il est dans la cabine, il lui permet de
choisir l'étage de destination. |
Cabine : |
Élément véhiculant les utilisateurs |
État Repos: |
État du système après une absence de mouvement
d'au moins 5 min |
I.H.M. : |
Interface Homme Machine. |
Palier : |
Représente un étage, lieu où un utilisateur peut
appeler une cabine, y monter ou en descendre . |
S.G.A. : |
Système gérant l'ensemble des ascenseurs. |