Životný cyklus vývoja softvéru (SDLC) prechádza rôznymi fázami, ako je plánovanie, hodnotenie požiadaviek, analýza, návrh, realizácia, dokumentácia, testovanie atď. Každá fáza je ďalej rozdelená na úlohy so správne definovanými cieľmi a výsledkami.

Analýza a návrh sú fázy, v ktorých sa stanovuje skutočná architektúra, pracovný model a proces vykonávania vytvárania softvérového produktu.

Dva kľúčové kroky v týchto fázach sú návrh systému na vysokej úrovni a návrh systému na nízkej úrovni.

Čo je návrh systému na vysokej úrovni?

High-Level Design (HLD) poskytuje komplexný prehľad o procese vývoja softvéru spolu s architektúru systému, aplikácie, správu databázy a kompletný vývojový diagram systému a navigácia. Je to plán, ktorý konsoliduje rôzne kroky a moduly, ich ciele, variabilné komponenty, výsledky, architektúru a časovú os vývoja softvéru. HLD premieňa obchodný plán na softvérový produkt alebo službu.

Príklady HLD pri vývoji softvéru zahŕňajú dokumenty systémovej architektúry, vývojové diagramy vývoja aplikácií atď.

instagram viewer

Čo je to nízkoúrovňový systémový dizajn?

Nízkoúrovňový dizajn (LLD) sa zaoberá plánovaním, kódovaním a vykonávaním rôznych komponentov, modulov a krokov v HLD na individuálnej úrovni. Každý modul v HLD má jedinečný dokument LLD, ktorý poskytuje komplexné podrobnosti o tom, ako bude modul kódovaný, spustený, testovaný na kvalitu a integrovaný do väčšieho programu. LLD poskytuje akčné plány dekonštrukciou komponentov HLD na funkčné riešenia.

Príklady LLD pri vývoji softvéru zahŕňajú integráciu košíka, testovanie bezpečnosti, návrh používateľského rozhrania atď.

Rozdiely medzi HLD a LLD

HLD a LLD tiež slúžia na rôzne funkcie a účely, napr programovacie jazyky na vysokej úrovni a nízkoúrovňové programovacie jazyky.

Makro vs. Mikro architektúra a dizajn

HLD je dizajn na makroúrovni, ktorý poskytuje pohľad na proces vývoja softvéru z vtáčej perspektívy. Zahŕňa diagramy, vývojové diagramy, navigačné detaily a ďalšie technické požiadavky, ktoré budú tvoriť jadro vývojového procesu.

Okrem vývojových diagramov, diagramov, navigačných informácií a technických požiadaviek má LLD aj komplexné informácie o postupnom vykonávaní každého komponentu HLD. Zaoberá sa vývojom softvéru na mikroúrovni.

Každý komponent HLD má jedinečný dokument LLD.

Chronológia vývoja

HLD predchádza fázu LLD. Keď je HLD na mieste a je schválené na realizáciu, môžu sa začať práce na jednotlivých LLD.

HLD začína, keď sa riešia fázy plánovania a požiadaviek a nemá žiadne ďalšie závislosti.

Na druhej strane, LLD sa musí vykonať v určitom poradí. Niektoré moduly musia čakať na vykonanie, kým sa nedokončia ostatné.

LLD spadá do fázy návrhu SDLC, zatiaľ čo HLD spadá do fázy analýzy SDLC.

Účel

  • Účelom HLD je zoznam funkčných aspektov rôznych modulov spolu s konečným výsledkom.
  • Účelom LLD je podrobne opísať logiku a vykonávanie každého modulu v HLD.

zainteresované strany

Architekti riešení sú zodpovední za vytvorenie dokumentu HLD. Môže mať interné a externé zainteresované strany, ako je hodnotiaci tím, ktorý berie na vedomie softvérové ​​metriky, dizajnérsky tím, klienti a manažéri.

LLD majú na starosti vývojári softvéru, weboví správcovia, bezpečnostní inžinieri atď., ktorí sú súčasťou tímov spoločnosti alebo dodávateľov. LLD sú vo všeobecnosti obmedzené na interné zainteresované strany.

Cieľové publikum

Dokumenty HLD majú cieľovú skupinu manažérov, klientov a tímy vývoja softvéru.

Cieľovou skupinou dokumentov LLD sú softvéroví inžinieri, kóderi, testeri a vývojári pracujúci na projekte.

Očakávaný výsledok

  • Výsledkom HLD je softvérový produkt alebo služba pripravená na odoslanie koncovému používateľovi.
  • Výsledkom LLD je dokončenie jedného modulu HLD, ako sú fázy kódovania alebo testovania.

Pochopenie dokumentov týkajúcich sa návrhu softvéru

Dokumenty návrhu softvéru načrtávajú štrukturálne, funkčné a logické aspekty vývoja a softvérového produktu alebo služby okrem technických požiadaviek a inej implementácie podrobnosti. Či už sa návrh zaoberá vykonávaním na makro alebo mikroúrovni, programátori a ďalšie zainteresované strany by mali vedieť a chápať rozsah a rôzne kroky procesu vývoja softvéru.