From Wikipedia, the free encyclopedia
За софтверско инженерство (англиски: software engineering) постојат повеќе дефиниции. Еве некои од нив:
Софтверското инженерство е инженерска дисциплина што е посветена на сите аспекти на производство на софтвер, почнувајќи од неговата спецификација, па сè до негово одржување по пуштање во употреба.[1]
Софтверското инженерство е примена на системски, дисциплиниран и мерлив пристап кон развојот, распоредувањето и одржувањето на софтверот, и ова претставува примена на инженерство кај софтверот. Инженерска дисциплина затоа што се користат научни и математички принципи, компјутерска наука и други знаење од инженерството.[2]
Во средината на шеесеттите години се појави таканаречената софтверска криза, која што резултираше со многу проблеми во развојот на софтверот. Многу софтверски проекти го надминувале нивниот предвиден буџет, никогаш не биле завршувани на време, не биле ефикасни, софтверот имал многу слаб квалитет, изворниот код бил преголем и било тешко за одржување.[3][4] Испорачаниот софтверот честопати предизвикувал штети, па дури имало и човечки жртви. Таков е примерот со Therac-25, машина за радиотерапија која била компјутерски контролирана, во која имало софтверски недостаток и како резултат на тоа дошло да загуба на човечки живот.[5] На почетокот софтверската криза се однесуваше за продуктивноста, но подоцно се стави акцент на квалитетот на развојот. Некои го користеа терминот софтверска криза да дадат до знаење дека не можат да вработат доволно квалификувани програмери. Софтверските трошоци биле значајно поголеми од хардверските трошоци. Во такви услови морало да се бара некаков излез. Во 1968 година, во Германија, се одржува НАТО конференција на која се поставуваат почетоците на софтверското инженерство.[6]
Во 2004 година, во САД околу 800 илјади софтверски инженери биле вработени . Во истиот период 1,4 милиони луѓе работеа во сите останати инженерски дисциплини.[7] Софтверското инженерство, во формалното образование, често се изучува како дел од програмите за компјутерски науки и многу софтверски инженери имаат дипломи за компјутерски науки.[8] Во текот на развојниот процес, некои фирми имаат специјалисти да ги извршуваат задачите посебно, додека кај други фирми софтверските инженери ги извршуваат повеќето или сите задачи. Кај големи проекти секој си има посебна улога, кај малите пак луѓето извршуваат повеќе улоги. Такви улоги се: аналитичар, софтверски архитект, програмер, тест - инженер, менаџер, логистика. Повеќето софтверски инженери и програмери работат 40 часа неделно, но околу 15 проценти на софтверски инженери и 11 % од програмерите работеле повеќе од 50 часа неделно во 2008 година. Повреди во овие професии се ретки. Сепак, како и другите работници кои поминуваат долги периоди пред компјутер пишувајќи на тастатура, инженерите и програмерите се подложени на напрегање на очите, непријатност и проблеми на раката и зглобовите, па поради ова кај некои од нив може да се појави синдромот на Карпален тунел.[9]
Институтот за софтверско инженерство нуди сертификати за одредени теми како што се безбедноста, процесот на подобрување и софтверска архитектура.[10]
Apple, IBM, Microsoft и други компании вложуваат во свои испити за сертификација. Многу ИТ програми за сертификација се ориентирани кон конкретни технологии и се управувани од страна на продавачите на овие технологии.[11] Овие програми за сертификација се прилагодени на институции кои ќе вработуваат луѓе кои ги користат овие технологии.
Поширока сертификација на општите софтверското инженерски вештини се достапни преку разни професионални здруженија. Почнувајќи од 2006 година, IEEE има сертифицирано над 575 софтверски професионалци како Сертифициран професионален софтверски развивач (CSDP).[12]
Во 2008 година тие додале основен модел на сертификација познат како сертифициран соработник за развој на софтвер (CSDA).[13]
Софтверските инженери може да се квалификуваат за членство на Институтот за Инженерство и Tехнологија (англиски: Institution of Engineering and Technology) и да се квалификуваат за овластен инженерски статус. Во Канада, канадското општество за обработка на информации има правно призната професионална сертификација наречена Професионални Информациски Системи (англиски: Information Systems Professional).[14]
Познавањето на програмирање е предуслов да се стане софтверски инженер. Во 2004 IEEE ја создава SWEBOK , во која е опишано потребното знаење што треба да се го стекнат дипломираните студенти со четиригодишно искуство.[15] Многу софтверски инженери влегуваат во професијата со завршено високо образование или стручно училиште. Во прилог на високото образование, многу компании вложуваат во студентски пракси, на оние студенти кои сакаат да ја продолжат кариерата во информатичката технологија. Овие пракси може да го воведат студентот до интересни реални задачи кои типични софтверски инженери ги среќаваат секој ден.[16]
Главната разлика помеѓу софтверското инженерство и другите инженерски дисциплини според некои истражувачи е резултат од трошоците во производството.[17]
Софтверското инженерство е поделено на следните поддисциплини:[2]
Софтверското инженерство е директно поддисциплина на компјутерските науки и има некои врски со операциски истражувања. Се смета дека е дел од целокупното системско инженерство.
Системското инженерство е интердисциплинарен процес што не осигурува дека потребите на клиентот се задоволени во текот на целиот животен век на системот.[19]
Софтверски инженер се обично дипломирани инженери од областа на софтверското инженерство и информациските системи. Во овој назив спаѓаат и дипломираните инженери од компјутерските науки кои имаат неколку години работно искуство поврзано со софтверското инженерство.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.