Hva er hierarkisk programvare?

Hierarkisk programvaresystemer lag ett nivå av programvare på toppen av en annen. Hvert lag av systemet har en modell som staver ut hva slags operasjoner laget rett over hodet kan få tilgang til. Designere kan beskrive hierarkiet i forhold til de ulike nivåer eller sammenhengen mellom tilstøtende lag av systemet.

Systems

Programvare designere kan lage et hierarkisk system med vilje ved å utforme eller legge til programvare lag på lag og definere forholdet mellom lagene. Med andre hierarkier, er forholdet mellom lagene ad hoc og improvisert, utvikle ut av hvordan systemet fungerer. Med et hierarki, kan programvare ingeniører ta egne små systemer, lag dem sammen og skape noe kompleks som fungerer som om det hadde blitt designet fra bunnen av som en overordnet system.

lagdeling

Hierarkiske lag kan omfatte, for eksempel, et programmeringsspråk på bunnen; en mer sofistikert lag av programmering over det; og grensesnittet, idet laget ved hvilke brukere som faktisk kommuniserer med datamaskinen. Brukere trenger ikke å bry seg om språk flere lag, bare om instruksjonene de beiter i grensesnittet. Et hierarkisk system kan ha et minimalt antall lag eller mer, avhengig av behovene til brukerne og kompleksiteten av design.

Bruke om igjen

En fordel med lagdeling er at komponentene i et lag kan samhandle på flere måter med lag over dem. Et delsystem i ett lag, for eksempel, kan kobles til og å arbeide med flere programkomponenter på det neste nivå av hierarkiet. Dette lar programmerere å bruke den samme undersystem for flere oppgaver i ulike situasjoner stedet for å skape en ny undersystem på samme lag. Dette resulterer i økt effektivitet og mindre arbeid for designerne.

betraktninger

Det er innholdet i programvare hierarkier at hvert lag har sin egen karakteristiske formål, komponenter og arkitektur. Som et resultat av dette lag er ikke utskiftbare. Ett lag kan ikke bytte med, eller erstatning for en annen. Enkeltkomponenter innenfor et gitt lag kan være utskiftbare, imidlertid, og kan ha en identisk grensesnitt med laget over og under dem. Programvare ingeniører kan fremskynde prosessen med å lage et hierarkisk system ved å bruke standardiserte, off-the-sokkel komponenter og lagdelte programvare i utformingen.