Arrow Table de matières
2197308

CHAPITRE I : MODELISATION DU SYSTEME (TROISIEME PARTIE: CONCEPTION ET IMPLEMANTATION DU SYSTEME)

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.

1.1. Définition du concept : UML

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 :

  • Les vues statiques, c'est-à-dire représentant le système physiquement
    • diagrammes d'objets
    • diagrammes de classes
    • diagrammes de cas d'utilisation
    • diagrammes de composants
    • diagrammes de déploiement
  • Les vues dynamiques, montrant le fonctionnement du système
    • diagrammes de séquence
    • diagrammes de collaboration
    • diagrammes d'états-transitions
    • diagrammes d'activités

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.

1.2. Modélisation fonctionnelle

1.2.1. Diagramme de cas d’utilisation

  • Le diagramme de cas d’utilisation est un service rendu à l’utilisateur, il implique des séries d’actions plus élémentaires.

Cas d’utilisation

Acteur

  • Un Acteur est une entité extérieure au système modélisé, et qui interagit directement avec lui.

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.

1.2.2. Règle d’identification des acteurs

  • Une même personne physique peut être représentée par plusieurs acteurs si elle a plusieurs rôles
  • Si plusieurs personnes jouent le même rôle vis-à-vis du système, elles seront représentées par un seul acteur
  • En plus des utilisateurs, les acteurs peuvent être : des périphériques, des logiciels déjà disponibles intégrés dans le projet et des systèmes informatiques externes au système mais qui interagissent avec lui.

1.2.3. Types des acteurs : on distingue des deux types acteurs en UML qui :

  • Acteur principale: l’acteur est dit principal pour un cas d’utilisation lorsque l’acteur est à l’initiative des échanges nécessaires pour réaliser le cas d’utilisation.
  • Acteurs secondaire : sont sollicités par les systèmes alors que le plus souvent les acteurs principaux ont l’initiative des interactions.

1.2.4. Description des acteurs du système et  leur  cas d'utilisation

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 :

  • Il faut se placer du point de vue de chaque acteur et déterminer comment il sert le système. Dans quels cas il l’utilise et à quelles fonctionnalités doit-t-on avoir les  accès.
  • Il faut éviter les redondances et limiter les nombres de cas en se situant au bon niveau d’abstraction.
  • Il ne faut pas faire apparaître les détails des cas d’utilisations, mais il faut rester au niveau des grandes fonctionnalités du système.

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 :

  • approvisionner son compte ;
  • Consulter son solde ;
  • Confirmer ces retrait et ces dépôt par SMS : avec un code de référence ;
  • Transférer l’argent de son compte vers un autre Abonné;
  • Acheter des crédits pour son compte ou une autre abonné ;
  • Paiement de facture à partir de son compte vers tous fournisseurs
  • Changement par SMS son code pin personnel;
  • Ouverture de compte tigo cash
  1. b) Agent tigo cash : Contrôleur de transactions, l’agent tigo cash est le second acteur principal qui utilise le système pour :
  • 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 ;
  1. C) L’administrateur : Superviseur des agents tigo cash, en plus des tâches de
    ce dernier, il est un acteur secondaire qui utilise le système pour :
  • Gérer les tarifs et des actions de promotions ;
  • Envoyer des SMS d'informations aux abonnés qui sont sur tigo cash ;
  • Gérer les comptes des agents tigo cash ;
  • Configurer le service SMS.
  • Assurer la maintenance du système

1.3. Elaboration du diagramme du contexte statique

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

1.3.1. Elaboration du diagramme de cas d'utilisation

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] :

  • Inclusion: le cas A Inclut le cas  B(c’est-à-dire  B est une partie obligatoire de A)
  • Extension: le cas B étend le cas A( c’est-à-dire  A est la partie optionnelle A )
  • Généralisation : le cas A est une généralisation du cas B (B est une sorte de A)

1.3.2. Description de diagramme  cas d’utilisation

Dans  notre  diagramme de cas d’utilisation, nous allons décrire  certaines cas pour expliciter l’utilisation du système tels que :

  1. 2.1. Cas d’utilisation : « Effectuer une opération »:

Nom  « Effectuer une opération »

  • But: Apprendre a l’abonné comment effectuer une opération par messages en  cas d’échec.
  • Résume: l’abonné émet des demandes à partir de son téléphone pour avoir les informations relatives à son  compte :
  • Connaitre son solde
  • Connaitre ces transferts
  • Modifier son code PIN
  • Connaitre ces retraits
  • Connaitre ces achats

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

  • Pré condition : opération effectuée par l’abonné : enchainement est de :
  • Vérification du numéro de téléphone
  • Vérification de l’existence du compte abonné
  • Vérification des syntaxes de l’opération
  • Vérification du code PIN
  • Vérification des droits (c’est-à-dire les nombres tentatives erronées, validité)
  • Traitement de l’opération par le système
  • Enregistrement de l’opération
  • Début du coût de l’opération pour le compte de l’abonné.
  • Post condition : réponse de l’opération : exception,
  • Le Numéro de mobile est erroné.
  • La syntaxe est erronée.
  • Le nombre de tentatives de syntaxe erronée dépasse 3.
  • Le code référence est erroné.
  • Compte de l’abonné bloqué.
    • Cas d’utilisation : « Gérer le code PIN de l’abonné »

                                                   Nom« Gérer le code PIN de l’abonné »

  • But: Alerter l’abonné par SMS pour chaque opération effectuée sur son compte.
  • Résumé: porte-feuille électronique est géré par des alertes de type push que le système envoie aux abonné par SMS, pour l'informer de l'état de son compte. Ces alertes concernent les mouvements du compte abonné, les informations sur l'état du compte, la désactivation ou blocage du Le principe consiste au déclenchement d'un événement dans le système qui aboutira à l'envoi automatique d'un SMS.

a)Acteur : Agent tigo cash

  • Pré-condition : Variable selon la nature de l'alerte. Enchainements :
  • Stocker le message.
  • Traitement du système.
  • Envoyer un SMS à l’abonne.
  • Débiter le coût du SMS du compte de l’abonné.
  • Post-condition : Réception du SMS Exceptions :
  • Blocage de code PIN de l’abonné.
  • Désactivation des alertes par l’abonné.
  • Désactivation des alertes SMS par le centre au contrôle du système.

1.3.2. 3. Cas d’utilisation : « Ouverture de compte par l’abonné » 

Nom« Ouverture de compte par l’abonné »

  • But: Bénéficier du service du système.

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é

  • Pré-condition : Etre abonné à un réseau de téléphonie mobile. Enchaînements :
  • Remplir la fiche d'identification.
  • Saisir le code de l’agent.
  • Enregistrer la fiche.
  • Créditer le compte de l’abonné.
  • Envoyer un SMS d’ouverture de compte à l’abonné.
  • Débit coût du SMS du compte de l’abonné.
  • Post-condition : L’ouverture compte se fait gratuitement et les frais de détenu de compte sera débité automatiquement du compte de l’abonné lors de premier dépôt.
  • Le code de l’agent entré est invalide.
  • Le solde du Compte de l’abonné est zéro au moment de l’ouverture de compte.

1.4. Modélisation statique

1.4.1. Le diagramme de classe

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. Identification des classes et description des associations

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 :

  • Association binaire
  • Association réflexive
  • Association dépendance
  • Association n-aire
  • Association de type agrégation, etc

A retenir également  qu’on parle aussi de types des classe tels que :

  • Classe enfant ou classe dérive : qui sont la classe spécialisée
  • Classe parent : qui est la classe générale


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 :

  • Du point de vue spécialisation : on met l’accent sur les interfaces des classes plutôt que sur leurs
  • Du point de vue conceptuel : capture les concepts du domaine et les liens qui les lient.il s’intéresse peu ou plus à la manière éventuelle d’implémenter ces concepts  et relations, ainsi que les langages d’implantation.
  • Du point de vue implantation, le plus courant, détaille le contenu et l’implantation de chaque classe.

1.5. La Modélisation dynamique

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.

1.5.1. 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.


1.5.2. Schéma de diagramme de séquence :

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

1.6. PLATE FORME DE DEVELOPPEMENT

1.6.1. Spécifications techniques du point de vue logiciel

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.

1.6.2. Choix du système d'exploitation : Linux

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.

1.6.3. Serveur Web : Apache

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

Partager ce travail sur :