Cours modélisation et conception avec UML, tutoriel & guide de travaux pratiques en pdf.
Environnement du projet – outils utilisés
Dans ce projet, nous avons utilisé le langage de programmation Java sous NetBeans 6.8, en particulier, les JSP (Java Server Pages) pour les pages Web dynamiques, et aussi EasyPHP pour administrer notre base de données.
Java sous NetBeans
Java est un langage robuste qui peut être exploité pour développer un large éventail de programmes utilisant une interface utilisateur graphique, pouvant être appliqués en réseau pour se connecter à des bases de données, et offrant d’autres fonctionnalités toutes plus sophistiquées les unes que les autres.
Le ramasse-miettes intégré à Java détecte automatiquement les objets inutilisés pour libérer la mémoire qu’ils occupent. Aussi le Java intègre la gestion des exceptions pour faciliter la mise au point des programmes (détection et localisation des bugs). Concernant la sécurité, Java protège les informations sensibles de l’utilisateur et le système d’exploitation de sa machine en empêchant l’exécution des programmes conçus de façon malintentionnée.
La bibliothèque fournie en standard avec Java couvre de nombreux domaines (gestion de collections, accès aux bases de données, interface utilisateur graphique, accès aux fichiers et au réseau, utilisation d’objets distribués, XML…, sans compter toutes les extensions qui s’intègrent sans difficulté à Java) donc la bibliothèque très riche.
Java est enfin nativement doté d’un ensemble complet de primitives de gestion du multitâche simplifiant grandement l’écriture de programmes par exemple devant exécuter des requêtes sur une base de données. L’API JDBC (Java DataBase Connectivity), apparue dès la JDK 1.1, permet de développer des applications capables de se connecter à des serveurs de bases de données (SGBD), par le biais d’un pilote.
Nous avons utilisé un tel pilote (com.mysql.jdbc.Driver) de manière à pouvoir se connecter à un serveur mySQL.
JSP
JSP est une technologie basée sur Java qui permet aux développeurs de générer dynamiquement du code HTML, XML ou tout autre type de page Web, dans laquelle sont introduits des morceaux de code Java nommés « éléments de script ».
MySQL
L’emploi de bases de données était absolument indispensable afin de sauvegarder de manière efficace l’ensemble des tables, qui à long terme peuvent constituer un bloc très volumineux de données.
Nous avons opté pour MySQL (My Structured Query Language) pour plusieurs raisons parmi les quelles la disponibilité de driver pour se connecter à une base de données à partir de Java. Mais aussi, car il offre un système optimisé de gestion de base de données, et ses commandes sont plutôt faciles d’emploi.
UML
Pour dessiner des diagrammes UML, il existe plusieurs outils disponibles en Open Source (ArgoUML, StarUML, Poséidon, etc.) ou sous forme de plug-in pour Eclipse ou NetBeans. Pour ce qui suit nous avons utilisé ArgoUML. Pour exprimer nos besoins, nous avons utilisé le formalisme UML des cas d’utilisation et des séquences.
Modélisation avec UML
Diagramme des Classes
Le diagramme des classes identifie la structure des classes d’un système, y compris les propriétés et les méthodes de chaque classe. [24]
Le diagramme des classes est le diagramme le plus largement répandu dans les spécifications d’UML car il fait abstraction des aspects temporels et dynamiques.
Dans ce qui suit, nous avons présenté d’une façon globale les classes qui sont liées avec elles par des relations, selon certaine condition.
Figure III.1 : Diagramme des classes.
Diagramme des cas d’utilisation
Les diagrammes des cas d’utilisation identifient les fonctionnalités fournies par le système (cas d’utilisation), les utilisateurs qui interagissent avec le système (acteurs), et les interactions entre ces derniers. Les cas d’utilisation sont utilisés dans la phase d’analyse pour définir les besoins de « haut niveau » du système.
Les acteurs humains qui utilisent le système sont les suivants : Agent, Administrateur et Client.
Lorsque le cas d’utilisation est lié à un acteur humain, cela signifie que cet acteur a besoin d’interagir avec le système. Il faut donc lui associer une interface graphique (IHM). Le client utilise le navigateur Web pour accéder au système informatique, alors que les employés et les administrateurs utilisent une application classique déployée sur leurs postes.
Dans le cas où l’acteur serait la base de données il n’y a pas d’interfaces graphiques. Les systèmes communiquent entre eux en échangeant des données.
Les diagrammes des cas d’utilisation se présente comme ci-dessous. Selon chaque acteur.
Premier acteur : Client
Le fonctionnement du premier acteur « Client » est basée sur une architecture de type 3-tiers ou le client utilise une page Web dynamique pour réaliser ses opérations. Un serveur Web qui intègre un conteneur de Servlets vient s’intercaler entre l’IHM et la base de données. Ce modèle présente l’avantage d’intégrer dans cette couche un contrôle d’accès.
La figure suivante, représente le diagramme de cas d’utilisation (Acteur client).
Figure III.2 : Diagramme de cas d’utilisation (Acteur client).
Dans ce qui suit, nous présenterons quelques cas d’utilisations.
• Cas d’utilisation « Désactiver un compte »
Le système propose au client de supprimer le compte ou de l’annuler. Dans le cas de la suppression, le système doit attendre une confirmation de l’administrateur avant de le supprimer définitivement.
• Cas d’utilisation « Créer un nouveau client non valide »
Permet à un client de s’inscrire dans le système s’il n’existe pas , et pour cela le système lui demande alors de remplir ses coordonnées et ses informations personnels et même les informations concernant son nouveau compte comme libellé, type et solde.
Les éléments caractérisant un client sont les suivants :
• Prénom et nom de famille.
• Date de naissance.
• Numéro de téléphone où l’on peut joindre le client ainsi que son adresse mail.
• Adresse postale.
• Cas d’utilisation « Consulter le compte »
Permet à un client de consulter son compte en affichant ses information comme le la date de création, solde, type…etc.
• Cas d’utilisation « Effectuer un virement »
Permet d’afficher au client les cordonnées du compte comme le solde, le code du compte et le libellé puis lui donne la main de choisir le compte à créditer qui est soit l’un de ses comptes ou bien un compte d’un autre client et de saisir le montant à virer et le libellé du virement après la validation, le système va vérifier les conditions du virement.