• Aucun résultat trouvé

Chapitre 2 Architectures et Méthodes pour le développement de système

2.3. Etude de méthodes pour le développement de système d’information

2.3.3. La méthode WAE

WAE (Web Application Extension) [Conallen 00] est une méthode dédiée pour le développement d’applications web26. WAE fournit une extension d’UML pour la modélisation d’application web. Etendre UML consiste à définir de nouveaux stéréotypes, étiquettes et contraintes pour prendre en compte les spécificités d’un domaine d’application.

• Un stéréotype permet d’associer une nouvelle signification à un élément d’un modèle UML.

Les stéréotypes sont généralement représentés par une chaîne de caractères entre guillemets (« ») ou par une nouvelle icône.

• Une étiquette permet la définition d’une nouvelle propriété d’un élément du modèle. Elle est

représentée par une chaîne de caractères entre chevrons (<>).

• Une contrainte spécifie une règle que le modèle doit vérifier pour qu’il soit sémantiquement

valide. Les contraintes sont représentées par des chaînes de caractères entre accolades ({}). La Figure 2.7 donne un exemple de diagramme de classes WAE pour le parcours d’une page web.

Figure 2.7. Exemple de modélisation avec WAE [Conallen 00]

Le modèle de développement préconisé par WAE est basé sur le processus unifié de Rational (RUP, Rational Unified Process) [Kruchten 00] et le ICONIX Unified Process [Rosenberg et Scott 99]. Le processus WAE est donc piloté par les cas d’utilisation, centré sur l’architecture et itératif. WAE effectue itérativement les phases classiques de développement logiciel suivant un objectif de qualité (voir Figure 2.8). La planification de toutes les itérations est nécessaire avant le commencement des phases de développement.

Besoins : la spécification des besoins décrit le système logiciel à développer. Il s’agit d’une

spécification des besoins fonctionnels (par exemple, le système doit pouvoir calculer le total de toutes les commandes effectuées) et des besoins non fonctionnels qui peuvent être classés suivant des catégories (besoins d’utilisabilité, de performance, de disponibilité/fiabilité, de sécurité, de déploiement, etc.). Chaque besoin doit être vérifiable. Par exemple, « l’interface utilisateur doit être intuitive » ne peut pas être testé objectivement et donc n’est pas un énoncé de besoin vérifiable.

Analyse : cette phase consiste en la modélisation de la structure du système en partant des cas

d’utilisation et des besoins fonctionnels. Ce sont les mêmes activités que celles définies dans la phase d’analyse de la méthode 2TUP (cf. 2.2.2). Il s’agit de structurer et de représenter les objets du domaine

Formulaire : est un ensemble de

champs de saisie faisant partie d’une page.

Page serveur : représente une

page web qui possède des scripts exécutés par le serveur.

Page client : est une page web

formatée en HTML. Légende :

métier par une série de diagrammes de classes (package et classe) et d’interaction (séquence, collaboration et activités).

Figure 2.8. Modèle de développement de WAE [Conallen 00]

Conception : la conception vise à préciser le modèle d’analyse de telle sorte qu’il puisse être

implémenté avec les composants de l’architecture. Les activités de conception se focalisent sur les diagrammes de classes et d’interaction. De nouvelles classes (pour le soutien à l’implémentation) sont souvent ajoutées. La modélisation des modules et des exécutables est exprimée au travers de diagrammes de composants. WAE fournit une extension d’UML permettant de traduire le modèle de conception en code source pour les applications web.

Implémentation : c’est la phase de traduction du modèle de conception en code source et en

composants. L’utilisation des environnements de développement intégrés pour générer le code à partir du modèle de conception est recommandée. Cependant, la génération du code avec les environnements intégrés se limite généralement à des éléments structuraux. C’est à l’utilisateur (développeur) d’implémenter la dynamique de l’application. Il s’agit aussi de répercuter les modifications apportées pendant l’implémentation au modèle de conception pour que celui-ci reflète exactement l’implémentation (rétro-ingéniérie).

Tests : WAE préconise des tests d’évaluation des propriétés du système :

- Des tests de performance consistant à évaluer la capacité du système à fonctionner rapidement sous la pression d’une forte charge.

- Des tests de charge visant à établir le point de rupture ou la courbe de performance relative du système.

- Des tests fonctionnels, qui découlent le plus souvent des cas d’utilisation, permettant de vérifier l’adéquation des fonctions entre la spécification des besoins et l’implémentation. D’autres tests permettent la validation de certaines phases du processus :

- Des tests unitaires portant généralement sur chaque composant développé ou une collaboration restreinte de composants développés.

- Des tests d’intégration pour vérifier et valider la compatibilité des différentes interfaces des composants. Ils sont effectués après l’interconnexion de certaines parties du système mais avant l’assemblage de l’ensemble du système.

- Des tests système, effectués à l’issue de l’assemblage total du système ; ces tests permettent de vérifier si l’ensemble des besoins sont satisfaits.

Assurance qualité

Cas

d’utilisation Besoins Analyse Conception Implémentation Tests

Evaluation

- Des tests d’acceptation par lesquels les utilisateurs participent pour valider le système. Si le système est accepté, il pourra être déployé.

Parallèlement à ces tests de validation, des tests de non-regression sont effectués pour contrôler à nouveau un système qui a potentiellement changé.

WAE permet de prendre en compte l’utilisateur dans le processus de développement du système. Il intervient principalement dans les phases de capture des besoins et des tests d’acceptation.

Les extensions WAE favorise un passage direct du modèle de conception au code des applications web caractéristiques des applications client serveur.

Le Tableau 2.3 résume l’analyse de WAE selon les trois dimensions.

Technologie Structurée Base de données Objet Composant Programmation Agent Batch Synchrone Asynchrone Mode de traitement Client-Serveur XML Méthodologie Analyse Spécification Conception Implémentation Intégration Phases concernées Evaluation Cascade Incrémental Modèles de développement Processus unifié Essentiel Beaucoup Moyen Peu Degré d'implication de l'utilisateur pas Début Milieu Moment d'implication de l'utilisateur Fin Représentation UML Extension d’UML Formalisme Autre

Tableau 2.3. Analyse de WAE selon les trois dimensions