De Software Development Life Cycle (SDLC) doorloopt verschillende fasen, zoals planning, beoordeling van vereisten, analyse, ontwerp, uitvoering, documentatie, testen, enz. Elke fase is verder onderverdeeld in taken met goed gedefinieerde doelstellingen en resultaten.

Analyse en Ontwerp zijn fasen waarin de feitelijke architectuur, het werkmodel en het uitvoeringsproces van het bouwen van een softwareproduct worden vastgelegd.

Twee cruciale stappen in deze fasen zijn High-Level System Design en Low-Level System Design.

Wat is systeemontwerp op hoog niveau?

High-Level Design (HLD) biedt een uitgebreid overzicht van het softwareontwikkelingsproces, samen met: de systeemarchitectuur, applicaties, databasebeheer en het volledige stroomschema van het systeem en navigatie. Het is een blauwdruk die de verschillende stappen en modules, hun doelstellingen, variabele componenten, resultaten, architectuur en tijdlijn consolideert om de software te ontwikkelen. HLD vertaalt een businessplan naar een softwareproduct of -dienst.

Voorbeelden van HLD bij softwareontwikkeling zijn systeemarchitectuurdocumenten, stroomdiagrammen voor app-ontwikkeling, enz.

Wat is systeemontwerp op laag niveau?

Low-Level Design (LLD) houdt zich bezig met de planning, codering en uitvoering van de verschillende componenten, modules en stappen in de HLD, op individueel niveau. Elke module in een HLD heeft een uniek LLD-document dat uitgebreide details biedt over hoe de module zal worden gecodeerd, uitgevoerd, getest op kwaliteit en geïntegreerd in het grotere programma. LLD biedt uitvoerbare plannen door HLD-componenten te deconstrueren tot werkende oplossingen.

Voorbeelden van LLD in softwareontwikkeling zijn kar-integratie, beveiligingstests, gebruikersinterface-ontwerp, enz.

Verschillen tussen HLD en LLD

HLD en LLD hebben ook verschillende functies en doelen, zoals: programmeertalen op hoog niveau en programmeertalen op laag niveau.

Macro versus Micro-architectuur en ontwerp

HLD is een ontwerp op macroniveau dat een overzicht biedt van het softwareontwikkelingsproces in vogelvlucht. Het bevat diagrammen, stroomdiagrammen, navigatiedetails en andere technische vereisten die de kern van het ontwikkelingsproces zullen vormen.

Naast stroomdiagrammen, diagrammen, navigatie-informatie en technische vereisten, heeft LLD ook uitgebreide informatie over de stapsgewijze uitvoering van elk onderdeel van de HLD. Het gaat over softwareontwikkeling op microniveau.

Elk onderdeel van een HLD heeft een uniek LLD-document.

Ontwikkelingschronologie

HLD gaat vooraf aan de LLD-fase. Zodra de HLD is ingevoerd en goedgekeurd voor uitvoering, kan het werk aan de afzonderlijke LLD's beginnen.

HLD begint zodra de fasen van planning en vereisten zijn afgehandeld en heeft geen andere afhankelijkheden.

Aan de andere kant moet LLD in een bepaalde volgorde worden uitgevoerd. Sommige modules moeten wachten op uitvoering totdat andere zijn voltooid.

LLD valt onder de ontwerpfase van de SDLC, terwijl de HLD onder de analysefase van de SDLC valt.

Doel

  • Het doel van een HLD is om samen met het eindresultaat de functionele aspecten van de verschillende modules op een rij te zetten.
  • Het doel van een LLD is om de logica en uitvoering van elke module in een HLD te detailleren.

Belanghebbenden

Oplossingsarchitecten zijn verantwoordelijk voor het maken van een HLD-document. Het kan interne en externe belanghebbenden hebben, zoals het beoordelingsteam dat kennis neemt van de softwarestatistieken, het ontwerpteam, klanten en managers.

LLD wordt afgehandeld door softwareontwikkelaars, webbeheerders, beveiligingsingenieurs, enz., die deel uitmaken van het bedrijf of de leveranciersteams. LLD's zijn over het algemeen beperkt tot interne belanghebbenden.

Doelgroep

HLD-documenten hebben de doelgroep van managers, klanten en softwareontwikkelingsteams.

Software-ingenieurs, codeerders, testers en ontwikkelaars die aan het project werken, zijn de doelgroep voor LLD-documenten.

Verwachte uitkomst

  • Het resultaat van een HLD is een softwareproduct of -service die klaar is om naar de eindgebruiker te worden verzonden.
  • Het resultaat van een LLD is de voltooiing van een enkele module van de HLD, zoals de coderings- of testfasen.

Software-ontwerpdocumenten begrijpen

Documenten voor softwareontwerp schetsen de structurele, functionele en logische aspecten van het ontwikkelen van een softwareproduct of -service naast de technische vereisten en andere implementatie details. Of het ontwerp nu gaat over de uitvoering op macro- of microniveau, programmeurs en andere belanghebbenden moeten de reikwijdte en de verschillende stappen van het softwareontwikkelingsproces kennen en begrijpen.