Marie-pascale Delamare d’après http://www.pckult.net/blog/introduction-au-developpement-en-
couche-n-tier/ et http://morpheus.developpez.com/architecture/
LE DÉVELOPPEMENT EN COUCHES
UN PETIT HISTORIQUE
Les logiciels les plus fréquemment développés sont des logiciels à interface graphique permettant la gestion
d’un ensemble de données tel que les données des étudiants dans le cadre de notre projet. Ces logiciels
doivent pouvoir ajouter, supprimer et modifier les informations qu'ils sont censés gérer. Informations en
général stockées dans une base de données relationnelle.
Dans les anciens programmes de gestion, l’interface utilisateur prenait en charge toute la logique de
l’application, soit l'interface graphique, les traitements et les accès à la base de données. Les développeurs ont
très vite aperçu les limites de cette architecture. En effet un changement de base de données, par exemple,
impactait tout le code de l’application et obligeait à la redéployer sur tous les postes. La maintenance des
logiciels développés de cette manière coutait donc cher.
Très vite l'idée de développer en couches est apparue.
QUELLES COUCHES ?
Une application « en couche » est généralement composée d’au moins 4 couches :
L’interface graphique (GUI, Graphic User Interface)
La couche métier (BusinnessObjects)
La couche d’accès aux données (DAL, Data Access Layer)
La couche logique métier (BLL, Business Logic Layer)
On peut parfois en trouver une de plus la couche de référence qui contiendra les objets qui seront passées
d’une couche à l’autre.
Dans notre exemple : l’interface graphique contient nos deux formulaires frm_listeEtudiant et frm_unEtudiant.
La couche métier contient notre classe métier « Etudiant ». La couche logique métier contient notre classe
contrôleur. La couche accès aux données contient nos classes Dataset, DataTable et tableAdapter. Les classes
DataSet et DataTable relèvent en fait de la couche référence puisqu’elles sont en fait déconnectées de la base
de données et que leurs instances sont passées d’une couche à l’autre. La classe tableAdapter, elle relève
vraiment de la couche d’accès aux données, puisque c’est elle qui gère vraiment l’accès à la base de données.
DÉTAILS DES COUCHES
L’INTERFACE GRAPHIQUE
C'est la représentation de l'IHM (interfaces visuelles). Fini le code spaghetti, ici on fait juste de l'affichage,
aucun traitement ou définition. Exemple : afficher la liste des étudiants ou gérer un étudiant (d’où nos deux
formulaires).
LA COUCHE MÉTIER
Les objets métier correspondent à tous les objets spécifiques qui sont manipulés dans l’application. Dans notre
cas, nous allons manipuler des étudiants. Un étudiant, c’est un identifiant, un nom, un prénom, etc. Toutes ces
caractéristiques sont les propriétés de notre classe Etudiant.