Faze i modeli životnog ciklusa razvoja softvera (SDLC).
Što je SDLC?
SDLC je sustavan proces izgradnje softvera koji osigurava kvalitetu i ispravnost izgrađenog softvera. SDLC proces ima za cilj proizvesti visokokvalitetni softver koji ispunjava očekivanja kupaca. Razvoj sustava trebao bi biti dovršen u unaprijed definiranom vremenskom okviru i trošku. SDLC se sastoji od detaljnog plana koji objašnjava kako planirati, izgraditi i održavati određeni softver. Svaka faza životnog ciklusa SDLC-a ima vlastiti proces i rezultate koji se unose u sljedeću fazu. SDLC je kratica za Životni ciklus razvoja softvera a naziva se i životni ciklus razvoja aplikacije.
Zašto SDLC?
Evo glavnih razloga zašto je SDLC važan za razvoj softverskog sustava.
- Nudi osnovu za planiranje projekta, planiranje i procjenu
- Pruža okvir za standardni skup aktivnosti i rezultata
- To je mehanizam za praćenje i kontrolu projekta
- Povećava vidljivost planiranja projekta svim uključenim dionicima razvojnog procesa
- Povećana i poboljšana brzina razvoja
- Poboljšani odnosi s klijentima
- Pomaže vam smanjiti rizik projekta i troškove plana upravljanja projektom
SDLC faze
Cijeli SDLC proces podijeljen je u sljedeće SDLC korake:
- Faza 1: Prikupljanje i analiza zahtjeva
- Faza 2: Studija izvodljivosti
- Faza 3: Dizajn
- Faza 4: Kodiranje
- Faza 5: Testiranje
- Faza 6: Instalacija/uvođenje
- Faza 7: Održavanje
U ovom vodiču objasnio sam sve te faze životnog ciklusa razvoja softvera
Faza 1: Prikupljanje i analiza zahtjeva
Zahtjev je prva faza u SDLC procesu. Provode ga stariji članovi tima uz doprinose svih dionika i stručnjaka za područje u industriji. Planiranje za osiguravanje kvalitete zahtjevi i prepoznavanje uključenih rizika također se obavlja u ovoj fazi.
Ova faza daje jasniju sliku opsega cijelog projekta i očekivanih problema, prilika i smjernica koje su pokrenule projekt.
Zahtjevi Faza prikupljanja zahtijeva timove kako bi dobili detaljne i precizne zahtjeve. To pomaže tvrtkama da finaliziraju potreban vremenski okvir za završetak rada tog sustava.
Faza 2: Studija izvodljivosti
Nakon što je faza analize zahtjeva dovršena, sljedeći sdlc korak je definiranje i dokumentiranje softverskih potreba. Ovaj se proces provodi uz pomoć dokumenta 'Specifikacija softverskih zahtjeva' poznatog i kao dokument 'SRS'. Uključuje sve što treba dizajnirati i razviti tijekom životnog ciklusa projekta.
Postoji uglavnom pet vrsta provjera izvedivosti:
- Ekonomski: Možemo li završiti projekt unutar proračuna ili ne?
- Pravna: Možemo li se nositi s ovim projektom kao s cyber zakonima i drugim regulatornim okvirom/sukladnostima.
- Operaizvedivost: Možemo li kreirati operacije koje klijent očekuje?
- Tehnički: Treba provjeriti podržava li trenutni računalni sustav softver
- Raspored: Odlučite može li se projekt dovršiti unutar zadanog rasporeda ili ne.
Faza 3: Dizajn
U ovoj trećoj fazi, projektni dokumenti sustava i softvera pripremaju se prema dokumentu specifikacije zahtjeva. Ovo pomaže u definiranju cjelokupne arhitekture sustava.
Ova faza dizajna služi kao ulaz za sljedeću fazu modela.
U ovoj fazi razvijene su dvije vrste projektnih dokumenata:
Dizajn visoke razine (HLD)
- Kratak opis i naziv svakog modula
- Pregled funkcionalnosti svakog modula
- Odnos sučelja i ovisnosti između modula
- Tablice baze podataka identificirane zajedno s njihovim ključnim elementima
- Potpuni dijagrami arhitekture zajedno s detaljima tehnologije
Dizajn niske razine (LLD)
- Funkcionalna logika modula
- Tablice baze podataka, koje uključuju vrstu i veličinu
- Kompletan detalj sučelja
- Rješava sve vrste problema ovisnosti
- Popis poruka o greškama
- Kompletan ulaz i izlaz za svaki modul
Faza 4: Kodiranje
Nakon završetka faze projektiranja sustava, sljedeća faza je kodiranje. U ovoj fazi programeri počinju graditi cijeli sustav pisanjem koda koristeći odabrani programski jezik. U fazi kodiranja zadaci se dijele na cjeline ili module i dodjeljuju različitim programerima. To je najduža faza procesa životnog ciklusa razvoja softvera.
U ovoj fazi programer mora slijediti određene unaprijed definirane smjernice za kodiranje. Oni također trebaju koristiti alati za programiranje poput prevoditelja, tumača, programa za ispravljanje pogrešaka za generiranje i implementaciju koda.
Faza 5: Testiranje
Nakon što je softver dovršen, on se postavlja u okolinu za testiranje. Tim za testiranje počinje s testiranjem funkcionalnosti cijelog sustava. Ovo se radi kako bi se provjerilo radi li cijela aplikacija u skladu sa zahtjevima korisnika.
Tijekom ove faze QA i tim za testiranje mogu pronaći neke pogreške/defekte koje će priopćiti programerima. Razvojni tim ispravlja grešku i šalje natrag u QA na ponovno testiranje. Ovaj proces se nastavlja sve dok softver ne bude bez grešaka, stabilan i radi u skladu s poslovnim potrebama tog sustava.
Faza 6: Instalacija/uvođenje
Nakon što je faza testiranja softvera gotova i kada u sustavu više nema bugova ili grešaka, počinje konačni proces postavljanja. Na temelju povratnih informacija koje je dao voditelj projekta, konačni softver se izdaje i provjerava ima li problema s implementacijom, ako ih ima.
Faza 7: Održavanje
Nakon što je sustav implementiran i korisnici počnu koristiti razvijeni sustav, događaju se sljedeće 3 aktivnosti
- Ispravljanje pogrešaka – pogreške se prijavljuju zbog nekih scenarija koji uopće nisu testirani
- Upgrade – Nadogradnja aplikacije na novije verzije softvera
- Poboljšanje – Dodavanje nekih novih značajki u postojeći softver
Glavni fokus ove SDLC faze je osigurati da se potrebe i dalje zadovoljavaju i da sustav nastavi raditi prema specifikaciji spomenutoj u prvoj fazi.
Popularni SDLC modeli
Ovdje su neki od najvažnijih modela životnog ciklusa razvoja softvera (SDLC):
Model vodopada u SDLC-u
Vodopad je široko prihvaćen SDLC model. U ovom pristupu, cijeli proces razvoja softvera podijeljen je u različite faze SDLC-a. U ovom SDLC modelu, ishod jedne faze djeluje kao ulaz za sljedeću fazu.
Ovaj SDLC model zahtijeva intenzivnu dokumentaciju, s ranijim fazama koje dokumentiraju što je potrebno izvesti u sljedećim fazama.
Inkrementalni model u SDLC-u
Inkrementalni model nije zaseban model. To je u biti niz ciklusa vodopada. Zahtjevi su podijeljeni u skupine na početku projekta. Za svaku skupinu slijedi SDLC model za razvoj softvera. Proces životnog ciklusa SDLC-a se ponavlja, sa svakim izdanjem koje dodaje više funkcionalnosti dok se ne ispune svi zahtjevi. U ovoj metodi, svaki ciklus djeluje kao faza održavanja za prethodno izdanje softvera. Modifikacija inkrementalnog modela omogućuje preklapanje razvojnih ciklusa. Nakon toga sljedeći ciklus može započeti prije završetka prethodnog ciklusa.
V-model u SDLC-u
U ovoj vrsti testiranja i razvoja SDLC modela faza se planira paralelno. Dakle, postoje faze verifikacije SDLC-a s jedne strane i faza validacije s druge strane. V-Model se spaja fazom kodiranja.
Agilni model u SDLC-u
Agilna metodologija je praksa koja promiče kontinuiranu interakciju razvoja i testiranja tijekom SDLC procesa bilo kojeg projekta. U Agile metodi, cijeli projekt je podijeljen u male inkrementalne izgradnje. Sve ove verzije pružaju se u iteracijama, a svaka iteracija traje od jednog do tri tjedna.
Spiralni model
Spiralni model je model procesa vođen rizikom. Ovaj SDLC model testiranja pomaže timu da usvoji elemente jednog ili više modela procesa kao što su vodopad, inkrementalni, vodopad itd.
Ovaj model preuzima najbolje značajke modela izrade prototipa i modela vodopada. Spiralna metodologija kombinacija je brze izrade prototipova i istodobnosti u aktivnostima dizajna i razvoja.
Big bang model
Model velikog praska fokusira se na sve vrste resursa u razvoju softvera i kodiranju, bez ili s vrlo malo planiranja. Zahtjevi se razumiju i provode kada dođu.
Ovaj model najbolje funkcionira za male projekte s manjim razvojnim timom koji radi zajedno. Također je koristan za akademske projekte razvoja softvera. To je idealan model za koji zahtjevi nisu poznati ili nije naveden konačni datum izdavanja.
rezime
- Životni ciklus razvoja softvera (SDLC) je sustavan proces za izgradnju softvera koji osigurava kvalitetu i ispravnost izgrađenog softvera
- Puni oblik SDLC je životni ciklus razvoja softvera ili životni ciklus razvoja sustava.
- SDLC u programskom inženjerstvu pruža okvir za standardni skup aktivnosti i isporuka
- Sedam različitih faza SDLC-a su 1) Prikupljanje i analiza zahtjeva 2) Studija izvedivosti: 3) Dizajn 4) Kodiranje 5) Testiranje: 6) Instalacija/uvođenje i 7) Održavanje
- Članovi starijeg tima provode analiza zahtjeva faza
- Faza Studije izvodljivosti uključuje sve što treba projektirati i razviti tijekom životnog ciklusa projekta
- U fazi projektiranja, projektni dokumenti sustava i softvera pripremaju se prema dokumentu specifikacije zahtjeva
- U fazi kodiranja programeri počinju graditi cijeli sustav pisanjem koda koristeći odabrani programski jezik
- Testiranje je sljedeća faza koja se provodi kako bi se provjerilo radi li cijela aplikacija u skladu sa zahtjevima korisnika.
- Lice instalacije i postavljanja počinje kada testiranje softvera faza je gotova iu sustavu više nema bugova ili grešaka
- Radnje ispravljanja pogrešaka, nadogradnje i uključivanja obuhvaćene licem održavanja
- Waterfall, Incremental, Agile, V model, Spiral, Big Bang neki su od popularnih SDLC modela u softverskom inženjerstvu
- SDLC u testiranju softvera sastoji se od detaljnog plana koji objašnjava kako planirati, izgraditi i održavati određeni softver