Meetup at SIG: Meten is weten
-
Upload
devnology -
Category
Technology
-
view
3.985 -
download
4
description
Transcript of Meetup at SIG: Meten is weten
![Page 1: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/1.jpg)
Meten is weten, of toch niet?
@EricBouwers
![Page 2: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/2.jpg)
Waarom zouden we software doormeten?
‘You can’t control what you can't measure.’
DeMarco, Tom. Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1.
![Page 3: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/3.jpg)
Waarom zouden we software doormeten?
DeMarco, Tom. Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1.
‘You can’t improve what you can't measure.’
![Page 4: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/4.jpg)
Software metingen worden gebruikt voor:
• Het schatten van kosten en inspanning • Productiviteit metrieken en modellen • Data collectie • Betrouwbaarheid modellen • Performance evaluaties en modellen • Structuur en complexiteit metrieken • Capability-maturity assessments • Management door metrieken • Evaluaties van methodieken en tooling • Kwaliteitsmodellen en -metingen
Fenton et. al., Software Metrics: a rigorous and practical approach. ISBN 0534954251
![Page 5: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/5.jpg)
Welke software metrieken gebruiken jullie?
![Page 6: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/6.jpg)
(Software) Metingen
![Page 7: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/7.jpg)
Wat is meten?
‘Formally, we define measurement as a
mapping from the empirical world to the formal, relational world. ’
‘A measure is the number or symbol assigned to an entity by this mapping in order to
characterize an attribute’
Fenton et. al., Software Metrics: a rigorous and practical approach. ISBN 0534954251
![Page 8: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/8.jpg)
Entiteit
Attribuut
Mapping
Meting
![Page 9: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/9.jpg)
Entiteit
Product: • Specificaties, Architecture diagrammen, Designs, Code,
Test Data, …
Proces: • Maken van specificaties, Gedetailleerd ontwerp, Testen, ….
Resources: • Personeel, Teams, Software, Hardware, Kantoren, …
Fenton et. al., Software Metrics: a rigorous and practical approach. ISBN 0534954251
![Page 10: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/10.jpg)
Attributen
Extern
Intern Volume,
Gestructureerdheid, Functionaliteit
Bruikbaarheid, Betrouwbaarheid
![Page 11: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/11.jpg)
Mapping
Park, Rober E., Software Size Measurement: A Framework for Counting Source Statements, Technical Report CMU/SEI-92-TR-020
![Page 12: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/12.jpg)
Representation Condition Attribuut: Volume
Foo
Bar
500 LOC
100 LOC
1 Files
5 Files
Groot
Klein
Metriek Metriek Metriek
![Page 13: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/13.jpg)
Meetschalen
Type Toegestane operaties
Voorbeelden
Nominaal = , ≠ A, B, C, D, E Ordinaal = , ≠, < , > Small, large Interval = , ≠, < , > , + , - Start date Ratio All LOC Absoluut All -
![Page 14: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/14.jpg)
Samenvatting concepten
Entiteit (Kind)
Attribuut (Lengte)
Metriek (cm)
Mapping (Voeten op de grond)
![Page 15: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/15.jpg)
Waarom maakt dit uit?
![Page 16: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/16.jpg)
Het beïnvloedt wat je zou willen …
Alves. Categories of Source Code in Industrial Systems, ESEM 2011: 335-338
Entiteit: systeem
![Page 17: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/17.jpg)
Het maakt uit wie het wil weten …
Systeem
Component
Module
Unit
![Page 18: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/18.jpg)
Aggregatie oefening Van Unit naar Systeem
![Page 19: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/19.jpg)
Unit meting: T. McCabe, IEEE Transactions on Software Engineering, 1976
• Academisch: aantal onafhankelijke paden in een methode • Intuïtief: aantal beslispunten in een methode • Realiteit: het aantal if (for, while,…) statements
McCabe: 4
Method
![Page 20: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/20.jpg)
Beschikbare data
Voor 4 projecten, per unit: • Lines of Code • McCabe complexity
In welk systeem is het testen van de units over het algemeen uitdagender?
![Page 21: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/21.jpg)
Optie 1: Optellen
Crawljax GOAL Checkstyle Springframework Totaal McCabe 1814 6560 4611 22937
Totaal LOC 6972 25312 15994 79474
Ratio 0,260 0,259 0,288 0,288
![Page 22: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/22.jpg)
Optie 2: Gemiddelde
Crawljax GOAL Checkstyle Springframework Gemiddelde McCabe
1,87 2,45 2,46 1,99
0"
200"
400"
600"
800"
1000"
1200"
1400"
1600"
1800"
1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" 12" 13" 14" 15" 17" 18" 19" 20" 21" 22" 23" 24" 25" 27" 29" 32"
![Page 23: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/23.jpg)
Cyclomatic complexity
Risk category
1 - 5 Low
6 - 10 Moderate
11 - 25 High
> 25 Very high
Tel Lines of Code"per categorie"
Lines of code per risk category
Low Moderate High Very high
70 % 12 % 13 % 5 %
Optie 3: Kwaliteitsprofiel
0%# 10%# 20%# 30%# 40%# 50%# 60%# 70%# 80%# 90%# 100%#
Crawljax#
Goal#
Checkstyle#
Springframework#
![Page 24: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/24.jpg)
Belangrijke zaken voor metingen
Volume
Uitlegbaarheid
Distributie
![Page 25: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/25.jpg)
Valkuilen van het meten
![Page 26: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/26.jpg)
One-track metric
![Page 27: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/27.jpg)
Alleen kijken naar het volume
![Page 28: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/28.jpg)
Combinatie van metingen levert meer inzichten op
Equals
HashCode
![Page 29: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/29.jpg)
Metrics Galore
![Page 30: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/30.jpg)
Wat moeten we dan meten?
![Page 31: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/31.jpg)
GQM
Goal Question
Question
Metric
Metric
Metric
Basili, Et. Al. , The Goal Question Metric Approach, Chapter in Encyclopedia of Software Engineering, Wiley, 1994.
![Page 32: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/32.jpg)
GQM - Voorbeeld
http://www.cs.umd.edu/users/mvz/handouts/gqm.pdf
![Page 33: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/33.jpg)
Treating the metric
![Page 34: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/34.jpg)
http://www.nsa.gov/public_info/_files/speeches_testimonies/2013_08_09_the_nsa_story.pdf http://buzzmachine.com/2013/08/10/nsa-by-the-numbers/
0.23 petabytes aan Facebook foto’s
Realtime entertainment is
62% van internetverkeer
HTTP verkeer is 11.8% van het internetverkeer
Metric in a bubble
![Page 35: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/35.jpg)
● ● ● ● ● ● ● ● ● ●
● ●
●
●
● ● ● ● ● ● ● ● ●
0.0
0.2
0.4
0.6
0.8
1.0
● ● ● ● ● ● ● ● ● ●
●
●
●● ●
●
● ● ● ● ●● ●
1.0 1.1 1.2 1.3 1.4 2.0 2.1 2.2 2.3 2.4 3.0 3.1 3.2 3.3 3.4 3.5 4.0 4.1 4.2 4.3 4.4 5.0 5.1
●
●
SBCSUCB
I II III IV
Metric in a bubble
![Page 36: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/36.jpg)
Een voorbeeld van context Benchmarking
0.14
0.96
0.09
0.84 0.09
0.14
0.84
0.96
…. ….
0.34
Let op: voorbeeld thresholds
sorteren
HHIII
Threshold Score 0.9 HHHHH
0.8 HHHHI
0.5 HHHII
0.3 HHIII
0.1 HIIII
![Page 37: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/37.jpg)
Metric in a bubble Treating the metric
One-track metric Metrics galore
Betekenis
# metrics
Te weinig Te veel
E. Bouwers, A. van Deursen, and J. Visser. Getting What You Measure. Communications of the ACM, Vol. 55 No. 7, Pages 54-59, July 2012
Valkuilen van het meten
![Page 38: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/38.jpg)
Samenvatting
![Page 39: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/39.jpg)
Uitdagingen in meten
Entiteit
Attribuut
Mapping
Measure
0%# 10%# 20%# 30%# 40%# 50%# 60%# 70%# 80%# 90%# 100%#
Crawljax#
Goal#
Checkstyle#
Springframework#
Metric in a bubble Treating the metric
One-track metric Metrics galore
Betekenis
# metrics
Te weinig Teveel
![Page 40: Meetup at SIG: Meten is weten](https://reader034.fdocuments.in/reader034/viewer/2022051817/54799a4bb479599f098b47e7/html5/thumbnails/40.jpg)
Meten om te weten
Goal
Entiteit – Attribuut – Mapping
Context