Sujet :
Conception et ralisation dune
application pour la gestion de la relation client
Encadr par:
Rsum
La gestion de la relation avec la clientle (GRC), est une stratgie adopte par les entreprises pour
fidliser et mieux grer la relation avec ses clients. Notre objectif est la conception et la ralisation
dun module marketing pour une application de GRC.
Le systme a t modlis selon le processus unifi en utilisant UML et dvelopp sous une
plateforme J2EE avec une base de donnes SQL SERVER .
Mots cls : CRM, Marketing, RUP, Java, JSF, Spring, Hibernate, Servlet, Apache, SQL SERVER.
Abstract
Customer Relationship Management (CRM) is a strategy adopted by companies to develop
customer and to better manage the relation with its customers. Our object is the design and the
realization of a marketing application for a CRM system.
The system was designed using the RUP (Unified Rational Process) and it was developed under a
J2EE framework with an SQL SERVER data base.
Key words: CRM, Marketing, RUP, Java, JSF, Spring, Hibernate, Servlet, Apache, SQL
SERVER.
Remerciements
Nous voulons exprimer par ces quelques lignes de
remerciements notre gratitude envers tous ceux en qui par leur
prsence, leur soutien, leur disponibilit et leurs conseils, nous
avons eu courage daccomplir ce projet.
Nous commenons par remercier Mme Ben Mustapha Nesrine
qui nous a fait lhonneur dtre notre encadrante.
Nous la remercions profondment pour son encouragement
continue et aussi dtre toujours la pour nous couter, nous
aider et nous guider retrouver le bon chemin par sa sagesse
et ses prcieux conseils.
Ainsi que son soutien moral et sa preuve de comprhension, ce
qui nous a donn la force et le courage daccomplir ce projet.
Nos remerciements les plus sincres sadressent de mme
Monssieur Tebourbi Haithem et Mme Alouloy Zaineb, nos
encadreurs la socit Cynapsys pour leurs conseils
intressants, leur encouragement continu, ainsi que le temps
quils nous ont rserv malgr leurs grandes occupations.
Nous tenons remercier galement toute lquipe de Cynapsys,
et plus particulirement, Monsieur Salem Shouickh, pour leur
aide et leur soutien, en leur souhaitant une bonne continuation.
Nous tenons dautre part remercier les respectables membres
du jury pour bien vouloir nous accorder de leur temps prcieux
pour commenter, discuter et juger notre travail.
Ddicaces
Je ddie ce mmoire :
Mes chers parents, que nulle ddicace ne puisse
exprimer mes sincres sentiments, pour leur
patience illimite, leur encouragement contenu,
leur aide, en tmoignage de mon profond amour
et respect pour leurs grands sacrifices.
Mes chers frres : Samy, Mariem, Anis et Rym,
pour leur grand amour et leur soutien quils
trouvent ici lexpression de ma haute gratitude.
Mon trs cher ami Karim.
Mes chers amis qui sans leur encouragement ce
travail naura jamais vu le jour.
Et toute ma famille et tous ceux que jaime.
Ddicaces
Je ddie ce modeste travail :
A mes parents, en guise de reconnaissance et de
gratitude pour les
sacrifices quils ont fait.
A mes frres, qui je dois tout lamour, avec tous
mes vux de
les voir russir dans leurs vies.
A ma cousine Olfa et son mari Nabil.
A mes ami(e) s, qui je souhaite le succs, pour
lamiti qui nous a
toujours unis.
A tous ceux qui me sont chers.
Sommaire
Introduction Gnrale.............................................................................................................................1
Chapitre I : Etude Pralable et spcification des besoins........................................................................3
Introduction :..........................................................................................................................................3
I
I.1
I.2
I.2.1
I.2.2
II
Les motivations..........................................................................................................................6
III
III.1
Dfinition:..............................................................................................................................6
III.2
III.3
III.4
III.5
III.5.1
III.5.2
III.5.3
IV.2
VI.2
VI.2.1
VI.2.2
VI.2.3
VI.3
VI.4
Modle du domaine:.............................................................................................................20
VI.5
VI.6
VI.7
VI.8
VI.9
VI.10
VI.11
VI.12
VI.13
VI.14
VII
VIII
Conclusion :.........................................................................................................................................31
Chapitre II : Analyse et Conception......................................................................................................35
Introduction :........................................................................................................................................35
I
Analyse :.......................................................................................................................................35
I.1
I.1.1 Traabilit entre le modle de cas dutilisation et le modle danalyse du cas dutilisation
Grer produits :...............................................................................................................................35
I.1.2
I.1.3
I.1.3.1
I.1.3.2
I.1.3.3
I.2
I.2.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas dutilisation
Crer campagne :............................................................................................................................38
I.2.2
I.2.3
I.3
I.3.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas dutilisation
Contrler campagne :....................................................................................................................40
I.3.2
I.3.3
I.4
I.4.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas
dutilisation Planifier campagne :...................................................................................................42
I.4.2
I.4.3
I.5
I.5.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas dutilisation
Lancer campagne :.........................................................................................................................44
I.5.2
I.5.3
I.6
I.6.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas dutilisation
Suivre campagne :.........................................................................................................................46
I.6.2
I.6.3
I.7
I.7.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas dutilisation
Grer comptes :.............................................................................................................................47
I.7.2
I.7.3
I.8
I.8.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas dutilisation
Grer contacts :..............................................................................................................................49
I.8.2
I.8.3
I.9
I.9.1 Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas dutilisation
Grer prospects :............................................................................................................................50
I.9.2
I.9.3
I.10
I.10.1
Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas
dutilisation Crer opportunit :.....................................................................................................52
I.10.2
I.10.3
I.11
I.11.1
Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas
dutilisation Grer appels :.............................................................................................................55
I.11.2
I.11.3
I.11.3.1
I.11.3.2
I.11.3.3
I.11.3.4
I.12
I.12.1
Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas
dutilisation Grer profils :............................................................................................................59
I.12.2
I.12.3
I.13
I.13.1
I.13.2
I.13.3
I.14
I.14.1
Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas
dutilisation Grer Comptes Utilisateur :.......................................................................................62
I.14.2
I.14.3
I.15
I.15.1
Traabilit entre le modle de cas dutilisation et le modle danalyse pour le cas
dutilisation Sauthentifier :............................................................................................................65
I.15.2
I.15.3
II
Conception :.................................................................................................................................67
II.1
II.2
II.3
II.4
III
III.1
III.1.1
III.1.2
III.1.3
III.2
III.3
III.3.1
III.3.2
III.3.3
III.4
III.4.1
III.4.2
III.4.3
III.5
III.5.1
III.5.2
III.5.3
III.6
III.6.1
III.6.2
III.6.3
IV
Conclusion :.........................................................................................................................................78
Chapitre III : Ralisation et Mise en uvre..........................................................................................81
Introduction :........................................................................................................................................81
I
I.1
I.2
II
III
Le modle de dploiement:...........................................................................................................83
Le modle de composants :.......................................................................................................83
III.1
III.2
IV
V.1
V.2
V.3
V.4
Choix du systme de gestion de la base de donnes : Microsoft SQL Server 2005 :................88
VI
VI.1
VI.2
VI.3
VII
Conclusion :.........................................................................................................................................97
Conclusion Gnrale............................................................................................................................93
Annexes................................................................................................................................................94
Glossaire.............................................................................................................................................109
Bibliographie et Netographie..............................................................................................................110
Introduction gnrale
Introduction Gnrale
Dans notre socit, linformation est devenue un lment la fois stratgique pour dvelopper
les activits, et essentiel pour assurer un avantage concurrentiel (optimisation des cots,
meilleure satisfaction des clients) aux entits qui savent lutiliser. Ce constat explique la
raison pour laquelle les entreprises cherchent aujourdhui mettre en place des systmes de
collecte et de traitement de donnes plus performants.
De mme, la satisfaction du client est plus que jamais au centre des proccupations des
entreprises et se concrtise par une gestion personnalise de la relation client : comprendre les
clients et leurs attentes, les fidliser, les inciter consommer davantage. Le CRM (Customer
Relationship Management), dit aussi GRC (Gestion de la relation Client) a pour objet
d'identifier, attirer et conserver les meilleurs clients et de maximiser le chiffre d'affaire et la
rentabilit.
La GRC englobe l'ensemble des activits et des processus que doit mettre en place une
entreprise pour interagir avec ses clients et ses prospects afin de leur fournir des produits et
des services adquats au bon moment. Les entreprises ont, de plus en plus, recours une
approche de type de CRM, afin de se diffrencier. Une exigence accrue du client conduit les
entreprises faire voluer leur offre dans le sens d'une plus grande personnalisation.
Ce projet consiste concevoir et raliser un module marketing pour une application de
gestion de la relation client, intitule CYNCRM.
Dans ce cadre, la modlisation de ce module se base sur le Processus Unifi et la notation
UML.
Rappelons que le processus unifi est constitu de quatre phases (Cration, Elaboration,
Construction et Transition), chacune comportant les activits suivantes : spcification des
besoins, analyse, conception, ralisations et tests.
Dans ce rapport, on considre uniquement les activits, puisque le projet est prsent en une
seule itration. De ce fait, les diffrentes phases sont incorpores dans les diffrentes activits,
qui se prsentent en trois principaux chapitres :
Le premier chapitre intitul Etude pralable et spcification des besoins est le point
de dpart. Il consiste, dans un premier lieu, donner un aperu sur lorganisme
daccueil Cynapsys et prsenter le projet ainsi que les objectifs et les motivations.
Page | 1
Introduction gnrale
En second lieu, il prsente une tude succincte de ltat de lart permettant de se situer
par rapport aux solutions et technologies des applications de gestion de la relation
client existantes sur le march. De mme, il met en valeur les besoins attendues par les
futurs utilisateurs du systme ainsi que la justification du choix de la mthode de
conception adopte.
Le deuxime chapitre intitul Analyse et conception porte sur lanalyse des besoins
dcrits dans le chapitre prcdant. Il met, galement, en exergue laspect conceptuel de
lapplication en prsentant les diffrents scnarios par lintermdiaire du langage de
conception et de modlisation UML. Cette phase est primordiale puisquelle assure le
dveloppement dune carte dont on pourra se servir pour la programmation.
Le troisime chapitre intitul Ralisation et tests est consacr la prsentation de
lenvironnement de ralisation de lapplication et de loutil de reprsentation de la
persistance des donnes. Il schmatise la transformation des besoins capturs, analyss
et conus dans les prcdents chapitres en un produit qui rpond aux attentes des
utilisateurs.
Enfin, une conclusion qui, synthtise le travail et prsente les perspectives envisages.
Page | 2
Le Ple J2EE a pour tche la ralisation des applications sur demande en utilisant
la technologie Java/J2EE (JAVA 2 Entreprise Edition).
rpond le plus leur besoins. Dans cette situation, les entreprises, y compris CYNAPSYS,
doivent offrir un avantage concurrentiel pour attirer et fidliser ses clients et assurer sa part de
march.
Cest pourquoi, soucieuse dassouvir les besoins de sa clientle, CYNAPSYS a dcid de
mettre en place un systme informatique charg de la gestion de sa relation avec ses clients
aussi bien en Tunisie qu ltranger.
Elle doit disposer doutils et de moyens efficaces pour orienter ses principaux services
savoir ; le marketing, la vente et laprs-vente.
En effet, CYNAPSYS envisage la mise en place dun CRM. Ce systme, intitul CYNCRM,
lui permettra la conqute, le suivi et la fidlisation de ses clients. De plus, il fera lobjet dune
publication en libre code (Open Source), la disponibilit des autres entreprises.
Cest dans ce cadre que sinscrit notre mmoire de fin dtudes universitaires de la matrise en
Informatique Applique la Gestion, qui consiste proposer une solution dans le but de
mieux grer la relation avec le client. Notre choix a t fix sur lutilisation des nouvelles
technologies de linformation et de communication savoir le WEB, J2EE etc.
I.2.1
Cette application CRM sinscrit dans le cadre dun projet pilote qui vient rpondre des
objectifs dordre stratgique ( long terme).Ces axes stratgiques desquels dcoule la mise en
place de cette application sont les suivants:
La consommation de la baisse des charges provoques par la crise conomique
mondiale qui a rduit lacquisition des nouveaux projets : il sagit de mettre jour les
profils des ingnieurs et les motiver pour faire face aux problmes engendrs par cette
crise.
La production dune action de marketing travers la publication de ce projet en code
libre (open source) : ceci permet de promouvoir le produit et davoir des activits
autour de lui tels que le consulting, la personnalisation (customizing) et la formation,
dans loptique de prvoir des versions payantes encore plus personnaliss en fonction
des clients.
Lobtention de la certification CMMI niveau 3 et ISO 9001 - v 2000 : travers le
dploiement des processus qualit exigs par ces modles et normes.
I.2.2
Les objectifs oprationnels que les entreprises cherchent atteindre travers la mise en place
dun tel systme CRM, consistent :
Page | 5
offrir aux spcialistes de vente des outils permettant daugmenter leur chiffre
daffaires ;
acclrer les dcisions dachat ;
maximiser la productivit de lquipe.
II Les motivations
Le choix du projet de fin dtude est une tape dlicate, puisquelle matrialise la transaction
entre lenvironnement ducationnel et la vie professionnelle.
Plusieurs motivations ont orient notre choix :
En premier lieu, notre sujet fait le lien entre nos atouts qui sont linformatique et la
gestion.
En second lieu, le CRM est devenu un sujet trs important voire un sujet dactualit ;
il est au cur des proccupations de toutes les entreprises qui cherchent accrotre et
fidliser leurs portefeuilles clients. Cest pour cette raison quun systme CRM est
devenu un ingrdient professionnel en passe de devoir indispensable pour les
entreprises.
En troisime lieu, il nous permet dapprofondir encore plus nos connaissances en
matire dinformatique en ayant loccasion de travailler avec des technologies
innovantes telle que la technologie J2EE.
Page | 6
Stock Managment
EDM
CRM
Accounting system
Le CRM nest pas un systme autonome, il nvolue pas tout seul, mais il interagit avec
dautres systmes. En effet, il interagit avec trois systmes diffrents (cf. figure 2):
Un systme de gestion des disponibilits ; pour vrifier la disponibilit du stock
(produit) ou du service demand.
Un systme GED ; pour la gestion lectronique des Documents.
Un systme de comptabilit; pour le suivi des statuts de commandes et la vrification
des garanties.
III.3 Les lments du CRM :
mise en place dun CRM constitue semble tre un remde pour ce problme. En effet,
le CRM offre des outils qui permettent la distinction des clients et leur gestion.
Le management: Les informations collectes et relatives aux clients sont transformes
en connaissances qui seront utilises pour organiser des activits permettant de tirer
profit des opportunits du march (elles conditionnent les activits de lentreprise). Le
CRM implique donc un changement continu dans la culture de lentreprise, de ses
diffrents processus et du comportement de ses employs qui doivent tre dans un tat
desprit CRM.
La relation entre les deux : elle matrialise la communication et les diffrentes
interactions entre lentreprise et ses clients. Cette relation peut durer long-terme ou
court-terme, elle peut tre continue ou discrte, rpte ou unique. Elle est relie aux
attitudes et aux comportements. Un client peut manifester une attitude positive envers
une entreprise mais son comportement dachat est occasionnel. Ce type de relation est
mesur par le CLV (valeur du cycle de vie client).
Le CRM consiste donc grer cette relation pour quelle soit mutuellement bnfique.
III.4 Les domaines du CRM :
Le CRM ou GRC est l'intgration technologique des processus transversaux lis au
marketing, la vente et aux services clients, dans une optique d'automatisation et
d'amlioration de la gestion de la relation avec le client.
En tant quoutil orient client, le CRM sadresse avant tout aux services suivants, qui sont
troitement lis les uns aux autres (cf. figure 4):
Le Marketing : il sagit de lavant-vente consistant tudier le march ; c'est--dire les
besoins des clients et dmarcher les prospects. Lanalyse des informations collectes
sur le client permet lentreprise de revoir sa gamme de produits afin de rpondre plus
prcisment ses attentes. En effet, il sert pour le ciblage, la gestion des actions
marketing et lidentification des opportunits de vente.
La Vente : elle couvre tout le processus de vente depuis la dcouverte dune affaire ou
vente potentielle, jusquau rglement des factures par le client.
LAprs-vente : elle concerne les actions entreprises suite aux ventes dans le but de
rpondre aux ractions et rclamations des clients.
Page | 8
Chaque domaine est dcrit par un processus spcifique comportant un ensemble dactivits.
Dans ce qui suit, nous allons nous intresser, seulement, au processus Marketing. En effet, ce
processus constitue le module qui nous concerne dans le projet CYNCRM .
III.5 Le processus Marketing :
Pour garantir la russite de la relation avec la clientle, et ce long terme, un travail
prliminaire est obligatoire au sein de lentreprise permettant dattirer dabord et de fidliser
ensuite les meilleurs clients. Ce travail davant-vente sappuie sur un aspect marketingmarch. Cet aspect vise le lancement de compagnes et de promotions diverses. Pour cela, la
conception des campagnes ncessitent de choisir la priode, le produit, le cot, le lieu, la
clientle, les communications et les moyens impliqus.
Tous ces aspects ont un objectif unique qui est celui de mieux vendre et donc daugmenter les
bnfices.
Ainsi, lentreprise doit tre en mesure de constituer toutes les informations utiles et
ncessaires afin de les analyser facilement et dy accder en temps rel. La gestion des
relations clients permet deffectuer le suivi des donnes des clients, y avoir accs et interagir
avec lensemble des donnes.
Le processus de Marketing correspond un processus itratif et incrmental constitu par les
tapes suivantes (cf. figure 5) :
La gestion des campagnes.
La gestion des communications.
La gestion des comptes clients.
Page | 9
Ma
rke
tin
g
Bien que le client constitue, le centre dintrt des entreprises, limportance des produits et
des services commercialiss ne disparat pas pour autant. Lentreprise doit grer de faon
dtaille lensemble de ses produits ou services.
Elle doit, galement, tre en mesure de grer ses campagnes dune manire efficace. En effet,
Les campagnes reprsentent les actions permettant denvoyer les informations de lentreprise
vers lensemble du public ou vers un public cibl. Elle doit, donc, disposer doutils et de
moyens ncessaires pour la planification, le lancement et le suivi de ces dernires, tout en
tenant compte des notions qui sy rapporte (en relation avec elles) y compris les promotions,
les produits, lquipe commercialeetc. (cf. figure 6)
Page | 10
Unit organisationnelle
Gestio
n des
rendez
Gestio
-vous
n
des
Gestio
appels
Gestio
n des
nFAX
des
Gestio
En
mails
des
Gestio
lettres
n des
SMS
Figure 7: Gestion des Communications
La gestion des communications est une fonction transversale mise la disposition des acteurs
du processus marketing, vente et aprs-vente. Elle consiste grer les communications
entrantes et sortantes et garder trace de ces communications. On distingue diffrents types
de communications, savoir les appels, les fax, les emails, les sms, les rendez-vousetc.
La diversit des moyens de communication est explique par la nature des prfrences qui
diffrent dun client un autre. En effet, pour chaque client, on doit prciser son moyen de
communication prfr qui sera le moyen le plus efficace pour le contacter. Il peut tre le
tlphone, le fax, le courrier postal, le courrier lectroniqueetc. Cette information est
renseigne par le service marketing et elle peut changer dans le temps.
Ainsi, lors des campagnes marketing, le moyen de communication utilis peut tre fix pour
touts les clients ou bien on peut utiliser pour chaque client son moyen de communication
prfr. (cf. figure 7)
III.5.3 La gestion des comptes et des contacts :
Page | 11
Page | 12
Pour mener bien ce travail, il est ncessaire de dfinir une mthodologie de travail. Dans
cette partie, nous prsentons les choix conceptuels en termes de mthode de conception,
doutils techniques et de cycle de vie logiciel.
IV.1 Choix de la mthode de conception :
Le plus grand avantage dune mthode oriente objet est quelle permet de structurer un
systme sans centrer lanalyse uniquement sur les donnes ou uniquement sur les traitements
mais sur les deux la fois. Une telle approche a pour but de modliser les proprits statiques
et dynamiques de lenvironnement du systme. Elle met en correspondance le problme et la
solution, en prservant la structure et le comportement du systme analys.
Ceci, nous a conduit adopter lapproche oriente objet pour modliser notre systme en se
basant sur les diagrammes UML [3]. (cf. figure 9).
Donc cest un Framework de processus gnrique pouvant tre adapt une large classe de
systmes logiciels, diffrents domaines dapplication, diffrents types dentreprises,
diffrents niveaux de comptences et diffrentes tailles de projets.
Ce processus prsente plusieurs avantages, que nous citons :
Limiter les cots, en termes de risques, aux strictes dpenses lies une seule
itration.
Limiter les risques de retard de mise en place du produit dvelopp.
Acclrer le rythme de lensemble du dveloppement.
Prendre en compte le fait que les besoins des utilisateurs et les exigences
correspondantes ne puissent tre intgralement dfinies lavance.
A cet effet, il est intressant de voir de quoi est compose la mthodologie, choisie dans le
cadre de ce projet, Processus unifi (PU) :
En fait, le Processus Unifi (UP) est un processus de dveloppement logiciel itratif et
incrmental, centr sur larchitecture, guid par les cas dutilisation et pilot par les
risques :
Itratif et incrmentale : le projet est dcoup en itrations ou tapes de courte dure
qui permettent de mieux suivre lavancement global. A la fin de chaque itration une
partie excutable du systme finale est produite de faon incrmentale (par ajout).
Centr sur larchitecture : tout systme complexe doit tre dcompos en partie
modulaire afin den faciliter la maintenance et lvolution. Cette architecture
(fonctionnelle, logique, matrielle, etc.) doit tre modlise en UML, et pas seulement
documente en texte.
Pilot par les risques : les risques majeurs du projet doivent tre identifis au plutt
mais surtout levs le plus rapidement possible. Les mesures prendre dans ce cadre
dterminent lordre ditration.
Guid par les cas dutilisation : le projet est men en tenant compte des besoins et des
exigences des utilisateurs. Les cas dutilisation du futur systme sont identifis, dcrits
avec prcision et classs par priorit.
La gestion dun tel processus est organise selon les quatre phases suivantes : initialisation,
laboration, construction et transition. (cf. figure 10)
Page | 14
Page | 15
Utilisateur.
Administrateur.
Responsable Marketing.
Responsable Commercial.
Agent Marketing.
Agent Commercial.
Page | 16
Utilisateur
Agent Marketing
Agent
Commercial
Administrateur
Responsable
Commercial
Responsable
Marketing
Page | 17
Grer campagne.
Planifier campagne.
Lancer campagne.
Suivre campagne.
Grer compte.
Grer contact.
Grer opportunits.
Grer prospect.
Grer produit.
Crer campagne.
Modifier campagne.
Grer compte
Grer contact.
Grer opportunits.
Page | 18
Page | 19
Administrateur
Grer utilisateurs
Grer comptes
Responsable
Marketing
Grer contacts
Grer produits
Grer opportunits
Agent
Commercial
Grer campagnes
Grer documents
Grer prospects
Agent Marketing
Responsable
Commercial
Utilisateur
Page | 20
domaine. Elles sont dtermines directement partir de la connaissance des domaines ou par
interviews des acteurs mtiers.
En pratique, on sest servis du modle du domaine comme sources complmentaires
dinformation lexpression initiale des besoins et au modle de cas dutilisation et on a
adopt les tapes suivantes :
Lidentification des concepts du domaine (classes conceptuelles) pour chaque cas
dutilisation
Llaboration dun diagramme de classe du modle du domaine.
Ainsi, en reprenant les cas dutilisation un par un on extrait les concepts du domaine suivants
(cf. figure 15) :
dcrire2
0..n
0..n
Utilisateur
idUtilisateur
nom
1
Compte
idCompte
nom
Campagne
idCampagne
nom
0..n
cibler
effectuer
concerner
Document
idDocument
url
0..n
1..n
dcrire
0..n
1..n
0..n
1
Contact
idContact
nom
Produit
idProduit
nom
Activit
idActivit
nom
correspondre
Prospect
idProspect
nom
0..1
Opportunit
idOpportunit
nom
Dans le cadre de la gestion des campagnes, la classe Campagne reprsente la classe principale
autour de laquelle oprent toutes les autres classes.
De plus, une campagne cible des comptes (reprsents par la clase Compte) qui sont invits
cette dernire. La notion dinvitation est reprsente par la classe dassociation Invitation. Le
rsultat de cette invitation dpend de la rponse des comptes lgard de la campagne ; cette
rponse peut tre positive, ngative, neutre ou sans rponse.
La classe Compte reprsente un tiers de lentreprise entretenant des relations avec cette
dernire.
Page | 22
De plus, un compte peut tre reprsent par un ou plusieurs contacts (reprsents) par la
classe Contact.
Lorsquun contact est intress par un produit, celui-ci reprsentera pour lentreprise un
Prospect (un client potentiel). Un prospect pourra ventuellement se transformer en une
opportunit de vente, cest dire une affaire, (reprsente par la classe Opportunit), dans le
cas o il passe un devis ou une commande.
Les activits reprsentent les moyens de communications par lintermdiaire desquels
lentreprise communique avec ses comptes. Une activit peut tre soit un appel, un mail, un
fax, une lettre.
Dans le cadre de ce projet, on a prvu seulement le cas de lappel (reprsent par la classe
Call).
La classe Document sert rfrencer les documents relatifs aux produits et aux campagnes.
Enfin, dans le cadre de la gestion des utilisateurs, la classe Agent reprsente le personnel de
lentreprise et plus particulirement qui appartient qui dpartement commercial ou marketing.
La classe Utilisateur reprsente un agent qui possde un compte utilisateur lui permettant
daccder lapplication. En effet, chaque profil, est associ un ou plusieurs cas
dutilisation. Par consquent, un utilisateur ne peut excuter que les cas qui correspondent
son ou ses profil(s).
Page | 23
S'authentifier
<<include>>
Agent Marketing
crer produit
grer produit
modifier produit
<<extend>>
consulter produit
grer document
Cest la premire brique du CRM qui permet lutilisateur de grer les produits offerts par
lentreprise. En effet, ce module permet lagent ou au responsable Marketing de crer de
nouveaux produits, de les modifier et de les consulter. En crant ou en modifiant un produit,
lutilisateur a la possibilit dassocier ou de supprimer un ou plusieurs documents qui sont en
relation avec ce produit. De plus, il lui est possible de chercher un produit prcis en saisissant
les critres de recherche dsirs. (cf. figure 16)
S'autehentif ier
Agent Marketing
<<include>>
<<extend>>
grer documents
cer campagne
modif ier campagne
<<extend>>
Responsable
Marketing
Grer campagnes
contrler
lancer campagne
suiv re campagne
consulter campagne
Page | 24
nouvelle
valide
invalide
planifie
modifie
lance
Clture
Page | 25
Ajouter document
Grer documents
Utilisateur
Consulter document
Supprimer document
S'authenti fi er
<<i nclude>>
Crer compte
Agent Marketing
<<i nclude>>
Grer contacts
Page | 26
Il est noter que la gestion des comptes fait, imprativement, appel la gestion des contacts.
En effet, un compte ne peut pas exister tout seul, mais il doit tre reprsent par un contact ou
plusieurs. (cf. figure 20)
<<include>>
Grer contacts
<<include>>
Modifier contact
Supprim er contact
Grer comptes
Le module Grer contacts assure la gestion des contacts qui ont pour rle de reprsenter
les comptes. Lutilisateur peut crer un contact. Par la suite, il a la possibilit de lassocier
un compte soit en faisant appel un compte dj existant ou en crant un nouveau.
Grce la fonction de consultation, lutilisateur peut visualiser touts les contacts disponibles
comme il peut consulter le dtail dun contact prcis. Il a aussi la possibilit de rechercher un
contact, de le modifier et de le supprimer. (cf. figure 21)
S'authentifier
Agent Marketi ng
Grer prospects
Consulter prospect
Supprimer prospect
Page | 27
Nouveau
Modifi
Converti en
opportunit
Exclu
Lorsquil est cre, le prospect a le statut nouveau . Il peut tre modifi une ou
plusieurs fois. Si lutilisateur le supprime, il est alors exclu . Sinon, il sera converti en
opportunit . (cf. figure 23)
S'authentifier
<<include>>
Agent Marketing
Crer opportunit/Assigner
prospect
Grer opportunits
<<include>>
Modifier opportunit
Consulter opportunit
Evaluer opportunit
Grer communications
Page | 28
La gestion des opportunits constitue une continuit de la gestion des prospects. En effet,
lutilisateur a la possibilit de crer une nouvelle opportunit, et ce en assignant un agent un
prospect.
Une fois que lopportunit est cre, elle pourrait alors tre consulte ou modifie une ou
plusieurs fois. (cf. figure 24)
Modifie
Cre
Convertie en
commande
Tout dabord, une opportunit est cre . Ensuite, elle peut tre modifie une ou
plusieurs fois et puis, convertie en commande ou alors directement convertie en
commande. (cf. figure 25)
S'autehentifier
<<include>>
Utilisateur
Grer communications
Planifier appel
Enregistrer appel
Consulter appels
La gestion des communications est un module qui intervient dans tous les processus CRM.
Elle permet chaque utilisateur denregistrer les appels qui lui sont relatifs. En effet,
lutilisateur a la possibilit denregistrer un appel quil a effectu avec un contact et ce en
introduisant les informations ncessaires. De mme, il peut planifier un appel pour tre
effectu par un agent (dont il est un suprieur hirarchique) quil dsigne une date donn.
Ainsi, un utilisateur peut consulter la liste des appels qui lui sont affects et les effectuer. Il est
noter que si lutilisateur nest pas administrateur, il ne pourra planifier un appel que pour
lui-mme. De plus, lutilisateur peut consulter la liste des appels effectus ainsi que ceux non
Page | 29
encore effectus. Pour les appels non effectus, il peut consulter les appels planifis ainsi que
ceux non encore planifis. Si un appel effectu est sans rponse, alors il pourra le consulter et
le reporter pour une autre date. (cf. figure 26)
Modifi
Cre
Effectu
Planifi
report
Le premier tat dun appel est cre . Il pourrait, par la suite, tre modifi une ou
plusieurs fois. Lorsque lutilisateur le planifie pour une certaine, il est alors planifi . Puis,
il est sera effectu . Sil ny a pas eu de rponse, il sera report . (cf. figure 27)
Crer agent
Modifier agent
S'authentifi er
Grer agents
Crer compte-util isateur
<<extend>>
Admini strateur
Grer comptes-utilisateur
Grer profi ls
Crer profi l
Consulter profi l
Modifier profi l
Suppri mer profil
Page | 30
Cette fonctionnalit permet ladministrateur de grer les profils des utilisateurs et daffecter
les droits daccs aux diffrents modules du systme. Ladministrateur a la possibilit de grer
les agents de lentreprise (cration, modification, consultation). De mme, il a la possibilit de
crer des comptes utilisateurs permettant laccs au systme. Pour chaque compte, il peut
associer un ou plusieurs profils dfinissant les privilges. Il peut aussi consulter la liste des
comptes-utilisateurs disponibles et de supprimer des comptes.
En plus, la fonction de gestion des profils permet de crer des profils en leur affectant des cas
dutilisation et/ou des sous cas dutilisation. Il peut aussi consulter la liste des profils
disponibles et de supprimer les profils quil dsire. (cf. figure 28)
Cre
Dsactiv
Supprim
Activ
Lobjet utilisateur reprsente un compte qui peut tre, dans un premier temps, cre .
Ensuite, celui-ci peut tre soit dsactiv soit supprim . De plus, il a t dsactiv il
pourra tre activ de nouveau.
Tout dpend des dcisions de ladministrateur. (cf. figure 29)
Page | 31
Un risque qui se prsente est la non fiabilit des informations sais auprs du personnel.
Le non ralisation du systme dans les dlais souhaits.
Lincomprhension des besoins des utilisateurs ainsi que leur ralisation.
Le non disponibilit des matriels requis pour implanter larchitecture J2EE.
Conclusion :
Ce premier chapitre, a t consacr, en premier lieu, la prsentation gnrale du cadre de
notre travail : (prsentation de la socit daccueil, description des objectifs et des
motivations). En second lieu, nous avons procd ltude pralable qui nous a permis de
comprendre les principes de base dun systme de gestion de la relation client, en gnral. Ces
principes nous ont permis, par la suite, didentifier les principaux besoins des utilisateurs et de
tracer les grandes lignes de notre systme en dfinissant ses fonctionnalits et les acteurs qui
interagissent avec. Puis, grce au modle de cas dutilisation, nous avons essay de lever les
ambiguts sur les besoins et les exigences. Lanalyse et la conception des cas dutilisation
seront dtailles dans le chapitre suivant.
Page | 32
Analyse et Conception
I Analyse :
Lenchanement danalyse prsente une analyse dtaille de chaque dutilisation travers les
diagrammes danalyse, de classe et de collaboration.
Page | 35
Analyse et Conception
Pour grer ses produits, lutilisateur peut interagir avec le systme grce des interfaces
ddies faciliter cette communication:
IUProduit : Cette interface permet lutilisateur de consulter la liste de ses produits et
deffectuer une recherche rapide selon des critres bien dfinis. Cest partir delle que
lutilisateur peut passer une interface de cration ou de modification dun produit.
IUAjoutProduit : Cette interface permet lutilisateur de crer un nouveau produit.
InterfaceModificationProduit : Elle permet lutilisateur de crer un produit donn.
Pour raliser toutes ces oprations, le systme se dote dun GestionnaireProduit permettant
dexcuter les fonctions. En effet, ce gestionnaire extrait les donnes ncessaires de la classe
Produit contenant les informations de touts les produits. (cf. figure 31)
Page | 36
Analyse et Conception
: Agent Marketing
: Produit
1: Critres de recherche saisis
2: Bouton 'Recherche' cliqu
4: Rcuprer produits
7: Liste produits retourne
3: Rcuprer produits
: IUProduit
: GestionnaireProduit
Description textuelle :
Lutilisateur saisit les critres de recherche dans les champs appropris et clique sur le bouton
Recherche. (1) et (2) Linterface IUProduit demande au GestionnaireProduit de rechercher
les produits correspondant aux critres de recherche saisis. (3) Le GestionnaireProduit extrait
les produits correspondant aux critres de recherche saisis. (4) Liste produits recherchs
retourne et affiche. (5) (6) (7) (cf. figure 33)
I.1.3.3 Diagrammes de collaboration du cas Consulter produits :
: Agent Marketing
: Produit
1: Critres de recherche saisis
2: Bouton 'Recherche' cliqu
4: Rcuprer produits
7: Liste produits retourne
3: Rcuprer produits
: IUProduit
: GestionnaireProduit
Page | 37
Analyse et Conception
Description textuelle : Lutilisateur choisit le menu Liste produit. (1) Linterface IUProduit
demande au GestionnaireProduit de rcuprer la liste des produits disponibles. (2) Le
GestionnaireProduit extrait la liste des produits disponibles. (3) Liste produits retourne et
affiche. (4) (5) (6) (cf. figure 34)
Remarque : Le traitement des fonctions de recherche et de consultation est le mme pour
toute les entits de lapplication. Pour cela, on a procd les analyser seulement pour le cas
du produit. En effet, le reste des entits sont traites de la mme manire.
raliser
toutes
GestionnaireCampagne,
ces
oprations,
le
GestionnaireProduit
systme
et
se
dote
des
GestionnaireCompte
qui
gestionnaires
permettent
Page | 38
Analyse et Conception
dexcuter les oprations ncessaires la cration dune nouvelle campagne. En effet, les
gestionnaires GestionnaireProduit et GestionnaireCompte extraient les donnes ncessaires,
respectivement des classes Produit et Compte contenant toutes les informations qui se
rapportent aux produits et aux comptes. Quant au GestionnaireCampagne, il permet
denregistrer des informations de la campagne cre dans la classe Campagne (cf. figure 36)
Produit
GestionnaireProduit
ProduitCampagne
Agent Marketing
IUCreationCampagne GestionnaireCampagne
Campagne
Invitation
Compte
GestionnaireCompte
6: Liste produits
5: Liste produits
: GestionnaireProduit
18: Ajouter ProduitCampagne
: Agent Marketing
: Produit
: Campagne
: Invitation
: Compte
Page | 39
Analyse et Conception
Description textuelle :
Lutilisateur remplit le formulaire en introduisant les donnes dans leurs champs appropris
dIUCreationCampagne et clique sur le bouton Ajouter Produits. (1) (2)
Linterface IUCreationCampagne demande au GestionnaireProduit de rcuprer la liste des
produits disponibles. (3) Le GestionnaireProduit rcupre les produits disponibles et les
affiche. (4) (5) (6) (7) Lutilisateur choisis les produits ajouter la campagne. (8) Mme
scnario, pour lajout de comptes. (9) (15) Lutilisateur valide la cration de la campagne.
(16) Linterface IUCreationCampagne demande au GestionnaireCampagne de crer la
nouvelle campagne. (17) Le GestionnaireCampagne ajoute une nouvelle campagne la table
Campagne. (18) La campagne a t bien cre. (19) (20) (21)
Page | 40
Analyse et Conception
Pour contrler ses campagnes, lutilisateur interagit avec le systme travers linterface
IUControleCampagne qui lui permet de choisir une campagne parmi la liste des celles cres
dans le but de vrifier sa validit.
Le systme se dote dun gestionnaire GestionnaireCampagne, qui permet dexcuter les
oprations ncessaires pour le contrle des campagnes. Il extrait les donnes ncessaires de la
classe Campagne contenant toutes les informations qui se rapportent aux campagnes. (cf.
figure 39)
Description textuelle :
Lutilisateur choisit la campagne contrler. (1) Linterface InterfaceContrlerCampagne
demande au GestionnaireCampagne dafficher le dtail de la campagne choisie. (2) Le
GestionnaireCampagne extrait les donnes de la campagne choisie. (3) Le dtail de la
campagne a t bien extrait et, puis, affich. (4) (5) (6) Lutilisateur valide la campagne. (7)
Linterface InterfaceContrlerCampagne demande au GestionnaireCampagne de valider la
campagne. (8) Le GestionnaireCampagne change le statut de la campagne en valide . (9)
La campagne a t bien valide. (10) (11) (12)
Page | 41
Analyse et Conception
Pour planifier une campagne, lutilisateur interagit avec le systme grce des interfaces
ddies faciliter cette communication :
IUPlanificationCampagne.
IUAjoutPromotion.
Le systme se dote des gestionnaires GestionnaireCampagne, GestionnaireProduitCampagne, GestionnairePromotion et GestionnaireAssignement permettant de traiter les
donnes ncessaires, respectivement, des classes Campagne, ProduitCampagne, Promotion,
Page | 42
Analyse et Conception
et Assignement contenant toutes les informations qui se rapportent aux campagnes, produits,
promotions, et assignements. (cf. figure 42)
Description textuelle :
Lutilisateur complte le formulaire de planification en introduisant les donnes dans leurs
champs appropris de linterface IUPlanificationCampagne et clique sur le bouton Ajouter
Promotion .
(1)
(2)
Linterface
IUPlanificationCampagne
demande
linterface
Page | 43
Analyse et Conception
produits
associs
produits
et
valide.
(12)
(13)
Linterface
IUAjoutPromotion
demande
au
Page | 44
Analyse et Conception
IULancementCampagne
Responsable Marketing
Campagne
GestionnaireCampagne
Pour lancer une campagne, lutilisateur peut interagir avec le systme grce linterface
IULancement Campagne ddie faciliter cette communication.
De mme, le systme se dote dun GestionnaireCampagne permettant de traiter les donnes
ncessaires de la classe Campagne contenant toutes les informations qui se rapportent aux
campagnes. (cf. figure 45)
: Campagne
: Responsable Marketing
1: Campagne choisie
7: Bouton 'Lancer' cliqu
4: Dtails campagne
10: Campagne modifie
: IULancementCampagne
: GestionnaireCampagne
Description textuelle :
Lutilisateur choisit la campagne quil a dcid lancer et clique sur le lien Dtails. (1)
Linterface IULancementCampagne demande au gestionnaireCampagne dafficher les dtails
de la campagne choisie. Le GestionnaireCampagne extrait les donnes de la campagne
choisie. (3) Donnes campagne retournes. (4) (5) (6) Lutilisateur lance la campagne en
cliquant sur le bouton Lancer. (7) LIULancementCampagne demande au
gestionnaireCampagne de la lancer. (8) Le GestionnaireCampagne change son statut de
planifie lance. (9) La campagne a t bien lance. (10) (11) (12)
Page | 45
Analyse et Conception
Invitation
Responsable Marketing
IUSuiviCampagne
GestionnaireCampagne
Campagne
Cest grce la fonction de suivi des campagnes que le responsable marketing a la possibilit
de suivre les campagnes lances. Pour ce faire, lutilisateur interagit avec le systme via
linterface IUSuiviCampagne ddie faciliter cette communication.
De mme, le systme se dote dun GestionnaireCampagne permettant de traiter les donnes
ncessaires de la classe Campagne contenant toutes les informations qui se rapportent aux
campagnes. (cf. figure 48)
Page | 46
Analyse et Conception
La liste des campagnes lances est affich, aprs clic sur le sous-menu Suivi
Campagne.
Description textuelle :
Lutilisateur choisit la campagne quil dsire suivre et clique sur le lien Suivi. (1) Linterface
IUSuiviCampagne demande au gestionnaireCampagne dafficher le suivi de la campagne
choisie. (2) Le GestionnaireCampagne extrait le suivi de la campagne choisie. (3) Le suivi
campagne est retourn. (4) (5) (6) Lutilisateur change la nature dune rponse. (7) Le
GestionnaireCampagne met jour la rponse et lenregistre. (9) La rponse a t bien mise
jour. (10) (11) (12)
Page | 47
Analyse et Conception
IUAjoutCompte
GestionnaireContact
Contact
IUCompte
Agent Marketing
GestionnaireCompte
Compte
IUModoficationCompte
Pour grer ses comptes, lutilisateur peut interagir avec le systme grce des interfaces
ddies faciliter cette communication :
IUCompte.
InterfaceAjoutCompte.
InterfaceModificationCompte.
Mais, pour raliser toutes ces oprations, le systme se dote dun gestionnaire
GestionnaireCompte, qui permet dexcuter les fonctions selon le choix de lutilisateur. Les
gestionnaires GestionnaireCompte et GestionnaireContact extraient les donnes ncessaires,
respectivement des classes Compte et Contact contenant toutes les informations qui se
rapportent aux comptes et aux contacts. (cf. figure 51)
Page | 48
Analyse et Conception
6: compte ajout
4: ajouter compte
5: compte ajout
: GestionnaireCompte
: Compte
Description textuelle :
Lutilisateur remplit le formulaire dajout en introduisant les donnes dans leurs champs
appropris de lInterface IUAjoutCompte. (1) Linterface IUAjoutCompte demande au
gestionnaire GestionnaireCompte dajouter un nouveau compte. (2) Linterface
InterfaceAjoutCompte demande au GestionnaireCompte dajouter le compte. (3) Le
GestionnaireCompte ajoute un nouveau compte la classe Compte. Le compte a t bien
cre. (5) (6) (7)
Page | 49
Analyse et Conception
GestionnaireContact
Agent Marketing
Contact
IUContact
GestionnaireCompte
Compte
IUModoficationContact
Pour grer ses contacts, lutilisateur peut interagir avec le systme grce des interfaces
ddies faciliter cette communication :
IUContacts.
InterfaceAjoutContact.
InterfaceModificationContact.
Mais, pour raliser toutes ces oprations, le systme se dote des gestionnaires
GestionnaireCompte et GestionnaireContact qui permettent dexcuter les fonctions selon le
choix de lutilisateur. Les gestionnaires GestionnaireCompte et GestionnaireContact extraient
les donnes ncessaires, respectivement des classes Compte et Contact contenant toutes les
informations qui se rapportent aux comptes et aux contacts. (cf. figure 52)
: Agent
Marketing
: IUContact
6: contact ajout
4: ajouter contact
5: contact ajout
: GestionnaireContact
: Contact
Fi
gure 55: Diagramme de collaboration du cas "Crer Contact"
Page | 50
Analyse et Conception
Produit
GestionnaireProduit
IUAjoutProspect
GestionnaireCampagne
Campagne
GestionnaireContact
Contact
IUProspect
Responsable Marketing
GestionnaireProspect
Prospect
IUSuppressionProspect
Pour grer ses prospects, lutilisateur peut interagir avec le systme grce des interfaces
ddies faciliter cette communication :
Linterface IUProspect est une classe interface permettant lutilisateur de grer les prospects. Les
fonctionnalits, quoffre cette interface, sont lajout (cration), la consultation, la recherche et la
suppression des prospects. (cf. figure 57)
Remarque : La description du reste des classes est identique au cas analyss, ci-dessous.
Page | 51
Analyse et Conception
4: Rcuprer liste produits
6: Produits rcuprs
8: Produits choisis
9: Bouton "Ajouter contact" cliqu
15: Contacts choisis
16: valider
5: Produits rcuprs
: Gestionnaire Produit
: Produit
: Contact
: IUProspect
: Prospect
Description textuelle :
Lutilisateur remplit le formulaire dajout de prospect en introduisant les donnes dans leurs
champs appropris de lInterface IUAjoutProspect et clique sur le bouton Ajouter Produit.
(1) (2) Le GestionnaireProduit extrait la liste des produits partir de la classe Produit. (4)
Lutilisateur choisit les produits auxquels le prospect sintresse et clique sur le bouton
Ajouter Contact. (8) (9) Le GestionnaireContact extrait la liste des contacts partir de la
classe Contact. (11) Lutilisateur choisit le contact intress par les produits et valide. (15)
(16) Le GestionnaireProspect cre le prospect et lenregistre dans la classe prospect. (18) Le
prospect a t bien cre. (19) (20) (21)
I.10.1
Page | 52
Analyse et Conception
IUAjoutOpportunit
Responsable Commercial
IUModificationOpportunit
GestionnaireAgent
GestionnaireOpportunit
Agent
Opportunit
IUOpportunit
IUEvaluationOpportunit
Fi
gure 60: Diagramme de classe d'analyse du cas "Grer opportunits"
Pour grer les opportunits, lutilisateur peut interagir avec le systme grce des interfaces
ddies faciliter cette communication :
IUOpportunit : Elle permet lutilisateur de consulter la liste des opportunits,
deffectuer une recherche rapide dans la liste des opportunits disponibles selon des
critres de recherche bien dfinis. Cest partir delle que lutilisateur peut passer une
interface de cration (ajout), de modification ou dvaluation dune opportunit.
IUAjoutOpportunit : Elle va tre affiche lorsque lutilisateur dcide dajouter une
opportunit. Cest partir de cette page que lutilisateur puisse introduire une nouvelle
opportunit.
Page | 53
Analyse et Conception
raliser
toutes
ces
oprations,
le
systme
se
dote
dun
gestionnaire
: Responsable
Commercial
: IUAjoutOpportunit
9: Crer opportunit
: Agent
: Opportunit
Description textuelle :
Lutilisateur saisit les informations de lopportunit et clique sur le lien Assigner Agents de
linterface IUAjoutOpportunit. (1) (2) Le GestionnaireAgent extrait la liste des agents
partir de la classe agents. (4) La liste des agents a t bien retourne. (5) (6) (7) Lutilisateur
choisit la liste des agents et clique sur le bouton Valider. (8) Le GestionnaireOpportunit
cre une nouvelle opportunit et lajoute la table Opportunit. (10) Lopportunit a t bien
cre. (11) (12) (13)
Page | 54
Analyse et Conception
Pour grer les appels, lutilisateur peut interagir avec le systme grce des interfaces ddies
faciliter cette communication :
IUAjoutAppel : Cest une classe interface qui permet denregistrer un appel effectu.
IUEffectuationAppel : Cest une classe interface permettant lutilisateur de consulter la
liste des appels assigns et planifis et de les effectuer.
IUPlanificationAppel : Cest une classe interface qui permet de planifier un appel.
IUSuiviAppel : Cest une classe interface permettant lutilisateur de consulter la liste des
appels effectus et de reporter des appels nayant pas de rponse.
GestionnaireAppel : Cest une classe contrle qui permet de grer toutes les oprations
possibles sur les appels.
GestionnaireAgent : Cest une classe contrle qui permet de grer toutes les oprations
possibles sur les agents.
GestionnaireContact : Cest une classe contrle qui permet de grer toutes les oprations
possibles sur les contacts.
Appe l: Cest une classe entit contenant toutes les informations de chaque appel.
Agent: Cest une classe entit contenant toutes les informations de chaque agent.
Contact: Cest une classe entit contenant toutes les informations de chaque contact.
Page | 55
Analyse et Conception
IUSuiviAppel
IUAjoutAppel
GestionnaireAppel
Appel
IUEffectuationAppel
GestionnaireUtilisateur
Utilisateur
IUPlanificationAppel
GestionnaireContact
Contact
Utilisateur
1: Formulaire rempli
2: Bouton 'Ajouter contact' cliqu
6: Liste contacts
: GestionnaireAppel
5: Liste contacts
: Appel
8: Contact choisi
9: Bouton 'Valider' cliqu
: IUAjoutAppel
: Contact
Description textuelle :
Lutilisateur saisit les informations de lappel et clique sur le bouton Ajouter contact(1)
(2).Le GestionnaireContact extrait les contacts de la table Contact (4). Liste des contacts
retourne et affiche (5) (6) (7). Lutilisateur choisit un contact et clique sur le bouton
Page | 56
Analyse et Conception
Crer(8) (9). Le GestionnaireAppel ajoute un nouvel appel la table Appel (11). Lappel a
t bien cre (12) (13) (14).
I.11.3.2 Diagramme de collaboration du cas d'utilisation "Effectuer appel" :
Le modle de collaboration ci-dessous (cf. figure 65) dcrit le scnario deffectuation dun
appel. On suppose, pour ce diagramme, que lidentification de lacteur est effectue et que le
formulaire deffectuation dappels est affich.
Remarque : On va supposer que lutilisateur va effectuer un appel assign ; le traitement est
le mme pour un appel planifi.
Description textuelle :
Lutilisateur saisit une date dans le champ appropri et valide (1). Le GestionnaireAppel
extrait la liste des appels assigns pour tre effectus la date saisie (3). La liste des
appels assigns est bien retourne et affiche (4) (5) (6). Lutilisateur choisit un appel et
clique sur le lien dtails (7). Le GestionnaireAppel extrait les dtails de lappel choisi (9).
Les dtails de lappel sont bien retourns (10) (11) (12). Lutilisateur saisit la dure de
lappel et ventuellement des notes concernant cet appel et valide (13) (14). Le
GestionnaireAppel enregistre lappel effectu (16). Lappel effectu est bien enregistr(17)
(18) (19).
I.11.3.3 Diagramme de collaboration du cas d'utilisation Planifier appel :
Le modle de collaboration ci-dessous (cf. figure 66) dcrit le scnario de ralisation de
planification dun appel. On suppose, pour ce diagramme, que, lidentification de lacteur est
effectue et que le formulaire de planification dappel est affich.
Remarque : On va supposer que lutilisateur est, dans ce cas administrateur ; c'est--dire quil
a le privilge dassigner des appels des utilisateurs autres que lui mme. Le traitement est
Page | 57
Analyse et Conception
similaire pour un simple utilisateur ; il est, par dfaut, lutilisateur tre affect lappel en
cours de planification.
sur le bouton Ajouter contact. (1) (2) Le GestionnaireContact extrait les contacts de la table
Contact. (4) La liste des contacts retourne et affiche. (5) (6) (7) Lutilisateur choisit un
contact et clique sur le bouton Assigner utilisateur. (8) (9) Le GestionnaireUtilisateur extrait
les contacts de la table Utilisateur. (11) (12) La liste des utilisateurs est bien retourne. (13)
(14) (15) Lutilisateur choisit un utilisateur et valide la planification de lappel. (16) Le
GestionnaireAppel ajoute un nouvel appel et le planifie dans la classe Appel. (18) Lappel est
bien cre et planifi. (19) (20) (21)
I.11.3.4 Diagramme de collaboration du cas d'utilisation "Suivre appel" :
Le modle de collaboration ci-dessous (cf. figure 67) dcrit le scnario de suivi dun appel
effectu. On suppose, pour ce diagramme, que, lidentification de lacteur est effectue et que
la liste des appels effectus est affiche.
Description textuelle :
Page | 58
Analyse et Conception
IUCreationProfil
IUProfil
Administrateur
GestionnaireProfil
Profil
IUModificationProfil
Pour grer les profils, lutilisateur interagit avec le systme grce des interfaces ddies
faciliter cette communication :
Page | 59
Analyse et Conception
Description textuelle :
Lutilisateur remplit le formulaire dajout en introduisant les donnes dans leurs champs
appropris de linterface IUCreationProduit. (1) (2) Le GestionnaireProfil cre un nouveau
profil et lajoute dans la classe Profil. (4) Le profil a t bien cre. (5) (6) (7)
Page | 60
Analyse et Conception
IUCreationAgent
Administrateur
IUAgent
GestionnaireAgent
Agent
IUModificationAgent
Pour grer les agents, lutilisateur interagit avec le systme grce des interfaces ddies
faciliter cette communication :
IUAgent : Cette interface permet lutilisateur de consulter la liste des profils et
deffectuer une recherche rapide dans la liste des profils disponibles selon des critres de
recherche bien dfinis. Cest partir delle que lutilisateur peut supprimer un profil ou
passer une interface de cration (ajout) ou de modification dun nouveau profil.
IUCreationAgent : Elle va tre affiche lorsque lutilisateur dcide dajouter un nouveau
profil.
IUModificationAgent : Elle va tre affiche lorsque lutilisateur dcide modifier un agent.
Pour raliser toutes ces oprations, le systme se dote dun GestionnaireAgent permettant
dexcuter les fonctions selon le choix de lutilisateur. En effet, ce gestionnaire extrait les
Page | 61
Analyse et Conception
donnes ncessaires de la classe Agent qui contient toutes les informations se rapportant
touts les agents. (cf. figure 72)
Page | 62
Analyse et Conception
IUModificationCompteUtilisateur
Administrateur
IUCreationCompteUtilisateur
IUComptesUtilisateur
Agent
GestionnaireAgent
Profil
GestionnaireProfil
Utilisateur
GestionnaireComptesUtilisateur
Pour grer les comptes utilisateurs, ladministrateur interagit avec le systme grce des
interfaces ddies faciliter cette communication :
IUCompteUtilisateur : Cette interface permet ladministrateur de consulter la liste des
utilisateurs et deffectuer une recherche rapide dans la liste des utilisateurs disponibles
selon des critres de recherche bien dfinis. Cest partir delle que ladministrateur peut
supprimer un utilisateur ou passer une interface de cration (ajout) ou de modification
dun nouvel utilisateur.
IUCreationUtilisateur : Elle va tre affiche lorsque lutilisateur dcide dajouter un
nouvel utilisateur.
IUModificationUtilisateur: Elle va tre affiche lorsque lutilisateur dcide modifier un
utilisateur.
Pour
raliser
toutes
ces
GestionnaireCompteUtilisateur,
oprations,
le
systme
GestionnaireAgent
et
se
dote
des
GestionnaireProfil
gestionnaires
permettant
Page | 63
Analyse et Conception
dexcuter les fonctions selon le choix de ladministrateur. En effet, ce gestionnaire extrait les
donnes ncessaires des classes Utilisateur, Agent et Profil qui contiennent toutes les
informations se rapportant, respectivement, touts les utilisateurs, les agents et les profils. (cf.
figure 75)
Description textuelle :
Ladministrateur remplit le formulaire de cration en introduisant les donnes dans leurs
champs appropris de linterface IUCreationCompteUtilisateur. (1) Ladministrateur clique
sur le bouton Associer agent. (2) Le GestionnaireAgent extrait la liste des agents de la classe
Agent. (4) La liste des agents est bien retourne. (5) (6) (7) Lutilisateur choisit un agent et
clique sur le bouton Associer profils. (8) (9) Le GestionnaireProfil extrait la liste des profils
de la classe Profil. (11) La liste des profils est bien retourne et affiche. (12) (13) (14)
Ladministrateur choisit un ou plusieurs profils et valide. (15) (16) Le
Page | 64
Analyse et Conception
La fonction didentification ne reprsente pas une fonctionnalit du systme mais elle vient
rpondre un besoin de scurit. Donc, pour sauthentifier, les utilisateurs interagissent avec
le systme grce des interfaces ddies faciliter cette communication :
IUAuthentification : Cette interface permet chaque utilisateur de saisir son nom et son
mot de passe fin de pouvoir accder sa session.
IUAcceuil : Elle va tre affiche lorsque lauthentification de lutilisateur russie.
Page | 65
Analyse et Conception
raliser
toutes
ces
oprations,
le
systme
se
dote
du
gestionnaire
Description textuelle : Lutilisateur saisi son nom dutilisateur et son mot de passe et valide.
(1) (2) Le GestionnaireAuthentification contrle lexistence de cet utilisateur en vrifiant son
nom dutilisateur et son mot de passe. (4) Lutilisateur a t identifi. (5) Le
GestionnaireAuthentification vrifie le profil de cet utilisateur. (6) La classe entit Profil va
attribuer le profil correspondant cet utilisateur. (7) Le GestionnaireAuthentification ouvre la
session et laccueil est affich. (8)
Page | 66
Analyse et Conception
II Conception :
Lenchanement dactivit de la conception, se base sur une conception dtaille de chaque
cas dutilisation dgag travers les diagrammes des classes de conception et les diagrammes
des squences.
Figure 80: Traabilit entre le modle danalyse et le modle de conception du cas dutilisation grer produits
<<boundary>>
ConfirmationCreation.jspx
Confirmer()
Annuler()
<<boundary>>
CreationProduit.jspx
nom
...
Valider()
Annuler()
<<boundary>>
ServiceProduit
<<boundary>>
AcceuilProduit.jspx
ConsulterProduit()
CrerProduit()
ModifierProduit()
RechercherProduit()
SupprimerProduit()
Agent Marketing
<<entity>>
Produit.java
idProduit
nom
type
...
Produit()
setProduit()
getProduit()
<<boundary>>
ModificationProduit.jspx
nom
...
Valider()
Annuler()
<<boundary>>
ConfirmationModification.jspx
<<boundary>>
SuccesModification
Confirmer()
Annuler()
Fermer()
Page | 67
Analyse et Conception
Figure 83: Traabilit entre le modle danalyse et le modle de conception du cas dutilisation Crer campagne
Page | 68
Analyse et Conception
<<boundary>>
ConfirmationCreation.jspx
Confirmer()
Annuler()
<<boundary>>
ListeComptes.jspx
AjouterComptes()
Annuler()
getComptes()
<<control>>
ServiceCompte
RcuprerComptes()
Invitation()
setIdCompte()
setIdCampagne()
<<entity>>
Campagne.java
<<boundary>>
CreationCampagne.jspx
<<control>>
ServiceCampagnes
nom
type
...
Agent Marketing
<<entity>>
Invitation.java
idCompte
idCampagne
idCampagne
nom
statut
...
AjouterComptes()
AjouterProduits()
CrerCampagne()
Quitter()
Valider()
setIdCampagne()
setNom()
setStatut()
<<entity>>
ProduirCampagne.java
<<boundary>>
ListeProduits.jspx
AjouterProduits()
Annuler()
<<boundary>>
ServiceProduit
RcuprerProduits()
<<boundary>>
SuccesCreation.jspx
Fermer()
idProduit
idCampagne
ProduitCampagne()
setIdProduit()
setIdCampagne()
<<entity>>
Produit.java
idProduit
nom
type
...
getProduits()
Page | 69
: CreationCampagne.jspx
: Agent
Marketi ng
: Li steComptes.jspx
Analyse et Conception
: Li steProduits.j spx
:
Confirmati onCreation.j spx
: SuccesCreati on.jspx
: Servi ceCampagne
:
ServiceCompte
:
ServiceProduit
:
Campagne
:
Invitation...
:
ProduirCampagne.java
: Compte
: Produit
Infos saisi es
Aj outerComptes()
RcuprerComptes()
getComptes()
Li ste comptes
Li ste com ptes
Liste comptes
Comptes choi si s
AjouterCom ptes( )
Aj outerComptes(comptes)
Invitation(Campagne,Com pte)
Comptes retourns
Comptes retouns
Liste comptes actual i se
Aj outerProduits()
RcuprerProdui ts()
getProdui ts()
Li ste produi ts
Liste produi ts
Liste produi ts
Produi ts choisi s
Aj outerProduits( )
AjouterProdui ts(produi ts)
ProduitCam pagne(Campagne,Produit)
Produi ts retourns
Produits retourns
Li ste produi ts actuali se
Valider()
CrerCampagne(InformationsCampagne,listeProdui ts,listeAgents)
Confirmer()
Afficher(SuccesCreation)
Message "Campagne cre avec succs" affich
Page | 70
Analyse et Conception
Figure 86: Traabilit entre le modle danalyse et le modle de conception du cas "Contrler Campagne"
<<control>>
ServiceCampagne
MettreAjourCampagne()
Valider()
Soumettre la correction()
Annuler()
Responsable Commercial
<<entity>>
Campagne.java
idCampagne
nom
statut
...
<<boundary>>
SuccesValidation.jspx
Fermer()
: IUControle
: Responsable
Marketing
:
ConfirmationValidation.jspx
:
SuccesValidation.jspx
:
ServiceCampagne
c:
Campagne.java
Valider()
Valider(C)
'ConfirmationValidation' affiche
Afficher(ConfirmationValidation)
Confirmer
Valider(C)
setStatutCampagne(Valide)
Campagne valide
Afficher(SuccesValidation)
Message "Campagne valide avec succs" affich
Page | 71
Analyse et Conception
<<boundary>>
AjoutPromotion.jspx
AjouterProduits()
CrerPromotion()
<<boundary>>
PlanificationC.jspx
dateDbut
dateFin
...
Responsable Marketing
<<entity>>
ProduitCampagne.java
idProduit
idCampagne
...
<<control>>
ServicePromotion
CrerPromotion()
...
<<control>>
ServiceCampagne
AjouterPromotions()
...
<<entity>>
Promotion.java
idPromotion
name
<<entity>>
Campagne.java
idCampagne
nom
statut
...
AjouterPromotions()
...
<<boundary>>
ConfirmationPlanification.jspx
<<control>>
ServiceAssignement
AssignerCompteAgent()
...
<<entity>>
Assignement.java
idCampagne
idCompte
idAgent
<<boundary>>
SuccesPlanification.jspx
Page | 72
: PlanificationC.js px
: AjoutProm otion.js px
Analyse et Conception
: Confirm ationPlanification.js px
: Succes Planification.js px
: ServiceCam pagne
: ServiceProm otion
: ServiceProduitcam pagne
: Prom otion.java
: Cam pagne.java
: ProduitCam pagne.java
Lis te produits
Lis te produits
Liste produits
Produits chois is
Valider()
CrerPromotion(InfomationsProm otion)
CrerPromotion(Infom ationsProm otion)
Page | 73
: As signem ent.java
Analyse et Conception
<<boundary>>
Lancement.jspx
ConsulterCampagne()
LancerCampagne()
Quitter()
Responsable Marketing
<<entity>>
Campagne.java
idCampagne
nom
statut
...
<<control>>
ServiceCampagne
ConsulterCampagne()
LancerCampagne()
<<boundary>>
SuccesLancement.jspx
Fermer()
:
Lancement.jspx
: Responsable
Marketing
:
ConfirmationLancement.jspx
:
SuccesLancement.jspx
:
ServiceCampagne
C:
Campagne.java
Campagne slectionne
Valider()
ConsulterCampagne(CampagneSelectionne)
ConsulterCampagne(C)
Dtails campagne
Dtails campagne
Dtails campagne
Lancer(C)
Lancer(C)
'ConfirmationLancement' affiche
Afficher(ConfirmationLancement)
Confirmer()
Modifier(C)
Modifier(C)
Campagne lance
Afficher(SuccesLancement)
Page | 74
Analyse et Conception
Responsable Marketing
<<entity>>
Campagne.java
idCampagne
nom
statut
...
<<control>>
ServiceCampagne
SuivreCampagne()
MettreAjourReponse()
...
<<boundary>>
SuccesSuivi.jspx
Fermer()
: Suivi.jspx
: Responsable
Marketing
:
ConfiramationSuivi.jspx
:
SuccesSuivi.jspx
:
ServiceCampagne
c : Campagne
Campagne choisie
Suivre(c)
Rcuprer(c)
Rcuprer(c)
Suivi camapgne
Suivi campagne
Suivi campagne affich
Modifier rponse
Valider()
Modifier(reponse)
Afficher(ConfirmationSuivi)
'ConfirmationSuivi' affich
Confirmer()
setReponse(positive)
setReponse(positive)
Afficher(SuccesSuivi)
Message "Rponse mise jour avec succs"
Page | 75
Analyse et Conception
Page | 76
<<entity >>
CasDutilisation
idCasDutilisation
nom
description
1..n
CasDutilisation()
<<entity >>
Scenario
<<entity >>
Ville
idScnario
nom
idVille
nom
Scenario()
Ville()
1..n
0..n
idAgent
civ ilit
nom
prnom
dateNaissance
...
0..n
0..n
<<entity >>
Pay s
Prof il()
idPay s
nom
idLieu
nom
adress
codePostal
idCategorie
nom
Place()
0..n
0..n
tre_Affect
1..n
0..n
<<entity >>
GroupeUtilisateur
idGroupe
nom
0..n
idDocument
titre
objet
ty pe
description
Appe()
idActiv it
ty pe
objet
0..n
note
date
idContact
civ ilit
nom
prnom
adresse
...
Contact()
<<entity >>
Prospect
1
0..n
statut
causeExclusion
avoir3
concerner2
Prospect()
<<entity >>
Document
heureDbut
heureFin
0..n
concerner2
Utilisateur()
<<entity >>
Af f ectation
1..n
Compte()
0..n
<<entity >>
Promotion
<<entity >>
Produit
idPromotion
nom
dateDbut
dateFin
v aleur
idProduit
nom
ty pe
prixStandard
...
concerner
0..n
Promotion()
1
1..n
dcrire
Document()
Af f ectation()
idRole
nom
0..n
<<entity >>
Opportunit
concerner
0..n
Produit()
Role()
idOpportunit
v aluation
0..n
<<entity >>
Guarantie
0..1
0..n
<<entity >>
Role
0..n
0..n
0..n
0..n
tre_affect2
0..n
idCompte
nom
adresse
siteWeb
...
0..n
avoir
<<entity >>
Contact
<<entity >>
Compte
0..n
1
avoir2
0..n
dcrire2
GroupeUtilisateur()
<<entity >>
Appel
Campagne()
1
1..n
idUtilisateur
nomUtilisateur
motDePasse
0..n
dateCreation
dateExpiration 0..n
Assignemnt()
<<entity >>
Activ it
idCampagne
nom
dateDebut
dateFin
budget
...
SecteurActiv it()
NatureRelation()
Inv itation()
<<entity >>
Campagne
0..n
0..n
<<entity >>
Utilisateur
reponse
0..n
natureTache
idSecteurActiv it
nom
idNatureRelation
nom
avoir
<<entity >>
Trace
Trace()
<<entity >>
Inv itation
1
1
<<entity >>
SecteurActiv it
<<entity >>
NatureRelation
Categorie()
se_drouler
Pay s()
0..n 0..n
<<entity >>
Assignement
<<entity >>
Categorie
0..n
idProf il
name
avoir2
0..1
<<entity >>
Place
1..n
Agent()
0..n
se_situer2
<<entity >>
Prof il
se_situer
1
0..n
correspondre
<<entity >>
Agent
Analyse et Conception
0..1
concerner3
idGuarantie
dateDebut
dateFin
...
Guarantie()
viser
Activ it()
Figur
e 98: Diagramme de classes entits
Page | 77
Analyse et Conception
Conclusion :
Dans le prsent chapitre, nous avons trait lenchanement danalyse, qui labore un modle
objet conceptuel servant analyser les besoins et les exigences, en les affinant et en les
structurant. A la fin de cet enchanement, nous avons abouti un modle danalyse, qui nous a
permis de procder lenchanement de conception par la prise en compte de la majeure
partie des exigences non fonctionnelles et autres contraintes lies lenvironnement.
Dans le prochain chapitre, nous allons montrer comment nous avons traduit cette tude
conceptuelle et laide de quels outils nous avons pu mettre en place notre systme.
Page | 78
Ralisation
Page | 81
Ralisation
Le schma relationnel :
Le schma relationnel est bas sur une organisation des donnes sous forme de tables en
suivant les rgles de passage, voques ci-dessus.
Les tables gnres sont les suivantes :
Activit (idActivit, type, objet, notes, date, #idCompte, #idContact)
Affectation (idAffectation, #idAdministrateur, #idUtilisateur, #idOpportunit)
Agent (idAgent, civilit, nom, prnom, dateNaissance, dateRecrutement, SituationFamiliale,
nombreDenfant, #idGroupAgent)
UtilisateurCampagne (#idUtilisateur, #idUtilisateur2, #idCampagne)
Appel (idActivit, heureDebut, heureFin)
Assignement (idAssignement, #idUtilisateur, #idAdministrateur, #idActivit, nature)
Campagne (idCampagne, nom, staut, dateDebut, dateFin, objectif, description, budget,
typeAssignement, notes, moyensDeCommunication #idCategorie, #idLieu)
Categorie (idCategorie, nom)
Compte (idCompte, nom, telephonne, fax, adresse, email, siteWeb, dateCreation,
#idNatureRelaion, #idSecteurDactivit, #defaultContact)
Contact (#idAccount, idContact, nom, prenom, civilit, mobile, telephonne, adresse, email,
fax, dateNaissance, photo, situatuonFamiliale, nombreEnfant, dateP, heureP, mthodeP,
appel, mail, fax ; lettre, #idRole)
Document (idDocument, titre, type, description, url, #idProduit, #idCampagne)
Garantie (#idProduit, idGarantie, socit, groupe, nature, dateDebut, dateFin)
GroupeUtilisateur (idGroupe, nom)
GroupeCampagne (#idGroupeAgent, #idCampagne, #idUtilisateur)
Invitation (#idCampagne, #idCompte, rponse)
Lieu (#idVille, idLieu, nom, adresse, codePostal)
Page | 82
Ralisation
II Le modle de dploiement:
Le modle de dploiement montre la disposition physique des matriels qui composent le
systme et la rpartition des composants sur ces matriels. Les ressources matrielles sont
reprsentes sous forme de nuds qui sont connects entre eux, l'aide d'un support de
communication.
Page | 83
Ralisation
Traabilit
entre
le
modle
de
conception
et
le
modle
dimplmentation :
Pour un besoin de lisibilit, on va prsenter la traabilit entre le modle de conception et le
modle dimplmentation par un diagramme gnrique.
On substitue les classes contrle par une classe gnrique appele
Gestionnaire .
On substitue les classes Entit par une classe gnrique appele Entit .
On substitue les classes Interface ( boundary ) par une classe gnrique appele
interface .
La figure ci-dessous prsente un digramme simplifi, vue que les technologies apportes par
J2EE est relativement complexe schmatiser.
Page | 84
Ralisation
Page | 85
Ralisation
Model
Service1
<<fichier>>
Model1.java
<<fichier>>
Service1able.java
<<fichier>>
Model2.java
<<fichier>>
Service1impl.java
<<fichier>>
ModelN.java
Dao1
<<fichier>>
Interface1.jspx
<<fichiet>>
Dao1able.java
ServiceLocator
<<fichier>>
<<fichier>>
Interface2.jspx
<<Servlet>>
Controller
ServiceLocator.jav
a
<<fichiet>>
<<fichier>>
Dao1impl.java
BaseBean.ja
va
<<fichier>>
Entity1.java
<<fichier>>
<<fichier>>
Entities
<<fichier>>
ServiceLocatorBean.ja
va
DaoN
EntityN.java
<<fichier>>
Interface3.jspx
DaoNable.java
<<fichier>>
<<fichier>>
DaoNimpl.java
InterfaceN.jspx
<<fichier>>
HibernateDaoSuppor
t.java
Base de donnes
ServiceN
<<Table sql>>
T able1
<<fichier>>
ServiceNable.jav
a
<<Table sql>>
T able2
<<fichier>>
ServiceNimpl.jav
a
Page | 85
Ralisation
Figure 101: Diagramme de composants gnrique
Page | 86
Ralisation
IV Architecture adopte :
En mditant dans le contexte de notre systme, on peroit que la solution architecturale quon
estime utiliser doit satisfaire les contraintes techniques et logiques quon vise adopter.
Rappelons que la solution propose consiste implanter un module de gestion de la relation
client. Ainsi, devant le nombre impressionnant de produits et technologies Web, on dispose
de plusieurs architectures dapplication Web varies qui rpondent notre contexte.
Le choix dune solution ou dune autre dpend de plusieurs critres tels que :
Performance dinteractivit.
Partage dinformations par plusieurs utilisateurs simultanment connects.
Scurit des donnes.
A ce faire, on a choisi dutiliser larchitecture N-tiers/ J2EE (Java2 Entreprise Edition), en
respectant le modle MVC (cf. figure 102) :
Architectur
e J2EE
Figure 102: Architecture J2EE base sur les technologies JSF, Spring et Hibernate
Page | 86
Ralisation
Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spcification pour la
technologie Java de Sun plus particulirement destine aux applications dentreprise.
Il sagit dune norme qui va spcifier la fois l'infrastructure de gestion des applications et
les API des services utilises pour concevoir ces applications.
La plateforme J2EE est essentiellement un environnement fournissant une infrastructure
d'excution pour faire tourner les applications et un ensemble de services accessibles via
l'API J2EE pour aider concevoir des applications.
Dans la mesure o J2EE s'appuie entirement sur le Java, il bnficie des avantages de ce
langage, en particulier une bonne portabilit et une facilit de maintenance du code.
De plus, l'architecture J2EE repose sur des composants distincts, interchangeables et
distribus, ce qui signifie notamment :
Qu'il est simple d'tendre l'architecture.
Qu'un systme reposant sur J2EE peut possder des mcanismes de haute
disponibilit, afin de garantir une bonne qualit de service.
Que la facilit de maintenance des applications est facilite.
Tomcat est un conteneur libre de servlet Java 2 Enterprise Edition. Il implmente les
spcifications des servlets et des JSP de Sun Microsystems. Il inclut des outils pour la
configuration et la gestion, mais peut galement tre configur en ditant des fichiers de
configuration XML. Il est aussi considr comme un serveur HTTP.
Pour dvelopper des applications complexes, il faut, imprativement, utiliser les IDEs
(Integrated Environnement Development) appropris.
A la lumire de ceci, on a utilis Rational Rose 7.0 pour la prsentation et la modlisation des
diffrents diagrammes prsents dans le rapport.
Page | 87
Ralisation
Et, on a choisi latelier de gnie logiciel Eclipse Ganymede pour le dveloppement de notre
application.
SQL Server 2005, est une solution complte de base de donnes et d'analyse entirement
conu pour le Web permettant deffectuer des requtes et des analyses de donnes en toute
simplicit sur le Web et daccder facilement aux donnes en toute scurit. Ce systme de
gestion de base de donnes relationnel rparti la charge des bases de donnes pour obtenir une
monte en puissance linaire aux applications. Il assure une rapidit de mise en uvre, les
applications peuvent tre dveloppes, dployes et administres plus rapidement.
VI Tests de lapplication :
Lintrt de cette partie est la prsentation des jeux de tests effectus, pour les cas critiques du
systme, afin de sassurer de leur bon fonctionnement. Ceci, dans loptique de vrifier, en
premier lieu, que les cas raliss sont conformes la spcification et de les valider par rapport
aux exigences des futurs utilisateurs, dviter, en second lieu, les erreurs dexcution, qui
peuvent se produire. Et enfin, pour sassurer que les interfaces ralises sont prsentables et
ergonomiques.
Cette interface permet lutilisateur daccder au systme aprs une validation de son login
et son mot de passe.
Page | 88
Ralisation
Cette interface reprsente la page daccueil de la gestion des produits. Lutilisateur peut
consulter la liste des produits disponibles et il peut rechercher ou modifier un produit de cette
liste.
Page | 89
Ralisation
Cette interface permet la cration dun nouveau produit, lutilisateur doit saisir les informations
relatives ce dernier.
Page | 90
Ralisation
Pour modifier un produit, lutilisateur choisit un, de la liste et puis, il clique sur le lien ddition. Ceci
va aboutir lapparition dun formulaire de modification qui offre lutilisateur deffectuer les mises
jour ncessaires et puis de les valider.
Page | 91
Ralisation
Page | 92
Ralisation
Pour la cration dune nouvelle campagne, lutilisateur doit suivre les tapes
suivantes :
Saisir les informations relatives la campagne, en remplissant le formulaire affich.
Choisir la liste des comptes associer la campagne.
Choisir la liste des produits associer la campagne.
Et enfin, valider et confirmer.
Page | 93
Ralisation
Page | 94
Ralisation
Cette interface permet de contrler une campagne. En effet, lutilisateur choisit une campagne
de la liste des campagnes cres et consulte son dtails. Ensuite, il vrifie les informations pour
dcider sil doit valider la campagne, la soumettre la correction, ou lannuler. Il a la
possibilit de saisir dventuels notes, justifiant sa dcision.
Page | 95
Ralisation
Page | 96
Ralisation
Conclusion :
Dans ce chapitre, on a prsent lenvironnement matriel et logiciel du projet. Nous avons,
par la suite, labor quelques aperus du fruit de notre travail travers des interfaces rsultant
des jeux de tests effectus
Page | 97
Conclusion gnrale
Conclusion Gnrale
Dans lenvironnement concurrentiel daujourdhui, il est primordial pour toute organisation de
matriser parfaitement sa relation avec ses clients. Recueillir toutes les informations leur
propos, automatiser les processus de prospection et de vente et augmenter lefficacit des
actions commerciales, tels sont les objectifs du CRM.
Ce projet a t ralis dans le cadre du mmoire de fin dtude pendant quatre mois de stage
au sein de la socit de dveloppement logiciel Cynapsys.
Le prsent travail se rsume dans la conception et la ralisation dun module marketing dune
application de gestion de la relation client. Il sagit dinformatiser certaines fonctionnalits
essentielles qui serviront de base pour des travaux ultrieurs.
Ainsi, dans ce mmoire on a appliqu les diffrents enchanements du cycle de vie du
processus unifi et on sest bas sur le paradigme MVC comme schma de programmation
qui propose de sparer lapplication en trois parties (Modle, Vue, Contrleur).
De plus, on sest servi de larchitecture J2EE (la plus rcente en ces temps) pour la ralisation
et le dploiement de notre application.
Par ailleurs, ce stage nous a donn la chance de manipuler des techniques innovantes et
volutives et nous a permis aussi de tester et dappliquer nos connaissances acquises au sein
de lcole suprieure de commerce de Tunis et de les amliorer.
De mme, il nous a fournit loccasion dtre intgr dans la vie professionnelle et nous a
donn une vision globale sur notre avenir comme concepteur et dveloppeur.
Cependant, comme tout projet de fin dtude nous avons rencontr des problmes de divers
types. Limplmentation de notre systme fut lune des majeures difficults que nous avons
rencontres vu le nouvel environnement de travail et sa complexit.
Nous avons pu dpasser ces problmes par notre volont prsenter un bon travail,
apprendre et utiliser les nouvelles technologies de programmation et en appliquant nos
connaissances.
Page | 93
Annexes
Annexes
Annexe [A] : Base de donnes
L'objectif de cette partie est de prsenter le dictionnaire des donnes relatif la base de donnes
du projet CYNCRM .
Activit
Attribut
Description
Type
contrainte
idActivit
entier
Cl primaire
type
texte
objet
texte
notes
texte
date
date
idCompte
entier
Cl trangre
idContact
entier
Cl trangre
Affectation
Attribut
Description
Type
contrainte
idAffectation
entier
Cl primaire
idAdministrateur
entier
Cl trangre
idUtilisateur
entier
Cl trangre
idOpportunit
entier
Cl trangre
Agent
Attribut
Description
Type
contrainte
idAgent
entier
Cl primaire
civilit
texte
nom
texte
Annexes
prnom
texte
dateNaissance
date
dateRecrutement
date
situationFamiliale
texte
nombreDenfant
entier
UtilisateurCampagne
Attribut
Description
Type
contrainte
idUtilisateur
entier
Cl primaire, Cl trangre
idUtilisateur2
entier
Cl primaire, Cl trangre
idCampagne
entier
Cl primaire, Cl trangre
Appel
Attribut
Description
Type
contrainte
idActivit
entier
Cl primaire, Cl trangre
heureDebut
entier
heureDebut
entier
Assignement
Attribut
Description
Type
contrainte
idAssignement
entier
Cl primaire
idUtilisateur
entier
Cl trangre
idAdministrateur
entier
Cl trangre
idActivit
entier
Cl trangre
nature
texte
Campagne
Attribut
Description
Type
contrainte
Annexes
idCampagne
entier
Cl primaire
nom
texte
statut
texte
dateDebut
date
dateFin
date
objectif
texte
description
dsigne sa description.
texte
budget
rel
idCategorie
dsigne sa catgorie.
entier
Cl trangre
idLieu
entier
Cl trangre
typeAssignement
notes
moyenDeCommu
nication
Catgorie
Attribut
Description
Type
contrainte
idCategorie
entier
Cl primaire
nom
texte
Compte
Attribut
Description
Type
contrainte
idCompte
entier
Cl primaire
nom
texte
telephone
entier
fax
entier
adresse
texte
texte
siteweb
texte
dateCreation
date
idNatureRelation
entier
Cl trangre
Annexes
idSecteurDactivit
entier
Cl trangre
defaultContact
entier
Cl trangre
Contact
Attribut
Description
Type
contrainte
idContact
entier
Cl primaire
nom
texte
prenom
dsigne sonprnom.
texte
civilit
dsigne sa civilit.
texte
mobile
entier
tlphone
entier
adresse
texte
texte
fax
entier
dateNaissance
date
Photo
dsigne sa photo.
photo
situationFamiliale
texte
nombreEnfant
entier
dateP
date
heureP
entier
appel
boolen
boolen
fax
boolen
lettre
boolen
idRole
entier
idAccount
Cl trangre
Annexes
Document
Attribut
Description
Type
contrainte
idDocument
entier
Cl primaire
titre
texte
type
texte
description
dsigne sa description.
texte
url
texte
idProduit
entier
Cl trangre
idCampagne
entier
Cl trangre
Guarantie
Attribut
Description
Type
contrainte
idGarantie
entier
Cl primaire
socit
dsigne sa socit.
texte
groupe
texte
nature
dsigne sa nature.
texte
dateDebut
date
dateFin
date
idProduit
entier
Cl trangre
GroupeUtilisateur
Attribut
Description
Type
contrainte
idGroupe
entier
Cl primaire
nom
texte
GroupeCampagne
Attribut
Description
Type
contrainte
idGroupeCampag
ne
entier
Cl primaire
Annexes
idCampagne
texte
Cl primaire, Cl trangre
idUtilisateur
texte
Cl primaire, Cl trangre
Invitation
Attribut
Description
Type
contrainte
idCampagne
entier
Cl primaire, Cl trangre
idCompte
entier
Cl primaire, Cl trangre
rponse
texte
Lieu
Attribut
Description
Type
contrainte
idLieu
entier
Cl primaire
nom
texte
adresse
texte
codePostal
entier
idVille
entier
Cl trangre
Opportunit
Attribut
Description
Type
contrainte
idOpportunit
entier
Cl primaire
idProduit
entier
Cl trangre
idCompte
entier
Cl trangre
idContact
entier
Cl trangre
Pays
Attribut
Description
Type
contrainte
idPays
entier
Cl primaire
nom
texte
Annexes
Produit
Attribut
Description
Type
contrainte
idProduit
entier
Cl primaire
nom
texte
type
texte
prixStandard
rel
prixEffectif
rel
tarif
rl
description
texte
dateCreation
date
idCampaign
Profil
Attribut
Description
Type
contrainte
idProfil
entier
Cl primaire
nom
texte
ProfilOption
Attribut
Description
Type
contrainte
idProfil
entier
Cl primaire, Cl trangre
idUseCase
entier
Cl primaire, Cl trangre
idSousCas
entier
Cl primaire, Cl trangre
Promotion
Attribut
Description
Type
contrainte
idPromotion
entier
Cl primaire
nom
texte
dateDebut
date
dateFin
date
Annexes
valeur
rel
idCampagne
entier
Cl primaire, Cl trangre
idProduit
entier
Cl trangre
Prospect
Attribut
Description
Type
contrainte
idCompte
entier
Cl primaire, Cl trangre
idContact
entier
Cl primaire, Cl trangre
idProduit
entier
Cl primaire, Cl trangre
statut
texte
origine
texte
causeExclusion
texte
Profil
Attribut
Description
Type
contrainte
idRole
entier
Cl primaire
nom
texte
SecteurDactivit
Attribut
Description
Type
contrainte
idSecteurActivit
entier
Cl primaire
nom
texte
SousCas
Attribut
Description
Type
contrainte
idUseCase
entier
Cl primaire, Cl trangre
idSousCas
entier
Cl primaire
nom
texte
Annexes
Dsigne sa description.
texte
TraceCampagne
Attribut
Description
Type
contrainte
idUtilisateur
entier
Cl primaire, Cl trangre
idCampagne
entier
Cl primaire, Cl trangre
nature
texte
date
date
heure
entier
TypeRelation
Attribut
Description
Type
contrainte
idTypeRelation
entier
Cl primaire
nom
texte
UseCase
Attribut
Description
Type
contrainte
idUseCase
entier
Cl primaire
nom
texte
description
dsigne sa description.
texte
Utilisateur
Attribut
Description
Type
contrainte
idUtilisateur
entier
Cl primaire
login
texte
motDePasse
texte
dateCreation
date
dateExpiration
date
idAgent
entier
Cl trangre
Annexes
utilisateur.
idGroupe
Cl trangre
UtilisateurOption
Attribut
Description
Type
contrainte
idUtilisateur
entier
Cl primaire, Cl trangre
idProfil
entier
Cl primaire, Cl trangre
Ville
Attribut
Description
Type
contrainte
idVille
entier
Cl primaire
idPays
entier
Cl primaire, Cl trangre
nom
texte
Gestio
Gestion
ndes
des
Gestion
devis
commu
Suivi
des
nicatio
des
contrat
ns
comm
s
andes
Annexes
Il sagit de prparer des devis/propositions pour les opportunits prcdemment cres. Ces devis
concernent les produits pour lesquels le client a manifest un intrt en se basant sur les informations
relatives cette opportunit. Ces propositions seront, par la suite, envoye aux clients appropris par
lintermdiaire dun moyen de communication.
Aprs relances ventuelles, le sort des propositions sinscrira dans lun des cas suivants :
Une demande de rvision, dans le cas o le client exige dapporter certaines modifications la
proposition.
Refus, dans le cas ou le client manifeste explicitement son dsaccord ou implicitement lorsque
Une fois le devis est accept, il sera concrtis par ltablissement dun contrat de vente entre
lentreprise et le client.
Commercial
Creat
agent
e or
Electr
edit
onic
contr
Docu
act
ment
Manag
ement
Commerci
Contr
al director
ol
contr
act
Annexes
Ce contrat sera, son tour, traduit par la cration dune ou plusieurs commandes qui seront envoyes au
service comptable qui se chargera de la livraison et de la facturation.
Agent
Commercial
Envoi au
Mise
service
jour du
comptab
statut
ilit
de la
comman
de
Figure 121: Envoi au service comptable
Le processus dAprs-Vente :
Le service aprs-vente devient l'occasion privilgie de concrtiser une relation personnalise et
durable avec le client, en lui proposant une offre encore mieux adapte ses besoins. Le vecteur
idal de cette relation est le centre d'appel (call center) qui permet d'orchestrer tous les lments de
la stratgie client, depuis la base de connaissance qui fournit la vue unique du client ncessaire
cette relation "one to one", jusqu'au scnario personnalis qui guide l'entretien pour lui prsenter
une offre adapte ces besoins. Cette qualit de service supplmentaire permet l'entreprise
d'amliorer en permanence sa connaissance du client, d'affiner sa stratgie et d'accrotre son
efficacit commerciale. Les principales activits de ce processus sont donc :
Annexes
Ap
rs
Ve
nt
Ges
Ge
tion
sti
des
on
co
Sup
de
mm
por
s
uni
t
inc
cati
tec
ide
ons
hni
nt
que
s
Conseiller client
Vrificati
on des
garantis
Identifica
tion des
incidents
Cration
des
comptes
ou
contacts
Lentreprise est en mesure de suivre sa clientle mme aprs la livraison du produit. Elle doit toujours
veiller une meilleure gestion des incidents. En fait, un incident reprsente une manifestation de la part
dun client auprs de lentreprise par un moyen de communication. Il peut tre lorigine dun
problme ou dune initiative pour demander des informations.
La dclaration dun incident donne lieu un processus didentification de ce dernier. Le rsultat de ce
processus conditionne le sort de lincident. En effet, il peut tre soit rsolus et puis cltur soit
directement cltur.
Une fonction de suivi des incidents savre aussi indispensable.
Annexes
Evnements
Annexes
client/serveur, les diffrents serveurs vont devoir communiquer entre eux. Voici un diagramme
prsentant larchitecture de type n-tiers :
Nous retrouvons, dans lAPI J2EE, un ensemble de composant permettant dinterconnecter ces
diffrents types de technologie. Voici un ensemble davantages (non exhaustif) que procure
llaboration dune architecture complexe , et pense :
Linconvnient principal est la difficult mettre en place une architecture correcte et stable.
Cette phase demande une trs bonne connaissance des outils disponibles sur le march mais
galement une trs bonne aptitude utiliser labstraction et les concepts objets pour le
dveloppeur.
Glossaire
Glossaire
CMMI, sigle de Capability Maturity Model + Integration, est un modle de rfrence, un
ensemble structur de bonnes pratiques, destin apprhender, valuer et amliorer les activits
des entreprises d'ingnierie.
Campagne informationnelle, cest une campagne Marketing dont lobjectif est de passer
des informations qui ne sont pas ncessairement li aux produits ou services de lentreprise.
Campagne promotionnelle, cest une campagne Marketing dont lobjectif est de stimuler
les ventes travers lorganisation des promotions sur des produits ou des services.
Campagne de prospection, cest une campagne Marketing dont lobjectif est didentifier
de nouveaux clients potentiels et les transformer en clients rels (prospection-vente).
Compte, il reprsente une personne ou une socit qui entretient des relations avec
lentreprise (il pourrait tre un client, un fournisseur, un partenaireetc). Un compte est
reprsent par un ou plusieurs contacts, mais il possde toujours un contact par dfaut.
Contact, cest un reprsentant du compte. Il dsigne la personne quon doit contacter pour
reprsenter le compte
ISO 9001 fait partie de la srie des normes ISO 9000, relatives aux systmes de gestion de la
qualit, elle donne les exigences organisationnelles requises pour l'existence d'un systme de
gestion de la qualit.
Opportunit de vente, il sagit dune solution originale pour rpondre aux besoins et
attentes dtectes chez son client.
Prospect, cest client potentiel (une personne ou entreprise susceptible de devenir un client)
qui on cherche vendre un produit ou un service.
Cest une personne ou entreprise intress par un produit ou service.
Systme embarqu, cest un systme lectronique, pilot par un logiciel (Un logiciel ou
une application est un ensemble de programmes, qui permet un ordinateur ou un systme
informatique...), qui est compltement intgr au systme qu'il contrle. On peut aussi dfinir
un systme embarqu comme un systme lectronique soumis diverses contraintes.
Bibliographie et Netographie
Bibliographie et Netographie
Bibliographie
[1] Nathalie Lopez, Jorge Migueis et Emmanuel Pichon, Intgrer UML dans vos projets,
Editions Eyrolles, 2000.
[2] Ivar Jackobson, Grady Boosh, James Rambaugh, Le processus unifi de dveloppement
logiciel, Editions Eyrolles, 1999.
Cours
[3] Cours UML (3me IAG) enseign par Mme Selima Besbes, 2008.
[4] Cours Gnie logiciel et conduite de projet (4 me IAG) enseign par Mme Chiraz Laatiri,
2008.
[5] Cours Conception oriente objet des systmes dinformation (4 me IAG) enseign par Mme
Bouthana Jlifi, 2008.
Netographie
[6] http://fr.wikipedia.org/wiki/CMMI
[7] http://fr.wikipedia.org/wiki/Syst%C3%A8mes_embarqu%C3%A9
[8] http://www.labo-sun.com/
[9] http://fr.wikipedia.org/wiki/JavaServer_Faces