Point d'ouverture "CaseBase"
Le point d'ouverture CaseBase permet la structuration et le stockage des cas. Il permet de gérer l'organisation des cas.
Dans cette modélisation, il existe un point d'ouverture pour l'organisation hiérarchique des bases de cas suivant, d'une part leurs caractéristiques logiques liées au cycle de vie des cas et, d'autre part leur localisation physique. Dans ce but on applique le patron de conception Composite (cf. Figure 1) : la classe CaseBase est alors la classe de base d'une hiérarchie de classes séparant les bases de cas composées (classe CompoundCaseBase ) et les bases de cas simples (classe SimpleCaseBase ). Chaque base de cas peut être ouverte en deux modes (en lecture seule ou en modification) et possède des informations sur les données (classe CaseBaseMetadata ). L'ajout d'un nouveau cas dans une base n'est correct que s'il est compatible (méthode isCaseCompatible ). Ce critère est utilisé pour ajouter un nouveau cas par classification dans la hiérarchie formée par des bases de cas composées.
Figure 1 : hiérarchie de bases de casPlusieurs types de bases de cas simples peuvent alors être définis en spécialisant la classe SimpleCaseBase : bases de cas volatiles (classe TransientSimpleCaseBase ), bases de cas avec sauvegarde sur un fichier (classe FileSimpleCaseBase ), ou bases de cas distantes (classe RemoteSimpleCaseBase ). Les bases de cas composées servent à regrouper les bases de cas suivant une sémantique liée à l'application. Les bases de cas doivent assurer l'unicité de l'affectation des identificateurs aux nouveaux cas. Dans ce but, nous fournissons des objets chargés du calcul des identificateurs (classe IdentifierGenerator ). Soit les bases de cas utilisent des générateurs de type différent, l'unicité est alors garantie de par la conception des bases, soit plusieurs bases utilisent le même générateur.
Figure 2 : exemple d'une structuration de bases de casLa Figure 2 donne un exemple dans lequel deux
principales bases de cas sont réunies : la base de cas
personnelle de l'utilisateur et la base de cas
centrale. La base de cas personnelle est à son tour
décomposée en une base de cas temporaire et une base de
cas privée. La base de cas temporaire contient les cas
créés lors d'une session de raisonnement. La base de
cas privée contient les cas dont l'utilisateur ne
souhaite pas une utilisation générale. D'un autre côté,
la base de cas centrale contient d'une part les cas
publiés par les utilisateurs et n'ayant pas encore été
validés (base de cas partagée), et d'autre part les cas
acceptés et vérifiés par l'administrateur ou les
experts de l'application (base de cas validée). Cet
exemple met en évidence l'apport de cette structuration
pour mieux suivre les cas dans leur cycle de vie et de
validation, tout en montrant l'utilisation des
différents types de bases de cas simples. Grâce au
patron
Composite
cette structuration est transparente pour le
raisonnement.
|
Last modified: Wed Jul 25 14:35:37 MEST 2001