Spécification
UML – la démarche “Unified Process”
La démarche d'analyse et de conception détaillée sera effectuée avec le langage UML. L'objectif global est d'analyser et de concevoir une application orientée objet en suivant trois étapes successives d'analyse et une étape de test.
Nous développerons dans les paragraphes suivants l'analyse et les éléments supplémentaires nécessaires à notre projet.
Trois étapes successives d'analyse
-
La phase d'inception
Cette phase permet de cerner le domaine d'études, l'ordre de priorité et d'identifier les grandes fonctionnalités du programme à développer.
Elle prouve la faisabilité du problème à traiter.
Ainsi divers éléments de l'application doivent être découverts et selon le cahier des charges, il faut :
– lister les exigences du système c'est à dire recencer les taches élémentaires – lister les acteurs
– associer les exigences aux acteurs pour effectuer des diagrammes de contexte – regrouper des tâches élémentaires pour déduire les intentions des acteurs
ainsi on en déduit les cas d'utilisations qu'il faut définir et décrire textuellement.
-
La phase itérative ou d'analyse
Cette phase sert à construire l'architecture de base selon chaque cas d'utilisation déterminé dans la phase d'inception.
Cette analyse va détailler les fonctionnalités par les diagrammes suivants en itérant :
- une description de bas niveau pour mettre en évidence la notion de scénario
- un diagramme d'activité s'il y a plusieurs scénarios
- description dans un diagramme de séquence "boîte noire" pour se focaliser sur les aspects fonctionnels c'est à dire les opérations effectuées dans chaque scénario
- un diagramme de classe d'analyse pour le use case donne une petite vision pour chaque use case
- faire des contrats d'opérations découvertes dans les étapes précédentes
– faire des diagrammes de séquence "boîte blanche" pour chaque fonctionnalité.
-
La phase de design
Cette phase va permettre de détailler les aspects de conception pour aboutir à l'implémentation par le codage des classes en faisant les diagrammes suivants :
– le diagramme d'état transition pour chaque classe métier importante : qui sont le coeur de l'application à développer
– le diagramme de collaboration est effectué à partir des diagrammes de séquence "boîte blanche" par opération
– le diagramme de classe de conception qui est une synthèse finale et représente les objets ainsi que leurs interactions
- on peut également rajouter des diagrammes de composants.
La phase de transition ou de tests
Cette dernière phase correspond à l'intégration et aux divers tests nécessaires pour contrôler le bon fonctionnement d'une application orientée objet.
Les éléments supplémentaires
Bien que cette analyse semble complète, elle ne traite que les aspects objects d'une application.
Hors, actuellement, la majorité des applications développées sont construites autour du modèle MVC et donc avec utilisation de base de données pour stocker les informations collectées ou dites persistantes.
Il faut donc dans la phase de design rajouter l'étude du modèle de données MCD qui répond à la question suivante :
“Parmi les objets créés, quelles sont les données persistantes qui doivent être conservées ou qui sont réutilisées?”.
Notre étude UML pour l'élaboration d'une application web de surveillance réseau
Sachant que les diagrammes proposés par UML sont plus ou moins répétitifs, on peut donc sélectionner les diagrammes qui résument chaque fonctionnalité de l'application à développer. Ainsi, pour la phase d'inception, nous avons traités les cas d'utilisations et les scénarios associés.
Pour la phase d'analyse, nous avons réalisé pour chaque scénario, les diagrammes de séquence “boîte noire” associés.
Pour la phase de design conception, nous avons réalisé :
– les diagrammes d'état-transition des classes principales : "Collecte", "Agent", "Equipement", "Reseau"
– l'analyse OCL des diverses classes déterminées
– l'étude du modèle de données et définition des accès en base de données. En conclusion, ces étapes ont permis le découpage en package de l'application ainsi que la définition des interactions entre packages.
Introduction
Contexte du projet
Pour mener à bien toutes les tâches d'administration d'un réseau un administrateur a besoin de données fiables, précises et à jour sur tous les éléments du réseau.
Pour cela IPFRED se veut être l'outil qui lui permettra de collecter ces données et de les stocker.
IPFRED permettra de sonder le réseau afin d'en obtenir sa topographie.
IPFRED permettra d'obtenir des informations sur chacun de ces éléments sondés.
IPFRED fournira également un journal des évènements survenant sur le réseau.
Objectif du document
Ce document présente la spécification de l'application WEB IPFRED.
Cas d'utilisation
Partie collecte - Les scénarios
Paramétrage de la collecte
Le paramétrage de la collecte permet de définir 3 grandes fonctionnalités :
-
Définir la stratégie de collecte: Cas d'utilisation "Définir_Collecte"
-
Sonder le réseau pour construire la topographie: Cas d'utilisation "Sonder_Réseau".
De plus le système stocke les informations de paramétrage dans la base de données: Cas d'utilisation "Sonder le réseau".
D'où le cas d'utilisation Paramétrage de collecte suivant:

Scénario: Paramétrage de collecte
L'administrateur sélectionne s'il veut :
- Définir une stratégie de collecte,
- Sonder le réseau
Chaque fonctionnalité sera développée dans les parties suivantes.
Définir la stratégie de collecte
Dans cette partie, il y a 4 fonctionnalités principales:
-
Définir le type de filtre
Il est possible de:
-
Définir un filtre : par équipement ou par adresse IP
Cas d'utilisation : Choix du filtre
Scénario:
L'administrateur, lors de la définition de stratégie de collecte, sélectionne un type de filtre dans la liste qui lui est proposé (par équipement ou adresse IP). Il valide ou annule son action.
Le système vérifie le filtre sélectionné, trie les données selon le filtre sinon il émet un message d'erreur.
* Cas1: L'administrateur a choisi un filtre par équipement
- Il coche parmi la liste d'équipements qui lui sont proposés les équipements dont il veut obtenir des mesures.
- Il valide ou annule son action.
* Cas2: L'administrateur a choisi un filtre par plage d'adresses IP
- Il coche parmi la liste d'adresses IP qui lui sont proposées l'adresses IP débutant la plage d'adresses.
- Il coche parmi la liste d'adresses IP qui lui sont proposées l'adresses IP terminant la plage d'adresses.
- Il valide ou annule son action.
-
Supprimer un filtre
Cas d'utilisation : supprimer un filtre existant
Scénario :
L'administrateur , sélectionne la suppression d'une collecte.
Le système vérifie que le filtre existe et supprime le filtre associé à la collecte sinon il émet un message d'erreur.
-
-
Associer des mesures à un type d' équipement
Il est possible de:
-
Créer une nouvelle association
Cas d'utilisation : Créer une nouvelle association
Scénario:
Le système, dès le choix du filtre, crée une association mesure-équipement si le choix de filtre est par équipement.
-
Supprimer une association existante
Cas d'utilisation : supprimer une association existante
Scénario:
Le système supprime une Association Mesure-équipement lors de la suppression d'une stratégie de collecte.
Il sélectionne la ou les association(s) à supprimer puis valide.
Le système vérifie que l'association existe et la supprime sinon il émet un message d'erreur.
-
-
Définir les mesures à collecter
Après définition du type de filtre, l'administrateur sélectionne les mesures qu'il souhaite collecter.
Il est possible de:
-
sélectionner une ou plusieurs mesures
Cas d'utilisation : Choix des mesures
Scénario:
Le système a initialement fait un tri des données selon le filtre et l'association des mesures par équipement.
L'administrateur sélectionne un équipement dans une liste.
Le système affiche la liste des mesures associées à l'équipement.
L'administrateur décoche les mesures qu'il ne souhaite pas collecter pour cet équipement.
Il valide ou annule son action. Et il a la possibilité de réitérer l'opération pour d'autres équipements s'il le désire.
-
Supprimer une mesure existante
Cas d'utilisation : Supprimer une mesure existante
Scénario:
L'administrateur sélectionne la suppression d'une collecte.
Le système vérifie que la stratégie existe.
Le système supprime les mesures associées à cette collecte sinon il émet un message d'erreur.
-
La collecte
Un administrateur définit initialement une stratégie de collecte: cette étape comprend la définition du type de filtre, association mesures-équipement, et sélection des mesures à collecter (Cf partie 2. La Stratégie de collecte).
L'administrateur a accès à 3 fonctionnalités: le démarrage, l'arrêt ou la modification et la suppression de collecte.
********************************************************** NOTE ***********************************************************************
Avant toute définition de collecte, il faut que préalablement, il y ait eu une découverte de réseau et une définition des types d'équipement présents dans celui-ci. Une collecte d'informations n'étant effectuée que sur les équipements "Ordinateur", il faut donc que préalablement ils aient été définis.
*****************************************************************************************************************************************
-
Démarrer la collecte
Cas d'utilisation : Démarrer une collecte
Scénario:
L'administrateur sélectionne Démarrer une collecte, après avoir sélectionné et défini une collecte par:
- Définir le filtre
- Définir les mesures à collecter
- puis valide.
Le système vérifie que la collecte n'existe pas,
la crée,
et enregistre les informations dans la base de données,
sinon il émet un message d'erreur.
L'administrateur démarre donc la collecte d'informations.
-
Arrêter une collecte existante
Cas d'utilisation : Arrêter une collecte existante
Scénario:
L'administrateur sélectionne une collecte existante.
Le système vérifie que la collecte est en cours, sinon il émet un message pour confirmer l'arrêt de la collecte.
La collecte est interrompue et pourra être redémarrer plus tard car le paramétrage est enregistré en base de données.
-
Supprimer une collecte existante
Cas d'utilisation : Supprimer une collecte existante
Scénario:
L'administrateur sélectionne Supprimer une collecte et valide.
L'administrateur sélectionne une collecte existante.
Le système vérifie que la collecte n'est pas en cours, sinon il émet un message pour demander d'arrêter la collecte avant de la supprimer.
La collecte étant interrompue, le système redemande la confirmation de la suppression, l'administrateur valide la suppression.
Le système va donc:
- Supprimer le filtre
- Supprimer les associations mesures-collecte de la collecte
- Supprimer les mesures à collecter
- Supprimer les informations relatives à la collecte contenues dans la base de données.
Sonder le réseau pour construire la topographie
Cas d'utilisation : Sonder le réseau

Scénario :
L'administrateur choisit de Sonder le réseau.
L'administrateur a la possibilité de sélectionner de sonder :
- tout le réseau
- un sous réseau
- d'une adresse 1 à une adresse 2.
Cela permet de récupérer une topographie du réseau sélectionné.
Ensuite, il peut visualiser, imprimer ou extraire et enregistrer un fichier lui donnant la topographie du réseau à l'instant "T" et stocker le résultat dans la base de données.
Conclusion
On ne demande pas à l'administrateur de s'identifier avant chaque traitement car il ne s'identifie qu'une seule fois dès le lancement de l'IHM.
L'administrateur doit valider chaque traitement avant le stockage dans la base de données. Si le traitement n'a pu être effectué, un rapport d'erreur doit être produit afin d'en informer l'administrateur.
A tout moment avant la validation, l'Administrateur peut abandonner ce qu'il est en train de faire.
Lors de la vérification des données saisies, si elles ne correspondent pas ou sont erronées, le système demande la ressaisie de la partie erronée.
Exploitation
On peut distinguer 2 grandes familles de fonctionnalités dans l'exploitation :
-
Le paramétrage du système
-
L'affichage (consultation) des données (brutes ou calculées)
Affichage
-
Afficher l'état global du réseau
Cas d'utilisation : afficher état global du réseau
-
Scénario
-
L'utilisateur clique sur le menu "Etat global du réseau"
-
Le système vérifie s'il a des données à afficher
-
Le système affiche le résultat de sa recherche
-
-
-
Définir une plage d'adresses IP pour l'affichage
Cas d'utilisation : afficher une plage d'adresses IP pour l'affichage
-
Scénario
-
L'utilisateur définit une plage d'adresses dont il désire afficher l'état (du réseau)
-
Le sytème récupère les infos
-
Le système affiche les résultats
-
-
-
Afficher le détail d'un élément du réseau
Cas d'utilisation : afficher une plage d'adresses IP pour l'affichage
-
Scénario
-
L'utilisateur sélectionne un élément dont il désire obtenir des renseignements
-
Le sytème vérifie si il a des données à afficher pour cette machine
-
Le système affiche le résultat de sa recherche
-
-
-
Imprimer l'état global du réseau
Cas d'utilisation : imprimer état global du réseau
-
Scénario
-
L'utilisateur est sur la page d'affichage de l'état global du réseau, il clique sur un bouton d'impression
-
Le système ouvre une nouvelle fenêtre prête à l'impression, purgée de tout élément superflu
-
L'utilisateur choisit d'imprimer la page grâce aux fonctionnalités du navigateur.
-
-
-
Afficher un journal des évènements
Cas d'utilisation : afficher journal des évènements
-
Scénario
-
L'utilisateur choisit dans un menu d'afficher le journal des évènements
-
Le système affiche les évènements "en temps réel" qui surviennent sur le réseau
-
-
Liste des évènements pouvant intervenir
-
Connexion, déconnexion d'un utilisateur
-
Système de fichier plein
-
Charge système de fichier > seuil
-
Charge CPU Moyen > seuil
-
Durée maximum d'un processus dépassée
-
-
Paramétrage
-
Paramétrage
Cas d'utilisation : paramétrer le système
-
Scénario
-
L'utilisateur clique sur le menu paramétrage du système
-
Le système récupère les différents éléments paramétrables
-
Le système affiche le résultat de sa recherche
-
L'utilisateur modifie un paramètre
-
Le système enregistre les modifications
-
-
Elements paramètrables du système
-
Base de données :
-
Adresse
-
Utilisateur unique pour l'accès en base de données : "postgres"
-
Mot de passe
-
-
Données personnelles
-
Login
-
Mot de passe
-
-
-
-
Modifier le modèle de données
Cas d'utilisation : Ajouter ou supprimer une propriété d'un équipement du réseau
-
Scénario
-
L'utilisateur choisit un élément de réseau dans une liste
-
Le système récupère les propriétés définies pour cet équipement
-
Le système affiche le résultat ainsi que la liste des propriétés prédéfinies
-
L'utilisateur sélectionne les propriétés à ajouter ou supprimer
-
Ls sytème enregistre les modifications
-
-
Stockage
On peut distinguer 3 cas d'utilisation pour le stockage :
-
L'ajout de données en base
-
La modification de données
-
La suppression d'une donnée
Modèle statique
Modèle dynamique
Diagrammes de Sequence
La Stratégie de collecte
-
Diagramme de Séquence Créer une nouvelle Stratégie de Collecte

Le "3: NouveauFiltre" correspond au diagramme de séquence de "NouveauFiltre" suivant :

Le "4: NouveauMesureCollecte" correspond au diagramme de séquence de "NouveauMesureCollecte" suivant :
-
Diagramme de Séquence Supprimer une Stratégie de Collecte

Le "6: ArreterCollecte" correspond au diagramme de séquence de "ArreterCollecte" suivant :

Le "7: SupprimerFiltre" correspond au diagramme de séquence de "SupprimerFiltre" suivant :

Le "8: SupprimerMesureCollecte" correspond au diagramme de séquence de "SupprimerMesureCollecte" suivant :
La Collecte
-
Démarrer une collecte de données
-
Arrêter une collecte de données
Sonder le réseau
L'exploitation
-
Etat Global Du Reseau
-
Afficher une plage d'adresses IP du Reseau
-
Afficher 1 Adresse IP
-
Imprimer l'état global du Reseau
-
Afficher le journal des évènements
-
Parametrer le systeme
-
Ajouter ou supprimer une propriété à un équipement reseau
Le Stokage

Remarque: Chacune des fonctionnalités est exécutée de manière indépendante.
Conclusion
Ces diagrammes permettent de voir les enchainements nécessaires lors de la programmation pour garantir l'intégrité des données.
Diagramme d'état
Collecte
Agent
Equipement
Reseau

Description OCL
Contexte OS
NOTE : Il faut déterminer le type d'OS pour pouvoir effectuer une collecte d'information. La méthode "demarreMesure()" démarre la recherche d'Os.
Def: nom.os: string
Def: version.os: string
Def: type.os: string[Windows, Unix, Autre]
Def : GetNom.Os() : string Post :GetNom.Os ( ) = Windows or Unix or Autre
Def : GetVersion.Os() : string
Def : Gettype.Os() : string If (GetType.Os = =Windows) Post :Nom.Os = Windows 95 or Windows 98 or Windows NT or Windows 2000 or Windows XP Else If ( GetType.Os == Linux ) Post : Nom.Os = Mandrake or Suse or Redhat Else Post: Nom.Os = Autre
Def : demarreMesure.Os ( )
Processeur
NOTE : Le processeur est un élément d'ordinateur qui est déterminé s'il est sélectionné dans le paramétrage de collecte et découvert lors de la recherche de données synchrones sur un ordinateur.
Def : Marque.Processeur : string [AMD, Intel, Autre]
Def : Modele.Processeur : string [Pentium, Celeron, Xeon, Athlon, Duron, Autre]
Def : Frequence.Processeur : String
Def : Charge.Processeur : String
Def : ChargeMoyenne.Processeur : String
Def : index.Processeur : int
Def : GetMarque.Processeur ( ) : string Post : GetMarque.Processeur ( ) = AMD or Intel or Autre
Def : GetModele.Processeur ( ) : string Post : GetModele.Processeur ( ) = Pentium or Celeron or Xeon or Athlon or Duron or Autre
Def : GetFrequence.Frocesseur ( ) : String
Def : GetCharge.Processeur ( ) : String
Def : GetChargeMoyenne.Processeur ( ) : String
Mémoire
NOTE : La mémoire est un élément d'ordinateur qui est déterminée s'il est sélectionné dans le paramétrage de collecte et découvert lors de la recherche de données synchrones sur un ordinateur. La méthode "demarreMesure()" démarre la recherche de mémoire sur l'ordinateur.
Def : TailleMemoire.Memoire : String
Def : GetTailleMemoire.Memoire ( ) : String
Def : demarreMesure.Memoire ( )
Service
NOTE : Si nous avons le temps, nous traiterons la recherche de services associés à un serveur par la recherche de port.
Def : Nom.Service : string
Def : Port.Service : int
Def : GetNom.Service ( ) : string
Def: GetListePort.Service ( ) : int Post : 1 < GetListePort.Service ( ) < 40000
Serveur
NOTE : Le serveur sera détecté comme un ordinateur et sera plus développé si nous avons le temps.
Def : ListeService.Seveur : Vector
Pre : GetlisteService.Serveur ( ) : NombreDeService (serveur ) > 0
Def : GetlisteService.Serveur ( ) : Vector
Routeur
NOTE : Si nous avons le temps, nous traiterons la recherche de services associés à un routeur par la recherche de port.
Def : ListePort.Routeur ( ) : int [48 ]
Def : TableRoutage.Routeur ( ) : Vector
Def : GetTableRoutage.Routeur ( ) : Vector Def : GetListePort.Routeur (int [] ) : int
Imprimante
NOTE : Si nous avons le temps, nous traiterons la recherche de services associés à une imprimante.
Def : Type.Imprimante : String
Def : GetType.Imprimante ( ) : String
Def : Spool.Imprimante ( ) : Void -> Spool.txt
Switch
NOTE : Si nous avons le temps, nous traiterons la recherche de services associés à un switch.
Def : ListPort.Switch : int [48]
Def : GetListePort.Switch (int [] ) : int
Disque
NOTE : Le disque est un élément d'ordinateur qui est déterminé s'il est sélectionné dans le paramétrage de collecte et découvert lors de la recherche de données synchrones sur un ordinateur. La méthode "GetNbrPartition.Disque()" est initialisée à 1 et ne peut être que égal ou supérieure à 1.
Def: index.Disque : int
Def : Taille.Disque : String
Def : EspaceLibre.Disque : String
Def : NbrPartition.Disque : String
Def : nomDisque.Disque : String
Init : GetNbrPartition.Disque = 1
Def : GetTaille.Disque ( ) : String
Def : GetEspaceLibre.Disque ( ) : String
Def : GetnomDisque.Disque ( ) : String
Ordinateur
NOTE : L'ordinateur est l'équipement sur lequel la recherche de données synchrones est effectué. Il est composé d'une liste d'Os, d'une liste de processeur, un nombre de processeur ainsi qu'une description. Il spécialise un Equipement et donc possède en plus les attributs d'un équipement.
Def : ListeOs.Ordinateur : Vector
Def : listeDisque.Ordinateur : Vector
Def : listeMesure.Ordinateur : Vector
Def : listeMesureAsync.Ordinateur : Vector
Def : Description.Ordinateur : String
Def : Processeur.Ordinateur : Processeur
Def : NbrProcesseur : int Def : ListeDisque.Ordinateur : Vector
Def : GetNbrProcesseur.Disque ( ) : int Post : GetNbrProcesseur.Disque ( ) < 5
Def : ListeOs.Disque ( ) : Vector
Def : Processeur.Ordinateur ( ) : Vector
Def : GetListeDisque.Ordinateur ( ) : Vector
Def : GetDescritption.ordinateur ( ) : String
Equipement
NOTE : Il est déterminé à la suite d'un "scan" réseau pour déterminer son type.
Def : NomReseau.Equipement : String
Def : AdresseIP.Equipement : String
Def : ListeMemoire.Equipement : Vector
Def : Type.Equipement : String
Def : GetNomReseau.Equipement ( ) : String
Def : GetAdresseIP.Equipement ( ) : String
Def : GetListeMemoire.Equiepement ( ) : Vector
Def : GetType.Equipement ( ) : String
Réseau
NOTE : C'est l'élément initial de l'application car s'il n'est pas déterminé, les équipements qui le composent ne le seront pas. Le réseau "scan" initialement toutes les adresses IP d'un réseau puis un second "scan" permet de déterminer les équipements qui ont une os et leur type.
Def : ListeAdresseIP.Reseau : String
Def : ListeSousReseau.Reseau : Vector
Def : MasqueSousReseau.Reseau : String
Def : ListeAdresseIp.Reseau ( ) : String
Def : ListeSousReseau.Reseau ( ) : Vector
Def : MasqueSousReseau.Reseau ( ) : String
Evènement
NOTE : Ce sont les mesures asynchrones collectées.
Def : Type.Evenement : String
Def : Date.Evenement : Date
Def : Descritption : String
Def : GetDate.Evenement ( ): Date
Def : GetDescription.Evenement ( ) : String
Def : GetType.Evenement ( ) : String
Collecte
NOTE : Une collecte ne peut être déterminée qu'après détermination du réseau et des équipements qui le composent. De plus, une collecte ne peut être déterminée que pour un équipement de type "Ordinateur"
Def : Nom.Collecte : String
Def : GetNom.Collecte ( ) : String
Def : GetMesure.Collecte ( ) : Void
Pre : DemarrerCollecte.Collecte ( ) : ( Nom.Collecte and Frequence.Collecte ) != 0
Def : DemarrerCollecte.Collecte ( ) : Void Post : DemarrerCollecte.Collecte ( ) < 1 minute
Journal
Def : Afficher.Journal ( ) : Void
Agent
Def : ListeMesure.Agent : Vector
Def : Frequence.Agent : int
Def : GetFrequence.agent ( ) : int Post : 1 / heure < GetFrequence.Agent ( ) < 2 / minutes
Def : GetListeMesure.Agent ( ) :Vector
Annexe A : Dictionnaire des classes
Agent
-
Définition Les agents sont chargés de collecter des informations synchrones et asynchrones sur un ordinateur.
-
Attributs
ordinateur : Ordinateur
-
Méthodes
getEquipement(ordinateur : Ordinateur) : Ordinateur
getMesureAsync( ordinateur : Ordinateur) : Ordinateur
Collecte
-
Définition
Représente la collecte d'information sur les équipements réseaux "Ordinateur"
-
Attributs
nom : String adresseIp1 : String adresseIp2 : String dateC : java.util.Date continuerCollecte : boolean osType : boolean osVersion : boolean memoireTaille : boolean processusNombre : boolean cpuCharge : boolean cpuChargeMoyenne : boolean cpuFrequence : boolean cpuMarque : boolean cpuType : boolean cpuNombre : boolean disqueNombre : boolean disqueTaille : boolean listeOrdinateur : Vector listeMesure : Vector resCol : Vector resEvt : Vector
-
Méthodes
Méthodes get et set pour chaques attributs + methodes add pour chaque attribut de type "Vector"
retourneListOrdi()
demarrerCollecte(String ip)
demarrerCollecte(String adresseIp1,String adresseIp2)
arreterCollecte()
reprendreCollecte()
resultatCollecte(String nom) : boolean
enregistrerCollecte() : boolean
retourneListMes()
recupererCollecte()
Disque
-
Définition
Représente un disque dur d'un équipement réseau, un ordinateur peut avoir plusieurs disques.
-
Attributs
index : int
nomDisque : String
taille : String
espaceLibre: String
nbrPartition : String
-
Méthodes
Méthodes get et set
demarreMesureDisque()
demarreMesureSystemeFichier()
Equipement
-
Définition
Equipement composant le réseau dont on pourra obtenir des informations
-
Attributs
nomReseau : String
adresseIp : String
listeOs : Vector
listeProcesseur : Vector
listeMemoire: Vector
etat : int
type : String
-
Méthodes
Méthodes get et set pour chaques attributs + methodes add pour chaque attribut de type "Vector"
Evènement
-
Définition
La classe évènement représente les évènements asynchrones qui seront affichés sur le journal
-
Attributs
nom : String
date : java.util.Date
valeur : String
adresseIp : String
-
Méthodes
Méthodes get et set pour chaque attribut
enregistreEvenement()
Imprimante
-
Définition
Représente un imprimante réseau relier directement au réseau
-
Attributs
type : String
-
Méthodes
Méthodes get et set pour chaque attribut
Journal
-
Définition
Représente le journal des événements intervenant sur le réseau . Cette objet comporte une liste d'événement.
Si une plage d'adresse IP est spécifiée seul les événement intervenants pour cette plage d'adresse sont listés.
Si une liste d'équipement est spécifiée seul les événement intervenants pour ces équipements sont listés.
-
Attributs
listeAdresseIP : Vector seuilMemoireDepasser : boolean espaceDisquePlein : boolean systFichPlein: boolean chargeSystFichSupSeuil : boolean cpuchargemoysupseuil : boolean listeEvenement : Vector quantitee : int debut : int fin : int
-
Méthodes
Méthodes get et set pour chaques attributs + methodes add pour chaque attribut de type "Vector"
setListeEvenement()
setListeAdresseIp()
enregistreEvenement(Ordinateur ordinateur)
Memoire
-
Définition
Représente la mémoire d'un équipement réseau
-
Attributs
tailleMemoire : String
-
Méthodes
Méthodes get et set pour chaques attributs
Ordinateur
-
Définition
Représente un ordinateur connecté sur le réseau
-
Attributs
listeDisque : Vector
Description : String
-
Méthodes
Méthodes get et set pour chaques attributs
demarreMesure()
Os
-
Définition
Représente un système d'exploitation
-
Attributs
nom : String
type : String
version : String
-
Méthodes
Méthodes get et set pour chaques attributs
demarreMesure()
Processeur
-
Définition
Décrit les caractéristiques d'un processeur
-
Attributs
marque : String
modele : String
frequence : String
charge : String
chargeMoyenne : String
index : int
-
Méthodes
Méthodes get et set pour chaques attributs
demarreMesure()
demarreMesureCharge()
Reseau
-
Définition
Repésente un réseau et ses sous réseau par une plage d'adresse IP
-
Attributs
nomReseau : String adresseIp1 : String adresseIp2 : String masqueSousReseau : String etat : String listeAdresseIP : Vector listeSousReseau : Vector
-
Méthodes
Méthodes get et set pour chaques attributs + methodes add pour chaque attribut de type "Vector"
recordReseau() : boolean
recupererReseau(String nomReseauS)
demarrerScanReseau(String nomReseauS) : boolean
decouverteReseau() : boolean
arreterScanReseau(String nomReseau) : boolean
enregistreAdresseIp() : int
enregistreEquipement(Equipement equipement) : int
Routeur
-
Définition
Représente un routeur avec ces différents attributs
-
Attributs
tableRoutage : Vector
listPort : int[]
-
Méthodes
Méthodes get et set pour chaques attributs
Serveur
-
Définition
Représente un seveur avec sa liste de service
-
Attributs
type: String
listeService : Vector
-
Méthodes
Méthodes get et set pour chaques attributs
Service
-
Définition
Représente un service rendu par un équipement réseau
-
Attributs
nom : String
port : int
-
Méthodes
Méthodes get et set pour chaques attributs
Switch
-
Définition
Représente un switch avec ces différents attributs
-
Attributs
listPort : int []
-
Méthodes
Méthodes get et set pour chaques attributs
Annexe B : Règle de nommage
Cette convention de nommage est inspirée de ce site pour respecter les conventions de nommage java : http://www.loribel.com/java/normes/nommage.html
Packages
-
le nom de package n'est constitué que de minuscules
-
Utiliser seulement [a-z], [0-9] et le point Ne pas utiliser de tiret '-', d'underscore '_', d'espace, ou d'autres caractères ($, *, accents, ...).
-
La convention de Sun indique que tout package doit avoir comme root un des packages suivants: com, edu, gov, mil, net, org ou les deux lettres identifiants un pays (ISO Standard 3166, 1981)
-
ex : fr.cnam.ipfred.element
Classes
-
La première lettre doit être en majuscule
-
Mélange de minuscules, majuscules avec la première lettre de chaque mot en majuscule
-
Donner des noms simples et descriptifs
-
N'utiliser que les lettres [a-z] et [A-Z] et [0-9] : Ne pas utiliser de tiret '-', d'underscore '_', ou d'autres caractères ($, *, accents, ...).
Interfaces
Même convention que pour les classes
Variables
-
La première lettre doit être en minuscule
-
Mélange de minuscules, majuscules avec la première lettre de chaque mot en majuscule
-
Donner des noms simples et descriptifs
-
Ne pas commencer les noms avec '$' ou '_' bien que ce soit possible
-
Variable d'une seule lettre (pour un usage local)
-
int : i, j, k, m, et n
-
char : c, d, et e
-
boolean : b
-
-
N'utiliser que les lettres [a-z] et [A-Z] et [0-9]
Ne pas utiliser de tiret '-', d'underscore '_', ou d'autres caractères ($, *, accents, ...).
-
Pour les paramètres un préfixe a_<nom du pramètre> sera utilisé (non officiel)
-
Pour les variables locales à une méthode un préfixe l_<nom du pramètre> sera utilisé (non officiel)
Constantes
-
Les constantes doivent être composées seulement de majuscules
-
Séparer les mots par underscore '_'
-
N'utiliser que les lettres [A-Z], [0-9] et '_' : Ne pas utiliser de tiret '-' ou d'autres caractères ($, *, accents, ...).
-
Dans la mesure du possible les constantes seront regroupées dans des interfaces (non officiel)
Annexe C : Bibliographie
Ancien projet
-
Site internet d'un projet 2003 : http://bjop.free.fr
UML
-
Documentation en français sur UML : http://uml.free.fr
-
Introduction à UML édition O'REILLY
-
Documentation AFPA (Pont de Claix) – Démarche d'analyse et de conception avec le langage UML basé sur : - le livre de Craig LARMAN « Applying UML and Patters » - Prentice Hall - Cours « Analyse et conception avec UML et les Patterns » de la société Valtech
Apache Forrest
-
Framework utilisé pour la génération du site et des documents PDF : http://forrest.apache.org
XmlMindEditor
-
Editeur xml supportant entre autres le format Simplified Docbook : http://www.xmlmind.com/xmleditor/
Poseidon
-
Site de l'éditeur UML utilisé pour le projet : http://www.gentleware.com/
Programmation
-
Club d'entraide des développeurs francophones. Documentation, forum , bibilographie sur différents sujets relatifs à la programmation : http://www.developpez.com/
Java
-
Site de Sun où l'on peut trouver entre autres le jdk : http://java.sun.com/
-
[FAQ] fr.comp.lang.java - Questions les plus posées sur java
contact : jmoliere@nerim.net (Jerome Moliere)
-
Divers sites selon les problèmes rencontrés : JDBC
contact : jmoliere@nerim.net (Jerome Moliere)
PostGresql
-
Site de PostGres où l'on peut trouver l'executable de la version 8 et pour la mise en place d'un guide d'installation de la base de données :
http://www.postgresql.org/
-
[FAQ] fr.comp.lang.java - Questions les plus posées sur java
contact : jmoliere@nerim.net (Jerome Moliere)
-
Divers sites selon les problèmes rencontrés : JDBC
contact : jmoliere@nerim.net (Jerome Moliere)



