Vous êtes sur la page 1sur 33

Edit PAU le lundi 22 dcembre 2003.

SOMMAIRE

REMERCIEMENTS_____________________________________________________________ 4
AVANT-PROPOS _______________________________________________________________ 5
I - INTRODUCTION ____________________________________________________________ 6
II - ENVIRONNEMENT DE TRAVAIL_____________________________________________ 7
1) Prsentation de la socit ____________________________________________________ 7
2) Lquipe de travail__________________________________________________________ 7
3) Mthode de travail __________________________________________________________ 8
4) Environnement technique ____________________________________________________ 9
III - FORMATION _____________________________________________________________ 10
1) Gnralits _______________________________________________________________ 10
2) COM+ ___________________________________________________________________ 10
3) Outils de dveloppement ____________________________________________________ 10
4) Accs aux donnes _________________________________________________________ 12
IV - TUDE DU PROGICIEL DE BILLETTERIE ___________________________________ 14
1) Gnralits _______________________________________________________________ 14
2) Donnes__________________________________________________________________ 15
3) Traitements ______________________________________________________________ 15
4) Architecture technique _____________________________________________________ 17
V - MISE JOUR DU PROGICIEL DE BILLETTERIE ______________________________ 18
1) Gnralits _______________________________________________________________ 18
2) Systme de Gestion de Bases de Donnes ______________________________________ 19
3) Edition dtats ____________________________________________________________ 19
VI - PARAMTRAGE DU PROGICIEL DE BILLETTERIE___________________________ 19
1) Gnralits _______________________________________________________________ 19
2) Les lieux _________________________________________________________________ 20
3) Les abonns ______________________________________________________________ 20
4) Les abonnements __________________________________________________________ 21
VII - AJOUT DUN MODULE AU PROGICIEL DE BILLETTERIE ____________________ 22
1) Gnralits _______________________________________________________________ 22
2) Analyse __________________________________________________________________ 22
3) Conception _______________________________________________________________ 23
4) Dveloppement ____________________________________________________________ 24
5) Tests ____________________________________________________________________ 25

David ROUSSE Page 2 22/12/03


SOMMAIRE

VIII - CONCLUSION___________________________________________________________ 27
IX - DOCUMENTATION________________________________________________________ 28
1) Livres ___________________________________________________________________ 28
2) LInternet ________________________________________________________________ 28
X - GLOSSAIRE _______________________________________________________________ 28

David ROUSSE Page 3 22/12/03


REMERC IEME NTS
Ce rapport de stage nexisterait pas sans la socit CIMA, qui ma accueilli pendant un semestre. Je tiens donc
remercier lensemble des membres de la socit pour mavoir permis de passer un stage agrable.
Je tiens tout particulirement remercier Michel CRIADO, mon matre de stage, qui a bien voulu me faire confiance
et ma intgr lquipe de travail. Je remercie par ailleurs toute lquipe pour mavoir fait partager son exprience
professionnelle.
Mes remerciements vont aussi aux clients avec lesquels jai t en contact pendant mon stage, savoir les
responsables administratifs de lUS Dax Rugby Landes et de la Section Paloise, respectivement Messieurs Jean Marc
DEGOS et Jack LAURENT.

Je tiens galement remercier Patrick DEMEURISSE, mon tuteur de stage, pour sa disponibilit et les conseils quil
a pu me donner.

Enfin, je remercie toutes les personnes qui ont eu la gentillesse de relire mon rapport et qui mont aid le raliser.

David ROUSSE Page 4 22/12/03


AVA NT- PR OPO S
Le stage de six mois que jai effectu chez CIMA est caractris par une grande diversit de travaux raliss. Le
rapport prsente une synthse de mes activits. Le lecteur dsirant lire un descriptif au jour le jour de mon stage pourra
se reporter au suivi quotidien prsent dans la dernire annexe.

Je tiens galement souligner quun glossaire de certains termes cls mentionns dans le document est disponible
la fin du rapport ainsi que dans lannexe 1.

Je souhaite au lecteur autant de plaisir lire les lignes qui suivent que jen ai eu les crire.

David ROUSSE Page 5 22/12/03


I - INT RO D UCT IO N
La conception de logiciels est sans aucun doute un travail complexe. Un espace sans fin attire, la possibilit
dinventer motive, mais ces liberts ne font pas de la conception de logiciels une activit idyllique. Tout nest pas au
mieux dans le meilleur des mondes possibles . Le chemin vers le succs dun projet logiciel est jalonn de multiples
piges, de nombreux paramtres sont prendre en compte, le principal tant le facteur humain.

De plus, les technologies ne cessent dvoluer, avec lapparition de nouveaux langages, de nouvelles plate-formes,
les exigences des entreprises sont toujours plus grandes, la capacit dadaptation devient alors un facteur essentiel de
russite.

Situ entre les utilisateurs et les machines, entre le mtier et les systmes informatiques, lenseignement de lIUP
MIAGe rpond ces multiples contraintes. Cette formation scientifique et technologique est complte par une
exprience professionnelle de six mois, qui permet de mettre en application dans le contexte professionnel la dmarche
et les outils de lingnierie logicielle.

Pour mieux comprendre le processus de gnie logiciel dans le domaine de linformatique de gestion et pour
apprendre des technologies qui feront linformatique de demain, jai choisi de raliser mon stage au sein de la socit
CIMA, qui ma permis de voir lindustrie du logiciel avec les yeux dun salari dbutant.

Par ailleurs, lenvironnement de travail de la socit ma donn la possibilit dapprhender un ensemble dobjets
interagissant dans une structure cohrente, en dautres termes, a constitu une premire approche dune architecture
logicielle.

Dans un premier temps, une priode de formation ma permis dtudier les technologies utilises par CIMA. Le but de
cet apprentissage a t de simprgner de lessence de linformatique actuelle, du passage du mtier de dveloppeur
dapplications celui dassembleur de composants.

Une priode dintgration a suivi, me permettant de voir limplmentation des concepts abords prcdemment. Ce
passage de la thorie la pratique, de la fiction la ralit fait surgir la contrainte conomique dans le jeu de la cration
logicielle.

Enfin, lintgration en tant quanalyste-programmeur part entire au sein de lquipe de travail a constitu une
premire exprience professionnelle significative et a t loccasion de voir dans les moindres dtails les multiples
facettes de la vie dune socit de services.

Cest dans cette philosophie dapprentissage du mtier que les lignes qui suivent sont prsentes, en prenant soin
douvrir les yeux sur la ralit du mtier.

David ROUSSE Page 6 22/12/03


II - E NVIR O NNE ME NT DE TR AVA IL
1) Prsentation de la socit
La socit CIMA (Communications Informatiques Micros Applications) est une SSII, base Pau, spcialise dans
linformatique de gestion. Depuis six ans, elle fournit des prestations de services et conoit des progiciels de gestion.
Les services proposs sont principalement tourns vers le choix et la mise en place dinfrastructures de
communications (rseau informatique, serveur de messagerie, ) et lintgration de mainframes dans des
environnements client / serveur. A ces prestations techniques sajoutent des conseils en gestion de projet. Ces conseils
recouvrent laudit, la dfinition des besoins et lexpertise.
CIMA conoit galement des progiciels de gestion, cest dire des logiciels qui rpondent un besoin spcifique
dune entreprise. Ce crneau de dveloppement se caractrise par des socits qui ne trouvent pas sur le march du
logiciel la rponse la spcificit de leurs mtiers. En effet, les grands diteurs informatiques de logiciels ou de
progiciels sectoriels proposent des produits pour lesquels le nombre de clients potentiels est suffisant dun point de vue
conomique. Lorsque les entreprises ont besoin dun travail sur mesure, les SSII comme CIMA rpondent leurs
attentes. Cette symbiose entre membres de lindustrie du logiciel est galement illustre par le partenariat de CIMA et
de la socit ARISTA : cette dernire, spcialise dans les progiciels de gestion comptable et commerciale, sadresse
CIMA lorsque les logiciels du march ne peuvent rpondre aux besoins des clients.
En parallle des dveloppements spcifiques, CIMA dispose dun progiciel sectoriel de gestion de manifestations
sportives et de spectacles. Ce progiciel de BILLETTERIE est un systme informatique de rservations et de ventes de
billets. Il est constamment amlior et constitue le logiciel phare de la socit.

2) Lquipe de travail
La socit est ce jour compose de cinq personnes, trois analystes -programmeurs, une secrtaire et le grant.

Michel CRIADO

Il est le fondateur et le grant de la socit. Il soccupe


galement des relations commerciales, de la gestion de projet et
des services informatiques que la socit propose.
Il a une formation AES et est autodidacte en informatique, il
travaille dans ce milieu depuis 1971.

Christine CAZABAN

Elle est secrtaire-comptable. Elle soccupe galement


de laccueil des clients, du suivi des affaires et des
sauvegardes des donnes.
Elle est titulaire dun BAC Techniques Administratives, a 3 ans
dexprience professionnelle au sein de la socit CIMA.

Pantxika ARANDIA

Elle est analyste-programmeur. Elle soccupe


galement du service aprs -vente du progiciel de
BILLETTERIE.
Elle est titulaire dun DESS MASS, a 5 ans dexprience
professionnelle dont 3 ans au sein de la socit CIMA.

Gilles BENOIST

Il est analyste-programmeur. Il est rgulirement envoy en


dlgation chez des clients.
Il est titulaire dun DUT dinformatique, a 22 ans dexprience
professionnelle dont 3 ans au sein de la socit CIMA.

Cline LACABERATS

Elle est analyste-programmeur.


Elle est titulaire dun Destaup (Diplme dEtudes Scientifiques
et Techniques Appliques de lUniversit de Poitiers), a 1 an
dexprience professionnelle au sein de la socit CIMA.

David ROUSSE Page 7 22/12/03


Deux catgories de personnes apparaissent clairement : les analystes -programmeurs, qui sapparentent le plus
souvent des programmeurs et passent la majorit de leur temps crire des lignes de code tandis que la gestion de
la socit est assure par Michel CRIADO et sa secrtaire.
Les joies du mtier danalyste-programmeur se rsument en quelques concepts forts, le plaisir de crer, la
satisfaction de construire des choses utiles autrui, le bonheur dapprendre tous les jours. Cependant, lactivit nest
pas exempte dinconvnients, la ncessit dcrire des lignes de code parfaites (dans le sens o une erreur de syntaxe
se traduit invitablement par une erreur dexcution), la dpendance vis vis des programmes dautrui, le dbogage
des applications peuvent tre perus comme de pnibles impratifs.
Le chef de projet, Monsieur CRIADO, cot de son activit dadministration de la socit dans laquelle Mlle
CAZABAN est implique, doit intgrer au mieux les diffrents facteurs qui interviennent dans le gnie logiciel, pour faire
en sorte que les joies surpassent les peines, que le projet ne se noie pas dans des sables mouvants dont la sortie est
coteuse en temps et en argent.
Pour ma part, lobjectif du stage consiste raliser un travail analogue aux trois analystes -programmeurs de la
socit, en tant positionn plus particulirement sur la BILLETTERIE.

3) Mthode de travail
La petite structure de lentreprise na pas incit le grant la mise en place dune mthode de travail strictement
dfinie, prfrant favoriser la ractivit de la socit. Chacun des membres de lquipe dispose dune autonomie peu
commune, tant au niveau de la dmarche de travail que du formalisme utilis. Une mthode est cependant rcurrente
lors de chaque projet, quil est possible de prsenter ainsi :
Le problme
majeur qui se Le cahier des charges
pose est celui de Il peut tre dfini avec le client ou fourni entirement par
la validation des ce dernier.
documents lors Lestimation
de phases du temps
danalyse. En LAnalyse pralable ncessaire la
effet, il est difficile Le chef de projet et les analystes -programmeurs, en ralisation du
de considrer relation avec les utilisateurs, dfinissent les fonctions que le projet est
comme correct logiciel devra raliser. Cela permet destimer le temps dautant plus
les informations ncessaire pour la ralisation du projet, la charge de travail difficile faire
contenues dans totale et le temps de ralisation. Le cot du projet peut ainsi que beaucoup
un document tre mesur. de paramtres
sans faire un sont prendre
effort
LAnalyse dtaille en compte.
dabstraction, le
tout en un temps Consiste en la dfinition du schma de la base de
limit. donnes et ainsi quen la cration de prototypes dcrans.
Suit la validation de chacun deux. La dfinition des priorits
de dveloppement et le partage du travail entre les
dveloppeurs prparent ltape suivante.

Des Plus que la


livraisons sont Le codage validation de
souvent Commence par limplmentation de la base de donnes documents, des
ralises alors puis se poursuit par lcriture du code. dmonstrations
que le rendent compte
dveloppement de lvolution
continue. Les tests du logiciel.
Par manque de temps, ils sont souvent faits sans
documentation.
Lintgration
logicielle du futur
systme se fait
Le dploiement souvent la veille
Se caractrise par des livraisons partielles du logiciel. de la livraison. Le
moindre dfaut a
Lajout massif alors des
de fonctionnalits La recette consquences trs
est contrl pour Permet de corriger les anomalies de fonctionnement et de importantes : soit le
viter des drives vrifier que le logiciel rpond aux besoins. dlai est dpass
dans les dlais. soit un vritable
bricolage est
La maintenance mettre en place
Est constitue de corrections de bugs ou damliorations pour faire
demandes par le client. fonctionner le
logiciel.

David ROUSSE Page 8 22/12/03


La dmarche expose ci-dessus donne la prpondrance la phase de codage dans le cycle de dveloppement et,
les membres de lquipe en conviennent, la dmarche suivie incite arriver le plus vite possible lcriture du code. En
effet, les contraintes financires imposent daccepter des dlais trs courts. Le rflexe est alors de boucler rapidement
les phases danalyse (et de conception quand elle existe) pour crire du code au plus vite. La livraison est la priorit.
Des avatars inhrents cette mthode de travail sont principalement la spcificit du logiciel (la rutilisation est
rduite au minimum, ce qui fait qu chaque nouveau projet, il faut repartir de zro ) et le peu de documentation
ralise.
Par consquent, dans une telle dmarche, il est ncessaire de se concentrer sur les lments fondamentaux du
logiciel (les 20 % des composants) qui couvrent la plupart du temps les besoins essentiels satisfaire (80 % des
besoins).

Il faut souligner que le cycle de dveloppement prsent se rpte souvent plusieurs fois dans le cycle de vie des
logiciels crs par CIMA. En fait, le cycle de vie se compose dune succession (ou dune superposition) de cycles de
dveloppement, selon lenchanement suivant :

Cycle de vie

Cycle de dveloppement 1

Cycle de dveloppement 2

Cycle de dveloppement 3

Des livraisons partielles mais


oprationnelles (cest dire utilisables
par les clients) sont le rsultat de
chaque cycle de dveloppement.

Dissocier ainsi cycle de vie et cycle de dveloppement permet de disposer dun logiciel en volution constante. De
plus, la vie de la socit en dpend, chaque livraison tant synonyme dune facturation au client.

Enfin, la phase de codage tant prpondrante, viter au maximum les erreurs de programmation permet damliorer
le processus. La mise en place de rgles de programmation y contribue grandement. Elles rationalisent le
dveloppement. Ces standards de codage interne bnficient lensemble du projet en cours, mais aussi tous les
projets suivants qui utilisent le code dvelopp lors du projet. Les avantages long terme sont des dveloppements
plus courts et de meilleure qualit, une maintenance plus facile. Linvestissement initial en temps et en argent
correspondant la mise en place est rentable au niveau de chaque projet futur.
Cette mise en place de rgles de programmation est particulirement important dans une socit comme CIMA qui
utilise intensment la rutilisation au niveau du code source. Pour ce faire, des paquetages de fonctions et de donnes
ont t crs. Cela permet de structurer le code et offre un niveau de granularit adquat pour une rutilisation correcte.
En dveloppement, cela permet de rpartir le travail entre les dveloppeurs. Mises en place lors de la cration de la
socit, force est de constater quelles nont pas t toujours respectes par les diffrents intervenants, ce qui nuit la
qualit de certains nouveaux projets et complique la maintenance dautres.

4) Environnement technique
La diversit des besoins informatiques impose lutilisation de diffrents outils de dveloppement, en dautres termes,
ncessite une bote outils adapte. En loccurrence, une vritable stratgie doit tre mise en place pour le choix des
outils.
La socit CIMA sest tourne vers la plate-forme Microsoft qui offre une structure riche et de haut niveau, un intgr
qui minimise les risques et simplifie le travail, en adquation avec le march sur lequel CIMA est positionne.
Lautre caractristique essentielle de lenvironnement technique est lutilisation de larchitecture client / serveur au
sein de locaux de lentreprise. Le schma en annexe 1 illustre cette architecture matrielle.

Les produits utilises sont les systmes dexploitation Microsoft Windows NT et 9.x, le SGBRD (Systme de Gestion
de Bases de Donnes) Microsoft SQL Server, les EDI (Environnement de Dveloppement Intgr) Microsoft Visual
Basic et Microsoft Visual InterDev, le gestionnaire de code source Microsoft Visual SourceSafe et enfin le gnrateur
dtats Segeate Crystal Reports.

Remarque : on peut regretter quau niveau des phases danalyse et de conception, aucun logiciel ne soit utilis de
manire systmatique. Loffre de Microsoft dans le domaine est pourtant intressante, avec notamment Microsoft Visual
Modeler, lquivalent du logiciel Rational Rose inclus la suite Visual Studio de lditeur de Redmond.

Le choix de cet environnement part dun constat simple : il amliore la productivit des dveloppeurs en leur offrant
des outils faciles utiliser, il simplifie la cration des applications en donnant la possibilit de construire des logiciels
riches, complexes et modulaires et enfin (surtout devrait-on dire), il permet de mieux satisfaire le client.

David ROUSSE Page 9 22/12/03


Lintgration des produits utiliss est possible grce des fondations communes qui donne lensemble les bases
pour une volutivit et une cohrence de facto. COM+, pour ne pas la nommer, constitue la base de cet ensemble, le
modle qui sert de fondations au systme. Le paragraphe qui suit commence par une brve description de ce modle.

III - FOR MAT IO N


1) Gnralits
La premire partie du stage ma permis de dcouvrir les technologies utilises par CIMA. Cet apprentissage porte en
grande partie sur larchitecture logicielle la base de lingnierie du logiciel en place dans lentreprise.

La philosophie dapproche a consist comprendre comment,


disposant de multiples pices de puzzles, il est possible de les
assembler en un tout cohrent, et ce moindre frais.

Cet apprentissage sest droul grce la lecture douvrages spcialiss en association avec des formations
interactives de Microsoft, en loccurrence les Mastering Series.

2) COM+
Selon Maarten Boasson (IEEE Software), la conception de logiciels fait sans aucun doute appel lart dans une
large mesure. Mais, en labsence de rgles, lexpression artistique se transforme souvent en une conception chaotique.
Pour produire un systme ouvert, nous devons utiliser quelques rgles bien dfinies pour gouverner les interactions
entre les systmes et les sous -systmes.

Cette problmatique est la base des architectures objet qui mergent actuellement. En effet, les applications ont
atteint aujourdhui un niveau de sophistication lev, suite des dveloppements longs et successifs. Les utilisateurs
sont devenus exigeants, placs au cur de la dmarche, le temps du progammeur-roi est bel et bien rvolu. Se
pose alors le problme de lvolution des applications monolithiques :
Elles sont complexes donc difficiles maintenir et leur volution engendre un risque certain.
Elles sont en gnral peu modulaires.
La communication entre applications est difficile.

Pour franchir ces limites et rpondre aux nouveaux besoins des entreprises (distribution, modularit, rutilisabilit), il
est ncessaire de relever les dfis suivants :
Des services gnriques sont ncessaires.
Il faut tre capable de prendre le train de lobjet .
La distribution des applications est incontournable.

Mieux que la POO (Programmation Oriente Objet) qui a eu pour rsultat la constitution dans les entreprises dles
dobjets, les architectures objet, et les logiciels base de composants qui en sont le reflet concret pour les
consommateurs dinformatique, permettent de relever ces dfis.
Une architecture logicielle peut se dfinir par un systme de base dans lequel des composants cooprent pour former
un tout cohrent. Un composant peut tre vu comme une brique lmentaire du systme, une pice du puzzle, qui,
grce larchitecture logicielle, est capable de communiquer avec dautres briques, de sassembler avec dautres
pices du puzzle.
A ce jour, lune des architectures objet la plus connue, et sans aucun doute la plus utilise, sappelle COM+
(Component Object Model). Pour avoir un aperu plus complet de cette architecture, le lecteur est invit consulter
lannexe 2, qui dresse un rapide tour dhorizon du modle objet.

Aprs la rdaction de cet aperu de COM+, jai pu apprhender les avantages multiples quapporte une architecture
logicielle, commercer par la possibilit de communication entre composants. Sans priori se connatre (liaison
dynamique de composants), sans avoir ncessairement la mme origine (indpendance vis vis du langage de
programmation utilis), des composants peuvent communiquer grce au rle de facilitation de COM+ : il initie la
communication puis, lorsque le dialogue est tabli, il se retire laissant les composants se parler dans un langage
commun (standard binaire dinteroprabilit).

3) Outils de dveloppement
Le mtier de dveloppeur change. Grce aux architectures base de composants logiciels, la plupart des
dveloppeurs se transforment de plus en plus en colleurs de composants pour assembler des applications spcifiques.

David ROUSSE Page 10 22/12/03


Bien entendu, il faut que certains diteurs fournissent ces composants mtier, ces briques de base, pour que
lassemblage puisse se faire, mais le crneau devient affaire de spcialistes. Pour le reste des diteurs, la tendance
actuelle est de produire vite et bien.

A ces besoins, Microsoft apporte une rponse adapte : dans son environnement de gnie logiciel Visual Studio,
lide porteuse est de dvelopper aussi simplement que possible, via des drag et drop de contrles, des cadres de
travail prdfinis. Dailleurs, avec sa stratgie .NET, Microsoft compte pousser jusquaux dveloppements Web le look
and feel de ses produits Visual. Les outils de dveloppement utiliss chez CIMA constituent donc un point de dpart
idal. En effet, Visual Basic 6.0 et Visual InterDev 6.0 permettent en quelques lignes de codes de crer des logiciels
complexes.

Visual InterDev 6.0 est utile pour les dveloppements tourns vers les technologies de lInternet. Il combine la
fonction dditeurs de code HTML, dditeurs WYSIWYG, tout en offrant la possibilit dintgrer des donnes aux sites
Web crs.

Visual Basic 6.0, sur lequel jai concentr mon tude, se positionne comme un EDI qui permet de crer une grande
varit de types de composants, tous bass sur le modle COM+. Le point fort de Visual Basic est quil simplifie
grandement le dveloppement et quil permet aux entreprises qui lutilisent de se concentrer sur lessentiel, la cration
rapide de logiciels. Microsoft le prsente bien comme un outil dassemblage, face Visual C++ par exemple, les logos
des deux produits le prouvent :

Visual Basic est un Visual C++ offre un


outil dassemblage de niveau de granularit
composants. plus fin.

A la base, le langage BASIC (Beginners All-purpose Symbolic Instruction Code) a permis au dbut des annes 80 la
dmocratisation de la programmation. La simplicit du langage initial est toujours prsente, mais le Basic a bien grandi
et sest dot de nouvelles fonctionnalits (collection, module de classe, ) qui en font un langage professionnel. De
plus, le mot Visual a fait son apparition, reprenant videmment le concept de programmation visuelle, rapide et facile.
De plus, la gestion de la programmation vnementielle de manire native fait de Visual Basic un outil adapt aux
systmes dexploitation Windows. Sajoute cela une programmation facilite par la saisie semi-automatique en cours
dcriture du code et la vrification de syntaxe en arrire plan.

En arrire plan, Visual


Basic interprte le code au
fur et mesure de la
frappe, rduisant ainsi les
erreurs ventuelles de
compilation.

La technologie
Intellisense facilite
lcriture du code en
dvoilant linterface
des composants.

Par ailleurs, son image de langage lent ne lpoque des premires ditions (qui ne permettaient de crer que
des applications en code interprt) a disparu aujourdhui. En effet, le compilateur C++ qui gnre prsent du code
natif offre au langage ses lettres de noblesse.

Remarque : pour vous persuader que les excutables subissent une compilation classique, il est ludique de visualiser
le rpertoire du projet courant pendant quune compilation est effectue. Une srie de fichiers objets (les .obj du C++)
sont visibles, attestant quune compilation a effectivement lieu.

David ROUSSE Page 11 22/12/03


Malgr tout, les concepts objets prsents actuellement dans Visual Basic 6.0 (encapsulation, polymorphisme,
mthodes amies) sont insuffisants pour qualifier le langage dorient objet. La version 7.0 du produit va vritablement
changer la donne, et lintroduction de lhritage, de la surcharge, de la redfinition, des membres de classe, des
constructeurs permettra Visual Basic de passer du statut de langage bas sur lutilisation dobjets celui
dorient objet .

4) Accs aux donnes


Avec les diteurs doutils et dapplications comme Inprise ou IBM et les diteurs de progiciels sectoriels comme SAP
ou Baan, les diteurs de systmes de gestion de bases de donnes constituent lun des trois acteurs fondamentaux de
lindustrie du logiciel. Sur ce march, loffre que propose Microsoft avec SQL Server est de premier ordre, en
concurrence directe avec Oracle dOracle Corporation.
Suite la dcouverte de la mise en uvre de bases de donnes sous Oracle dans le cadre universitaire, linitiation
ladministration systme sous SQL Server dans larchitecture client / serveur de la socit CIMA a t une exprience
intressante.
Les caractristiques principales de SQL Server sont sa facilit de prise en main, ses outils dadministration et sa
parfaite intgration avec Windows NT. Par rapport Oracle, plus robuste mais plus technique, SQL Server constitue
donc une solution trs attractive pour les petites et moyennes entreprises.

Larchitecture dadministration se compose de diffrents outils accdant via plusieurs interfaces au cur du SGBDR :

SQL Server Applications utilisant Applications


Entreprise Manager SQL-DMO Transact-SQL
Serveur sous
Windows NT SQL Distributed Management Objects
ou Windows 9.x
(SQL-DMO)

Transact-SQL

SQL Server Agent SQL Server MS DTC


(service (service MSSQLServer, (service MSDTC,
SQLServerAgent, gre les donnes et leur gre les transactions
gre les alertes, les intgrit et traite les distribues entre
notifications, les transactions et les plusieurs sources de
excutions de travaux et requtes) donnes)
la rplication)

Remarque : il faut bien le reconnatre, lutilisation doutils graphiques dans un environnement agrable facilite
grandement lutilisation quotidienne du SGBDR. De plus, le fait que lutilitaire Entreprise Manager soit un composant de
MMC (Microsoft Management Console) favorise la cohrence de ladministration gnrale des diffrents serveurs de
larchitecture informatique (MMC concerne les serveurs de loffre Microsoft Back Office, qui inclut par exemple le
serveur de messagerie Microsoft Exchange).

Le fait de disposer de donnes pour toute organisation na de sens qui si les donnes sont utilises. Par consquent,
les mthodes daccs aux donnes ont une place prpondrante dans toute architecture, et plus particulirement dans
le mode client / serveur o les donnes sont spares des traitements et de la prsentation lutilisateur.

David ROUSSE Page 12 22/12/03


Larchitecture daccs aux donnes se prsente en couches selon la topologie suivante :

Application cliente

Interface daccs aux donnes

Librairie rseau du client

Librairie rseau du serveur

Interface daccs au SGBDR

SGBDR

Dans cette configuration, le choix de linterface daccs aux donnes est crucial. En effet, cette couche cache une
complexit induite par une plus grande fluidit de communication pour les applications. Le principe de cette couche
appele aussi middleware (ou mdiateur), apparat clairement ci-dessus : le logiciel du milieu constitue une interface
daccs qui permet de dialoguer avec le serveur de donnes. Le mdiateur cache lhtrognit des rseaux
traverss, fournissant une mme interface quelle que soit le SGBD.

Cette couche peut sillustrer ainsi :

Outils,
langages, Internet Explorer, Visual Basic, Office
applications

DAO RDO ADO


Modle objet
ODBCDirect

APIs OLE
API ODBC DB
(Interface de
Middleware Programmation Jet
dApplication)
Pilotes Fournisseurs
ODBC OLE DB

David ROUSSE Page 13 22/12/03


Les diffrents composants de cette interface daccs aux donnes sont dtaills dans le tableau suivant :

Terminologie Dfinition
DAO (Data Access DAO fournit une hirarchie d'objets pour manipuler les donnes Jet, ISAM ou bases de
Objects) donnes relationnelles. Ces objets sont devenus l'interface la plus utilise en Visual Basic
pour accder aux donnes. L'extension ODBCDirect de DAO permet la connexion des
bases de donnes ODBC, sans le chargement du moteur Jet.
RDO (Remote Data RDO a t conu comme complment de DAO, dans le cas de bases de donnes
Objects) distantes. Ce modle objet hirarchique est une fine couche se situant au-dessus de la
couche ODBC, et permet une utilisation d'ODBC grandement simplifie mais complte.
ADO (ActiveX Data Ce modle objet s'appuie sur les API de la technologie OLE DB et a t conu dans deux
Objects) optiques prcises : accder n'importe quelle source de donnes et permettre l'utilisation
et la monte en charge sur Internet. Le modle ADO est souple, permettant la cration et
la manipulation des objets indpendamment les uns des autres.
Jet Jet est un moteur de bases de donnes relationnelles. Il a volu depuis sa premire
version qui ne permettait l'accs qu' des bases Microsoft Access. Comme tout moteur de
bases de donnes, il propose des services de gestion de donnes (dfinition, stockage,
manipulation, intgrit, partage, scurit des donnes).
ODBC (Open ODBC est un protocole standard d'accs aux bases de donnes. Il permet une
DataBase application de se connecter de la mme faon un ensemble de bases de donnes
Connectivity) relationnelles diffrentes. Il a t dfini par un ensemble de constructeurs de systmes de
bases de donnes.
Pilote ODBC Un pilote ODBC est une DLL qui rpond un ensemble de spcifications. Le pilote
implmente les accs spcifiques une base de donnes particulire. Il existe des pilotes
ODBC pour des bases Microsoft SQL Server, Oracle, Le pilote s'appuie sur les
librairies de bas niveau pour accder aux bases (DBLib pour Microsoft SQL Server,
SQL*Net pour Oracle, ).
OLE DB OLE DB est une spcification d'interfaces, exposant des interfaces COM de bas niveau
(difficile appeler depuis des langages tels que Visual Basic) et galement des interfaces
COM de plus haut niveau.
Fournisseur OLE Un fournisseur OLE DB implmente les interfaces OLE DB. Il permet un consommateur
DB OLE DB d'accder tout type de sources de donnes d'une faon uniforme. Un
fournisseur OLE DB joue le mme rle quun pilote ODBC qui fournit un mcanisme
uniforme d'accs des donnes relationnelles. Les fournisseurs OLE DB fournissent un
accs uniforme aux donnes relationnelles et non relationnelles. Par ailleurs, les
fournisseurs OLE DB sont construits sur la base du modle COM alors que les pilotes
ODBC ont t crs sur une spcification d'API C.

IV - T UDE D U P RO G IC IEL D E B ILLETT ER IE


1) Gnralits
Ltude prsente dans les lignes qui suivent reflte ma dmarche pour analyser la BILLETTERIE de la socit
CIMA. Pour des raisons de confidentialit vidente, seule une partie des documents crs au cours de cette tude est
fournie.

Comme dans la plupart des progiciels du march, lide de rpartir les fonctions fondamentales du mtier entre
diffrents composants sapplique la BILLETTERIE. Le niveau de granularit prsent (le niveau dabstraction choisi)
reprend cette ide avec une collection de composants mtier qui correspondent chacun des chanes compltes de
processus standards du mtier de gestion de manifestations sportives et vnementielles.

Ltude de la BILLETTERIE ne consiste pas faire une rtro-conception dtaille du systme mais en comprendre
suffisamment pour sy insrer. Pour arriver cette comprhension, il faut pouvoir se ramener une vision synthtique
du systme, en suivant un mcanisme dabstraction pour se concentrer sur lessentiel en laissant les dtails en
coulisse.

Le fait est que, pour point de dpart, je navais que le dtail, en dautres termes, limplmentation du systme en rel,
et seulement limplmentation, avec trs peu de documentation sur ce dernier. Pour arriver modliser la
BILLETTERIE, je me suis bas sur une approche systmique, en partant du systme complet en tat de marche, en le
divisant en sous -systmes (par processus principaux), en tudiant chaque sous -systme et les inter-actions entre ces
derniers. En dautres termes, jai ralis ce que lon appelle dans la mthode MERISE, ltude de lexistant : jai
modlis de manire textuelle et formelle lexistant afin darriver un niveau de dtails suffisant pour comprendre les
finalits du systme.

David ROUSSE Page 14 22/12/03


2) Donnes
Le logiciel permet de grer lensemble des donnes relatives un spectacle, savoir :
Les types de spectacles et les spectacles.
Les lieux utiliss par les spectacles.
Les abonns et les abonnements.
Les pr-rservations, les rservations et les ventes.
Les billets et les cartes.
Lhistorique de lactivit.

Pour essayer de comprendre la manire dont les donnes sont structures, la documentation actuelle du logiciel est
insuffisante. En consquence, des outils permettant de gnrer des modles visuels comprhensibles facilement sont
donc ncessaires. Visual InterDev permet de crer des MLD sous forme graphique (SQL Server 7.0 implmente cette
fonctionnalit, loppos des versions antrieures de ce produit). Mieux encore, des outils de gnie logiciel comme AMC
Designor permettent de rgnrer des MLD et des MCD en partant des bases de donnes existantes. A partir de ces
formalisations schmatiques des donnes, la comprhension de ces dernires est facilite.

Le reverse engineering ralis a donc permis, partir des bases de donnes implantes, de gnrer le MLD puis,
partir du MLD, le MCD, grce lAGL AMC Designor. Etant donn le nombre de relations et le nombre de tables, il est
ncessaire de parler au pluriel, plusieurs modles ayant t en ralit crs. En effet, il est impossible de prsenter un
seul et mme schma pour le systme, la lisibilit en serait nulle. Ce dcoupage en paquetage (en units smantiques),
qui amliore la comprhension, simplifie galement les volutions futures.

A partir des modles conceptuels de donnes prsents, il devient facile de dcrire les donnes. Pour donner une
ide de lessence des donnes utilises et de limportance du schma complet, le nombre de tables et dassociations par
paquetages est prsent ci-dessous :
Gestion de la scurit : 8 tables, 4 associations.
Gestion des salles et des places : 7 tables, 3 associations.
Gestion des types de spectacles : 7 tables, 3 associations.
Gestion des abonns et des abonnements : 17 tables, 5 associations.
Gestion des pr-rservations, des rservations et des ventes : 14 tables, 3 associations.
Gestion des billets et des titres : 9 tables, 2 associations.
Gestion des tarifs : 7 tables, 4 associations.
Gestion des rglements : 5 tables, 1 association.

Les MLD partiels napportent pas de nouvelles informations, si ce nest laugmentation du nombre de relations
prsentes dans les schmas.

Lintrt dtre remont au niveau conceptuel ma permis de fournir une spcification du systme et ainsi den
comprendre le fonctionnement gnral. Cette comprhension est dautant plus facile que la spcification fournie se
compose de descriptions textuelles et de reprsentations formelles. Le texte a lavantage du dtail mais son
interprtation peut varier dune personne une autre. Par contre, la reprsentation formelle a le mrite de la prcision
mais ne dcrit pas le pourquoi , la philosophie densemble. Par consquent, lalliance du texte et dune
reprsentation formelle mest apparue importante dans cette tude.

3) Traitements
La modlisation a t faite en partant de ce que lutilisateur voit du systme (les cas dutilisation du systme) pour
remonter progressivement vers les bases du progiciel, en dautres termes, du technique vers le conceptuel, de
limplmentation vers sa reprsentation abstraite (les adeptes de MERISE voient que lon remonte la courbe du
soleil).

Dun point de vue utilisateur, la principale caractristique est linterface intuitive de la BILLETTERIE. La plupart des
excutables ne demandent pas de formation particulire et se basent sur une mtaphore de la ralit pour certains,
comme le clic de souris sur un endroit des tribunes pour en afficher les places, le fait de slectionner les places pour les
rserver. Lillustration au dbut de la page suivante montre ce principe avec linterface de vente et de rservation de
places. Celle-ci prsente limage schmatique de la salle de spectacle (en loccurrence le stade de lU.S. Dax Rugby
Landes) sur laquelle il suffit de cliquer pour afficher les places, symbolises par des carrs dans la partie infrieure de
lcran. La souris permet ensuite de slectionner les places que lon veut vendre ou rserver. Il nest donc pas difficile de
prendre en main ce processus essentiel de la BILLETTERIE.

David ROUSSE Page 15 22/12/03


Le logiciel est divis en composants logiciels indpendants qui dialoguent avec les donnes gres par un SGBDR, en
loccurrence SQL Server. Cependant, cette structure na pas de ralit intrinsque, le cerveau est donc priv dune de
ses armes favorites, la reprsentation visuelle. De plus, la documentation sur les traitements raliss par la
BILLETTERIE est encore une fois limite. Un outil de visualisation graphique comme VB Miner de la socit Cast a t
trs utile.
VB Miner est un outil dApplication Mining, cest dire une application qui analyse syntaxiquement et smantiquement
un code source et qui en fournit des vues graphiques. Il permet donc dexplorer les inter-actions entre les objets, facilite
la rtro-ingnierie, amliore la comprhension de lapplication, tout ce dont javais besoin pour faire une meilleure
analyse (le lecteur peut se reporter lannexe 7 pour visualiser les schmas que VB Miner permet de raliser).

Il ne ma pas paru ncessaire de suivre aveuglement la dmarche MERISE et raliser une analyse organisationnelle
puis conceptuelle des traitements car il me fallait simplement comprendre rapidement et dans les grandes lignes le
fonctionnement gnral des traitements de la BILLETTERIE. Jai donc adapt ma dmarche la situation et choisi de
passer directement au niveau conceptuel, sans raliser des MOT (Modle Organisationnel de Traitement) ou des MCT
(Modle Conceptuel de Traitement), en donnant directement une description gnrale et textuelle du progiciel.

Trois phases distinctes perm ettent de classer les traitements relatifs la BILLETTERIE : la mise en exploitation du
progiciel, ralise une seule fois linstallation ou lors dimportantes modifications du processus mtier, la dfinition des
conditions dutilisation, dont la frquence peut aller de la semaine lanne et enfin les traitements quotidiens. La
comprhension de ces trois phases permet de se familiariser avec les processus mtier que le progiciel gre.

La mise en exploitation du logiciel se compose des tapes suivantes :


La gestion des lieux : cette tape consiste en la dfinition, pour chaque lieu sur lequel des spectacles se
drouleront, de la division du lieu en modules, chaque module regroupant un nombre particulier de places,
accessibles par diffrents accs. Une dfinition judicieuse de ces paramtres influe grandement sur la simplicit
quotidienne dutilisation.
La gestion des exploitants : il faut dfinir lors de cette tape les conditions dutilisation du progiciel, cest
dire qui peut utiliser quoi sous quelles conditions . Dfinir les utilisateurs, les points de vente et la scurit
daccs aux fonctions proposes par le progiciel sont les principales tches ralises cette heure.
Lintgration des donnes existantes : lors de la mise en place du progiciel chez un client, les donnes
existantes, principalement la liste des abonns et des partenaires du club, sont insrer dans le progiciel.
La mise en place du matriel : cette mise en place consiste en linstallation du matriel ncessaire la
BILLETTERIE. Lannexe 3 donne une vision schmatique des matriels informatiques qui interviennent dans le
progiciel.

David ROUSSE Page 16 22/12/03


Aprs la mise en exploitation vient la dfinition des conditions dutilisation. Dans cette tape, on distingue la
gestion des spectacles dont la frquence de ralisation est hebdomadaire ou mensuelle des traitements moins
frquents que sont la gestion des types de spectacles et la gestion des abonnements. Leurs descriptions sont les
suivantes :
Gestion des types de spectacles : on dtermine les prix affects chaque module pour les diffrents types
de spectacle (par exemple Championnat de France, Coupe dEurope, ) et les modles de titre (cartes
dabonnement, billets, ) disponibles.
Gestion des abonnements : ce traitement se caractrise par la gestion des abonnements que lon veut mettre
en place, en paramtrant le prix, la priode, le modle de titre utiliser.
Gestion des spectacles : cette gestion consiste mettre en place un spectacle cest dire dfinir les tarifs
par module, les points de vente, le modle de billet utilis ainsi que les conditions de vente.

Les traitements quotidiens viennent enfin. On y distingue la prparation du spectacle (qui consiste une phase de
rservation et de vente de places quelques jours avant la manifestation), la phase davant match (les quelques
heures prcdant la manifestation) et les traitements qui suivent la clture du spectacle :
La gestion des abonns : ce traitement ralis le plus souvent dans la semaine prcdant la manifestation
permet de grer les informations relatives un abonn, des places quil a rserves jusqu la manire dont il a
pay son abonnement.
La gestion administrative : des traitements spciaux peuvent tre ncessaires tout moment lors du
fonctionnement du systme comme ldition de duplicata de cartes dabonnement, la rintgration des titres, la
visualisation de lhistorique dune place, dune vente, la gestion des pr-rservations, des titres.
La vente et la rservation de places : ce traitement est le cur du progiciel car il est utilis le plus souvent et
ses rsultats sont directement lis avec la finalit du mtier, savoir la vente de billets et lencaissement des
paiements. Une seule et mme interface (celle prsente sur la page prcdente) permet de choisir les places,
le prix et le mode de paiement.
La gestion des termods : quelques heures avant les manifestations, il est ncessaire de paramtrer les
terminaux modulaires (termods) qui sont utiliss pour la vente de billets aux guichets. Chaque guichetier
dispose ainsi dun stock de places vendre un certain prix.
Le contrle daccs : pour vrifier la rgularit des entres de personnes titulaires dune carte dabonnement,
une lecture du code-barre prsent sur chaque carte est ralise via des lecteurs optiques relis au systme
(comme schmatis dans lannexe 3).
Ladministration du contrle daccs : aprs la fermeture des portes, il est possible de visualiser les
problmes relatifs au contrle de laccs des abonns via ce traitement.
Ldition des bilans : en quinze tats diffrents, les informations vitales du systme peuvent tre visualises et
imprimes. Par exemple, dans le milieu rugbystique, les comptes rendus financiers que les clubs doivent
remettre aux dlgus de la fdration sont directement gnrs par le systme.

4) Architecture technique
En ce qui concerne la rpartition des diffrents composants de la BILLETTERIE, le schma suivant illustre la situation :

Prsentation

Traitements

Client

Serveur

Traitements

Donnes

On voit donc que la BILLETTERIE est un logiciel qui sexcute dans un environnement client / serveur dans lequel les
traitements sont distribus entre le poste client et le serveur. Pour reprendre la terminologie du Gartner Group, on se
situe dans une architecture client / serveur de traitement de 2 gnration.

La rpartition des traitements entre le client et le serveur se situe aux niveaux des procdures stockes qui sont
utilises dans la base de donnes. Ces procdures stockes sont les seuls traitements effectus cot serveur. Le poste
client pour sa part doit excuter tous les autres traitements (on ne se situe donc pas dans une architecture trois -tiers,
comme Windows DNA par exemple).

David ROUSSE Page 17 22/12/03


La prsentation des donnes lutilisateur est quant elle effectue galement sur le poste client.

Larchitecture daccs aux donnes utilise dans la BILLETTERIE est intressante car pense dans le but doptimiser
les performances du systme.
Le modle objet daccs aux donnes (qui encapsule les couches de niveau infrieur comme illustr prcdemment),
permet une programmation plus facile. Cependant, plus le nombre de couches est important, plus les performances du
systme sont rduites. Il est donc ncessaire de trouver le bon compromis entre la simplicit daccs aux donnes et
les performances requises. Le choix de dODBCDirect depuis DAO constituait, lpoque de la conception du progiciel,
la meilleure alternative possible. Dans le dtail, larchitecture daccs aux donnes de la BILLETTERIE se prsente
ainsi :

Tous les excutables du


systme de BILLETTERIE
ont t dvelopps sous Application Visual Basic
Le modle objet encapsule les appels aux
Visual Basic. API bas niveau daccs aux donnes, ce
Modle objet DAO
qui rend le dveloppement plus simple et
permet une approche objet.
Utilisation de ODBCDirect qui constitue
en fait un appel indirect RDO
Le middleware.
Gestionnaire ODBC qui charge le pilote demand

Pilote ODBC, spcifique SQL Server

Librairie rseau du client

La couche rseau (niveau 4 et


infrieur du modle OSI) encapsule
les requtes et les rsultats pour les
Client acheminer entre le client et le serveur
selon le protocole rseau choisi. On
utilise en fait une API appele Net
Serveur Librairie (Net-Lib) qui cache aux
couches suprieures la manire dont
les donnes sont transmises.

ODS (Open Data Services) est


un interface entre la Net-Lib et Librairie rseau du serveur
le serveur SQL Server qui
gre les connexions au rseau,
ODS
transmet les rsultats, coute
Le SGDBR se charge de la gestion
les demandes provenant du
SQL Server des donnes. Le cur du SGBD ne
rseau.
comprend que le langage T-SQL.

V - MISE JO UR D U PR OG IC IEL DE B ILL ETTER IE


1) Gnralits
La mise jour a consist faire voluer de version le SGBDR qui hberge les donnes, en passant de la version 6.5
de SQL Server SQL Server 7.0, passer les sources (les lignes des programmes qui sont lorigine des excutables)
de Visual Basic 5.0 Visual Basic 6.0 et enfin migrer de Crystal Reports 5.0 8.0 pour ldition des tats. La
recompilation des programmes de Visual Basic 5.0 vers 6.0 ne prsente pas dintrt particulier, donc ce travail nest
pas dtaill dans les lignes qui suivent.

Le manque de capitalisation des connaissances mest apparu assez important en tudiant le progiciel. Garder les
expriences passes pour en tirer profit par la suite aurait permis damliorer plus facilement la version existante. Cela
suppose cependant une bonne traabilit, laquelle une volont de rutilisation doit tre associe. Jai donc pris soin,
pour ma part, de noter ce que je faisais et les rsultats que jobtenais.

David ROUSSE Page 18 22/12/03


2) Systme de Gestion de Bases de Donnes
La migration en elle-mme nest pas un processus trs compliqu si lon prend soin de bien prparer son travail. Je
vais donc mattarder sur la dmarche que jai suivie et non sur les dtails ou problmes techniques qui font par exemple
que les fichiers de bases de donnes SQL Server 7.0, cause des nouvelles fonctionnalits quil introduit, sont
incompatibles avec les fichiers de bases de donnes de la version 6.5, rendant la migration des bases de donnes
version 6.5 vers la version 7.0 ncessaire. La migration est facilite par lassistant de migration fourni avec SQL Server
7.0 (lassistant se compose de 2 programmes distincts, upgrade.exe qui collecte les informations pour la mise jour et
cre un script upgrade.ini que le second excutable scriptin.exe lit pour raliser la migration effective).

Lide directrice de ma dmarche a t dviter les ventuels problmes de migration avant de lancer celle-ci. De plus,
je voulais pouvoir disposer dune marche suivre claire de ce que je devais faire pendant la migration, en ayant
rapidement la rponse un ventuel problme. Jai donc divis ma rflexion en quatre tapes :
Une tude pralable consistant en la dfinition des grandes lignes prendre en compte lors de la migration, me
documentant abondamment sur le Web pour disposer des sources dinformations les plus rcentes.
Aprs avoir dresser le plan gnral de la migration, une tude plus dtaille encore a t ralise pour spcifier
de manire exhaustive les points cruciaux de la migration. De plus, tous les problmes dj rencontrs lors de
migrations effectues sur dautres systmes ont t lists : jai vrifi sils pouvaient sappliquer notre
architecture. Parmi les huit documents raliss lors de cette migration, je vous prsente en annexe 4 une partie
de la marche respecter pendant la migration.
Aprs la migration, un rsum a t ralis pour disposer dun compte rendu dtaill.
Enfin, la vrification minutieuse des fichiers journaux gnrs par lassistant de migration a t faite. Des tests
au niveau applicatif ont galement t raliss pour voir si les rsultats taient les mmes entre des
excutables connects une base sous SQL Server 6.5 et les mmes excutables utilisant SQL Server 7.0.
Des comparaisons des temps de rponse ont aussi t tablies.

La documentation gnre peut sembler superflue ou apparatre comme une perte de temps. Ce raisonnement est
revoir car le fait de disposer dune trace claire de ce qui a t ralis permet denvisager des migrations dautres
systmes avec plus de facilit et permet de vendre un service de migration un client en se basant sur cette
documentation. On voit donc bien ici aussi limportance de la documentation en tant que capitalisation des
connaissances dans lentreprise.

3) Edition dtats
Pour cette mise jour de la BILLETTERIE, lide porteuse a t de faire cohabiter lexistant avec les nouveauts
apporter ldifice, le tout en respectant la philosophie du systme.
Pour les tats, on utilise le logiciel Crystal Reports de Seagate Software. Cet outil permet de prparer des tats partir
de donnes. On cre un modle ayant une mise en page particulire, un modle qui sera utilis lors de limpression avec
les donnes de la base. En fait, on a le cycle suivant :
On gnre un tat sous Crystal Reports. Cet tat, dextension .rpt, constitue une mise en page des donnes
imprimer.
Sous Visual Basic, on demande limpression de cet tat en utilisant des outils de gestion dimpression fournis
par Seagate Software.

Pour appeler depuis un programme client limpression dun tat, plusieurs techniques sont disponibles, les antiques
contrles VBX utilisables en Visual Basic 3.0 et 4.0, le contrle ActiveX Crystal Report, lAPI Crystal Report de la DLL
crpe32.dll, le modle objet du serveur Automation cpeaut16.dll ou cpeaut32.dll et enfin le concepteur ActiveX Report
Designer Composant qui sintgre linterface de Visual Basic.

En ce qui concerne la BILLETTERIE, les fonctions API de la DLL crpe32.dll sont utilises pour contrler limpression.
Dans la terminologie Seagate, la Crystal Report Engine dsigne cette API.
Pour vrifier que la documentation de Seagate tait en accord avec la ralit et avant de lancer le changement de
version, jai utilis lutilitaire de Visual Studio appel Dependancy Walker pour visualiser les fonctions disponibles dans
cette API, leurs noms et surtout les dpendances ventuelles de la DLL avec dautres composants.

VI - PAR A MTR AG E D U PR OG IC IEL DE B ILLE TTER IE


1) Gnralits
Comme tout progiciel, la BILLETTERIE ncessite un paramtrage lors de son installation, selon les besoins du client.
Il impose galement une modification de la manire dont le client travaille. Cette modification du processus mtier est
dautant plus vrai quil est impossible de disposer dun progiciel qui rponde toutes les spcificits des professionnels
dun mtier. En consquence, le choix dun progiciel est une dcision stratgique pour lentreprise, qui doit prendre soin
de modliser son mtier (pour dfinir ses besoins) afin dvaluer limpact de lintroduction du progiciel dans son
fonctionnement quotidien.

David ROUSSE Page 19 22/12/03


Cette phase est ralise pour la BILLETTERIE par Michel CRIADO, qui a lavantage de bien connatre le mtier sur
lequel le progiciel est positionn. Il peut ainsi valuer au mieux limpact des modifications que lintroduction du logiciel
va induire.

Remarque : cette tape prliminaire a parfois pour rsultat labandon pur et simple du projet, les clients se refusant
quelquefois repenser leur manire de travailler.

Le paramtrage dont il est question ici concerne les clubs de rugby de Bgles -Bordeaux, Dax et Pau, respectivement
le CABBG (qui a choisi la BILLETTERIE CIMA en dcembre 2000), lU.S. Dax Rugby Landes (qui a mis en place la
BILLETTERIE au dbut de la saison 2000/2001) et la Section Paloise (qui dispose du progiciel depuis un an dj). Jai
donc pu participer aux diffrentes tapes de la mise en place, en collaboration avec Michel CRIADO.

Plus prcisment, il ma t confi le paramtrage de la gestion des lieux. Jai ralis aussi lintgration des abonns
existants dans le systme. Jai particip la prparation des campagne dabonnement en crant les cartes des
abonns et enfin jai assur une partie de la gestion de la vie quotidienne des progiciels en exploitation.

2) Les lieux
Le point de dpart se situe dans la configuration gographique du lieu sur lequel les spectacles auront lieu. Pour
lexemple, on se basera sur le stade Maurice BOYAU de lU.S. Dax Rugby Landes . Un plan du stade, des tribunes en
particulier, est lidal pour mener bien cette tape.

A partir du plan des tribunes du stade, une discussion avec les responsables administratifs de lU.S. Dax a eu lieu
pour dfinir un dcoupage en modules (dans la terminologie de la gestion des lieux de la BILLETTERIE, un module est
un regroupement de places dune partie dune tribune).
Une dmarche itrative a t ici suivie :

Dfinir un dcoupage

Disposer du plan du site Disposer du dcoupage valid


Dfinir qui valide quand et quoi Analyser et Evaluer la faisabilit et Crer limage numrique du dcoupage
Rviser limpact sur lutilisation

Proposer
le dcoupage au client

Le dcoupage valid, on dispose dun plan modulaire du stade avec des n i formations (nom, nombre de places,
numrotation des places, noms des accs) sur chaque module. Il est intressant de comparer le document qui a t
prsent au client et la reprsentation du dcoupage en interne (le lecteur est invit se reporter lannexe 5) : dans le
premier cas, on prsente un schma comprhensible facilement tandis quen interne, la vue est tourne vers
limplmentation de la Gestion des lieux dans le progiciel (on utilise un MCD pour visualiser les relations entre les
donnes dune salle).

A partir de ces documents et aprs la ralisation dune image numrique du stade, il est ncessaire dimplmenter les
lieux dans le progiciel, en dautres termes dinsrer les donnes dans la base de donnes. Cette tche (ralise via une
interface graphique, la Gestion des sites en loccurrence) doit tre ralise minutieusement car elle constitue une des
pierres angulaires du systme : si lon cre des places qui nexistent pas dans la ralit, de graves problmes risquent
de se poser lorsque le titulaire du billet essayera de sy installer

3) Les abonns
Lintgration de donnes dans le progiciel peut se faire par des programmes comme celui de la Gestion des sites
utilis lors de ltape prsente ci-avant. Une autre voie est cependant mettre en place pour la rcupration de la liste
des abonns du client pour lequel le progiciel doit tre paramtr. Cette mthode consiste insrer dans la base de
donnes sous SQL Server des donnes provenant de sources htrognes (fichiers texte, fichiers Excel, documents
Works, ).
Pour raliser ce travail, jai imagin une architecture simple et rutilisable, base sur les outils fournis en standard par
SQL Server.

David ROUSSE Page 20 22/12/03


Plus prcisment, jai mis en place la structure suivante :

La partie spcifique a t ralise par des lots DTS (Data Transformation Services). Lintrt des services de
transformation de donnes est quil est trs rapide de mettre en place cette intgration des donnes de sources
spcifiques vers la base intermdiaire. Ensuite, des scripts T-SQL ont servi copier les donnes de la base
intermdiaire vers la base relle. La difficult est de sassurer que toutes les donnes sont bien transfres. Pour ce
faire, des traces (enregistrement du droulement dune action) sont implmentes, permettant ainsi de vrifier les
problmes de copie, les tuples rejets ayant t insrs dans une table derreurs, permettant de comprendre et de
relancer le traitement aprs la correction des problmes.

4) Les abonnements
Jai particip la prparation des priodes dabonnement de la Section Paloise et de lU.S. Dax Rugby Landes.
Lensemble des actions effectues pendant ces priodes comprend la cration des abonnements que lon veut proposer
puis la vente des cartes dabonnement aux personnes dsirant supporter le club. A ce titre, jai particip la conception
puis la ralisation des cartes dabonnement des deux clubs.

La conception des cartes passe par une priode de maquettes pour dfinir quelles informations doivent tre inscrites
sur chaque carte, quels endroits les inscrire, quelles sont les couleurs utiliser,
Aprs la validation de la maquette, la cration des cartes commence sur le progiciel. Cette cration passe par le
logiciel de gnration dtats Crystal Reports. Sajoute la mise en place dun code-barre qui va permettre de contrler
laccs au stade lors des matchs.

Lutilisation de lidentification automatique par code-barre permet dautomatiser la saisie des informations,
augmentant ainsi la vitesse, permettant un meilleur suivi, une plus grande prcision, en un mot une gestion plus
efficace.
Parmi les diffrentes techniques dauthentification automatique utilises couramment (reconnaissance de caractres,
tiques magntiques, ), la technique du code-barre sest impose dans le cadre de la BILLETTERIE. En effet, elle
permet de traiter linformation rapidement, en liaison avec un quipement informatique.

On rappelle le principe du contrle daccs prsent prcdemment : labonn prsente sa carte lentre du stade,
un lecteur optique (lecteur ORBIT) lie le code-barre (en loccurrence un code-barre au format 2 parmi 5 entrelac) et
envoie linformation lue vers un termod, le termod dialogue ensuite avec un programme fonctionnant sur un PC pour
linformer des donnes lues. Sur le PC, le programme qui sveille ds quun termod parle rcupre linformation,
enregistre les donnes et accorde ou refuse lentre labonn, le tout en quelques secondes.

Lexemple de carte dabonn prsente ci-dessous est celui utilis par la Section Paloise pour la saison 2000/2001 :

David ROUSSE Page 21 22/12/03


VII - AJO UT D UN MOD ULE A U PR O G IC IEL DE B ILLETTE R IE
1) Gnralits
Le projet consiste en une application qui permette de raliser la vente et la rservation de billets du progiciel de
BILLETTERIE sur un ordinateur portable. Cet ajout au progiciel est une des amliorations les plus demandes par les
clients afin de faciliter la mise en place du matriel les jours de match. Il apparat donc que lon doit mettre en place un
systme qui transfre les donnes du serveur hbergeant les donnes de la BILLETTERIE vers un PC portable, qui
interdise lutilisation sur le serveur des donnes transfres sur le portable et qui permette enfin le retour des donnes
du portable vers le serveur.

La pression conomique impose CIMA de produire du code aussi rapidement que possible et ensuite de le tester et
de le dboguer ; en corrlation avec la dmarche suivie par CIMA, cette stratgie pose dvidents problmes,
notamment le risque de ne pas atteindre les objectifs initiaux (leffet tunnel), le temps pass dboguer, les tests qui ne
sont pas toujours exhaustifs.

Minspirant de la philosophie actuelle du dveloppement logiciel, jai essay de construire un module base de
composants. Lorsquun architecte doit construire un immeuble, il ne se met pas fabriquer les moellons, les poutres ou
les ardoises, il les achte et les assemble. Cest le mme principe que jai essay de suivre. Le problme, cest que la
socit CIMA ne dispose pas dun catalogue de composants prfabriqus. Je me suis donc retrouv dans la position de
larchitecte qui doit fabriquer ses moellons avant de commencer la construction.

En ce qui concerne la dmarche suivie, elle est base sur une squence tude pralable, tude dtaille, tude
technique, dveloppement et tests, en dautres termes les tapes prconises en MERISE, le tout en utilisant un
formalisme MERISE galement. Cependant, pour prsenter le travail ralis, jai prfr synthtiser les ides
principales du cycle de dveloppement en me basant sur un niveau de granularit plus gnral que celui des diffrents
documents gnrs lors de la ralisation du projet. Par consquent, je prsente seulement les grandes lignes du projet,
en ce qui concerne lanalyse, la conception, le dveloppement et enfin les tests.

2) Analyse
Suite un cahier des charges ralis par Michel CRIADO, une tude de lexistant t mene pour savoir o le projet
tait situer par rapport aux fonctionnalits actuellement prsentes dans le progiciel de BILLETTERIE. Cette tape est
ncessaire pour viter de refaire quelque chose qui la dj t et permet de dfinir les contours du projet.

Copie dun spectacle pour


raliser les oprations de vente
sur le portable

Source Cible

A la fin du spectacle, remonte


des donnes vers le serveur
source

Lanalyse de la fonction de mise en historique des spectacles du progiciel a suivi : cette partie du progiciel prsente en
effet des spcifications proches de celles crites dans le cahier des charges du projet.

Ensuite, jai continu ltude pralable pour savoir quelles donnes sont concernes par le traitement, sans entrer
dans le dtail des enregistrements prendre en compte. Un MCD a t ralis, dans lequel les tables traiter sont
prsentes. Dans le mme ordre dide, les principales oprations raliser ont t identifies :
Identification des serveurs.
Affichage des spectacles transfrables .
Comptage des donnes transfrer.
Transfert de la source vers la cible (avec cration en parallle dun fichier journal) puis blocage sur la source du
spectacle transfr.
Transfert de la cible vers la source (avec cration en parallle dun fichier journal) puis dblocage sur la source
du spectacle transfr.
Traage des tches et gestion des erreurs (avec notamment le dblocage dun spectacle mal transfr).

David ROUSSE Page 22 22/12/03


Le MCT de lannexe 6 montre lenchanement des oprations prsentes sur la page prcdente.

La phase suivante est celle de ltude des scnarios de transfert entre les deux machines. Deux techniques diffrentes
apparaissent : copie de donnes via des lignes T-SQL ou utilisation de la rplication.
La premire solution, base sur le modle de la mise en historique dun spectacle, consiste en lutilisation exclusive de
scripts T-SQL pour les transferts des donnes. Cette technique a le mrite dtre dj utilise dans la socit et elle
permet une relative indpendance par rapport la version de SQL Server. Par contre, elle ncessite lcriture de codes
T-SQL volumineux voire dlicats.
La deuxime solution propose lutilisation de la rplication. SQL Server fournit un ensemble de services permettant de
copier des donnes entre serveurs. Dans le projet de vente sur un ordinateur portable, deux techniques de rplication
paraissent adaptes : dune part la rplication de capture instantane avec le serveur source jouant le rle dditeur et
de distributeur, la cible tant abonne la publication que lon veut transfrer, la rplication de fusion dautre part avec la
cible qui consolide ses donnes sur la source. Dans ce scnario, la fiabilit des services de rplication et le peu de code
crire sont les avantages principaux. Par contre, la conception et limplmentation sont plus compliques.

On peut noter que les MOT des deux scnarios proposs sont assez proches et napportent des informations quen
terme de rpartition entre units de traitement (cest seulement lors du passage de chaque tche au niveau physique
que la diffrence sera notable).

3) Conception
Comme indiqu prcdemment, jai fait en sorte de minimiser le travail spcifique ce nouveau module pour viter de
faire un logiciel jetable . Pour favoriser la modularit, jai cr des composants non spcifiques et rutilisables. Pour
arriver dcouper le logiciel en parties distinctes, les MLD raliss facilitent le travail. En loccurrence, il se dgage les
lments suivants : linterface visuelle permettant de raliser le traitement, les paramtres de traitement, linterface
dattente pendant le traitement et enfin le cur du traitement, savoir la copie et la remonte des donnes.

Le choix ergonomique dun assistant a pour objectif de pouvoir raliser les tches le plus simplement possible. Pour
ce faire, le choix des icnes et des couleurs a t pens pour augmenter la simplicit dutilisation. Les rgles suivantes
ont t mises en place :
Afficher seulement linformation utile.
Appliquer un style de prsentation unique pour lensemble de lassistant.
Afficher la mme information au mme endroit.
Guider lutilisateur dans le processus dutilisation.
Permettre linterruption et le retour ltape prcdente.
Afficher une aide adquate.
Afficher un cran dattente si le traitement est long (plus de 5 secondes).

Aprs prsentation de prototypes, une validation a donn lieu un modle dcran utilisateur. La charte dfinie peut
sillustrer par lcran de bienvenue du logiciel :

David ROUSSE Page 23 22/12/03


Les paramtres du traitement sont lensemble des informations qui sont dpendantes de lenvironnement dans lequel
lexcution aura lieu. Par exemple, on peut vouloir paramtrer le nombre dessais qui seront raliss avant de dclarer
lchec du traitement. De mme sont paramtrables les noms des bases, des serveurs, Cette notion de paramtres
dapplications est cependant un concept rcurrent, au niveau de tous les modules de la BILLETTERIE, mais galement
dans la plupart des applications de CIMA. Il est alors intressant de disposer dun composant gnrique qui facilite la
manipulation de paramtres applicatifs. Jai donc pris le partie de mettre en place un tel composant.
Pour raliser sa spcification, jai utilis Visual Modeler : lobjectif ce stade est de dfinir linterface du composant,
en dautres termes ce que les clients du composant verront de celui-ci et par extension ce quils pourront en faire.

La spcification faite, il arrive le moment particulier de cette phase de conception, savoir que le choix du type de
composant est raliser alors que prcisment, ce choix relve de limplmentation. Cependant, dans une architecture
objet, la conception est parfois dpendante de limplmentation. En loccurrence, il est ncessaire pour notre composant
den choisir la nature. Le choix est assez simple ici puisque le composant ne doit pas sexcuter de faon autonome
(donc on ne choisit pas un EXE ActiveX) et la finalit du composant nest pas denrichir linterface graphique (on ne
choisit pas un contrle ActiveX). Le choix dune DLL ActiveX est donc loption retenue.

Arrive ensuite la partie de traitement automatique ralis par le logiciel. A ce stade, la dfinition de larchitecture du
projet, en termes de rpartition des parties prsentation, traitements et donnes, ma pouss sparer linterface
dattente des traitements de copie et de remonte proprement dit. Cette sparation a galement t motive par le
caractre commun dune interface dattente : lors de ltude de la BILLETTERIE, cette disparit entre plusieurs
excutables qui implmentent chacun une interface dattente diffrente constitue un argument supplmentaire en faveur
de ce choix de conception.
Etant donn la finalit du composant, un contrle ActiveX simposait, puisque le composant est bien un lment visuel
capable de gnrer des vnements dclenchs par lutilisateur. Comme pour le dveloppement de la DLL de gestion
de paramtres applicatifs, la spcification du contrle a t ralise en premier lieu.

Pour les traitements, la phase de conception sest termine en spcifiant, partir des MOT raliss au pralable, les
grandes lignes des traitements, avec des algorithmes succincts pour la copie de la source vers la cible, puis pour la
remonte.

A ce stade, je disposais dun cahier des charges de dveloppement, en dautres termes, de toutes les informations
ncessaires pour lancer un dveloppement sans sy poser de questions fondamentales : les donnes copier sont
identifies, les fonctions et procdures stockes qui vont manipuler les donnes sont listes, larchitecture de
lapplication est dfinie.

4) Dveloppement
Lors du dveloppement, jai commenc par limplmentation de la DLL de gestion des paramtres et du contrle
ActiveX dinterface dattente. Visual Basic simplifie la tche et permet de crer les composants rapidement. Lannexe 7
montre la reprsentation schmatique ralise avec VB Miner des deux composants.

Je tiens galement souligner que jai pris soin de respecter lintgrit de construction des programmes de la
BILLETTERIE. Le style de programmation mis en uvre est compos de formulaires et de modules exclusivement. Jai
donc prserv cette intgrit du systme, et la cration dun contrle ActiveX et dune DLL ne remet pas en cause celle-
ci. Lutilisation de ces deux composants est transparente et se fait au mme titre que les composants standards de
Visual Basic.
Ce maintien de lintgrit de la philosophie de conception du systme me parat important pour viter que chaque
intervenant sur le projet ne mette en place ses propres ides, son propre style de programmation. Il faut savoir sacrifier
certaines de ses convictions pour sauvegarder lintgrit du logiciel, et viter ainsi de concevoir un systme htrogne
et finalement incohrent.

Lintrt de la cration de composants arrive lors du dveloppement du reste du projet. Il suffit de choisir le contrle
dans la barre doutils Visual Basic pour lintgrer au projet : lannexe 8 donne un exemple de cette programmation via
des drag and drop .
De mme, une rfrence la DLL de gestion de paramtres applicatifs est ncessaire pour utiliser ensuite les
services de celle-ci.

David ROUSSE Page 24 22/12/03


Cette programmation visuelle est illustre par le schma suivant :

On cre une rfrence la


DLL de gestion de
paramtres puis on utilise le
modle objet quelle contient.

En trois lignes de code,


laccs aux paramtres
applicatifs est possible.

Le second point mettre en lumire est le suivi du dveloppement ralis, qui, malgr son aspect contraignant,
permet de valoriser les actions ralises et de savoir ce qui est fait, comment, Par exemple, pour les traitement de
copie et de remonte, jai mis en place un suivi permettant de savoir quelle fonction Visual Basic appelle quelle
procdure stocke, et ce que la procdure stocke ralise sur quelles donnes.

5) Tests
Les tests sont une faon efficace de dmontrer la prsence derreurs mais ils sont compltement inutiles pour
dmontrer leur absence. (E. Dijkstra).

A ce titre, la phase de tests, malgr son caractre ingrat, constitue une part importante du projet et est indispensable
pour fournir un produit fonctionnel.
Pour ma part, jai en ralit intgr cette tape au dveloppement, dans le sens o les tests unitaires ont t raliss
avant la fin du dveloppement. Plus prcisment, jai adopt pendant le dveloppement et les tests une dmarche
itrative, en partant du gnral pour affiner progressivement les programmes. Dans cette technique daffinages
successifs, on dfinit un algorithme de traitement, on le code puis on le teste. Lintgration des tests au dveloppement
est donc naturelle. De plus, ce type de dveloppement incrmental me parat intressant car il permet de voir grandir
progressivement le projet tout en diminuant la difficult de dbogage des modules.

Remarque : aucun automate de tests (logiciel qui capture les instructions gnres par lapplication dans des scripts
puis qui les rejouent) ntait ma disposition, tous les tests raliss lont donc t manuellement.

La dfinition des procdures de tests passe par lidentification de ce que lon veut tester, comment on veut le tester et
quelles sont les parties tester en priorit. De plus, jai essay de mettre en place des tests paramtrables, en
dissociant les donnes de tests de la procdure.

David ROUSSE Page 25 22/12/03


Lors du processus, les tests raliss sont de plusieurs types :
Des tests au niveau du code source, pour corriger les erreurs de syntaxe, les cas non grs, les fuites de
mmoire, les problmes techniques.
Des tests fonctionnels pour vrifier si lapplication se comporte comme prvue. Par exemple, on vrifie que les
rsultats obtenus sur la machine source et sur la machine cible sont les mmes pour un mme traitement.
Des tests dintgration, pour vrifier que les composants du projet sassemblent correctement (lintgration de la
DLL au reste du projet par exemple).
Des tests de performance ont galement t raliss pour vrifier si lexcution dans un environnement de
production tait conforme aux besoins exprims dans le cahier des charges.

Jai pu apprci pendant cette tape de tests lapport dun langage de haut niveau tel que Visual Basic. En effet, la
langage minimise les bogues de programmation et facilite les corrections grce au dbogage interactif. Par ailleurs,
lutilisation des fichiers journaux mis en place dans lapplication ma servi vrifier le bon fonctionnement des
programmes.

En rsum de ce projet de vente sur un ordinateur portable, jai pu vrifier la vracit de la maxime suivante : quand
on veut crer une voiture, on limagine, on la dessine puis on la construit ; quand on btit un immeuble, on en fait les
plans auparavant.
Linformatique nchappe pas ce processus : une mthode de travail est ncessaire pour faire dun projet une
russite.

David ROUSSE Page 26 22/12/03


VIII - CO NCL USIO N
Les six mois passs au sein de la socit CIMA mont ouvert les yeux sur la difficult de mise en uvre du processus
dingnierie logicielle dans un contexte conomique agressif. Face une pression financire de tous les instants, la
conception de logiciels se transforme en une course effrne pour respecter les dlais et satisfaire les clients.

Le rflexe de travailler plus ne rsout que ponctuellement le problme. La difficult est alors de trouver le moyen
damliorer le processus dingnierie.

La rutilisation binaire de composants prfabriqus me semble une rponse adquate cette problmatique qui se
pose dans les socits de services de petites tailles. En se basant sur une mthode de travail adapte, en choisissant
une architecture logicielle qui facilite la mise en uvre et en utilisant un langage de haut niveau simple et performant,
des bases solides pour une volution naturelle de la socit sont poses.

Personnellement, lanalyse, le paramtrage, lutilisation quotidienne du progiciel de BILLETTERIE ma permis de faire


un parallle entre la vision informatique et le mtier quelle sert. Travailler sur un progiciel sectoriel revient apprendre
le mtier pour lequel le progiciel est conu mais requiert aussi la matrise des technologies informatiques qui ont servi
la cration du progiciel.

Lingnierie du logiciel a donc le mrite de mettre en place constamment de nouveaux terrains de jeux, sur lesquels la
facult dadaptation aux nouvelles penses, aux nouvelles technologies est essentielle. Il faut savoir cultiver lespace
conquis pour survivre et grandir.

Dans lavenir, jespre pouvoir suivre lvolution actuelle du monde informatique et explorer en dtail la modlisation
objet et son application aux systmes de composants distribus.

David ROUSSE Page 27 22/12/03


IX - DOC UME NTAT IO N
1) Livres
La documentation sur lenvironnement de travail :
Au cur de COM+, G. et H. Heddon, Microsoft Press

La documentation sur les outils de dveloppement :


Atelier Visual Basic 6.0, John Clark Craig et Jeff Webb, Microsoft Press
Les 1000 fonctions de programmation de Windows 95, Bernard Frala, Marabout

La documentation sur SQL Server :


Microsoft SQL Server 7.0, Administration systme, Microsoft Corporation, Microsoft Press
Microsoft SQL Server 7.0, Mise en uvre de bases de donnes, Microsoft Corporation, Microsoft Press
SQL Server 7.0, Stephen Wynkoop, Le Macmillan Campus Press

2) LInternet
La documentation sur les logiciels utiliss :
Site officiel de Microsoft, www.microsoft.com
Site de MSDN, www.microsoft.com/france/msdn/
Site de Technet, www.microsoft.com/france/technet/

La documentation sur le modle objet COM+ :


Site ddi COM+, www.microsoft.com/com/tech/COMPlus.asp
Spcifications de COM+, www.microsoft.com/Com/resources/comdocs.asp

Les sources de documentations diverses :


IEEE Software, www.computer.org
Forum sur Visual Basic, microsoft.public.fr.vb
Forum sur les codes -barre, comp.fonts
Forum sur les tests logiciels, comp.software.testing

X - GLOS SA IR E
Un glossaire concernant les termes relatifs lenvironnement COM+ est galement disponible dans lannexe 1.

2
2 parmi 5 entrelac .............................................................................................................................
Ce terme dsigne un format de code-barre dans lequel 2 traits sont toujours larges sur un total de cinq. De plus, les
caractres, toujours numriques (0 9) sont cod en utilisant les barres noires et les espaces blancs entre
celles -ci, d'o le qualificatif entrelac. La consquence est quun code-barre au format 2 parmi 5 entrelac code
toujours un nombre de chiffres pairs.

A
abstraction ............................................................................................................................................
L'abstraction est le fait de se concentrer sur l'essentiel et d'oublier les dtails, en d'autres termes, c'est le fait de
mettre en vidence les caractristiques fondamentales d'une entit au sens premier du terme.

AGL........................................................................................................................................................
Un Atelier de Gnie Logiciel est un programme ou un ensemble de programmes permettant de concevoir des
logiciels.

API.........................................................................................................................................................
Cet acronyme d'Application Programming Interface dsigne un ensemble de fonctions de bas niveau (proches du
systme) facilitant la cration d'applications de plus haut niveau (les programmes utiliss par les utilisateurs finaux).
Sous Microsoft Windows, les DLL (Dynamic Link Library) contiennent typiquement des API.

David ROUSSE Page 28 22/12/03


B
Boasson Maarten ................................................................................................................................
Maarten Boasson est un consultant de l'organisation IEEE (Institute of Electrical and Electronics Engineers) qui
fournit une source d'informations techniques aux professionnels de l'informatique du monde entier (notamment par la
parution du journal IEEE Software).

C
classe ....................................................................................................................................................
Une classe (un module de classe) en Visual Basic constitue lquivalent dune classe C++ dans laquelle on aurait
regroup la spcification et limplmentation. Un module de classe constitue le modle, le moule partir duquel les
instances de la classe (les objets) sont cres. Avec Visual Basic 7.0, on disposera galement des membres de
classe, c'est dire que l'on pourra manipuler des donnes ou des mthodes communes toutes les instances d'une
classe.

client / serveur ......................................................................................................................................


Modle darchitecture applicative, mode de fonctionnement dans lequel un poste client demande des services
distants un serveur par le biais de requtes et de rponses associes. Le serveur met disposition des services
(accs lInternet, messagerie, ) et des ressources (priphriques, applications, ) que le poste client utilise.

code natif ..............................................................................................................................................


Le code natif, par opposition du code interprt, est directement excut par le processeur. Il ne faut cependant pas
confondre le code natif et un excutable compil en liaison statique. Lexcutable cr en mode de liaison statique
contient tout ce dont il a besoin pour fonctionner seul. A linverse, les excutables crs par le compilateur de Visual
Basic 6.0 en code natif ont besoin de la DLL msvbvm60.dll pour fonctionner. Cette DLL dexcution lie
dynamiquement lexcution le code natif et les composants de base (feuilles, classes, ) ncessaires
lapplication.

collection...............................................................................................................................................
Une collection permet de regrouper des objets dans un ensemble hirarchique auquel on peut faire facilement
rfrence. Par analogie avec le C++, une collection peut tre prsente comme un tableau contenant lensemble
des instances dune classe, tableau que lon peut manipuler aisment avec des mthodes standards telles que
Add, Remove ou Get.

courbe du soleil....................................................................................................................................
Ce terme dsigne en MERISE le droulement du processus de conception d'un logiciel travers les niveaux du cycle
d'abstraction.

compilation ...........................................................................................................................................
Le processus de compilation au sens Visual Basic du terme regroupe en ralit les tapes de compilation et d'dition
des liens (quoique l'excutable final ne soit pas utilisable directement par le processeur). Typiquement, lors de la
cration d'un programme, on crit le code source du programme (les lignes en langage de programmation que les
dveloppeurs d'applications doivent sans relche produire), le code source de chaque module est ensuite compil en
un fichier objet (le .obj) puis arrive l'dition des liens (la mise en commun des diffrents modules compils et
l'intgration des lments annexes utiliss par ces modules) pour crer le programme excutable final.

constructeur ..........................................................................................................................................
Le constructeur est une mthode particulire qui permet de crer une instance dune classe.

cycle de dveloppement ....................................................................................................................


Le cycle de dveloppement constitue lensemble des tapes ncessaires llaboration dun logiciel, ce qui en
MERISE se traduit par la squence Schma directeur, Etude pralable, Etude dtaille, Dveloppement, Tests,
Recette, Dploiement, Maintenance. Pour chaque occurrence du cycle de dveloppement, les trois cycles de
MERISE, le cycle de dcision (dcrit les points de validation qui permettront de grer lenchanement des tapes dun
projet comme par exemple la planification), le cycle de vie et le cycle dabstraction (processus visant se concentrer
sur l'essentiel, en distinguant le niveau physique, le niveau organisationnel et le niveau conceptuel) sont parcourus.

cycle de vie...........................................................................................................................................
Le cycle de vie constitue la squence de vie dun logiciel, base sur une volution naturelle, savoir la gestation, la
naissance, la maturit et la mort.

David ROUSSE Page 29 22/12/03


D
Dijkstra ..................................................................................................................................................
Dijkstra Edsgar est un mathmaticien ayant eu un rle essentiel dans le dveloppement du langage ALGOL la fin
des annes 1950, et ayant ensuite dvelopp la science et l'art des langages de programmation en gnral,
contribuant grandement notre comprhension de leur structure, de leur reprsentation et de leur implmentation
selon l'ACM (Association for Computer Machinery).

distribution ............................................................................................................................................
Une seule vision du systme pour lutilisateur alors quen ralit, ce dernier est situ plusieurs endroits.

E
diteurs WYSIWYG ............................................................................................................................
Un diteur WYSIWYG (What You See Is What You Get, ce qui en franais peut se traduire par Ce que vous voyez
l'cran, c'est ce que vous obtiendrez ) permet de faciliter l'utilisation de logiciels. Dans le dveloppement Web par
exemple, on dispose d'diteurs WYSIWYG qui permettent crer des pages au format HTML sans en connatre la
syntaxe et de visualiser directement les pages telles qu'elles apparatront dans la fentre du navigateur de
l'internaute.

effet tunnel............................................................................................................................................
Ce terme est la caractristique de dveloppements raliss sans point de validation ce qui a pour rsultat de ne pas
atteindre les objectifs, de rater la cible initiale , cause dun manque de communication (le confinement dans le
tunnel).

F
fichiers de bases de donnes............................................................................................................
Ce terme dsigne lensemble des fichiers dans lesquels les donnes dune base particulire sont stockes. Sous SQL
Server 7.0, on distingue pour une mme base de donnes le fichier de donnes primaire (.mdf), le fichier journal (.ldf)
et les fichiers secondaires (.ndf). Ceci constitue une amlioration par rapport aux fichiers dunits de la version 6.5
(.dat) qui permettaient de stocker plusieurs bases dans un mme fichier.

fichiers journaux ..................................................................................................................................


Un fichier journal (encore appel fichier log) contient l'enregistrement de l'activit d'un systme, au mme titre que le
journal de bord d'un commandant de bateau. Il contient des informations diverses, comme par exemple les erreurs de
connexion, les erreurs d'excution, ...

G
Gartner Group ......................................................................................................................................
Socit d'analystes, rpute dans le milieu informatique pour ses tudes et ses audits.

gnrateur dtats ...............................................................................................................................


Logiciel offrant un ensemble doutils permettant de gnrer des tats (cest dire une reprsentation visuelle, sous
forme papier par exemple) de donnes provenant de sources diverses.

gestionnaire de code source .............................................................................................................


Utilitaire de contrle de code source permettant de sauvegarder des fichiers source, de partager ces derniers entre
plusieurs utilisateurs. Il facilite la gestion des projets et le travail en quipe.

H
hritage .................................................................................................................................................
L'hritage consiste spcialiser une classe existante par ajout de nouvelles caractristiques (proprits et mthodes)
dans les sous -classes.

David ROUSSE Page 30 22/12/03


I
ingnierie ..............................................................................................................................................
L'ingnierie est ltude globale d'un projet sur tous ses aspects, ce qui comprend en ralit plusieurs sous -tudes
particulires. Dans le milieu du gnie logiciel, ce terme dsigne les processus permettant de concevoir proprement
des logiciels.

ISAM......................................................................................................................................................
ISAM (Index Sequential Access Methods) est une mthode d'accs des donnes stockes dans des fichiers,
mthode base sur des index.

M
mainframe.............................................................................................................................................
Un mainframe (littralement la cadre principal sur lequel d'autres lments sont monts) est un gros ordinateur
entour de terminaux ayant peu ou pas de capacit de traitements (terminaux passifs).

MERISE ................................................................................................................................................
MERISE est une mthode qui fournit une dmarche (Etude pralable, Etude dtaille, ) et des outils (MCD, )
permettant datteindre un but fix (la stricte satisfaction du besoin valid dans le respect des cots et des dlais).

modularit .............................................................................................................................................
Se dfinit par la division d'un systme en sous -systmes relativement indpendants les uns des autres.

P
polymorphisme ....................................................................................................................................
Le polymorphisme permet de donner une interface commune plusieurs objets. A linverse du C++ qui utilise
lhritage et les fonctions virtuelles pour mettre en uvre le polymorphisme, Visual Basic 6.0 aborde le sujet en
passant par la notion de classe abstraite (classe ne contenant que des spcifications dinterfaces) que lon
implmente dans les modules de classe voulant signer le contrat de linterface. Avec Visual Basic 7.0, on pourra
utiliser le polymorphisme avec lhritage et travailler vritablement en objet.

progiciel.................................................................................................................................................
Contraction de Produit et Logiciel, un progiciel est un logiciel spcifique un mtier ou un client particulier. On parle
parfois de logiciel sur tagre pour dsigner un progiciel c'est dire un logiciel personnalisable.

programmation vnementielle .........................................................................................................


Dans une application vnementielle, le chemin qui sera suivi dans le code de lapplication nest pas fig. Il est
fonction des vnements reus, eux mme tant dclenchs par une source externe, un clic de souris sur un bouton
par exemple. Par opposition, une programmation procdurale dfinit un ordre dexcution stricte.

R
redfinition ............................................................................................................................................
La redfinition consiste crer une nouvelle implmentation dune mthode dune sur-classe dans une sous -classe.

rplication .............................................................................................................................................
La rplication consiste copier des donnes d'une base source vers une base cible, la base cible se trouvant
gnralement sur un serveur distant. La rplication diffre des transactions distribues dans le sens o les copies des
donnes entre les serveurs ne sont pas forcment identiques tout instant, alors qu'avec les transactions distribues,
la cohrence transactionnelle complte et immdiate est assure. On distingue plusieurs types de rplication sous
SQL Server, la rplication de capture instantane (simple copie de donnes intervalles rguliers), la rplication de
fusion (les donnes rpliques sur les cibles peuvent tre modifies puis consolides sous certaines conditions sur la
source) et la rplication transactionnelle (les mises jour de la base source sont rpercutes quasi-instantanment
sur les bases cibles).

reverse engineering ............................................................................................................................


Le reverse engineering (ingnierie inverse en franais) consiste comprendre ce qui existe pour en reconstituer un
modle montrant les principales caractristiques du systme.

rutilisabilit..........................................................................................................................................
La rutilisabilit (la rutilisation devrait-on dire) consiste rutiliser une entit (un composant par exemple) dans des
contextes diffrents.

David ROUSSE Page 31 22/12/03


S
SQL-DMO .............................................................................................................................................
Modle objet reposant sur COM, partir duquel tous les outils graphiques livrs avec SQL Server sont construits.
Avec SQL NameSpace (objets encapsulant l'interface utilisateur d'Entreprise Manager) et DTS (services de
transformations de donnes), il constitue lune des trois API permettant ladministration de SQL Server.

SSII ........................................................................................................................................................
Socit de Services et dIngnierie Informatique.

surcharge ..............................................................................................................................................
La surcharge consiste implmenter plusieurs comportements pour un mme nom.

T
Transact-SQL .......................................................................................................................................
Transact-SQL constitue limplmentation mise en uvre par Microsoft de la norme ANSI SQL-92. T-SQL, lquivalent
pour SQL Server de PL/SQL pour Oracle, possde comme son rival des lments de langage supplmentaires qui lui
sont propres.

tuple .......................................................................................................................................................
Synonyme denregistrement, le terme dsigne une ligne dune table dune base de donnes.

W
Windows DNA ......................................................................................................................................
Windows DNA (Distributed interNet Applications Architecture) est une plate-forme qui implmente la division entre la
prsentation, les traitements et les donnes pour amliorer la scurit, la fiabilit et lvolutivit des applications de
commerce distribues et ouvertes sur lInternet. Cette plate-forme permet de se concentrer sur les problmes mtier
et non sur les problmes dinfrastructure.

David ROUSSE Page 32 22/12/03


Pour toutes informations complmentaires,
les coordonnes des parties prenantes du stage sont prsentes ci-dessous.

David ROUSSE, rdacteur

Adresse : 30, rue Ronsard,


Rs. TAO, Bt. A, Appt. 14
64000 PAU

Tlphone : 05.59.80.30.23

E-mail : d.rousse@wanadoo.fr

Michel CRIADO, matre de stage

Adresse : CIMA
Centre Activa,
alle Catherine de Bourbon,
64000 PAU

Tlphone : 05.59.30.97.98

E-mail : michel.criado@cima.fr

Patrick DEMEURISSE, tuteur de stage

Adresse : TMIC,
Parc Technologique du Canal,
26, rue Herms,
31520 RAMONVILLE

Tlphone : 05.61.75.85.23

E-mail : ellipses.tmic@wanadoo.fr

IUP MIAGe, Toulouse I

Adresse : Universit des Sciences Sociales,


Manufacture des Tabacs
Dpartement I.U.P.,
21, alle de Brienne,
31042 TOULOUSE

Tlphone : 05.61.12.86.53

E-mail : iupmiage@univ-tlse1.fr

IUP MIAGe, Toulouse III

Adresse : Universit Paul Sabatier


Dpartement Inter-UFR,
118, route de Narbonne,
31062 TOULOUSE Cedex 04

Tlphone : 05.61.55.67.68

E-mail : depereti@cict.fr
David ROUSSE Page 33 22/12/03

Vous aimerez peut-être aussi