IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

La règle "zéro, un ou infini" serait omniprésente dans le développement logiciel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité de passage
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 1
    Par défaut
    Moi je dirais plustot 1, n ou limite technique.
    Mais ca revient a peu pres au meme.


    Et je suis d'accord que c'est (quasiment ?) toujours vrai.

  2. #2
    Membre très actif
    Inscrit en
    Août 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 307
    Par défaut
    Quelqu'un peut me donner un lien ou cette régle est définie et expliquée avec clarté et detail?
    Merci

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 319
    Par défaut
    Pour moi c'est un problème philosophique et chacun peut trouver sa réponse sans déroger à cette règle.

    J'ai toujours conçu des choses dans l'esprit 0,1, infini (avec un esprit suite numérique plutôt d'ailleurs) avec un raisonnement que nous appliquons tous à savoir : qui peut le plus peut le moins.
    bon bah il se trouve que "infini" est fini en fait. Mais ce n'est jamais non plus jamais le même.
    Il n'est pas fini pareil sur les machines 32 et 64 bits.
    Donc on conçoit pour 0, 1 ou l'infini et ensuite on rend les choses concrètes.

    Le meilleur exemple à mon sens c'est la configuration d'un serveur, d'une application, etc.
    On a un système de gestion de règle qui prend en compte une infinité de cas potentiels, mais dans les cas concrets, on peut avoir que 1, 2 ou 3 configurations connues (qui marchent) par exemple pour Mac, Win et Linux.

    C'est la différence entre concevoir pour l'infini (on manipule une liste) mais savoir qu'au final on ne manipule que quelques cas finis (par conception et ensuite par tests/expérience, on a des configurations fixes finies).

    C'est aussi simple à mon sens.

    Concevoir pour 2 cas précis revient à mon sens à faire 1 d'un côté et 1 de l'autre dans un système qui peut contenir potentiellement une infinité de cas concrets.

    Sachant que tous les langages permettent la prise en compte d'une infinité de cas, tout le monde respecte cette règle \o/

    Bon ok pas tout le monde, j'ai vu des horreurs moi aussi. Mais au final, gérer de cas finis (liés au métier, cas concrets, etc.) ce n'est pas casser cette règle de conception.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Par défaut 0 1 ou n
    Bonjour à tous,

    Face à une problématique (un peu) abstraite,
    très interessant de voir les types de réponse.

    En résumé :

    - où est le problème // qu'est ce qu'il raconte ?

    - Garder les mains propres quitte à s'embêter puisssance mille.

    - Avoir conscience du problème, le prendre en compte mais si le coût
    est disproportionné introduire N.


    Ainsi, je prends le risque insensé de considerer que dans 10 ans une semaine fera toujours 7 jours.

  5. #5
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Bonjour,
    je pense que l'arborescence est particulièrement adaptée pour représenter un système de fichiers de serveurs etc ...

    Il y a une racine et un unique chemin élémentaire pour aller de la racine à n'importe quel sommet de l'arborescence.

    Cela permet également d'organiser les données en les hiérarchisant.

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Bonjour
    Êtes-vous d'accord avec l'énoncé de cette règle ?
    en général oui. lorsque je vois une conception qui utilise un tableau de taille fixe d'élément je me pose la question et j'analyse pour savoir on ne risque pas dans un avenir proche d'avoir un pb avec.
    Avez-vous déjà été confrontés à des cas où il vous a fallu concevoir un système pour un nombre précis (>1) d'instances ? Lequel ?
    Oui tout les jours
    nombre d'instance 2. dans la conception des SI d'entreprise les choses vont très souvent par deux. l'application Alpha et son secours.
    le mode de fonctionnement d'une application du SI Online, Offline (donc par exemple pour les paramètres de l'application dépendant du mode il existe en deux exemplaires ou on a deux groupes de paramètres) etc.

    A+JYT

  7. #7
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    Tout celà nous ramène au classique :
    Il y a 10 sortes d'informaticiens : ceux qui comprennent le binaire et les autres.
    Si les autres veulent construire une informatique non binaire, souhaitons leur bon courage

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    je trouve ça incomplet

    j'aurai rajouté 2... c'est quand même un peu tous les jours qu'on le trouve.
    déjà pour tout ce qui est binaire: homme femme, ok / ko.
    mais c'est valable aussi pour des relation métier : les deux géniteurs d'un enfant, les deux équipes d'un match, le client/le serveur (et plus généralement l'émetteur et le récepteur d'un message).
    Rien n'empêche de modéliser ca en mettant une relation 1-n mais bon je me moquerais sans doute un peu du gars qui coderai comme ça

  9. #9
    Membre chevronné
    Homme Profil pro
    /
    Inscrit en
    Février 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : /

    Informations forums :
    Inscription : Février 2003
    Messages : 434
    Par défaut
    Citation Envoyé par amaillere Voir le message
    j'aurai rajouté 2... c'est quand même un peu tous les jours qu'on le trouve.
    déjà pour tout ce qui est binaire: homme femme, ok / ko.
    Globalement d'accord mais attention à bien cerner le problème au départ.
    Par exemple, si dans certains cas on peut se limiter à homme/femme, j'ai déjà été confronté à des situation homme/femme/non applicable/inconnu.

  10. #10
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 608
    Par défaut
    0,1,n -> ok
    0,1,infini -> non
    l'énoncé est faux, et de toute façon, comme on le dit trop souvent, il ne faut pas généraliser

    exemple dans le cas d'un traitement en parallèle sur une machine équipée de plusieurs processeurs : ça n'a aucun intérêt de lancer plus de traitements simultanés qu'il n'y a de processeurs sur la machine, au mieux on ne gagne rien, au pire on perd en performances
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Par défaut E la logique trois états (tri state)?
    0 = non
    1 = oui
    2 = nul - haute impédance

    Cette règle me semble dépendante des problèmes pausés et ne fait pas l'économie des moyens. En générale, elle sera donc fause puisque les moyens sont limités.

  12. #12
    Membre Expert Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Par défaut
    Citation Envoyé par pghislain Voir le message
    0 = non
    1 = oui
    2 = nul - haute impédance

    Cette règle me semble dépendante des problèmes pausés et ne fait pas l'économie des moyens. En générale, elle sera donc fause puisque les moyens sont limités.
    l'état "haute impédance" n'est pas un état logique à proprement parler, il s'agit d'avantage d'un état d'écoute ou de non interférence sur un bus partagé entre plusieurs appareils.

    Cela dit, je pense que c'est limite hors sujet...

  13. #13
    Membre actif
    Inscrit en
    Septembre 2010
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 84
    Par défaut
    En théorie oui.
    En pratique aussi, la plupart du temps.

    Mais quand on sait que le nombre d'instances sera toujours limité, et que ce nombre est très réduit (le meilleur exemple : 2), pour me simplifier la vie je me base sur un nombre fini d'instance.
    Car il est plus simple d'accéder à deux variables plutôt qu'à un tableau.

    Mais quand on commence à avoir un nombre plus important, ne serait-ce que 5, alors là oui, c'est mode infini et utilisation de liste.

  14. #14
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par défaut Pigé ?
    Bein je crois bien que je n'ai rien pigé moi aussi.
    Si j'ouvre Internet, c'est une instance ? si dans le même temps j'ouvre Media Player, est-ce une autre instance ?
    Mon ordi doté de deux + deux cores est paraît-il de traiter les deux simultanément sans problème.
    Maintenant si je conçois une appli qui demande de mettre en route ces deux instances afin qu'une renseigne ou approvisionne l'autre est-ce que je déroge au principe ?
    Risque-je des poursuites (je rigole) suis-je ou à côté de la plaque (et là je risque de faire rigoler, donc tant mieux) ?

  15. #15
    Invité
    Invité(e)
    Par défaut
    Dans les logiciels de conception (UML, Merise, etc.) qui sont des logiciels qui ont été pensés pour schématiser n'importe qu'elle architecture de manière générale, on retrouve de manière très présente les trois cas 0,1,infini dans les mutiplicités/cardinalités. Il doit s'agir donc d'une pseudo-règle qui peut être suivie par un grand nombre d'applications.
    Par contre, il subsiste évidement des cas très spéciaux, d'ou l'ajout dans ce type de logiciel de petits pour indiquer la valeur que l'on souhaite.

    Typiquement, dans une application dédiée à la généalogie, on se retrouve avec un enfant qui a... 2 parents.
    Ces cas spéciaux dépendent bien évidemment des contraintes imposées. Car on pourrait naturellement concevoir d'avoir n parents (parents biologiques, parents d'adoption, etc.)
    Cependant, ces cas restent rares ou en tous cas, il y a toujours une bonne raison pour laquelle on a choisi cette structure (optimisation, raisons techniques, etc.)

    Du coup, je dirais que pour moi, la loi du 0,1,n reste une loi théorique. Et comme chacun sait, la pratique est parfois différente de la théorie

  16. #16
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Trois Sangs Onze Voir le message
    Du coup, je dirais que pour moi, la loi du 0,1,n reste une loi théorique. Et comme chacun sait, la pratique est parfois différente de la théorie
    Pour moi, c'est surtout une "rule of thumb" (principe général) de conception.

    Dans la pratique ca signifie que lorsque je modélise une association avec une multiplicité 2, 3, ... (ou n'importe quelle valeur finie > 2), je pose mon crayon et je me demande s'il y a une bonne raison pour mettre une valeur "en dur" au lieu de mettre "*".
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Pour moi, c'est surtout une "rule of thumb" (principe général) de conception.

    Dans la pratique ca signifie que lorsque je modélise une association avec une multiplicité 2, 3, ... (ou n'importe quelle valeur finie > 2), je pose mon crayon et je me demande s'il y a une bonne raison pour mettre une valeur "en dur" au lieu de mettre "*".

    Pourrais tu m'en citer quelques unes ??

  18. #18
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Citation Envoyé par remond Voir le message
    Pourrais tu m'en citer quelques unes ??
    1. mon robot à deux bras et deux jambes il n'y a aucune raison de mettre 1 ou de mettre * il n'y en a que deux de chaque c'est matériellement impossible de lui en mettre plus.
    2. pour le déplacement d'un objet dans l'espace j'ai exactement 6 degrés de liberté translation sur les axes des X des Y et des Z rotation sur les axes X, Y et Z.
    3. le satellite qui doit partir pour explorer un astéroïde possède exactement 27 propulseur à gaz de positionnement. il n'en aura jamais plus ni moins.
    4. mon home cinéma possède 6 HP, un aigu face un caisson basse deux avant et deux arrières.
    5. la plaque de cuisson vitrocéramique a exactement 4 point de chauffe.
    6. La chaudière de ma résidence à 2 brûleurs, 5 vannes de répartition 2 motopompes.

    dans tous ces cas il convient de se poser la question dois-je modéliser avec le nombre exact ou avec *

    1. pour le robot espace mémoire oblige dans le microcontrôleur moins on en consomme mieux c'est.
    2. pour les degrés de liberté c'est physiquement impossible d'en avoir plus inutile de mettre *
    3. pour le satellite c'est de l'embarque comme pour le robot mais ne vais-je pas en construire un autre dans l'avenir ?
    4. pour le home cinéma je peux me poser la question de l'avenir n'existera-t-il pas de système plus pourvus ?
    5. de même pour les plaque de cuisson j'en aurais-je pas 5 ou 6 dans l'avenir ?
    6. pour la chaudière c'est évident suivant l'installation ces quantités peuvent varier.


    A+JYT

  19. #19
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par remond Voir le message
    Pourrais tu m'en citer quelques unes ??
    La raison la plus courante que je rencontre (et que j'ai déjà cité), c'est que le problème est beaucoup plus simple à résoudre avec un nombre limité et connu d'instances. Faire une conception généraliste avec un nombre illimité ou inconnu rendrait le problème différent, complexe, voir insoluble.



    Y a-t-il une bonne raison de modéliser plus de 3 piquets pour ce jeu ?

    (En particulier si c'est pour avoir plus de piquets que de disques )
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Par défaut
    non mais je ne vais certainement pas me contenter d'un jeu avec seulement 3 disques, alors qu'au niveau de la conception ça suffit largement

    En tout cas, merci pour vos exemples.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo