Mjukvarumått
Del av en serie om |
mjukvaruutveckling |
---|
Inom mjukvaruutveckling och mjukvaruutveckling är en mjukvarumetrik en standard för mått på i vilken grad ett mjukvarusystem eller en process besitter en viss egenskap. Även om ett mått inte är ett mått (mått är funktioner, medan mått är siffror som erhålls genom tillämpning av mått), används ofta de två termerna som synonymer. Eftersom kvantitativa mätningar är väsentliga inom alla vetenskaper, görs det en kontinuerlig ansträngning från datavetenskapsutövare och teoretiker för att komma med liknande tillvägagångssätt för mjukvaruutveckling. Målet är att erhålla objektiva, reproducerbara och kvantifierbara mätningar, som kan ha många värdefulla applikationer inom schema- och budgetplanering, kostnadsuppskattning, kvalitetssäkring, testning, mjukvarufelsökning, optimering av mjukvarans prestanda och optimala personaluppdrag .
Vanliga mjukvarumätningar
Vanliga mjukvarumätningar inkluderar:
- ABC Software Metric
- Balanserat styrkort
- Buggar per kodrad
- Kodtäckning
- Sammanhållning
- Kommentarstäthet
- Connascent mjukvarukomponenter
- Konstruktiv kostnadsmodell
- Koppling
- Cyklomatisk komplexitet (McCabes komplexitet)
- Cyklomatisk komplexitetstäthet
- Defektdensitet - defekter som finns i en komponent
- Defektpotential - förväntat antal defekter i en viss komponent
- Ta bort defekter
- DSQI (design struktur kvalitetsindex)
- Funktionspunkter och automatiserade funktionspunkter, en standard för objekthanteringsgrupp
- Halstead komplexitet
- Instruktionsvägens längd
- Underhållbarhetsindex
- Antal kodrader
- Programkörningstid
- Programladdningstid
- Programstorlek (binär)
- Viktade mikrofunktionspunkter
- CISQ automatiserade kvalitetsegenskaper mäter
- Cykeltid (mjukvara)
- Första pass avkastning
- Sannolikhet för korrigerande begå
Begränsningar
Eftersom mjukvaruutveckling är en komplex process, med stor variation i både metoder och mål, är det svårt att definiera eller mäta mjukvarukvaliteter och kvantiteter och att fastställa ett giltigt och samtidig mätvärde, särskilt när man gör en sådan förutsägelse innan detaljdesignen. En annan källa till svårigheter och debatt är att avgöra vilka mätvärden som spelar roll och vad de betyder. Den praktiska användbarheten av mjukvarumätningar har därför begränsats till följande domäner:
- Schemaläggning
- Programvarustorlek
- Programmeringskomplexitet
- Uppskattning av mjukvaruutvecklingsinsatser
- Programvarukvalitet
En specifik mätning kan riktas mot en eller flera av ovanstående aspekter, eller balansen mellan dem, till exempel som en indikator på teammotivation eller projektprestanda.
Dessutom varierar måtten mellan statisk och dynamisk programkod, såväl som för objektorienterad programvara (system).
Acceptans och opinionen
Vissa utövare av mjukvaruutveckling påpekar att förenklade mätningar kan orsaka mer skada än nytta. Andra har noterat att mätvärden har blivit en integrerad del av mjukvaruutvecklingsprocessen. Mätningens inverkan på programmerarens psykologi har väckt farhågor för skadliga effekter på prestation på grund av stress, prestationsångest och försök att lura mätvärdena, medan andra tycker att det har en positiv inverkan på utvecklarnas värde för sitt eget arbete och förhindrar att de undervärderas. Vissa hävdar att definitionen av många mätmetoder är oprecisa, och följaktligen är det ofta oklart hur verktyg för att beräkna dem kommer fram till ett visst resultat, medan andra hävdar att ofullständig kvantifiering är bättre än ingen ("Du kan inte kontrollera vad du kan" t mäta.”). Bevis visar att mjukvarumått används i stor utsträckning av statliga myndigheter, den amerikanska militären, NASA, IT-konsulter, akademiska institutioner och programvara för kommersiell och akademisk utvecklingsuppskattning .
Vidare läsning
- J. Smith, Introduction to Linear Programming , Acme Press, 2010. En inledande text.
- Reijo M.Savola, Quality of security metrics and measurements, Computers & Security, Volym 37, september 2013, Sidorna 78-90.
Se även
- Målfråga-mätvärde
- Lista över verktyg för statisk kodanalys
- Ortogonal defektklassificering
- Mjukvaruutveckling
- Mjukvarupaketmått
externa länkar
- Software Metrics (SQA.net)
- Software Engineering Metrics: Vad mäter de och hur vet vi det
- NASA Standard NASA-STD-8739.8 (Software Assurance and Software Safety Standard)
- HANS källkodsmått ( föråldrade men som referens ; relaterat se AUTOSAR )
- HIS Source Code Metrics version 1.3.1 01.04.2008 ( föråldrad men för referens ; relaterat se AUTOSAR )
- Ett ramverk för källkodsmått
- NASA.gov
- SonarQube metriska definitioner
- Metrics of Object Oriented Software (2010)