You are on page 1of 18

Универзитет „Гоце Делчев“

Д-р Зоран Здравев

ПРОГРАМИРАЊЕ
ЛОГИКА НА ПРОГРАМИРАЊЕТО

o Главна задача на информатичарите е да креираат и


развиваат нови програми. Oвие програми се
создадени преку процесот наречен софтверското
инженерство. Овој процес е сличен на процесот на
изградба на зграда.
o Најпрво се специфицираат сите функции
(функцијоналности) што таа програма треба да ги
прави. Потоа на ред доаѓа креирање на дизајнот на
програмата, т.е определување на начинот на кој
програмата ќе ги постигне своите цели. Само тогаш
програмата се смета за коректно напишана.
ЛОГИКА НА ПРОГРАМИРАЊЕТО

Во фазата на дизајнирање, програмерот одредува која програмерска


логика ќе ја користи при креирање на алгоритмот. Алгоритмот
претставува серија од инструкции кои дефинираат како да се реши
еден проблем. Оваа дефиниција може да звучи многу слично како
онаа за компјутерска програма, но има значајна разлика.
Алгоритмот е напишан "на англиски јазик" (или јазикот на кој
програмерот зборува и пишува), наместо да биде напишани во
јазик разбирлив за компјутерот (програмски јазик). Така,
алгоритам е напишана за да биде "читлив " и разбирлив за човекот
но не и за компјутерот. За да може компјутерот да го препознае и
изврши овој алгоритам истиот мора да биде напишан со помош на
некој програмска јазик.

Значи, алгоритам е идејата зад решение, додека програма е


конкретна имплементација на тоа решение.
СОФТВЕРСКО ИНЖЕНЕРСТВО
Софтверското инженерство се состои од неколку фази на развој на
софтвер, кои може да се комбинираат во развојот на оваа
парадигма.
Фази на развој на софтвер
Софтверското инженерство значи користење на специфични
методи за да се создаде одредена
програма. Софтверското инженерство вклучува пет главни фази:
- спецификација,
- дизајн,
- имплементација,
- тестирање и
- одржување.
ФАЗИ НА РАЗВОЈ НА СОФТВЕР
o Спецификација
Првиот чекор во било кој проект за развој на софтвер е
спецификација. Спецификацијата одредува кој способности ќе ги
поседува готовиот софтвер. Во овој дел се поставува прашањето,
„Што програмата треба да прави?“. Овој чекор се остварува на
различни начини, во зависност од намената на софтверот.

Одредени софтвери се создадени за употреба од страна на


одредена компанија или клиент. На пример, некоја банка може да
има свој програмери кои ќе развијат нов софтвер за
пресметување на хипотека или
амортизација маси. Во овој случај, програмерскиот тим може да
зборува директно со корисниците за да
види кои се нивните потреби и желби.
ФАЗИ НА РАЗВОЈ НА СОФТВЕР
o Дизајн
Во фазата спецификацијата се поставува прашањето,
"Што програмата треба да прави? “
Во фазата дизајн се наметнува прашањето: "Како
програмата ќе го направи тоа?" , т.е. се прави детален
проект за развој на софтверот.
Во оваа фаза, програмерите треба да изберат адекватен
програмски јазик во кој ќе се пишува програмата. Да
изберат алгоритми за различни функции на програмата,
да се одлучи кои членови на тимот за кои работи се
одговорни, да се изработат графикони на кој јасно ќе се
претстават сите фази од овој процес и потребните
ресурси неопходни за реализација на овој проект.
ФАЗИ НА РАЗВОЈ НА СОФТВЕР
o Имплементација
Во фазата на имплементација, програмата е всушност
веќе напишана. Оваа фаза се нарекува вака бидејќи во
неа програмерите го имплементираат дизајнот што го
направиле во предходните чекори.
Повеќето луѓе – вклучувајки ги и програмерите
почетници- претпоставуваат дека поголемиот дел од
времето потребно за развој на одреден софтвер се губи
во фазата на имплементација, но тоа е всушност само
мал дел.
ФАЗИ НА РАЗВОЈ НА СОФТВЕР
Тестирање
Во фаза на тестирање, програмерскиот тим одредува дали
софтвер ги задоволува нормите пропишани во фазите на
спецификација и дизајн.
Всушност, овде се води грижа за две работи. Првата е дали
програмата работи без грешка. Никој од програмерскиот тим
не сака програмата да запре пред да ја изврши бараната
функција или да даде погрешен резултат. Друга грижа е дали
програмата е она што корисниците го сакале.
Готовата програма минува две нивоа на тестирање: алфа
тестирање и бета тестирање. Алфа тестирањето е направено
од страна на членовите на програмерскиот тим. Бета
тестирање е направено од страна на корисниците или
потенцијалните корисници.
ФАЗИ НА РАЗВОЈ НА СОФТВЕР
Одржување
На повеќето програми, откако тие веќе ќе бидат пуштени
во употреба, се јавува потреба од давање на
дополнителна поддршка и дополнителни развој, кој е
познат како фаза на одржување. Оваа поддршка може да
вклучува обука на клиенти, инсталирање на софтверот на
компјутерите на клиентите, или дополнителна доработка
на одредени делови на софтверот . Ако грешката е голема
тогаш единствено решение е инсталирање на нова
верзија. Малите грешки може да бидат корегирани со
така наречена „закрпа“ која е дел од кодот која заменува
дел од веќе инсталирана програма и обично се симнува
од веб-страницата на изработувачот на софтверот.
ПРОГРАМСКИ ЈАЗИЦИ

 Примери како изгледа кодот во различни


програмски јазици
МАШИНСКИ ЈАЗИК

o Прва генерација на програмски јазици.


Најосновни програмски јазици
o Низи од бинарни кодови, единствен за секој
компјутер
o Бара посебни знаења од областа на внатрешниот
промет на процесорот кој се користат
o Мора да се определи локација за складирање за секој
инструкција и за секој на податок кои се користат
o Тешки за работа и склони на грешка
АСЕМБЛЕРСКИ ЈАЗИЦИ

o Втора генерација на јазици. Развиен е со цел за


да ги намали тешкотиите при пишувањето на
машински програми
o Асемблерите се користат за конвертирање на
програми во машински инструкции
o Симболите се користат за преставување на
операциски кодови и складираните локации
o Алфабетските кратенки се нарекуваат клучни
зборови, а другите симболи преставуваат операциски
кодови, локација на складишта и елементи на
податоците.
HIGH-LEVEL LANGUAGES

o Трета генерација на јазици. Користи кратки


соопштенија или аритметички операции
o Соопштенијата се преведуваат во машински јазик
со помош на компајлери или преведувачи
o Помалку ефикасни од асемблерскиот јазик и бара
поголемо време за преведување
o Независна машина
o Примери: BASIC, COBOL, и FORTRAN
FOURTH-GENERATION LANGUAGES
o Разновидност на програмските јазици, кои се
непроцедурални и блиски до човековиот говор
o Поттикнување на програмерите да се добие бараниот
резултат; компјутерот го одредува редоследот на
инструкциите, кои остварува резултатите
o Поедноставување на процесите за програмирање
o Природни јазици
o Блиски до англискиот или друг човечки јазик
o Некогаш се нарекуваат петта –генерација (5GLs)
o Лесни за користење и флексибилни
ОБЈЕКТНО-ОРИЕНТИРАНИЈАЗИЦИ

o Комбинирање на податочни елементи и


процедури кои ќе се извршат некогаш во некои
објекти
o Пример: податоци за банковна сметка каде
процедурите се извршуваат врз нив,како и сите
потребни пресметки
ОБЈЕКТНО-ОРИЕНТИРАНИЈАЗИЦИ

o Најчесто се користат за развој на апликативен


софтвер. Лесни за користење и по-ефикасни за
графички –ориентирани кориснички интерфејси
o Еднократност: може да користи објект од една
апликација во друга апликација
o Примери: Visual Basic, C++, Java
o Најчестоobject-oriented јазици произведуваат GUI кој
подржува визуелно програмирање
WEB ЈАЗИЦИ

o HTML
o Јазик за опис на страници, кој создава хипертекстот документи за
веб

o XML
o Опишува содржина на веб страници, со примена на тагови за
идентификување или контекстуални етикети на податоци

o Java
o Објектно-ориентиран програмски јазик кој е едноставен,
безбеден и независен од платформата (тип на оперативен систем
или тип на комјутер)
o Java applets може да се извршуваат на било кој компјутер
ПРЕВЕДУВАЧИ НА ПРОГРАМИ

Ги преведува инструкциите напишани на јазици за


програмирање во машински јазик
o Assembler
o Ги преведува Асемблерскитенаредби

o Compiler
o Ги преведува наредбите на јазиците од повисоко ниво пред
извршувањето на програмата

o Interpreter
o Ги преведува и извршува наредбите од програмата, една по
една, во тек на извршувањето (работењето) на програмата

You might also like