Mise en place d'un simulateur boursier

But de l'exercice

Le but de l'exercice est de mettre en place un simultateur boursier capable de faire évoluer plusieurs valeurs grâce à un synchronisateur, de logger leurs évolutions et de générer des alarmes lorsque certaines barrières sont franchies.

L'exercice repose sur l'utilisation de plusieurs Design Patterns classiques. En outre, on utilisera la programmation multi-thread, le synchronisateur agissant dans sa thread particulière de même que les logs et les alarmes.

Fonctionnalités demandées

Valeurs boursières

Valeurs complexes

Elles sont constituées d'agrégats d'autres valeurs repérées par leur pourcentage dans la valeur complexe. L'évolution de leur cours est donc fonction de l'évolution des valeurs qui la composent (l'utilisation d'une Hashtable est recommandée).

Noyau de synchronisation

Générateur d'historique (logs)

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.

Les alarmes

Elles sont utilisées par les clients afin de générer des alarmes lorsque les taux des valeurs ou la valeur de l'indice général de la bourse valeurs atteignent certaines valeur seuils. Dans cet exemple simpliste, les alarmes seront chargées d'écrire un message à l'écran.

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.