Programinės įrangos kūrimo gyvavimo ciklas (SDLC) eina per įvairius etapus, tokius kaip planavimas, reikalavimų įvertinimas, analizė, projektavimas, vykdymas, dokumentacija, testavimas ir kt. Kiekvienas etapas toliau skirstomas į užduotis su tinkamai apibrėžtais tikslais ir rezultatais.
Analizė ir projektavimas yra etapai, kuriuose nustatoma tikroji programinės įrangos produkto kūrimo architektūra, darbo modelis ir vykdymo procesas.
Du esminiai žingsniai šiuose etapuose yra aukšto lygio sistemos projektavimas ir žemo lygio sistemos projektavimas.
Kas yra aukšto lygio sistemos projektavimas?
Aukšto lygio dizainas (HLD) pateikia išsamią programinės įrangos kūrimo proceso apžvalgą kartu su sistemos architektūra, taikomosios programos, duomenų bazių valdymas ir visa sistemos schema ir navigacija. Tai planas, kuriame sujungiami įvairūs žingsniai ir moduliai, jų tikslai, kintamieji komponentai, rezultatai, architektūra ir programinės įrangos kūrimo laiko juosta. HLD verslo planą paverčia programinės įrangos produktu ar paslauga.
Programinės įrangos kūrimo HLD pavyzdžiai yra sistemos architektūros dokumentai, programų kūrimo schemos ir kt.
Kas yra žemo lygio sistemos projektavimas?
Žemo lygio projektavimas (LLD) susijęs su įvairių HLD komponentų, modulių ir žingsnių planavimu, kodavimu ir vykdymu individualiu lygiu. Kiekvienas HLD modulis turi unikalų LLD dokumentą, kuriame pateikiama išsami informacija apie tai, kaip modulis bus užkoduotas, vykdomas, patikrintas dėl kokybės ir integruotas į didesnę programą. LLD pateikia įgyvendinamus planus, dekonstruodama HLD komponentus į veikiančius sprendimus.
LLD pavyzdžiai programinės įrangos kūrimo srityje apima krepšelio integravimą, saugos testavimą, vartotojo sąsajos dizainą ir kt.
Skirtumai tarp HLD ir LLD
HLD ir LLD taip pat atlieka įvairias funkcijas ir tikslus, pvz aukšto lygio programavimo kalbos ir žemo lygio programavimo kalbos.
Makro prieš. Mikro architektūra ir dizainas
HLD yra makro lygio dizainas, suteikiantis programinės įrangos kūrimo proceso vaizdą iš paukščio skrydžio. Jame pateikiamos diagramos, struktūrinės diagramos, naršymo detalės ir kiti techniniai reikalavimai, kurie bus kūrimo proceso esmė.
Be struktūrinių schemų, diagramų, navigacinės informacijos ir techninių reikalavimų, LLD taip pat turi išsamią informaciją apie kiekvieno HLD komponento nuoseklų vykdymą. Ji susijusi su programinės įrangos kūrimu mikro lygiu.
Kiekvienas HLD komponentas turi unikalų LLD dokumentą.
Vystymosi chronologija
HLD yra prieš LLD fazę. Kai HLD bus įdiegta ir patvirtinta vykdyti, galima pradėti darbą su atskiromis LLD.
HLD prasideda, kai yra sprendžiami planavimo ir reikalavimų etapai, ir neturi kitų priklausomybių.
Kita vertus, LLD reikia vykdyti tam tikra tvarka. Kai kurie moduliai turi palaukti, kol bus baigti kiti.
LLD patenka į SDLC projektavimo etapą, o HLD patenka į SDLC analizės fazę.
Tikslas
- HLD tikslas yra išvardyti įvairių modulių funkcinius aspektus kartu su galutiniu rezultatu.
- LLD tikslas yra detalizuoti kiekvieno HLD modulio logiką ir vykdymą.
Suinteresuotosios šalys
Sprendimo architektai yra atsakingi už HLD dokumento sukūrimą. Ji gali turėti vidinių ir išorinių suinteresuotųjų šalių, pavyzdžiui, peržiūros grupę, kuri atsižvelgia į programinės įrangos metrikos, projektavimo komanda, klientai ir vadovai.
LLD tvarko programinės įrangos kūrėjai, žiniatinklio administratoriai, saugos inžinieriai ir kt., kurie yra įmonės ar pardavėjų komandų dalis. LLD paprastai apsiriboja vidinėmis suinteresuotosiomis šalimis.
Tikslinė auditorija
HLD dokumentų tikslinė auditorija yra vadovai, klientai ir programinės įrangos kūrimo komandos.
Programinės įrangos inžinieriai, programuotojai, testuotojai ir kūrėjai, dirbantys su projektu, yra tikslinė LLD dokumentų auditorija.
Numatomas rezultatas
- HLD rezultatas yra programinės įrangos produktas arba paslauga, paruošta išsiųsti galutiniam vartotojui.
- LLD rezultatas yra vieno HLD modulio, pavyzdžiui, kodavimo ar testavimo etapų, užbaigimas.
Programinės įrangos projektavimo dokumentų supratimas
Programinės įrangos projektavimo dokumentai apibūdina struktūrinius, funkcinius ir loginius a. kūrimo aspektus programinės įrangos produktą ar paslaugą be techninių reikalavimų ir kitokio įgyvendinimo detales. Nesvarbu, ar projektas susijęs su makro- ar mikro-lygio vykdymu, programuotojai ir kitos suinteresuotosios šalys turėtų žinoti ir suprasti programinės įrangos kūrimo proceso apimtį ir įvairius etapus.