Upload
hathien
View
227
Download
1
Embed Size (px)
Citation preview
Analyse, conception et implantation d’unlogiciel de CRM pour la societe AdaCore
Audran Le Baron
Tuteur scientifique : Laurent Pautet
Directeur de stage : Franco Gasperoni
15 fevrier 2004
Table des matieres
Table des matieres
1 Presentation d’AdaCore et du projet de CRM 3
1.1 AdaCore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 L’Offre commerciale d’AdaCore . . . . . . . . . . . . . . . . . 4
1.3 Le Projet de CRM . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Analyse du projet de CRM 6
2.1 Les Techniques de modelisation . . . . . . . . . . . . . . . . . 6
2.2 Le Travail d’enquete . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Interets de la modelisation . . . . . . . . . . . . . . . . . . . . 7
2.4 Resultats de la modelisation . . . . . . . . . . . . . . . . . . . 8
3 Design : construction d’une maquette 9
3.1 L’Interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Le Choix d’une interface Web . . . . . . . . . . . . . . . . . . 9
3.3 Realisation d’une maquette . . . . . . . . . . . . . . . . . . . 10
3.4 Conception du schema de la base de donnees . . . . . . . . . . 10
4 Implantation 11
4.1 Base de donnees PostgreSQL . . . . . . . . . . . . . . . . . . . 11
4.2 L’Utilisation de la technologie AWS . . . . . . . . . . . . . . . 11
5 Passation du projet 12
A Sales Workflow Diagrams 14
B ER Diagram 26
2
1 Presentation d’AdaCore et du projet de CRM
Le present rapport fait etat des travaux menes durant mon stage — du15 juillet 2003 au 30 janvier 2004 — dans la societe ACT Europe. L’objet demon stage etait l’analyse, la conception et l’implantation d’un outil internede gestion des clients pour les societes ACT Europe (Paris) et Ada CoreTechnologies (New-York).
Ce projet, mene depuis ses debuts et jusqu’a son implantation, a etel’occasion de mettre notamment en pratique les enseignements de la briqueBDL (Bases de Developpement Logiciel) dans un environnement reel. Larealisation du projet en Ada m’a permis par ailleurs de consolider et d’ap-profondir les bases de ce langage acquises a l’ENST dans le cadre de la briqueSIP (Systeme, Interface, Programmation).
Apres une courte presentation de l’entreprise, nous reprendrons chacunedes grandes etapes constitutives du projet que j’ai ete amene a realiser.
1 Presentation d’AdaCore et du projet de
CRM
1.1 AdaCore
Le nom AdaCore designe deux societes (( jumelles )) : l’une basee auxEtats-Unis a New-York (Ada Core Technologies, Inc.) et l’autre situee enFrance a Paris (ACT Europe).
Les offres de ces deux societes sont strictement identiques : leur produit-phare est GNAT Pro, un environnement de developpement Ada1 sous licenceGPL2, qu’elles vendent dans le cadre de contrats de souscriptions a un servicede support.
Les deux societes developpent ensemble les memes produits et se repar-tissent les clients de maniere geographique : le continent americain, l’Australieet le Japon sont parmi les regions reservees a la societe de New-York tandisque l’Europe et l’Asie (excepte le Japon) constituent le territoire de la societe
1Langage de programmation specialiement concu pour le developpement de logiciels alongue duree de vie, aisement maintenables et hautement fiables.
2General Public License : Licence de logiciel libre, details disponibles a l’adresse : http://www.gnu.org/copyleft/gpl.html.
3
1 Presentation d’AdaCore et du projet de CRM
parisienne.
Dans la suite de ce rapport, le terme AdaCore fera donc reference in-differemment a la fois a ACT Europe et a Ada Core Technologies.
1.2 L’Offre commerciale d’AdaCore
Tous les produits developpes par AdaCore sont open source, sous licenceGPL ou approchant (certains composants sont notamment sous GMGPL3 ouLGPL4). Parmi ces produits se trouve le produit-phare, qui a donne naissancea la societe : le compilateur GNAT, issu d’un projet universitaire a NYU etbase sur GCC 5.
GNAT se situe au centre de l’offre commerciale d’AdaCore. Un grandnombre d’outils gravitent autour : parmi eux, l’IDE6 GPS 7 et le debuggergraphique GVD8, les librairies GNAT, etc. Tous ces composants sont dispo-nibles en acces libre et public9. Cette version libre est largement utilisee dansles universites ainsi que par les particuliers.
Une version payante, GNAT Pro, est proposee aux professionnels. Leproduit GNAT Pro est vendu avec une souscription d’un an ou plus au ser-vice de support d’AdaCore. Ce service prevoit notamment la reponse auxquestions des equipes de developpement dans des temps tres courts (souventinferieurs a 15 minutes pour les requetes simples) et directement par des pro-fessionnels specialistes du langage Ada, ou encore la mise a disposition dewavefronts10 en cas de bug, etc. De plus, et contrairement a la version libre,le client est garanti d’avoir de nouvelles versions — qualifiees qui plus est —de la gamme de produit tous les six mois (chaque version corrigeant tous lesbugs ayant ete soumis par les differents clients depuis la version precedente).
Ce business model a deja fait ses preuves. L’une des grandes raisons dece succes est la qualite du service rendu aux clients, qui fait notamment queplus de 80 % des contrats sont renouveles d’une annee sur l’autre. Une autre
3GMGPL : GNAT Modified GPL.4LGPL : Lesser -GPL.5GNU Compiler Collection (http://gcc.gnu.org/).6IDE : Integrated Development Environment.7GPS : GNAT Programming System.8GVD : GNU Visual Debugger.9Voir le site libre d’AdaCore : http://libre.act-europe.fr/.
10Versions intermediaires de la chaıne d’outil GNAT avant une prochaine release.
4
1 Presentation d’AdaCore et du projet de CRM
est egalement la presence dans la clientele de grands groupes perennes telsque BNP Paribas, Boeing, Canal Plus, Dassault, EADS, EdF, Eurocontrolou Thales. Cette position confortable n’empeche pas pour autant les diri-geants d’AdaCore de sans cesse remettre en cause leur offre, leur systeme detarification, leur image, afin de suivre au plus pres l’evolution de leur marcheet les besoins de leurs clients.
1.3 Le Projet de CRM
AdaCore est une entreprise recente (fondee en 1994). Elle est en crois-sance permanente, tant du point de vue du nombre de ces employes (unequarantaine environ, dont une quinzaine a Paris) que du point de vue dunombre de ses clients (quelques centaines a ce jour). La societe a ainsi atteintune taille critique au-dela de laquelle il serait difficile de gerer l’ensemble desclients sans l’aide d’un logiciel de gestion de clients. Jusqu’a ce jour, la gestionadministrative des clients (envois de devis, de factures, ouverture et ferme-ture de comptes, gestion des contacts, envois des produits, etc.) etait unegestion purement manuelle, sous la responsabilite de Zepur Blot en Europeet de Karen Mason aux Etats-Unis.
Le besoin d’un outil informatique d’aide a la gestion des clients s’estfait sentir des l’ete 2001. Ce type d’outil est connu sous l’acronyme CRM(Customer Relationship Management). Il existe deja sur le marche plusieurssolutions de CRM. Elles se presentent generalement sous la forme d’un grandnombre de composants logiciels necessitant une longue periode de configura-tion, d’integration et de mise en place par des professionnels. Ces solutionssont de plus adaptees a des grandes entreprises dont l’echelle a peu de rapportavec l’echelle d’AdaCore. Une autre raison pour ne pas avoir choisi de solu-tion commerciale existante est qu’aucune ne prevoyait une integration reelleet complete de la communication electronique par email. De plus, le parcinformatique d’AdaCore etant relativement heterogene (majoritairement desPC sous GNU/Linux, certains sous Windows ainsi que quelques PowerPCsous Mac OS X), la condition de compatibilite avec l’ensemble de ces sys-temes etait primordiale et suffisait a eliminer la grande majorite des solu-tions, dont les clients ne fonctionnaient que sous Windows. Enfin, le systemede fonctionnement d’AdaCore est specifique en de nombreux points et n’au-rait vraisemblablement pas permis l’integration parfaite et sans compromisd’un outil de CRM existant.
C’est dans cette situation que je suis arrive en juillet 2003 dans les
5
2 Analyse du projet de CRM
bureaux d’AdaCore a Paris : la decision avait ete prise de developper eninterne un logiciel de CRM. Franco Gasperoni est la personne a l’origine dece projet. Une etude de l’offre existante — brievement evoquee plus haut —avait deja ete menee et un premier cahier des charges redige. Mon but etaitdonc de realiser, en collaboration etroite avec Franco, l’analyse poussee duprojet et la conception d’un logiciel de CRM adapte a AdaCore, puis d’enrealiser une maquette et enfin d’en commencer l’implantation.
2 Analyse du projet de CRM
Pour bien comprendre les objectifs du projet et les besoins auxquelsdevra repondre l’outil de CRM, il est indispensable de comprendre dans lesdetails ce en quoi consiste le travail du personnel lie a la vente, a savoirprincipalement Zepur Blot et Franco Gasperoni en Europe d’une part, KarenMason et Bernard Banner aux Etats-Unis d’autre part.
L’idee est donc d’avoir une vue a la fois globale et detaillee de l’ac-tivite liee a la vente chez AdaCore. Il s’agit ensuite de mettre en lumierel’ensemble des taches a caractere administratif (par opposition aux activitescreatives) liees a la vente. C’est en effet sur cet aspect administratif du tra-vail de la relation client qu’un outil informatique peut apporter une reponseconvaincante.
2.1 Les Techniques de modelisation
Il existe des principes de modelisation des processus, notamment enUML11, qui peuvent aider a obtenir cette vue globale et detaillee de certainesactivites. Un travail prealable a mon stage a donc ete, sous les conseils deFranco, d’approfondir mes connaissances sur ce sujet. Deux livres ont eteparticulierement utiles :
– UML Distilled : A Brief Guide to the Standard Object Modeling Lan-guage12 est une tres bonne introduction a l’UML. Les auteurs in-sistent sur les apports de la modelisation dans les projets de develop-pement logiciel, mais egalement mettent en garde le lecteur sur les
11UML : Unified Modeling Language.12Martin Fowler et Kendall Scott, 2nd edition, Octobre 1999, ISBN 0-201-65783-X.
6
2 Analyse du projet de CRM
exces de modelisation ou de conformation a un modele (en l’occur-rence, le langage UML), qui peuvent a leur tour devenir un frein audeveloppement d’un projet. Plus qu’une simple introduction a l’UML,ce livre est aussi une introduction a la gestion de projet logiciel.
– Workflow Modeling : Tools for Process Improvement and Applica-tion Development13. Certains chapitres traitent exclusivement de lamodelisation d’un processus de travail et ont ete utiles pour la mo-delisation des activites de vente chez AdaCore.
2.2 Le Travail d’enquete
Les premieres semaines du stage ont donc ete consacrees a la decou-verte des metiers de vente chez AdaCore et a leur decortication. J’ai pourcela realise de multiples entrevues avec les principales personnes concernees,en particulier Zepur Blot et Karen Mason (par telephone pour cette derniere,travaillant dans les bureaux de New-York) — que je tiens a remercier pourleur cooperation et la bonne humeur avec laquelle elles ont accepte de re-pondre a mes (tres) nombreuses questions. Ce travail, necessaire a la suitedu projet, a egalement ete pour moi l’occasion de m’introduire aupres desemployes d’AdaCore et de me familiariser avec ce nouvel entourage.
A ces entrevues, s’ajoute la consultation d’un echantillon de dossiersclient : Zepur tient a jour un dossier pour chaque client dans lequel sontconserves au format papier tous les echanges avec un client (emails, lettres,fax, comptes-rendus de communications telephoniques, devis, ordres d’achat,factures, etc.). Ces documents, ainsi que mon abonnement aux mailing-lists(( sales )), ont ete precieux pour avoir une idee encore plus concrete de larelation avec le client.
2.3 Interets de la modelisation
Au fur et a mesure de la decouverte des processus de vente, la mode-lisation de ceux-ci s’etoffe et se complete de plus en plus. Outre le fait depermettre d’avoir une idee visuelle des processus, la modelisation a ici deuxinterets annexes, loin d’etre negligeables :
– La communication : ces schemas sont en effet un outil de communi-cation avec les autres employes. Il a rendu en effet tres facile, deux
13Alec Sharp et Patrick McDermott, 1st edition, Fevrier 2001, ISBN 1580530214.
7
2 Analyse du projet de CRM
semaines apres mon arrivee, la presentation au personnel europeend’AdaCore des processus de vente. Ce support visuel leur a permisde me formuler aisement leurs commentaires, de mettre le doigt surles inexactitudes ou les oublis.
– La motivation : cette modelisation permet de voir avancer son propretravail de maniere concrete, tangible. Cela constitue — en cela-meme— un encouragement, une motivation a continuer le travail en cours.
En dehors de ces avantages annexes, le fait de travailler sur cette mo-delisation oblige a s’impregner totalement de la chaıne de processus en jeudans les activites de vente. Encore une fois, il est primordial de comprendreparfaitement cet enchaınement avant de pouvoir pretendre apporter une so-lution au probleme pose. L’etape de modelisation est en cela tres fructueuse.Elle permettra de garder en tete, tout le long de la phase de design du lo-giciel, les differentes phases qui constituent la prise en main d’un prospect,la negociation d’un contrat, le suivi d’un client, etc., afin que tous les casd’utilisation (use cases) du futur outil soient bien prevus dans la maquette.En cela, cette modelisation constitue d’une certaine maniere un cahier descharges du logiciel de CRM.
2.4 Resultats de la modelisation
Le resultat du travail de modelisation — presente en annexe A — per-met de faire ressortir les differents outils existants (par exemple, pour laredaction de devis, la generation de factures, la creation d’un compte client,etc.) qu’il sera important de prendre en compte lors de la future phase detransition et d’integration de l’outil de CRM. Il permet egalement de mettreen lumiere l’absence d’outils dans certains domaines (par exemple pour lagestion des factures) : c’est dans de tels cas qu’un outil informatique de trai-tement de l’information peut s’averer tres pertinent.
Enfin, il est possible de faire ressortir du schema l’ensemble des do-cuments (lettres, fax, emails, contrats, factures, etc.) qui interviennent dansles processus de vente. Comme ecrit precedemment, tous ces documents sonta ce jour stockes sous format papier et classes dans des dossiers par client.Cette solution passerait manifestement difficilement a l’echelle et n’est doncpas satisfaisante a long terme. Ce sera donc l’un des roles les plus importantsde l’outil de CRM que de permettre l’archivage de tous ces documents sousforme numerique et de les classer selon le client ou prospect concerne.
8
3 Design : construction d’une maquette
3 Design : construction d’une maquette
3.1 L’Interface utilisateur
L’outil de CRM est destine a devenir l’outil de travail quotidien des per-sonnes touchant aux activites de vente de l’entreprise et un outil occasionneldu personnel technique souhaitant obtenir des informations de maniere ponc-tuelle sur un client.
Par consequent, l’interface utilisateur du logiciel sera l’une des cles dela reussite du projet : une mauvaise interface condamnera d’emblee l’outila un avenir incertain, tandis qu’une interface bien pensee sera un atout es-sentiel pour l’adoption de l’outil par les employes. Il est des projets dont ladifficulte reside dans des aspects techniques, algorithmiques ou autres : laphase de conception se concentrera alors sur le recherche de solutions tech-niques, la mise au point d’algorithmes, ou autres. Ici, le point delicat estl’interface utilisateur : ou faire apparaıtre l’information ? Sous quelle forme ?Comment en permettre l’edition ? Comment etablir des passerelles entre dif-ferents types d’information ? Autant de questions qui sont incontournableslors de la conception du logiciel.
3.2 Le Choix d’une interface Web
La technologie a utiliser pour l’interface utilisateur des clients etaitfixee depuis longtemps : ce serait une interface Web. Les raisons a cela sontmultiples, la plus importante est la contrainte de compatibilite : les clientsdoivent pouvoir fonctionner indifferemment sous Linux, Mac ou Windowspour ne citer qu’eux. Avec une interface Web, le client est un navigateur :meme si le respect des standards (HTML, CSS, DOM, etc.) varie d’un naviga-teur a un autre, la contrainte de compatibilite est quasiment acquise d’officeavec ce choix d’interface. Un autre interet est justement le fait qu’aucuneinstallation d’un logiciel client n’est necessaire pour acceder aux donnees duCRM : n’importe quel ordinateur equipe d’une connexion Internet et d’unnavigateur peut faire l’affaire.
Pendant cette longue phase de design (3 mois entiers, de septembre anovembre), il est important de ne pas trop s’isoler et ainsi perdre de vue lesutilisateurs finaux : regulierement, des reunions de mi-parcours doivent etreorganisees, afin de s’assurer que les attentes de chacun sont bien respectees
9
3 Design : construction d’une maquette
et que le produit final ne diverge pas du produit demande. Un passage parles bureaux de New-York a meme permis une presentation (( en direct )) dela maquette en cours de finalisation.
3.3 Realisation d’une maquette
Ce travail de design necessite beaucoup d’imagination : il faut garderson esprit ouvert a toute solution, toute idee nouvelle qui puisse contribuera une meilleure ergonomie de l’interface est bonne a considerer. Pour cela,il faut non seulement etre soi-meme inventif, mais aussi et surtout, etre al’ecoute de toute suggestion venue d’une tierce personne : certaines idees,meme — surtout ? — evoquees au detour d’une conversation informelle,peuvent receler la cle d’un probleme d’interfacage.
La grande difficulte dans la conception d’une telle interface est la priseen compte de tous les cas particuliers qui peuvent survenir lors de negocia-tions avec un client. Le point de depart pour la construction de la maquetteest le travail precedent de modelisation des processus de vente : chaque circuitdans les diagrammes realises doit pouvoir etre parcouru aisement et intuiti-vement a travers l’interface. Mais une fois tous ces circuits, ces use cases,pris en compte, restent les nombreuses exceptions, cas particuliers, que lelogiciel doit etre en mesure de supporter : l’outil de CRM, meme dans cescas-la, ne doit pas etre un obstacle, mais une aide. C’est la raison pour la-quelle l’accent a ete mis sur la modularite de l’outil, donc de l’interface quil’accompagne. En meme temps que cette modularite, il est souhaitable depouvoir lier le maximum d’elements entre eux (par exemple, etre en mesurede lier des factures a l’ordre d’achat correspondant et aux contrats qu’ellesconcernent). Ces deux objectifs contradictoires — modularite/souplesse vs.(( connectivite ))/rigidite — doivent se resoudre en un compromis adequat,qu’il n’est pas toujours evident de trouver.
3.4 Conception du schema de la base de donnees
Une fois cette maquette (un site HTML entierement statique) suffisam-ment complete, souple et validee par les plus interesses, les structures desdonnees commencent deja a apparaıtre d’elles-memes : la maniere dont sontstructurees les pages et la maniere dont les differents ecrans sont lies entreeux laissent en effet apparaıtre en filigrane ce que sera la base de donnees
10
4 Implantation
sous-jacente au logiciel.
Etant donnee la complexite et la quantite des donnees a stocker et astructurer dans le cadre de l’outil de CRM, l’appui sur un systeme de gestionde base de donnees etait une decision prise depuis longtemps.
L’annexe B presente le schema de base de donnees relationnelle tel qu’ilest a l’etat actuel. Le long travail d’elaboration de l’interface web realiseau prealable a rendu la conception de ce schema extremement rapide : lastructure des donnees decoule litteralement du travail effectue auparavant.
4 Implantation
A ce stade, il s’agit de creer la base de donnees et de commencer l’im-plantation du serveur web de CRM.
4.1 Base de donnees PostgreSQL
Le choix de PostgreSQL14 comme SGBD15 etait le resultat de deuxcontraintes : celle d’avoir un veritable SGBD, respectant notamment les pro-prietes ACID (Atomicity, Consistency, Isolation, Durability) et celle d’utili-ser, dans la mesure du possible, des logiciels open source.
Le travail de traduction du schema de la base de donnees en instructionsde creation SQL est un travail systematique qui s’est fait en parallele avec laconstruction du schema entite-associations evoque plus haut.
4.2 L’Utilisation de la technologie AWS
Pour la realisation du serveur web, le choix s’est porte sur la technologieAda Web Server (AWS) developpee par Pascal Obry et Dmitriy Anisimkov,tous deux d’AdaCore. Cette librairie Ada a deja ete utilisee avec succes dansle cadre de GNAT Tracker, site technique mis en place pour les clients d’Ada-Core.
14Voir http://www.postgresql.org/.15SGBD : Systeme de Gestion de Base de Donnees.
11
5 Passation du projet
L’architecture globale a ete en partie inspiree de l’article de J.-P. Rosen :Experiences in developing a typical web/database application16.
Pour la generation de pages HTML a partir de modeles, le package AdaTemplates_Parser a ete utilise. Un bon usage des modeles et du package Adaassocie permet de bien separer l’affichage de la partie traitement des donnees,tandis que l’utilisation de stylesheets CSS permet en outre de separer la miseen forme du contenu brut.
Une API relativement simple et generale a ete mise en place pour leremplissage des modeles HTML directement a partir des donnees de la base eta permis de parvenir a couvrir tres rapidement une grande partie de l’interfaceutilisateur.
5 Passation du projet
Les dernieres semaines de mon stage ont ete essentiellement consacreesa la passation du projet a d’autres developpeurs. Un ingenieur de New-York,Albert Lee, s’est vu confier la responsabilite du module de gestion et trai-tement des emails, tandis que Jerome Roussel, eleve en deuxieme annee del’ENST en stage chez AdaCore sous la direction d’Emmanuel Briot, se chargede completer entierement l’interface web.
Cette phase a ete riche en reunions et en travail d’equipe. Un accent aegalement ete mis sur la redaction de toute la documentation necessaire a lareprise du projet par d’autres, meme si l’essentiel de la documentation avaitete realisee en parallele du travail d’implantation.
La confrontation de mon travail a d’autres developpeurs a ete tres en-richissante. Elle a fait naıtre des idees a la fois pour le logiciel de CRM encours de construction, mais aussi pour d’autres projets tels que la suite d’ou-tils utilisee en interne par AdaCore pour gerer la partie technique. En effet,l’utilisation faite des bases de donnees dans le CRM en a seduit certains,qui pensent pouvoir avantageusement tirer parti de cette technologie dansd’autres contextes.
La prochaine etape delicate du projet sera l’importation — depuis dessources diverses — des donnees client existantes vers la base de donnees.Puis, une periode d’essai et de transition delicate a gerer sera certainement
16Annual International Conference on Ada, 2003, ISBN 1-58113-476-2.
12
5 Passation du projet
decisive dans l’utilisation a terme de l’outil de CRM.
Conclusion
Contrairement a ce que la construction de ce rapport peut le laisserentendre, le developpement de ce projet n’est pas tout-a-fait lineaire : memesi les etapes semblent se succeder de maniere lineaire, les retours a des etapesanterieures sont frequents et necessaires a la suite du projet. Par exemple, letravail sur le schema de la base de donnees a pu faire apparaıtre des manquesdans l’interface prevue par la maquette. Ce phenomene, loin d’etre inconnu,a confirme les enseignements que j’ai pu recevoir, notamment dans le cadrede la brique BDL.
Si j’ai pu aboutir a ce resultat au bout des sept mois de stage, c’est avanttout grace a tous ceux qui croyaient en l’utilite de ce projet et qui m’ont aidea le porter jusqu’a ce stade. Cependant, ce projet ne sera veritablement menea bien que le jour ou il sera devenu l’outil quotidien et apprecie des employesd’AdaCore.
13
A Sales Workflow Diagrams
A Sales Workflow Diagrams
Les pages suivantes representent les diagrammes modelisant le proces-sus de vente tel qu’il existait a mon arrivee chez AdaCore. Le premier schemarepresente une vue globale de l’activite de vente, tandis que les pages sui-vantes detaillent chacune des etapes introduites dans le premier schema.
Ces schemas ont ete realises sous Microsoft Office Visio 2003 Profes-sionnel.
14
Glo
bal s
ales
pro
cess
Sales personnel
Pac
k an
d sh
ippr
oduc
tS
end
invo
ice
and
get p
aid
Obt
ain
PO
& C
PS
AFo
llow
-up
Ren
ewco
ntra
ct
Sale
s op
portu
nity
follo
w-u
p
6 m
onth
late
r
Offe
r eva
luat
ion
Not
es:
- Dur
ing
all s
ub-p
roce
sses
, em
ails
, pho
ne c
all r
epor
ts, f
ax a
nd m
ail a
re a
rchi
ved
in a
per
-cus
tom
er p
aper
file
, her
eafte
r cal
led
“cus
tom
er fi
le (p
aper
)”- I
n m
any
of th
e ab
ove
step
s, a
pro
spec
t can
be
mov
ed to
the
“inac
tive”
sta
te (m
eani
ng, n
o cu
rren
t con
tract
and
no
rece
nt c
onta
ct)
Inac
tive
cont
act
or
Lege
nd:
Doc
umen
ts in
volv
ed a
re in
red
Tool
s th
at a
re u
sed
are
in b
lue
Sal
es o
ppor
tuni
ty fo
llow
-up
sub-
proc
ess
Zepur/Karen Anne
Sen
d sa
les
mes
sage
All
clea
r?
Indi
rect
pro
spec
tco
ntac
tIn
trodu
ce A
CT
topr
ospe
ct
Pre
fera
bly
by p
hone
,ot
herw
ise
by e
mai
l
Dire
ct p
rosp
ect
cont
act
Pre
pare
quo
te to
obta
in P
O &
CPS
A
Re-
cont
act a
coup
le o
f tim
es,
then
mov
e to
“inac
tive”
sta
te
No
Not
ans
wer
ed
Sup
ply
info
rmat
ion
to p
rosp
ect
Pre
pare
eva
l
Inse
rt co
ntac
t in
AC
T! d
atab
ase
EU
Yes
Wel
com
e pr
ospe
ct
- Fro
m s
ales
trip
s/tra
de s
how
s- F
rom
out
side
sal
es re
ps- F
rom
Win
dRiv
er- F
rom
inac
tive
cont
acts
file
http
://…
/sal
es-m
sg.tx
t
Pho
n e/e
mai
lSa
les
staf
f and
/or T
echn
ical
exp
erts
http
://…
/offe
ring.
txt
By
phon
e or
by
emai
l
Kee
p ev
eryo
ne a
war
e of
the
pros
pect
’s s
tatu
s by
sen
ding
em
ails
to th
e us
lead
s m
ailin
g-lis
t dur
ing
the
who
le p
hase
of n
egot
iatio
nU
S
Som
e co
ntac
t do
not h
ave
imm
edia
te n
eeds
, but
just
wan
t to
eval
uate
the
tech
nolo
gy fo
r fut
ure
proj
ects
or
or
Obt
ain
PO
& C
PS
A s
ub-p
roce
ss
Zepur/Karen
Yes
Not
OK
No
Not
ans
wer
edw
ithin
[var
iabl
e]
OK
Ope
n ac
coun
t
Che
ck P
O v
s.qu
ote
Acc
epte
d?R
ecei
ve P
O &
CP
SA
Find
out
why
and
nego
tiate
Sen
d qu
ote
&C
PSA
Solv
e P
O p
robl
emw
/ cus
tom
erR
e-co
ntac
t aco
uple
of t
imes
,th
en m
ove
to“in
activ
e” s
tate
Upd
ate
acco
unt
file
Exi
stin
gac
coun
t?
Not
e:Th
e ac
coun
t alre
ady
exis
ts if
an
eval
was
pre
viou
sly
offe
red
No Yes
- Cut
& p
aste
http
://…
/quo
te-m
sg.tx
t- A
ttach
http
://…
/cps
a.do
c- C
onsu
lt ht
tp://
…/li
st-p
rice.
htm
l
Pho
ne/e
mai
l
CV
S c
omm
it
Pap
er (f
ax/m
ail)O
ffer e
valu
atio
nM
aybe
Phone
Sal
es s
taff
Mov
e co
ntac
t to
“inac
tive”
sta
teU
nsuc
cess
ful
nego
tiatio
n
Offe
r eva
luat
ion
sub-
proc
ess
Cyrille/BernardZepur/Karen
- Atta
chht
tp://
…/c
psa.
doc
(con
verte
d to
)- A
ttach
http
://…
/test
-pla
n.do
c (c
onve
rted
to p
df)
- Atta
ch (i
f app
licab
le) h
ttp://
…/q
uote
-msg
.txt
Sen
d:- e
val-C
PS
A- T
est p
lan
- quo
te (i
f app
licab
le)
Ope
n ac
coun
t
Yes
Ana
lyze
Tes
t Pla
n&
eC
PS
AV
alid
ate?
Exp
lain
why
and
prop
ose
a re
gula
rco
ntra
ct in
stea
d
Follo
w-u
p w
ithpr
ospe
ct
6 w
eeks
late
r
Cus
tom
erre
ady
to b
uy?
Find
out
why
and
:- e
xten
d ev
alua
tion
perio
dor - m
ove
to “i
nact
ive”
sta
te
Obt
ain
PO
&C
PS
A
No
Yes
No
Yes
OK
for r
egul
arco
ntra
ct?
Find
out
why
and
mov
e to
“ina
ctiv
e”st
ate
No
All
docs
inpa
per
Not
e:Th
e pr
ospe
ct m
ight
hav
eal
read
y be
en s
ent a
quo
te
Ope
n C
usto
mer
Acc
ount
sub
-pro
cess
Zepur/Karen
Com
man
d lin
e fro
m p
aris
ser
ver:
cftp
-n (+
pas
swd)
Ret
urns
use
rid &
has
h(pa
ssw
d)
EU
Use
rid &
hash
ed p
assw
d
cftp
-m
Upd
ate
AC
TE-c
usto
mer
s.xl
s
or
Ass
ign
new
use
rid
Rec
eive
& s
end
conf
irmat
ion
mes
sage
Cho
se lo
gin
&pa
ssw
ord
Sen
d cu
stom
er’s
pass
wor
dse
para
tely
Gen
erat
eco
nfirm
atio
nm
essa
ge
Upd
ate
acco
unts
file
Loca
l Exc
el fi
le
CV
Sco
mm
it
- Upd
ate
NIS
dat
abas
e- S
etup
mai
ling-
lists
and
gro
ups
etc.
cron
task
on
Poru
n ev
ery
30 m
in.
Not
e:Th
is p
roce
ss is
bei
ng tr
ansf
orm
ed a
nd s
impl
ified
: “C
hose
logi
n”, “
Ass
ign
user
id”,
“Upd
ate
acco
unt f
ile”,
“Gen
erat
e co
nfirm
atio
n m
essa
ge” a
re to
be
regr
oupe
d in
to o
ne s
tep
via
the
web
inte
rface
of G
NA
T Tr
acke
r.
Upd
ate
cust
omer
dat
abas
eU
S
MS
Acc
ess
For e
valu
atio
n, ty
pe is
mar
ked
“eva
luat
ion”
Cus
t#
and
Info
rmat
ion
cont
aine
d in
CP
SA
Pac
k &
Shi
p su
b-pr
oces
s
Ship Dpt(Zepur/Anne/Jennifer)
Sales Dpt(Zepur/Anne/Karen)
ISO
imag
e
Bur
n C
DP
rint C
D
Shi
p
[EU
onl
y]A
rchi
ve s
hipp
ing
dock
et in
cust
omer
file
(pap
er)
Invo
ice
EU
: Upd
ate
AC
T! D
atab
ase
US
: Upd
ate
Exc
el fi
le
Col
lect
rele
vant
docs
Pac
k
Arc
hive
pac
king
slip
incu
stom
er fi
le (p
aper
)
Invo
ice
sub-
proc
ess
KarenZepur
Upd
ate
Invo
ice.
xls
Fill
File
Mak
erin
voic
e te
mpl
ate
Sen
d to
cust
omer
’sac
coun
ts d
pt
File
Mak
er P
roP
ut in
“wai
ting
for
paym
ent”
box
Invo
ice
paid
?
Sen
d du
nnin
gno
tice
No
Mar
k bo
th in
voic
e co
pies
as
paid
& m
ove
it to
cus
tom
er fi
le (p
aper
)
Yes
Loca
lE
xcel
file
Del
inqu
ent
leve
l?
No
Upd
ate
acco
unts
file
and
mar
kac
coun
t as
“clo
sed”
unt
ilpr
oble
m s
olve
dY
es
[Fra
nco]
Upd
ate
inco
me-
eu.x
ls fi
le
Cre
ate
new
invo
ice
with
Qui
ckBo
oks
Sen
d to
cus
tom
er(2
cop
ies)
Upd
ate
inco
me-
us.x
ls fi
le
Mar
k in
voic
e as
paid
Upd
ate
invo
ice
stat
us in
Qui
ckB
ooks
Arc
hive
incu
stom
er fi
le(p
aper
)
Yes
Invo
ice
paid
?
Sam
e as
abo
ve
No
Upd
ate
inco
me-
us.x
ls fi
le
[Fra
nco]
Upd
ate
inco
me-
eu.x
ls fi
le
Arc
hive
in fi
nanc
ial
file
(pap
er)
and
and
and
and
Follo
w-u
p su
b-pr
oces
s
Zepur/Karen
Che
ck re
port
activ
ity
Mea
sure
cust
omer
’ssa
tisfa
ctio
n
Get
in to
uch
with
cust
omer
ifne
cess
ary
- Web
inte
rface
of G
nat T
rack
eror - c
repo
rt co
mm
and
line
Pho
ne c
usto
mer
and
Ren
ew s
ub-p
roce
ss
Zepur/Karen
Sen
d ex
pira
tion
notic
e w
ith C
PS
A&
rene
wal
quo
te
2-3
mon
ths
(eve
nm
ore
durin
g su
mm
er)
befo
re e
xpira
tion
http
://…
/rene
w-m
sg.tx
t
OK
for
rene
wal
?
Upd
ate
acco
unts
file
(type
=“cl
osed
”)N
o
Upd
ate
acco
unts
file
Yes
Sim
ple
notic
e sh
owin
g th
atth
e cu
stom
er w
ishe
s to
rene
w
Sen
d “T
hank
you
”m
essa
ge A
t exp
iratio
n da
te
Sen
d si
mpl
eco
nfirm
atio
nm
essa
ge
Find
out
why
and
nego
tiate
Uns
ucce
ssfu
lne
gotia
tion
Pes
ter
cust
omer
No
resp
onse
PO
rece
ived
and
conf
orm
toqu
ote?
Yes
Upd
ate
acco
unts
file
No
Pest
ercu
stom
er
Soo
n th
e sa
me
mes
sage
as
in “o
pen
acco
unt”
Cus
tom
er re
ques
ts tr
aini
ng/c
onsu
lting
Zepur/Karen
Und
erst
and
cust
omer
’s n
eeds
Sen
d qu
ote
(em
ail)
Rec
eive
PO
and
chec
k it
vs. q
uote
Set
up d
ates
Onc
etra
inin
g/co
nsul
ting
done
Phone/email
- Tec
h. e
xper
ts a
vaila
bilit
y- C
usto
mer
sch
edul
e
Phone/email
- Tec
h. e
xper
t- S
ales
dpt
Yes
No
Not
ans
wer
edw
ithin
15-
30 d
ays
Find
out
why
and
nego
tiate
Pest
er p
rosp
ect
Acce
pt?
Invo
ice
Uns
ucce
ssfu
lne
gotia
tion
Giv
e up
A n
ote
indi
cate
s th
atno
trav
elar
rang
emen
ts o
r dat
esse
tup
can
be d
one
befo
re th
e PO
has
been
rece
ived
Gat
her
trave
lre
ceip
ts
Cus
tom
er re
ques
ts s
peci
al d
evel
opm
ent/e
nhan
cem
ent
Franco/Bernard/Robert Technical personnelZepur
Feas
ible
?
Writ
e an
dse
nd d
etai
led
offe
r (w
ithde
liver
yst
eps)
Invo
ice
(ifap
plic
able
)
Nex
t ste
pfin
ishe
d?
Invo
ice
Und
erst
and
exac
t nee
ds(m
ail +
phon
e)
Yes
Info
rm b
y em
ail/p
hone
Rec
eive
PO
Agr
eem
ent?
Yes
Rev
iew
offe
r
No
Som
etim
es, t
here
isno
initi
al in
voic
e
Whi
le o
ther
step
s re
mai
n
Arc
hive
em
ail
B ER Diagram
B ER Diagram
Le schema de la page suivante est celui de la base de donnees rela-tionnelle adoptee. Le schema a ete realise sous Microsoft Office Visio 2003Professionnel. Afin d’eviter une trop forte surcharge du diagramme, toutesles relations entre les tables ne sont pas indiquees explicitement par un lien.Une legende explique brievement les codes adoptes.
26
Contract
PKC
ontr
act_
Nb
PKC
ontr
act_
Type
FK1
Opp_Nb
FK2
PO_Nb
FK3
ACT_Nb
Dat
e_C
reat
edComment
Opp
PK,F
K1
Opp
_Nb
FK1
SE_T
ype
FK2
Reseller_Id
FK3
Nee
ds_L
ist_
IdDate_Needed
Need_Duration
PO
PK,F
K1
PO_N
b
FK1
SE_T
ype
Cust_PO_Nb
Amount_PO
FK2
Currency_Code
ACT
PK,F
K1
AC
T_N
b
FK1
SE_T
ype
Quote
PKQ
uote
_Id
FK1
Opp
_Nb
FK2
Cur
renc
y_C
ode
Dat
e_C
reat
edDate_Sent
Validity_Duration
Payment_Conditions
Other_Info
FK3
PN_L
ist_
Id
Invoice
PKIn
voic
e_N
b
FK2
PO_N
bFK
1C
urre
ncy_
Cod
eD
ate_
Cre
ated
Date_Sent
Date_Paid
Amount_Paid
Address
VAT_Nbr
Payment_Conditions
Other_Info
FK3
PN_L
ist_
Id
Shipment
PKSh
ipm
ent_
Nb
FK1
AC
T_N
bFK3
Prepared_By_Login
Date_Sent
Tracking_Nb
Address
Content
Comment
Contact
PKC
onta
ct_I
d
First_Name
Last_Name
Phone
Fax
Cellular
Address
Comment
FK1
Picture_File_Id
Pref
_Ann
ounc
emen
t
Country
PKC
ount
ry_C
ode
Nam
eD
ispl
ay
Company
PKC
ompa
ny_I
d
Nam
eFK1
Former_Name
Sales_Entity
PKSE
_Typ
ePK
SE_N
b
FK2
Company_Id
FK1
Country_Code
FK3
Sale
s_R
ep_L
ogin
Dat
e_C
reat
edSt
atus
Reg
ion
Name
SiteAddress
Comment
Sales_Entity_Contact
PK,F
K1
SE_T
ype
PK,F
K1
SE_N
bPK
,FK
2C
onta
ct_I
d
Ord
inal
Posi
tion
*
*
Action_Item
PKA
I_Id
FK1
SE_Type
FK1
SE_Nb
FK2
Who
_Ass
igne
dFK3
Who_Done
Prio
rity
Dat
e_A
ssig
ned
Date_Done
Dea
dlin
eW
hat
*
0..1
0..1
0..1
Product
PKPN D
escr
iptio
n
**
*
*
*
Products
PK,F
K1
Prod
ucts
_Nb
FK1
Con
trac
t_Ty
peA
ctiv
eC
PSA
_Typ
eFK
4PN
_Lis
t_Id
FK5
CPSA_File_Id
Start_Date
Subs
crip
tion_
Dur
atio
nRenewal_Intention
Renewal_W
hy_Not
FK2
Renewal_Opp_Nb
FK3
Renewal_Products_Nb
FK6
Test_Plan_File_Id
0..1
Service
PK,F
K1
Serv
ice_
Nb
FK1
Con
trac
t_Ty
peFK2
PNAttendees
Description
SiteDays
Enhancement
PK,F
K1
Enha
ncem
ent_
Nb
FK1
Con
trac
t_Ty
peFK3
Contract_File_Id
FK2
PNDescription
0..1
Internal_User
PKLo
gin
First_Name
Last_Name
Qui
ck_N
ame
Region
Signature
Pref
_AI_
Mai
n_In
fPr
ef_A
I_M
ain_
Sup
Pref
_AI_
Oth
er_I
nfPr
ef_A
I_O
ther
_Sup
Pref
_Con
tact
_Nbr
**
*
Price
GT_User
PKLo
gin_
Emai
lPK
,FK
2A
CT_
Nb
FK1
Con
tact
_Id
Pass
wd_
Has
hA
dmin
Act
ive
Dow
nloa
dB
row
se_R
epor
tSe
nd_R
epor
t
*
Currency
PKC
urre
ncy_
Cod
e
Rat
eH
TML_
Sym
bol
Document
PK,F
K2
Doc
_File
_Id
FK1
SE_T
ype
FK1
SE_N
b
PKEm
ail_
Id
Mes
sage
_Id
FK1
SE_Type
FK1
SE_Nb
Dat
e_R
ecei
ved
From
_Em
ail
From_Full_Name
Subj
ect
Con
tent
Ans
wer
edD
elet
ed
* *
Reseller
PKR
esel
ler_
Id
Nam
e*
*
**
Legend:
- C
olor
s ha
ve n
o sp
ecifi
c se
man
tics
in th
is d
iagr
am -
PK =
Prim
ary
Key
- FK
= F
orei
gn K
ey -
The _I
d suf
fix m
eans
the
attr
ibut
e is
an
inte
rnal
iden
tifie
r,un
know
n to
the
user
- Th
e _N
b suf
fix m
eans
the
attr
ibut
e is
an
iden
tifie
r use
d by
the
user
to d
esig
nate
a s
peci
fic in
stan
ce -
Bol
d at
trib
utes
are
requ
ired
*
Milestone
PK,F
K1
Enha
ncem
ent_
Nb
PKO
rdin
al
Description
Date_Expected
Date_Delivered
Date_Approved
Price
FK2
Currency_Code
*
Service_Day
PKSe
rvic
e_D
ay_I
d
FK1
Serv
ice_
Nb
Dat
e_D
one
Who
_Don
e
*
0..1
0..1
0..1
File
PKFi
le_I
d
File
_Nam
eM
ime_
Type
Des
crip
tion
Dat
e_In
sert
edFi
le_B
LOB
Attachment
PK,F
K1
Emai
l_Id
PKO
rdin
al
FK2
File
_Id
*
PN_List
PKPN
_Lis
t_Id
PN_List_Item
PK,F
K1
PN_L
ist_
IdPK
Ord
inal
PN Nb_Developers
Des
crip
tion
Single_Team
Price
*
1
1
1
SE_SE
PK,F
K1
SE1_
Type
PK,F
K2
SE1_
Nb
PKSE
2_Ty
pePK
SE2_
Nb
Comment