Il software traduce il pensiero umano in azioni di macchinari. Senonché il pensiero può contenere errori, così come errori possono essere commessi nella traduzione del pensiero in mosse di macchinari.
Pensiamo, ad esempio, a un terminale bancomat. Cosa fa chi sviluppa il software per la sua guida? Mette innanzitutto giù il suo pensiero, nelle cosiddette specifiche o lista delle azioni da far compiere al terminale. Successivamente, consegna le specifiche a chi produce il programma di guida.
Tuttavia, le specifiche possono contenere errori, così come errori possono essere commessi dal programmatore. Con la conseguenza di imprevedibili malfunzionamenti e perdite economiche. Pertanto, la Banca che commissioni il software imporrà, al produttore, un requisito di affidabilità (ad esempio, che esista una probabilità di malfunzionamento non superiore a uno su centomila nelle 24 ore). Quel che vale per un bancomat vale anche per il servosterzo di un'automobile, l'autopilota di una metropolitana, quello di un aereo o di un vettore satellitare.
In questi casi, un malfunzionamento produrrebbe perdite anche umane. Pertanto, chi commissioni il software imporrà ora sia un requisito di affidabilità sia uno di safety, cioè di sicurezza contro eventi catastrofici.
Come deve operare, chi produce software, perché esso non infranga i requisiti di affidabilità e safety? È la domanda a cui questo testo intende rispondere.
Il Libro "Affidabilità e sicurezza del software" di Giuseppe Iazeolla, editore Franco Angeli, è in vendita anche su Amazon.it al prezzo di € 32,00.
Nessun commento:
Posta un commento