Tipi di modelli di software di processo

March 29

Tipi di modelli di software di processo


Progettazione, costruzione e mantenimento di programmi software richiede tempo, denaro e, soprattutto, una metodologia, una linea di attacco. In caso contrario, le migliaia e migliaia di ingegneria del software compiti correlati richiede sarebbe rapidamente andare storto. Come software ei suoi usi sono evoluti e moltiplicati, così anche avere i processi utilizzati per produrlo.

tipi

Oggi, infatti, ci sono centinaia di modelli di sviluppo, anche se in pratica molti sono varianti su una dozzina di modelli in modo di base. Il più diffuso sono: la cascata, a spirale, codice-e-fix, prototipazione rapida, COTS (COTS) messa a punto, la prototipazione usa e getta, Extreme Programming (XP), il processo unitario (UP) e l'agile Processo. Decidere quale impiegare dipende in gran parte le future esigenze degli utenti finali e le aspettative, la complessità del progetto e la successiva manutenzione operativa e dei limiti di tempo di fronte gli ingegneri del software.

Importanza

La scrittura, assemblaggio e collaudo di codice è molto esigente, impresa molto elaborato. La funzione viene informatizzata deve essere scomposto nelle sue parti discrete, i compiti e le operazioni di ogni parte tradotti in linee di codice, e poi questi blocchi di codice integrati con i loro blocchi circostanti e il programma nel suo complesso. Una volta che è installato e funzionante, anomalie impreviste invariabilmente superficie che richiedono patch e correzioni. Un programma con una lunga durata di vita operativa deve essere periodicamente aggiornato.

Expert Insight

Alcuni modelli adatti alcune organizzazioni meglio di altri. ambienti immutabili, Frank Kand della London School of Economics ha osservato, hanno molto specifiche procedure operative standard. I modelli basandosi sulla documentazione rigorosa e scrupolosa di sviluppo come la cascata e il lavoro a spirale meglio qui. Ma se il cambiamento costante è la norma, l'organizzazione è meglio servita da prototipazione rapida. A volte, però, l'organizzazione impara come si muove avanti, e gli sviluppatori di software deve fare i conti con incognite. Qui, prototipazione usa e getta, lo sviluppo esplorativo e processi software agili funzionano meglio.

processi strutturati

Approfondita e richiede molto tempo, il processo a cascata "definisce prima che si progetta" e "disegni prima di esso codici." esigenze degli utenti sono documentate e requisiti software identificato, allora l'architettura del sistema è stato progettato; codifica e follow test. Ma non è un processo iterativo, quella in cui le idee e il codice di progettazione sono più volte rivisitati e raffinato. Spesso le esigenze degli utenti vaghi tornano a perseguitare gli sviluppatori. Prendendo un approccio più graduale, il processo a spirale gestisce questo e altri rischi. Ogni fase eroga parte del software completata. I rischi ei vincoli vengono analizzati e nuovi approcci esplorati in precedenza. Gli sviluppatori quindi spesso si combinano entrambi i processi.

Processi non strutturati

Gli utenti finali spesso gli sviluppatori presenti con al massimo un set abbozzato di requisiti iniziali. Così i progettisti di costruire un prototipo con il cliente, testarlo, raffinare e testare di nuovo fino a quando il cliente è soddisfatto. A volte gli sviluppatori non hanno ancora la serie più rudimentale di esigenze dell'utente finale all'inizio di un progetto e, quindi, contare su un on-the-fly, nome in codice e-fix processo esplorativo. COTS viene utilizzato quando il tempo e vincoli di finanziamento pesano. Anche se opportuno, tweaking software off-the-shelf ha un lato negativo: compromessi funzionali spesso devono essere fatte e dei problemi di interoperabilità superati.