Softwarová metrika - Software metric
Vývoj softwaru |
---|
Hlavní činnosti |
Paradigmata a modely |
Metodiky a rámce |
Podpůrné disciplíny |
Praxe |
Nástroje |
Standardy a subjekty znalostí |
Glosáře |
Obrysy |
A softwarová metrika je měřítkem míry, do jaké má softwarový systém nebo proces určitou vlastnost. I když metrika není měření (metriky jsou funkce, zatímco měření jsou čísla získaná aplikací metrik), často se tyto dva výrazy používají jako synonyma. Vzhledem k tomu, že kvantitativní měření jsou nezbytná ve všech vědách, existuje neustálé úsilí počítačová věda odborníci a teoretici přinést podobné přístupy k vývoji softwaru. Cílem je získání objektivních, reprodukovatelných a kvantifikovatelných měření, která mohou mít řadu cenných aplikací při plánování a plánování rozpočtu, odhadu nákladů, zajišťování kvality, testování, ladění softwaru, optimalizaci výkonu softwaru a optimálních přiřazení personálních úkolů.
Běžná softwarová měření
Běžná softwarová měření zahrnují:
- Softwarová metrika ABC
- Vyvážený scorecard
- Hmyz na řádek kódu
- Pokrytí kódu
- Soudržnost
- Hustota komentářů[1]
- Connascent softwarové komponenty
- Model konstruktivních nákladů
- Spojka
- Cyklomatická složitost (McCabeova složitost)
- Hustota vad - vady nalezené v součásti
- Potenciál defektu - očekávaný počet defektů konkrétní komponenty
- Rychlost odstraňování vad
- DSQI (index kvality konstrukční struktury)
- Funkční body and Automated Function Points, an Skupina pro správu objektů Standard[2]
- Složitost Halstead
- Délka cesty instrukce
- Index udržovatelnosti
- Počet řádků kódu
- Čas provedení programu
- Doba načítání programu
- Velikost programu (binární)
- Vážené mikro funkční body
- CISQ automatizovaná měření charakteristik kvality
Omezení
Vzhledem k tomu, že vývoj softwaru je složitý proces s vysokou variabilitou metodik i cílů, je obtížné definovat nebo měřit softwarové kvality a množství a určit platnou a souběžnou metriku měření, zejména při vytváření takové předpovědi před návrhem detailu. Dalším zdrojem obtíží a debat je určení, na kterých metrikách záleží a co znamenají.[3][4]Praktická užitečnost softwarových měření byla proto omezena na následující domény:
Specifické měření se může zaměřit na jeden nebo více z výše uvedených aspektů nebo na rovnováhu mezi nimi, například jako indikátor motivace týmu nebo výkonu projektu.
Přijetí a veřejné mínění
Někteří odborníci na vývoj softwaru poukazují na to, že zjednodušující měření mohou způsobit více škody než užitku.[5] Jiní poznamenali, že metriky se staly nedílnou součástí procesu vývoje softwaru.[3]Dopad měření na psychologii programátora vyvolal obavy ze škodlivých účinků na výkon v důsledku stresu, úzkosti z výkonu a pokusů podvádět metriky, zatímco jiní zjistili, že to má pozitivní dopad na hodnotu vývojářů ve vztahu k jejich vlastní práci a zabrání jim v podhodnocení. Někteří argumentují, že definice mnoha metodik měření je nepřesná, a proto často není jasné, jak nástroje pro jejich výpočet dospějí ke konkrétnímu výsledku,[6] zatímco jiní tvrdí, že nedokonalá kvantifikace je lepší než žádná („Nemůžete ovládat to, co nemůžete měřit.“).[7]Důkazy ukazují, že softwarové metriky široce používají vládní agentury, americká armáda, NASA,[8] IT konzultanti, akademické instituce,[9] a obchodní a akademické software pro odhad vývoje.
Viz také
- Cílová otázka - metrika
- Seznam nástrojů pro statickou analýzu kódu
- Klasifikace ortogonálních vad
- Softwarová krize
- Softwarové inženýrství
- Metriky softwarového balíčku
Reference
- ^ „Metrické prahové hodnoty pro deskriptivní informace (DI)“. Centrum softwarového inženýrství. Archivovány od originál dne 6. července 2011. Citováno 19. října 2010.
- ^ „OMG přijímá specifikaci automatizovaných funkčních bodů“. Omg.org. 17. 1. 2013. Citováno 2013-05-19.
- ^ A b Binstock, Andrew. „Integration Watch: Efektivní používání metrik“. SD Times. BZ Media. Citováno 19. října 2010.
- ^ Kolawa, Adam. „Kdy, proč a jak: Analýza kódu“. Projekt Code. Citováno 19. října 2010.
- ^ Kaner, Dr. Cem, Metriky softwarového inženýra: Co měří a jak to víme?, CiteSeerX 10.1.1.1.2542
- ^ Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf (2008), „Porovnání softwarových metrických nástrojů“ (PDF), Mezinárodní symposium o testování a analýze softwaru 2008, str. 131–142
- ^ DeMarco, Tom. Řízení softwarových projektů: správa, měření a odhad. ISBN 0-13-171711-1.
- ^ „Pracovní skupina pro plánování a vykazování metrik NASA (MPARWG)“. Earthdata.nasa.gov. Archivovány od originál dne 22.10.2011. Citováno 2013-05-19.
- ^ „USC Center for Systems and Software Engineering“. Sunset.usc.edu. Citováno 2013-05-19.