Ciclul de viață al dezvoltării software (SDLC) trece prin diferite faze, cum ar fi planificarea, evaluarea cerințelor, analiză, proiectare, execuție, documentare, testare etc. Fiecare fază este împărțită în continuare în sarcini cu obiective și rezultate bine definite.
Analiza și proiectarea sunt faze în care sunt stabilite arhitectura reală, modelul de lucru și procesul de execuție al construirii unui produs software.
Doi pași cruciali în aceste faze sunt proiectarea sistemului la nivel înalt și proiectarea sistemului la nivel scăzut.
Ce este proiectarea de sistem la nivel înalt?
High-Level Design (HLD) oferă o imagine de ansamblu cuprinzătoare a procesului de dezvoltare software împreună cu arhitectura sistemului, aplicațiile, gestionarea bazei de date și diagrama completă a sistemului și navigare. Este un plan care consolidează diferiții pași și module, obiectivele acestora, componentele variabile, rezultatele, arhitectura și cronologia de dezvoltare a software-ului. HLD traduce un plan de afaceri într-un produs sau serviciu software.
Exemplele de HLD în dezvoltarea de software includ documente de arhitectură de sistem, diagrame de flux de dezvoltare a aplicațiilor etc.
Ce este proiectarea sistemului la nivel scăzut?
Low-Level Design (LLD) se ocupă de planificarea, codificarea și execuția diferitelor componente, module și pași din HLD, la nivel individual. Fiecare modul dintr-un HLD are un document LLD unic care oferă detalii complete despre modul în care modulul va fi codificat, executat, testat pentru calitate și integrat în programul mai mare. LLD oferă planuri acționabile prin deconstruirea componentelor HLD în soluții de lucru.
Exemple de LLD în dezvoltarea de software includ integrarea cărucioarelor, testarea securității, proiectarea interfeței cu utilizatorul etc.
Diferențele dintre HLD și LLD
HLD și LLD servesc, de asemenea, diferite funcții și scopuri, cum ar fi limbaje de programare de nivel înalt și limbaje de programare de nivel scăzut.
Macro vs. Micro Arhitectură și Design
HLD este un design la nivel macro care oferă o perspectivă a procesului de dezvoltare a software-ului. Include diagrame, diagrame de flux, detalii de navigație și alte cerințe tehnice care vor forma esențialul procesului de dezvoltare.
Pe lângă diagrame, diagrame, informații de navigație și cerințe tehnice, LLD are și informații cuprinzătoare despre execuția pas cu pas a fiecărei componente a HLD. Se ocupă de dezvoltarea de software la nivel micro.
Fiecare componentă a unui HLD are un document LLD unic.
Cronologia dezvoltării
HLD precede faza LLD. Odată ce HLD este în vigoare și aprobat pentru execuție, poate începe lucrul la LLD-urile individuale.
HLD începe odată ce etapele de planificare și cerințe sunt tratate și nu are alte dependențe.
Pe de altă parte, LLD trebuie executat într-o anumită ordine. Unele module trebuie să aștepte execuția până când altele au fost finalizate.
LLD se încadrează în faza de proiectare a SDLC, în timp ce HLD se încadrează în faza de analiză a SDLC.
Scop
- Scopul unui HLD este de a enumera aspectele funcționale ale diferitelor module împreună cu rezultatul final.
- Scopul unui LLD este de a detalia logica și execuția fiecărui modul dintr-un HLD.
Părțile interesate
Arhitecții de soluții sunt responsabili pentru crearea unui document HLD. Poate avea părți interesate interne și externe, cum ar fi echipa de revizuire, care ia cunoștință de metrici software, echipa de proiectare, clienți și manageri.
LLD este gestionat de dezvoltatori de software, administratori web, ingineri de securitate etc., care fac parte din echipele companiei sau ale furnizorilor. LLD-urile sunt în general limitate la părțile interesate interne.
Public țintă
Documentele HLD au publicul țintă al managerilor, clienților și echipelor de dezvoltare software.
Inginerii de software, programatorii, testerii și dezvoltatorii care lucrează la proiect sunt publicul țintă pentru documentele LLD.
Rezultat așteptat
- Rezultatul unui HLD este un produs software sau un serviciu gata de a fi livrat utilizatorului final.
- Rezultatul unui LLD este finalizarea unui singur modul al HLD, cum ar fi fazele de codificare sau testare.
Înțelegerea documentelor de proiectare software
Documentele de proiectare software conturează aspectele structurale, funcționale și logice ale dezvoltării a produs software sau serviciu pe lângă cerințele tehnice și alte implementări Detalii. Indiferent dacă proiectarea se referă la execuția la nivel macro sau la nivel micro, programatorii și alte părți interesate ar trebui să cunoască și să înțeleagă domeniul de aplicare și diferiții pași ai procesului de dezvoltare a software-ului.