In skoft lyn wie der in petear tusken my en in goede freon fan my wêryn't de folgjende útdrukkingen hearden:
- It oantal programmeurs sil konstant groeie - om't de hoemannichte koade groeit, en mear en mear ûntwikkelders binne konstant ferplichte om it te stypjen.
- Mar de koade wurdt âld, guon fan it wurdt net mear stipe. It is sels mooglik dat der in soarte fan lykwicht is.
Unthâld se in pear dagen letter, Ik frege my ôf oft it behâld fan koade, easkjen mear en mear middels oer de tiid, koe úteinlik paralyze de ûntwikkeling fan nije funksjonaliteit, of soe it easkje in ûnbeheinde ferheging fan it oantal programmeurs? Wiskundige analyze en differinsjaalfergelikingen holpen om kwalitatyf te beoardieljen de ôfhinklikens fan it bedrach fan stipe op ûntwikkeling en fine antwurden op fragen.
Fraach ien. Kin alle ûntwikkelingsboarnen "op ite" stypje?
Tink oan in team fan programmeurs wêryn it oantal dielnimmers konstant is. Diel fan har wurktiid () wurdt bestege oan it ûntwikkeljen fan nije koade, en it oerbleaune diel fan 'e tiid giet te stypjen. Binnen de útgongspunten fan it model, wy oannimme dat de earste soarte fan aktiviteit is rjochte op it fergrutsjen fan it folume fan koade, en de twadde is rjochte op it feroarjen fan it (korrizjearje flaters) en hat gjin signifikante ynfloed op it folume fan koade.
Litte wy oanjaan it hiele bedrach fan koade skreaun oant dat punt yn 'e tiid . Oannommen dat de snelheid fan it skriuwen fan koade evenredich is , Wy krije:
It is natuerlik om oan te nimmen dat de arbeidskosten foar it behâld fan de koade evenredich binne mei syn folume:
of
Wêr
Wy krije in differinsjaalfergeliking dy't maklik yntegreare wurde kin. As op it earste momint fan 'e tiid it bedrach fan koade nul is, dan
at funksje en . En dit betsjut in stadichoan reduksje oer de tiid yn 'e ûntwikkeling fan nije funksjonaliteit nei nul en de oerdracht fan alle middels om te stypjen.
Lykwols, as yn 'e tiid de koade wurdt ferâldere en hâldt op te wurde stipe, dan is it bedrach fan koade dat stipe nedich is op in stuit is al gelyk Dan
а is in oplossing foar in differinsjaalfergeliking mei in retardearre argumint [1]:
De oplossing foar sa'n fergeliking wurdt unyk bepaald troch it opjaan fan de wearden "foar it begjin fan 'e tiid" . Sûnt de koade wie noch net skreaun foar it earste momint yn 'e tiid, yn ús gefal at .
Litte wy nei in pear foarbylden sjen. Wy sille mjitte tiid yn jierren, en it bedrach fan koade yn tûzenen rigels. Dan foar wearden fan 'e folchoarder fan tsientallen binne akseptabel, wy sille 50 en 100 nimme. Dat is, yn in jier sil it ûntwikkelingsteam respektivelik fyftich en hûnderttûzen rigels koade skriuwe. Foar akseptabele wearden kinne wêze: , , . Dit betsjut dat in ûntwikkelteam de hoemannichte koade kin stypje dy't it yn in jier skriuwt, of it no in kwart, heal of folsleine tiid is. As de gemiddelde libbensdoer fan 'e koade sille wy de folgjende wearden ynstelle: 1, 2 en 4 jier. Troch de fergeliking numeryk op te lossen, krije wy foarbylden fan it gedrach fan 'e funksje foar guon parameter kombinaasjes .
Gedrach fan 'e funksje as de koade âldens, it is feroare. De funksje is net mear ientoanich, mar de fluktuaasjes "berderje" oer de tiid, en der is in oanstriid om oan guon konstante wearde. De grafiken litte sjen: hoe mear , и , dat is, de stadiger de koade âldens, de flugger de ûntwikkeling fan nije koade en de legere de kwaliteit fan de koade, de minder middels sille wurde oerbleaun foar de ûntwikkeling fan nije funksjonaliteit. Der wie in winsk te jaan op syn minst ien foarbyld wêryn "snuggled" tichtby nul. Mar dit easke de seleksje fan yndikatoaren foar heul minne ûntwikkelingskwaliteit en koade dy't net in lange tiid ferâldert. Sels yn 'e grafyk links ûnder bliuwt in signifikant bedrach fan boarnen oer foar de nije funksjonaliteit. Dêrom is it goede antwurd op 'e earste fraach earder dit: teoretysk - ja, it is mooglik; praktysk - amper.
Fragen dy't net beantwurde wurde koenen:
- Is it wier dat tend to guon limyt by foar alle ? As net foar elkenien, dan foar hokker?
- As der in limyt bestiet, hoe hinget syn wearde ôf fan ?
Fraach twa. Koe ûnderhâld fan koade ûnbeheinde groei feroarsaakje yn it oantal programmeurs?
Litte wy oanjaan it oantal programmeurs belutsen by it ûntwikkeljen fan nije koade. As boppesteand, - it bedrach fan koade skreaun oant in punt yn 'e tiid . Dan
Hâld koade-stipe dwaande programmeurs. Mei it rekkenjen fan de ferâlderingskoade,
Wêr
as , dan
Sa is it antwurd op 'e twadde fraach negatyf: as it oantal ûntwikkelders fan nije koade beheind is, dan yn betingsten fan fergrizing koade kin stipe net in ûnbeheinde ferheging fan it oantal programmeurs feroarsaakje.
konklúzje
De modellen beskôge binne "sêfte" wiskundige modellen [2]. Se binne hiel simpel. De ôfhinklikens fan 'e simulaasjeresultaten fan' e parameterwearden komt lykwols oerien mei wat wurdt ferwachte foar echte systemen, dit sprekt yn it foardiel fan 'e adekwaatheid fan' e modellen en genôch krektens om skatten fan hege kwaliteit te krijen.
Referinsjes
1. Elsgolts L.E., Norkin S.B. Ynlieding ta de teory fan differinsjaalfergelikingen mei ôfwikend argumint. Moskou. Utjouwerij "Science". 1971.
2. Arnold V.I. "Harde" en "sêfte" wiskundige modellen. Moskou. Utjouwerij MCNMO. 2004.
Boarne: www.habr.com