SlideShare a Scribd company logo
6.3. Концепти развоја рачунарског софтвера
Развој софтвера је процес који се користи за осмишљавање,
спецификацију, пројектовање, програмирање, документовање,
тестирање и исправку грешака у циљу креирања и одржавања
апликација или других софтверских компоненти.
Развој софтвера укључује и истраживање, нови развој, израду
прототипа, модификовање, поновну употребу, реинжењеринг,
одржавање или било које друге активности које резултирају
софтверским производима.
Како је софтвер одређена врста производа, то има и свој
животни циклус којим се описује његов живот од почетка
израде до његовог крајњег коришћења и одржавања.
6.3. Концепти развоја рачунарског софтвера
Са појавом првих рачунара, софтвер је био врло једноставан и
програмери су могли да га стварају директно само писањем
програмског кôда.
Повећавањем сложености софтвера, додавање нових
функционалности је постајало све теже, као и проналажење и
отклањање грешака.
Како би се тај проблем превазишао увоедене су методологије
развоја. Под методологијом се подразумева дисциплина у
процесу развоја која има за циљ бољу предвидљивост и већу
ефикасност развоја софтвера.
6.3. Концепти развоја рачунарског софтвера
Пре него што се почне са израдом софтвера, посебно уколико
се ради о сложеном проблему, неопходно је спровести анализу
система.
Под анализом система се подразумева сагледавање проблема
и његово разлагање на потпроблеме који су разумљиви и
решиви. Посебна пажња у анализи се мора посветити везама
између потпроблема, јер оне могу бити кључни фактор у
налажењу комплетног решења.
Након што се проблем разложи на потпроблеме који могу да се
реше (са јасно дефинисаним међусобним везама), приступа се
синтези решења.
Сваки потпроблем се најпре самостално решава, а затим се од
добијених парцијалних решења формира комплетно решење
проблема.
6.3. Концепти развоја рачунарског софтвера
Сваки проблем који се решава, може се решити на више начина.
Начини се међусобно разликују по ефикасности, прецизности,
разумљивости, корисности, могућности модификовања и другим
особинама. Стога, израда софтвера захтева поседовање знања
и вештина. Основни циљ у изради софтвера јесте да софтвер
буде свеобухватан, стабилан, разумљив, да се лако одржава и
ради ефиксано оно због чега је направљен.
Развој софтвера је подељен у више фаза:
У фази анализе и дефинисања захтева развојни тим, заједно
са корисницима, утврђује захтеве које систем треба да
задовољи. Разултат ове фазе је листа корисничких захтева.
Фаза пројектовања система генерише пројекат система који
даје план решења. План укључује компоненте и алгоритме који
ће бити коришћени, као и архитектуру система.
6.3. Концепти развоја рачунарског софтвера
У фази пројектовања програма се дефинишу подпројекти погодни за
програмску реализацију. Сваки подпројекат представља један модул са
датом функционалношћу.
Израда програма је фаза директне израде софтвера у којој програмери
пишу програмски кôд према урађеном пројекту.
Приликом тестирања програма развојни тим се бави налажењем и
исправљањем грешака у систему. Након писања програма, најпре се
тестирају индивидуални делови кôда, тј. појединачни модули, што се
назива јединичним тестирањем. Затим се врши интеграционо тестирање
током кога се модули повезују у једну целину. На крају следи завршно
тестирање у коме се проверава да ли систем испуњава постављене
захтеве корисника.
У фази испоруке система систем се испоручује наручиоцу, софтвер се
инсталира у радном окружењу и обавља се обука непосредних
корисника.
Одржавање је дуготрајна фаза у којој се исправљају грешке у систему
које се јављају након његове испоруке. Такође се ради и на даљем
унапређењу појединих делова система у складу са захтевима корисника
или променама у окружењу.
6.3. Концепти развоја рачунарског софтвера
Процес развоја софтвера представља сваки опис развоја
софтвера који садржи неке од набројаних фаза, организованих
тако да производе одговарајући исправан и проверен програмски
кôд.
Увођење планирања у процес развоја софтвера према задатим
фазама довело је до настанка традиционалних метода
моделовања.
Најпознатије су следеће традиционалне методе моделовања:
• Каскадни модел
• Вe (V) модел
• Фазни развој (који може бити инкрементални и итеративни)
• Прототипски модел
• Трансформациони модел
• Спирални модел и
• RUP (Rational Unified Process)
6.3. Концепти развоја рачунарског софтвера
Поред традиционалних постоје и савременије, тзв. агилне
методе развоја софтвера, од којих су најпознатије
• XP (Extreme Programming - екстремно програмирање),
• Scrum,
• Crystal и
• ASD (Adatptive Software Development – адаптивнои развој
софтвера).
6.3. Концепти развоја рачунарског софтвера
Софтверска архитектура програма или рачунарског система
представља системску структуру која обухвата софтверске
компоненте, њихова спољашња видљива својства и релације
између тих компонената.
Нема прецизне дефиниције самог појма софтверске
архитектуре. Сама дисциплина је заснована на идеји
смањења сложености коришћењем механизама апстракције
и раздвајања основног проблема који се решава на логичком
нивоу, од детаља његовог извршавања на рачунару.
Софтверска архитектура је уобичајено организована у тзв.
погледе (views).
6.3. Концепти развоја рачунарског софтвера
Погледи су аналогни различитим типовима планова који се
користе у класичној архитектури и градитељству и
представљају начин да се смањи сложеност анализе саме
архитектуре. Тако, могу се разликовати функционални и
логички поглед на софтверску архитектуру, поглед на код и
модуле, структурни и развојни поглед, поглед на
конкурентност, процесе и нити, поглед на физичке компоненте
и распоређивање оперативног окружења, поглед на
корисничке акције, поглед на податке и слично.
Постоји већи број стандарда и језика за опис софтверских
архитектура. Један од најпознатијих је језик за обједињено
моделовање (Unified Modeling Language, UML) који је
дефинисан као стандард за моделовање различитих система,
не само софтверских.

More Related Content

Similar to IT6-L3.pptx

IT6-L5.pptx
IT6-L5.pptxIT6-L5.pptx
IT6-L5.pptx
AleksandarSpasic5
 
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Positive
 
Izbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-aIzbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-a
Bojan Buhac
 
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan BuhacSPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan BuhacSharePoint User Grupa Srbija
 
IT6-L1.pptx
IT6-L1.pptxIT6-L1.pptx
IT6-L1.pptx
AleksandarSpasic5
 
Modeli razvoja IS.pdf
Modeli razvoja IS.pdfModeli razvoja IS.pdf
Modeli razvoja IS.pdf
Vlada Nedic
 
IT6-L4.pptx
IT6-L4.pptxIT6-L4.pptx
IT6-L4.pptx
AleksandarSpasic5
 
ICK7-L3.pptx
ICK7-L3.pptxICK7-L3.pptx
ICK7-L3.pptx
AleksandarSpasic5
 
IT7-L3.pptx
IT7-L3.pptxIT7-L3.pptx
IT7-L3.pptx
AleksandarSpasic5
 
Evaluation of a user interface for www.sportsdirect.com
Evaluation of a user interface for www.sportsdirect.comEvaluation of a user interface for www.sportsdirect.com
Evaluation of a user interface for www.sportsdirect.com
Stefan Vasić
 
ICK2-L2.pptx
ICK2-L2.pptxICK2-L2.pptx
ICK2-L2.pptx
AleksandarSpasic5
 
The 5 Elements of User Experience Design.pdf
The 5 Elements of User Experience Design.pdfThe 5 Elements of User Experience Design.pdf
The 5 Elements of User Experience Design.pdf
VladimirDabic6
 
IT6-L2.pptx
IT6-L2.pptxIT6-L2.pptx
IT6-L2.pptx
AleksandarSpasic5
 
IT7-L2.pptx
IT7-L2.pptxIT7-L2.pptx
IT7-L2.pptx
AleksandarSpasic5
 
PROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdfPROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdf
MilicaJovanovi14
 
ICK6-L1.pptx
ICK6-L1.pptxICK6-L1.pptx
ICK6-L1.pptx
AleksandarSpasic5
 
ICK8-L1.pptx
ICK8-L1.pptxICK8-L1.pptx
ICK8-L1.pptx
AleksandarSpasic5
 
Preporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske AplikacijePreporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske AplikacijeОШ ХРШ
 
IT6-L6.pptx
IT6-L6.pptxIT6-L6.pptx
IT6-L6.pptx
AleksandarSpasic5
 

Similar to IT6-L3.pptx (20)

IT6-L5.pptx
IT6-L5.pptxIT6-L5.pptx
IT6-L5.pptx
 
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
 
Izbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-aIzbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-a
 
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan BuhacSPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
 
IT6-L1.pptx
IT6-L1.pptxIT6-L1.pptx
IT6-L1.pptx
 
Modeli razvoja IS.pdf
Modeli razvoja IS.pdfModeli razvoja IS.pdf
Modeli razvoja IS.pdf
 
IT6-L4.pptx
IT6-L4.pptxIT6-L4.pptx
IT6-L4.pptx
 
ICK7-L3.pptx
ICK7-L3.pptxICK7-L3.pptx
ICK7-L3.pptx
 
IT7-L3.pptx
IT7-L3.pptxIT7-L3.pptx
IT7-L3.pptx
 
Evaluation of a user interface for www.sportsdirect.com
Evaluation of a user interface for www.sportsdirect.comEvaluation of a user interface for www.sportsdirect.com
Evaluation of a user interface for www.sportsdirect.com
 
ICK2-L2.pptx
ICK2-L2.pptxICK2-L2.pptx
ICK2-L2.pptx
 
The 5 Elements of User Experience Design.pdf
The 5 Elements of User Experience Design.pdfThe 5 Elements of User Experience Design.pdf
The 5 Elements of User Experience Design.pdf
 
IT6-L2.pptx
IT6-L2.pptxIT6-L2.pptx
IT6-L2.pptx
 
IT7-L2.pptx
IT7-L2.pptxIT7-L2.pptx
IT7-L2.pptx
 
3 1 standardi iso
3 1 standardi iso3 1 standardi iso
3 1 standardi iso
 
PROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdfPROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdf
 
ICK6-L1.pptx
ICK6-L1.pptxICK6-L1.pptx
ICK6-L1.pptx
 
ICK8-L1.pptx
ICK8-L1.pptxICK8-L1.pptx
ICK8-L1.pptx
 
Preporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske AplikacijePreporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske Aplikacije
 
IT6-L6.pptx
IT6-L6.pptxIT6-L6.pptx
IT6-L6.pptx
 

More from AleksandarSpasic5

OIR-V11.pptx
OIR-V11.pptxOIR-V11.pptx
OIR-V11.pptx
AleksandarSpasic5
 
OIR-V10.pptx
OIR-V10.pptxOIR-V10.pptx
OIR-V10.pptx
AleksandarSpasic5
 
OIR12-L3.pptx
OIR12-L3.pptxOIR12-L3.pptx
OIR12-L3.pptx
AleksandarSpasic5
 
OIR12-L2.pptx
OIR12-L2.pptxOIR12-L2.pptx
OIR12-L2.pptx
AleksandarSpasic5
 
OIR12-L1.pptx
OIR12-L1.pptxOIR12-L1.pptx
OIR12-L1.pptx
AleksandarSpasic5
 
OIR-V9.pptx
OIR-V9.pptxOIR-V9.pptx
OIR-V9.pptx
AleksandarSpasic5
 
OIR11-L4.pptx
OIR11-L4.pptxOIR11-L4.pptx
OIR11-L4.pptx
AleksandarSpasic5
 
OIR11-L3.pptx
OIR11-L3.pptxOIR11-L3.pptx
OIR11-L3.pptx
AleksandarSpasic5
 
OIR11-L2.pptx
OIR11-L2.pptxOIR11-L2.pptx
OIR11-L2.pptx
AleksandarSpasic5
 
OIR11-L1.pptx
OIR11-L1.pptxOIR11-L1.pptx
OIR11-L1.pptx
AleksandarSpasic5
 
OIR-V8.pptx
OIR-V8.pptxOIR-V8.pptx
OIR-V8.pptx
AleksandarSpasic5
 
OIR10-L5.pptx
OIR10-L5.pptxOIR10-L5.pptx
OIR10-L5.pptx
AleksandarSpasic5
 
OIR10-L4.pptx
OIR10-L4.pptxOIR10-L4.pptx
OIR10-L4.pptx
AleksandarSpasic5
 
OIR10-L3.pptx
OIR10-L3.pptxOIR10-L3.pptx
OIR10-L3.pptx
AleksandarSpasic5
 
OIR10-L2.pptx
OIR10-L2.pptxOIR10-L2.pptx
OIR10-L2.pptx
AleksandarSpasic5
 
OIR10-L1.pptx
OIR10-L1.pptxOIR10-L1.pptx
OIR10-L1.pptx
AleksandarSpasic5
 
OIR-V7.pptx
OIR-V7.pptxOIR-V7.pptx
OIR-V7.pptx
AleksandarSpasic5
 
OIR9-L3.pptx
OIR9-L3.pptxOIR9-L3.pptx
OIR9-L3.pptx
AleksandarSpasic5
 
OIR9-L2.pptx
OIR9-L2.pptxOIR9-L2.pptx
OIR9-L2.pptx
AleksandarSpasic5
 
OIR9-L1.pptx
OIR9-L1.pptxOIR9-L1.pptx
OIR9-L1.pptx
AleksandarSpasic5
 

More from AleksandarSpasic5 (20)

OIR-V11.pptx
OIR-V11.pptxOIR-V11.pptx
OIR-V11.pptx
 
OIR-V10.pptx
OIR-V10.pptxOIR-V10.pptx
OIR-V10.pptx
 
OIR12-L3.pptx
OIR12-L3.pptxOIR12-L3.pptx
OIR12-L3.pptx
 
OIR12-L2.pptx
OIR12-L2.pptxOIR12-L2.pptx
OIR12-L2.pptx
 
OIR12-L1.pptx
OIR12-L1.pptxOIR12-L1.pptx
OIR12-L1.pptx
 
OIR-V9.pptx
OIR-V9.pptxOIR-V9.pptx
OIR-V9.pptx
 
OIR11-L4.pptx
OIR11-L4.pptxOIR11-L4.pptx
OIR11-L4.pptx
 
OIR11-L3.pptx
OIR11-L3.pptxOIR11-L3.pptx
OIR11-L3.pptx
 
OIR11-L2.pptx
OIR11-L2.pptxOIR11-L2.pptx
OIR11-L2.pptx
 
OIR11-L1.pptx
OIR11-L1.pptxOIR11-L1.pptx
OIR11-L1.pptx
 
OIR-V8.pptx
OIR-V8.pptxOIR-V8.pptx
OIR-V8.pptx
 
OIR10-L5.pptx
OIR10-L5.pptxOIR10-L5.pptx
OIR10-L5.pptx
 
OIR10-L4.pptx
OIR10-L4.pptxOIR10-L4.pptx
OIR10-L4.pptx
 
OIR10-L3.pptx
OIR10-L3.pptxOIR10-L3.pptx
OIR10-L3.pptx
 
OIR10-L2.pptx
OIR10-L2.pptxOIR10-L2.pptx
OIR10-L2.pptx
 
OIR10-L1.pptx
OIR10-L1.pptxOIR10-L1.pptx
OIR10-L1.pptx
 
OIR-V7.pptx
OIR-V7.pptxOIR-V7.pptx
OIR-V7.pptx
 
OIR9-L3.pptx
OIR9-L3.pptxOIR9-L3.pptx
OIR9-L3.pptx
 
OIR9-L2.pptx
OIR9-L2.pptxOIR9-L2.pptx
OIR9-L2.pptx
 
OIR9-L1.pptx
OIR9-L1.pptxOIR9-L1.pptx
OIR9-L1.pptx
 

IT6-L3.pptx

  • 1. 6.3. Концепти развоја рачунарског софтвера Развој софтвера је процес који се користи за осмишљавање, спецификацију, пројектовање, програмирање, документовање, тестирање и исправку грешака у циљу креирања и одржавања апликација или других софтверских компоненти. Развој софтвера укључује и истраживање, нови развој, израду прототипа, модификовање, поновну употребу, реинжењеринг, одржавање или било које друге активности које резултирају софтверским производима. Како је софтвер одређена врста производа, то има и свој животни циклус којим се описује његов живот од почетка израде до његовог крајњег коришћења и одржавања.
  • 2. 6.3. Концепти развоја рачунарског софтвера Са појавом првих рачунара, софтвер је био врло једноставан и програмери су могли да га стварају директно само писањем програмског кôда. Повећавањем сложености софтвера, додавање нових функционалности је постајало све теже, као и проналажење и отклањање грешака. Како би се тај проблем превазишао увоедене су методологије развоја. Под методологијом се подразумева дисциплина у процесу развоја која има за циљ бољу предвидљивост и већу ефикасност развоја софтвера.
  • 3. 6.3. Концепти развоја рачунарског софтвера Пре него што се почне са израдом софтвера, посебно уколико се ради о сложеном проблему, неопходно је спровести анализу система. Под анализом система се подразумева сагледавање проблема и његово разлагање на потпроблеме који су разумљиви и решиви. Посебна пажња у анализи се мора посветити везама између потпроблема, јер оне могу бити кључни фактор у налажењу комплетног решења. Након што се проблем разложи на потпроблеме који могу да се реше (са јасно дефинисаним међусобним везама), приступа се синтези решења. Сваки потпроблем се најпре самостално решава, а затим се од добијених парцијалних решења формира комплетно решење проблема.
  • 4. 6.3. Концепти развоја рачунарског софтвера Сваки проблем који се решава, може се решити на више начина. Начини се међусобно разликују по ефикасности, прецизности, разумљивости, корисности, могућности модификовања и другим особинама. Стога, израда софтвера захтева поседовање знања и вештина. Основни циљ у изради софтвера јесте да софтвер буде свеобухватан, стабилан, разумљив, да се лако одржава и ради ефиксано оно због чега је направљен. Развој софтвера је подељен у више фаза: У фази анализе и дефинисања захтева развојни тим, заједно са корисницима, утврђује захтеве које систем треба да задовољи. Разултат ове фазе је листа корисничких захтева. Фаза пројектовања система генерише пројекат система који даје план решења. План укључује компоненте и алгоритме који ће бити коришћени, као и архитектуру система.
  • 5. 6.3. Концепти развоја рачунарског софтвера У фази пројектовања програма се дефинишу подпројекти погодни за програмску реализацију. Сваки подпројекат представља један модул са датом функционалношћу. Израда програма је фаза директне израде софтвера у којој програмери пишу програмски кôд према урађеном пројекту. Приликом тестирања програма развојни тим се бави налажењем и исправљањем грешака у систему. Након писања програма, најпре се тестирају индивидуални делови кôда, тј. појединачни модули, што се назива јединичним тестирањем. Затим се врши интеграционо тестирање током кога се модули повезују у једну целину. На крају следи завршно тестирање у коме се проверава да ли систем испуњава постављене захтеве корисника. У фази испоруке система систем се испоручује наручиоцу, софтвер се инсталира у радном окружењу и обавља се обука непосредних корисника. Одржавање је дуготрајна фаза у којој се исправљају грешке у систему које се јављају након његове испоруке. Такође се ради и на даљем унапређењу појединих делова система у складу са захтевима корисника или променама у окружењу.
  • 6. 6.3. Концепти развоја рачунарског софтвера Процес развоја софтвера представља сваки опис развоја софтвера који садржи неке од набројаних фаза, организованих тако да производе одговарајући исправан и проверен програмски кôд. Увођење планирања у процес развоја софтвера према задатим фазама довело је до настанка традиционалних метода моделовања. Најпознатије су следеће традиционалне методе моделовања: • Каскадни модел • Вe (V) модел • Фазни развој (који може бити инкрементални и итеративни) • Прототипски модел • Трансформациони модел • Спирални модел и • RUP (Rational Unified Process)
  • 7. 6.3. Концепти развоја рачунарског софтвера Поред традиционалних постоје и савременије, тзв. агилне методе развоја софтвера, од којих су најпознатије • XP (Extreme Programming - екстремно програмирање), • Scrum, • Crystal и • ASD (Adatptive Software Development – адаптивнои развој софтвера).
  • 8. 6.3. Концепти развоја рачунарског софтвера Софтверска архитектура програма или рачунарског система представља системску структуру која обухвата софтверске компоненте, њихова спољашња видљива својства и релације између тих компонената. Нема прецизне дефиниције самог појма софтверске архитектуре. Сама дисциплина је заснована на идеји смањења сложености коришћењем механизама апстракције и раздвајања основног проблема који се решава на логичком нивоу, од детаља његовог извршавања на рачунару. Софтверска архитектура је уобичајено организована у тзв. погледе (views).
  • 9. 6.3. Концепти развоја рачунарског софтвера Погледи су аналогни различитим типовима планова који се користе у класичној архитектури и градитељству и представљају начин да се смањи сложеност анализе саме архитектуре. Тако, могу се разликовати функционални и логички поглед на софтверску архитектуру, поглед на код и модуле, структурни и развојни поглед, поглед на конкурентност, процесе и нити, поглед на физичке компоненте и распоређивање оперативног окружења, поглед на корисничке акције, поглед на податке и слично. Постоји већи број стандарда и језика за опис софтверских архитектура. Један од најпознатијих је језик за обједињено моделовање (Unified Modeling Language, UML) који је дефинисан као стандард за моделовање различитих система, не само софтверских.