190 likes | 212 Views
Software Measurement: A Necessary Scientific Basis. By Norman Fenton Presented by Siv Hilde Houmb Friday 1 November. Outline. What is measurements? How to measure Direct and indirect measurement Representation of measurement Use of measurement Software measurement (different models).
E N D
Software Measurement: A Necessary Scientific Basis By Norman Fenton Presented by Siv Hilde Houmb Friday 1 November
Outline • What is measurements? • How to measure • Direct and indirect measurement • Representation of measurement • Use of measurement • Software measurement (different models)
What is measurements? • Measurement is • The process by which numbers of symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules. • Entity: Object (person, journey, software specification) • Attribute: Feature (height, cost, the length of a specification)
How do we measure? • What do we mean by assigning values? • Describe the “world” • Need roles on how to evaluate what is the longest, biggest etc. • Models of the entities being measured • Model must be specific in terms of describing phenomena we are studying
Direct and indirect measurement • Direct measurement • Measurement which does not depend on the measurement of any other attribute. • Indirect measurement • Measurement which involves the measurement of one or more other attributes.
Uses of measurement • Assessment • Collect data and assess (bedømmelse) • Prediction • Model • Need to define procedure for • Determine model parameters • Interpret results • Prediction system • Model and procedure for determine model parameters and interpreting the result.
Measurement activity must have clear objectivities • Assessment or prediction • Entity and attribute • Goal/Question/Metric GQM (Basili and Rombach)
Representation of measurement • Empirical Relation Systems • Empirical relation system (C,R), where C is the set of entities and R is the set of empirical relationship. • Representation Condition • Mathematically representation of an expression, for example taller than (what does that really mean (>) ) • Numerical relation system (N,P), where entities in C are mapped to numbers in N and empirical relations in R are mapped to numerical representation in P.
Representation of measurement • Scale types and Meaningfulness • Measurement scale (inches, centimetres, scale for criticality in risk assessment etc.) • Not only just a number, but the number relates to a scale
Measuring Software Complexity • Comprehensibility • Correctness • Maintainability • Reliability • Testability • Ease of implementation
Framework for Software Measurement • Three classes of entities of interest • Processes • Products • Resources • Internal attributes • Those which can be measured purely in terms of the product, process or resource itself. (eks. Length of product) • External attributes • Those which can only be measured with respect to how the product, process or resource relate to other entities in its environment. (eks. Reliability)
Software metrics • Cost modelling • Predicting the attribute of effort or time required for the process of development • Eks. Size number of delivered source statements or function points
Software quality models • Quality measured as • Factors (external product attributes) • Criteria (internal product/process attribute) • Metrics (measurement of internal attributes)
Reliability models • Measures external product attributes • Predictive • Reliability modelling is concerned with predicting reliability of software on the basis observing times between failures durig operation or testing.
Reliability models cont. • Internal attributes of processes are used to predict an external product attribute. • Prediction system • Probability distribution model together with a statistically inference procedure for determining the model parameters, and a prediction procedure for combining the model and the parameters estimates to make a statement about future reliability.
Halstead`s software science • Measure • Length • Vocabulary • Volume • Measure in terms of numbers of operators and operands. • Does not mean program complexity!
Validating software measures • Demonstrating empirically that the representation condition is satisfied for the attribute being measured • Needs prediction system and experimental hypothesis
Summary • We need to measure internal attributes to support the measurement of external attributes (eks. Reliability) • The representation theory of measurements asserts that measurements is the process of assigning numbers or symbols to attributes of entities in such a way that all empirical relations are preserved
Summary cont. • The entities of interest in software can be classified as processes, products and resources. • In many cases we cannot measure directly external attributes -> must measure indirectly through internal attributes