Konstruisanje softvera je centralna aktivnost razvoja softvera, i ona u zavisnosti od veličine projekta tipično obuhvata od 30 do 80 % od totalnog vremena potrošenog na projektu. Konstruisanje obuhvata kodiranje, debagovanje (engl. debugging), detaljno projektovanje, konstrukciono planiranje, testiranje jedinica, i integraciju. Zahtevi i arhitektura softvera se urade pre konstruisanja, a sistemsko testiranje posle konstruisanja. Prema tome, termin konstruisanje označava detaljnu izradu tj. neposrednu proizvodnju softvera i predstavlja kombinaciju kodiranja, debagovanja, detaljnog dizajna, jediničnog testiranja, i integracionog testiranja. Detaljno projektovanje softvera se uglavnom obavlja tokom konstruisanja, iako neki početni detaljni dizajn može biti urađen pre konstruisanja. Ddetaljno projektno rešenje obuhvata projektovanje klasa i metoda klasa, kao i njihovih interfejsa i njihovih struktura podataka. |