• Aucun résultat trouvé

Chapitre 5:Modélisation du Système de Suivi de Maintenance des sites

5.3 Diagramme de séquence

Ils permettent de décrire de façon détaillée les scénarios de chaque cas d’utilisation en mettant l’accent sur la chronologie des opérations en interaction avec les objets afin d’obtenir une expression précise des besoins.

Nous ne présentons ici que quelques cas d'utilisation du système. Pour chaque cas, nous allons faire une description textuelle puis réaliser le diagramme de séquence associé.

5.3.1. Cas d’utilisation : « S’authentifier »

L’élaboration du diagramme de séquence de ce module a donné le résultat suivant (figure 5. 2) :

Acteurs : Tous les acteurs

Objectifs : Se connecter à l’application pour effectuer diverses opérations.

Pré conditions : Serveur de base de données disponible Scénario nominal :

 Le système présente la page d’authentification.

 L’acteur saisit le nom d’utilisateur et le mot de passe puis valide.

 Le système ouvre la session correspondante selon que l’acteur soit administrateur, superviseur ou simple utilisateur

Scénarios alternatifs :

 Le serveur de base de données a subi un dysfonctionnement.

 Nom d’utilisateur et / ou mot de passe incorrect(s).

Post conditions :

Affichage de la page d’accueil correspondant à l’acteur (succès) ou d'un message d'erreur (échec).

67

Réalisé par Apollinaire Codjo TOGBONON 66

Figure 5.2 : Diagramme de séquence << Authentification>>

5.3.2. Cas d’utilisation << Réception des SMS sur téléphone mobile>>

Ce module permet à l’acteur de recevoir des SMS sur son téléphone mobile. Il pourra donc être prévenir des tâches de maintenance préventive qu’il doit exécuter à une date donnée. Aussi il pourra être alerté d’une tâche de maintenance curative qui lui est assigné ou même d’un ordre de travail qu’il aura à valider en mode In line.

L’élaboration du diagramme de séquence de ce module a donné le résultat suivant (figure 5. 3) :

Acteurs : Tous les acteurs

Objectifs : Prévenir un technicien d’une tâche de maintenance préventive qu’il doit exécuter à une date donnée, alerté un technicien d’une tâche de maintenance curative qui lui est assignée, alerté l’administrateur ou le superviseur d’un ordre de travail qu’il doit valider en mode In line.

68

Réalisé par Apollinaire Codjo TOGBONON 67

Pré conditions : Serveur de base de données disponible, avoir un téléphone portable, avoir un compte

Scénario nominal :

Etre le destinataire d’un message d’alerte Scénarios alternatifs :

 Le serveur de base de données a subi un dysfonctionnement.

 Téléphone portable injoignable.

Post conditions :

Réception d’un message d’alerte sur son téléphone portable.

Figure 5.3 : Diagramme de séquence << Réception de message d’alerte sur téléphone portable>>

5.3.3. Cas d’utilisation : « Création de comptes»

L’élaboration du diagramme de séquence de ce module a donné le résultat suivant (figure 5. 4) :

Acteurs : Administrateur

Objectifs : Créer de nouveaux comptes

69

Réalisé par Apollinaire Codjo TOGBONON 68

Scénario nominal :

 S’authentifier (figure 6.2).

 L’acteur choisit le menu comptes puis après le sous menu création

 Enregistrer une fois les différents champs remplis.

Scénarios alternatifs :

 Le serveur de base de données a subi un dysfonctionnement.

Champs mal remplis

Post conditions : Données envoyées dans la base de données (succès) ou message d’erreur (données incorrectes)

Figure 5. 4 : Diagramme de séquence << Création de comptes >>

70

Réalisé par Apollinaire Codjo TOGBONON 69

5.3.4. Cas d’utilisation : « Consulter l’historique»

L’élaboration du diagramme de séquence de ce module a donné le résultat suivant

Acteurs : Tous les acteurs

Objectifs : Consulter l’historique des OT, RT, alarmes et maintenance préventive effectuée.

Pré conditions : Serveur de base de données disponible.

Scénario nominal :

 S’authentifier (figure 6.2).

 L’acteur choisit le menu site puis après le sous menu historique Scénarios alternatifs :

 Le serveur de base de données a subi un dysfonctionnement.

Post conditions : Affichage de l’historique des OT, RT, alarmes et maintenance préventive effectuée.

Figure 5. 5 : Diagramme de séquence << Consulter l’historique >>

71

Réalisé par Apollinaire Codjo TOGBONON 70

5.3.5. Cas d’utilisation : « Tâche de maintenance préventive»

L’élaboration du diagramme de séquence de ce module a donné le résultat suivant :

Acteurs : Tous les acteurs

Objectifs : Effectué une tâche de maintenance préventive ou générer un OT/RT.

Pré conditions : Serveur de base de données disponible.

Scénario nominal :

 S’authentifier

 L’acteur choisit le menu maintenance puis après le sous menu maintenance préventive

Scénarios alternatifs :

 Le serveur de base de données a subi un dysfonctionnement.

Post conditions : Le système ouvre l’onglet de maintenance préventive sous les différents niveaux (niveau 1, niveau 2, niveau 3) selon que l’acteur soit un simple utilisateur, superviseur ou administrateur.

72

Réalisé par Apollinaire Codjo TOGBONON 71

Figure 5. 6 : Diagramme de séquence << Tâche de maintenance préventive >>

5.3.7. Cas d’utilisation: <<Valider OT>>

L’élaboration du diagramme de séquence de ce module a donné le résultat suivant

Acteurs : Administrateur et superviseur

Objectifs : Permettre à l’acteur de valider les ordres de travail des techniciens même en dehors de l’entreprise pour qu’il puisse aller sur site travailler sans perdre de temps.

Pré conditions : Serveur de base de données disponible, téléphone portable disponible, avoir un navigateur web

Scénario nominal :

73

Réalisé par Apollinaire Codjo TOGBONON 73

 Se connecter au mode In line du système Scénarios alternatifs :

 Le serveur de base de données a subi un dysfonctionnement.

 Téléphone portable indisponible

 Ne dispose pas d’un navigateur web Post conditions :

Validation de l’ordre de travail et archivage dans la base de données 5.4. Diagramme de classe

La figure 5.7 suivante présente le diagramme de classe du système. Les rectangles représentent les classes avec leurs attributs et méthodes. Nous nous baserons sur ces différents éléments pour concevoir la base de données et réaliser l’application.

Figure 5.7 : Diagramme de classe

74

Réalisé par Apollinaire Codjo TOGBONON 73

Chapitre 6

Choix technique

6.1. Environnements de travail choisis

Java est le principal langage de programmation utilisé pour la réalisation de cette application. On a eu recours à PostgreSQL 9.1 pour la manipulation de la base de données, à Visual Paradigm qui est un outil de modélisation UML, à HTML (HyperText Markup Language), à JavaScript et du PHP pour le module connecté.

6.1.2. Langage de programmation

Le choix des bons outils de travail est une tâche critique sur laquelle repose le bon déroulement de l'étape de conception et de développement. Pour la réalisation de ce projet plusieurs alternatives se sont posées.

Pour ce qui est de la plate-forme de programmation nous avons eu le choix entre

JAVA, C++, C# et Visual Basic. Cette sélection est justifiée par le fait que tous ces langages :

 utilisent le concept orienté objet et s'apprêtent parfaitement à notre cas.

 permettent la création d'interfaces graphiques (menus déroulants, boutons, cases à cocher, etc.) essentielles pour la conception de l'interface graphique de notre application.

 incluent le concept du modèle évènementiel.

Une étude comparative entre ces différentes plates-formes nous montre les avantages et inconvénient de ces dernières.

Outre la facilité de la définition des classes de travail, Visual Basic offre un plus grand avantage en délais d’exécution. Mais son plus grand inconvénient est qu’il n'est pas portable et doit être utilisé sur une seule plate−forme : Windows

C++ quant à lui est un langage multi plate-forme. Il se distingue par sa rapidité lors de la compilation ainsi que lors de l'opération de la lecture des fichiers. Son principal défaut reste la complexité de sa structure et la difficulté pour la définition des classes de travail.

Le C#, est un langage multi plate-forme qui s’apprête parfaitement à notre cas. Mais son principal défaut reste la complexité de sa structure.

Pour finir le Java, outre sa robustesse et sa performance présente le grand avantage d'être portable sur plusieurs plates-formes (Windows, Linux,...). Aussi

73

75

Réalisé par Apollinaire Codjo TOGBONON 74

la mémoire, permet l'utilisation de threads qui sont des fils d’instructions correspondant à des processus légers et dispose des API permettant la communication par liaison série (ports série).

Après cette étude comparative nous avons opté pour Java comme plate−forme de programmation.

6.1.3. L’environnement de développement intégré

On dispose de nombreux environnements de développement intégré pour Java. Certains sont commerciaux (JBuilder), et d’autres sont libres (Netbeans, Eclipse). « NetBeans » est développé par Sun Microsystems et téléchargeable gratuitement de son site officiel. Il fonctionne sous Windows, Linux, MacOs X et Solaris. Son architecture est écrite entièrement en Java. La plateforme Netbeans est un outil très puissant et libre qui facilite la réalisation d'application graphique. Il intègre des outils de débogage. Nous avons retenu NetBeans (version 7.0.1) car il est gratuit, extensible et possède des fonctionnalités de développement rapide d’applications.

6.1.4. Système de Gestion de Base de Données

Le SGBD est un système permettant de manipuler les informations ou données contenues dans une base de données : interrogation, mise à jour, gestion de l’intégrité et de la cohérence. Au nombre de ces systèmes, nous pouvons citer : Apache DB, Ingres, MySQL, Oracle, PostgreSQL, SQLite, SQL Server. Son choix est guidé par les critères suivants :

 la politique sécuritaire ;

 la richesse fonctionnelle du SGBD Relationnel ;

 les ressources (disques, mémoire, CPU (Central Processing Unit), nombre de transactions par seconde, nombre de connexions simultanées).

76

Réalisé par Apollinaire Codjo TOGBONON 75

PostgreSQL est le projet de base de données le plus abouti dans le domaine du logiciel libre. Il est un système de gestion de bases de données (SGBD) très performant sous licence BSD (Berkeley Software Distribution) dont les performances sont comparables à Oracle 9.

En ce qui concerne sa richesse fonctionnelle, il dépasse considérablement les autres SGBD libres même s’il est plus complexe à mettre en œuvre. En effet, il :

 offre une grande sécurité au niveau de la gestion des données.

 est multi plateforme. En effet, il était disponible seulement sous la plateforme linux mais depuis 2004, la version Windows existe. Les distributions sont plus résistibles devant les attaques des tiers en permettant d’éviter les failles de sécurité pour le portage Windows. Il s’agit d’un SGBD relationnel et orienté objet. Les concepts comme l’héritage, la composition et l’agrégation y sont intégrés ainsi que d’autres notions de l’orienté objet.

 contient diverses bibliothèques pour plusieurs langages de programmation comme le C, le C++ et Java permettant ainsi à des programmes écrits en ces langages d’accéder facilement aux enregistrements.

 Nous avons donc retenu PostgreSQL 9.1 (la dernière version) comme SGBD pour la réalisation de l’application.

6.1.5. L’application web

Les outils techniques choisis pour la réalisation de l’application sont essentiellement les plus utilisés dans le domaine du Web à cause de leurs efficacités et pour la plupart, leurs licences GPL.

HTML : (HyperText Markup Language) c’est le langage qui permet d’écrire le code de base de tout site Web. Sa dernière version HTML5 a été utilisée parce qu’elle offre assez de fonctionnalités.

CSS : (Cascading Style Sheets, aussi appelées Feuilles de style) il permet de gérer l’apparence des pages web. C’est sa dernière version, CSS3 qui a été utilisée pour l’application.

PHP : c’est le langage serveur que nous avons utilisé pour la dynamisation du site. Il existe plusieurs langages de script serveur dont :

77

Réalisé par Apollinaire Codjo TOGBONON 76

Notre choix s’est porté sur PHP dont les fonctionnalités sont très variées.

Entre autres, PHP permet de coder en Ajax et dispose de nombreuses fonctions permettant d’effectuer la majorité des actions en rapport avec le web. Mais ses capacités ne s’arrêtent pas à la création de simples pages web. Il offre la possibilité de manipuler des images, de créer des fichiers PDF et de se connecter à des bases de données.

SQL : (Structured Query Language), c’est le langage standard pour les systèmes de gestion de bases de données relationnelles. La plupart des entreprises qui produisent des systèmes de gestion de bases de données relationnelles sont compatibles avec SQL. Ce langage a été utilisé pour la définition des données de la base.

WampServer : C’est un logiciel exécutable sous les plateformes Windows de Microsoft. Il renferme les serveurs de page Web Apache, de base de données MySQL et d’application PHP. Cette composition lui a valu son nom WampServer qui signifie Windows Apache MySQL PHP Server. Il a été utilisé pour les tests de l’application en local parce qu’il renferme la plupart des librairies dont nous avons besoin pour la création de l’application. JavaScript : Il permet de dynamiser l’application. C’est un outil très important pour le développement Ajax notamment avec son objet XMLHttpRequest qui permet de faire des requêtes de type asynchrone.

Les tests de l’application ont été faits sous les clients ou navigateurs Explorer, Safari, Mozila FireFox, Google Chrome, Opera. Ce sont les clients Web les plus connus et les plus utilisés à travers le monde.

6.1.5. Les paquetages utilisés

6.1.5.1. API JavaComm et RxTx (Gestion de la communication ports par liaison série)

78

Réalisé par Apollinaire Codjo TOGBONON 73

JavaComm est une librairie open-source permettant la communication entre une application Java et une application distante à travers un lien série ou parallèle. JavaComm supporte deux modes de fonctionnement :

 flux, ou la liaison série est vue « comme un socket » fournissant des flux de lecture/d’écriture binaire d'octets.

 évènementiel, où l'application utilisant la liaison série peut être notifiée d'évènements particuliers.

RxTx est une librairie open-source antérieure à la spécification JavaComm mais qui s’est rendue compatible. L’implémentation fournie par Sun est en réalité identique à RxTx 2.0, mais Sun ne supporte que les implémentations Linux et Solaris.

RxTx inclut la librairie JavaComm et fournit en plus le support d’un très grand nombre de plateformes (environ 40) pour la communication et assure un contrôle plus fin de la communication série.

Les classes de RxTx sont définies dans le paquetage gnu.io. Notre application doit pouvoir communiquer avec un modem GSM via les ports séries. C’est pour cette raison que nous l’avons utilisé.

6.1.5.2. API JAXP

79

Réalisé par Apollinaire Codjo TOGBONON 77

bibliothèque standard Java qui permet d’analyser la structure d’un document XML et d’exploiter les informations qu’il contient. Deux types différents d’analyseur (parser) sont proposés pour effectuer ces opérations :

 SAX (Simple API for XML) et les classes du paquetage org.xml.sax, pour récupérer les informations que contient un document XML au fur et à mesure de sa lecture ;

 DOM (Document Object Model) et les classes du paquetage

org.w3c.dom, pour créer en mémoire une structure arborescente équivalant à celle d’un document XML, afin d’exploiter ensuite les informations.

6.1.5.3. Implémentation

Afin de justifier nos choix techniques, nous avons développé l’application. Le tableau 6.1 récapitule l'ensemble des outils logiciels et API utilisés, décrits de façon détaillée dans la section 6.1.

Tableau 6.1 : Liste des outils logiciels utilisés

80

Réalisé par Apollinaire Codjo TOGBONON 78

OUTILS DESCRIPTION

Logiciels Système d’exploitations Linux (Distribution Debian) Apache Serveur web Version 2 Ajax(HTML, JavaScript Technologie de

CSS, XML) développement web PHP Serveur d’application PHP NetBeans Pour l’édition de code MySQL

Bibliothèques Javacomm Permet la communication port série

AWT Permet de faire le Graphisme

PostgreSQL -9.0-801.jdbc4 Permet de connecter la base de Donnée à l’application

Passerelle de messagerie

kannel Permet l’envoi et la réception Des SMS sur les téléphones Portables

81 78

TROISIEME PARTIE : RESULTATS ET DISCUSSION

Chapitre 7: Tests et Analyse des résultats

Chapitre 8 : Discussion et coût de l’application

Réalisé par Apollinaire Codjo TOGBONON 80

Chapitre 7

Tests et Analyse des résultats

7.1. Tests des fonctionnalités 7.1.1. Menu compte

L’accès à cette fonctionnalité est réservé à l’administrateur:

 Sous menu liste (Figure 7.1)

Pour créer un nouveau compte, l’administrateur renseigne les différents champs et enregistre. Apres avoir enregistré, les données apparaissent automatiquement dans le tableau comportant la liste des comptes. Pour modifier un compte l’administrateur sélectionne le compte ce qui fait afficher automatiquement les informations concernant ce compte dans les champs correspondant que l’administrateur peut modifier ou s’il veut supprimer ce compte il appuie sur le bouton <<supprimer>>.

Toutefois le superviseur a aussi accès à cette fonctionnalité mais en mode lecture seule.

80 83

Réalisé par Apollinaire Codjo TOGBONON 81

Figure 7.1 : Sous menu compte

7.1.2. Menu site

L’accès à cette fonctionnalité est réservé à tous les utilisateurs de S-SMS (administrateur, superviseur et techniciens)

 Sous menu liste des sites

Pour accéder à cette fonctionnalité, l’utilisateur entre dans le menu site puis après dans liste. La création d’un nouveau site est réservée uniquement à l’administrateur du réseau. Ainsi pour créer un nouveau site, l’administrateur clique sur nouveau puis après remplis les champs correspondants puis enregistre. Apres avoir enregistré, les données sont ajoutées à la base de données et apparaissent automatiquement dans la liste des sites.

81 84

Réalisé par Apollinaire Codjo TOGBONON 81

Figure 7.2 : Sous menu liste des sites

 Sous menu matériel

Cette fonctionnalité permet la gestion des matériels sur sites. Tous les utilisateurs ont accès à cette fonctionnalité. Pour ajouter un nouveau matériel il faut cliquer sur nouveau puis renseigner les champs correspondants. Apres avoir enregistrer les données sont stockées dans la base de donnée et apparaissent automatiquement dans la liste des sites.

82 85

Réalisé par Apollinaire Codjo TOGBONON 81

Figure 7.3 : Sous menu matériel

 Sous menu assignation des ordres de travail

Seuls l’administrateur et le superviseur ont accès à cette fonctionnalité.

Cette fonctionnalité permet à l’administrateur ou au superviseur de générer un ordre de travail et de l’assigner à un technicien.

Figure 7.4 : Sous menu Assigner

83 86

Réalisé par Apollinaire Codjo TOGBONON 81

7.1.3. Menu maintenance

L’accès à cette fonctionnalité est réservé à tous les utilisateurs (administrateur, superviseur et techniciens).

 Génération de formulaire d’ordre de travail

Pour faire un ordre de travail, l’utilisateur entre dans le menu maintenance puis après dans le sous menu maintenance préventive ou maintenance curative selon l’action qu’il veut exécuter. Apres avoir cliqué sur « faire OT » il renseigne les champs correspondants et valide. Après avoir validé le superviseur de la structure correspondante reçoit une notification sur son téléphone portable OT validé

Figure 7.5 : formulaire permettant de générer un OT

87 84

Réalisé par Apollinaire Codjo TOGBONON 81

Tous les utilisateurs ont accès à cette fonctionnalité. Elle permet à l’utilisateur de planifier ses actions de maintenance préventive. A chaque échéance de maintenance préventive le système lui rappelle l’action à exécuter par des messages d’alerte qu’il reçoit sur son téléphone portable.

Rappel de tâche de maintenance préventive

Figure 7.6 : Sous menu planification des maintenances préventives

 Sous menu rapport de travail

Tous les utilisateurs ont accès à cette fonctionnalité. Pour y accéder, l’utilisateur entre dans le menu maintenance puis après dans le sous menu maintenance préventive ou maintenance curative selon l’action qu’il veut exécuter. Après avoir sélectionné un ordre de travail l’application lui donne la main de faire un rapport de travail correspondant. Le S-SMS archive automatiquement dans la base de données le rapport de travail après validation et informe par un message d’alerte le superviseur de la structure qu’une tâche de maintenance

88 85

Réalisé par Apollinaire Codjo TOGBONON 81

curative a été exécutée

Execution de l’ordre de travail 004/Zongo_1/CTN confirmée au superviseur

Figure 7.7 : Sous menu rapport de travail

86 89

Réalisé par Apollinaire Codjo TOGBONON 82

Pour la réduction du temps d’indisponibilité du réseau, nous avons utilisé l’optimisation de la maintenance par la fiabilité qui est une méthode scientifique développée par EDF. Au terme de notre étude nous avons pu déterminer que pour réduire le MTTR il faut :

- garder de façon permanente l’historique de toutes les actions de maintenances préventive et curative ainsi que celles des alarmes survenues sur les différents sites ;

- faire évoluer les programmes de maintenance préventive existante en mettant à disposition un système d’alerte automatique;

- corriger les problèmes d’ordre matériel

En ce qui concerne le prototype conçu, le Système de Suivi de Maintenance des Sites (S-SMS) fait partir des outils de supervision du réseau avec la spécification de :

- communiquer avec un modem GSM pour utiliser les ressources du réseau partenaire afin d’envoyer des messages d’alerte aux techniciens et ingénieurs sur leurs téléphones portables ;

85 87 90

Réalisé par Apollinaire Codjo TOGBONON 83

- garder l’historique de façon permanente de toutes les actions de maintenances préventive et curative effectuées ainsi que celles des alarmes survenues sur les sites ;

- permettre la gestion des matériels se trouvant sur les différents sites ;

- permettre la gestion des matériels se trouvant sur les différents sites ;

Documents relatifs