0% ont trouvé ce document utile (0 vote)
28 vues10 pages

Projet Ascenseur

Le projet consiste à développer une application Java pour gérer l'accès à des salles dans un bâtiment via des ascenseurs, en utilisant des badges et des clés. L'application doit permettre de définir des droits d'accès basés sur des groupes de personnes et de portes, avec des contraintes horaires, et inclure des fonctionnalités de sécurité telles que des alarmes en cas d'accès non autorisé. De plus, elle doit gérer les ascenseurs, y compris la demande d'ascenseur, la gestion de la capacité, et des scénarios d'urgence en cas de panne.

Transféré par

Box Boy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues10 pages

Projet Ascenseur

Le projet consiste à développer une application Java pour gérer l'accès à des salles dans un bâtiment via des ascenseurs, en utilisant des badges et des clés. L'application doit permettre de définir des droits d'accès basés sur des groupes de personnes et de portes, avec des contraintes horaires, et inclure des fonctionnalités de sécurité telles que des alarmes en cas d'accès non autorisé. De plus, elle doit gérer les ascenseurs, y compris la demande d'ascenseur, la gestion de la capacité, et des scénarios d'urgence en cas de panne.

Transféré par

Box Boy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Projet_Ascenseur

On souhaite créer une application java qui permet de gérer un ensemble d’ascenseurs d’un bâtiment, un
ensemble de salles et plus précisément la gestion d’accès à ces salles, soit à travers des badges, soit par des
clés. Les badges et les clés qui permettent l'ouverture des portes ne sont délivrés qu'aux personnes qui
doivent accéder aux salles. Les droits d'accès sont alloués entre les groupes de personnes et les groupes de
portes, de sorte qu'une personne ou une porte doit toujours être au moins dans un groupe. Un groupe de
portes peut contenir des portes dispersées dans tout le bâtiment. Une porte donnée ne peut appartenir qu'à
un seul groupe de portes. La même personne peut appartenir à plusieurs groupes, de sorte que ses droits
d'accès correspondent à l'union des droits d'accès de chacun des groupes qui la contiennent. La définition
des droits d'accès est effectuée en décrivant pour chaque groupe de personnes les différents groupes de
portes qui sont accessibles et sous quelle contrainte horaire. Les droits d'accès sont décrits dans un
calendrier annuel qui décrit la situation semaine par semaine. Vu la faible variation des droits dans le
temps, un calendrier peut être initialisé au moyen de semaines types qui décrivent une configuration de
droits donnée. Le superviseur peut créer autant de semaines type qu'il le désire. Les changements apportés à
une semaine sont automatiquement propagés dans tous les calendriers qui utilisent cette semaine type. Le
système de contrôle d'accès doit fonctionner de la manière la plus autonome possible. Un superviseur est
responsable de la configuration initiale et de la mise à jour des différentes informations de définition des
groupes de personnes et de portes. Un gardien dispose d'un écran de contrôle et est informé des tentatives
de passage infructueuses. Les alarmes sont transmises en temps légèrement différé : la mise à jour de
l'information sur l'écran de contrôle est effectuée toutes les minutes. L’application doit gérer l’ensemble des
fonctionnalités de la Gestion d'accès aux salles d'un bâtiment, accès par clé. La conception et le
développement de l’application doit répondre au notions de : diagramme de classe, agrégation,
généralisation, héritage, polymorphisme, classe abstraite, Interface, Exception, redéfinition de Méthode.

Questions /
1/ Implémenter les différentes classes en Java.
2/ Redéfinir toutes méthodes de l’interface IBatiment.

3/ on voulait que chaque personne puisse accéder à une salle avec des clés qui concerne l’une de ces portes, pour
cela les portes qui appartiennent à la salle doivent avoir des clés, et les clés ne permettent d’ouvrir que ces
portes. Lorsque le personne tente d’ouvrir la porte d’une salle , il peut tenter d’ouvrir dans le même temps toutes
les porte d’une salle par ces clés avec un ordre, il tente à ouvrir la première porte, si elle ne s’ouvre pas il tente la
deuxième et ainsi de suite jusqu’à la dernière porte, si la dernière porte ne s’ouvre pas, système d’alarme sonne,
ce système d’alarme fait appel au gardien qui effectue une vérification urgente de la salle.

4/ on voulait que chaque personne puisse accéder à une salle avec des clés qui concerne l’une de ces portes, mais
avec un respect d’une contrainte horaire. La personne ne peut accéder à la salle que dans le temps qui coïncide
avec le temps enregistré dans la contrainte horaire. La porte ne s’ouvre pas avec les clés hors une contrainte
horaire. Pour cela un système d’alarme sonne, ce système d’alarme fait appel au gardien qui effectue une
vérification urgente de la salle.
5/ on voudrait maintenant donner la clé numéro 3 (3eme clé) et numéro 5 (5eme clé) dans la liste des clés des
portes à une personne pour une salle. Les clés de toutes les portes se trouvent chez le gardien.

5/ on voulait modéliser le cas où la personne souhaite monter en ascenseur, pour cela, la personne demande un
ascenseur, si l’ascenseur existe dans le même étage que la personne, la porte de l’ascenseur s’ouvre, puis la
personne entre en cabine de l’ascenseur. Chaque ascenseur ne supporte que 7 personnes en totale. Alors, si la
personne entre en cabine et trouve 7 personnes, il sort de la cabine et demande un autre ascenseur. Sinon, il reste
en cabine d’ascenseur et ferme la porte de l’ascenseur. Ensuite, l’ascenseur monte vers le haut au vers le bas
suivant la demande de la personne. Si l’ascenseur n’existe pas dans le même étage de la personne, l’ascenseur va
descendre vers l’étage de la personne si l’étage de la personne est inférieur à l’étage de l’ascenseur. Sinon, il va
monter vers l’étage de la personne si ce dernier est supérieur à l’étage de l’ascenseur. Pour modéliser cette
situation, on aura besoin de quatre fonctions, demander ascenseur, entrer en cabine d’ascenseur, sortir de cabine
d’ascenseur, attendre ascenseur.
6/ on voulait modéliser et implémenter le cas dans laquelle la personne demande des ascenseurs (1,2 , 3, … en
même temps). L’ascenseur le plus proche arrive le premier. Pour cela, on voudrait calculer la distance de chaque
ascenseur au point de la personne, on ajoute un attribut Point p dans la Classe Personne et la Classe Ascenseur.
La personne clique sur 3 ou 4 buttons pour demander les 3 ou 4 ascenseurs dans le Bâtiment, à chaque clique on
insère des objets ascenseurs dans une liste d’objets Ascenseur. Par exemple le clique 1 enregistre le premier
ascenseur dans la position 0, et ainsi de suite … écrire une fonction PlusProcheAscenseur qui return l’ascenseur
le plus proche de la personne. (On suppose que tous les ascenseurs part vers le même étage de la personne et ils
sont disponibles pour répondre à la demande de la personne).

7/ on voudrait modéliser et implémenter le cas ou l’ascenseur tombe en panne. Si la personne monte en ascenseur,
et avant d’arriver à l’étage souhaité, l’ascenseur tombe en panne, dans ce cas, la personne demande au secours en
cliquant sur un button dans l’ascenseur. Ce button, est représentée par une fonction secours () que l’objet
personne invoque, la méthode secours fait appel à une méthode sonne de l’objet ascenseur, la méthode sonne de
l’objet ascenseur fait un appel à la méthode verificationAscenseur de l’objet gardien.
8/ le gardien dans son travail quotidien effectue de temps à autre des vérifications des portes de bâtiment, lorsque
le gardien trouve une porte qui n’est pas bien fermée il la ferme, on voulait modéliser ce scénario par une
méthode vérification Habituée, Créer cette méthode.

9/ on considère maintenant les numéros des étage du bâtiment on les distribue aléatoirement sur un tableau T par
N entiers (avec 3≤ N ≤20) N représente les numéros des étages, on se propose d’écrire une fonction Occ_Pair
qui permet de retourner la séquence paire la plus longue de ce tableau.

10/ on considère maintenant les numéros des étage du bâtiment on les distribue aléatoirement sur une matrice
carrée. La demi-vectorisation (vech : half vectorization) d’une matrice carrée est une opération qui donne un
vecteur constitué des éléments du triangle inférieur, comme montré sur l’exemple suivant :

On se propose d’écrire une fonction Demi_Vec qui retourne la demi-vectorisation d’une matrice.

Annexe

Vous aimerez peut-être aussi