web-dev-qa-db-ja.com

用語は安定していて信頼性がありますか?

安定性信頼性(少なくともソフトウェアエンジニアリングのコンテキストでは)の間に違いはありますか、それとも互換的に使用できますか?そうでない場合、信頼できるが必ずしも安定しているわけではないシステムの例は何でしょうか?

22
gsakkis

たとえば、アプリがあるとします。5分ごとにクラッシュすることを除いて、完全に機能しますが、データを失うことなく即座にバックアップされます。

私の心の中でそれは信頼できますが、安定していません。

安定していないにもかかわらず、データが失われず、正常に動作しないことを信頼できます。

実際、インターネットは基本的にそれです。安定とはほど遠いです。接続が切断されて再表示され、パケットが衝突して失われ、その他あらゆる種類の不安定なことが起こります。ただし、それに固有のすべての不安定性が与えられると、どれほど信頼性が高いかは驚くべきことです。

38
CaffGeek

これらの定義は、特性とサブ特性に分かれるISO 9126標準に基づいています。this table 、this pdf または wikipedia または 記事

安定性とは、システムの変更によって引き起こされる可能性のあるマイナスの影響である、特定のシステムの変更に対する感度を特徴付けます。

信頼性は、以下を含む主な特性です。

  • 成熟度:この副特性は、ソフトウェアの障害の頻度に関係します。
  • フォールトトレランス:コンポーネントまたは環境の障害に耐える(および回復する)ソフトウェアの機能。
  • 回復可能性:障害が発生したシステムを、データやネットワーク接続を含む完全な動作に戻す機能。
25
KeesDijk

目標:2つの数値を加算するプログラムを作成する

信頼できるが不安定:

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

安定しているが信頼できない:

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

ライブラリを評価する文脈では、これらの用語はまったく異なるものを意味します。

信頼性の高いライブラリとは、断続的な障害なしに機能するライブラリです。

安定したライブラリとは、ほとんど変化しないライブラリです。

2
Sebastian Redl

Reliablebut notStable

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

Stablenot notReliable

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

私の考えでは、「信頼性」とは、システムの境界を把握していることを意味します。自信を持って、「X番目の百分位数で応答時間Xを提供する」と言うことができます(Xが高いほど、明らかに優れています)。

一方、安定性は可用性の指標にすぎません。 「当社のサービスに接続しようとすると、少なくともX%の頻度で存在します」。

0
Vatine

安定性信頼性はソフトウェア開発では異なりますが、どちらも使用されています姉妹用語として:)

前述のコメントに同意し、2セント追加したいと思います。

信頼性は、実験、テスト、または任意の測定手順で、繰り返し試行しても同じ結果が得られる範囲です。

安定性の信頼性(テストとも呼ばれ、再テストの信頼性)は、長期にわたる測定器の合意です。安定性を判断するために、測定またはテストが同じ日に同じ日に繰り返されます。結果を初期テストと比較および相関させて、安定性の尺度を提供します。

このトピックに関するその他のリファレンスが提供されています。

0
Yusubov