Žádná stříbrná kulka - No Silver Bullet
"Žádná stříbrná kulka - Esence a nehoda v softwarovém inženýrství„je široce diskutovaný dokument o softwarové inženýrství napsáno Turing Award vítěz Fred Brooks v roce 1987.[1][2] Brooks tvrdí, že „neexistuje jediný vývoj, ať už v oblasti technologie nebo techniky řízení, který sám o sobě slibuje dokonce jen jeden řádově [desetinásobné] zlepšení produktivity, spolehlivosti a jednoduchosti v průběhu deseti let. “Rovněž uvádí, že„ nemůžeme očekávat, že někdy dojde k dvojnásobným ziskům každé dva roky “ve vývoji softwaru, jako je tomu ve vývoji hardwaru (Moorův zákon ).
souhrn
Brooks rozlišuje mezi dvěma různými typy složitosti: náhodnou složitostí a základní složitostí. To souvisí s Aristoteles Klasifikace. Náhodná složitost souvisí s problémy, které inženýři vytvářejí a mohou opravit; například podrobnosti psaní a optimalizace shromáždění kód nebo zpoždění způsobená dávkovým zpracováním. Zásadní složitost je způsobena problémem, který má být vyřešen, a nic jej nemůže odstranit; pokud uživatelé chtějí, aby program dělal 30 různých věcí, pak je těchto 30 věcí zásadních a program musí udělat těchto 30 různých věcí.
Brooks tvrdí, že náhodná složitost se podstatně snížila a dnešní programátoři tráví většinu času řešením základní složitosti. Brooks tvrdí, že to znamená, že zmenšení všech náhodných činností na nulu nepřinese stejné řádové zlepšení jako pokus o snížení podstatné složitosti. Zatímco Brooks trvá na tom, že nikdo není stříbrná kulka věří, že řada inovací útočících na zásadní složitost by mohla vést k významným zlepšením. Jednou z technologií, která významně vylepšila oblast náhodné složitosti, byl vynález programovací jazyky na vysoké úrovni, jako Ada.[3] Dnešní jazyky, jako např C, C ++, C# a Jáva, jsou považována za vylepšení, ale nejsou stejného řádu.[Citace je zapotřebí ]
Brooks obhajuje „rostoucí“ software organicky prostřednictvím postupného vývoje. Navrhuje a implementuje hlavní a podprogramy hned na začátku a pracovní dílčí oddíly vyplní později. Věří, že programování tímto způsobem vzrušuje inženýry a poskytuje funkční systém v každé fázi vývoje.
Brooks dále tvrdí, že existuje rozdíl mezi „dobrými“ designéry a „skvělými“ designéry. Předpokládá, že jelikož programování je kreativní proces, někteří návrháři jsou ze své podstaty lepší než ostatní. Navrhuje, aby mezi obyčejným designérem a skvělým byl až desetinásobný rozdíl. Poté se zasazuje o to, aby se s hvězdnými designéry zacházelo stejně dobře jako s hvězdnými manažery, a poskytoval jim nejen rovnocenné postavení odměna, ale také všechny výhody vyššího postavení: velká kancelář, zaměstnanci, cestovní fondy atd.
Článek a Brooksovy pozdější úvahy o něm, 'Žádná stříbrná kulka „Refired, najdete ve výročním vydání Mýtický muž-měsíc.[4]
Související pojmy
Brooksův článek byl někdy citován v souvislosti s Wirthův zákon, argumentovat, že „softwarové systémy rostou rychleji co do velikosti a složitosti, než jsou vynalezeny metody pro řešení složitosti“.[5]
Viz také
- Historie softwarového inženýrství
- Softwarové prototypování, jedna z hlavních strategií proti zásadní složitosti v „No Silver Bullet“
- SOLID (objektově orientovaný design)
- Podstatná složitost (numerická míra „strukturovanosti“)
Reference
- ^ Brooks, Frederick. P., Jr. (1987). „No Silver Bullet - Essence and Accident in Software Engineering“ (PDF). Počítač. 20 (4): 10–19. CiteSeerX 10.1.1.117.315. doi:10.1109 / MC.1987.1663532.
- ^ Brooks, Proc. IFIP
- ^ „No Silver Bullet: Essence and Accidents of Software Engineering“ (PDF). Frederick P. Brooks, Jr. Archivovány od originál (PDF) dne 10. 9. 2016. Citováno 2019-08-14.
- ^ Mýtický muž-měsíc, stříbrná kulka vyřazena
- ^ Tim A. Majchrzak (2012). Zlepšení testování softwaru: technický a organizační vývoj. Springer Science & Business Media. str. 4. ISBN 978-3-642-27464-0.
Další čtení
- Brooks, Fred P. (1986). „Žádná stříbrná kulka - podstata a nehoda v softwarovém inženýrství“. Sborník z desáté světové počítačové konference IFIP: 1069–1076.
- - (duben 1987). „Žádná stříbrná kulka - Esence a nehody softwarového inženýrství“. Počítač IEEE. 20 (4): 10–19. CiteSeerX 10.1.1.117.315. doi:10.1109 / MC.1987.1663532.
- — (1975). Mýtický muž-měsíc. Addison-Wesley. ISBN 978-0-201-00650-6.
- - (1995). „Kapitola 16“. Žádná stříbrná kulka - Esence a nehoda. Mýtický muž měsíc (Anniversary Edition se čtyřmi novými kapitolami, ed.). Addison-Wesley. ISBN 978-0-201-83595-3.
- - (1995). „Kapitola 17“. „Žádná stříbrná kulka“ vyřazena. Mýtický muž měsíc (Anniversary Edition se čtyřmi novými kapitolami, ed.). Addison-Wesley. ISBN 978-0-201-83595-3.
externí odkazy
- Žádná stříbrná kulka: Esence a nehody softwarového inženýrství autor: Frederick P. Brooks, Jr.
- Principy softwarového inženýrství —Steve McConnell komentáře k dichotomii, původně publikované v Software IEEE, Sv. 16, č. 2, březen / duben 1999