Lehmanovy zákony vývoje softwaru - Lehmans laws of software evolution - Wikipedia
v softwarové inženýrství, zákony vývoje softwaru odkazují na řadu zákonů, které Lehman a Belady formulované počínaje rokem 1974 s ohledem na vývoj softwaru.[1][2]Zákony popisují rovnováhu mezi silami pohánějícími nový vývoj na jedné straně a silami, které zpomalují pokrok na straně druhé. V posledních desetiletích byly zákony několikrát revidovány a rozšířeny.[3]
Kontext
Autoři si všimli, že většina softwaru se během své existence může změnit, a stanovili si zákony, kterým se tyto změny budou obvykle řídit, nebo je musí dodržovat, aby software přežil.[Citace je zapotřebí ]
Ve svém článku z roku 1980[1] Lehman kvalifikoval uplatnění těchto zákonů rozlišením tří kategorií softwaru:
- An S-program je psán podle přesné specifikace toho, co tento program dokáže
- A P-program je napsán k implementaci určitých postupů, které zcela určují, co program může dělat (uvedený příklad je program na hraní šachů)
- An E-program je napsán k provádění nějaké činnosti v reálném světě; jak by se měl chovat, je silně spojeno s prostředím, ve kterém běží, a takový program se musí přizpůsobit různým požadavkům a okolnostem v daném prostředí
Zákony se vztahují pouze na poslední kategorii systémů.
Zákony
Celkově bylo formulováno osm zákonů:
- (1974) „Continuing Change“ - systém typu E musí být neustále přizpůsobován, jinak bude postupně méně uspokojivý.[4]
- (1974) „Zvýšení složitosti“ - s vývojem systému typu E se jeho složitost zvyšuje, pokud se neprovádí práce na jeho udržení nebo snížení.[4]
- (1974) „Samoregulace“ - Procesy vývoje systému typu E jsou samoregulační s distribucí produktů a procesních opatření blízkých normálu.[4]
- (1978) „Zachování organizační stability (rychlost invariantní práce ) "- průměrná míra efektivní globální aktivity ve vyvíjejícím se systému typu E je neměnná po celou dobu životnosti produktu.[4]
- (1978) „Conservation of Familiarity“ - jak se vyvíjí systém typu E, vše spojené s ním, například vývojáři, prodejní pracovníci a uživatelé musí udržovat zvládnutí svého obsahu a chování, aby dosáhli uspokojivého vývoje. Nadměrný růst toto mistrovství snižuje. Proto průměr přírůstkový růst s vývojem systému zůstává neměnný.[4]
- (1991) „Continuing Growth“ - funkční obsah systému typu E musí být neustále zvyšován, aby byla zachována spokojenost uživatelů po celou dobu jeho životnosti.
- (1996) „Klesající kvalita“ - kvalita systému typu E se bude zdát klesající, pokud nebude důsledně udržována a přizpůsobena změnám provozního prostředí.[5]
- (1996) „Systém zpětné vazby“ (poprvé uvedeno v roce 1974, formalizováno jako zákon z roku 1996) - Procesy evoluce typu E představují víceúrovňové systémy s více smyčkami a více agenty a je třeba s nimi zacházet tak, aby bylo dosaženo významného zlepšení oproti jakémukoli základna.
Reference
- ^ A b Lehman, Meir M. (1980). "Programy, životní cykly a zákony vývoje softwaru". Proc. IEEE. 68 (9): 1060–1076. doi:10.1109 / proc.1980.11805.
- ^ Lehman, M. M .; J. F. Ramil; P. D. Wernick; D. E. Perry; W. M. Turski (1997). „Metriky a zákony vývoje softwaru - pohled devadesátých let“ (PDF). Proc. 4. mezinárodní softwarové metrické sympozium (METRICS '97). 20–32. doi:10.1109 / METRIC.1997.637156.
- ^ Herraiz, Izrael; Rodriguez, Daniel; Robles, Gregorio; Gonzalez-Barahona, Jesus M. (2013). "Vývoj zákonů vývoje softwaru". ACM Computing Surveys. 46 (2): 1–28. doi:10.1145/2543581.2543595. ISSN 0360-0300.
- ^ A b C d E Lehman, M. M. (1980). „O porozumění zákonům, vývoji a ochraně v životním cyklu velkého programu“. Journal of Systems and Software. 1: 213–221. doi:10.1016/0164-1212(79)90022-0.
- ^ Liguo Yu a Alok Mishra (2013) Empirická studie Lehmanova zákona o vývoji kvality softwaru v International Journal of Software and Informatics, 11/2013; 7 (3): 469-481.