Analyse fonctionnelle détaillée du projet MindWare Remote, Monitoring and control (MRMC) 

Solution proposée

Dans le domaine de surveillance de parc informatique les niveaux de performance des solutions ci-dessus citées sont assez rapprochés. Toute fois, les logiciels libres ont acquis une notoriété et une stabilité indiscutable.
Pour cette raison, La solution envisagée par Mindware se caractérise sa licence opensource et sa facilité d’installation et d’utilisation. Pour sa première version, elle sera destinée aux petites et moyennes entreprises et proposera dans sa version de base une fonctionnalité Helpdesk avec possibilité d’utilisation d’outil de contrôle à distance Avant de commencer la description détaillée de la solution, un petit aperçu sur la société hôte de mon stage s’impose.

Description de MindWare

Mon stage de find’étude a été effectué au seinde la sociétéMindWarequi a été crée en Avril 2010 par M. Adil ZEAARAOUI en association avec l’université Mohammed 1er, MindWare est la première start-up crée par la dite université. MindWare siège à l’intérieur même du complexeuniversitaire etplus précisément en plein centre de l’Ecole Nationale des Sciences Appliquées d’ Oujda (ENSAO).
Ce statut confère à MindWare lesoutien et le parrainagede l’université Mohammed 1er et lui offre une place privilégiée tout prêt du corps enseignant, des étudiants et des lauréats de l’ENSAO.

Domaines d’intervention

MindWare offreune gammede services très variés et axéssur deux pôles :

Edition des logiciels

MindWare offre à ses clients l’opportunité de créer des applications spécifiques répondant exactement à leurs besoins et à leurs règles de gestion. Aussi, MindWare propose à ses clients la maintenance et la mise à niveaude leursapplications de gestion déjà enproduction.
Les technologies utilisées parMindWares’étalesur un largespectrede choix : Technologie : OOA/D, JEE et les Framework (Struts2, JPmapper,hebernate…), PHP5 et Framework (Zend FM),Python, XML,Jquery, Ajax SGBD: Oracle, MySQL, Postgresql

ingénierie réseau et système

MindWare propose à ses clients l’installation et laconfiguration de leurs réseaux mono site et multi site. Pour cela, MindWare couvre un large spectre de technologies : Réseaux et configuration : routeur, passerelle, firewall, proxy, contrôleur de domaine, monitoring, messagerie, VPN, serveur d’impression Solution VoIP: on travaille sur Asterisk Plateforme: linux/Unix (Debian/FreeBSD), Windows.

Méthodologies du travail

La technique suivie lorsde l’élaborationde n’importequel projet au seinde MindWare est une technique basée le travail en groupe et inspirée de laméthodologie UP (Unified Process) ou itérative incrémentalequi consiste à diviser leprojet en parties etpourchaque partieon effectue les étapessuivantes:
– Analyse générale.
– formation sur les technologies.
– Analyse détaillée.
– Conception du projet.
– Réalisation des tests.
– Validation.

Analyse générale

Consiste à comprendre le projet dans l’ensemble en réalisant une étude préliminaire en se focalisant sur les demandes des clients et faire la collecte des informations. Dans cette étape, une analyse du marché avec une comparaissant des différentes solutions existantes est réalisée. A l’issue de cette étape une idée générale prend forme et qui constituera la base de tout le projet.

Analyse détaillée

Cette étape se base sur les exigences du client pour une bonne implémentation du cahier des charges avec génération des cas d’utilisation. Dans cette étape une étude technique des technologies et outils à utiliser est réalisée. Cette étape est très importante pour le bon déroulement des étapes suivante c’est pour cela que MindWare lui alloue le délai et les ressources nécessaires.
A la fin de cette étape, l’équipe de développement est constituée et les taches sont réparties entre ses membres.

Formation sur les technologies

Après la constitution de l’équipe de développement, une formation est réalisée par le chef de projet aux nouveaux membres. Cette formation a comme objet les technologies choisies lors de l’étape précédente et qui seront utilisées dans le développement de la solution.
Le délai imparti à cette étape est proportionnel à la difficulté et la complexité des outils à utiliser et en fonction la nouveauté de ces outils pour les membres de l’équipe de projet.

Conception du projet

En utilisant la méthodologie UML une analyse conceptuelle est réalisée avec la participation de toute l’équipe de projet. En utilisant le logiciel « Entreprise Architect », Dans cette étape les différents scénarios sont catalogués et modélisés sous forme de diagrammes de séquences.
En suite, le diagramme de classes est élaboré et affiné à plusieurs reprises. En fin et après une multitude de réunions le chef de projet valide les différents diagrammes un planning de développement est mis en place.

Développement et tests

Le développement de l’application est réparti par le chef de projet sur l’équipe de développement et suit le planning dressé dans la phase précédente. A la fin de chaque semaine une réunion est faite et chaque membre de l’équipe présente sa réalisation.
A la fin de la réunion les tâches correctement réalisées sont validées par le chef de projet et celles présentant des problèmes reportées à la réunion suivante.
Les tâches validées sont affecté à l’équipe chargée des tests et sont validées ou retournées à nouveau à l’équipe de développement en fonction de leur degrés de réponse aux exigences fonctionnelles.

Conclusion

Dans ce chapitre j’ai présenté MindWare et ses domaines d’intervention ainsi que sa méthodologie de travail avec la réalisation d’une étude de marché comparant un ensemble de solution dont MRMC devra s’inspirer. Dans le chapitre suivant je présenterai une analyse fonctionnelle de la solution proposée.

Troisième partie : Tableau de bord

Dans une application de gestion de parc informatique dont le nombre d’équipement est assez grand, le suivi des machines, une par une, est très complexe et nécessite des efforts de synthèse pour dresser une vue générale de l’état du réseau, d’où la nécessité d’un tableau de bord.
MRMC devra être capable de dresser un tableau de bord synthétisant l’état global du parc informatique et devra aussi avoir la capacité de filtrer les statistique en fonction d’une machine spécifique du réseau voir une durée ou une date précise.

Les cas d’utilisation (Use case)

En génie logiciel et en ingénierie des systèmes, un cas d’utilisation définit une manière d’utiliser le système et permet d’en décrire les exigences fonctionnelles. D’après Bittner et Spence, « Un cas d’utilisation, défini simplement, permet de décrire une séquence d’événements qui, pris tous ensemble, définissent un système faisant quelque chose d’utile»1. Chaque cas d’utilisation contient un ou plusieurs scénarios qui définissent comment le système devrait interagir avec les utilisateurs (appelés acteurs) pour atteindre un but ou une fonction spécifique d’un travail. Un acteur d’un cas d’utilisation peut être un humain ou un autre système externe à celui que l’on tente de définir. MindWare utilise une méthode très simple pour la création des cas d’utilisation. En effet, sur la base de l’analyse préalable des besoins, elle recense les acteurs du système d’information et essaye de crée le cas ou les cas d’utilisation pour chaque acteur. En suite, un schéma des interactions entre les cas d’utilisation est dressé.
En suivant cette méthode, trois acteurs principaux appartiennent au système :
• Acteur client.
• Acteur serveur.
• Acteur administrateur.

Acteur serveur

Cet acteur représente le moteur d’application du système qui supervise la globalité du parc informatique. L’acteur serveur sera en charge des tâches suivantes: identifier les machines du parc, sauvegarder les informations de ces dernières ainsi que la détection des erreurs et des alertesdu parc.

identification des machines (identify machine)

En fonction d’un intervalle paramétrable par l’acteur administrateur, le serveur doit identifier chaque machine supervisée et doit vérifie sont état connecté ou non. Si la machine est connectée, le serveur pourra vérifier plusieurs paramètres comme par exemple la version de l’agent installé.

Sauvegarde dans la base de données (store machine info into DB)

Après que le client installe l’agent, il pourra envoyer ses données techniques au serveur pour que ces informations soient sauvegardées dans la base de données. Ces données constituent l’état de la machine dans un instant donné.
Avant chaque enregistrement de l’état d’une machine, une vérification de son existence préalable est réalisée. Si la machine a envoyé son état pour la première fois un nouveau enregistrement de machine est crée.

Détection des alertes et des erreurs (detect warning and error)

Selon un intervalle défini par l’acteur administrateur, le serveurdoit détecter les alertes ainsi que les erreurs existantes dans les différentes machines du réseau. Ces alertes et erreurs sont configurées par l’administrateur et sont en relation avec l’état des composants constituant les machines surveillées.
Ces alertes et erreurs peuvent être détectées aussi lors de l’envoi de l’état des machines supervisées.

Diagrammes de séquences

Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs et le système selon un ordre chronologique dans la formulation « Unified Modeling Language », on y met l’accent sur la chronologie des envois de messages. La dimension verticale du diagramme représente le temps, permettant de visualiser l’enchaînement des actions dans le temps, et de spécifier la naissance et la mort d’objets. Les périodes d’activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par le biais de messages.

Client

Scénario1

Dans ce scénario le client est sensé télécharger l’application cliente pour faire partie du réseau (pour que ce dernier soit surveillé par le serveur), une fois le téléchargement effectué, le serveur identifiera cette machine et vérifie son adresse MAC et IP, a` ce moment l`a l’extraction des données en local est activée.

Diagramme des classes

Alors que le diagramme de cas d’utilisation montre un système du point de vue des acteurs, le diagramme de classes en montre la structure interne. Il permet de fournir une représentation abstraite des objets du système qui vont interagir pour réaliser les cas d’utilisation.
Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs petits travaux simples.
Dans la méthodologie de conception suivie par MindWare, le diagramme de classes est le plus important et c’est le modèle sur lequel se base toute la partie développement. Pour le projet MRMC, le diagramme de classes a été divisé en trois parties, la première c’est le package machine, la deuxième partie c’est le package surveillance (monitoring), la troisième c’est le package assistance (helpdesk). La figure suivante illustre ce découpage.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières
Contexte général du projet 
Chapitre 1
Etude de marché et fonctionnelle 
1.1 Etude concurrentielle de marché
1.1.1 Solutions opensource
1.1.2 Solutions commerciales
1.1.3 Critique des solutions
1.1.4 Solution proposée
1.2 Description de MindWare
1.2.1 Domaines d’intervention
a) Edition des logiciels
b) ingénierie réseau et système
1.3 Méthodologies du travail
1.3.1 Analyse générale
1.1.1 Analyse détaillée
1.1.2 Formation sur les technologies
1.1.3 Conception du projet
1.1.4 Développement et tests
1.4 Conclusion
Chapitre 2 
Analyse fonctionnelle détaillée du projet MindWare Remote, Monitoring and control (MRMC)
2.1 Première partie : Supervision de parc informatique
2.1.1 Gestion de l’inventaire
2.1.2 Gestion des alertes et erreurs
2.2 Deuxième partie : Gestion d’assistance
2.3 Troisième partie : Tableau de bord
2.4 Conclusion
Chapitre 3 
Modélisation du MRMC 
3.1 Choix d’UML
3.2 Les cas d’utilisation (Use case)
3.2.1 Acteur client
a) Envoi de l’état de la machine
b) Téléchargement de l’agent client
c) Mise à jour de l’agent client
3.2.2 Acteur serveur
a) identification des machines (identify machine)
b) Sauvegarde dans la base de données (store machine info into DB)
c) Détection des alertes et des erreurs (detect warning and error)
3.2.3 Acteur Administrateur
a) Authentification (log in)
b) Liste des machines (list machines)
c) Etat de la machine cliente (client state)
d) Afficher l’état de la machine cliente (get machine detail info)
e) Extraire les informations de la machine (Extract information)
f) Définir intervalle (Set timer)
g) Télécharger l’agent vers le client (upload new jar)
h) Liste des alertes et erreurs des machines (list machine warning error)
3.3 Diagrammes de séquences
3.3.1 Client
Scénario1
Scénario2
3.3.2 Serveur
3.3.3 Administrateur
3.4 Diagramme des classes
3.4.1 package « machine»
3.4.2 Package surveillance
3.4.3 Package assistance « helpDesk»
3.5 Conclusion
Chapitre 4 
Etude technique du projet 
4.1 Outils, langages et technologies utilisés
4.1.1 Plateforme de développement : JEE
4.1.2 Editeur de développement : Eclipse
4.1.3 Le serveur d’applicationTomcat
4.1.4 Le langage JAVA
4.1.5 La technologie Java ServerPages (JSP)
4.1.6 Les Servlet
4.1.7 Le Framework Struts2
4.1.8 JPMapper
4.1.9 La bibliothèque SIGAR
4.1.10 Le langage XML
4.1.11 Dom4j
4.1.12 Le langage XPATH
Exemple
4.1.13 Le langage JavaScript
La technologieAJAX
La bibliothèque Jquery
La librairie jqPlot
4.1.14 Bibliothèque bureau à distance (jrDesktop)
4.1.15 Méthodologie ducodage: TechniqueMVC
4.1.16 SVN
4.2 Utilisation des technologies dans MRMC
4.2.1 Le dépôt SVN
4.2.2 Arborescence du projet Agent/JEE/ MVC
4.2.3 Agent MRMC
4.2.4 Console d’administration web
4.3 Développement de la solution MRMC
4.3.1 Développement de l’agent MRMC
4.4 Conclusion
Chapitre 5 
Présentation de MRMC
5.1 Présentation de l’agent
5.1.1 Installation
5.1.2 Demande d’assistance
5.2 Présentation de la Console d’administration
5.2.1 Authentification
5.2.2 Supervision du parc
5.2.3 Paramétrage des alertes et erreurs
5.2.4 Gestion de l’assistance aux utilisateurs
5.2.5 Tableau de bord
5.3 Critique et perspective de la solution
5.3.1 Fonctionnalités de l’agent
5.3.2 Fonctionnalités de la console d’administration
5.4 Conclusion
Chapitre 6
Conclusion générale
Références
Annexes
Struts2
Installation et Configuration
Le fichier xml Struts.xml
Les actions
JPMapper
Installation et Configuration
Remarque
Dom4j
Installation et Configuration
MySQL
Enterprise Architect
Pencil

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *