Un utilisateur d’une application informatique voit 3
fonction essentielles de cette application : - La fonction de gestion des vues ou interfaces Homme-Machine(IHM) : c’est à travers ces vues que l’utilisateur interagit avec l’application. Les vues peuvent être des pages web ou des applications fenêtrées. C’est à travers des vues en entrée que l’utilisateur envoie les données et des vues en sortie que l’utilisateur obtient les résultats des traitements effectués par l’application - La fonction de traitements encore appelée fonction métier chargée des traitements - La fonction de stockage chargée du stockage permanent des informations dans des fichiers ou des bases de données II/ Couches logicielles d’une application
Le développeur fait correspondre aux fonctions essentielles
d’une application, des couches logicielles (layers). Le développeur effectue une division logique de l’application en couches logicielles pour faciliter sa maintenance logicielle. En effet, le développeur peut intervenir sur une couche sans modifier une autre. Les couches logicielles sont constituées de composants logiciels (classes, pages web, navigateurs web, SGBD, …)
Les couches logicielles sont mises en place par le
développeur dans l’ordre suivant : - Couche domaine encore appelée couche des entités : l’application étant orientée objet , le développeur y définit les classes d’objets utilisés dans l’application étant donné que les objets sont créés à partir de classes. Les composants logiciels de cette couche sont des classes. La couche domaine est transversale aux autres couches car elles ont toutes besoin de la couche domaine. - Couche d’accès aux données ou DAO ( Data Access Object) : cette couche est constituée de composants logiciels qui sont des classes comportant des méthodes qui effectuent les opérations CRUD ( Create Read Update Delete) avec les bases de données. - La couche métier encore appelée couche service chargée d’effectuer des calculs et autres traitements sur les données qui viennent des bases de données. Les composants logiciels sont des classes contenant des méthodes qui effectuent les différents calculs sur les données qui ont récupérées de la couche dao par la couche métier. - La couche de présentation dont les composants logiciels sont en général des classes graphiques ou pages web. Elle est chargée de la conception des vues ou IHM.
Concrètement, on crée un projet pour
l’application dans un IDE (par exemple Eclipse) et pour chaque couche logicielle, on crée un package (sous-dossier) dans le dossier src (qui est le dossier des sources). Les couches doivent communiquer par un mécanisme appelé Injection de dépendances (ID).
En effet lorsque qu’une classe A d’une couche
logicielle C1 a besoin d’une classe B d’une couche logicielle C2, on importe dans le package C1, le package C2 et ensuite on crée une instance de la classe B dans la classe A. La classe A peut alors bénéficier des services de la classe B par l’appel dans A des méthodes de B. Les symboles suivants seront utilisés : C1------------->C2 couche C1 a besoin de C2, donc C1 <------------C2 couche C2 injectée dans C1 Les ID suivantes doivent être définies entre les couches Dao < --------------- domaine Métier < --------------- domaine Présentation < --------------- domaine Métier < --------------- Dao Présentation < --------------- Métier