Софтвер је део компјутерског система који се састоји од података као дигиталних инструкција, за разлику од физичке опреме из које је систем изграђен. У компјутерској науци и развоју софтвера, то су све информације које обрађују компјутерски системи, програми и подаци. То укључује компјутерске програме, библиотеке и сродне не-извршне податке, као што су онлине документација или дигитални медији. Технике и софтвер зависе једни од других и не могу се сами користити. С друге стране, класификација софтвера може се извршити на неколико различитих основа.
На најнижем нивоу, извршни код се састоји од инструкција на машинском језику специфичне за један процесор, обично централни (ЦПУ). Језик машине се састоји од група бинарних вредности које означавају инструкције процесора које мењају стање рачунара из његовог претходног стања. На пример, инструкција може да промени вредност која се налази на одређеној локацији за складиштење у рачунару. Овај ефекат није директно уочљив за корисника, али је од великог значаја. Инструкција може (индиректно) проузроковати појаву нечега на екрану компјутерског система - промена стања која треба да буде видљива кориснику. Процесор извршава таква упутства редоследом којим су достављени, осим ако се не наложи да се пребаци на другу инструкцију или прекине процес.
Већина програма је написана програмски језици високог нивоа да раде лакше и ефикасније за програмере. Они су преведени на машински језик помоћу компајлера или преводиоца или њихове комбинације. Дакле, софтверски алати су специјални кодови.
Шема (алгоритам) оног што би био први део софтвера написао је Ада Ловелаце у 19. веку за аналитички мотор. Међутим, ни овај развој, нити било који други сличан софтвер никада није створен у пракси.
Прву теорију о софтверу - прије стварања компјутера познатих данас, Алан Туринг је предложио у свом есеју из 1935. године "Цомпутабле Нумберс". То је на крају довело до стварања два академска подручја рачунарске науке, која проучавају софтвер и његово стварање. Компјутерска наука је више теоријска, док се софтверско инжењерство фокусира на више практичних задатака. Међутим, до 1946. године још није било модерног софтвера.
На готово свим компјутерским платформама, софтвер се може груписати у неколико широких категорија. Дакле, на основу циља, компјутерски софтвер се може поделити:
1. Апликација, која је софтвер који користи систем за обављање посебних функција или за обављање забавних задатака који су изван рада главног рачунара. Бројни развоји припадају апликативном софтверу, јер је опсег задатака који се могу обавити на модерном уређају веома велик.
2. Систем - директно контролише хардвер рачунара, обезбеђује основне функционалности које су потребне корисницима и другом софтверу, и обезбеђује платформу за покретање апликације.
То системски софтвер укључују:
1. Оперативни системи су важни сетови софтвера који управљају ресурсима и пружају заједничке услуге за други софтвер који се покреће “на врху њих”. Управљачки програми, утоваривачи, шкољке и прозорски системи су главне компоненте оперативних система. У пракси, оперативни систем долази у пакету са додатним софтвером (укључујући и апликативни софтвер), тако да корисник може потенцијално да ради са рачунаром који има инсталиран само оперативни систем.
2. Управљачки програми управљају одређеним типом уређаја који је повезан са рачунаром. Сваком уређају је потребан бар један одговарајући управљачки програм. Пошто рачунар обично има најмање једну улазни уређај и излаз, обично је потребно више од једне врсте овог софтвера.
3. Услужни програми су компјутерски програми осмишљени да помогну корисницима у одржавању и одржавању уређаја.
4. Софтвер система такође укључује злонамерни софтвер који је дизајниран да штети рачунарима. Њен настанак и развој је уско повезан са злочинима који се односе на дигиталну технологију, иако се неки његови типови могу развити као практичне шале. Често корисници не разумију увијек када је такав софтвер присутан на уређају.
Класификација системског типа софтвера може се наставити разним високо специјализованим развојем.
Као што је већ напоменуто, системски софтвер је програм створен за рад рачунарског система. Поред основних средстава постоје и њене сорте, које се користе само у одређеним областима. Дакле, која је класификација компјутерског софтвера?
1. Десктоп апликације креиране за одређену апликацију. Ово је најбројнија категорија, као примјер, веб прегледници и Мицрософт Оффице, као и разне услуге за паметне телефоне и таблете. Овде треба напоменути да у неким деловима софтверске индустрије постоји тенденција да се комбинује десктоп са мобилним апликацијама. Дакле, приликом развоја Виндовса 8 и каснијих верзија УбунтуТоуцх, стручњаци су покушали да дозволе употребу истог програмског интерфејса на десктопу, лаптопу и мобилним телефонима.
2. ЈаваСцрипт скрипте су специјални софтвер, традиционално уграђен у веб странице које се покрећу директно у претраживачу, без употребе додатака. Софтвер написан на другим програмским језицима може се покренути иу веб претраживачу ако је преведен на ЈаваСцрипт или је инсталирана екстензија која подржава овај језик. Најчешћи пример потоњег је АцтионСцрипт, који подржава Адобе Фласх плугин.
3. Серверски софтвер обично ради на веб серверу и приказује динамички генерисане веб странице претраживачима који користе ПХП, Јава, АСП.НЕТ или чак ЈаваСцрипт.
4. Додаци и проширења су софтвер који повећава или мења функционалност других услуга. У овом случају, главни програм се користи директно за рад, а уграђени програм је фирмваре дизајниран да изврши једну или више додатних сврха.
Класификација софтвера укључује алате за програмирање. Оне могу бити представљене као услуге или апликације које програмери (познати и као програмери, кодери, хакери или инжењери) користе за креирање, отклањање грешака, одржавање (тј. Побољшање или поправку) или подршку софтвера.
Шта је софтвер за масовног потрошача? Корисници често виде производе креиране другачије од програмера. Људи који користе модерне рачунаре опште намене обично користе три нивоа софтвера који обављају многе задатке: платформу, апликације и корисничке услуге.
Платформа укључује фирмвер, управљачке програме уређаја, оперативни систем и обично графички кориснички интерфејс који опћенито омогућава кориснику да комуницира с рачуналом и његовим периферним уређајима (припадајући хардвер). Софтвер платформе је често у пакету са рачунаром. Већина рачунара има могућност модификовања овог софтвера.
Апплицатион Софтваре - Ово су најчешћи и најпознатији типови програма. На пример, апликативни софтвер укључује канцеларијске пакете и видео игрице. Често се купује одвојено од рачунарске опреме. Понекад долази у пакету са рачунаром, али то не мења чињеницу да раде као независне апликације. Они су обично независни програми из оперативног система, иако су често прилагођени одређеним платформама. Најчешће је то лиценцирани софтвер. Такође треба напоменути да већина корисника разматра преводиоце, базе података и друге системске софтверске апликације.
Ово је кориснички писани софтвер. Класификација софтвера укључује развој напредних корисника. Они прилагођавају систем специфичним потребама. Кориснички софтвер обухвата шаблоне табела и ворд процессор. Чак и филтри е-поште су врста софтвера за кориснике. Потрошачи сами креирају овај софтвер и често заборављају колико је то важно.
Рачунарски софтвер мора бити учитан у складиште рачунара (на пример, на хард диск или меморију). Након што се учита, рачунар може извршити тај или онај задатак. То подразумева слање инструкција из апликативног софтвера кроз хардвер система, који на крају добија инструкцију као машински код. Свака наредба доводи до тога да рачунар изводи операције које померају податке, изводе израчуне или мењају проток командних команди. Кретање података се обично одвија са једног места у меморији на друго. Понекад је то због кретања података између меморије и регистара, што омогућава брз приступ подацима у ЦПУ-у.
Пренос података, посебно великих количина, може бити предуг и дуготрајан. Из тог разлога се често користе показивачи података. Прорачуни укључују једноставне операције, као што је повећање вриједности варијабле елемента података. Сложенији прорачуни могу укључивати више операција и елемената истовремено.
Квалитет софтвера је веома важан, посебно за комерцијалне и системске типове софтвера (Мицрософт Оффице, Мицрософт Виндовс и Линук могу бити примјери класичних примјера). Ако је неисправан (даје грешке), може уклонити рад корисника, онемогућити рачунар и довести до других непријатних посљедица. Грешке у софтверу се називају грешке и "грешке" које се често откривају током алфа и бета тестирања.
Шта је лиценцирани софтвер? Лиценца даје кориснику право на неограничено кориштење услуге, ау случају дозволе за слободан приступ такођер пружа и друге опције (на примјер, право на копирање).
Класификација софтвера се такође може извршити на следећи начин:
1. Бесплатно, што укључује категорију "бесплатног пробног рада", или фреемиум (у прошлости, термин схареваре се често користио за бесплатну пробну верзију). Као што име сугерише, може се користити бесплатно, иако у случају бесплатних узорака или фреемиум софтвера, то је понекад тачно само за ограничен временски период или са ограниченом функционалношћу.
2 Софтвер који је доступан уз накнаду често се погрешно назива "комерцијална". Може се легално користити само приликом куповине лиценце.