Шта је то софтверско инжењерство?

Експлозивни развој рачунарства креирао је нове дисциплине, а са њима и нова радна места. Једна од њих је и контроверзна дисциплина позната под називом софтверско инжењерство. У овом тренутку, велики број стручњака који развија софтвер себе назива софтверским инжењерима, а посао који обављају називају софтверско инжењерство, иако никада нису студирали инжењерство у било ком облику. Разлог за ово је историјски јер су они потекли из рачунарских наука, дисциплине која се значајно развијала у последњих 30 година. Иако софтверско инжењерство и рачунарске науке имају заједничких елемената (посебно у области математике и програмирања), они се разликују у приступу овим елементима. Додатна забуна настаје када се софтверско инжењерство погрешно поистовећује са рачунарским инжењерством и софтверским процесима, уз још већу грешку називајем софтверских инжењера "рачунарским стручњацима софтверског профила". Слично важи и за остале дисциплине у рачунарству. У кратким цртама, софтверско инжењерство није исто што и рачунарске науке, компјутерске науке, информатика, рачунарска техника, рачунарство, рачунарско инжењерство, софтверске технологије, информационе технологије, информациони системи или програмирање. Софтверско инжењерство се бави развојем ефикасног, поузданог и безбедног софтвера као производа намењеног тржишту. Али, за разлику од осталих инжењерских дисциплина, тај производ није опипиљив. Но, без обзира на то, софтверско инжењерство је чврсто везано за управљање процесима и квалитетом, за креативност и иновације, за стандарде, за индивидуалне вештине појединаца, али и за способност тимског рада и примену правила и искуства из професионалне праксе. Софтверско инжењерсво покрива комплетан животни циклус софтвера. То обухвата производњу квалитетног и поузданог софтвера на један систематичан, контролисан и ефикасан начин користећи формалне методе за спецификацију, евалуацију, анализу и дизајн, имплементацију, тестирање и одржавање. Софтверски производи спадају у најкомплексније системе које је направио човек. Због тога њихов развој захтева употребу техника и процеса који успешно могу да скалирају до врло великих апликација, уз истовремено задовољавање захтева за величином, перформансама и безбедношћу, а све у оквиру временских и буџетских ограничења. Комплексност великих софтверских система савладава се употребом структура на вишем нивоу апстракције, као што је софтверска архитектура. Због свега тога, софтверско инжењерство захтева употребу како аналитичких, тако и дескриптивних алатки које су развијене у оквиру рачунарских наука, заједно са ригорозним приступом који доносе инжењерске дисиплине у циљу постизања одговарајуће поузданости и безбедности, а све то кроз тимски рад софтверских инжењера који функционишу у једном кохезионом окружењу. Уз све то, а имајући стално у виду да је софтвер производ који је намењен тржишту, цена развоја софтвера утиче и на сам ток софтверских процеса. Прецизна естимација трошкова, као и предвидљивост и успешно управљање софтверским пројектима итекако доприносе успеху неког софтвера на тржишту. На данашњем нивоу развоја софтверског инжењерства, способност једне организаје да се бави развојем софтвера на наведени начин је егзактно мерљива и креће се у границама од нивоа 1, где су софтверски процеси непредвидљиви, па до нивоа 5, где су софтверски процеси оптимизовани. У Србији је софтверска индустрија тек у зачетку, док је тржиште софтвера занемарљиво. Срећом, стране компаније напуштају класичан оутсоурцинг, тј. изнајмљивање просте радне снаге (програмера/кодера) и полако пребацију развој својих производа овде. Ту на сцену ступају софтверски инжењери и остали стручњаци из области рачунарства. Према томе, очекује се да право софтверско инжењерство у Србији тек доживи експанзију. У неким развијеним земљама (Канада, Аустралија и поједине државе у САД) софтверско инжењерство је регулисана професија. У другим земљама, лиценцирање софтверских инжењера је неопходно само уколико се обављају специфичне делатности - слично машинским или грађевинским инжењерима који код нас морају да положе стручни испит да би постали одговорни пројектанти. На Рачунарском факултету у Београду софтверско инжењерсво се изучава кроз засебан студијски програм на мастер академским студијама. То је програм који је комплементаран са студијама Рачунарских наука или Рачунарског инжењерства на основним студијама. Он се ослања на неопходна знања из рачунарства која се стичу на основним студијама, уз додавање специфичних знања која су потребна будућим софтверским инжењерима, као што су специфичне софтверске методе, софтверска архитектура, спецификација и моделовање, квалитет, одржавање и реинжењеринг софтвера, итд.

 

Рачунарски факултет Рачунарски факултет 011-33-48-079