Vad är involverat i utveckling av datorprogramvara?
Programvaruutvecklingsprocessen kräver noggrann analys, specifikation, arkitekturdesign och implementering. Nästa steg inkluderar programvarutestning, dokumentation, utbildning och pågående användarsupport. Flera olika typer av utvecklingsmodeller för datorprogramvara finns tillgängliga för att hjälpa programvaruutvecklare att skapa olika datorprogram. Denna utvecklingslivscykel involverar alla steg från den ursprungliga mjukvaruidéen eller konceptet till implementeringen av den slutliga produkten. Några av de processer som används vid utveckling av datorprogramvara är vattenfall, iterativa, inkrementella och smidiga processmodeller.
Eftersom behoven för att utveckla datorprogramvara ändras, så kommer metoderna att utveckla programvaran också. De viktigaste ingredienserna i utvecklingen av ett program bestäms av den olika typen av utvecklingsprocess som används. De flesta mjukvaruutvecklare kommer att använda en kombination eller delar av varje process i utvecklingen av datorprogramvara.
Den första processen inom utveckling av datorprogramvara kallas vattenfallsmodellen. Denna utvecklingsmodell börjar med att titta närmare på alla krav för potentiell applikationsprogramvara, designa och integrera själva programvaran, genomföra nödvändig testning eller validering, slutlig installation och tillhandahålla löpande underhåll för programvaran. I denna utvecklingsprocess för datorprogramvara måste varje fas vara klar innan nästa fas startas. Granskningar och ändringar kan användas efter att varje utvecklingsfas är klar.
Processen för iterativ och inkrementell utveckling av datorprogramvara ligger vid det andra extrema av mjukvaruutvecklingsprocesser från vattenfallmodellen. Denna process används av utvecklare när en kund kanske inte vet exakt vad de behöver från ett specifikt datorprogram. Behovsanalys, programmering och komponentutveckling upprepas i korta cykler eller iterationer tills det slutgiltiga datorprogrammet är avslutat. Denna process använder informationsinsamling och arbetar med ett antal mindre komponenter för att få full funktionalitet till det färdiga programmet.
Smidig utveckling av datorprogramvara är mindre strukturerad än vattenfallet eller iterativa / inkrementella utvecklingsmodeller. Att utveckla programvara med den smidiga utvecklingsmodellen kräver mer kreativitet än struktur. I denna modell är programvaran i konstant flöde, följer ingen logisk process och förblir ofullständig. Människorna som utvecklar programvaran och de sätt som de arbetar tillsammans är viktigare än själva processen. Kraften i denna kreativa mjukvaruutvecklingsprocess ligger i utvecklingsgruppens empowerment och samarbete samt i dess förmåga att svara på nödvändiga förändringar.