Конструкција на софтверКонструкцијата на софтвер е дисциплина на софтверското инженерство. Претставува детално создавање на замислен софтвер, со комбинација на кодирање, верификација, испробување на единките и дебагирање. Поврзано е со сите останати дисциплини на софтверското инженерство, но најмногу е поврзано со софтверскиот дизајн и испробувањето на програмска опремаот.[1] Основи на конструирањето на софтверОсновите на конструирањето на софтвер вклучуваат: Намалување на сложеностаГлавен проблем кај луѓето се нивните ограничени можности за извршување на сложени задачи и помнење на информации при работа, особено на долг период. Па според ова, при развивањето на производот се оди да се намали неговата сложеност колку што е можно помалку.[1] Помала сложеност се добива доколку се стави повеќе акцент на создавање на код кој е едноставен и читлив, него паметен. Минимизирањето на комплексноста се постигнува со стандарди, како и преку многубројни специфични техники. Исто така може да се постигне и со техники кои се фокусирани на конструкцијата. Предвидување на промениСо тек на времето поголем дел од софтверот ќе претрпи измени, па според тоа предвидувањето на промени во голема мера би влијаело за лесно и брзо да се изврши промената. Предвидувањето на промени е поддржано од многу техники како:
Верификација при констукцијаВерификацијата при конструкција значи создавање на софтверот на таков начин што недостатоците веднаш ќе бидат откривани од страна на програмерите, на сличен начин како што тоа се прави од стана на тимот за испробување. Специфичните техники што ја поддржуваат верификацијата при конструкција ги вклучуваат следните стандарди за кодирање: преглед на код, испробување на единките, уредување на кодот со цел да се овозможи автоматско испробување, избегнување на користење на сложени или тешко разбирливи програмски структури.[1] Стандарди при констуирањетоСтандардите коишто директно влијаат на конструкцијата вклучуваат:
Раководење со конструкцијатаКонструкциски моделиГолем број на модели се создадени за развивање на софтвер, некои од нив ставаат повеќе акцент на конструкцијата, за разлика од другите. Во поглед на конструкцијата некои од нив се по линеарни, како што се водопадниот и моделите кои испорачуваат по етапи (англиски: staged-delivery life cycle models. Кај ваквите модели со конструкција се почнува откако другите работи ќе бидат завршени како барањата, дизајнот и планирањето. Останатите модели се повеќе итеративни, како прототип моделот и Скрам моделот и имаат тенденција, конструкцијата на софтверот како дел од развојната фаза на процесот, да биде истовремено со другите активности како што се: барањата, дизајнот и планирањето.[1] Планирање на конструкцијатаЗначаен дел кај планирањето на конструкцијата е изборот на конструкциски модел. Изборот на моделот влијае на тоа како задачите ќе бидат исполнувани, каков ќе биде нивниот редослед на извршување, како и нивото до кое тие ќе бидат завршувани пред да почне конструкцијата. Планирањето на конструкцијата исто така го дефинира и редоследот по кои компонентите ќе бидат создадени и интегрирани, процесите за управување со софтверски квалитет, распределба на задачите на софтверските инженери и останатите задачи во зависност од моделот кој е избран.[1] Следење на конструкцијатаСкоро секоја активност може да се следи и да се види колку има сработено. Такви активности се: пишување на кодот, негово изменување, негово повторно користење, неговата комплексност, статистика за пронаоѓањето и поправањето на грешките. Ваквите следења се корисни за понатамошното планирање на конструкцијата, се подобрува конструкцискиот модел, се обезбедува квалитет како и друго. Практични размислувањаКонструкцијата на софтвер е водена од многу практични размислувања: Конструкциски дизајнВо текот на конструкцијата се наоѓаат некои празнини во софтверскиот дизајн, па поради тоа потребно е да се направат помали или поголеми промени кај дизајнот. Конструкциски јазициКонструкциските јазици ги вклучуваат сите форми на комуникација, со кои човекот може го специфицира решението на некој проблем. Во нив спаѓаат конфигурациските јазици, алатки и програмските јазици.[1] Конфигурациските јазици – се оние јазици со кој на софтверските инженери одбираат од конечно множество на претходно дефинирани опции за создавање на софтвер за инсталација. Алатки – се користат за градење на апликации и се посложени од конфигурациските јазици. Програмските јазици се најфлексибилни од конструкциските јазици. Тие користат три генерални типови на нотации:[1]
КодирањеВо оваа активност спаѓаат:[2]
Испробување при конструкцијаЦелта на тоа да се врши испробување при конструкцијата е да се намали колку што може бројот на недостатоци уште пред почетокот на фазата испробување. Во некои случаи испробувањето при конструкција се прави откако кодирањето ќе биде завршено, додека пак во други се прават тест случаи пред кодот да биде напишан. Конструкцијата вклучува две форми на испробување, коишто често се користат од стана на програмерите. Тие форми се:
Реискористување на софтверРеискористувањето на софтверот претставува искористување на веќе постоечки софтвер или софтверско знаење, за да се изгради нов софтвер. При реискористувањето на софтвер за време на кодирање или испробување треба да се извршат следните задачи:[1][3] - Селектирање на компонентите што можат да се реискористат, база на податоци, тест процедури или тест податоци. - Проценување на кодот или тестот што може да се рескористи. - Соопштување на информациите за реискористувањето кај новиот код, тест процедурите или тест податоците. Квалитет на конструкцијатаПостојат неколку основни техники за проверка на квалитетот на кодот кај конструкцијата, тоа се:
ИнтеграцијаКлучен дел кај конструкцијата е интеграција на одделни процедури, функции, класи, компоненти и подсистеми. Исто така секој софтверски систем може да биде интегриран со друг софтверски или хардверски систем. При тоа се планира по кој редослед компонентите ќе бидат интегрирани, одделно ќе бидат оценувани како и за тоа од кои софтверски верзии се поддржани.[1] Наводи
|