PasalANDRE
INPHB -DépartementMathématiques&Informatique
BP1083Yamoussoukro-COTED'IVOIRE
Tel:05.92.34.85-Email:andrepinphb.edu.i
30janvier2001
La onstrution du logiiel néessite des moyens de réexion, d'expression et de alul pour
pouvoir aborder des problèmes de plus en plus omplexes. En plus des tehniques de desription
de programmes, il faut des tehniques et des méthodes de onstrution toujours plus ables, plus
rapideset plus rentables.
1 Introdution
La onstrution d'un programme simple sur un miro-ordinateur peut se faire de manièrearti-
sanale. Le programmeur érit en quelques lignes e que doit faire le programme (le besoin) et se
lane immédiatement dansleodage, entestant ertaines fontionspour vérier et validerletexte
dedépart. Onpeut qualiere travail dedéveloppement du programmeetsonorganisationde
démarhe de développement : étudedu problème, oneption d'un algorithme, odage et test.
L'élément lé de e proessusartisanal estune bonne onnaissane du langage de programmation.
Leshoses seompliquent siplusieurs programmes sont àonstruire.
Onatteint trèsrapidementles limitesd'unetelleapprohedanslaonstrution deprogrammes
plusonséquentspourlesquelsunprogrammeurnesutplus.Onneparleplusdeprogrammesmais
delogiiels oud'appliations.Unparamètre organisationd'un travailde groupevients'ajouteràla
réativité et àl'expertisedu langage deprogrammation. Ceparamètre ouvre plusieurs aspets:
Etablir des tâhes et répartir es tâhes : organiser le développement. Chaque intervenant
a des ompétenes qu'il faut exploiter dans un rle qu'on lui donne. Pour des appliations
omplexes,onauradesspéialistesdusystèmeàautomatiser, desspéialistes delagestionde
projets,desspéialistesdedulangagedeprogrammation(l'environnementdedéveloppement).
Cetaspetdeshosesinlueaussilaformationdesintervenantsouleshangementsd'équipes.
Gérer la ommuniation entre les partiipants au projets. Pour ela il faut mettre au point
desmoyensdeommuniation (unouplusieurslangages, douments,référenes).Onparlede
spéiation pour exprimerà un niveau donné e quedoit fairele logiiel. Lesproédures de
ommuniationdoivent tenir omptedesrles et ompétenesdesintervenants.
Les appliations sont onçues et développées pour une organisation, qu'on appelle souvent le
lient.Denouveauxparamètressontàprendreenompte :lesoûtsde développement,lastratégie
de l'entreprise.
Onanalyselesoûtsdedéveloppementselonplusieursritères :oûtnanier,oûttemporel,
moyenshumains, tehnologiesrequises, et.
Denouvellesétapessontajoutéesauproessusdedéveloppement :étuded'opportunité,étude
defaisabilité du projetde développement, déisiond'informatisation.
Dans ledéveloppement lui-même, la notion de lient est prise en ompte dans larépartition
dutravail.Desdouments (spéiations, produits)sont produits spéialementpour lelient
quiserventdebaseàdespointsdevalidation.Onprogressed'uneétape seulement silelient
avalidé l'étape préédente.
la validité (réalise les tâhes dénies dans sa spéiation - orretion, abilité (?)) et la
robustesse (aptitude à fontionner même dans des onditions anormales). Le logiiel doit
satisfaire le lient. La failité d'utilisation et son eaité sont des ritères non négligeables
pour le lient. Enn, losque le lient dispose déjà de produits logiiels onvenables, il est
rentablede lesréutiliser.Le nouveaulogiieldoit pouvoirommuniquerave esproduits,on
parlede ompatibilité.
Onpeutrassembler laprise enompte desaspets dee point et eluidu préédent (organisation)
sous le voable gestion de projet. L'organisation gère plusieurs projets de développement. Les
prioritésetlesmoyenssontdénisdanssastratégiededéveloppement. Undéveloppementestlané
sisafaisabilité et sarentabilité sont établis.
Un dernier élément a une inuene essentielle sur ledéveloppement. Il s'agit du produteur de
logiiel,qu'ilsoituneentrepriseexterne(unprestatairedeservies),ouunservieinterne. L'ativité
duproduteursuitaussiunelogiqueéonomique,quiestlarentabilitédudéveloppement.examinons
plusieurs fateurs.
Lorsque le lient n'est pas entièrement satisfait par son produit, le produteur doit le faire
évoluer.Onparledemaintenane.Lamaintenaneouvredeuxaspets,laorretiond'erreurs
-lamaintenaneorretive-etlaprise enompte denouveaux besoins(ou unereformulation
desbesoins) -lamainteane évolutive-. Une nouvelle qualité estattendue pour lelogiiel,son
extensibilité(évolutivité).Eneetlesoûtsdemaintenanereprésentent75%dutotal,leprix
logiieldépassedésormaislargement leprix dumatériel.Lessystèmesdeviennent rapidement
obsolètevis-à-visdel'organisationetdestehniquesnouvelles.Ilfautdonpouvoirlesmodier
àmoindre oût.
Laprodutiondelogiielsn'est rentablequesielleproduitensérieàmoindreoûts.Plusieurs
ritères dequalité interviennent à e niveau :
Le même logiiel peut être implanté sur des systèmes informatiques diérents. Le logiiel
est portable si saréimplantation néessiteun minimum d'eorts dedéveloppement.
A défaut d'utiliser le même logiiel, on peut souhaiter en reprendre une partie. Le logiiel
estréutilisablesienreprendreunepartienéessiteunminimumd'eortsdedéveloppement.
La modularité estunfateur essentiel poure ritère de qualité.
Lorsqueleproduteurauneexpertisesusante dansundomaine,ilpeut mettreaupointdes
outilspour automatiser la prodution du logiiel. Cette automatisation est un fateur lé de
larentabilité.
Ceparagraphemetenévidenelepointdevueduproduteurdelogiiel.Ilfautproduiredulogiiel
de qualité,rationaliser sondéveloppement et rentabiliser les eortsaomplis.
Pour répondre à l'ensemble de es attentes, il faut mettre au point des méthodes de dévelop-
pement et desoutils pour automatiserune partie du travail.La méthode doitpermettre de nepas
tergiverser et d'avaner demanière sûreverslelogiiel. L'automatisation aélèrelaprodution au
oursduproessusdedéveloppement.L'objetifdugénielogiielestdemettreen÷uvredesmoyens
pourréaliser dulogiielde qualité en respetant desontraintes deoûts.
Legénielogiielestl'artdeonstruireindustriellementdulogiiel.Ledomainedugénielogiiel
ouvre un large spetre, des langages de programmation à la gestion d'organisations. Les progrès
dans le domaine des tehniques de programmation à une inuene essentielle sur l'évolution du
génie logiiel (voir historique). Au départ, le travail des professionnels a onsuisté à mettre au
point desméthodesde développement pour répondre à desobjetifsd'informatisation. Même sila
plupart desméthodessont propriétaires (propresàhaquesoiétés),desourantsessentielsont été
mis en évidene. Le travail méthodologique existe toujours maisla prodution d'outils automatisé
est devenue un élément essentiel du génie logiiel. Les Ateliers de Génie Logiiel (AGL) sont des
environnementsdedéveloppement supportantuneouplusieursméthodesdedéveloppementpardes
outils divers(édition, vériation,génération automatique, doumentation, réutilisation).
Le génie logiiel est un domaine relativement réent : lapremière onférene sur e thème eut
lieu en1968. L'historique 1
du GLpeut êtrerésumépar quelquesfaits marquants :
Langage machine
SGBD relationnels
Entité- Associations
Langages de spécification Outils
d'analyse
Assembleur
Fortran
Algo
Cobol
SGBD
Lisp
Prolog Pascal
Smalltalk
ADA Langages de
conception 1945
1950
1955
1960
1965
1970
1975
1980
1985
1990
XX
Evolution
Langages intégrés ?
?
Bases de connaissances symbolisme
algorithmique traitement
des listes traitement
des données maintenance
programmation structurée
systèmes d'information
mécanisme d'inférence réutilisation
abstraction types abstraits modularité généricité
approche descendante
objet sémantique
sémantique
Evolution du génielogiiel
1945: Projetsde petite taille,programmationenbinairepuisen assembleur. Lamaintenane
estassuréepar ledéveloppeur.
1955 : Apparition de langages évolués qui permettent de développer desprojets plus impor-
tants.
1965 : C'est la rise du logiiel. L'intuition ne sut plus pour développer orretement le
logiiel.
1968 : Première onférene surlesujet.
1970 : Programmation struturée,struturation hiérarhique duode 'sansgoto).
1972 : Développement des méthodes de preuves de programmes (peu appliables à grande
éhelle).
1975 : Développer un projet ne onsiste pas seulement à le oder mais à le omprendre, le
1
Synthèsedelasetion 1.2duhapitre1duoursGLdeB. Levrat,Lausane.
essaisde développement de méthodesadaptées àes phases.
1980 : Après avoir développé des méthodes et des outils de manière isolée, on les rassemble
pour former desenvironnements homogènes. On prend aussionsiene de l'importane des
premièresphases dansdeoût dedéveloppement d'un projet.
1990: C'est ladéennie delaprogrammation àobjetsaveomme objetif laréutilisation de
logiielset le passage aiséd'une appliation àl'autre pour l'utilisateur.
3 Les méthodes de développement du logiiel
Le développement du logiiel est une partie de e qu'on appelle ommunément la gestion de
projet. L'ativité d'uneentreprise, ausens large,onerneun ensembledeprojets.Unprojetestla
réponseà un besoin de l'entreprise, il estaratérisé par l'expressiondu besoin, ladénitiond'une
ou plusieurs solutions tehniqueset lagestion desressouresmiseen ÷uvrepour réaliserle projet.
La gestion de projet au sens large inlue faisabilité, moyens humains et naniers, planiation,
impatsurl'organisation automatisée, et. Consulter[Som92℄ à e sujet.
Une méthode sert à onduire le développement. L'appliation sans réexion de la méthode
nuit à la qualité du produit, l'aspet réativité est essentiel. "Une méthode sert à éviter un pire
développement et pas forément à obtenir un meilleur développement". La méthode sert aussi à
restreindre l'empirisme individuel(rétention d'information),la prédominane desinformatiiens et
le dysfontionnement entre besoins et réalisation. La méthode failite la ommuniation entre les
ateurs, lévolution et lamaintenane dessystèmes, l'évaluationde systèmeset laprodutivité.
Uneméthodeestunetehniquederésolution deproblèmes[Lau86 ℄.Unaspetlédelaméthode
estdeprivilégier l'étude(l'analyse)avant deommener àonevoirlelogiiel. Ilfaut bienposerle
problèmepourbienlerésoudre.Leterme deméthodereouvreplusieurs notions.Uneméthodeest
àlafoisune philosophie dansl'approhe desproblèmes,unedémarhe ouunl onduteur dansla
résolution, desoutilsd'aide et enn unformalisme ou desnormes.
Par exemple, dans la méthode Merise [TRC91 ℄la philosophie est fortement inspirée des bases
de donnéesrelationnelles ave une dualitédonnées/traitements, de laprogrammation struturée et
des réseauxde Petri. Merisepropose une double démarhe : par niveau d'abstration (oneptuel,
organisationnel,physiqueouopérationnel)etparétapes(étudespréalables,détaillées,fontionnelles,
tehniques et miseen prodution). Le terme abstration est synonyme d'éloignement vis-à-vis des
onsidérations matérielles et logiielles. Lesétapesservent à baliserle développement et exigerdes
résultats intermédiaires. Les formalismes Entité/Assoiation, réseaux de Petri sont utilisés. Des
outils omme lesanalyseurs, générateurs,imprimeurs peuvent êtremis en plae.
Mêmesiauuneétuden'aétémenéeenesens,laméthodeuniversellen'existepas.Nouspensons
quel'eaitédesméthodesestinduiteparunesemi-spéialisationpardomained'appliation.Nous
en distinguons troisgrandes lasses :
Lessystèmesd'informationengestionsont aratériséspar unstokage importantd'informa-
tionsetdenombreuxtraitementsenonsultation,miseàjour deesinformationse.g.gestion
de lalientèle, du stok, traitement de la langue. Lessystèmes atuels intègrent une ompo-
sante réseau (aès distant) qui intervient plus dans l'implantation du système que dans sa
modélisation.
Lealul sieniquesearatérisepar denombreux alulse.g.simulation, météo,imagerie.
Une base d'information peut servir à stoker les informations de base ou les résultats mais
intervient assez peu dans le alul lui-même. La diulté prinipale est la desription de
modèles mathématiques par des modèles informatiques. Un ritère important est la rapidité
dutraitement.
L'informatiquetempsréelsearatériseparuneréativitétrèsfortedusystèmed'information
e.g.pilotage automatiqued'avion,surveillane de entrale nuléaires. Nousrangeons, unpeu
arbitrairementsousettedénominationl'informatique embarquée(automatismes),leontrle
de proessus (fabriation, surveillane), les appliations ù le temps joue un rle majeur, les
proessus)prendiiunegrandeimportane.Elleinluedesaspetsmatérielsnonnégligeables:
apteurs pour réupérer les informations, des ationneurs pour piloter objet naturel, bus de
ommuniations, et. [Cal90 ℄ propose une aratérisation dessystèmes et un lassement des
systèmessur lesdisiplines onnexesà l'informatique industrielle.
Nous estimons que es trois atégories représentent, assez grossièrement, les diérents types de
systèmes d'informationque noussommessuseptibles de modéliser ii.
Enrésumé,laméthodepermetdeonstruiredesmodèles(produits,spéiations)dansunordre
donné (démarhe, proessus).
4 Modélisation, produits et spéiations
Un modèle(une représentation)est uneinterprétation expliite par sonutilisateur de l'idée
qu'il se fait d'une situation. Il peut être exprimé par des mathématiques, des symboles,des mots,
maisessentiellement,'estunedesriptiond'entitésetderelationsentreelles.Unmodèleestorret
s'il permet de répondre aux questions qu'on se pose. Un modèle est opérationnel s'il peut être
exéutépar une mahine.
Par abus de langage, le terme modèledésigne souvent à la fois le résultat de la modélisation,
lathéoriesous-jaenteet lanotation utilisée.Voiiquelquesmodèlesutilisésdansledéveloppement
du logiiel.
Théoriedessystèmes Analysemodulairedessystèmes Mélèse,LeMoigne
Théoriedesensembles LCP/LCS Warnier
Programmationstruturée Dijkstra
Coneptdebasededonnées Objet/Relation Chen,Tardieu
Relationnel Codd
Codasyl Bahmann
Proessus Réseaux Petri
Evénements-Proédures Corig CGI,Pa, Ariane...
Résultats -Données Minos Sema,Atlas,Sligos...
Objet OOD,OOA Meyer,Booh, OMT,UML
Dans un système d'information, trois aspets sont souvent mis en évidene: e que lesystème
manipule (les informations, les données), quandil les manipule(ausalité, ontrle, omportement
dynamique,événements)et ommentillesmanipule(les opérations, lesfontions,leomportement
fontionnel).
informations, état
comportement
fonction
QUI
QUAND
QUOI
contrôle dynamique système
environ- nement
modèle
l'approhe fontionnelle dans laquelle le système est perçu en termes de fontions et sous-
fontionsmunies d'uneinterfae (e.g.JSD)
procedures principales fonctions
de base analyse
conception
l'approhe ots de données danslaquelle on exprime latransformation desdonnées (e.g. SA
(De-Maro),SADT (Ross), SART (Ward-Mellor/Hatley-Pirbay), ESML (Boeing))
flots de donnee et de controle
conception
analyse
l'approhe modèlede donnée pour laquellel'aent est mis sur lapartie statiquedu système
d'information (e.g.Entité-Relation (Chen),NIAM (Verhaijen))
Cassette No-c
Genre
No-g Description Film
Nom Auteur duree
Boutique
Adresse No-b
Adresse Adherent Nom
files
database date, duree
emprunt disponible
date
design 0,1 0,1
0,n
0,n
0,8
contient 1,3 classe-en 0,n
0,n 1,1
Lesthéoriesutiliséespourhaqueaxesontohérentesetpermettentdedémontrerdespropriétés
démontrer.
5 Le proessus de développement
Le développement dulogiielest déoupéen plusieurs ativités :
1. l'analysedesbesoinsdénitlesserviesdusystème,sesontraintesetsesbutsenonsultant
lesutilisateursdusystème.Uneétuded'opportunitépeutêtremenéepoursavoirsilesystème
estréalisable et donnerune approximationde larentabilité de e système.
Synonymes : analysepréalable, user requirements analysis.
2. l'analyse estlaonstrution d'un modèle(unespéiation) dusystèmeàpartir del'analyse
desbesoins.Apartir deemodèleonpeutproposerplusieurs sénariietréaliseruneétudede
faisabilité.
Synonymes : spéiation desbesoins, analyse préalable, étape oneptuelle, analyse onep-
tuelle, oneption préliminaire, modélisation oneptuelle, analysis, user requirement spei-
ation, requirements engineering.
3. laoneptionestunepropositiondesolutionauproblèmespéiédansl'analyse.Elledénit
lasolutionretenuepar priseen omptedesaratéristiqueslogiquesd'usage dufutursystème
d'information et desmoyens de réalisation, humains, tehniques et organisationnels. On dis-
tingue souvent la oneption système et la oneption détaillée. La première a pour objetif
de donner l'arhiteture globale du systèmes (i.e. les diérentes parties) et la seonde dérit
haquepartie dusystème. Cette spéiation dulogiielle reste indépendante de toutmoyen
de réalisation.
Synonymes : étape fontionnelle, analyse fontionnelle, analyse organique, étape logique,
oneptiontehnique, global design, system design, detailed design, designengineering.
4. laréalisationet letestproduitlasolutionexéutableentermesdeprogrammes.Pourleslo-
giiels omplexes,ondistingue l'implantation desdiérentespartiesetleur validation pardes
testsunitaires,et l'impantation du systèmeomplet parintégration desparties ettestssys-
tèmes.Onvérieainsiqueles spéiationsdesbesoinssont satisfaites.Synonymes: odage,
implantation, miseen ÷uvre,programmation, oding,implementation, program testing.
5. l'installationdu logiielrègle les problèmes demiseen plae dansl'organisation.
6. la maintenane adapte la solution oneptuelle aux hangements organisationnels et aux
évolutionstehnologiques(évolutive). Elleorrigeaussileserreursaumuléesdanslesphases
préédentes (urative). Le proessus de maintenane est un proessus itératif dont l'ativité
répétéeest unyle dedéveloppement omplet(de laspéiation àlaréalisation).
5.1 Cyles de vie
Plusieurs yles devie ont étéproposéspour organiserestâhes. Trois grandes atégories sont
retenues:
lesmodèleslinéaires(modèledelaasade,modèleenV)danslesquelslesdiérentesétapes
i-dessussontréaliséestouràtour.Onommenelasuivanteunefoislapréédenteahevée.En
asd'erreur, on revient surl'étape préédente. Onparle aussid'approhe desendante. Dans
lemodèleenV,oninsiste surune séparationentrelaonstrution desdiversesspéiation
et leurvalidation a posteriori(tests unitaires,tests d'intégration, et)ainsique surleniveau
d'abstration(utilisateur/arhiteture/implantatio n). Cesontlesmodèlesderéférene[BR85,
Som92 ℄.
modèle utilisateur
modèle architectural
d’implantation modèle
vérification Etude des
besoins
Conception
Conception
Modulaire unitaires Tests
construction codage
et tests
Finition Validation
Maintenance Exploitation
Spécification du système
du système
Intègration
lesmodèlesontratuels sont une suite de ontrats entre lient et fournisseurs.Les méthodes
formellesen sont unbonexemple, ellespermettent latransformation de spéiations.
lesmodèlesitératifsouàspirale[Boe88 ℄permettentundéveloppementinrémentalnotamment
par le prototypage. Ces modèles intègrent des notions de risquesà évaluer, de spéiations
partielles et de résultats intermédiaires. Le prototypage devient une tehnique de modélisa-
tion. Ce modèle estévolutif par nature mais rend diile la planiation et il doit éviter les
redondanes.
lesmodèles mixtesomme lemodèle X [Hod91℄ s'inspirent de plusieurs styles. Les modèles
linéaires ne dépendent pas de la tehnologie utilisée, or le proessus de développement en
dépendpar nature.LemodèleX prend enompte lemodèleobjet.Deuxylesinverséssont
en fait dérits, l'un pour une ativité de synthèse d'un nouveau système et l'autre pour une
ativitéd'aquisition desystèmes et deomposantsen vuede les réutiliser.
5.2 Produits, spéiation
Ahaqueétapeorrespondundoumentrésultat,qu'onnommesouventproduitouspéiation.
Une spéiation est un ensemble de modèles. La spéiation initiale est le ahier des harges
et la spéiation nale est le programme (logiiel). On parle ainsi de spéiation des besoins,
spéiation détaillée, spéiation fontionnelle ou enore spéiation formelle. Par onvention,
le terme spéiation désignera de façon générique les douments résultant d'une étape dans le
proessusdedéveloppement(deliverables enanglais).Le termespéiation dulogiiel, quantàlui,
désignera la desription plus ou moins détaillée du omportement attendu du logiiel. La qualité
desspéiationsest abordée danslehapitre 1de [AV00℄.
6 La validation
Valider'estontrlerquele(produit) résultatorrespond àe quiétait attendu.La validation
estun ontrle qui faitintervenir largement lesutilisateurs. Vérier'estontrlerqueleproduit
respeteleahier desharges [Som92 ℄. Lavériation est don plusune aaire de spéialistes.
Les études des fateurs de oûts du logiiel de [Boe82℄ et [Cal90 ℄ montrent l'importane de la
validation. Plus une erreur est détetée tardivement, plus sa orretion est hère. C'est pourquoi
l'eort doit être porté surla spéiation plutt que laoneption. De plus lavalidation doit être