L'évolution des techniques de programmation a toujours été dictée par le besoin de concevoir et de maintenir des applications toujours plus complexes. Modéliser un système avant sa réalisation, permet de mieux comprendre son fonctionnement. Le langage UML a été utilisé pour modéliser le système et le logiciel « Visual Paradigm for UML 7.0 Entreprise Edition » pour réaliser les diagrammes.
UML (Unified Modeling Langage) est un langage graphique de modélisation des données et des traitements. C'est un moyen d'exprimer des modèles objet en faisant abstraction de leur implémentation. UML 2.0 comporte treize diagrammes représentant autant de vues distinctes pour représenter des concepts particuliers du système d'information[1]
Une vue est constituée d'un ou plusieurs diagrammes. On distingue deux types de vues :
Dans le cadre de la modélisation de notre système, nous nous contenterons des diagrammes suivants : dans les vues statiques on va utiliser les diagrammes classes et les diagrammes de cas d'utilisation. En suite dans les vues dynamiques on va utiliser le diagramme de séquences.
Cas d’utilisation |
Acteur |
A note que les acteurs impliqués dans un cas d’utilisation lui sont liés par une association et un acteur peut utiliser plusieurs fois le même cas d’utilisation.
En ce qui concerne les acteurs en UML, on peut noter qu’Un acteur correspond à un rôle et ce n’est pas une personne physique. Les acteurs sont les utilisateurs du système.
Le diagramme de cas d’utilisation décrit les grandes fonctions d’un système du point de vue des acteurs, mais n’expose pas de façon détaillée le dialogue entre les acteurs et les cas d’utilisation.
Avant tout, on doit d’abord recenser ces cas d’utilisation en tenant compte des principes ci- après :
Une étude succincte du système à mettre en place nous a permis d'identifier les acteurs et les cas d'utilisations correspondantes :
a)Abonnés : Acteur principal, l’abonné utilise le système tigo cash pour :
Le diagramme de contexte statique est un diagramme dans lequel chaque acteur est relié par une association à une classe centrale unique représentant le système.
Abonnés |
Agent tigo cash |
Administrateur |
Système portefeuille électronique |
0. * |
1 |
1 |
Concrétisons à présent l'identification des cas d'utilisation par la réalisation de diagrammes UML, appelés diagrammes de cas d'utilisation.
Le diagramme des cas d'utilisation présente la structure des grandes fonctionnalités nécessaires aux utilisateurs du système. Il assure la relation entre l'utilisateur et les objets du système et se présente comme suit :
Consulter son solde |
Système de p |
Approvisionne son compte |
Par SMS un code référence |
Retrait ou dépôt d’argent dans son compte |
Effectuer une opération |
Paiement de facture vers toutes les fournisseurs |
Ouverture de compte et changement de code PIN |
Confirmer le retrait ou dépôt par un code de référence |
Achat des crédits a partir de son compte |
Transférer l’argent de son compte vers un autre abonné |
Confirmation par SMS |
S’authentifier par un code PIN |
« Include » |
« Include » |
« Include » |
« Include » |
Abonnés |
Système de portefeuille électronique |
1.3.1.1. Diagramme des cas d'utilisation d’un abonné
1.3.1.2. Diagramme des cas d'utilisation de l’Agent tigo cash et Administrateur
Gérer les comptes des agents tigo cash |
Configurer les systèmes |
Assurer la maintenance du système |
Administrateur |
Gérer les comptes des abonnés |
Gérer les recharges des crédits |
Gérer les transferts |
Gérer le code PIN de l’abonné |
S’authentifier par un code PIN |
Agent tigo cash |
« include » |
« include » |
« include » |
« include » |
« include » |
« include » |
« include » |
Système de portefeuille électronique |
Selon Pierre Gérard, la méthode comprend trois sortes de relation ou association qui sont[2] :
Dans notre diagramme de cas d’utilisation, nous allons décrire certaines cas pour expliciter l’utilisation du système tels que :
Nom « Effectuer une opération »
Le système va vérifier, alors les conditions nécessaires, puis lui renvoie une réponse par SMS. Avec un code de référence. Dans le cas contraire, c’est la demande par SMS de l’abonné qui déclenche une action dans le système.
a)Acteur : Abonnés
Nom« Gérer le code PIN de l’abonné »
a)Acteur : Agent tigo cash
1.3.2. 3. Cas d’utilisation : « Ouverture de compte par l’abonné »
Nom« Ouverture de compte par l’abonné »
Résumé : Pour bénéficier du service système, l’abonné doit juste s’enregistrer ou ouvrir son compte. Il se présente auprès d’un Agent tigo cash pour solliciter l'ouverture d'un compte. L’Agent tigo cash procède à son identification puis le sensibilise à utiliser service dont il bénéficie l’ouverture gratuitement. L’Agent génère un code pin par défaut à l’abonné et le système lui envoie le premier SMS de bienvenue et confirmation de l’ouverutre. Après que l’abonné ait fait son premier dépôt dans son compte.
a)Acteur : Abonné
Le diagramme de classes permet de spécifier de structures. La structure et les liens entre les objets dont le système est composé. Une classe est la description d’un ensemble d’objets ayant une sémantique, des attributs, des méthodes et des relations en commun.
Une classe est composée d’un nom, d’attributs et d’opérations.
Attributs |
Nom |
Opération |
Article Désignation Prix unitaire Quantité Acheter |
Les propriétés |
a)formalisme de la classe
1.4.2.1. Tableau des descriptions
Association/Classe |
Désignation |
Classes |
Multiplicité |
Consulter |
Chaque Abonné peut consulter le solde de son compte |
Abonné |
un Abonné consulte le solde de son compte |
Solde |
Un solde d’un compte est consulté par un Abonné |
||
Paramétrer |
Les tarifs des actions ou promotions sont configurés par l’administrateur |
Administrateur |
L’administrateur paramètre un ou plusieurs tarifs des actions ou promotions |
Tarif |
Un Tarif est configuré par un seul administrateur |
||
Appartenir à_1 |
Il ya plusieurs validité selon les actions ou promotions |
validité |
A chaque validité correspond à une Action ou promotion |
Tarif |
Il existe plusieurs validités pour les retraits, dépôt, Achat et paiement de facture |
||
Appartenir à_2 |
L’administrateur appartient à un profil |
administrateur |
Un ou plusieurs administrateurs à un unique profil |
profil |
Un profil peut concerner un ou plusieurs administrateurs |
||
Gérer |
L’administrateur à la gestion des Abonné et des Agents tigo cash |
administrateur |
Un seul administrateur peut à la fois gérer les comptes des Abonnés et des Agents tigo cash |
Abonné |
Un Abonné est géré par un Agent et un Administrateur à la fois |
||
Concerner |
A chaque transaction est enregistré dans le journal des traces des opérations |
Abonné |
Un journal des traces des opérations de transaction concerne un numéro de téléphone |
téléphone |
Plusieurs journaux des opérations des transactions s’affichent sur un numéro de téléphone selon la date |
||
Posséder |
Les Abonnés ouvrent un ou plusieurs comptes |
Abonné |
Un Abonné peut ouvrir un ou plusieurs comptes |
Compte |
Un ou plusieurs comptes sont ouverts par un abonné |
||
Journaux des opérations |
Chaque opération affiche un code de référence |
Administrateur |
Une seule opération génère un seul code de référence |
Abonné |
Un code de référence est généré par une opération |
Tableau 1.13.Tableau de description des associations
A noter que en UML, on peut aussi citer plusieurs types des associations tels que :
A retenir également qu’on parle aussi de types des classe tels que :
TELEPHONE -IMEI_télephone -Numéro_Sim -Marque_Téle |
COMPTE -Num_compte -Intitule_compte -Code_pin +Afficher +Modifier |
ABONNE -Id_aboone -Validite -Solde_Compte -Code_pin +Consulter +recharger +Transfert |
1,* |
1 |
consulte |
PROFIL -Id_profil -Lib_profil +voir |
Appartenir à_2 |
1 |
1,* |
ADMINISTRATEUR -Nom_admin -Prenom_admin +lister +modifier +suuprmer |
JOURNAL D’OPER -Id_journal d’opér -Date_opération -Code_référence +voir +rechercher +imprimer |
Paramètre |
1,* |
1 |
TARIF -Id_tarif -Durée -Montant +Ajouter +Supprimer |
VALIDITE -code_validite -période_validi +lister +Supprimer |
Appartenir à _1 |
1,* |
1 |
Géré |
Géré |
1 |
1,* |
1,* |
Posséde |
Afficher |
1,* |
1 |
1,* |
1 |
1.4.2.2. Schéma de diagramme de classe
On peut utiliser les diagrammes de classes pour représenter un système à différentes niveaux d’abstraction en tenant compte de ces trois points de vue :
La modélisation dynamique décrit le comportement dynamique du système. Pour notre mémoire en ce qui concerne la modélisation dynamique nous allons utiliser le diagramme de séquence.
Le diagramme de séquence représente la succession chronologique des opérations réalisées par un acteur. Il a une dimension temporelle et modélise les aspects dynamiques du système.
Nous présenterons ici les diagrammes des séquences en utilisant cas d'utilisation.et compte tenu du temps qui nous est imparti nous allons présenter.
Abonné |
Agent |
Remplir le fiche d’identification |
1 |
Enregistrement du fiche, saisir le code Agent et attribution un Code PIN par défaut |
2 |
SYSTEME |
Ouverture de compte |
3 «3 |
Réception de confirmation d’ouverture |
4 «3 |
Créditer le compte |
5 «3 |
Approvisionnement de compte Abonné |
6 «3 |
Traitement |
7 |
Confirmation de dépôt |
8 «3 |
Réception du SMS de confirmation d’ouverture |
9 «3 |
UTIBA |
1.5.2.1. Cas d'utilisation « Ouverture du compte et changement de Code PIN »
1.5.2.2. Cas d’utilisation « recharge les unités à partir de son téléphone »
Abonné |
SYSTEME |
1. Entre de la syntaxe et de code PIN |
2. Vérifier la syntaxe |
3. affiche le message : mauvaise entrée |
alt. |
4. Saisir la syntaxe de recharge correcte |
5. Vérifier le code PIN |
6. Afficher message : Code erroné |
7. Traitement |
8. Valider l’opération |
alt |
Nous étudions ici la faisabilité de l'application à travers le choix adéquat des outils de travail. Un accent est mis sur l'exploitation des logiciels et systèmes libres qui ne cessent de faire leurs preuves en informatique.
Linux sera préféré aux autres systèmes concurrents comme Mac OS, Microsoft Windows. C'est un système libre qui s'est très vite imposé en informatique en raison des multiples avantages qu'il offre entre autre sa stabilité, son efficacité dans la maintenance des applications et sa sécurité. Dans le cadre du projet, la distribution Linux Ubuntu a été choisie, en raison de Formation reçu pour l’utilisation de l’interface U-Market avec son plateforme d’utiba.
1.6.2. Choix des outils de développement
1.6.2.1.Le langage de programmation : PHP
PHP (Hypertext PreProcessor) est un langage de script libre, très puissant, rapide et principalement exécuté par un serveur HTTP (Hyper Text Transfert Protocol). Un script PHP est multiplateforme, très bon support des bases de données (Oracle, Sybase, Microsoft, MySQL...) et les fonctions Web (cookies, authentification, sessions, redirection...).
1.6.2.2. Autres outils
Les outils de développement web : XHTML (eXtensible HyperText Markup Langage), CSS (Cascade Style Sheet) et JSP (JavaScript) seront aussi utilisés pour réaliser les interfaces de l'application.
1.6.2.3. L'environnement de travail : Adobe Dreamweaver CS5
Adobe Dreamweaver en sa version CS5 est un puissant outil WYSIWYG (What You See Is What You Get) qui gère les langages XHTML, PHP, CSS, JSP etc. Il faut quand même noter que c'est un logiciel payant.
1.6.2.4. Choix du SGBD : MySQL
MySQL (My Structured Query Language) est un Système de Gestion des Bases de données (SGBD) Open Source très rapide, robuste et multiutilisateur. Le serveur MySQL supporte le langage de requêtes SQL, langage standard de choix des SGBD modernes. Il est facilement accessible en réseaux et supporte des connexions sécurisées grâce au protocole SSL. La portabilité du serveur MySQL lui permet de s'exécuter sur toutes les plateformes et d'être intégré à plusieurs serveurs web.
Le serveur HTTP Apache jouit d'une notoriété indiscutable dans le monde d'Internet. D'après la société Netcraft qui étudie chaque mois les "parts de marché" des différents types de serveurs Web, Apache domine largement ses concurrents avec une utilisation sur plus de 60% des serveurs HTTP publics dans le monde. Ce succès est non seulement dû à sa gratuité, mais également à sa robustesse et à son extensibilité.
[1]Oscar Marcos Enagnon ADOUN, Conception en Génie Informatique et
Télécommunication, Edition 2009,page 139
[2] Pierre Gérard, modélisation des objets élémentaire avec UML 2, Edition DUT Informatique, Page 13