Professional Documents
Culture Documents
Chapitre 1
Modèle de développement d’une application
(d’après Laurent Henocque Cours de Génie Logiciel)
Le développement en cascade.
Le modèle le plus ancien est hérité de la grande industrie et du bâtiment. Il consiste à considérer
que le développement résulte d’un enchaînement de phases indépendantes dont chacune doit
être terminée pour pouvoir aborder la suivante.
Bien que fondamentalement en désaccord avec la nature de l’activité de développement ce
modèle fournit une base très utilisée du fait qu’il permet une gestion analytique détaillée et un
suivi méticuleux du projet, avec production de documents à l’issue de chaque phase.
SCHEMA 1
Besoins
Conception
Codage
Tests
Utilisation
Le développement en V
Un modèle dérivé du précédent prend en compte les activités liées à la définition des tests. En
effet, chaque phase du modèle de la cascade permet de définir certains types de tests, et
modélise ainsi non seulement une succession temporelle d’évènements, mais aussi des
niveaux variables d’observation du système.
/srv/www/vhosts/releases/86/save/queued/1/0/b/10b6ef79776e230b80a79faf5c27ef85/i_ae9ef1f03050d063.doc
Page : 1/3
SCHEMA 2
Expression
Définition des tests Tests du
des
d’ensemble Système
besoins
Programmation
/srv/www/vhosts/releases/86/save/queued/1/0/b/10b6ef79776e230b80a79faf5c27ef85/i_ae9ef1f03050d063.doc
Page : 2/3
La programmation exploratoire.
Le prototypage
Le prototypage sert uniquement à préciser les besoins. Il associe souvent le client à un processus de
raffinement progressif du prototype, à l’issue duquel les besoins sont parfaitement définis pour les
deux contractants.
Le prototypage est beaucoup utilisé pour spécifier les interfaces Homme/Machine, pour lesquels on
dispose d’outils de génération de code qui permettent des cycles d’interaction très brefs. Certains
outils permettent même de concevoir l’interface en direct, à côté du client.
La pratique du prototypage s’étend progressivement à tous les domaines pour lesquels on dispose de
générateurs de code, l’objectif étant de satisfaire au mieux les besoins du client, en évitant tout écart
entre les besoins réels et les besoins exprimés par ce dernier.
La tendance actuelle est de mettre totalement en sourdine les velléités des équipes de
développement à réaliser des programmes technologiquement « intéressants » pour favoriser une
approche où domine l’écoute totale du client.
La transformation formelle.
La transformation formelle est un processus par lequel n obtient la dérivation automatique du code
exécutable à partir de sa spécification ou de sa conception. Les outils qui le permettent parlent de
spécifications exécutables ou de conception exécutable.
De nombreux outils de génération d’interface Homme/Machine proposent partiellement cette
fonctionnalité. Des sociétés (software through par exemple) proposent des outils qui permettent de
générer du code exécutable à partir de spécifications reposant sur les diagrammes de flots de
données et de flots de contrôle du type SADT. La société CGI a ainsi construit son image de leader
dans le domaine du service grâce à un produit interne PacBase qui permet de développer une
application (presque) devant le client.
Ce processus consiste à combiner des briques élémentaires au sein d’un ensemble fonctionnel,
comme une construction de legos par exemple. L’idée est d’éviter toute recompilation, sinon on se
situe au niveau de la programmation objet. On se place donc au plus haut niveau possible sur la
machine (processus), on normalise les communications entre processus, on organise la
communication et l’accès aux services.
L’exemple le plus connu de cette approche est le système Unix, qui propose un système unifié de
communication par des fichiers, et la possibilité de combiner des commandes pour arriver à un
résultat.
Aujourd’hui, les environnements de contrôle proposés pour l’exécution d’applications distribuées
étendent le même type de concepts au niveau d’un réseau hétérogène. C’est le cas de DCE
(Distributed Computing Environnement) de l’OSF, et de l’UNO (Universal Networked Objets) de
SunSoft.
/srv/www/vhosts/releases/86/save/queued/1/0/b/10b6ef79776e230b80a79faf5c27ef85/i_ae9ef1f03050d063.doc
Page : 3/3