Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
net/publication/270982108
CITATIONS READS
0 4,649
1 author:
Marie-Claude Gaudel
Laboratoire de Recherche en Informatique
114 PUBLICATIONS 1,791 CITATIONS
SEE PROFILE
All content following this page was uploaded by Marie-Claude Gaudel on 13 March 2015.
Logiciel
Modèles de
odèles de développement
développement,
Cycle de vie.
du logiciel
donné lieu à l'élaboration de modèles Peu à peu, on a défini de façon précise les activi-
tés techniques nécessairesau développement d'un
de développement : développement en
logiciel : analyse des besoins, spécification globa-
étapes, modèle de la cascade, modèle le, conceptions architecturale et détaillée, pro-
en V, modèle en spirale, modèles par grammation, gestion de configurations et intégra-
tion, validation et vérification, maquettage ou pro-
incréments.
totypage rapide.
Le modèle de la cascade matérialise l'enchaîne-
Comme tout produit manufacturé complexe, un logiciel
ment des étapes de développement mais on lui
est produit en suivant un certain processusl. Mais le
préfère souvent le modèle en V, plus récent, qui
domaine du logiciel présente des particularités. Par
présente une approche plus réaliste de l'articula-
exemple, il n'y a pas de problèmes de fabrication en série : tion entre les activités de réalisation et celles de
une fois qu'une version du logiciel est réalisée, sa repro- validation-vérification. Le modèle en spirale, plus
duction se fait par simple copie.
général, met !'accent sur l'analyse des risques.
Un processus de développement du logiciel fait donc une
Les modèles par incréments, où un seul sous-
large place à l'analyse des besoins, à la conception et à la ensemble des composants est développé à la fois,
validation.
souvent utiliséspour les grands projets, permettent
On peut voir la partie technique du développement d'un de mieux lisser dans le temps l'effort de dévelop-
logiciel comme l'établissement d'une suite de descriptions pement et les effectifs, mais présentent davantage
de plus en plus précises et de plus en plus proches d'un de risques.
programme exécutable et de sa documentation. Les pas-
sages d'une description à une autre sont souvent appelés
des raffinements successifs. Cette vue sous-tend la plupart
des approches existantes. Mais elle est simplificatrice car
elle ne prend pas en compte une des caractéristiques du Detailed definitions have gradually been develo-
processus de développement de logiciel qui est sa nature ped to describe the technical activities involved in
software development : needs analysis ; general
itérative, certaines étapes déclenchant la révision du résul-
tat des étapes précédentes. specification ; architectural and detailed design;
Par exemple, la détection d'erreurs au moment du test va coding ; configuration management and integra-
tion ; validation and verification ; modelling and
provoquer un retour sur la programmation ou la concep-
rapid prototyping.
tion. De même, la conception peut faire apparaître des pro-
blèmes de spécification, etc. The cascade model describes sequencing of the
Enfin, une autre particularité du développement de logi- development stages, but the more recent V model
ciel est l'invisibilité de celui-ci : il est difficile d'observer is often preferred, as it gives a more realistic pictu-
re of the relationship between the production and
un logiciel en cours de développement et de se persuader
va ! idation-verification activities. The more general
que le processus se déroule correctement.
spiral model emphasizes risk control aspects.
D'où l'importance des documents intermédiaires pro-
duits, des notations utilisées pour les descriptions, des acti- : Incremental models, in which only a single subset
vités de vérification et des outils de visualisation. of the components is developed at a time, are
often used for major projects; they afford better
1 On pourraitaussiutiliserle terme" procédéde production
". Mais l'ex-
planning of development workload and personnel
pression" processusde développementdu logiciel" semblemaintenant requirements, but entail higher risks.
consacrée.
REE
N, 6
Juin1998
Modèles de développement du logiciel
Une fois développé, un logiciel est mis en exploitation. rend les contrôles délicats et la véritable application d'un
Se posent alors des problèmes de maintenance, qu'il processus dépend beaucoup de la discipline et de la compé-
s'agisse de corriger des défauts, d'améliorer certaines tence des développeurs et de la volonté de leur encadrement.
caractéristiques, ou de suivre les évolutions des besoins ou Une notion de maturité du processus de développement
de l'environnement. a été définie récemment par le SEI'. On classifie les pro-
La maintenance peut remettre en cause d'une manière cessus de développement selon cinq niveaux de maturité :
significative les fonctions du système et implique de ce fait initial, reproductible, défini, géré, optimisé.
un processus de redéveloppement. C'est pourquoi on parle Un niveau peut être attribué à un ensemble de projets
de cycle de vie du logiciel quand on considère l'exploita-
ayant suivi le même processus dans une même organisa-
tion et la maintenance en plus du développement. tion. Il est déterminé par des questionnaires, des entretiens
Comme dans les autres domaines, le choix d'un processus et des examens des documents produits. Il faut noter que
de développement est fonction des caractéristiques du futur questionnaires et entretiens ne s'adressent pas seulement
produit ainsi que du contexte du développement : il faut aux équipes de développement mais à l'ensemble de l'or-
prendre en compte des aspects techniques, des aspects liés à ganisation.
l'organisation et des aspects humains. D'où la nécessité de Les cinq niveaux sont caractérisés de la manière suivante :
disposer de modèles de développement généraux, qui décri- - Initial : le processus est chaotique ; les coûts, délais et
vent les enchaînements et les interactions entre activités.
la qualité sont imprévisibles ; les problèmes à résoudre en
Un tel modèle permet de définir un processus de déve-
priorité sont la gestion de projet, la gestion de configura-
loppement pour un projet donné en précisant les méthodes, tion et l'organisation de l'assurance qualité.
outils, et autres modalités associés à chacune des activités. - Reproductible : le processus est artisanal et dépend
Les premiers modèles de développement de logiciel ont
beaucoup des individus ; les délais sont fiables, les coûts et
été conçus dans un contexte où le savoir-faire se résumait à la qualité sont variables, les méthodes sont mal définies ou
" programmer et traquer les erreurs ".
mal suivies ; les problèmes à résoudre en priorité sont la
À la fin des années 60, le concept de développement en formation, le choix de techniques précises et un renforce-
étapes (ou phases) est apparu. Une étape se termine par la ment des contrôles qualitatifs.
production de documents qui sont vérifiés et validés avant - Défini : le processus est bien suivi mais essentiellement
de passer à l'étape suivante. Cela permet de contrôler d'une manière qualitative ; les délais et les coûts sont
l'avancement des activités en cours et la validité des résul-
fiables, la qualité est variable, les méthodes sont définies ;
tats intermédiaires.
les problèmes à résoudre en priorité sont l'analyse et les
Il est intéressant de noter que les notions d'étapes et mesures du processus et du produit (renforcement des
d'activités sont différentes. Une étape peut faire intervenir contrôles quantitatifs).
plusieurs activités ; par exemple, une étape de conception - Géré : le processus est contrôlé et mesuré ; la qualité
du produit peut faire intervenir une activité de spécifica-
est fiable.
tion globale, une activité de maquettage et une activité de
- Optimisé : chaque projet est analysé afin d'améliorer le
validation. De plus, une activité peut se dérouler pendant
processus, donc les coûts, les délais, et la qualité.
plusieurs étapes ou même pendant tout le processus (par
Selon des résultats publiés en 1989 puis en 1991, de
exemple, l'activité de documentation).
l'ordre de 80 % des organisations américaines examinées
Le modèle de ce type le plus connu est le modèle de la
cascade (voir § 2). Ce type de modèle a été assez vite criti- par le SEI étaient au niveau 1 (mais 30 % à la limite du
niveau 2), environ 15 % au niveau 2, et quelques brillantes
qué pour son aspect trop séquentiel, bien qu'il ait apporté
individualités au niveau 3. Il n'y a pas de données publiées
une amélioration très significative.
sur la situation en France.
Les années 80 ont vu l'émergence du modèle en V (voir
§ 3), où les dépendances entre étapes sont plus élaborées et
où l'accent est mis sur les activités de validation et de véri- LES ACTIVITÉS
fication. Ce modèle est actuellement le plus utilisé.
Les différentes activités techniques nécessaires au déve-
Enfin le récent modèle en spirale (voir §.4), plus com-
loppement d'un logiciel sont maintenant définies de façon
plet et plus complexe, introduit de nouveaux aspects plus précise. Chaque activité utilise et produit des docu-
comme l'analyse de risques, et l'utilisation systématique ments (textes, programmes, traces d'exécution, etc.). Pour
de maquettes pour s'assurer de la bonne compréhension chacune d'entre elles on précise brièvement ses données,
des besoins. son résultat et son rôle.
Ces modèles de développement ont pour but d'obtenir des
2 SoftwareEngineering
Institute: il s'agit d'un organismecréépar le DoD
processus de développement rationnels, reproductibles et
(Department of Defense,américain)et l'universitéCarnegieMellonà des
contrôlables. Il n'est pas certain que ce but soit atteint à fins d'expertise,de certificationet de formationdans le domainedu génie
100 % dès qu'on applique un modèle : la nature du logiciel logiciel.
REE
N, 6
Juin1998
LE GÉNIE LOGICIEL : LES CONCEPTS
Selon le processus de développement retenu et la nature Il est important de ne pas faire de choix d'implémenta-
du logiciel à produire, ces activités ont plus ou moins tion prématurés lors de cette activité : il est trop difficile
d'importance. Dans certains cas, elles peuvent même être d'anticiper leurs conséquences sur la réalisation finale en
inutiles, par exemple, lorsque le logiciel à produire est une termes de performances, ressources, ou même de faisabilité.
évolution d'un produit existant.
Conceptions architecturale et détaillée
Analyse des besoins L'activité de conception consiste à enrichir la descrip-
Le but de cette activité est d'éviter de développer un tion du logiciel de détails d'implémentation afin d'aboutir
logiciel non adéquat. On va donc étudier le domaine d'ap- à une description très proche d'un programme. Elle se
plication, ainsi que l'état actuel de l'environnement du déroule souvent pendant deux étapes : l'étape de concep-
futur système afin d'en déterminer les frontières, le rôle, tion architecturale et l'étape de conception détaillée.
les ressources disponibles et requises, les contraintes d'uti- L'étape de conception architecturale a pour but de
lisation et de performance, etc. décomposer le logiciel en composants plus simples. On
La particularité de cette activité est que ses données sont précise les interfaces et les fonctions de chaque composant.
fournies par des experts du domaine d'application et par A l'issue de cette étape, on obtient une description de l'ar-
les futurs utilisateurs. L'équipe de développement doit éta- chitecture du logiciel et un ensemble de spécifications de
blir un dialogue avec ces spécialistes du domaine d'appli- ses divers composants.
cation qui ne sont pas forcément des informaticiens. L'étape de conception détaillée fournit, pour chaque
De ce fait les méthodes utilisées ne relèvent pas directe- composant, une description de la manière dont les fonc-
ment des techniques informatiques, mais plutôt des tions du composant sont réalisées : algorithmes, représen-
sciences cognitives : entretiens, questionnaires, observa- tation des données
tions de l'existant, études de situations similaires. La frontière entre l'activité de spécification et les activi-
Le résultat de cette activité est un ensemble de docu- tés de conception est souvent floue. En effet, il ne serait
ments décrivant les aspects pertinents de l'environnement pas raisonnable de spécifier un système indépendamment
du futur système, son rôle et sa future utilisation. Un de toute considération de faisabilité.
manuel d'utilisation préliminaire est parfois produit. Le fait que la conception soit possible démontre la faisa-
Le partage entre logiciel et matériel, quand il ne va pas bilité : l'activité de conception commence souvent pendant
de soi, est défini en liaison avec les études de faisabilité. la spécification, et peut la remettre en cause.
L'analyse des besoins est l'activité essentielle au début De plus, dans de nombreux contextes, il existe des
du processus de développement. Elle est alors menée en contraintes de réalisation qui amènent à anticiper sur la
liaison avec les études de faisabilité et la planification. conception au moment de la spécification.
Cependant, elle se poursuit durant tout le processus de
développement (car des questions relatives aux besoins et Programmation
à l'environnement peuvent apparaître), et durant tout le Cette activité consiste à passer du résultat de la concep-
cycle de vie du logiciel (maintenance évolutive). tion détaillée à un ensemble de programmes ou de compo-
sants de programmes. Elle est la mieux maîtrisée et la
Spécification globale mieux " outillée " : dans certains cas elle est même automa-
Le but de cette activité est d'établir une première des- tisée.
cription du futur système. Ses données sont les résultats de Actuellement, l'activité de programmation ne représente
l'analyse des besoins ainsi que des considérations de tech- que de 15 à 20 % de l'effort de développement d'un logi-
nique et de faisabilité informatique. Son résultat est une ciel, voire seulement 10 % selon certains chiffres. La spé-
description de ce que doit faire le logiciel en évitant des cification et la conception représentent environ 40 % de
décisions prématurées de réalisation (on dit quoi, on ne dit l'effort dans un projet bien conduit. La validation et la
pas comment). vérification représentent de l'ordre de 40 % de l'effort total
Cette description 3 va servir de point de départ au déve- de développement.
loppement. Une première version du manuel de référence
Gestion de configurations et intégration
est parfois produite, ainsi que des compléments au manuel
d'utilisation. La gestion de configurations a pour but de permettre la
Cette activité est fortement corrélée avec l'analyse des gestion des composants du logiciel, d'en maîtriser l'évolu-
besoins avec laquelle des échanges importants sont néces- tion et les mises à jour tout au long du processus de déve-
saires : dans les modèles de développement présentés plus loppement.
loin ces activités sont souvent regroupées dans la même étape. Jusque récemment, cette activité n'était informatisée que
Elle est aussi corrélée avec l'activité de validation (voir § 1.6). pour les textes de programmes et les autres documents
étaient gérés à part. Avec l'apparition d'environnements
3Cettedescription
estsouvent
appelée spécification technique
debesoins
: STB. intégrés de développement, tous les documents relatifs au
REE
NI 6
juin 1998
Modèles de développement du logiciel
REE
N°6
Juin1998
LE GÉNIE LOGICIEL : LES CONCEPTS
LE MODÈLE EN V
REE
6
38 juin 1998
1
" , -1 1 " "
1- t-i1
Modèles de développement du logiciel
LE MODÈLE EN SPIRALE La figure 4 donne la liste des dix risques majeurs et,
3. développement et vérification de la solution retenue ; conception, les choix étant guidés par des maquettes expé-
4. revue des résultats et planification du cycle suivant. rimentales. Le dernier cycle se termine par la fin d'un pro-
cessus de développement classique.
Le quadrant 3 correspond à un développement ou à une
La mise en oeuvre de ce modèle demande des compétences
portion de développement classique, et un des modèles
et un effort importants. De plus, ce modèle a été moins expé-
précédents (de la cascade ou en V) peut s'appliquer : son
choix peut faire partie des alternatives à évaluer. rimenté que les précédents et est moins documenté.
Du fait qu'il fait abondamment appel à l'analyse de
L'originalité de ce " super " modèle est d'encadrer le déve-
loppement proprement dit par des phases consacrées à la risques, il paraît a priori raisonnable de limiter son utilisa-
détermination des objectifs et à l'analyse de risque. tion complète à des projets innovants, à risques, et dont les
Un des intérêts du modèle en spirale est de fournir des . Défaillance de personnel : embauche de personnel de
listes des risques encourus lors d'un développement de haut niveau ; adéquation entre profil et fonction ; esprit
Analyse
derisque Développement de fonctions inappropriées : analyse de
l'organisation ; analyse de la mission ; formulation des
Analyscderisque concepts opérationnels ; revues d'utilisateurs ; manuel
Prototype d'utilisation précoce.
Prototype
desobjectifs,, ; s ue
Développement d'interfaces utilisateurs inappro-
desalternatives,
des contraintes prototype2 ; priées : maquettage ; scénarios et revues d'utilisateurs ;
Prototype 1
analyse des tâches.
desobjectifs../\ \ \ \ · Produit " plaqué or " : élagage des besoins ; maquetta-
ng général
p lan
P n Concepts sii lation, modélisation, benchmuk
ge ; analyse des coûts-bénéfices ; conception prenant en
du
du-pprojet
0 d'opération
compte les coûts.
Volatilité des besoins : seuil élevé de modification ;
) Plan
Test de
\/
développement Validation des besoin Conception masquage d'information ; développement incrémental où
détaillé
les derniers incréments sont les plus changeants.
· Composants externes manquants : inspections ; essais
suvre
d'
4 3égat.n
i et mesures ; analyse de compatibilité.
etde
detest
test Vérif-cation tégration - Tâches externes défaillantes : audit avant attribution de
ettest sous-traitance ; contrats avec bonus ; revues.
Test
Misee système . Problèmes de performances : simulations ; modélisa-
oeuvre
tions ; essais et mesures ; maquettage.
REE
N'6
Juin 1998
11,
, -.-i i
LE GÉNIE LOGICIEL : LES CONCEPTS
conception conception.
incrément 3
architecturale détaillée
temps
Dans les autres cas, l'analyse de risque garde néanmoins La spécification du noyau, des incréments, et de leurs
tout son intérêt et on peut l'introduire dans les modèles interactions doit donc être faite globalement, au début du
REE
N'6
juin 1998