Izraz razvoj softvera i aplikacija odnosi se na čitavu grupu zadataka, koje ne uključuju samo programiranje, već i održavanja i ažuriranje.
Po ISO 25010 standardima kvalitetan softver je onaj koji je:
- Funkcionalan: Radi baš ono što treba da radi. Ispunjave sve zahteve.
- Pouzdan: Koliko je aplikacija stabilna? Možemo li da je koristimo onda kada nam treba? Da li može da radi čak i kada postoje određene greške u njoj?
- Dobrih performansi: Da li aplikacija koristi razumnu količinu resursa? Da li su vreme odziva, obrade i brzina protoka optimalni?
- Kompatibilan: Može da deli svoje podatke sa drugim aplikacijama i platformama. Koristi standardizovane protokole i formate.
- Upotrebljiv: Prilagođen je korisniku i njime se može intuitivno upravljati.
- Bezbedan: Štiti informacije i podatke korisnika. Ne može da mu pristupi niko ko nema odgovarajuća prava.
- Lako se održava: Ovaj kriterijum mora biti ispunjen kako bi softver mogao da se koristi što je duže moguće. Nova funkcionalnost se ubacuje bez narušavanja stare.
- Prenosiv: Može da se koristi na različitim uređajima ili operativnim sistemima.
Faze razvoja aplikacije
Razvoj visokokvalitetnog programa obuhvata najčešće sledećih pet faza.
- Analiza zahteva. Zajedno sa klijentom se analizira šta sve program treba da ispuni. Ti zahtevi se beleže u odgovarajuće korisničke specifikacije, priče ili dokumentaciju.
- Analiza arhitekture programa. Korak između teorije i prakse.
- Razvojni proces. Pristupa se pisanju koda.
- Testiranja u najrazličitijim oblicima (jedinični testovi, integracioni testovi itd…) Cilj svakog testa je da identifikuje greške i nedostatke pre nego što oni dođu do klijenta.
- Poslednja faza uključuje isporuku, instalaciju i redovno održavanje.
Postoji više metodologija za razvoj softvera. Najpopularnije je agilna iterativna metoda, ali tu su i ekstremno programiranje, model vodopada, spiralni razvoj i još mnogo toga.