Qualità del software: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
provvisorio - cat:software |
m - bold |
||
Riga 1:
==Caratteristiche==
Si distinguono tra:
* Qualità
* Qualità
Qualità esterne:
* Correttezza
Riga 10 ⟶ 11:
* Efficienza e Prestazioni
* Facilità d’uso
Qualità interne:
* Verificabilità
Riga 15 ⟶ 17:
* Riusabilità
* Portabilità
==Correttezza==
Un software è funzionalmente
Va sottolineato che il termine
Comunque deve essere possibile il confronto con i requisiti per verificare la correttezza.
La specifica deve essere sufficientemente chiara e non ambigua, cosa abbastanza difficile perché
==Affidabilità==
Misura quanto l’utente può far affidamento sul software.
Quindi per il software si hanno:
*
* known bugs (falle note)
Solitamente l’affidabilità è definita in termini di [[mtbf]] (
==Correttezza
La correttezza è una qualità assoluta, mentre l’affidabilità è una qualità relativa. <br/>
Se un sistema presenta degli errori
*
*
Se la specifica cattura tutti i requisiti un sistema corretto è affidabile.
Se la specifica
==Robustezza==
Un sistema è robusto se si comporta in modo ragionevole in situazioni impreviste. Ad esempio quando vengono inseriti dati di input non corretti.
La robustezza può essere corretta andando a colmare quelle [[lacune]] dei requisiti che appunto non hanno descritto il comportamento nel caso di situazioni anomale.
La robustezza è difficilmente definibile formalmente. Se si potesse definire il concetto di comportamento ragionevole si potrebbe dire che la
La robustezza comunque dipende dal contesto e non è assoluta, in particolare dipende da:
* chi usa il sistema
*
*
==Efficienza e Prestazioni==
Un sistema è efficiente se usa le risorse ([[memoria]], [[CPU]],...) in modo efficiente, ossia senza sprechi.
Si confonde spesso l’
Spesso viene presa in considerazione solo a sistema realizzato, ma può essere molto difficile intervenire a posteriori.
Riga 61 ⟶ 62:
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à:
*
*
*
*
==Usabilità==
Un sistema è facile da usare se un essere umano lo reputa tale.<br/>
*
*
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. <br/>
Per aumentare il grado di verificabilità si fa uso di:
*
*
* software monitor
In alcuni casi diventa una qualità esterna (''Software safety critical'')
[[categoria:software]]
|