Što je razvoj softvera?

Razvoj softvera je proces kojim tvrtka, tim ili pojedinac osmišljavaju i provode opći plan za stvaranje novog softverskog programa. Ovaj se proces također može primijeniti na uspostavljeni program za stvaranje nove verzije tog softvera, iako je to obično skraćena verzija procesa osim ako se nova verzija uvelike razlikuje od prethodne. U ovaj proces uključeni su brojni koraci, počevši od razumijevanja što je potrebno od softvera, razvoja plana za njegovu izradu, pisanja koda i testiranja grešaka prije pokretanja. Razvoj softvera može biti proces koji uključuje bilo što, od jednog programera do desetaka ili stotina pojedinaca.

Proces razvoja softvera obično počinje istraživanjem ili općim razumijevanjem koja je vrsta softvera potrebna na tržištu. Ovo može biti potpuno novi program koji se odnosi na neispunjenu potrebu ili novi komad softvera na postojećem tržištu. Kako razvoj počinje, ovo istraživanje utvrđuje svrhu softvera koji se razvija i sveukupne ciljeve razvoja.

Nakon što oni koji su uključeni u razvoj softvera imaju cilj za program na kojem rade, mogu početi razvijati plan za implementaciju tog softvera. Obično je potrebno puno posla prije nego što se kreira bilo kakav stvarni kod, posebno za aspekte programa kao što su korisničko sučelje i osnovna arhitektura. Grafički dizajneri, programeri sučelja, programeri i producenti u velikom timu mogu biti uključeni u ovu fazu razvoja.

Razvoj softvera tada se obično kreće od ovih ranih faza razmišljanja o idejama za stvaranje cjelokupne strukture programa do stvarnog pisanja koda za softver. Ova implementacija obično uključuje jednog ili više računalnih programera, a izvorni kod je kreiran u bilo kojem broju različitih aplikacija, programskih jezika i drugih uslužnih programa. Tijekom i nakon kreiranja koda, obično je uključeno mnogo testiranja kako bi se osiguralo da program radi ispravno i da nema grešaka, propusta i pogrešaka koliko god je to moguće.

Tekući razvoj softvera može se nastaviti čak i nakon što je program napisan, testiran i lansiran široj javnosti. Takav razvoj može poslužiti za ispravljanje pogrešaka pronađenih nakon pokretanja ili uvođenje manjih poboljšanja i nekih novih značajki. Povratne informacije korisnika također se mogu koristiti za prikupljanje informacija o načinima na koje bi se program mogao poboljšati u širem smislu. Ove povratne informacije se zatim mogu koristiti za ponovni početak razvoja softvera na novoj verziji programa, koji može ponuditi značajke i uslužne programe koji nisu pronađeni u prethodnoj verziji.