Будући да је софтвер нематеријални део уређаја, делови софтвера састоје се од сваког одељка који омогућавају софтвер у целини.
Односно, иако постоје различите врсте софтвера, може се рећи да за развој било које од ових врста морају испуњавати минималне заједничке стандарде.
Разлике између оперативног система и рачунарских програма
Пре него што се позабавите деловима софтвера, треба разликовати две велике групе софтвера рачунарских система.
Под оперативним системом разумемо дигитални мозак уређаја. Ово омогућава сваки задатак на уређају, било да се ради о програмима или апликацијама било које врсте.
С друге стране, рачунарски програм се не може извршити без оперативног система који нам претходно омогућава отварање програма. Тада је у уређају срце оперативни систем, а руке и ноге овог програма.
Софтверски делови
На првом месту треба напоменути да су одељци који чине оперативни систем ширег опсега од одељења самих програма. Тако се делови који су интегрисани у било који програм могу наћи у оперативном систему, бар теоретски.
Можемо истаћи две класификације. С једне стране налазимо такозвани фронт-енд и бацк-енд, а с друге стране функције или одељке који се извршавају у софтверу.
Почевши од одељака софтвера, требало би да:
- Управљати.
- Обезбедите алате.
- Повежите информације о овоме са корисником.
У зависности од софтвера на који се позивамо, он ће администрирати, пружити неке алате или друге и понудити нам информације на овај или онај начин.
Постоји софтвер који само управља (на пример, Виндовс фасцикле). Остали који пружају алате (Оффице пакети). Или подаци о везама (пример су пречице на радној површини).
Рачунарски програми су обично алати који испуњавају све три функције, али то није увек случај. Оно што се може рећи је да ће оперативни систем увек имати горе поменуте функције.
С друге стране, ако се усредсредимо на делове на нивоу развоја, углавном налазимо два дела:
- Део предњег дела. Овај део је одговоран за визуелни део којим корисник комуницира са софтвером.
- Део позадине. У овом делу, међутим, реч је о развоју алата тако да има функцију изван опсега самог уређаја, пружајући или локалну везу преко локалног сервера или традиционалну комуникацију са удаљеним сервером.
Професионалца који комбинује обе развојне области често називају пуним програмерима. Иако индустрија развоја софтвера превазилази ову класификацију, она је углавном најосновнија.