Qual è la differenza tra un sistema e un software?

Un sistema è un insieme di elementi che interagiscono. Se si può fare un diagramma con elementi e connessioni, ingressi e uscite, si descrive un sistema. I sistemi di solito hanno proprietà "emergenti" che non possono essere previste dalle parti o dalle connessioni.

È comune modellare queste proprietà con diagrammi, equazioni, insiemi, macchine a stati o altri metodi. Il punto non è solo quello di -trovare- i problemi, ma anche di trovare modi poco costosi (o leggeri, o a bassa potenza, ecc.) per aumentare drasticamente l'affidabilità (o la garanzia della missione, o altro.)

È comune analizzare i sistemi con l'analisi dei modi e degli effetti dei guasti (FMEA): Ad esempio, si fa una tabella per ogni elemento e connessione, si immaginano gli effetti se si guasta, si inventa una soluzione.

Un metodo correlato di analisi dei guasti è l'analisi ad albero dei guasti (FTA). Una FTA è di solito aiutata da un software di analisi che gira in un PC, non nel sistema. Il software legge un file di albero dei guasti che descrive il sistema. Il file è di solito fatto da un ingegnere. Il software FTA trova "insiemi di tagli" che descrivono "modi di guasto" e dà una probabilità di guasto che può essere espressa come tempo medio tra i guasti. Un'analisi ad albero dei guasti è di solito aiutata anche da manuali standard che danno affidabilità ai componenti. (Disponibili presso organizzazioni militari molto grandi.)

Nella prima progettazione della maggior parte dei sistemi ci sono singole fonti di guasto: Per esempio nei veicoli spaziali, alimentatori e controlli d'assetto, o nelle città, ponti e sistemi telefonici.

Entrambi i metodi (FMEA e FTA) possono essere applicati anche ad altri domini diversi dal fallimento. Per esempio, la sicurezza (per sistemi medici, reattori nucleari o aerei), la garanzia della missione (per sistemi militari o finanziari), la sicurezza, la legittimità (sistemi di voto) ecc. I progettisti scientifici di sonde spaziali o satelliti modellano comunemente le probabilità di garanzia della missione scientifica.

Nota che nessuno di questi metodi di analisi dipende da particolari tecnologie come il software.

Il software è -semplicemente- una -particolare- tecnologia in cui i modelli numerici in una memoria (cioè il software) sono eseguiti da un computer.

Il software è meravigliosamente utile, e potrebbe essere un sottosistema, ma un ingegnere di sistemi sarebbe preoccupato non solo dell'affidabilità del software, ma anche del suo compilatore, delle bretelle di test, della copertura dei test, dell'affidabilità delle parti di un computer (la CPU, i connettori dei cavi I/O, ecc.), della sua alimentazione, della schermatura elettromagnetica e delle interferenze, ecc.