Животни циклус развоја софтвера (СДЛЦ) пролази кроз различите фазе као што су планирање, процена захтева, анализа, дизајн, извршење, документација, тестирање итд. Свака фаза је даље подељена на задатке са правилно дефинисаним циљевима и резултатима.

Анализа и пројектовање су фазе у којима се поставља стварна архитектура, радни модел и процес извршења изградње софтверског производа.

Два кључна корака у овим фазама су пројектовање система високог нивоа и пројектовање система ниског нивоа.

Шта је дизајн система високог нивоа?

Дизајн високог нивоа (ХЛД) пружа свеобухватан преглед процеса развоја софтвера заједно са архитектуру система, апликације, управљање базом података и комплетан дијаграм тока система и навигација. То је нацрт који консолидује различите кораке и модуле, њихове циљеве, променљиве компоненте, резултате, архитектуру и временски оквир за развој софтвера. ХЛД преводи пословни план у софтверски производ или услугу.

Примери ХЛД-а у развоју софтвера укључују документе о архитектури система, дијаграме тока развоја апликација итд.

Шта је дизајн система ниског нивоа?

Дизајн ниског нивоа (ЛЛД) се бави планирањем, кодирањем и извршавањем различитих компоненти, модула и корака у ХЛД-у, на индивидуалном нивоу. Сваки модул у ХЛД-у има јединствен ЛЛД документ који пружа свеобухватне детаље о томе како ће модул бити кодиран, извршен, тестиран на квалитет и интегрисан у већи програм. ЛЛД пружа практичне планове деконструишући ХЛД компоненте у радна решења.

Примери ЛЛД-а у развоју софтвера укључују интеграцију колица, тестирање безбедности, дизајн корисничког интерфејса итд.

Разлике између ХЛД и ЛЛД

ХЛД и ЛЛД такође служе различитим функцијама и сврхама попут програмски језици високог нивоа и програмски језици ниског нивоа.

Макро вс. Микро архитектура и дизајн

ХЛД је дизајн на макро нивоу који пружа поглед из птичје перспективе на процес развоја софтвера. Укључује дијаграме, дијаграме тока, детаље навигације и друге техничке захтеве који ће чинити срж процеса развоја.

Поред дијаграма тока, дијаграма, информација за навигацију и техничких захтева, ЛЛД такође има свеобухватне информације о извршавању корак по корак сваке компоненте ХЛД-а. Бави се развојем софтвера на микро нивоу.

Свака компонента ХЛД-а има јединствени ЛЛД документ.

Хронологија развоја

ХЛД претходи фази ЛЛД. Када ХЛД буде постављен и одобрен за извршење, рад на појединачним ЛЛД-овима може да почне.

ХЛД почиње када се обрађују фазе планирања и захтева и нема других зависности.

С друге стране, ЛЛД треба да се изврши одређеним редоследом. Неки модули морају да чекају извршење док се други не заврше.

ЛЛД спада у фазу пројектовања СДЛЦ-а, док ХЛД спада у фазу анализе СДЛЦ-а.

сврха

  • Сврха ХЛД-а је да наведе функционалне аспекте различитих модула заједно са коначним резултатом.
  • Сврха ЛЛД-а је да детаљно објасни логику и извршење сваког модула у ХЛД-у.

Актери

Архитекти решења су одговорни за креирање ХЛД документа. Може имати интерне и екстерне заинтересоване стране као што је тим за преглед који узима у обзир софтверске метрике, дизајнерски тим, клијенти и менаџери.

ЛЛД-ом управљају програмери софтвера, веб администратори, безбедносни инжењери, итд., који су део компаније или тимова добављача. ЛЛД су генерално ограничени на интерне заинтересоване стране.

Циљна група

ХЛД документи имају циљну публику од менаџера, клијената и тимова за развој софтвера.

Софтверски инжењери, кодери, тестери и програмери који раде на пројекту су циљна публика за ЛЛД документе.

Очекивани исход

  • Исход ХЛД-а је софтверски производ или услуга спремна за испоруку крајњем кориснику.
  • Исход ЛЛД-а је завршетак једног модула ХЛД-а, као што су фазе кодирања или тестирања.

Разумевање докумената дизајна софтвера

Документи о дизајну софтвера приказују структурне, функционалне и логичке аспекте развоја а софтверски производ или услуга поред техничких захтева и друге имплементације детаљима. Без обзира да ли се дизајн бави извршавањем на макро или микро нивоу, програмери и друге заинтересоване стране треба да знају и разумеју обим и различите кораке процеса развоја софтвера.