Иди на текст

Увод у наставни предмет "Развој софтверских пројеката"

Дефиниши СОФТВЕР?
  1. Сви програми који се извршавају на рачунару.
  2. Скуп инструкција и података који омогућавају хардверу да извршава одређене задатке.
  3. Програми, процедуре, правила и придружена документација који омогућавају систему за обраду информација да извршава одређене задатке.

Данас је софтвер веома широка категорија и може се поделити на више начина. Подела софтвера на системски и апликативни софтвер је и даље основна, међутим, развојем интернета, клауда и разних паметних уређаја, софтвер је знатно теже категорисати. Према нивоу апстракције у односу на хардвер, софтвер се може поделити на:

  • системски софтвер, који управља хардвером, ресурсима рачунара и омогућава рад других програма. На пример:
    • оперативни системи,
    • фирмвер (енгл. Firmware),
    • управљачки програм,
    • услужни програми,
    • програмски преводиоци и интерпретери итд.
  • средњи софтвер (енгл. Middleware), који омогућава комуникацију и размену података између различитих апликација, сервиса и оперативног система. На пример:
    • апликациони сервери,
    • сервери база података,
    • API гејтвеји итд.
  • апликациони софтвер, који решава конкретне проблеме и задатке корисника. На пример:
    • софтвер за обраду текста,
    • софтвер за рад са табелама,
    • софтвер за израду презентација,
    • софтвер за обраду слика,
    • софтвер за израду векторских цртежа итд.

Апликативни софтвер се може даље категорисати према начину дистрибуције или извршавања на:

  • десктоп софтвер, који се инсталира и покреће локално,
  • мобилни софтвер, који се инсталира и покреће на мобилним уређајима,
  • веб апликације, које се извршавају у веб прегледачу,
  • клауд софтвер, најчешће као SaaS услуге и
  • хибридни софтвер, који делом ради локално, а делом у облаку.

Према намени, односно функционалности, софтвер се може поделити на:

  • софтвер за продуктивност (нпр. канцеларијски пакети софтвера),
  • креативни софтвер (нпр. софтвер за рад са графиком и мултимедијом),
  • развојни софтвер (развојна окружења и разни програмерски алати),
  • пословни софтвер (ERP, CRM, BI...)
  • научни и инжењерски софтвер,
  • софтвер за мултимедију и забаву,
  • софтвер за комуникацију
  • уграђени (енгл. Embedded) софтвер, итд.

Софтвер се даље може поделити и по моделу лиценцирања на:

  • власнички (енгл. Proprietary),
  • слободан софтвер отвореног кода (енгл. FOOS),
  • фривер (енгл. Freeware),
  • шервер (енгл. Shareware),
  • пробни (енгл. Trial),
  • претплатнички (енгл. Subscription) итд.

Развој савременог софтвера није посао једног програмера. Данас се већина софтверских производа развија тимски, по унапред дефинисаном процесу и уз употребу различитих алата и методологија. Због тога је, поред знања програмских језика, неопходно разумети како настаје један софтверски производ и како сарађују чланови развојног тима.

Овај наставни предмет управо се бави тим процесом!