Cicluri de viatã ale software-lui

Download Report

Transcript Cicluri de viatã ale software-lui

INGINERIE SOFTWARE
Ştefan Stăncescu
CURSUL 2
Cicluri de viata ale produselor SW.
INGINERIA SOFTWARE StSt
2
CURSUL 2- Cicluri de viata ale produselor SW
CICLUL DE VIATA AL UNUI PRODUS SW – DEF
diagramă care reprezintă un
model al
evoluţiei unui produs software,
de la apariţia unei nevoi la utilizator,
trecând prin specificarea cerinţelor,
modelarea de sistem,
proiectarea produsului,
verificare, validare şi
intrarea în operare a produsului,
inclusiv mentenanta, adaptarea, reutilizarea, etc.
INGINERIA SOFTWARE StSt
3
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclul de viaţă „în V”
INGINERIA SOFTWARE StSt
4
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclul de viaţă în cascadă
INGINERIA SOFTWARE StSt
5
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclul implementare-reparaţie
INGINERIA SOFTWARE StSt
6
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclul de viaţă în cascadă modificată
INGINERIA SOFTWARE StSt
7
CURSUL 2- Cicluri de viata ale produselor SW
• Cascadă cu subproiecte
INGINERIA SOFTWARE StSt
8
CURSUL 2- Cicluri de viata ale produselor SW
• Cascadă cu reducerea riscului
INGINERIA SOFTWARE StSt
9
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclu de viaţă prototip evolutiv (evolutionary prototyping)
INGINERIA SOFTWARE StSt
10
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclu de viaţă cu livrarea în etape (staged delivery)
INGINERIA SOFTWARE StSt
11
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclu de viaţă cu proiect la termen (design-to-schedule)
INGINERIA SOFTWARE StSt
12
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclu de viaţă cu livrare treptată (evolutionary delivery)
INGINERIA SOFTWARE StSt
13
CURSUL 2- Cicluri de viata ale produselor SW
• Ciclu de viaţă cu mediu de dezvoltare (design-to-tools)
INGINERIA SOFTWARE StSt
14
CURSUL 2- Cicluri de viata ale produselor SW
• Utilizarea de software comercial
preluarea şi adaptarea
unei soluţii deja existente,
elaborate de o altă casă de software,
de regulă cu renume bine stabilit.
soluţia este viabilă
dacă utilizatorul doreşte ca
produsul să fie disponibil imediat.
Problema:
aceste programe nu vor îndeplini exact cerinţele clientului,
versiunile ulterioare nu se garantează că pot satisface
într-o măsură mai bună
cerinţele utilizatorilor.
INGINERIA SOFTWARE StSt
15
CURSUL 2- Cicluri de viata ale produselor SW
• Alegerea modelului de ciclu de viaţă potrivit pentru un
produs software
•
•
•
•
•
•
•
•
•
•
I Etapa: Criterii
cât de bine înţeleg ambele părţi (dezvoltatorul şi clientul) cerinţele;
dinamica cerinţelor pe parcursul dezvoltării şi ulterior;
înţelegerea arhitecturii sistemului şi flexibilitatea acesteia;
nivelul de fiabilitate dorit;
nevoia de proiectare /implementare în avans;
nivelul riscului acceptabil;
existenţa unui termen limită;
apariţia de schimbări pe parcurs;
informarea clientului asupra evoluţiei proiectului;
informarea conducerii asupra evoluţiei proiectului.
INGINERIA SOFTWARE StSt
16
CURSUL 2- Cicluri de viata ale produselor SW
• Alegerea modelului de ciclu de viaţă potrivit pentru un
produs software II Etapa: Tabel
INGINERIA SOFTWARE StSt
17
CURSUL 2- Cicluri de viata ale produselor SW
• Alegerea modelului de ciclu de viaţă potrivit pentru un
produs software III Etapa: Alegerea optima
•
•
•
•
•
•
•
•
•
•
•
Funcţionarea cu înţelegerea minimă a cerinţelor arată dacă este necesară o înţelegere exactă a cerinţelor, atât din partea clientului,
cât şi din partea dezvoltatorului; de asemenea, arată dacă există posibilitatea schimbării pe parcurs a acestor cerinţe.
Funcţionarea cu înţelegerea minimă a arhitecturii arată care e capacitatea modelului de dezvoltare a noilor aplicaţii sau a noilor
facilităţi pentru aplicaţii.
Producerea sistemelor fiabile evidenţiază nivelul de defecte ce pot apărea într-o dezvoltare.
Controlul riscurilor măsoară cât de bine se potriveşte modelul la identificarea şi controlul riscurilor legate de termenul de predare,
riscurile produsului etc.
Criteriul termenului limită arată dacă un model poate fi aplicat astfel încât o anumită dată limită să nu fie depăşită.
Criteriul referitor la corecţiile de pe parcurs arată în ce grad este permisă schimbarea unor părţi din proiect chiar în timpul
desfăşurării proiectului.
Vizibilitatea progresului la client arată dacă poate sau nu să fie prezentat progresul procesului de dezvoltare a produsului pe
parcurs, clientul având posibilitatea să vadă şi, eventual, să controleze evoluţia.
Vizibilitatea progresului la dezvoltator arată dacă poate sau nu să fie prezentat progresul procesului de dezvoltare a produsului pe
parcurs, dezvoltatorul având posibilitatea să vadă şi, eventual, să controleze evoluţia.
Cerinţele de experienţa minimă a dezvoltatorului arată dacă un dezvoltator trebuie sau nu să aibă o experienţă minimă în
realizarea de proiecte.
Dezvoltarea ulterioară este un criteriu care măsoară cât de capabil este modelul respectiv să suporte modificări asupra sa în timpul
vieţii efective a produsului, modificări pe care proiectanţii iniţiali nu le-au luat în calcul.
Criteriul referitor la probleme auxiliare arată în ce măsură se poate adapta procesul de dezvoltare dacă, pe parcursul realizării unui
proiect cu modelul respectiv, pot apărea alte probleme (planificare, monitorizarea stării, achiziţionarea de pachete), activităţi care
nu fac parte de realizarea efectivă a produsului software.
INGINERIA SOFTWARE StSt
18