EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil
Jeudi 15 mai 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ? 
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
Lettres de nouvelles
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
oct 27 2006
ICONIX, une méthodologie de développement adaptée pour les sites de commerce électronique Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 2
FaibleMeilleur 
Analyse - Besoins
Ecrit par Kamal AOUDA   
27-10-2006
ICONIX, une méthodologie de développement adaptée pour les sites de commerce électronique


ICONIX est une méthodologie de développement hybride qui emprunte plusieurs caractéristiques au Processus Unifié (RUP) et à l’Extreme Programming (XP). A l’instar du RUP, la méthodologie ICONIX est centrée sur les cas d’utilisation. Pareillement, elle utilise UML comme notation pour la production des livrables.

Les livrables à produire dans un projet de développement s’appuyant sur ICONIX sont moins nombreux que ceux du RUP. Cela en fait une méthodologie souple et flexible qui hérite des principaux avantages d’XP.

Dans ICONIX les étapes à parcourir entre le moment où on dispose d’une première définition du besoin de l’utilisateur et le moment où on commence à produire du code exécutable sont réduites au strict nécessaire aussi bien en termes de temps qu’en termes d’efforts.

Des experts comme Ivar Jacobson pensent qu’il est possible de modéliser 80% des problèmes rencontrés avec seulement 20% des éléments de la notation UML. Fondé sur le principe du « minimal yet sufficient », ICONIX n’utilise qu’un sous-ensemble restreint de la notation UML (il faut garder à l’esprit que la modélisation ne doit pas devenir une fin en soi mais plutôt un moyen pour mieux spécifier les besoins des utilisateurs et produire rapidement du code exécutable).

Les caractéristiques que nous avons présentées jusqu’ici font d’ICONIX une méthodologie adaptée aux projets de développement à échéance serrée dans lesquels les participants ont peu de temps à consacrer aux phases préliminaires d’analyse et de design. Elle trouve parfaitement sa place dans un contexte où la hiérarchie met constamment de la pression sur les développeurs pour qu’ils commencent à produire du code prématurément.

La méthodologie ICONIX que nous présenterons dans le reste de ce document a fait ses preuves dans plus de 100 projets de développement en rapport avec le commerce électronique. Elle constitue donc un excellent cadre de référence pour tous ceux qui souhaitent s’inspirer des expériences réussies d’un échantillon représentatif d’entreprises œuvrant dans différents secteurs d’activité.

Comme le montre la figure 1, l’objectif principal d’une méthodologie de développement est de définir les étapes à parcourir pour passer d’une spécification de besoins au code exécutable permettant de les satisfaire. Le chemin à parcourir doit être court en vue de réduire les coûts de développement mais aussi les délais de livraison.

Figure1 : comment passer du point de départ au point d'arrivée en minimisant les délais et les coûts


Dans ICONIX (comme dans RUP), tout le processus de développement est centré sur les cas d’utilisation. Il s’agit d’une excellente démarche pour s’assurer que les livrables des étapes subséquentes reflètent les besoins des utilisateurs.

Pour déterminer les étapes qui permettent de transiter du point de départ vers le point d’arrivée en minimisant les coûts et les délais, les auteurs d’ICONIX proposent un raisonnement déductif en partant du point d’arrivée.

Nous savons, par expérience, que la façon la plus rapide et la moins coûteuse pour produire du code propre est de le générer à partir d’un modèle graphique avec un outil de développement comme Rational Rose. Dans un projet où on utilise un langage de programmation orienté objet avec les éléments de modélisation de la notation UML, la génération de l’ossature du code à partir d’un diagramme de classe est sans conteste la meilleure façon de procéder (Voir figure 2).
 

Figure 2: génération de l'ossature du code à partir d'un diagramme de classe


Une des décisions les plus difficiles à prendre lorsqu’on fait du développement orienté objet est de déterminer à quelle classe du diagramme de classes, il faut associer chacune des fonctionnalités de l’application cible (nous rappelons que dans un langage orienté objet les fonctionnalités sont implémentées dans les méthodes des classes).

Les diagrammes de séquence d’UML sont d’une très grande utilité pour départir les fonctionnalités aux classes. Ils illustrent une partie importante de la dynamique de l’application qu’on veut construire notamment : l’instanciation des classes, le passage des paramètres, les appels de méthodes et l’échange de messages entre les classes. A noter par ailleurs que les diagrammes de séquence permettent de situer la dynamique préalablement citée dans le temps.

Une suite normale serait donc d’ajouter un digramme de séquence à la figure 2 (Cf. figure 2 et 3).
 

Figure 3: Ajout d'un diagramme de séquence


 

Il reste maintenant à déterminer comment faire le passage du modèle de cas d’utilisation vers le digramme de séquence. Il ne s’agit pas d’une tâche facile étant donné que les deux digrammes précités n’ont pas la même vocation et ne s’arrêtent pas au même niveau de détail (les diagrammes de séquence décrivent en détail le fonctionnement interne du système tandis que les cas d’utilisation considèrent le système comme une boîte noire et se préoccupent plutôt des interactions frontales qui ont lieu entre l’utilisateur et le système).

Pour jeter le pont entre le digramme de cas d’utilisation et le digramme de séquence, les auteurs d’ICONIX proposent d’utiliser les diagrammes de robustesse qui font partie intégrante des premiers travaux d’Ivar Jacobson sur Objectory (nous rappelons que la notation UML est extensible à l’infini. Dès lors, rien n’empêche la création de nouveaux diagrammes pour adresser des besoins particuliers).

NB : Pour en savoir davantage sur les diagrammes de robustesse nous vous recommandons de consulter un appendice d’UML intitulé : Objectory Process-Specific Extensions

Figure 4 : éléments d'un diagramme de robustesse
 


Les diagrammes de robustesse permettent de déduire à partir du modèle de cas d’utilisation les nouveaux éléments de modélisation suivants :

* Les interfaces (boundary elements): page HTML, rapport, fenêtre Windows …
* Les éléments de contrôle: permettent d’ajouter une logique conditionnelle et des scénarios alternatifs au diagramme de robustesse.
* Entité : il s’agit de tout concept qui mérite d’être ajouté au diagramme en raison de sa pertinence sémantique et/ou conceptuelle eu égard au contexte d’affaires pour lequel l’application est conçue (acheteur, vendeur, contrat commercial …).

Cela dit, le modèle de robustesse reprend certains éléments de modélisation qui apparaissent déjà sur le diagramme des cas d’utilisation notamment :

* Les acteurs.
* Une référence à d’autres cas d’utilisation.

L’intérêt de passer par les diagrammes de robustesse est de pouvoir identifier les objets d’affaires, leurs propriétés, leurs méthodes de même que les flux d’informations qu’ils échangent. Cela permet de passer de la définition des besoins- c'est à dire celle fournie par les cas d’utilisation- à une description assez détaillée du fonctionnement du système qui permettra de les satisfaire (toujours dans une optique orientée objet).

A noter que dans ICONIX, les cas d’utilisation sont formulés d’une manière très détaillée et très précise à la différence d’autres méthodes qui les considèrent comme un livrable concis et sommaire à caractère purement exploratoire (en augmentant le niveau de détails projetés par les cas d’utilisation on réduit le laps de temps entre la phase d’analyse des besoins et la phase de codage).

Finalement, afin de mieux documenter les objets d’affaires et de les mettre en relation, les auteurs d’ICONIX proposent d’élaborer un modèle de domaine qu’on peut comparer à un glossaire qui catalogue les concepts relatifs au domaine d’affaires étudié.

Le cheminement complet d’un processus de développement basé sur ICONIX est illustré par la figure 5.

Figure 5: déroulement d'un projet de développement selon ICONIX


 

Pour en savoir davantage sur ICONIX nous vous recommandons les deux références suivantes:


* Site web: http://www.iconixsw.com/UMLecommerce.html
* Livre: Applying Use Case Driven Object Modeling With Uml: An Annotated E-Commerce
 

 

Kamal AOUDA

Consultant en TI, MBA

 

http://www.kamalaouda.com

 

Dernière mise à jour : ( 12-11-2006 )
Suivant >
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround