Conçu Pour Votre Connaissance

On nous demande souvent quelles sont les caractéristiques qui différencient un logiciel populaire à grande diffusion et un logiciel haut de gamme.

Ces différences ne sont pas apparentes à première vue puisque structurelles plutôt que superficielles.

Essentiellement, ces différences sont de trois types.

  1. Méthode utilisée pour stocker les données et les diffuser aux utilisateurs.
    Les logiciels à grande diffusion stockent les données dans des fichiers individuels de format DBase ou Paradox sur un serveur de fichiers. Pour chaque fichier de données il y a souvent 3 à 4 fichiers d’index correspondants.

    On peut se retrouver avec facilement une centaine ou plus de fichiers sur disque pour un simple logiciel de comptabilité!

    Ces fichiers sont directement lus et mis à jour par la copie du logiciel qui roule dans les ordinateurs de chaque usager. Aucun mécanisme central de coordination n’est prévu. La responsabilité sur l’intégrité des fichiers est ainsi dévolue à chaque ordinateur. Tout mauvais fonctionnement dans les étapes de mise-à-jour des fichiers peut occasionner la corruption de ceux-ci.

    Quand cette corruption sera-t-elle découverte ?

    De plus, dans un tel environnement, les fichiers de données sont nécessairement accessibles à tous. Un employé pourrait très bien s’en faire une copie et l’apporter chez lui pour le déchiffrer à sa guise. Pensez aux fichiers maîtres des salaires!

    Les logiciels haut de gamme utilisent quant à eux des systèmes de gestion de bases de données relationnelles (SGBD/R) tel que Oracle®, Progress®, ou SQL server® pour stocker et distribuer les données aux usagers. Dans un tel environnement, les données reposent dans un seul fichier physique sur le serveur.

    Ce fichier est composé de plusieurs fichiers logiques qui contiennent les données. On les appelle des tables.

    Seul un programme qui roule sur le serveur de fichier a accès à ces tables. Ainsi, les données ne sont jamais disponibles directement aux utilisateurs.

    Ce programme (qu’on appelle programme serveur) prend en charge la distribution et la mise à jour des données suite aux requêtes des logiciels d’application qui roulent dans chacun des PC.

    D’une fonction très spécialisée, il valide les permissions de lecture et d’écriture et passe toutes les données des mises-à-jour à travers des procédures-filtres qui en vérifient l’intégrité et l’intégralité.

    Par exemple, si un PC est fermé par inadvertance au beau milieu d’une transaction comptable, ce filtre choisira d’exclure toute la transaction en reculant si nécessaire pour effacer les distributions déjà enregistrées.

    Une telle approche est essentielle pour assurer fiabilité et disponibilité en tout temps des données, surtout si le nombre d’usagers dépasse 3 ou 4.

  2. Flexibilité dans la manière de gérer les données.

    Les logiciels à grande diffusion doivent s’assurer en premier lieu de la facilité d’utilisation de leur logiciel. Quand un logiciel est vendu pour quelques centaines de dollars, le vendeur doit miser sur la simplicité d’utilisation pour faire ses frais. Sinon, le coût du support dépassera rapidement les revenus de la vente.

    Les logiciels haut de gamme, quant à eux, privilégient des fonctionnalités qui modéliseront la faÇon dont l’entreprise exerce ses opérations plutôt que la simplicité à tout prix.

    Sans en faire la démonstration exhaustive et seulement à titre d’exemple, on vous présente ci-bas toutes les façons disponibles aux usagers des logiciels DCi de gérer les unités de mesure (U/M) pour un produit donné:

    • [U/M_1] – Unité de mesure utilisée au stockage du produit
    • [U/M_2] – [U/M_11] Unités de mesure alternatives pour chaque produit avec leur taux de conversion (10)
    • [U/M_12] – Unité de mesure et équivalence enregistrée pour chaque client et produit pour être utilisée à la prise de commandes commande de ventes et la facturation.
    • [U/M_13] – Unité de mesure utilisée à l’expédition.
    • [U/M_14] – Unité de mesure et équivalence enregistrée pour chaque fournisseur et produit pour être utilisées à la commande d’achat.
    • [U/M_15] – Unité de mesure utilisée à la réception de la marchandise
    • et j’en passe…

    Aucun de nos clients n’utilise toute cette flexibilité. Cependant, elle rassure l’acheteur éventuel de la capacité du logiciel de répondre à ses besoins futurs.

  3. Ouvertures aux modifications spécifiques et à l’intégration aux autres logiciels

    Comme on vient de le voir, la flexibilité est une caractéristique fondamentale d’un logiciel de haut de gamme. Le concepteur tente d’intégrer à son logiciel toutes les fonctionnalités qui pourraient être requises par les utilisateurs éventuels.

    Mais malheureusement il ne peut tout prévoir. Il s’y est cependant préparé en utilisant des techniques de programmation sophistiquées et plus coûteuses qui permettent d’intégrer de nouvelles fonctionnalités à ses logiciels pour un client donné sans pour cela faire perdre à la copie de ce client son caractère universel. En effet, toutes les mises-à-jour futures de ce programme devront savoir reconnaître la modification et la prendre en charge automatiquement.

    Ce client continue donc à avoir accès à toutes les mises-à-jour et à toutes les nouvelles versions des programmes de base.

    De même, le concepteur de logiciel de haut de gamme doit prévoir que certains clients auront à utiliser, en complément du sien, d’autres logiciels de gestion. Afin de permettre une intégration des données avec ces logiciels, il aura prévu une méthode d’échange et de validation des données avec des applications externes.

    Ces techniques d’interface doivent être indépendantes de l’environnement, universelles, simples et sûres.

    L’ensemble de ces techniques est généralement offert gracieusement à tous les autres concepteurs de logiciel sous le vocable SDK.