Offshore Software Development Company, Software di programmazione
110 visualizzazioniSoftware affidabilità è un aspetto importante della qualità del software. Essa è definita come "la probabilità di mancato funzionamento privo di un programma per computer in un determinato ambiente per un tempo determinato"
Per migliorare l'affidabilità del software può essere applicato in diverse fasi di un programma di sviluppo, in caso di reale software. Tali fasi comprendono principalmente: i requisiti, la progettazione, la programmazione, il controllo, la valutazione e il runtime. Lo studio teorico di affidabilità del software in questione è prevalentemente con il concetto di correttezza, un matematico campo della scienza, che è una conseguenza della lingua e automi teoria.
Requisiti
Un programma non ci si può aspettare di lavorare nel modo desiderato, se gli sviluppatori del programma non è, infatti, conoscere il comportamento del programma desiderato in anticipo, o se non possono, almeno determinare il proprio comportamento desiderato in parallelo con lo sviluppo, in modo sufficientemente dettagliato. Qual è il livello di dettaglio è ritenuto sufficiente è di accesi dibattiti. L'idea della perfetta dettaglio è interessante, ma può essere impraticabile, se non addirittura impossibile, in pratica. Questo è dovuto al fatto che il comportamento tende a modificare la gamma possibile di comportamento è determinato mediante effettivi tentativi, o più precisamente, tentativi falliti, a tal fine.
Se un comportamento del programma desiderato può essere specificato in anticipo è un punto se il comportamento non può essere specificato a tutti, e questo è il punto focale dei tentativi di formalizzare il processo di creazione di nuovi requisiti per progetti software. In situ, con la formalizzazione sforzo è un tentativo di contribuire a informare i non specialisti, in particolare per i non programmatori, che commissionano progetti software senza una sufficiente conoscenza di ciò che il software è infatti in grado. Comunicare tale conoscenza è resa più difficile dal fatto che, come accennato in precedenza, anche i programmatori non possono sempre sapere in anticipo ciò che è effettivamente possibile per il software in anticipo di cercare.
Progettare
Anche se i requisiti sono intesi a precisare che cosa dovrebbe fare un programma, la progettazione si intende, almeno ad un livello elevato, a specificare in che modo il programma dovrebbe farlo. L'utilità del progetto è anche messa in dubbio da alcuni, ma coloro che guardano a formalizzare il processo di garantire l'affidabilità spesso offrono una buona progettazione del software, come i processi più importanti mezzi per realizzarlo. Software di progettazione in genere implica l'uso di più astratto e generale, mezzi di specificare le parti del software e quello che fanno. Come tale, essa può essere visto come un modo per spezzare un vasto programma in molti piccoli programmi, per esempio quelli più piccoli pezzi che insieme fanno il lavoro di tutto il programma.
Gli scopi di progettazione di alto livello sono i seguenti. Si separa ciò che sono considerati come problemi di architettura, o programma di concetto e la struttura, da problemi di codifica effettivo, che risolvere i problemi reali del trattamento dei dati. Esso si applica ulteriori vincoli per il processo di sviluppo, restringendo il campo di applicazione della più piccoli componenti software, e quindi - si spera - eliminando le variabili che potrebbero aumentare il rischio di errori di programmazione. Essa fornisce un modello di programma, compresa l'indicazione delle interfacce, che può essere condiviso da diversi team di sviluppatori che lavorano su diverse parti, in modo che essi possano sapere in anticipo come ciascuno di loro contributi saranno quelli di interfaccia con le altre squadre. Infine, e forse più controverso, che specifica il programma indipendente di attuazione o le lingue, eliminando così lingua specifica pregiudizi e le limitazioni che altrimenti scorrimento in fase di progettazione, forse involontariamente, da parte del programmatore-designer.
Programmazione
La storia del linguaggio di programmazione di sviluppo possono spesso essere meglio compresi alla luce dei tentativi di padroneggiare la complessità dei programmi per elaboratore, che altrimenti diventa più difficile da comprendere in proporzione (forse esponenziale) per le dimensioni dei programmi. (Un altro modo di guardare l'evoluzione dei linguaggi di programmazione è semplicemente un modo di ottenere il computer per fare di più e più del lavoro, ma questo può essere un modo diverso di dire la stessa cosa.) Mancanza di comprensione di un programma ' s struttura e la funzionalità è un modo sicuro per non riescono a individuare gli errori nel programma e, quindi, l'uso delle lingue meglio dovrebbe, viceversa, ridurre il numero di errori, consentendo una migliore comprensione.
Miglioramenti nelle lingue tendono a fornire il software di progettazione incrementale ha tentato di fare in un sol colpo: il software a considerare sempre più livelli di astrazione. Tali invenzioni come dichiarazione, sotto-routine, file, classe, modello, una biblioteca, e la componente più hanno permesso la sistemazione di una parte del programma che saranno specificate utilizzando astrazioni come strati, gerarchie e moduli, che forniscono la struttura a diversi granularities, in modo che da ogni punto di vista del programma codice può essere immaginato di essere ordinato e comprensibile.
Inoltre, i miglioramenti nelle lingue più esatta hanno consentito il controllo della forma e l'uso di elementi di dati, che si conclude con il tipo di dati astratti. Questi tipi di dati può essere specificato a un ottimo livello, tra cui come e quando vi si accede, e anche lo stato dei dati prima e dopo che si accede.
Test
Software di prova, quando fatto correttamente, può aumentare la qualità globale di software di conformità da prove che il prodotto è conforme alle sue esigenze. Test comprende, ma non limitati a:
- Unit Test
- Functional Testing
- Performance Test
- Test di failover
- Test di usabilità
Un certo numero di metodologie agili utilizzo di test nelle prime fasi del ciclo di sviluppo, di garantire la qualità dei loro prodotti. Ad esempio, il test-driven pratiche in materia di sviluppo, se le prove sono scritte prima che il codice di prova, è utilizzato in Extreme Programming per garantire la qualità.
Durata
Durata affidabilità determinazioni sono simili ai test, ma andare al di là della semplice conferma di comportamento per la valutazione della qualità, come le prestazioni e l'interoperabilità con altri codici o particolari configurazioni hardware ...
Fonte: http://www.articlesbase
Website Design articoli correlati
Tag: Software Outsourcing
Questa voce è stato postato su Venerdì, Novembre 7th, 2008 at 9:07 am ed è archiviato sotto Flash, Flex Progettazione, Sviluppo Software, Software Outsourcing, Web Development. Puoi seguire tutte le risposte a questa entrata con RSS 2.0 alimentazione. Potete lasciare una risposta, oppure trackback dal tuo sito.

















