REALISATION D'UN LOGICIEL DE COMPTABILITE A. Introduction L'objectif est de "te

REALISATION D'UN LOGICIEL DE COMPTABILITE A. Introduction L'objectif est de "tester" l'utilisation de la notation UML et d'un processus unifié pour la réalisation d'une application de gestion. L'application choisie est simple et possède toutes les caractéristiques "classiques" du domaine : interface utilisateur, entités persistantes, traitements (calculs et édition d'états)… Cette application a déjà été réalisée "classiquement" à l'aide d'access (version disponible sur le site du certa). Il sera sans doute intéressant de comparer les deux versions. L'idée de base est de faire simple pour commencer : un seul utilisateur (le comptable) utilise une application (compta) pour tenir la comptabilité de son entreprise. L'environnement technique est monoposte, mais l'application devrait pouvoir être déployée en deux ou trois niveaux (application distribuable). Le processus utilisé tente de s'inspirer fortement de 2TUP décrit par Pascal ROQUES et Franck VALLEE dans "UML en action" chez Eyrolles. Les outils utilisés sont DELPHI 5 et INTERBASE 6. L'application a été réalisée en trois itérations successives, seule la première sera entièrement décrite ici. L'application fournie correspond par contre au résultat final. B. Capture des besoins 1. Besoins fonctionnels Les fonctionnalités attendues sont les suivantes : - Saisie du plan de comptes - Saisie des écritures - Edition du journal, du grand livre et de la balance à tout moment - Edition du compte de résultat et du bilan à tout moment - Gestion des opérations de fin d'exercice (écritures de regroupement, réouverture des comptes) Diagramme de contexte Pierre Loisel Logiciel de comptabilité Page 1/17 Diagramme des cas d'utilisation Gestion du plan de comptes Ce cas d'utilisation permet au comptable d'ajouter, de modifier ou de supprimer des comptes du plan de comptes de l'entreprise. Scénario : le comptable saisit le compte Banque (n° 512). Le logiciel enregistre ce nouveau compte. Saisie des écritures Il s'agit de saisir (modifier, supprimer) les écritures comptables. Scénario : le comptable enregistre une écriture correspondant au règlement d'un client (2 000 F par chèque). L'écriture porte le numéro 124, est datée du 15/12/2000, et a pour libellé "Chèque client n° 12458956, bordereau de remise n° 78945". Cette opération comporte deux lignes : crédit de 2 000 F du compte 41101 (client Dubois), débit de 2 000 F du compte 512 (Banque). Consultation Le comptable peut consulter l'ensemble des informations saisies (plan de comptes et écritures). De plus, il peut à tout moment : - imprimer le journal comptable, - consulter le grand-livre à l'écran, - imprimer une balance des comptes, un compte de résultat ou un bilan provisoire. Pierre Loisel Logiciel de comptabilité Page 2/17 Travaux de fin d'exercice Les travaux de fin d'exercice comprennent les tâches séquentielles suivantes : - Edition d'une balance avant résultat. - Edition du compte de résultat. - Passation des écritures de regroupement (cette phase permet de "vider" les comptes de charges et de produits et de renseigner le compte de résultat ). - Balance après calcul du résultat : seuls les comptes de bilan (actif et passif) apparaissent. - Edition du bilan. - Réouverture des comptes. 2. Besoins techniques L'application doit prendre appui sur un SGBDR pour la gestion des données. Il s'agit d'une application mono- utilisateur, mais elle doit être distribuable de manière à supporter l'évolution vers une architecture à deux ou trois niveaux. PREMIERE ITERATION Cette première itération se contentera d'implémenter les deux premiers cas d'utilisation : "gestion du plan de comptes" et "saisie des écritures". A. Analyse 1. Diagramme de classes (version 1) Le type de compte permet de distinguer les comptes d'actif, de passif, de charge et de produit. Pierre Loisel Logiciel de comptabilité Page 3/17 2. diagrammes de séquence Cas d'utilisation Gestion du plan de comptes Le comptable fournit au système le numéro, l'intitulé et le type du compte à créer. Cas d'utilisation Saisie des écritures Le comptable fournit le numéro, la date et le libellé de l'écriture. Il indique également le montant et le sens (débit, crédit) de chaque mouvement porté sur un compte. Le système vérifie la cohérence de l'écriture (somme des débits = somme des crédits). Pierre Loisel Logiciel de comptabilité Page 4/17 3. Diagramme de classes (version 2) Les diagrammes de séquences détaillant les deux cas d'utilisation choisis pour la première itération permettent d'enrichir le diagramme de classes. B. Conception générique Cette phase permet de "trouver la solution technique" : quelle architecture utiliser pour l'application afin de respecter les besoins techniques ? L'intérêt de cette question est surtout de pouvoir réutiliser le travail correspondant pour toute application future ayant les mêmes besoins techniques. L'étude d'une solution technique d'implémentation est présentée dans le document joint "implementation.doc". C. Conception 1. Etude du déploiement La solution de déploiement est vite trouvée : une application utilisateur sur le poste de travail du comptable. Le SGDBR sera hébergé sur un serveur d'applications ou sur le poste du comptable, ceci est totalement transparent. Par contre, le caractère distribuable de l'application permet toutes les évolutions. 2. Interface utilisateur Outre un menu général, cette première itération comporte deux écrans : - Menu général : Le bouton "Plan de comptes" permet d'ouvrir la fiche "Saisie des comptes". Pierre Loisel Logiciel de comptabilité Page 5/17 Le bouton "Ecritures" permet d'ouvrir la fiche "Saisie des écritures". - Saisie des comptes : - Saisie des écritures : Pierre Loisel Logiciel de comptabilité Page 6/17 3. Diagramme de classes (version 1) - Les classes préfixées par "TF" correspondent à des interfaces utilisateur (Fiches). On retrouve donc TF_Compte et TF_Ecriture. - Les classes préfixées par "TC" représentent des objets contrôleurs qui encapsulent la logique du traitement. - Les classes préfixées par "TE" correspondent aux tables du SGDBR. 4. Diagrammes de séquence Saisie d'un compte Ce diagramme révèle l'existence de la méthode "ajout" dans la classe TC_Compte. Saisie d'une écriture (Voir diagramme page suivante). - Ce diagramme montre les choix opérés en ce qui concerne la répartition des rôles. - Les classes interface n'ont qu'un seul objet (bien que l'on puisse concevoir que l'utilisateur ouvre deux fois la fiche, et créé ainsi deux objets). - Les classes contrôleur peuvent avoir plusieurs objets car elles peuvent être utilisées par plusieurs classes interface différentes. - Le diagramme met en évidence le fait que le contrôleur d'écriture doit mémoriser le numéro de l'écriture en cours. Ce contrôleur conserve d'ailleurs en permanence un accès à l'écriture courante. Cette solution permet de traiter de la même manière la modification d'une écriture (effectuée après une recherche par exemple). - D'une manière générale, tout objet "contrôleur d'entité" (cas particulier d'un objet contrôle) doit posséder un accès à la table correspondante (composant dataset intégré à l'outil de développement). Pierre Loisel Logiciel de comptabilité Page 7/17 Pierre Loisel Logiciel de comptabilité Page 8/17 5. Diagramme de classes (version 2) Ces deux diagrammes de séquence permettent de compléter le diagramme de classes : Remarques : - la méthode "montant" de la classe Mouvement (analyse) a disparu. - Chaque classe contrôleur possède un accès à la table correspondante, cet accès est simplement matérialisé par l'association. 6. Diagramme de classes (version 3) L'étude des autres scénarios des cas d'utilisation permettrait de dégager d'autres méthodes pour les classes contrôleur : modifier(…), supprimer()… Cependant, ces méthodes (ainsi que l'ajout) seront réalisées de manière totalement transparente par un objet navigateur intégré à l'outil de développement. Leur présence sur le diagramme n'a donc pas grand intérêt. Après cette simplification, on obtient le diagramme de classes présenté page suivante. Pierre Loisel Logiciel de comptabilité Page 9/17 Remarques : - Dans la classe TC_Ecriture, "valide" est une méthode et non une donnée, même si mon AGL ne permet pas de faire la différence ici. - Le lien entre TF_Ecriture et les deux classes contrôleur sera réalisé par un ensemble de contrôles orientés données (dans TF_Ecriture) connecté à une source de données (dataset) dans chacune des classes contrôleur. - Le lien entre les classes contrôleur et les classes "TE_…" (qui correspondent à des tables relationnelles) sera assuré par la présence d'une source de données (dataset) dans les classes contrôleur, cette source "pointant" sur la table correspondante. Pierre Loisel Logiciel de comptabilité Page 10/17 D. Réalisation 1. Base de données relationnelle COMPTE (numéro, intitulé, type) ECRITURE (numéro, date, libellé) MOUVEMENT (écriture#, compte#, débit, crédit) Cette base de données représente l'implémentation des classes E_Compte, E_Ecriture et E_Mouvement. Cette base peut être créée à l'aide du script ci-dessous : drop database; set sql dialect 1; create database "e:\documents\uml\compta\comptabilite.gdb" user "SYSDBA" password "masterkey"; create table compte ( numCpte varchar(10) not null, intituleCpte varchar(50), typeCpte smallint, primary key(numCpte) ); create table ecriture( numEcr integer not null, dateEcr date, libelleEcr varchar(50), primary key(numEcr) ); create table mouvement( numEcr integer not null, numCpte varchar(10) not null, debit decimal(10,2) not null, credit decimal(10,2) not null, primary key(numEcr,numCpte), foreign key(numEcr) references ecriture(numEcr), foreign key(numCpte) references compte(numCpte) ); create generator genEcrId; set generator genEcrId to 0; set term ^; create procedure idNouvelleEcr returns (idNew integer) as begin idNew=gen_id(genEcrId,1); end^ set term ;^ set term ^; Pierre Loisel Logiciel de comptabilité Page 11/17 create procedure sommeDebitEcr(ecr integer) returns (val decimal(10,2)) as begin select sum(debit) from mouvement where numEcr=:ecr into :val; end^ set term ;^ uploads/Finance/ uml-compta.pdf

  • 39
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jui 20, 2021
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 0.1965MB