V. Cas pratique : Modélisation UML d'un projet simple▲
V-1. Spécifications fonctionnelles du projet▲
GestClient est une application de gestion des clients. L'application doit permettre à un utilisateur de rôle Administrateur de :
- créer un client
- rechercher un ou des clients selon certains critères.
- modifier un client
- désactiver un client
Ce projet va comporter une partie serveur et une partie front-end. La partie serveur va exposer ses services au front-end, ce dernier pouvant par exemple être une winapp ou une webapp.
V-2. Modélisation de la partie serveur : GestClient.Server▲
V-2-1. Use Case Model▲
V-2-1-1. Package Actor▲
On distingue un acteur externe qui est ici le Front-end.
V-2-1-2. Package Context▲
On distingue l'application serveur et la base de données.
V-2-1-3. Package Use Cases▲
Nous avons un seul package de gestion des clients : <<UC Package>>CLIENT-Gestion des clients. Ce package contient 5 use cases tels que le présente la figure ci-dessous :
Ci-dessous le diagramme de cas d'utilisation du
<<UC Package>>CLIENT-Gestion des clients
Pour chaque UC on distingue un diagramme de séquence pour le cas nominal, comme le montre la figure ci-dessous :
La figure ci-dessous montre le diagramme de cas nominal du use case UC-CLIENT-004-Rechercher Client
V-2-2. Modèle d'analyse▲
V-2-2-1. Data Model▲
C'est dans cette partie qu'on conçoit le modèle de donnée du projet.
Le Data Model fera l'objet d'un article ultérieur.
V-2-2-2. Package des composants métiers▲
Nous avons un seul composant métier : <<composant>>Client. Ce composant comprend un ensemble d'éléments présentés par la figure ci-dessous :
- <<domain>>ClientCriteria : contient les critères de recherche d'un client
- <<domain>>ClientDTO : encapsule des données d'un client
- <<interface>>IClientDAO : pour l'accès à la base de données
- <<interface>>IClientSISV : service simple implémentant la logique métier.
V-2-2-3. Package des composants services▲
Nous disposons d'un composant de services :
V-2-2-4. Package des médiations▲
On distingue trois médiateurs permettant de mettre en relation des différentes couches de l'application :
- DAOController : médiateur pour l'accès aux services de la couche DAO
- SISVFinder : médiateur pour l'accès aux services de la couche SISV
- SVCOFinder : médiateur pour l'accès aux services de la couche SVCO
V-2-2-5. Package des réalisations des cas d'utilisation▲
Pour chaque use case on a un "Use Case Realization" correspondant tel que le présente la figure ci-dessous :
La figure ci-dessous présente le diagramme de cas réalisation nominal de création d'un client :
V-2-3. Téléchargement du projet UML de la partie serveur de l'exemple▲
Le projet UML de la partie serveur de l'exemple est disponible sur le lien suivant : projet UML du serveurprojet UML du serveur
Il a été fait à l'aide de l'outil Enterprise Architect dont une version d'évaluation est disponible sur le lien suivant : Enterprise Architect 30 days trialEnterprise Architect 30 days trial
V-3. Modélisation du Front End : GestClient.FrontEnd▲
V-3-1. User Interface Model▲
Cette partie est réservée à la modélisation des interfaces utilisateurs d'un projet front-end. Le User Interface Model fera l'objet d'un article ultérieur.
V-3-2. Use Case Model▲
V-3-2-1. Package Actor▲
On distingue un acteur humain qui est ici l'administrateur.
V-3-2-2. Package Context▲
C'est le bloc constitué par la winform.
V-3-2-3. Package Use Cases▲
On distingue 3 regroupements de cas d'utilisation :
- <<UC Package>>Connexion : traite les cas d'utilisations liés au module de Connexion
- <<UC Package>>Gestion des clients : traite des cas d'utilisations liés au module de Clients
- <<UC Package>>Welcome : traite des cas d'utilisations liés au module de page d'acceuil (ou Welcome)
V-3-2-3-1. <<UC Package>>-Connexion▲
Il contient à son tour le regroupement <<UC Package>>LOGIN-Connexion comme le montre la figure 18.
<<UC Package>>LOGIN-Connexion contient les UC suivants :
- UC-LOGIN-001-Initialiser et afficher la page de login
- UC-LOGIN-002-S'authentifier via le login et le mot de passe
- UC-LOGIN-003-Fermer la page de login
Tous ces UC étendent le 'UC-LOGIN-000-Se connecter' qui est quant à lui un UC abstrait.
La figure 20 nous montre le diagramme de cas d'utilisation pour <<UC package>>LOGIN-Connexion
Dans chaque UC on distingue un diagramme de séquence pour le cas nominal, comme le montrent la figure 21 et la figure 22
La figure 22 montre le diagramme de séquence "Nominal SC10-Nominal-S'authentifier via login et pwd".
V-3-3. Modèle d'analyse▲
V-3-3-1. Data Model▲
C'est dans cette partie qu'on conçoit le modèle de donnée du projet. Le Data Model fera l'objet d'un article ultérieur.
V-3-3-2. Package des composants métiers▲
Le package des composants métiers <<Layer>>BusinessComponent contient tous les composants métiers du projet.
Dans le cas du projet front-end nous avons le <<Composant>>Client qui contient une <<interface>>IClientSVCO : il s'agit d'un service fourni par le serveur.
V-3-3-3. Package des composants services▲
Comme c'est une application front-end, ici on parle de "<<Layer>>Front-End Controller" et on y présente tous les contrôleurs de l'application. Les contrôleurs sont regroupés par modules :
- <controller>Client dans le module Client
- <controller>Login dans le module Connexion
- <controller>Welcome dans le module Welcome
<controller>Login contient <<control>>LoginController. Ce contrôleur contient les méthodes suivantes :
- EnterFromLoginPwd() : méthode publique qui effectue l'authentification sur la base du login et mot de passe.
- Fermer() : méthode publique pour fermer la page de login et quitter l'application.
V-3-3-4. Package des médiations▲
Ici sont représentées les médiations entre les différents composants du système ainsi qu'entre le système et les acteurs extérieurs.
On distingue :
- les écrans de l'application : médiation entre l'utlisateur et l'application
- la médiation entre le FrondEnd et le BackEnd.
- la médiation entre les actions des utilisateurs et leurs traitements.
V-3-3-5. Package des réalisations des cas d'utilisation▲
Les différents packages recensés pour ce projet sont :
- <<UCR Package>>-Connexion : traite les cas d'utilisations liés au module de Connexion.
- <<UCR Package>>-Gestion des clients : traite des cas d'utilisations liés au module de Clients.
- <<UCR Package>>-Welcome : traite des cas d'utilisations liés au module de page d'acceuil.
Ces packages sont organisés comme le présente la figure 27 ci-dessous :
V-3-3-5-1. <<UCR Package>>-Connexion▲
Il est organisé comme présenté dans les figures ci-dessous :
<<UCR package>>LOGIN-Connexion contient les Use Case de réalisation ci-dessous :
Chaque UCR contient un diagramme de séquence représentant le cas Nominal.
V-3-4. Téléchargement du projet UML de la partie front-end de l'exemple▲
Le projet UML de la partie front-end de l'exemple est disponible sur le lien suivant : projet UML du front-endprojet UML du front-end
Il a été fait à l'aide de l'outil Enterprise Architect dont une version d'évaluation est disponible sur le lien suivant : Enterprise Architect 30 days trialEnterprise Architect 30 days trial
Koossery Technology est une entreprise spécialisée dans les développements de projets au forfait (.NET & Java J2ee) et dispose pour cela d'une cellule Architecture Technique et Outillages ainsi que d'une Usine Logicielle.
Koossery Technology dispose aussi d'un Centre de Service GED-ECM-BPM Alfresco, jBPM pour adresser les projets GED-ECM-BPM sur la base des plate-formes Alfresco et jBoss BPM.
Tous nos remerciements au comité de relecture developpez.com
Vos réactions par l'intermédiaire de ce fil : 8 commentaires