Skip to main content

Vad är mjukvaruutveckling?

Programvaruutveckling är en process där ett kommersiellt datorprogram kräver kontinuerlig uppdatering, underhåll och förbättring över tid för att den ska förbli en livskraftig produkt.I detta avseende drivs programvaruutvecklingen av externa affärs- och konsumentbehov som förändras när annan programvara och teknik går vidare runt den.Den drivande faktorn bakom programvaruutvecklingen är emellertid ofta en intern fokuserad på ingenjörsteamet som producerade produkten och företaget som är beroende av dess framgång för lönsamhet.Imperial College of London, England, promulerade först tre grundläggande lagar om mjukvaruutveckling i början av 1970 -talet, som sedan har utvidgats till totalt åtta lagar från och med 2011. Andra försök har också gjorts för att kvantifiera processen med användning av modeller som såsom somDen linjära sekventiella modellen och prototypmodellen, men det paradigm som verkar bäst passa mjukvaru -entropi -livscykler är den för en som liknar darwinisk utveckling för levande saker.

De grundläggande drivfaktorerna bakom förändringar i mjukvaruarkitektur liknar samma krafter som motiverar företag attUppgradera industriella maskiner eller standardförfaranden som samhällsbehov förändras.Eftersom programvara alltmer används, framgår nya behov eller funktioner för det som måste bearbetas till senare utgivningar av produkten.All programvara släpps också med tidigare okända fel, så periodiska korrigeringar och underhållsprocedurer måste utföras för att korrigera situationer som säkerhetsbränningar som kan göra ett företag som är sårbart för attack genom själva programvaran.En nyckel till mjukvaruutveckling är också det faktum att sådana program i allt högre grad måste anpassas för att arbeta med olika typer av nya datorutrustning och inom olika operativsystemarkitekturer så att programmet har en bredare tilltalande.

Att tillgodose alla dessa behov är avgörande för att avgöra om ett programprogram förblir livskraftigt, och eftersom mjukvarutillgångar är en så avgörande aspekt av informationsekonomin från och med 2011 har programvaruutveckling blivit en grundläggande aspekt av affärsanpassning och tillväxt.Meir Lehman, en datavetare vid Imperial College of London, krediteras för att skapa Lehmans -lagar, som kortfattat definierade processen för programvaruutveckling och guidade utvecklare i det framåtriktade programvisualiseringen.Lehmans lagar är baserade på förutsättningen att programvaran utvecklas som feedback på dess prestanda ökar och att dess oundvikliga tendens är att bli allt mer komplex.

Lehman har uttalat att arten av mjukvaruutveckling speglar naturliga förändringar som mutation i fruktflugor, vägenatt städerna expanderar med tiden och hur militära strukturer stegvis förbättras på vapensystem.De tre första lagarna i processen emulerar dessa trender vid detaljering av fortsatt förändring, ökande komplexitet och vad som kallas stor programutveckling.Fortsatt förändring hänvisar till det faktum att programmet måste anpassas för att tillgodose de nuvarande verkliga affärsförhållandena, och detta återspeglar ökande komplexitet eftersom programmet måste tillgodose en ständigt växande mångfald av oväntade behov.Stor programutveckling hänvisar till nödvändigheten av felkorrigering och nya utgåvor av programmet som är bundna obehagligt till marknadens krav.

Av de fem återstående lagarna i mjukvaruutveckling, nummer fyra är organisatorisk stabilitet och hänvisar till det faktum att kravenTillväxten av ett program tar ett eget liv oavsett resursnivån som avsiktligt ägnas åt det, och nummer fem är bevarande av kännedom om att den ökande tillväxten av programmet är oundvikligt.Nummer sex i de åtta Lehman -lagarna fortsätter tillväxten, vilket är nödvändigt för att tillfredsställa konsumenternas efterfrågan, och nummer sju minskar kvaliteten, vilket betonar det faktum att all programvara så småningom står inför begränsningar för funktionalitet som den inte kan uppfylla.Den slutliga Lehman -lagen för programvaruutveckling är själva feedbacksystemet, som binder samman alla krafter som påverkar ett programvarans livskraft för att snabbt driva det antingen till större framgång eller oundviklig föråldring och död.