WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Elaboration d'une application de la méthode Activity Based Costing utilisant les technologies XML

( Télécharger le fichier original )
par Jean Mairesse
ULB - Master Informatique et sciences humaines 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre 4. Modélisation ERD et hiérarchique.

En cette partie consacrée à la modélisation, nous devons transposer la description technique de la méthode Activity Based Costing en concepts XML, servant de base à la création du document XML reprenant les informations ABC.

Nous l'avons déjà évoqué: XML a une structure hiérarchique.

La modélisation des données se fera à l'aide d'un Entity Relationship Diagram (ERD), que nous transformerons ensuite en modèle hiérarchique.

Modèle E ntity Relationship Diagram.

Nous représentons les données et les relations qui les lient au moyen d'un modèle Entity Relationship Diagram (ERD).

Nous créerons des tables et attributs nécessaires; un attribut ayant un rôle index et noté « id_ ... » sera créé pour chaque table.

Nous prenons comme convention de ne pas utiliser, tant pour nommer les tables que les attributs , ni de majuscules, ni d'accent, qui sont sources de confusions et erreurs dans le développement informatique de ce travail.

L'application ABC que nous avons proposée met en oeuvre des charges directes, des charges indirectes, des regroupements en familles de coûts, et des activités.

Nous pouvons créer les tables correspondantes, soit: « charge_directe », « charge_indirecte », « famille_cout » et « activite ».

Les quatre tables que nous venons de définir peuvent prendre les attributs suivants:

table « charge_directe »: « id_charge_d », « montant_dir_htva_impute », « quantite » table « charge_indirecte »: « id_chargeindirecte », « montant_htva_impute »

table « famille_cout » : « id_famille », « nom_famille »

table « activite » : « id_activité », « nom_activite », « unite_oeuvre »

Nb. « htva » que nous trouvons pour les attributs « montant_dir_htva_impute » et « montant_htva_impute » signifie « hors TVA ».

La relation comptable entre charge indirecte et famille de coût étant articulée autour des postes du pcmn, nous créons également une table « pcmn » dont les attributs seront le code pcmn (6 chiffres) et l'intitulé correspondant.

table « pcmn » : « id_pcmn », « intitule »

Ces quatre tables, nous permettent d'inscrire et regrouper les données comptables.

D'autres tables seront dédiées à l'utilisation de ces données comptables de départ, que nous devons répartir au sein de commandes passées par des clients à l'entreprise.

Pour ce, comme évoqué plus haut, nous devons effectuer des mesurages au fil du déroulement du processus de l'entreprise afin de répartir nos coûts d'activités.

Il convient donc de créer une table « commande », une table « mesurage », et une table « client ».

table « commande » : « id_commande », « descriptif », « chiffre_affaire » table « client » : « id_client », « nom » et « adresse »

Les tables de relation.

Nous devons établir des relations entre ces tables de base du système.

C'est-à-dire une relation entre « pcmn » et « charge_indirecte », entre « charge_indirecte » et

« famille_cout », entre « famille_cout » et « activite », entre « activite » et « commande », entre « client » et « commande », entre « charge_directe » et « commande », entre « charge_directe » et « pcmn ».

Relation des tables « chargeindirecte » et « pcmn ».

Ces deux tables ont une relation de N à M ou plusieurs à plusieurs.

Nous désignons par le terme « charge indirecte » une pièce comptable contenant une charge indirecte.

Plusieurs destinations d'imputation sont possibles pour une même pièce: un même fournisseur peut reprendre au sein de la même facture des articles que nous destinons à des imputations différentes.

Nous créons la table de relation « imputation » .

La table « imputation » comprendra les attributs suivants:

table « imputation »: « id_imputation », « id_charge_indirecte », « id_pcmn_imputation », « montant_htva_impute ».

« id_imputation » est l'identificateur propre de la table « imputation », deux attributs sont les identificateurs des deux tables que nous mettons en relation: « id_charge_indirecte » et

« id_pcmn_imputation », le dernier attribut est le montant hors TVA imputé.

Relation des tables « pcmn » et « famillecout ».

La relation entre ces deux tables est également de N à M.

Une Famille de coûts est constituée de un ou plusieurs postes pcmn intervenant en proportions différentes dans le calcul de sa valeur finale.

Un poste pcmn peut être intégré dans une ou plusieurs familles.

La table « composition_famille » sera la relation entre les tables « pcmn » et « famille_cout ».

Elle aura pour attributs:

table « composition_famille »: « id_compofam », « id_famille », « id_pcmn_fam », « proportion_cf »

Nous avons utilisé des abréviations: « id_compofam » pour id_composition_famille ,

« id_pcmn_fam » pour id pcmn (dans famille_cout), et « proportion_cf » pour proportion cout famille.

L'attribut « proportion_cf » contiendra la valeur de répartition d'un poste pcmn intervenant dans

plusieurs familles.

Si un poste pcmn est repris intégralement dans le calcul du coût d'une famille, l'attribut sera 1. Si il intervient pour 67%, l'attribut sera de 0.67 .

1-N

charge_directe id_commande id_charge_d mont_dir_htva_impute id_pcmn_directe

pcmn
id_pcmn
intitule

imputation id_imputation id_charge_indirecte id_pcmn_imputation montant_htva_impute

charge_indirecte id_chargeindirecte id_pcmn

montant_htva_impute quantite

1-M

1-N

1-N

1-N

composition_famille id_compofam id_famille

id_pcmn_fam proportion_cf

client id_client nom_client adresse

commande id_commande descriptif id_client chiffre_affaire

1-N

1-M

1-M

composition_activite id_compoact id_activite

id_famille_kout proportion_famille

activite id_activite nom_activite unite_oeuvre

mesurage id_mesurage id_activite id_commande date

quantite unite_oeuvre

famille_cout
id_famille_cout
nom_famille

1-M

1-N

1-N

Relation des tables « famillecout » et « activite ».

La relation entre ces deux tables est de N à M.

Une famille de coûts peut être composante de une ou plusieurs activités , qui elle peut inclure une ou plusieurs familles de coûts.

Exemple: l'activité production inclus la famille7: outil et production et la famille4: formation documentation.

La table « composition_activite » sera la relation entre les tables « famille_cout » et « activite ». Les attributs en seront:

table « composition_activite »:« id_compoact », « id_activite ». « id_famille_kout », « proportion ».

L'abréviation « id_compoact » est pour id_composition_activite.

Comme précédemment, cet attribut « proportion » permet de fixer la proportion d'intervention

d'une famille de coûts au sein d'une activité. Relation des tables « activite » et « commande ».

Une commande peut mettre en oeuvre une ou plusieurs activités, une activité est utilisée par une ou plusieurs commande, ce qui implique une relation de N à M.

La table de relation que nous utiliserons sera utilisée pour effectuer les mesurages d'unités d'oeuvre des différentes activités nécessaires à l'analyse ABC.

Ce sera la table « mesurage », comportant les attributs:

table « mesurage »: « id_commande », « id_activite », « id_mesurage », « date », « unite_oeuvre », « quantite ».

Les champs « id_commande », « id_activite » sont des champs de relation. Relation des tables « client » et « commande ».

Ces deux tables ont une relation de 1 à N.

Un client peut passer une ou plusieurs commandes, une commande correspond à un seul client. La relation s'établira en incluant l'identificateur de client au sein de commande.

La table « commande » devient:

table « commande »: « id_commande », « descriptif », « id_client », « chiffre_affaire »

Relation des tables « chargedirecte » et « commande ».

Ces deux tables ont une relation de 1 à N.

Une commande peut se voir imputer plusieurs charges directes, une charge directe est imputée à une seule commande.

La relation est établie en incluant l'identificateur de la commande dans la table charge_directe.

Relation des tables « chargedirecte » et « pcmn ».

Ces deux tables ont une relation de 1 à N.

Un poste pcmn correspond à une seule charge directe; une charge directe peut recevoir plusieurs attributions pcmn.

Nous incluons l'identificateur du poste pcmn que nous appelons « id_pcmn_directe » La table « charge_directe » devient:

table « charge_directe »: « id_charge_d », « id_commande », « id_pcmn _directe », « montant_dir_htva_impute », « quantite »

Nb. Dans quelques cas, nous avons choisi de modifier le nom de l'attribut comme par exemple « id_pcmn_directe » qui est dans la table « pcmn » id_pcmn et dans la table

« composition_famille »: « id_pcmn_fam.

Cela ne modifie en rien la valeur de l'attribut, et nous permettra dans la suite de ce travail de pouvoir distinguer les trois attributs.

Modélisation hiérarchique.

Comme nous l'avons évoqué plus haut, XML propose une représentation hiérarchique des données, qui forme un arbre XML.

Un élément racine est le point de départ obligatoire d'une modélisation hiérarchique. Nous ne disposons pas parmi les tables du modèle ERD que nous venons de développer, d'élément racine (ou parent) de tous les autres éléments (tables).

Nous créons cet élément: « ABC » (en majuscules exception faite pour l'élément racine) qui sera un élément vide.

charge_indirecte id_chargeindirecte montant_htva_impute id_pcmn

famille_cout id_famille_cout nom_famille

ABC

client

id_client

nom_client
adresse

commande id_commande descriptif

id_client chiffre_affaire

activite

id_activite nom_activite unite_oeuvre

imputation id_imputation id_chargeindirecte id_pcmn_imputation montant_htva_impute

pcmn
id_pcmn
intitule

composition activite id_compoact id_activite

id_famille_kout proportion_famille

charge directe id_commande id_charge_d id_pcmn_imput mont_dir_htva.. quantite

mesurage id_mesurage id_activite id_commande date

quantite uniteoeuvre

composition famille id_compofam id_famille id_pcmn_fam proportion_cf

Le premier élément hiérarchiquement sous la racine « ABC » est la table « client ».

Au niveau hiérarchique suivant se trouvent les quatre tables principales de notre travail, « charge_indirecte », « commande », « famille_cout » et « activite ».

Elles sont descendantes de « ABC », sauf la table « commande » qui est enfant de « client ». Elles se positionnent comme élément parent des tables de relation que nous avons créées dans le modèle ERD.

« charge_indirecte » est parent de « imputation »: à une « chargeindirecte » correspond 1 où N instances d' « imputation ».

« commande » est parent de « mesurage »: à une « commande » correspond 1 où N instances de « mesurage ».

« commande » est également parent de « charge_directe »: à une « commande » correspond 1 où N instances de « charge_directe ».

« famille_cout » est parent de « composition_famille »: à une « famille_cout » correspond 1 où N instances de « composition_famille ».

« activite » est parent de « composition_activite »: à une « activite » correspond 1 où N instances de « composition_activite ».

Eléments à parents multiples.

Notre représentation hiérarchique ne serait pas complète sans les éléments ayant des parents multiples.

ABC

client

id_client

nom_client adresse

charge_indirecte id_chargeindirecte montant_htva_impute id_pcmn

commande id_commande descriptif id_client chiffre_affaire

famille_cout id_famille_cout nom_famille

activite

id_activite nom_activite unite_oeuvre

imputation id_imputation id_chargeindirecte id_pcmn_imputation montant_htva_impute

charge_directe id_commande id_charge_d id_pcmn_imput mont_dir_htva.. quantite

mesurage id_mesurage id_activite id_commande date

quantite uniteoeuvre

composition_famille id_compofam id_famille id_pcmn_fam proportion_cf

composition_activite id_compoact id_activite id_famille_kout proportion_famille

pcmn
id_pcmn
intitule

Il s'agit des trois tables descendantes de plus de une table.

Nous voyons que « composition_activite » a pour parent « activite » comme nous venons de le voir, mais également « famille_cout »: à une « famille_cout » correspond 1 où N instances de

« composition_activite ».

La table de relation « mesurage » est descendante de « commande » et « activite ».

Enfin, au dernier rang hiérarchique, la table « pcmn » est une table enfant à la fois d'« imputation » « charge_directe » et de « composition_famille ».

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Qui vit sans folie n'est pas si sage qu'il croit."   La Rochefoucault