Ohjelmistokehityksen elinkaari (SDLC) käy läpi eri vaiheita, kuten suunnittelun, vaatimusten arvioinnin, analyysin, suunnittelun, toteutuksen, dokumentoinnin, testauksen jne. Jokainen vaihe jaetaan edelleen tehtäviin, joilla on oikein määritellyt tavoitteet ja tulokset.

Analyysi ja suunnittelu ovat vaiheita, joissa määritellään ohjelmistotuotteen rakentamisen varsinainen arkkitehtuuri, toimintamalli ja toteutusprosessi.

Kaksi ratkaisevaa vaihetta näissä vaiheissa ovat korkean tason järjestelmäsuunnittelu ja matalan tason järjestelmäsuunnittelu.

Mitä on korkean tason järjestelmäsuunnittelu?

High-Level Design (HLD) tarjoaa kattavan yleiskatsauksen ohjelmistokehitysprosessista sekä järjestelmän arkkitehtuuri, sovellukset, tietokannan hallinta ja järjestelmän täydellinen vuokaavio navigointi. Se on suunnitelma, joka yhdistää eri vaiheet ja moduulit, niiden tavoitteet, muuttuvat komponentit, tulokset, arkkitehtuuri ja aikajana ohjelmiston kehittämiseksi. HLD muuttaa liiketoimintasuunnitelman ohjelmistotuotteeksi tai palveluksi.

Esimerkkejä HLD: stä ohjelmistokehityksessä ovat järjestelmäarkkitehtuuriasiakirjat, sovelluskehityksen vuokaaviot jne.

Mitä on matalan tason järjestelmäsuunnittelu?

Low-Level Design (LLD) käsittelee HLD: n eri komponenttien, moduulien ja vaiheiden suunnittelua, koodausta ja suorittamista yksilötasolla. Jokaisella HLD: n moduulilla on ainutlaatuinen LLD-dokumentti, joka sisältää kattavat tiedot siitä, kuinka moduuli koodataan, suoritetaan, testataan sen laatua ja integroidaan suurempaan ohjelmaan. LLD tarjoaa toteutettavia suunnitelmia purkamalla HLD-komponentit toimiviksi ratkaisuiksi.

Esimerkkejä LLD: stä ohjelmistokehityksessä ovat ostoskoriintegraatio, tietoturvatestaus, käyttöliittymäsuunnittelu jne.

Erot HLD: n ja LLD: n välillä

HLD ja LLD palvelevat myös erilaisia ​​tehtäviä ja tarkoituksia, kuten korkean tason ohjelmointikieliä ja matalan tason ohjelmointikielet.

Makro vs. Mikroarkkitehtuuri ja muotoilu

HLD on makrotason suunnittelu, joka tarjoaa lintuperspektiivin ohjelmistokehitysprosessista. Se sisältää kaavioita, vuokaavioita, navigointitietoja ja muita teknisiä vaatimuksia, jotka muodostavat kehitysprosessin ytimen.

Vuokaavioiden, kaavioiden, navigointitietojen ja teknisten vaatimusten lisäksi LLD: llä on myös kattavat tiedot HLD: n kunkin komponentin vaiheittaisesta toteutuksesta. Se käsittelee ohjelmistokehitystä mikrotasolla.

Jokaisella HLD: n komponentilla on ainutlaatuinen LLD-asiakirja.

Kehityksen kronologia

HLD edeltää LLD-vaihetta. Kun HLD on paikallaan ja hyväksytty suoritettaviksi, yksittäisten LLD: iden työskentely voi alkaa.

HLD alkaa, kun suunnittelu- ja vaatimusvaiheet on käsitelty, eikä sillä ole muita riippuvuuksia.

Toisaalta LLD on suoritettava tietyssä järjestyksessä. Joidenkin moduulien on odotettava suoritusta, kunnes toiset on suoritettu.

LLD kuuluu SDLC: n suunnitteluvaiheeseen, kun taas HLD kuuluu SDLC: n analyysivaiheeseen.

Tarkoitus

  • HLD: n tarkoituksena on listata eri moduulien toiminnalliset näkökohdat lopputuloksen kanssa.
  • LLD: n tarkoitus on eritellä kunkin HLD: n moduulin logiikka ja suoritus.

Sidosryhmät

Ratkaisuarkkitehdit ovat vastuussa HLD-dokumentin luomisesta. Sillä voi olla sisäisiä ja ulkoisia sidosryhmiä, kuten arviointitiimi, joka ottaa huomioon ohjelmiston mittareita, suunnittelutiimi, asiakkaat ja johtajat.

LLD: tä hoitavat ohjelmistokehittäjät, verkkojärjestelmänvalvojat, tietoturvainsinöörit jne., jotka ovat osa yritystä tai toimittajatiimejä. LLD: t on yleensä rajoitettu sisäisiin sidosryhmiin.

Kohdeyleisö

HLD-dokumenttien kohdeyleisönä ovat johtajat, asiakkaat ja ohjelmistokehitysryhmät.

Projektissa työskentelevät ohjelmistosuunnittelijat, koodaajat, testaajat ja kehittäjät ovat LLD-dokumenttien kohdeyleisö.

Odotettu lopputulos

  • HLD: n tulos on ohjelmistotuote tai palvelu, joka on valmis toimitettavaksi loppukäyttäjälle.
  • LLD: n tulos on HLD: n yksittäisen moduulin, kuten koodaus- tai testausvaiheen, valmistuminen.

Ohjelmiston suunnitteluasiakirjojen ymmärtäminen

Ohjelmiston suunnitteluasiakirjoissa kuvataan rakenteellisia, toiminnallisia ja loogisia näkökohtia kehitystyön a ohjelmistotuotteen tai palvelun teknisten vaatimusten ja muun toteutuksen lisäksi yksityiskohdat. Olipa suunnittelussa kysymys makro- tai mikrotason toteutuksesta, ohjelmoijien ja muiden sidosryhmien tulee tietää ja ymmärtää ohjelmistokehitysprosessin laajuus ja eri vaiheet.