Bon. C'est parti.
1er point : j'aime bien un tout petit topo sommaire de qui est l'utilisateur final (même si c'est toi ) ? donc :
OK, mais études de mûrissement de bananes ou études de béton pour le génie civil ?Envoyé par Serge57
Je ne demanderai jamais de rien révéler qui soit confidentiel, mais juste assez pour parler d'entités claires (y a quoi dans une affaire, ou une étude ?). Ça peut beaucoup changer le paysage quand on rentrera dans les détails.
Et puis, une des parties les plus intéressantes du métier de développeur, c'est d'apprendre comment fonctionnent des dizaines de métiers différents, qu'il faut qu'on comprenne pour pouvoir les "traduire en langage machine".
À ce stade, je tique sur le terme commandes. Si on parle de commandes, c'est à dire des affaires non encore signées, il va falloir parler de contrat, d'une date de signature à partir de laquelle la commande devient une affaire "signée", etc.1 - les affaires (commandes en études),
Si, par contre, on ne s'intéresse (c'est mon impression dans ce que je lis par ailleurs) qu'au suivi de la réalisation d'affaires déjà signées, faut oublier le terme commandes.
Désolé, je pinaille, mais dans une étude, faut parfois revoir chaque mot 10 à 20 fois avant de trouver le bon, et qu'il n'y ait aucune ambigüité.
En clair, on va parler de commandes ou pas ? Si oui, on verra ensuite les détails, mais seulement : attention à chaque mot.
Ça, désolé, c'est clairement 2 choses tout à fait distinctes :1 - Toutes affaires a un client, par contre elles peuvent avoir des heures allouées pour différentes sections.
1 - Toute affaire a un client,
2 - Toute affaire peut avoir des heures allouées pour différentes sections.
Il y a clairement 2 relations. Au moins.
Donc, faut continuer, dans le désordre :
2 - Toute affaire peut avoir des heures allouées
3 - Toute affaire peut avoir ?/ a ? différentes sections.
4 - Toute section peut avoir ?/ a ? des heures allouées ?
etc.
ou autre chose de plus représentatif... ?
Ensuite, reprenons la 1ère proposition, parce que, rien que cette petite phrase là, si tu ne vas pas jusqu'au bout, va t'entraîner dans une structure berzerk :
1 - Toute affaire a un client, (ce qui implique : ni 0, ni plusieurs)
Si tu dis ça, ça se traduira en concret, dans la base, par :
- une table Affaires,
- dans cette table, un champ pour le nom du client, et peut être d'autres champs liés : un téléphone client, adresse, nom du contact, etc.
Ce que je veux dire :
Quand une Entité1 a 1 (et 1 seule) Entité2, ça se traduit généralement par un ou des champs Entité2 dans la table Entité1.
Oh la la ! Comment j'ai pu écrire une phrase pareille ? J'ai honte.
En français, LE client est un simple attribut de l'affaire, ce qui va se traduire concrètement par un ou des champs client dans la table affaire.
Et si, au hasard balthazar, j'inversais ta proposition :
- Est-ce qu'un client a une affaire, et une seule ?
On pourrait rêver qu'après avoir superbement réalisé une étude pour un client, ce même client vous reconfie une autre affaire, non ?
Et, si ça marchait, ce serait dommage d'avoir à recopier toutes les données "client" d'une affaire vers l'autre ?
Donc, quelle est la phrase qui représente le mieux la réalité ?
Envoyé par Papy Turbo
Tu as pris la 2ème, ou la 3ème, ou la 4ème réponse ?
- une affaire a un client, et un seul ?
- une affaire a de 0 à plusieurs clients ? Il peut y avoir des "affaires" internes, sans aucun client ?
- une affaire a de 1 à plusieurs clients ?
Et, si on s'amuse à inverser :
- un client a une affaire, et une seule ?
- un client a soit 0, soit 1 affaire ?
- un client a de 0 (prospect ?) à plusieurs affaires ?
- un client a de 1 à plusieurs affaires ?
------------------------
Certains trouvent que ton cas est le pire, d'autres que ton cas est idyllique :
- tu portes à la fois la casquette de l'utilisateur : tu vas te servir de ce logiciel, c'est ton métier,
- et celle de développeur !
Aujourd'hui, tu dois mettre la casquette de l'utilisateur (=client de ce logiciel), définir ton métier, puis, casquette développeur, le traduire en clair pour Jet (le moteur de bdd d'access).
Même le jour où tu donneras du boulot à un développeur externe, tu devras répondre précisément à ces questions là.
La bonne nouvelle est :
- les questions à se poser sont ultra simples,
- suffit de les pousser jusqu'au bout.
Exactement comme le plan comptable d'une société offre une représentation abstraite de son activité économique ("un plan comptable réussi, ç'est beau comme un poème", dixit my apple), les tables doivent représenter ton boulot, tout ce que tu veux mesurer, suivre, et, plus tard, analyser.
Donc, merci pour cette première ébauche.
Et, si tu veux bien, faut la reprendre en entier, avec plus de détails, c. à d. :
- une phrase sur le boulot,
- décomposer les entités et les relations, (une relation = sujet + verbe "avoir" + [quantité] + complément),
- inverser chaque proposition, pour rigoler,
- tester chaque combinaison, dans chaque sens : 0 ou 1 ou plusieurs... ?
- attendre au strict minimum une nuit entière, que ça décante,
- revoir le tout.
Partager