Sa potražnjom i ekspanzijom moderne tehnologije, potreba za softverskim inženjerima nastavlja da raste.
Od operativnih sistema koji pokreću naše računare i mobilne uređaje do aplikacija koje svakodnevno koristimo za komunikaciju, zabavu i poslovanje, softverski inženjeri igraju glavnu ulogu u pokretanju modernog društva.
ISO/IEC 20741:2017 - Sistemski i softverski inženjering - Smernice za ocenu i izbor alata za softversko inženjerstvo definiše skup procesa i listu karakteristika koje mogu da koriste sve oblasti alata za softversko inženjerstvo.
Alati softverskog inženjeringa
Softverski inženjeri koriste različite tehnologije za zadatke, uključujući kontrolu verzija, kreiranje i pregled koda, razvoj softvera, hostovanje git spremišta, praćenje problema itd. Alati za softversko inženjerstvo često uključuju uređivač teksta, biblioteke kodova, kompajlere ili tumače i testiranje platforma - koje se sve koriste sveprisutno i kontinuirano.
Integrisano razvojno okruženje (IDE) omogućava programerima da konsoliduju različite aspekte (uređivanje izvornog koda, pravljenje izvršnih datoteka i otklanjanje grešaka) pisanja računarskog programa. Izbor alata za softversko inženjerstvo se vrši uz pažljivo razmatranje i tehničkih i upravljačkih zahteva. Metode opisane u ISO/IEC 20741:2017 su korisne ne samo za izbor alata za softversko inženjerstvo, već i za svaki projekat gde se COTS/FOSS softver može izabrati umesto uključivanja u razvoj novog softvera.
Šta je ISO/IEC 20741?
ISO/IEC 20741:2017 daje smernice za procenu i izbor alata za softversko inženjerstvo, pokrivajući delimičan ili pun deo životnog ciklusa softverskog inženjeringa. Ovaj standard pruža sledeće:
- Smernice za identifikaciju organizacionih zahteva za alate softverskog inženjeringa.
- Smernice za mapiranje tih zahteva u karakteristike alata softverskog inženjeringa koje treba proceniti.
- Proces odabira najprikladnijeg alata za softversko inženjerstvo iz više alata, na osnovu merenja definisanih karakteristika.
Pošto su ovi procesi generički, organizacije mogu prilagoditi ove generičke procese da zadovolje organizacione potrebe. Primarni korisnici ovog dokumenta su organizacije koje nameravaju da usvoje alate softverskog inženjeringa da podrže svoje procese životnog ciklusa softvera. Dobavljači softverskih alata takođe mogu da koriste ISO/IEC 20741:2017 da opišu karakteristike svojih alata za softversko inženjerstvo.
Ovaj standard se ne primenjuje na planiranje implementacije alata softverskog inženjeringa unutar organizacije. Takođe se ne odnosi na alate opšte namene (npr. procesore teksta, tabele) koji se mogu koristiti u aktivnostima softverskog inženjeringa, niti alate za softversko inženjerstvo veoma uskog obima ili specifične namene (npr. kompajler).
Istorija softverskog inženjeringa
Godine 1963. Margaret Hamilton je skovala termin softversko inženjerstvo dok je radila na razvoju softvera za NASA-inu svemirsku letelicu Apolo, koja je prvi put spustila ljude na Mesec 1969. Ovaj izraz je korišćen za razlikovanje softverskog inženjeringa od hardvera i drugih vrste inženjeringa, ali u isto vreme prepoznaju da kompjutersko programiranje zahteva disciplinovan pristup sličan onom tradicionalnom inženjeringa. Tokom kasnih 1960-ih, ključne ličnosti kao što su Dijkstra, Bruks i Knut odigrale su ključnu ulogu u oblikovanju polja softverskog inženjeringa. 1968. i 1969. održana je NATO konferencija o softverskom inženjerstvu, koja je industriji softverskog inženjerstva dala preko potreban podsticaj. Do 1980-ih, softverski inženjering je obezbedio svoje mesto pored računarskih nauka i tradicionalnih inženjerskih profesija.
Šta je softversko inženjerstvo?
Softverski inženjering je grana računarske nauke koja se bavi dizajnom, razvojem, testiranjem i održavanjem softverskih aplikacija. Softverski inženjeri kreiraju originalni kod za softver i aplikacije i prave kod za višekratnu upotrebu za buduću upotrebu. Primenjuju inženjerske principe i znanje programskih jezika za izgradnju softverskih rešenja za krajnje korisnike. Ovo uključuje kreiranje veb aplikacija, mobilnih aplikacija, robota, operativnih sistema, kompjuterskih igara i mrežnih sistema. Uspešni softverski inženjeri znaju kako da koriste prave programske jezike, platforme i arhitekture za razvoj softverskih rešenja koja zadovoljavaju potrebe i očekivanja njihovih kompanija.
Izvor: ansi.org