Mise en place d'un superviseur de parc informatique — validation avec un simulateur

But de l'exercice

Le but de l'exercice est de mettre en place un superviseur de parc informatique chargé de contrôler l'évolution du parc et d'activer les systèmes de maintenance (réparation automatique dans un premier temps, puis, si nécessaire, intervention humaine) en cas de défaillance.

L'exercice repose sur l'utilisation de plusieurs Design Patterns classiques et peut s'appliquer à de nombreux langages de programmation, en particulier C++ ou Java.

Le parc informatique

Le parc est constitué des différents éléments suivants, chacun étant accompagné de ses caractéristiques principales.

Ordinateurs

Imprimante

Elles peuvent être soit connectées sur un ordinateur soit sur le réseau. Voici leurs caractéristiques :

Hub

Ils permettent de connecter un ensemble d'ordinateurs, d'imprimantes ou d'autres Hub. Ils définissent donc un sous réseau.

Système de réparation automatique

Ils sont chargés d'établir un historique d'évolution des valeurs. Si le système sur lequel vous travaillez est équipé d'un serveur de données, les historiques sont à stocker dans une table, sinon, utilisez un fichier nommé d'après le nom de la valeur.

Le temps est exprimé en « tops d'horloge » par rapport au noyau de synchronisation.

Superviseur

Il doit être unique dans le système et assure les fonctionnalités suivantes :

Systèmes de logs

Les systèmes de journalisation opèrent sur les événements générés par le superviseur. Il existe différents systèmes de journalisation :

Systèmes de réparation

Ils sont de 2 types :

Fournisseur de composants

Chaque fournisseur vend certains types de matériels qui ont des caractéristiques particulières mais qui ne nécessitent pas de sous classes particulières.

Simulateur

Dans le but de valider le système, le simulateur génère des événements en fonction d'un générateur de nombre aléatoires et des probabilités de panne :

Déroulement de l'exercice

Première partie : Analyse orientée objet

  1. Etablir un diagramme des cas d'utilisation du système
  2. Etablir des diagrammes de séquences sur les scénarios suivants :
  3. Etablir les diagrammes d'état des éléments suivants :
  4. Diagramme de classe du système

Deuxième partie : programmation Java

A partir de l'analyse précédente, effectuez la programmation en Java de l'exercice. Il est recommandé d'utiliser des interfaces pour tous les réceptionneurs d'événements.