• Aucun résultat trouvé

Langages de spécification Outils

N/A
N/A
Protected

Academic year: 2022

Partager "Langages de spécification Outils"

Copied!
11
0
0

Texte intégral

(1)

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

(2)

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

(3)

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.

(4)

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 ℄.Unaspetdelamé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

(5)

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

(6)

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

(7)

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

(8)

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

Références

Documents relatifs

Cette base législative est complétée par celle de l’article L3225-1 du Code de la défense qui précise que « Sans préjudice des attributions de l’autorité judiciaire pour

Il s’agit encore de l’effet de taille : en flexion, la zone où la contrainte est suffisamment grande pour conduire à la rupture est bien plus petite que le volume du barreau

[r]

ORGANISATION mes cours : virginie.zampa.free.fr pour me joindre : virginie.zampa@univ-grenoble-alpes.fr ou bureau i113 ou b302 ce cours le mercredi de maintenant à noël : cours

Dispensé en classe de première, cet enseignement prolonge les acquis de l’enseignement commun Sciences numériques et technologie de la classe de seconde, lesquels

Une thèse bien partagée par Luc Gnacadja, ancien secrétaire exécutif des Nations Unies sur la lutte contre la désertification, pour qui la problématique sur le financement du climat

En tant qu’acteur de premier plan dans le monde de l’investissement, la Caisse pourrait montrer la voie en lançant un signal que la diversité des genres au conseil

Monsieur Raoul Castro décide de connecter les ordinateurs du Collège Evangélique de Baleveng, du Lycée Bilingue de Baleveng et du Lycée Félix Eboué (Tchad) par réseau