web-dev-qa-db-fra.com

Les termes sont-ils stables et fiables interchangeables?

Existe-t-il une différence entre stabilité et fiabilité (au moins dans le contexte de l'ingénierie logicielle) ou peuvent-ils être utilisés de manière interchangeable? Sinon, quels seraient des exemples de systèmes fiables mais pas nécessairement stables, et vice versa?

22
gsakkis

Disons par exemple que nous avons une application, elle fonctionne parfaitement, à part qu'elle plante toutes les 5 minutes, mais elle est sauvegardée instantanément sans perte de données.

Dans mon esprit, c'est fiable, mais pas stable.

Je peux compter sur lui pour ne pas perdre de données et fonctionner correctement, même s'il n'est pas stable.

En fait, Internet est essentiellement cela. C'est loin d'être stable: les connexions chutent et réapparaissent, les paquets entrent en collision et sont perdus, et toutes sortes d'autres choses instables se produisent. Cependant, il est assez étonnant de voir à quel point il est fiable compte tenu de toute l'instabilité qui y est inhérente.

38
CaffGeek

Ces définitions proviennent de la norme ISO 9126, qui se divise en caractéristiques et sous-caractéristiques: this table , this pdf or wikipedia or article

La stabilité est: caractérise la sensibilité au changement d'un système donné qui est l'impact négatif qui peut être causé par des changements du système.

La fiabilité est une caractéristique principale qui contient:

  • maturité: Cette sous-caractéristique concerne la fréquence de défaillance du logiciel.
  • tolérance aux pannes: capacité du logiciel à résister (et à récupérer) à la défaillance d'un composant ou de l'environnement.
  • récupérabilité: possibilité de ramener un système défaillant à son plein fonctionnement, y compris les données et les connexions réseau.
25
KeesDijk

Objectif: écrire un programme pour ajouter deux nombres

Fiable mais instable:

add(a,b):
    if randomInt mod 5 == 0: 
        throw exception
    else
        print a+b

Stable mais peu fiable:

add(a,b):
    if randomInt mod 5 == 0: 
        print a+a
    else
        print a+b
6
Gort the Robot

Dans le contexte de l'évaluation des bibliothèques, les termes signifient des choses complètement différentes.

Une bibliothèque fiable est celle qui fait son travail sans échecs intermittents.

Une bibliothèque stable est une bibliothèque qui ne change pas grand-chose.

2
Sebastian Redl

Fiable mais pas Stable :

add(a,b):
    if a == nil ||  b == nil: 
        throw exception
    else
        return (a+b)

Stable mais pas Fiable :

add(a,b):
    if a == nil ||  b == nil: 
        return 0
    else
        return (a+b)
0

À mon avis, la "fiabilité" signifie que vous comprenez la limite du système. Vous pouvez, en toute confiance, dire que "nous fournissons le temps de réponse X au Xe centile" (plus le X est élevé, mieux c'est évidemment).

La stabilité, en revanche, n'est qu'une mesure de disponibilité. "Si vous essayez de vous connecter à notre service, il sera présent au moins X% du temps".

0
Vatine

La stabilité et La fiabilité sont des choses différentes dans le développement de logiciels, mais ils ont tous deux utilisé comme les termes soeurs :)

Je suis d'accord avec certains commentaires précédents et je voudrais ajouter mes 2 cents.

La fiabilité est la mesure dans laquelle une expérience, un test ou toute procédure de mesure donne le même résultat lors d'essais répétés.

La fiabilité de la stabilité (parfois appelée test, fiabilité de test) est l'accord des instruments de mesure dans le temps. Pour déterminer la stabilité, une mesure ou un test est répété sur les mêmes sujets à une date ultérieure. Les résultats sont comparés et corrélés avec le test initial pour donner une mesure de stabilité.

Plus de références sur ce sujet sont fournies:

0
Yusubov