Université Alioune Diop de Bambey UFR SATIC / Département TIC Projet Java avancé 2020 Licence 3 SRT / Pr A. D. GUEYE TITRE : Gestion assurance automobile Délai de livraison : Le 20 Août 2021 à 19h00 au plus tard à l’adresse [email protected] – délai de rigueur. GROUPES : le projet peut être réalisé par groupes de deux étudiants au plus. Chaque étudiant devra être en mesure d’expliquer l’intégralité du code de l’application ainsi que les différents choix opérés. SOUTENANCE : Les projets seront présentés et soutenus en ligne le 21 Août 2021. A. Description du projet Ce projet permet aux étudiants d’apporter leur contribution dans la mise en place d’une application d’assurance automobile qui peut être utilisée par la Fédération Sénégalaise des Sociétés d’Assurances (FSSA) qui est une association professionnelle des sociétés professionnelles. Elle est composée de plusieurs compagnies d’assurance. Ce projet offre la possibilité aux étudiants de réaliser une interface permettant à un apporteur d’affaires de : - souscrire des assurés, - tirer des bordeaux, - faire le suivi et le rappel les assurances devant exprirer dans un mois, - générer l’état de la caisse L’apporteur d’affaires est surnommé courtier ou vendeur d’assurance automobile. Il travaille en étroite collaboration avec un superviseur d’assurance qui est son supérieur hiérarchique. B. Modélisation fonctionnelle • Acteurs : Administrateur, superviseur, apporteur d’affaires, assuré (client inscrit dans la carte grise), chauffeur. • Règles de gestion : Les règles de gestion régissent la cohérence et l'intégrité des données manipulées. Leur énumération est très importante pour la conception de la structure de la Base de Données et l'identification des cardinalités et des contraintes d'intégrité au niveau du Schéma Conceptuel de Données. A propos de l’administrateur : RG1 : L’administrateur gère et souscrit dans le système les apporteurs d’affaires et les superviseurs et la compagnie d’assurance reconnue par la fédération. RG2 : Il génère un modèle de talon (talon jaune ou vert) en fonction du type de véhicule assuré. Chaque talon comporte un numéro d’assurance fourni par la fédération et un numéro de police fourni par le superviseur ; et d’autres informations de la carte grise Le talon jaune est pour les voitures de : − catégorie 1 : voiture particulière − catégorie 2 : camion, camionnette − catégorie 3 : Transport marchandise Le talon vert est pour les voitures de catégorie 4, c’est à dire les transports en commun : taxi, Bus tata, bus Dem Dik 1 A propos du superviseur : RG3 : Le superviseur est le supérieur hiérachique direct de l’apporteur d’affaires. Il établit le contrat avec un apporteur d’affaires Il supervise et vérifie l’état de la caisse fait par l’apporteur d’affaires RG4 : Le superviseur remonte les contrats à la compagnie d’assurance qui se charge de la validation des contrats. A propos de l’apporteur d’affaires : Par définition un apporteur d’affaires assurance est un professionnel qui joue le rôle d’intermédiaire entre le particulier ou la société et une compagnie d’assurance L’apporteur d’affaires est en quelque sorte un vendeur d’assurance et possède le statut de commerçant. On l’appelle aussi courtier d’assurance. Tout apporteur d’affaires doit avoir un ninéa et remplir les conditions établies dans le contrat d’assurance avec le superviseur Il travaille en étroite collaboration avec son superviseur et le rend compte RG5 : Il souscrit les clients et délivre les assurances (talon vert ou jaune) en fonction des informations de la carte grise. A propos des souscriptions de contrat d’assurance RG6: Un apporteur d’affaires peut souscrire à un ou plusieurs contrats d'assurance mais une souscription est faite par un et un seul apporteur. RG7: Un contrat d'assurance automobile est adressé à une et une seule compagnie d'assurance mais celle-ci peut en recevoir plusieurs. RG8 : Une souscription automobile peut couvrir un ou plusieurs véhicules, chaque véhicule ayant un certain nombre de garanties. Dans ce cas tous les véhicules couverts par la même souscription ont une même police d'assurance. RG9 : Une souscription porte sur une opération bien précise: affaire nouvelle, incorporation, ajout ou retrait de garanties, résiliation de contrat. RG10 : Une souscription Risques Divers couvre des biens diverses ou des personnes (cas des assurances de personne). Chaque bien est assuré pour un certain nombre de garanties. RG11: Certaines souscriptions sont à tacite renouvellement c'est-à-dire qu'elles sont automatiquement renouvelées à leur échéance si toutefois le client ne se manifeste pas pour une autre opération concernant la souscription. RG12 : Une souscription peut bénéficier d'une réduction ou faire l'objet d'une majoration A propos de la souscription d’un client RG13 : L’apporteur d’affaires souscrit le client en fonction des informations de la carte grise. La souscription se fait une interface telle que présentée dans section C dans le module affaire nouvelle. A propos des primes et des commissions R14 : Toute souscription autre que la résiliation du contrat donne lieu au paiement d'une prime total d'assurance TTC. Comment est calculé le tarif total d’une assurance automobile ? - La prime de base est calculée en fonction de la catégorie de voiture et la puissance moteur. Mais dans ce projet, on suppose que la prime de base est 51452 FCFA pour les voitures de catégorie 1 (particuliers) et de 61000FCFA pour les voitures de catégorie 4 (transport en commun). 2 - La garantie responsablilité civile RC est une garantie obligatoire fixée par l’Etat. Elle se calcule comme suit: RC= prime de base * 80%. Les 80% representent le taux donné par la fédération - La Responsablilité Civile Mensuelle RCM comme suit : RCM=RC*taux mois*nbre de mois. Le client peut grantir sa voiture selon un nombre de mois. On suppose que pour un mois le taux mois est égal 8,75%. - Pour la prime nette, il faut comprendre que le prime est large : le vol, l’incedie, le tout risque sont contenus dans le prime nette. Ici pour simplifier, la prime nette=RCM. - Les taxes sont fixés par l’état et se calculent : Taxe= Prime nette + coût de police*10%. Le coût police est fixé par exemple à 3000FCFA - La prime total ou (TTC) est obtenue en ajoutant à la prime nette, les taxes, les frais et le fonds de garantis TTC=prime nette+frais+taxe+fonds de garantie - Le fonds de garantie=RCM*2,5% - Les frais peuvent varier entre entre 1000 et 6000 selon le nombre de mois. Les réductions s’appliquent sur les frais et il peut y en avoir. - Les commissions (pour les apporteurs d’affaires) sur chaque vente se calculent comme suit : Commissions =prime nette*18% A propos des véhicules assurés : RG15: Un véhicule possède une et une seule marque, un et un seul genre et appartient à un et une seule catégorie. C. Comment doit se présenter l’application Toutes les informations seront directement disponibles sur l’interface du logiciel. Cette application aura entre autres les catégories d’utilisateurs listées ci-dessous. Ce logiciel comportera entre autres les quatre modules suivants : − Le module ASSURANCE − Le module BORDEREAUX − Le module EXPIRATIONS − Le module CAISSE 1. Le module Assurance Ce module comporte le menu suivant : - Affaire nouvelle : Ce menu permet de souscrire un abonné (un assuré) à partir des informations la carte grise. On commencera par préciser le type de production qui peut être « talon vert ou talon jaune » selon le type d’assurance et le nom de l’opérateur (vendeur d’assurance). Les informations de la carte grise dont vous aurez besoin sont : nom de l’assuré, adresse, genre (ou type de voiture), marque, immatriculation, numéro police, numéro attestation, date effet, date échéance, heure de début de l’assurance, le nombre de mois, énergie (essence ou super), force fiscale ou puissance moteur (nombre de CV), nombre de places, téléphone. On doit pouvoir calculer le montant à payer par l’assuré à partir de la prime nette, de la taxe et la valeur de l’objet assuré (puissance moteur, tonnage, etc.). A partir, de la somme facturée, on peut accorder une diminution pour obtenir une nouvelle somme dénommé somme encaissée. On doit pouvoir valider et imprimer une assurance. 3 La date de rappel doit automatiquement être déterminée suivant les informations entrées - Liste des assurés donne la liste des assurés avec les colonnes suivantes : opérateur, Numéro attestation, numéro police, assuré, Immatricule. On doit aussi pouvoir à partir de cette interface aller dans affaire nouvelle ou faire un renouvellement, ou faire un duplicata, ou modifier, ou faire un transfert de nom, ou supprimer ou fermer, ou imprimer un bordereau. - Historique : donne l’historique des assurés avec les colonnes suivantes : attestation, police, assuré, adresse, genre (voiture particulier ou non). On doit aussi à partir de cette fenêtre pourvoir modifier, supprimer, imprimer - Liste des polices attribuées : donne la liste des polices attribués 2. Le module Bordeaux − Le bordereau HORSPOOL : on doit pouvoir imprimer ou supprimer un bordereau. Les colonnes sont : attestation, police, assuré, Immat, effet, écheance, prime nette, prime total, commission. − Le bordereau TPV 3. Le module Expirations Ce module comporte le menu suivant : − Expiration mensuelle : On doit pouvoir sélectionner un mois, et lister les personnes dont leur assurance se terminent durant ce mois. Les colonnes : Immat, assure, police, début, heure, échéance, chauffeur, téléphone 4. Le module CAISSE Ce module comporte le menu suivant : − Etat Caisse : Il d’abord définir la période prédéfinie. Les colonnes : libellé, entrée, sortie, date opération, bureau, opérateur Le module « gestion des assurés » : ce module contient les sous modules suivants : liste des assurés, historique des assurés, liste des polices attribuées. Le module « gestion des souscriptions d’assurance » permet d’inscrire des utilisateurs dénommés assurés Le module « gestion des primes et des commissions d’assurance » Pour tous les utilisateurs du système, l’accès à l’application devra se faire par une authentification gérée par l’administrateur. Forme de l’interface : Techniquement, l’application devra être conçue sous forme d’une seule fenêtre (JFrame) divisée logiquement avec un gestionnaire de positionnement adéquat en trois zones représentant chacun un panneau : − Une première zone (ZoneHaut) devant accueillir le menu principal de l’application avec un bouton pour chaque fonctionnalité du module : − Une seconde zone (zoneMilieu) servant d’espace de travail : c’est cette zone qui selon le bouton actif doit fournir l’interface adéquate à l’utilisateur final lui permettant de saisir ou d’afficher des informations selon le cas. − Une troisième zone (zoneBas) fournissant une zone de texte (JTextArea) non éditable pour afficher les événements internes correspondant à des messages d’erreurs (Exemple : erreur de connexion à la base de données, table vide, enregistrement /suppression/modification bien ou mal effectué, etc.) Selon les besoins d’affichage, chacun de ces trois panneaux devra lui-même être divisé en d’autres sous panneaux à l’aide des gestionnaires FlowLayout, BorderLayout, ou GridLayout. 4 L’idée globale est d’afficher la fenêtre avec trois subdivisions, si l’utilisateur fait un clic sur un bouton de zone haut, une méthode gestionnaire d’événements : − Identifie l’origine de l’événement, − Divise le panneau zoneMilieu en un nombre de sous-panneaux nécessaires à l’aide des gestionnaires de positionnement précités. − Met du contenu à chaque sous panneau créé, − Affiche toutes les notifications nécessaires à l’utilisateur sur zoneBas depuis le début de l’exécution du programme (à l’aide par exemple de la méthode d’instance append( ). La recherche d’un mot clé peut se faire en utilisant un objet de la classe java.util.StringTokenizer dont une utilisation est illustrée par le bout de code ci-après : StringTokenizer jetons = new StringTokenizer(chaineADecouper); While(jetons.hasMoreTokens( )) System.out.println(jetons.nextToken( )); Ce bout de code permet d’afficher tous les mots constituant une chaine de caractères sur des lignes différentes de la sortie standard. La fenêtre de l’application doit avoir une taille fixée, des barres de défilement pourront être ajoutées aux composants JPanel, JTextArea, etc, chaque fois que c’est nécessaire ; cela peut se faire à l’aide de la classe javax.swing.JScrollPane dont le constructeur JScrollPane( Component c1) retourne un composant correspondant à c1 avec des barres de défilement. D. Travail à faire − Faire le diagrame du modéle conceptuelle de traitements (MCT) du sytéme − Faire le diagrame du modéle conceptuelle de données (MCD) du sytéme − Faire le diagrame du modéle logique de données (MLD) du sytéme − A partir du modèle logique de données obtenu (MLD), créer la base de données correspondante sous MySQL. − A l’aide des SWING, implémenter les différents modules du programme JAVA. Ce dernier va interagir avec la base de données MySQL générée. E. Livrable Les étudiants doivent rendre : 1. Une présentation PowerPoint, qui devra être exposée devant toute la classe pour présenter votre travail et faire une démonstration de votre application, le tout en 15mn. 2. Un document word, qui présente la modélisation. Cette modélisation peut se faire avec Merise ou UML. 3. Deux fichiers : o Un fichier sous le format d’archive java correspondant au projet créé sous Eclipse ou Netbeans, avec les sous-dossiers src, bin, et doc correspondant respectivement aux sources, exécutables, et à la documentation du projet, et un fichier Mabase.sql correspondant aux données de test de votre base de données. o Un fichier exécutable (.jar) devra pouvoir être exécuté sans aucune configuration spéciale. BONNE CHANCE 5