Ohjelmistokehityksen elinkaari (SDLC) vaiheet ja mallit
Mikä on SDLC?
SDLC on systemaattinen ohjelmistojen rakentamisprosessi, joka varmistaa rakennetun ohjelmiston laadun ja oikeellisuuden. SDLC-prosessin tavoitteena on tuottaa korkealaatuisia ohjelmistoja, jotka vastaavat asiakkaiden odotuksia. Järjestelmän kehittämisen tulee olla valmis ennalta määrätyssä ajassa ja kustannuksissa. SDLC koostuu yksityiskohtaisesta suunnitelmasta, joka selittää, miten tiettyjä ohjelmistoja suunnitellaan, rakennetaan ja ylläpidetään. Jokaisella SDLC-elinkaarivaiheella on oma prosessinsa ja suoritteensa, jotka siirtyvät seuraavaan vaiheeseen. SDLC tarkoittaa Ohjelmistokehityksen elinkaari ja sitä kutsutaan myös sovelluskehityksen elinkaariksi.
Miksi SDLC?
Tässä ovat tärkeimmät syyt, miksi SDLC on tärkeä ohjelmistojärjestelmän kehittämisessä.
- Se tarjoaa pohjan projektin suunnittelulle, ajoitukselle ja arvioinnille
- Tarjoaa puitteet standardoiduille toimille ja suorituksille
- Se on mekanismi projektin seurantaan ja hallintaan
- Lisää projektisuunnittelun näkyvyyttä kaikille kehitysprosessin sidosryhmille
- Lisää ja tehostaa kehitysnopeutta
- Parannetut asiakassuhteet
- Auttaa vähentämään projektiriskejä ja projektinhallintasuunnitelman yleiskustannuksia
SDLC-vaiheet
Koko SDLC-prosessi on jaettu seuraaviin SDLC-vaiheisiin:
- Vaihe 1: Vaatimusten kerääminen ja analysointi
- Vaihe 2: Toteutettavuustutkimus
- Vaihe 3: Suunnittelu
- Vaihe 4: Koodaus
- Vaihe 5: Testaus
- Vaihe 6: Asennus/käyttöönotto
- Vaihe 7: Huolto
Tässä opetusohjelmassa olen selittänyt kaikki nämä ohjelmistokehityksen elinkaarivaiheet
Vaihe 1: Vaatimusten kerääminen ja analysointi
Vaatimus on SDLC-prosessin ensimmäinen vaihe. Sen tekevät vanhemmat tiimin jäsenet kaikkien alan sidosryhmien ja alan asiantuntijoiden kanssa. Suunnittelua varten laadunvarmistus vaatimukset ja riskien tunnistaminen tehdään myös tässä vaiheessa.
Tämä vaihe antaa selkeämmän kuvan koko projektin laajuudesta ja odotettavissa olevista ongelmista, mahdollisuuksista ja ohjeista, jotka käynnistivät projektin.
Vaatimukset Kokoontumisvaiheessa tarvitaan tiimejä saadakseen yksityiskohtaiset ja tarkat vaatimukset. Tämä auttaa yrityksiä viimeistelemään tarvittavan aikajanan järjestelmän työn saattamiseksi päätökseen.
Vaihe 2: Toteutettavuustutkimus
Kun vaatimusanalyysivaihe on valmis, seuraava sdlc-vaihe on ohjelmistotarpeiden määrittely ja dokumentointi. Tämä prosessi suoritettiin "Software Requirement Specification" -asiakirjan avulla, joka tunnetaan myös nimellä "SRS"-asiakirja. Se sisältää kaiken, mitä tulee suunnitella ja kehittää projektin elinkaaren aikana.
Toteutettavuustarkastuksia on pääasiassa viittä tyyppiä:
- taloudellinen: Voimmeko toteuttaa projektin budjetin rajoissa vai emme?
- oikeudellinen: Pystymmekö käsittelemään tätä projektia kyberlain ja muun sääntelykehyksen/yhteensopivuuden perusteella.
- Operatoteutettavuus: Voimmeko luoda operaatioita, joita asiakas odottaa?
- Tekniset: On tarkistettava, tukeeko nykyinen tietokonejärjestelmä ohjelmistoa
- Aikataulu: Päätä, voidaanko projekti saada päätökseen annetussa aikataulussa vai ei.
Vaihe 3: Suunnittelu
Tässä kolmannessa vaiheessa järjestelmä- ja ohjelmistosuunnitteluasiakirjat laaditaan vaatimusmäärittelyasiakirjan mukaisesti. Tämä auttaa määrittämään järjestelmän kokonaisarkkitehtuurin.
Tämä suunnitteluvaihe toimii syötteenä mallin seuraavalle vaiheelle.
Tässä vaiheessa kehitetään kahdenlaisia suunnitteludokumentteja:
Korkean tason suunnittelu (HLD)
- Jokaisen moduulin lyhyt kuvaus ja nimi
- Yleiskatsaus jokaisen moduulin toimivuudesta
- Moduulien väliset rajapinnat ja riippuvuudet
- Tietokantataulukot tunnistetaan yhdessä niiden avainelementtien kanssa
- Täydelliset arkkitehtuurikaaviot tekniikan yksityiskohtien kanssa
Low-Level Design (LLD)
- Moduulien toiminnallinen logiikka
- Tietokantataulukot, jotka sisältävät tyypin ja koon
- Käyttöliittymän täydelliset yksityiskohdat
- Ratkaisee kaikenlaisia riippuvuusongelmia
- Virheilmoitusten luettelo
- Täydelliset tulot ja lähdöt jokaiselle moduulille
Vaihe 4: Koodaus
Kun järjestelmän suunnitteluvaihe on ohi, seuraava vaihe on koodaus. Tässä vaiheessa kehittäjät alkavat rakentaa koko järjestelmää kirjoittamalla koodia valitulla ohjelmointikielellä. Koodausvaiheessa tehtävät jaetaan yksiköihin tai moduuleihin ja jaetaan eri kehittäjille. Se on ohjelmistokehityksen elinkaariprosessin pisin vaihe.
Tässä vaiheessa kehittäjän on noudatettava tiettyjä ennalta määritettyjä koodausohjeita. Niitä on myös käytettävä ohjelmointityökalut kuten kääntäjä, tulkki, debuggeri koodin luomiseen ja toteuttamiseen.
Vaihe 5: Testaus
Kun ohjelmisto on valmis ja se otetaan käyttöön testausympäristössä. Testausryhmä alkaa testata koko järjestelmän toimivuutta. Tällä varmistetaan, että koko sovellus toimii asiakkaan vaatimusten mukaisesti.
Tämän vaiheen aikana laadunvarmistus ja testaustiimi voivat löytää virheitä/vikoja, jotka ne ilmoittavat kehittäjille. Kehitystiimi korjaa virheen ja lähettää takaisin QA:lle uudelleentestattavaksi. Tämä prosessi jatkuu, kunnes ohjelmisto on virheetön, vakaa ja toimii järjestelmän liiketoimintatarpeiden mukaisesti.
Vaihe 6: Asennus/käyttöönotto
Kun ohjelmiston testausvaihe on ohi eikä järjestelmään ole jäänyt bugeja tai virheitä, lopullinen käyttöönottoprosessi alkaa. Projektipäällikön antaman palautteen perusteella lopullinen ohjelmisto julkaistaan ja tarkistetaan mahdollisten käyttöönottoongelmien varalta.
Vaihe 7: Huolto
Kun järjestelmä on otettu käyttöön ja asiakkaat alkavat käyttää kehitettyä järjestelmää, tapahtuu seuraavat 3 toimintoa
- Virheenkorjaus – bugeista ilmoitetaan joidenkin skenaarioiden takia, joita ei testata ollenkaan
- Upgrade – Sovelluksen päivittäminen Ohjelmiston uudempiin versioihin
- Parannus – Joidenkin uusien ominaisuuksien lisääminen olemassa olevaan ohjelmistoon
Tämän SDLC-vaiheen pääpaino on varmistaa, että tarpeet täytetään edelleen ja että järjestelmä toimii edelleen ensimmäisessä vaiheessa mainitun spesifikaation mukaisesti.
Suosittuja SDLC-malleja
Tässä on joitain tärkeimmistä Software Development Life Cycle (SDLC) -malleista:
Vesiputousmalli SDLC:ssä
Vesiputous on laajalti hyväksytty SDLC-malli. Tässä lähestymistavassa koko ohjelmistokehitysprosessi on jaettu SDLC:n eri vaiheisiin. Tässä SDLC-mallissa yhden vaiheen tulos toimii syötteenä seuraavalle vaiheelle.
Tämä SDLC-malli on dokumentaatiointensiivinen, ja aikaisemmat vaiheet dokumentoivat, mitä on suoritettava seuraavissa vaiheissa.
Inkrementaalinen malli SDLC:ssä
Inkrementaalinen malli ei ole erillinen malli. Se on pohjimmiltaan sarja vesiputousjaksoja. Vaatimukset jaetaan ryhmiin projektin alussa. Jokaiselle ryhmälle noudatetaan SDLC-mallia ohjelmistojen kehittämisessä. SDLC-elinkaariprosessi toistetaan, ja jokainen julkaisu lisää toimintoja, kunnes kaikki vaatimukset täyttyvät. Tässä menetelmässä jokainen sykli toimii edellisen ohjelmistojulkaisun ylläpitovaiheena. Muutos inkrementtimalliin mahdollistaa kehityssyklien päällekkäisyyden. Tämän jälkeen seuraava sykli voi alkaa ennen kuin edellinen jakso on valmis.
V-malli SDLC:ssä
Tämän tyyppisessä SDLC-mallin testauksessa ja kehittämisessä vaihe suunnitellaan rinnakkain. Joten SDLC:n varmennusvaiheet ovat toisella puolella ja validointivaihe toisella puolella. V-Model liittyy koodausvaiheeseen.
Ketterä malli SDLC:ssä
Ketterä metodologia on käytäntö, joka edistää jatkuvaa kehitys- ja testausvuorovaikutusta minkä tahansa projektin SDLC-prosessin aikana. Agile-menetelmässä koko projekti jaetaan pieniin inkrementaalisiin rakenteisiin. Kaikki nämä koontiversiot tarjotaan iteraatioina, ja jokainen iteraatio kestää yhdestä kolmeen viikkoa.
Kierremalli
Spiraalimalli on riskilähtöinen prosessimalli. Tämä SDLC-testausmalli auttaa tiimiä ottamaan käyttöön yhden tai useamman prosessimallin elementtejä, kuten vesiputous, inkrementaalinen, vesiputous jne.
Tämä malli ottaa käyttöön prototyyppimallin ja vesiputousmallin parhaat ominaisuudet. Spiraalimetodologia on yhdistelmä nopeaa prototyyppien luomista ja samanaikaisuutta suunnittelussa ja kehitystoiminnassa.
Big bang malli
Big bang -malli keskittyy kaikenlaisiin resursseihin ohjelmistokehityksessä ja koodauksessa ilman suunnittelua tai se on hyvin vähän. Vaatimukset ymmärretään ja toteutetaan, kun ne tulevat.
Tämä malli toimii parhaiten pienissä projekteissa, joissa on pienempi kokoinen kehitystiimi, joka työskentelee yhdessä. Se on hyödyllinen myös akateemisissa ohjelmistokehitysprojekteissa. Se on ihanteellinen malli, jossa vaatimuksia ei tunneta tai lopullista julkaisupäivää ei ole annettu.
Yhteenveto
- Software Development Life Cycle (SDLC) on järjestelmällinen ohjelmistojen rakentamisprosessi, joka varmistaa rakennetun ohjelmiston laadun ja oikeellisuuden.
- Täysimuotoinen SDLC on Software Development Life Cycle tai Systems Development Life Cycle.
- Ohjelmistosuunnittelun SDLC tarjoaa puitteet standardoidulle toiminnalle ja suoritukselle
- Seitsemän erilaista SDLC-vaihetta ovat 1) Vaatimusten kerääminen ja analysointi 2) Toteutettavuustutkimus: 3) Suunnittelu 4) Koodaus 5) Testaus: 6) Asennus/käyttöönotto ja 7) Huolto
- Vanhemmat tiimin jäsenet johtavat vaatimusanalyysi vaihe
- Toteutettavuustutkimusvaihe sisältää kaiken, mitä tulee suunnitella ja kehittää projektin elinkaaren aikana
- Suunnitteluvaiheessa järjestelmä- ja ohjelmistosuunnitteluasiakirjat laaditaan vaatimusmäärittelyasiakirjan mukaisesti
- Koodausvaiheessa kehittäjät alkavat rakentaa koko järjestelmää kirjoittamalla koodia valitulla ohjelmointikielellä
- Testaus on seuraava vaihe, jossa varmistetaan, että koko sovellus toimii asiakkaan vaatimusten mukaisesti.
- Asennus ja käyttöönotto alkaa, kun ohjelmistojen testaus vaihe on ohi, eikä järjestelmään ole jäänyt bugeja tai virheitä
- Virheenkorjaus-, päivitys- ja sitouttamistoimet katetaan ylläpitosivulla
- Waterfall, Incremental, Agile, V-malli, Spiral, Big Bang ovat joitain suosittuja SDLC-malleja ohjelmistosuunnittelussa
- SDLC ohjelmistotestauksessa koostuu yksityiskohtaisesta suunnitelmasta, joka selittää, kuinka tiettyjä ohjelmistoja suunnitellaan, rakennetaan ja ylläpidetään