Der Software Development Life Cycle (SDLC) durchläuft verschiedene Phasen wie Planung, Anforderungsanalyse, Analyse, Design, Ausführung, Dokumentation, Test usw. Jede Phase ist weiter in Aufgaben mit genau definierten Zielen und Ergebnissen unterteilt.

Analyse und Design sind Phasen, in denen die tatsächliche Architektur, das Arbeitsmodell und der Ausführungsprozess zum Erstellen eines Softwareprodukts festgelegt werden.

Zwei entscheidende Schritte in diesen Phasen sind das High-Level-Systemdesign und das Low-Level-Systemdesign.

Was ist High-Level-Systemdesign?

High-Level-Design (HLD) bietet einen umfassenden Überblick über den Softwareentwicklungsprozess zusammen mit die Systemarchitektur, Anwendungen, Datenbankverwaltung und das vollständige Flussdiagramm des Systems und Navigation. Es ist eine Blaupause, die die verschiedenen Schritte und Module, ihre Ziele, variablen Komponenten, Ergebnisse, Architektur und Zeitleiste zur Entwicklung der Software konsolidiert. HLD übersetzt einen Geschäftsplan in ein Softwareprodukt oder eine Dienstleistung.

instagram viewer

Beispiele für HLD in der Softwareentwicklung sind Systemarchitekturdokumente, Flussdiagramme für die App-Entwicklung usw.

Was ist Low-Level-Systemdesign?

Low-Level-Design (LLD) befasst sich mit der Planung, Codierung und Ausführung der verschiedenen Komponenten, Module und Schritte im HLD auf individueller Ebene. Jedes Modul in einem HLD verfügt über ein einzigartiges LLD-Dokument, das umfassende Details darüber enthält, wie das Modul codiert, ausgeführt, auf Qualität getestet und in das größere Programm integriert wird. LLD bietet umsetzbare Pläne, indem HLD-Komponenten in funktionierende Lösungen zerlegt werden.

Beispiele für LLD in der Softwareentwicklung sind Cart-Integration, Sicherheitstests, Design von Benutzeroberflächen usw.

Unterschiede zwischen HLD und LLD

HLD und LLD dienen auch unterschiedlichen Funktionen und Zwecken wie z höhere Programmiersprachen und Low-Level-Programmiersprachen.

Makro vs. Mikroarchitektur und Design

HLD ist ein Design auf Makroebene, das eine Vogelperspektive auf den Softwareentwicklungsprozess bietet. Es enthält Diagramme, Flussdiagramme, Navigationsdetails und andere technische Anforderungen, die den Kern des Entwicklungsprozesses bilden.

Neben Flussdiagrammen, Diagrammen, Navigationsinformationen und technischen Anforderungen bietet LLD auch umfassende Informationen zur schrittweisen Ausführung jeder Komponente des HLD. Es befasst sich mit der Softwareentwicklung auf der Mikroebene.

Jede Komponente eines HLD hat ein eindeutiges LLD-Dokument.

Chronologie der Entwicklung

HLD geht der LLD-Phase voraus. Sobald das HLD vorhanden und zur Ausführung freigegeben ist, kann mit der Arbeit an den einzelnen LLDs begonnen werden.

HLD beginnt nach Abschluss der Planungs- und Anforderungsphase und hat keine weiteren Abhängigkeiten.

Andererseits muss LLD in einer bestimmten Reihenfolge ausgeführt werden. Einige Module müssen auf die Ausführung warten, bis andere abgeschlossen sind.

LLD fällt in die Designphase des SDLC, während HLD in die Analysephase des SDLC fällt.

Zweck

  • Der Zweck eines HLD besteht darin, die funktionalen Aspekte der verschiedenen Module zusammen mit dem Endergebnis aufzulisten.
  • Der Zweck eines LLD besteht darin, die Logik und Ausführung jedes Moduls in einem HLD zu beschreiben.

Stakeholder

Lösungsarchitekten sind für die Erstellung eines HLD-Dokuments verantwortlich. Es kann interne und externe Stakeholder wie das Review-Team haben, das die Kenntnis nimmt Software-Metriken, das Designteam, Kunden und Manager.

LLD wird von Softwareentwicklern, Webadministratoren, Sicherheitsingenieuren usw. gehandhabt, die Teil des Unternehmens- oder Anbieterteams sind. LLDs sind im Allgemeinen auf interne Stakeholder beschränkt.

Zielgruppe

HLD-Dokumente haben die Zielgruppe von Managern, Kunden und Softwareentwicklungsteams.

Softwareingenieure, Programmierer, Tester und Entwickler, die an dem Projekt arbeiten, sind die Zielgruppe für LLD-Dokumente.

Erwartetes Ergebnis

  • Das Ergebnis eines HLD ist ein Softwareprodukt oder eine Dienstleistung, die zum Versand an den Endbenutzer bereit ist.
  • Das Ergebnis eines LLD ist der Abschluss eines einzelnen Moduls des HLD, wie der Kodierungs- oder Testphase.

Verständnis von Software-Design-Dokumenten

Softwaredesigndokumente beschreiben die strukturellen, funktionalen und logischen Aspekte der Entwicklung a Softwareprodukt oder -dienstleistung zusätzlich zu den technischen Anforderungen und anderen Implementierungen Einzelheiten. Unabhängig davon, ob sich das Design auf die Ausführung auf Makro- oder Mikroebene bezieht, sollten Programmierer und andere Interessengruppen den Umfang und die verschiedenen Schritte des Softwareentwicklungsprozesses kennen und verstehen.