Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Metrics  The measurement of a particular characteristic of a software program's performance or efficiency. (http://www.bitpipe.com/tlist/Software-

Similar presentations


Presentation on theme: "Software Metrics  The measurement of a particular characteristic of a software program's performance or efficiency. (http://www.bitpipe.com/tlist/Software-"— Presentation transcript:

1

2 Software Metrics  The measurement of a particular characteristic of a software program's performance or efficiency. (http://www.bitpipe.com/tlist/Software- Metrics.html).

3 Software Metrics  Software metrics is a collective term used to describe the very wide range of activities concerned with measurement in software engineering.  These activities range from producing numbers that characterize properties of software code (these are the classic software ‘metrics’) through to models that help predict software resource requirements and software quality. (http://www.dcs.qmw.ac.uk/~norman/papers/me trics_roadmap.pdf).

4 Software Metrics  The history of software metrics dates back to the mid-1960’s when the Lines of Code metric was used as the basis for measuring programming productivity and effort. The first dedicated book on software metrics was not published until 1976.

5 Validation  Validation of a software metric is the process of ensuring that the metric is a proper numerical characterization of the claimed attribute. A software metric is only valid if it can be shown to be an accurate predictor of some software attribute of general interest like cost or reliability.

6 Software Metrics  The following are criteria for valid metrics : 1. A metric must allow different entities to be distinguished. 2. A metric must obey a representation condition. A representation condition is the condition that the rules assigning the metric properly characterizes the attribute measured.

7 Software Metrics 3. Each unit of the attribute must contribute an equivalent amount to the metric. For example, if we are counting lines of code, the attribute would be “lines of code” and we do not give different weights to different lines of code. Each line counts “one”.

8 Software Metrics 4. Different entities can have the same attribute values. For example, horses and people both have the attribute “height” which can be “measured” using a “metric”.

9 Software Metrics  Many times the attribute of interest is not directly measurable.  In this case an indirect measure is used. For example, you can’t directly measure the temperature on the surface of the sun, so an indirect measure is used. For example, you can’t directly measure the temperature on the surface of the sun, so an indirect measure is used.

10 Software Metrics  An indirect measure involves a measure and a prediction formula. For example, you cannot calculate density directly. First you measure mass and volume, then you can calculate density=Mass/Volume. For example, you cannot calculate density directly. First you measure mass and volume, then you can calculate density=Mass/Volume.

11 Software Metrics  In computer science, many of the “ilities” cannot be measured directly. These include: maintainability maintainability readability readability testability testability quality quality (not a true “ility”) reusability reusability complexity complexity (another non-“ility”)

12 Software Metrics  The following are criteria for valid indirect metrics: The model must be explicitly defined. The model must be explicitly defined. What in the world is a “explicitly defined”? For example, the model for density is described by the equation d = m/v. Since both mass and volume are directly measurable, density is explicitly defined.

13 Software Metrics 2. The model must be dimensionally consistent. For example, if you wanted to measure distance using velocity and time (d = v*t), you would not want velocity to be measured in ft/sec and time to be measured in hours.

14 Software Metrics 3. There should be no unexpected discontinuities. For example, using the following formula to measure “doodles”: Doodle metric = LOC / (LOC – 10) This metric would cause an unexpected discontinuity at 10 lines of code.

15 Software Metrics 4. Units and scale types must be correct. For example, you would not measure height in pounds or weight in inches.

16 Monotonicity  A metric is monotonic if it is a non-decreasing function of the attribute(s). For example, what this means for lines of code is that as the size of the program increases, the number of lines of code increases. For example, what this means for lines of code is that as the size of the program increases, the number of lines of code increases.

17 Measurement Scales  Measurement scales are “types” of data used in analysis. There are five types of data: There are five types of data: 1. Nominal – symbols without any order. For example, social security numbers.

18 Measurement Scales 2. Ordinal data – can be ordered, but no arithmetic. Example: ranking things like who can play basketball better 3. Interval data – the difference makes sense. Example: temperature

19 Measurement Scales 4. Ratio data – the ratio of two data items makes sense. For example, temperature measured in Fahrenheit is not ratio data. 64 degrees Fahrenheit is not twice as hot as 32 degrees Fahrenheit. Height and weight are ratio data.

20 Measurement Scales 5. Absolute data – can be counted (discrete) and the ratio, difference, and ordering all make sense. Example: One BILLION dollars

21 What statistics make sense  Nominal – mode, median, percentiles Ordinal – rank measures Ordinal – rank measures Interval – standard deviation, correlation Interval – standard deviation, correlation Ratio – all stats Ratio – all stats Absolute – all stats Absolute – all stats


Download ppt "Software Metrics  The measurement of a particular characteristic of a software program's performance or efficiency. (http://www.bitpipe.com/tlist/Software-"

Similar presentations


Ads by Google