Увод у наставни предмет "Развој софтверских пројеката"
Дефиниши СОФТВЕР?
- Сви програми који се извршавају на рачунару.
- Скуп инструкција и података који омогућавају хардверу да извршава одређене задатке.
- Програми, процедуре, правила и придружена документација који омогућавају систему за обраду информација да извршава одређене задатке.
Данас је софтвер веома широка категорија и може се поделити на више начина. Подела софтвера на системски и апликативни софтвер је и даље основна, међутим, развојем интернета, клауда и разних паметних уређаја, софтвер је знатно теже категорисати. Према нивоу апстракције у односу на хардвер, софтвер се може поделити на:
- системски софтвер, који управља хардвером, ресурсима рачунара и омогућава рад других програма. На пример:
- оперативни системи,
- фирмвер (енгл. Firmware),
- управљачки програм,
- услужни програми,
- програмски преводиоци и интерпретери итд.
- средњи софтвер (енгл. Middleware), који омогућава комуникацију и размену података између различитих апликација, сервиса и оперативног система. На пример:
- апликациони сервери,
- сервери база података,
- API гејтвеји итд.
- апликациони софтвер, који решава конкретне проблеме и задатке корисника. На пример:
- софтвер за обраду текста,
- софтвер за рад са табелама,
- софтвер за израду презентација,
- софтвер за обраду слика,
- софтвер за израду векторских цртежа итд.
Апликативни софтвер се може даље категорисати према начину дистрибуције или извршавања на:
- десктоп софтвер, који се инсталира и покреће локално,
- мобилни софтвер, који се инсталира и покреће на мобилним уређајима,
- веб апликације, које се извршавају у веб прегледачу,
- клауд софтвер, најчешће као SaaS услуге и
- хибридни софтвер, који делом ради локално, а делом у облаку.
Према намени, односно функционалности, софтвер се може поделити на:
- софтвер за продуктивност (нпр. канцеларијски пакети софтвера),
- креативни софтвер (нпр. софтвер за рад са графиком и мултимедијом),
- развојни софтвер (развојна окружења и разни програмерски алати),
- пословни софтвер (ERP, CRM, BI...)
- научни и инжењерски софтвер,
- софтвер за мултимедију и забаву,
- софтвер за комуникацију
- уграђени (енгл. Embedded) софтвер, итд.
Софтвер се даље може поделити и по моделу лиценцирања на:
- власнички (енгл. Proprietary),
- слободан софтвер отвореног кода (енгл. FOOS),
- фривер (енгл. Freeware),
- шервер (енгл. Shareware),
- пробни (енгл. Trial),
- претплатнички (енгл. Subscription) итд.
Развој савременог софтвера није посао једног програмера. Данас се већина софтверских производа развија тимски, по унапред дефинисаном процесу и уз употребу различитих алата и методологија. Због тога је, поред знања програмских језика, неопходно разумети како настаје један софтверски производ и како сарађују чланови развојног тима.
Овај наставни предмет управо се бави тим процесом!