7 Initiation du projet : sprint 0
7.1 Architecture de la solution
7.1.1 Architecture logique
L'application doit fonctionner dans un réseau.
L'accès doit être possible à partir de
n'importe quel poste par le biais d'un navigateur web. Mais,
l'importance d'avoir un système d'archivage de donnée (parmi le
besoins fonctionnels) et de gestion de logs nous oblige de créer une
base de données permettant de stocker les différents
évènements.
Ainsi l'architecture à trois niveaux s'avère la
mieux à adopter (aussi appelée architecture 3-tiers)
caractérise les systèmes clients/serveurs dans lesquels le client
demande une ressource et le serveur la lui fournit directement. Cela signifie
que le serveur ne fait pas appel à une autre application afin de fournir
le service.
En effet, l'architecture 3-tiers, ou encore architecture à
trois niveaux ou couches est l'extension du modèle client -serveur.
L'architecture logique du système est divisée en trois niveaux ou
couches :
? couche présentation.
? couche métier.
? couche accès aux données.
17
CHAPITRE I : Présentation du cadre du
projet
Figure 9:Architecture 3 tiers
7.1.2 Architecture logicielle
L'architecture MVC est l'une des architectures logicielles les
plus utilisées pour les applications Web, elle se compose de 3 modules
:
Modèle : noyau de l'application qui
gère les données, permet de récupérer les
informations dans la base de données, de les organiser pour qu'elles
puissent ensuite être traitées par le contrôleur.
Vue : composant graphique de l'interface qui
permet de présenter les données du modèle à
l'utilisateur.
Contrôleur : composant responsable des
prises de décision, gère la logique du code qui prend des
décisions, il est l'intermédiaire entre le modèle et la
vue.
Fonctionnement
Le contrôleur va demander au modèle les
données, les analyser, prendre des décisions et renvoyer le texte
à afficher à la vue.
Quelques avantages
? Meilleure organisation du code;
? Diminution de la complexité lors de la conception;
18
CHAPITRE I : Présentation du cadre du
projet
? Conception claire et efficace grâce à la
séparation des données de la vue et du
contrôleur;
? Possibilité de réutilisation de code dans
d'autres applications;
? Un gain de temps de maintenance et d'évolution du
site;
? Une plus grande souplesse pour organiser le
développement du site entre
différents développeurs;
? Plus de facilité pour les tests unitaires.
[8]
Figure 10:Présentation modèle MVC
|