Framework de modélisation d'un projet en langage UML


précédentsommaire

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 :

Figure 32 : UC Package Gestion des clients
Figure 32 : UC Package Gestion des clients


Ci-dessous le diagramme de cas d'utilisation du <<UC Package>>CLIENT-Gestion des clients

Figure 33 : Diagramme de cas d'utilisation du UC Package CLIENT-Gestion des clients
Figure 33 : 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 :

Figure 34 : Diagramme de séquence Nominal du UC Package CLIENT-Gestion des clients
Figure 34 : Diagramme de séquence Nominal du UC Package CLIENT-Gestion des clients


La figure ci-dessous montre le diagramme de cas nominal du use case UC-CLIENT-004-Rechercher Client

Figure 35 : diagramme de cas nominal du use case UC-CLIENT-004-Rechercher Client
Figure 35 : 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 :

Figure 36 : composant Client
Figure 36 : composant Client
  • <<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 :

Figure 37 : service Client
Figure 37 : service Client
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 :

Figure 38 : layer Médiations
Figure 38 : layer Médiations
  • 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 :

Figure 39 : Use Case Realization gestion des clients
Figure 39 : Use Case Realization gestion des clients


La figure ci-dessous présente le diagramme de cas réalisation nominal de création d'un client :

Figure 40 : SC10-Nominal-Creer un client
Figure 40 : SC10-Nominal-Creer 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)
Figure 17 : UC packages du projet GestClient.FrondEnd
Figure 17 : UC packages du projet GestClient.FrondEnd
V-3-2-3-1. <<UC Package>>-Connexion

Il contient à son tour le regroupement <<UC Package>>LOGIN-Connexion comme le montre la figure 18.

Figure 18 : UC Package - Connexion
Figure 18 : UC Package - Connexion


<<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.

Figure 19 : UC Package LOGIN-Connexion
Figure 19 : UC Package LOGIN-Connexion


La figure 20 nous montre le diagramme de cas d'utilisation pour <<UC package>>LOGIN-Connexion

Figure 20 : diagramme de cas d'utilisation pour <<UC package>>LOGIN-Connexion
Figure 20 : 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

Figure 21 : Diagrammes de séquence Nominal du UC Package LOGIN-Connexion
Figure 21 : Diagrammes de séquence Nominal du UC Package LOGIN-Connexion


La figure 22 montre le diagramme de séquence "Nominal SC10-Nominal-S'authentifier via login et pwd".

Figure 22 : SC10-Nominal-Connexion : Use Case S'authentifier via login et pwd
Figure 22 : SC10-Nominal-Connexion : Use Case 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.

Figure 23 : <<Layer>>BusinessComponent
Figure 23 : <<Layer>>BusinessComponent
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
Figure 24 : <<layer>>Frond-End Controller
Figure 24 : <<layer>>Frond-End Controller


Figure 25 : Diagramme de classes  des contrôleurs
Figure 25 : Diagramme de classes des contrôleurs


<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.
Figure 26 : Package des médiations
Figure 26 : Package des médiations
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 :

Figure 27 : UCR packages du projet GestClient.FrondEnd
Figure 27 : UCR packages du projet GestClient.FrondEnd
V-3-3-5-1. <<UCR Package>>-Connexion

Il est organisé comme présenté dans les figures ci-dessous :

Figure 28 : UCR Package Connexion
Figure 28 : UCR Package Connexion


<<UCR package>>LOGIN-Connexion contient les Use Case de réalisation ci-dessous :

Figure 29 : UCR Package LOGIN-Connexion
Figure 29 : UCR Package LOGIN-Connexion


Chaque UCR contient un diagramme de séquence représentant le cas Nominal.

Figure 30 : UCR package LOGIN-Connexion
Figure 30 : UCR package LOGIN-Connexion


Figure 31 : SC10-Nominal-Connexion : use case S'authentifier via login et pwd
Figure 31 : SC10-Nominal-Connexion : use case S'authentifier via login et pwd

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 Donner une note à l'article (5)


précédentsommaire