Hoofdstuk 10 - Metrics Flashcards
Can you give three possible problems of metrics usage in software engineering? How does the measurement theory address them?
◦ Preciseness: Do we use the same units to compare?
◦ Representation Condition: Is “code size” really what we want to have?
◦ Scale and Scale Types: How do we want to interpret results?
◦ GQM-paradigm: What do we want to do with the results?
◦ The measurement theory helps to answer the questions by providing good techniques.
What’s the distinction between a measure and a metric?
◦ A measurement is a function mapping of an attribute of a real world entity onto a symbol in a set of known mathematical relations
◦ A metric is a measurement with as range the real numbers and which satisfies m(x,x)=0, m(x,y)=m(y,x) and m(x,z)<m(x,y)+m(y,z)
Can you give an example of a direct and an indirect measure?
◦ Direct: lines of code
◦ Indirect: module defect density
What kind of measurement scale would you need to say “A specification error is worse than a design error”? And what if we want to say “A specification error is twice as bad as a design error?”
For the first ordinal, for the second ratio
Explain the need for a calibration factor in Putnam’s model.
◦ The calibration factor is needed because projects and teams have different sizes.
◦ To know the parameters that influence the effort
Fill in the blanks in the following sentence. Explain briefly, based on the Putnam’s model.
+ If you want to finish earlier (= decrease scheduled time), you should … the effort … .
If you want to finish earlier, you should increase the effort a lot
Give three metrics for measuring size of a software product.
◦ Lines of Code
◦ Function Points
◦ Use Case Points.
Discuss the main advantages and disadvantages of Function Points.
◦ :) measured after the design,
independent of implementation language,
measures functionality and works well for data-processing.
◦ :( It requires subjective expert judgment
and cannot be calculated automatically.
What does it mean for a coupling metric not to satisfy the representation condition?
It means that coupling might not be representable enough to be a sufficient metric.
Can you give 3 examples of impreciseness in Lines of Code measurements?
◦ Ignores software reuse, code duplication, benefits of redesign.
◦ The lower level the language, the more productive the programmer.
◦ The more verbose the programmer, the higher the productivity.