Stabilità vs affidabilità

17

C'è una differenza tra stabilità e affidabilità (almeno nel contesto dell'ingegneria del software) o possono essere usati in modo intercambiabile? In caso contrario, quali sarebbero alcuni esempi di sistemi affidabili ma non necessariamente stabili, e viceversa?

    
posta gsakkis 24.07.2012 - 21:15
fonte

5 risposte

32

Diciamo per esempio che abbiamo un'app, funziona perfettamente, a parte il crash di 5 minuti, ma è un backup istantaneo senza perdita di dati.

Questo nella mia mente è affidabile, ma non stabile.

Posso fidarmi di esso senza perdere dati e lavorando correttamente. Nonostante non sia stabile.

In realtà, Internet è fondamentalmente quello. È tutt'altro che stabile, le connessioni si interrompono e riappaiono, i pacchetti si scontrano e si perdono e accadono tutti i tipi di altre cose instabili. Tuttavia, è piuttosto sorprendente quanto affidabile sia data tutta l'instabilità inerente a questo.

    
risposta data 24.07.2012 - 21:27
fonte
22

Queste definizioni derivano dallo standard ISO 9126, che divide in caratteristiche e caratteristiche secondarie: questa tabella , questa pdf o wikipedia o articolo

Stabilità: caratterizza la sensibilità al cambiamento di un dato sistema che è l'impatto negativo che potrebbe essere causato da modifiche del sistema.

L'affidabilità è una caratteristica principale che contiene:

  • scadenza: questa sub caratteristica riguarda la frequenza di errori del software.
  • tolleranza agli errori: la capacità del software di resistere (e recuperare) dal componente, o ambientale, fallimento.
  • recuperabilità: possibilità di riportare un sistema guasto alla piena operatività, inclusi i dati e le connessioni di rete.
risposta data 24.07.2012 - 21:53
fonte
4

Obiettivo: scrivere un programma per aggiungere due numeri

Affidabile ma instabile:

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

Stabile ma inaffidabile:

add(a,b):
    if randomInt mod 5 == 0: 
        print a+a
    else
        print a+b
    
risposta data 24.07.2012 - 22:26
fonte
0

Stabilità e Affidabilità sono cose diverse nello sviluppo del software, tuttavia entrambe usate come termini sorelle:)

Sono d'accordo con alcuni dei commenti precedenti menzionati e vorrei aggiungere i miei 2 centesimi.

Affidabilità è la misura in cui un esperimento, un test o qualsiasi procedura di misurazione produce lo stesso risultato in prove ripetute.

Affidabilità di stabilità (a volte chiamata test, affidabilità di re-test) è l'accordo degli strumenti di misurazione nel tempo. Per determinare la stabilità, una misura o un test vengono ripetuti sugli stessi soggetti in una data futura. I risultati sono confrontati e correlati con il test iniziale per fornire una misura di stabilità.

Sono forniti altri riferimenti su questo argomento:

risposta data 25.07.2012 - 10:44
fonte
0

A mio parere, "affidabilità" significa che hai una presa sul limite del sistema. Puoi, con sicurezza, dire che "forniamo il tempo di risposta X al percentile X" (più alta è la X, meglio è, ovviamente).

La stabilità, d'altra parte, è semplicemente una misura di disponibilità. "Se tenti di connettere a tio il nostro servizio, ci sarà almeno il X% delle volte".

    
risposta data 29.07.2012 - 10:34
fonte

Leggi altre domande sui tag