Qualità del software: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 52:
* Quali sono le sue capacità di adattamento
* Quanto è critico il buon funzionamento del software
 
==Efficienza e Prestazioni==
Un sistema è efficiente se usa le risorse ([[memoria]], [[CPU]],...) in modo efficiente, ossia senza sprechi.
Si confonde spesso l’'''efficienza''' con le '''prestazioni''', ma mentre la prima è una caratteristica interna che si riferisce al peso che un [[software]] ha sulle risorse del computer, la seconda è una caratteristica esterna, basata sui [[requisiti]].
 
Spesso viene presa in considerazione solo a sistema realizzato, ma può essere molto difficile intervenire a posteriori.
 
Lo stesso accade anche per le prestazioni, che a volte possono anche rallentare la [[produttività]], tuttavia esse sono relative perché possono cambiare con l’evoluzione della tecnologia.
Esistono diversi modi per misurare queste qualità:
* Complessità algoritmica
* Misure sul campo delle caratteristiche (measurement)
* Modello matematico da analizzare (analysis)
* Modello di simulazione (simulation)
 
==Usabilità==
 
Un sistema è facile da usare se un essere umano lo reputa tale.
E’ una qualità soggettiva
* Dipende dal contesto
* Dipende dall’esperienza
L’interfaccia utente interviene molto sull’amichevolezza di un’applicazione, ma anche in questo caso è la formazione e la cultura dell’utente a giudicare tale caratteristica.
 
==Verificabilità==
Un sistema è verificabile se le sua proprietà:
* Correttezza
* Affidabilità
sono facili da verificare.
Per aumentare il grado di verificabilità si fa uso di:
* Tecniche di progettazione modulare
* Opportuni linguaggi di programmazione
* Software Monitor
In alcuni casi diventa una qualità esterna (''Software safety critical'')
 
==to be continued==