Inkrementalni model u SDLC-u: upotreba, prednost i nedostatak
⚡ Pametni sažetak
Inkrementalni model u SDLC-u gradi softver u uzastopnim modulima, pri čemu svaki inkrement dodaje funkciju sve dok se cijeli sustav ne dovrši. Ovaj resurs objašnjava njegove karakteristike, faze, upotrebu te prednosti i nedostatke.

Što je inkrementalni model?
Inkrementalni model je proces razvoja softvera u kojem se zahtjevi raščlanjuju u više samostalnih modula ciklusa razvoja softvera. Inkrementalni razvoj se izvodi u koracima, od analize, dizajna, implementacije i testiranja ili verifikacije do održavanja.
Svaka iteracija prolazi kroz faze zahtjeva, dizajna, kodiranja i testiranjaSvako sljedeće izdanje sustava dodaje funkcije prethodnom izdanju, sve dok se ne implementiraju sve dizajnirane funkcionalnosti.
Sustav se pušta u produkciju kada se isporuči prvi inkrement. Prvi inkrement je često osnovni proizvod gdje se rješavaju osnovni zahtjevi, a dodatne značajke se dodaju u sljedećim inkrementima. Nakon što klijent analizira osnovni proizvod, postoji plan za razvoj sljedećeg inkrementa.
Karakteristike inkrementalnog modela
- Razvoj sustava podijeljen je na mnoge mini razvojne projekte.
- Djelomični sustavi se sukcesivno grade kako bi se dobio konačni, cjeloviti sustav.
- Prvo se rješava zahtjev najvišeg prioriteta.
- Nakon što je zahtjev razvijen, zahtjev za taj prirast se zamrzava.
| Inkrementalne faze | Aktivnosti koje se izvode u inkrementalnim fazama |
|---|---|
| Analiza zahtjeva |
|
| dizajn |
|
| Code |
|
| test |
|
Kada koristiti inkrementalne modele?
- Zahtjevi sustava su jasno razumljivi.
- Kada postoji potražnja za prijevremenim izdavanjem proizvoda.
- Kada programsko inženjerstvo tim nije baš dobro vješt ili obučen.
- Kada su u pitanju visokorizične značajke i ciljevi.
- Takva metodologija se više koristi za web aplikacije i tvrtke temeljene na proizvodima.
Prednosti i nedostaci inkrementalnog modela
| Prednosti | Nedostaci |
|---|---|
| Softver se brzo generira tijekom životnog ciklusa softvera. | Zahtijeva dobro planiranje i dizajn. |
| Fleksibilno je i jeftinije mijenjati zahtjeve i opseg. | Problemi mogu nastati iz arhitekture sustava, jer se ne prikupljaju svi zahtjevi unaprijed za cijeli životni ciklus softvera. |
| Promjene se mogu napraviti tijekom svih faza razvoja. | Svaka iteracijska faza je kruta i ne preklapa se s ostalima. |
| Ovaj model je jeftiniji u usporedbi s drugima. | Rješavanje problema u jednoj jedinici zahtijeva ispravljanje u svim jedinicama i oduzima puno vremena. |
| Kupac može odgovoriti na svaku izradu. | |
| Greške je lako prepoznati. |


