Il ciclo di vita dello sviluppo del software (SDLC) passa attraverso varie fasi come pianificazione, valutazione dei requisiti, analisi, progettazione, esecuzione, documentazione, test, ecc. Ogni fase è ulteriormente suddivisa in compiti con obiettivi e risultati opportunamente definiti.

L'analisi e la progettazione sono fasi in cui viene definita l'architettura, il modello di lavoro e il processo di esecuzione effettivo della creazione di un prodotto software.

Due passaggi cruciali in queste fasi sono la progettazione del sistema di alto livello e la progettazione del sistema di basso livello.

Che cos'è la progettazione di un sistema di alto livello?

High-Level Design (HLD) fornisce una panoramica completa del processo di sviluppo del software insieme a l'architettura del sistema, le applicazioni, la gestione del database e il diagramma di flusso completo del sistema e navigazione. È un progetto che consolida i vari passaggi e moduli, i loro obiettivi, le componenti variabili, i risultati, l'architettura e la sequenza temporale per lo sviluppo del software. HLD traduce un business plan in un prodotto o servizio software.

instagram viewer

Esempi di HLD nello sviluppo di software includono documenti sull'architettura di sistema, diagrammi di flusso di sviluppo di app, ecc.

Che cos'è la progettazione del sistema di basso livello?

Low-Level Design (LLD) si occupa della pianificazione, codifica ed esecuzione dei vari componenti, moduli e fasi dell'HLD, a livello individuale. Ogni modulo in un HLD ha un documento LLD univoco che fornisce dettagli completi su come il modulo verrà codificato, eseguito, testato per la qualità e integrato nel programma più ampio. LLD fornisce piani attuabili decostruendo i componenti HLD in soluzioni funzionanti.

Esempi di LLD nello sviluppo di software includono l'integrazione del carrello, i test di sicurezza, la progettazione dell'interfaccia utente, ecc.

Differenze tra HLD e LLD

HLD e LLD svolgono anche funzioni e scopi diversi come linguaggi di programmazione di alto livello e linguaggi di programmazione di basso livello.

Macro vs. Micro Architettura e Design

HLD è un progetto di livello macro che fornisce una visione a volo d'uccello del processo di sviluppo del software. Include diagrammi, diagrammi di flusso, dettagli di navigazione e altri requisiti tecnici che costituiranno il punto cruciale del processo di sviluppo.

Oltre a diagrammi di flusso, diagrammi, informazioni di navigazione e requisiti tecnici, LLD dispone anche di informazioni complete sull'esecuzione passo passo di ciascun componente dell'HLD. Si occupa di sviluppo software a livello micro.

Ogni componente di un HLD ha un documento LLD univoco.

Cronologia dello sviluppo

L'HLD precede la fase LLD. Una volta che l'HLD è in atto e approvato per l'esecuzione, può iniziare il lavoro sui singoli LLD.

L'HLD inizia una volta affrontate le fasi di pianificazione e requisiti e non ha altre dipendenze.

D'altra parte, LLD deve essere eseguito in un ordine particolare. Alcuni moduli devono attendere l'esecuzione fino al completamento di altri.

LLD rientra nella fase di progettazione dell'SDLC, mentre l'HLD rientra nella fase di analisi dell'SDLC.

Scopo

  • Lo scopo di un HLD è elencare gli aspetti funzionali dei vari moduli insieme al risultato finale.
  • Lo scopo di un LLD è dettagliare la logica e l'esecuzione di ciascun modulo in un HLD.

Parti interessate

Gli architetti di soluzioni sono responsabili della creazione di un documento HLD. Può avere stakeholder interni ed esterni come il team di revisione che ne prende atto metriche del software, il team di progettazione, i clienti e i manager.

LLD è gestito da sviluppatori di software, amministratori web, ingegneri della sicurezza e così via, che fanno parte dell'azienda o dei team dei fornitori. Gli LLD sono generalmente limitati alle parti interessate interne.

Pubblico di destinazione

I documenti HLD hanno il pubblico di destinazione di manager, clienti e team di sviluppo software.

Ingegneri del software, programmatori, tester e sviluppatori che lavorano al progetto sono il pubblico di destinazione per i documenti LLD.

Risultato previsto

  • Il risultato di un HLD è un prodotto o servizio software pronto per essere spedito all'utente finale.
  • Il risultato di un LLD è il completamento di un singolo modulo dell'HLD, come le fasi di codifica o di test.

Comprensione dei documenti di progettazione del software

I documenti di progettazione del software delineano gli aspetti strutturali, funzionali e logici dello sviluppo di a prodotto o servizio software in aggiunta ai requisiti tecnici e ad altre implementazioni particolari. Indipendentemente dal fatto che il progetto riguardi l'esecuzione a livello macro o micro, i programmatori e le altre parti interessate dovrebbero conoscere e comprendere l'ambito e le varie fasi del processo di sviluppo del software.