Chapitre 4 : Conception
2.1 Vue statique
2.1.4 Vue dynamique : Diagramme de séquence
Montre la séquence verticale des messages passés entre objets au sein d’une interaction
Ligne de vie : représentation de l’existence d’un élément participant dans un diagramme de séquence. Cela peut être un acteur ou le système en modélisation d’exigences, des objets logiciels en conception préliminaire ou conception détaillée.
Message : élément de communication unidirectionnel entre objets qui déclenche une activité dans l’objet destinataire. La réception d’un message provoque un événement dans l’objet récepteur. La flèche pointillée représente un retour au sens UML. Cela signifie que le message en question est le résultat direct du message précédent.
Après l’étude des cas d’utilisation, nous avons pu dégager les diagrammes de séquences correspondants dont voici les plus importants :
2.1.4.1 Diagramme de séquence du cas « authentification »
Figure 36 : diagramme de séquence du cas "authentification"
Lorsque l’utilisateur demande l’accès à l’application, il doit tout d’abord s’identifier par son login et mot de passe via le serveur d’application qui prend en charge de vérifier et consulter
diagramme de séquence authentification
Affichage de l'application login ou mot de passe erroné
1- saisie login et mp
Vérification des modules autorisés renvoi d'un objet UserApp
renvoi d'un objet null
3- vérification de l'existence 2- requête d'interrogation à la BD
serveur d'application Base de donnée
Client
échec
succès alt
Affichage de l'application login ou mot de passe erroné
1- saisie login et mp
Vérification des modules autorisés renvoi d'un objet UserApp
renvoi d'un objet null
3- vérification de l'existence 2- requête d'interrogation à la BD
40 la base de données.
S’il est accepté, donc il y’aura l’accès au système et aux applications du menu correspondant.
Sinon, le serveur d’application lui affiche un message d’erreur afin de rectifier ses données.
2.1.4.2 Diagramme de séquence du cas « Gérer les utilisateurs et les droits d'accès»
Figure 37 : diagramme de séquence du cas " Gérer les utilisateurs et les droits d'accès"
Lorsque l’utilisateur accède à l’application, il peut :
D’une part Saisir les données concernant le nouvel utilisateur puis demander l’enregistrement via le serveur d’application qui prend en charge la vérification du type des données et l’insertion dans la base de données. Si l'insertion est réalisée avec succès un message informe l'utilisateur que l'enregistrement est réalisé avec succès. Si non un message d'erreur sera affiché.
D’autre part consulter la liste des utilisateurs.
diagramme de séquence gestion des utilisateurs et droit d'accès
echec
41
L'administrateur demande la liste des utilisateurs. Une requête sera passée à la base de données puis la classe CompteServiceImpl prépare une liste des objets utilisateurs qui sera chargé par le composant GridUser de la classe ListeUser.
Une fois la lise est affichée, l'utilisateur peut sélectionne un utilisateur pour le modifier ou le supprimer.
La modification génère la boite de dialogue NewUser avec l'utilisateur sélectionné en paramètre pour lister les informations de l'user sélectionné. Une fois les modifications sont effectuées, l'objet utilisateur modifié sera passé pour exécuter la requête SQL correspondante à la BD.
De même pour la suppression.
Figure 384 : diagramme de séquence du cas " Gérer les utilisateurs et les droits d'accès "
consulter la liste des utilisateurs
nbr row affected
nbr row affected nbr row affected
ModifUser
Création de la liste des utilisateur getUserApps
nbr row affected > 0
else
nbr row affected nbr row affected
ModifUser
Création de la liste des utilisateur getUserApps
demander liste des utilisateurs
42
2.1.4.3 Diagramme de séquence du cas « gérer Les comptes mail »
Figure 395 : Diagramme de séquence du cas « gérer les comptes»
L'utilisateur demande la liste des abonnés sans comptes (abonnés nouvellement créés) .Une fois affiché, il peut sélectionner un abonné pour le modifier, le supprimé ou générer le compte correspondant.
La recherche de compte est effectuée ainsi :
L’utilisateur peut effectuer la recherche de comptes soit par établissement soit à travers le
Création de la liste des abonnées
exécution SQL getAbonnes
demande de liste d'abonnés
Acteur mail ListeAbonneSansCompte :Abonne NewCompte :Compte CompteServiceImpl
Base de donnée
Affichage Création de la liste des abonnées
exécution SQL getAbonnes
demande de liste d'abonnés
43
L’utilisateur choisi le type d’établissement puis le gouvernorat puis recherche l’établissement voulu. Le système lui affiche les comptes de cet établissement.
L’utilisateur peut aussi rechercher un compte en tapant le n°CIN ou une partie de nom et lance la recherche. Le système lui retourne alors le compte recherché.
Ensuite, l’utilisateur peut sélectionner un compte pour le modifier, le supprimer ou l'imprimer.
Figure 16 : Diagramme de séquence du cas « gérer les comptes»
2.1.4.4 Diagramme de séquence du cas "Gérer les serveurs Slis"
L’utilisateur affiche le tree des établissements. Il commence par sélectionner le gouvernorat, puis le type d’établissement puis sélectionne l’établissement voulu.
S’il trouve un Slis déjà enregistré dans cet établissement il peut alors consulter les logs ou ajouter les comptes Internet.
recherche_compte
Acteur mail SearchCompte TypeEtab Gouv Etab Compte CompteServiceImpl
Base de donnée
44 Sinon, il ajoute un Slis par le dialogue New Slis.
Figure 17 : Diagramme de séquence du cas « gérer les serveurs Slis »
A noter que l’utilisateur selon son profil peut sélectionner un nœud de tree le supprimer ou le modifier.
Ces actions ne sont pas traitées dans le diagramme de séquence pour alléger le diagramme.
3 Conclusion
Dans ce chapitre, nous avons conçu et documenté le code que nous devons produire. Dans cette phase, toutes les questions concernant la manière de réaliser le système à développer ont été élucidées. Le produit obtenu est un modèle graphique (ensemble de diagrammes) prêt à être codé. Dans le chapitre suivant nous allons étudier en détails les outils et les langages utilisés durant la phase de construction.
gérer les serveurs Slis select Slis & add compte Internet
Affichage Create Liste logs
getLogsEtab(@ ip Slis)
connection and exécution SQL create
select Slis and consulte Logs Affichage
create liste Slis and router insertion Sql saveSlis(Slis entite)
create saisie
create select etab and create Slis
List<Entite>
exécution SQL getTreeEtab(type,gouv,etab)
create liste des comptes, Slis and router
List<Entite> create liste des Etablissements
exécution SQL getTreeEtab( type,gouv)
List<Entite>
exécution SQL getTreeEtab( gouv )
create liste des types Etablissements List<Entite>
create liste des gouvs
Affichage type Etabs
exécution SQL getTreeEtab
demander le tree des établissements
Acteur Slis ManageEtab CompteServiceImpl
Base de donnée
Entite
NewSlis ListCompteToAdd ListLogs Slis SlisServiceImpl
BD Slis Distant select Slis & add compte Internet
Affichage Create Liste logs
getLogsEtab(@ ip Slis)
connection and exécution SQL create
select Slis and consulte Logs Affichage
create liste Slis and router insertion Sql saveSlis(Slis entite)
create saisie
create select etab and create Slis
List<Entite>
exécution SQL getTreeEtab(type,gouv,etab)
create liste des comptes, Slis and router
List<Entite> create liste des Etablissements
exécution SQL getTreeEtab( type,gouv)
List<Entite>
exécution SQL getTreeEtab( gouv )
create liste des types Etablissements List<Entite>
create liste des gouvs
Affichage type Etabs
exécution SQL getTreeEtab
demander le tree des établissements
45