Hva er programvareutvikling?
Programvareutvikling er en prosess der et kommersielt dataprogram krever kontinuerlig oppdatering, vedlikehold og forbedring over tid for at det skal forbli et levedyktig produkt. I denne forbindelse er programvareutviklingen drevet av ekstern virksomhet og forbrukerbehov som endres når annen programvare og teknologier avanserer rundt det. Den drivende faktoren bak programvareutviklingen er imidlertid ofte en intern fokusert på ingeniørteamet som produserte produktet og selskapet som er avhengig av suksessen for lønnsomheten. Imperial College of London, England, kunngjorde først tre grunnleggende lover for programvareutvikling på begynnelsen av 1970 -tallet, som siden har blitt utvidet til totalt åtte lover fra 2011. Andre forsøk er også gjort for å kvantifisere prosessen som bruker modeller som den lineære sekvensielle modellen og prototypen, men den paradigm som ser ut til å være en god del av en gang som er den lineære for å være en gang som ser ut til å være den lineære for å være en gang som er den lineære modellen og prototypen..
De grunnleggende drivende faktorene bak endringer i programvarearkitektur ligner de samme kreftene som motiverer virksomheter til å oppgradere industrielle maskiner eller standard driftsprosedyrer når samfunnsbehov endres. Etter hvert som programvare i økende grad brukes, blir nye behov eller funksjoner for det tydelig som må arbeides i senere utgivelser av produktet. All programvare blir også utgitt med tidligere ukjente feil, så periodiske oppdateringer og vedlikeholdsprosedyrer må utføres for å rette opp situasjoner som sikkerhet for smutthull som kan gjøre et selskap sårbart for å angripe gjennom selve programvaren. En nøkkel til programvareutvikling er også det faktum at slike programmer i økende grad må tilpasses for å jobbe med forskjellige typer nye datautstyr og innenfor forskjellige operativsystemarkitekturer slik at programmet har bredere appell.
møte alle disse behovene er avgjørende for å avgjøre omEt program er fortsatt levedyktig, og siden programvare eiendeler er et så avgjørende aspekt av informasjonsøkonomien fra 2011, har programvareutviklingen blitt et grunnleggende aspekt av forretningstilpasning og vekst. Meir Lehman, dataforsker ved Imperial College of London, er kreditert med å skape Lehmans lover, som kortfattet definerte prosessen med programvareutvikling og guidede utviklere i fremtidsvisningen av programvarevisualisering. Lehmans lover er basert på forutsetningen om at programvare utvikler seg som tilbakemelding på ytelsen øker og at dens uunngåelige tendens er å bli stadig mer komplisert.
Lehman har uttalt at arten av programvareutvikling speiler naturlige endringer som mutasjon i fruktfluer, måten byer utvides over tid, og hvordan militære strukturer trinnvis forbedrer seg på våpensystemer. De tre første lovene i prosessen etterligner disse trendene i detaljering av kontinuerlig endring, øker kompleksiteten og det som kalles Large Program evolusjon. Fortsatt endring refererer til det faktum at programmet må tilpasses for å oppfylle nåværende forretningsforhold i den virkelige verden, og dette gjenspeiler økende kompleksitet da programmet må oppfylle et stadig voksende mangfold av uventede behov. Stort programutvikling refererer til nødvendigheten av feilretting og nye utgivelser av programmet som er bundet ubønnhørlig til kravene til markedet.
av de fem gjenværende lovene i programvareutviklingen, er nummer fire organisatorisk stabilitet og refererer til det faktum at veksten av et program tar et eget liv uavhengig av ressursnivået med vilje viet det, og nummer fem er bevaring av fortrolighet som sier at trinnvis vekst av programmet er uunngåelig. Nummer seks i de åtte Lehman -lovene fortsetter veksten, noe som er nødvendig for å tilfredsstille forbrukernes etterspørsel, og nummer syv er synkende kvalitet, noe som understreker det faktum at all programvare til slutt står overfor begrensninger for funksjonalitet som denkan ikke møtes. Den endelige Lehman Law for Software Evolution er selve tilbakemeldingssystemet, som binder sammen alle kreftene som påvirker levedyktigheten til et program for å raskt drive det enten til større suksess eller uunngåelig foreldelse og død.