Modelul Spiral , propus de Barry Boehm în 1986 , a reprezentat o descoperire semnificativă în înțelegerea naturii dezvoltării software. Este un proces de dezvoltare software care combină atât iterația, cât și etapa.
O trăsătură distinctivă a acestui model este atenția deosebită acordată riscurilor care afectează organizarea ciclului de viață. Boehm formulează cele mai comune zece riscuri (prioritate):
Cele mai multe dintre aceste riscuri sunt legate de aspectele organizatorice și de proces ale interacțiunii specialiștilor din echipa de proiect.
Fiecare tură a spiralei corespunde creării unui fragment sau a unei versiuni a software-ului, pe care sunt specificate obiectivele și caracteristicile proiectului, este determinată calitatea acestuia și este planificată activitatea următoarei ture a spiralei. Astfel, detaliile proiectului sunt aprofundate și concretizate în mod consecvent, iar ca urmare, se selectează o opțiune rezonabilă, care este adusă la implementare. Fiecare tură este împărțită în 4 sectoare:
Pe fiecare tură a spiralei pot fi aplicate diferite modele ale procesului de dezvoltare software. Rezultatul final este un produs finit.
Dezvoltarea prin iterații reflectă ciclul spiral existent în mod obiectiv al creării sistemului. Finalizarea incompletă a lucrărilor la fiecare etapă vă permite să treceți la următoarea etapă fără a aștepta finalizarea completă a lucrărilor pe cea curentă. Cu dezvoltarea iterativă, lucrarea lipsă poate fi finalizată în următoarea iterație.
Sarcina principală este de a arăta utilizatorilor sistemului un produs funcțional cât mai curând posibil, activând astfel procesul de clarificare și completare a cerințelor. Principala problemă a ciclului spirală este determinarea momentului de tranziție la etapa următoare. Pentru a o rezolva, este necesar să se introducă limite de timp pentru fiecare dintre etapele ciclului de viață. Tranziția decurge conform planului, chiar dacă nu toate lucrările planificate sunt finalizate. Planul este întocmit pe baza datelor statistice obținute în proiectele anterioare și a experienței personale a dezvoltatorilor.
Dezvoltare de software | |
---|---|
Proces | |
Concepte de nivel înalt | |
Directii |
|
Metodologii de dezvoltare | |
Modele |
|
Cifre notabile |
|