IV- NuaNce entre MVC et 3-Tiers :
[1] MVC et 3-Tiers sont des mots souvent cités dans les
cours de génie logiciel. Souvent les gens ont tendance à les
confondre mais ils n'ont pas tord car ces deux pratiques sont à la fois
différentes et similaires.
La différence fondamentale se trouve dans le fait que
l'architecture 3-Tiers sépare la couche Business logic (couche
métier) de la couche Data Access (accès aux
données).
Pour qu'une application MVC soit une vraie application 3-Tiers il
faut lui ajouter une couche d'abstraction d'accès aux données de
type DAO (Data Access Object).
Inversement pour qu'une application 3-Tiers respecte MVC il faut
lui ajouter une couche de contrôle entre User interface et Business
logic.
Loin d'être antagonistes, ces deux pratiques se comblent et
sont la fondation de la plupart des Frameworks de création d'application
web.
Pour notre projet, nous avons utilise une architecture 4-tiers,
Ici le modèle est constitue de plusieurs serveurs de base de
données et d'un serveur pour les web services, le contrôleur est
constitue d'un serveur pour la couche Business logic, la vue est
constituée des terminaux (téléphones, Smartphones,
ordinateur).
V- Méthodes et outils pour l'application
1- Choix des outils de ConCeption :
En Génie Logiciel (GL) la conception constitue une phase
fondamentale dans le cycle de vie d'un logiciel. La réussite de ce
dernier dépend beaucoup de cette étape. Dans notre application
nous allons se baser sur deux conceptions : la conception architecturale et la
conception détaillée.
1.1-ConCeption globale (architecturale) :
Cette conception consiste à scinder les taches de
l'application en différentes petites parties afin de mieux organiser et
développer le logiciel. Ça se base sur la technique «
Diviser pour mieux régner ».
Les retombés directs de cette technique ne sont pas
négligeables, on peut mentionner quelques uns :
- Le développement de l'application peut être
partagé par plusieurs groupes de travail. - La possibilité de
réutiliser les composantes dans d'autres applications.
- La portabilité de l'application.
Dans notre cas, nous allons utiliser entre autre le
MVC et une architecture client/serveur. Nous allons essayer de
scinder cette dernière en trois partie une partie de présentation
(représentée par les interfaces), une partie qui permet
l'accès à la base et une dernière partie composée
par la base même.
Mieux encore le partage de l'application en sous systèmes
va nous permettre de faire une conception détaillée de chaque
partie.
1.2- ConCeption détaillée
1.2.1- Choix du prinCipe et du logiciel de modélisation
:
[2] Merise et UML sont deux grands principes de
« traduction » ou modélisation d'un système
d'information. Néanmoins, ils ne sont pas aussi proches qu'on pourrait
le penser.
Le choix de l'un ou de l'autre se fait selon trois axes à
savoir l'accessibilité, la précision et
l'exploitabilité.
Pour le premier axe (accessibilité) MERISE présente
l'intérêt d'avoir des modèles logiques moins
détaillés facilement compréhensibles par un utilisateur
moins avisé.
Tandis qu'UML conçu pour s'adapter à n'importe
quel langage de programmation orientée objet (POO), présente
plusieurs modèles (diagrammes) dont leurs compréhensions
nécessitent une grande attention.
En ce qui concerne le deuxième critère
(précision), MERISE est décevant. Malgré sa clarté,
il la manque une précision du fait qu'elle est éloignée du
langage donc difficile à implémenter alors qu'UML intègre
les éléments communs des différents langages, sa
volonté est d'être fidèle à la réalisation
finale. Elle est beaucoup plus complète avec ses différents
diagrammes. Pour en finir avec l'exploitabilité, MERISE est une
méthode plus généraliste. Elle donne une vue globale de la
solution sans autant rentrer dans les petits détails. Contrairement
à UML qui est conçu pour l'implémentation
objet avec ses différents détails et sa portabilité
(s'adapte à n'importe quelle plateforme) elle est donc plus
exploitable.
L'une ou l'autre présente des avantages et des
inconvénients. Il est réservé au concepteur de choisir la
méthode la mieux adaptée pour son cas. Si on cherche la
précision et l'exploitabilité comme dans notre cas UML devance de
loin MERISE. Tandis que, si c'est la clarté et l'accessibilité
qui sont en question MERISE est préférable.
La conception de notre application mérite bien une
grande précision et une exploitabilité maximale. C'est la raison
pour laquelle nous allons retenir UML. Les différences entres les
logiciels de modélisation UML sont infimes. N'empêche de
mentionner quelques logiciels qui sont à notre connaissance : Agro UML
(open source), Poseidon UML, Rational Rose et le plus célèbre
Power Designer.
La facilité dotée au dernier (Power Designer) de
pouvoir faire une « ingénierie » et une
« retro-ingénierie » a influée sur
notre choix.
|