Vous êtes sur la page 1sur 16

Applications N-Tiers

Rappels: architecture et
méthodologie
F.Pfister (francois.pfister@mines-ales.fr)

1
Pérénité d'un développement

Structure d'une application


La partie métier doit être intangible

Partie
Métier

2
Evolution de la technologie

 Modèle d'exécution
 Application desktop 2 ou 3 niveaux
 Application web client léger
 Application web client lourd
 Service web
 Modèle de persistance
 Sérialisation
 Base de données objet
 Base de données relationnelle (SGBDR)
 Mapping objet + SGBDR

3
Séparation des préoccupations

 Le modèle métier doit rester indépendant


 des couches techniques
 De l'interface utilisateur

 Lorsque cette condition est réalisée


 le coeur des applications peut migrer d'une
technologie informatique à la suivante
 Les fonctionnalités métier peuvent être testées et

validées par des procédures automatisées (tests


unitaires et tests d'intégration)
4
Démarche d'ingénierie

 Un langage
 UML, Unified modeling Language
 Un procesus
 UP, Unified Process
 XUP, Extreme Unified Process

 2TUP, Two Track Unified Process

 etc..

5
Le processus du projet

 UP est à base de composants


 UP utilise UML
 UP est piloté par les cas d’utilisation
 UP est centré sur l’architecture
 UP est itératif et incrémental
 UP sépare les préoccupations
• Les aspects techniques

Solution de persistance

Nature du client (lourd -léger)
• Le modèle métier

Classes métier
6
Les cas d'utilisation

 Point d'entrée de la démarche


 L'approche est purement fonctionnelle
 Spécifient le besoin
 Point de vue de l'utilisateur
 Forme:
 Scénarii textuels
 Diagrammes de cas (use cases)

7
Trouver les cas d'utilisation

 Exemple: modélisation d'un GAB

Effectuer un retrait

Client

Consulter un compte

Operateur

8
Réaliser les cas d'utilisation

Trouver les cas d’utilisation

Réaliser les cas d’utilisation

Réaliser les cas d’utilisation


– Modéliser les scénarii
– Identifier les entités du système et
leurs interactions

9
Réaliser les cas d'utilisation

• Vue dynamique
– Objets, rôles et interactions
Effectuer un retrait

Client

:Client :InterfaceGuichet :Distributeur :Retrait :Compte


Consulter un compte
identifier()
demandeRetrait(montant)
valider(montant)
effectuerRetrait(montant)
Alimenter le GAB en billet
distribuer(montant) Operateur
delivrerBillets()

10
Structurer le système en objets

Trouver les cas d’utilisation

Réaliser les cas d’utilisation

Structurer le système en objets

Structurer le système en objets


– Trouver les entités du système
– Définir leurs propriétés
– Définir leurs relations (associations, héritage)

11
Découverte des classes candidates

• Vue statique du système


– Classes et associations Guichet Automatique
Bancaire

Effectuer un retrait

Client

:Client interfaceGuichet: distributeur: :Retrait :Compte


InterfaceGuichet
Consulter un compte
identifier()
Client identifier()
demandeRetrait(montant)
valider(montant)
Retrait Compte
effectuerRetrait(montant)
Distributeur * soldele GAB en billet
Alimenter
distribuer(montant) Operateur
demandeRetrait() valider()
distribuer() effectuerRetrait()
delivrerBillets()

12
Implémentation et tests d'intégration

Trouver les cas d’utilisation

Réaliser les cas d’utilisation Guichet


Automatique
Bancaire
*

Structurer le système en objets

Implémenter les composants


ok ? de déploiement du système

Tester les cas d’utilisation

13
Notre projet

 Réaliser une application de gestion bancaire


 Le modèle d'exécution est le client léger avec
serveur applicatif
 La technologie utilisée est JEE (Java
Enterprise Edition)
 Le modèle métier est partiel et simplifié, car
notre propos est de faire de la technique
 Mais nous n'oublions pas que le modèle
métier est au coeur du projet
14
La démarche
 Appréhender les outils de développement
 Rédiger une spécification fonctionnelle simplifiée
 Concevoir un modèle métier simplifié (6 classes)
 Banque
 Client
 Compte
 Compte-epargne
 Compte-courant
 Ville
 Implémenter les classes
 Réaliser des jeux de test unitaire
 Concevoir l'architecture technique (serveur web)
 Réaliser le serveur web
 Concevoir l'interface utilisateur
 Choisir la technologie de persistance des objets métier
 Intégration et tests

15
Modalités

 Outils utilisés: Eclipse, Jboss


 Durée: 20 heures cours + tp
 Evaluation: dossier de projet et démo lors de
la dernière séance.

16

Vous aimerez peut-être aussi