Qualità del software: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pil56-bot (discussione | contributi)
smistamento lavoro sporco
Botcrux (discussione | contributi)
m Bot, replaced: anni '80 → anni ottanta, etc. → ecc., typos fixed: efficenza → efficienza
Riga 20:
Poiché l'affidabilità è concettualmente misurabile (una volta specificato un particolare modello, per esempio MTBF o una variante pesata in funzione della gravità dei fallimenti), questo parametro viene spesso considerato la controparte "realistica" della correttezza.
 
L'[[industria del software]] moderna, su applicazioni non critiche, tende a considerare economicamente vantaggioso il rilascio di prodotti con un tasso iniziale di malfunzionamenti piuttosto elevato, ma dotati di meccanismi di caricamento periodico di ''[[patch (informatica)|patch]]'' (per esempio via [[Internet]]) attraverso cui gli errori vengono corretti via via che vengono trovati dall'utenza e segnalati al produttore.
 
Controesempi di software affidabile(o chiari esempi di software inaffidabile).
Il Therac-25 era una strumentazione medica usata agli inizi degli anni '80ottanta per trattare il cancro. L'unicità dell'apparecchiatura a quel tempo era il software, che monitorava la dose di radiazioni da emettere nel trattamento. Purtroppo un errore nel software causò l'emissione di dosi letali. L'errore si verifica così infrequentemente che morirono diverse persone prima di rendersi conto del problema.
 
====Robustezza====
Riga 36:
{{vedi anche|usabilità}}
 
Un sistema è facile da usare se un essere umano lo reputa tale.<br />
È una qualità soggettiva:
* dipende dal contesto
* dipende dall’esperienzadall'esperienza
L’interfacciaL'interfaccia utente interviene molto sull’amichevolezzasull'amichevolezza di un’applicazioneun'applicazione, ma anche in questo caso è la formazione e la cultura dell’utentedell'utente a giudicare tale caratteristica.
 
Al di fuori di una visione macchinocentrica, va sottolineata l'esistenza di principi condivisi che permettono di valutare il livello di usabilità di un'applicazione, indipendentemente da fattori soggettivi. Valga come riferimento il noto studio di [[Jakob Nielsen]][http://www.useit.com/papers/heuristic/heuristic_list.html], e quanto espresso dallo standard [[ISO]] 9241-10 sugli ''ergonomic requirement'' [http://web.tiscali.it/userware/standardiso9241.htm#parte%2010%20dell%27ISO%209241].
Riga 48:
 
Un sistema è ecocompatibile se tiene in conto nel suo disegno l'impatto del suo esercizio sull'ambiente che lo circonda.
L'ecocompatibilitá equivale all'efficenzaefficienza del sistema ambiente di cui l'essere umano è parte.
 
====Scalabilità====
Riga 60:
* correttezza
* affidabilità
sono facili da verificare. <br />
Per aumentare il grado di verificabilità si fa uso di:
* tecniche di [[progettazione modulare]]
Riga 76:
* Perfettiva
La manutenzione correttiva
* Elimina gli errori presenti sin dall’iniziodall'inizio
* Elimina gli errori introdotti da precedenti interventi di manutenzione
* Rappresenta il 20% del totale della manutenzione
La manutenzione adattativa:
* Modifiche a seguito di cambiamenti nell’ambientenell'ambiente
* Cambiamenti nell’Hardware, nel Sistema operativo, etcecc.
* 20% del totale
La manutenzione perfettiva
Riga 88:
* Miglioramento delle funzionalità esistenti
* È la parte più consistente (circa il 60% del totale)
L’ultimaL'ultima parte è così consistente soprattutto per il [[Sistema legacy|legacy software]] che non può essere sostituito a meno di ingenti spese, per cui viene migliorato e adattato.
La manutenibilità dipende da due aspetti
* Riparabilità per indicare ciò che consente di eliminare difetti
* Evolvibilità per indicare ciò che consente l’implementazionel'implementazione di nuovi requisiti
 
====Riparabilità====
Riga 108:
* Non si progettano le modifiche
Peggio ancora, i cambiamenti effettuati non sempre sono documentati per cui le specifiche non vengono aggiornate e ciò rende i cambiamenti futuri difficili da compiere.
È necessario prevedere sin dall’iniziodall'inizio che il software può evolvere e progettare tenendo in mente questa evoluzione per sfruttare al meglio i costi sostenuti in passato.
 
====Riusabilità====
Affine all’evolvibilitàall'evolvibilità. Tuttavia si ha nell’evolvibilitànell'evolvibilità una modifica per realizzare una nuova versione, mentre nella riusabilità si usano parti di sistema per realizzare un prodotto diverso.
Inizialmente si pensava al riuso del software. Oggi si riusa tutto:
* [[Specifiche]]
Riga 129:
Un sistema è portabile se è in grado di funzionare in ambienti diversi.
 
È diventato un aspetto fondamentale perché consente di avere vantaggi economici, in quanto si possono ammortizzare i costi trasportando l’applicazionel'applicazione in diversi ambienti.
Nel caso delle applicazioni web è la chiave di volta.
Si usano strumenti e tecniche appositamente pensate per dare luogo ad oggetti portabili.