Concept :
|
Activités sur le cycle de vie : |
Concepts :
Livres blancs : |
La génération d'applications e-business consiste à générer des solutions Internet pour implémenter des processus métier. Ces processus incluent le commerce électronique (e-commerce), mais ils s'appliquent également à tous les processus métier d'une organisation.
Les systèmes e-business peuvent être classés de la façon suivante :
Plus on avance dans les générations de systèmes, plus leur développement est complexe.
L'enchaînement d'activités de base de la phase de de création s'applique, avec les variations ou extensions suivantes.
Cette activité est moins importante.
Cette activité est moins importante. La plupart des besoins des intervenants ont déjà dû être découverts lors de la modélisation métier. Toutefois, vous devrez effectuer quelques exercices portant sur la recherche des besoins non fonctionnels pour le système.
Cette activité est moins importante. Les limites du système sont définies les limites de l'activité. En effet le système reflète plus fidèlement l'activité que dans le cas d'applications traditionnelles (à certains égards, le système est l'activité).
L'Activité : Concevoir l'interface utilisateur produit une Carte de navigation. Une carte de navigation est une vue de la solution Web qui montre comment l'utilisateur du site naviguera. Elle peut être représentée sous la forme d'un "arbre" hiérarchique. Chaque niveau de l'arborescence représente le nombre de clics nécessaires pour atteindre un écran ou une page. Généralement, vous souhaitez disposer d'un maximum de zones situées à un seul clic de la première page (connue sous le nom de "page d'accueil"). La carte de navigation est un résumé des scénarimages : elle commence par identifier les principales fenêtres ou pages Web pour chaque cas d'utilisation et elle indique la façon dont l'utilisateur navigue parmi ces éléments.
L'enchaînement d'activités de base pour la phase d'élaboration s'applique, avec les variations ou extensions suivantes.
L'Activité : Analyse architecturale tire profit du fait qu'une application Web présente une architecture relativement bien définie, avec un ensemble de mécanismes bien définis (navigateurs Web, applets et servlets Java, pages ASP et JSP, etc.). Généralement, une simple structure organisée en couches, comme cela est décrit dans Concepts : Organisation en couches est suffisante, à moins que la structure de développement de l'application Web soit plus spécifique. Dans de nombreux cas, des architectures prédéfinies du commerce peuvent être achetées ou réutilisées à partir de projets de développement Web antérieurs. Les structures d'application Web, par exemple Microsoft Windows DNA ou IBM WebSphere, offrent ce type de modèle architectural.
Typiquement, les applications Web ne prévoient pas de temps d'arrêt programmés. L'architecture doit souvent prévoir la possibilité de mettre à niveau le système sans l'arrêter, ainsi que le basculement vers des serveurs de secours en cas de défaillance du serveur principal ou pendant une phase de maintenance ou de mise à niveau du serveur. Certaines structures d'application Web offrent des outils de support de production. Quoi qu'il en soit, si votre application nécessite une haute disponibilité, vous devrez planifier l'achat ou la construction de l'infrastructure nécessaire pour prendre en charge ce besoin et pour intégrer le support pour cette fonction au sein de l'architecture.
L'Activité : Concevoir l'interface utilisateur est exécutée de manière itérative dans le cadre des itérations d'élaboration. Les premières exécutions de cette activité portent sur la production de 'maquettes de conception créatives', qui sont des maquettes représentant la conception des principales pages Web du site. Ces 'maquettes' sont typiquement des images "plates" maquillées avec des images représentant des fenêtres, pour donner l'apparence d'une fenêtre de navigateur. Le principal avantage des 'maquettes' est de retarder l'investissement dans des prototypes HTML plus élaborés et plus coûteux, jusqu'à l'obtention d'un consensus sur l'aspect graphique du site.
Les 'maquettes de conception créative' sont créées en examinant les exigences en termes d'interface des principaux cas d'utilisation et en développant de nombreuses conceptions différentes (au moins 10) pour la présentation. A partir de là, les trois meilleures propositions sont choisies pour être présentées aux intervenants. Ceci est fait de manière itérative jusqu'à aboutir à un accord sur la conception Web finale. On obtient alors un ensemble de scénarimages, ainsi qu'une carte de navigation.
Une fois cet accord trouvé, les maquettes de conception créative évoluent vers un prototype d'interface utilisateur fonctionnel, en répétant l'Activité : Prototyper l'interface utilisateur. Le premier prototype d'interface utilisateur Web prend uniquement en charge les parties du système les plus importantes, ainsi que les cas d'utilisation significatifs du point de vue de l'architecture. Il est important que la structure du flux d'événements des cas d'utilisation soit stable avant de développer des prototypes, pour s'assurer que la fonctionnalité détermine la présentation de l'interface utilisateur et non l'inverse.
Dans des itérations suivantes, le prototype Web est développé, en ajoutant progressivement une couverture plus large des cas d'utilisation et une prise en compte plue approfondie de l'architecture.
L'Activité : Analyse de cas d'utilisation reste quasiment inchangée, sauf qu'il est important de se concentrer non seulement sur le comportement de l'interface graphique, mais aussi sur la logique métier sous-jacente (la partie qui sera typiquement exécutée soit sur le serveur Web, soit sur le serveur d'application). Si cette activité est oubliée, la partie la plus importante du comportement du système sera ignorée. Les pages Web elles-mêmes sont représentées comme des classes 'frontière', les éléments de données sont représentés comme des classes 'entité' et le comportement côté serveur (par exemple, les pages Active Server Pages ou les servlets) est représenté via des objets 'contrôle'.
Juste après l'analyse des cas d'utilisation, l'Activité : Identifier les éléments de conception affine l'Artefact : Classes d'analyse, en les mettant en correspondance avec des mécanismes existants dans la structure de développement Web, en réutilisant des éléments de conception existants à partir de projets ou d'itération antérieurs lorsque cela est possible. Ceci nécessite souvent un réajustement du champ d'application et de la définition des classes d'analyse identifiées pour atteindre le degré de réutilisation souhaité.
Une description plus détaillée du langage UML pour décrire des applications Web est donnée dans Modélisation d'architectures d'application Web avec UML.
Outre le développement des instructions sur l'interface utilisateur, les éléments de conception Web (les différentes images graphiques qui sont assemblées pour construire les pages Web d'un site) sont créés. La cohérence de l'interface utilisateur sur un site Web est essentielle à son utilisation ; le site Web doit offrir une sensation de cohérence à l'utilisateur. Pour ceci, le projet doit systématiquement utiliser le même ensemble d'éléments graphiques dans tout le site.
Le développement de ces éléments il inclut la création d'instructions pour les utiliser. Vérifiez que tous les membres de l'équipe savent quand et comment utiliser ces éléments. Des exemples d'élément de conception Web incluent des éléments graphiques tels que les dispositifs de navigation et les arrière-plans de page. Le fait d'utiliser des éléments graphiques standard et de haute qualité sur tout le site garantit la cohérence, réduit le délai de commercialisation et les coûts de développement, mais aussi augmente la qualité, dans la mesure où vous déployez un nombre réduit d'éléments de bonne qualité.
Les principes et conseils sont préparés parallèlement au développement du premier prototype de l'interface utilisateur Web, pour produire le guide de style du site. Ce guide de style permettra, entre autres, de spécifier quand et comment les éléments de conception Web doivent être utilisés (systèmes de couleurs, polices, feuilles de style en cascade) et contient des informations sur la façon dont les éléments de navigation doivent fonctionner et être positionnés.
L'Activité : Identifier les mécanismes de conception porte davantage sur la mise en correspondance des besoins non fonctionnels du système et des mécanismes fournis par la structure de développement Web ; les mécanismes non fournis par la structure (s'il en existe) devront être identifiés et des solutions de remplacement devront être élaborées.
L'Activité : Décrire l'architecture d'exécution porte davantage sur les niveaux serveur Web et serveur d'application (voir Concepts : Modèles de distribution), et sur les processus et unités d'exécution utilisés par ces niveaux pour gérer les accès simultanés. Typiquement, il n'y a pas ou peu de contôle sur les traitements effectués sur les machines côté client.
L'Activité : Décrire la distribution, qui avait pour objectif 'd'identifier les types de noeuds de serveur à utiliser', porte maintenant sur 'combien de serveurs de chaque type convient-il d'utiliser'. Typiquement, la structure de développement Web fournira un nombre fixe de types de serveurs (par exemple, des serveurs Web, des serveurs d'applications, des serveurs de messagerie, des serveurs de passerelle), dont les limites fonctionnelles sont relativement bien définies. En conséquence, les compétences de l'architecte logiciel portent sur la détermination de la façon de traiter la capacité d'extension et les exigences en matière de tolérance aux pannes en utilisant les types de serveurs disponibles, généralement en déterminant combien de serveurs de chaque type sont nécessaires. En outre, il convient d'établir des plans de mesure pour déterminer quand des serveurs supplémentaires sont nécessaires.
La planification porte en grande partie sur le test des performances pour garantir que l'application Web puisse prendre en charge une augmentation importante du nombre d'utilisateurs simultanés. En conséquence, les Détails de l'enchaînement d'activités
Tester et évaluer,
Effectuer une mission acceptable porteront davantage sur le test des performances pour garantir une architecture évolutive.
D'autres types
de test importants sont le test d'utilisation et le
test de la structure. Il est nécessaire de tester l'interaction avec l'utilisateur pour vérifier que la structure de l'application Web est appropriée aux utilisateurs concernés. Dans certains cas, vous serez contraints d'avoir l'application sur Internet afin de pouvoir surveiller la façon dont les utilisateurs utilisent l'application.
Un autre type de test qui prend énormément de temps est le test du navigateur. En effet la compatibilité entre les navigateurs et entre les versions de navigateurs limite souvent les options de conception de l'interface utilisateur.
Pour valider les décisions architecturales prises jusqu'à maintenant sur le projet, un ou plusieurs prototypes architecturaux sont développés et testés, ce qui implique l'exécution successive des activités Détails de l'enchaînement d'activités : Implémenter les composants, Détails de l'enchaînement d'activités : Intégrer chaque sous-système et Détails de l'enchaînement d'activités : Intégrer le système. Comme nous l'avons déjà vu, le test doit porter spécialement sur la capacité d'évolution de l'application pour répondre à des augmentations imprévisibles de la charge du système .
L'enchaînement d'activités de base de la phase de construction s'applique, avec les variations ou extensions suivantes.
L'Activité : Planifier l'intégration du sous-système et l'Activité : Planifier l'intégration du système doivent traiter les différents types d'éléments relatifs à l'implémentation créés dans la phase de construction.
L'Activité : Implémenter les éléments de conception porte sur différents types d'éléments :
- Les pages Web, les applets, les scripts, les graphiques et autres éléments qui "s'exécutent" dans l'environnement du navigateur
- Les pages côté serveur, les scripts, les servlets et autres éléments qui "s'exécutent" dans l'environnement du serveur Web
- Les améliorations du code exécutable pour les applications existantes
- Les tables de base de données, les déclencheurs, les procédures stockées et autres éléments qui s'exécutent dans le système de gestion de la base de données
Les différences en termes d'outils et de technologies de déploiement entre ces différents types d'éléments indiquent qu'il existera un certain nombre de variantes similaires de l'Activité : Implémenter les éléments de conception. Les activités Détails de l'enchaînement d'activités : Intégrer chaque chaque sous-système et Détails de l'enchaînement d'activités : Intégrer le système comporteront des adaptations similaires.
La planification des tests se concentre toujours sur le test des performances, mais elle porte de plus en plus sur le test fonctionnel. Une approche de test légèrement différente est nécessaire pour chacun des différents types d'éléments qui constituent une application Web. Les Détails de l'enchaînement d'activités
Tester et évaluer,
Effectuer une mission acceptable
, présenteront des adaptations similaires. On met ici l'accent sur le test fonctionnel, ce qui garantit un comportement correct du système.
Des parties de cette page ont été développées en collaboration avec Context Integration. | ![]() |
RUP (Rational Unified Process)
|