- Software Quality Management
- Software Quality Factors
- SQA Components
- Software Quality Metrics
- Basics of Measurement
- Measurement and Models
- Measurement Scales
- Empirical Investigations
- Software Measurement
- Software Measurement Validation
- Software Metrics
- Data Manipulation
- Analyzing Software Measurement Data
- Internal Product Attributes
- Albrecht’s Function Point Method
- Measuring The Structure
- Standards and Certificates
- Software Process Assessment
- Quality Assurance
- Role Of Management in QA
- The SQA Unit
- Useful Resources
- Quick Guide
- Useful Resources
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Basics of Measurement
Measurement is the action of measuring something. It is the assignment of a number to a characteristic of an object or event, which can be compared with other objects or events.
Formally it can be defined as, the process by which numbers or symbols are assigned to attributes of entities in the real world, in such a way as to describe them according to clearly defined rules.
Measurement in Everyday Life
Measurement is not only used by professional technologists, but also used by all of us in everyday life. In a shop, the price acts as a measure of the value of an item. Similarly, height and size measurements will ensure whether the cloth will fit properly or not. Thus, measurement will help us compare an item with another.
The measurement takes the information about the attributes of entities. An entity is an object such as a person or an event such as a journey in the real world. An attribute is a feature or property of an entity such as the height of a person, cost of a journey, etc. In the real world, even though we are thinking of measuring the things, actually we are measuring the attributes of those things.
Attributes are mostly defined by numbers or symbols. For example, the price can be specified in number of rupees or dollars, clothing size can be specified in terms of small, medium, large.
The accuracy of a measurement depends on the measuring instrument as well as on the definition of the measurement. After obtaining the measurements, we have to analyze them and we have to derive conclusions about the entities.
Measurement is a direct quantification whereas calculation is an indirect one where we combine different measurements using some formulae.
Measurement in Software Engineering
Software Engineering involves managing, costing, planning, modeling, analyzing, specifying, designing, implementing, testing, and maintaining software products. Hence, measurement plays a significant role in software engineering. A rigorous approach will be necessary for measuring the attributes of a software product.
For most of the development projects,
- We fail to set measurable targets for our software products
- We fail to understand and quantify the component cost of software projects
- We do not quantify or predict the quality of the products we produce
Thus, for controlling software products, measuring the attributes is necessary. Every measurement action must be motivated by a particular goal or need that is clearly defined and easily understandable. The measurement objectives must be specific, tried to what managers, developers and users need to know. Measurement is required to assess the status of the project, product, processes, and resources.
In software engineering, measurement is essential for the following three basic activities −
- To understand what is happening during development and maintenance
- To control what is happening in the project
- To improve processes and goals
The Representational Theory of Measurement
Measurement tells us the rules laying the ground work for developing and reasoning about all kinds of measurement. It is the mapping from the empirical world to the formal relational world. Consequently, a measure is the number or symbol assigned to an entity by this mapping in order to characterize an entity.
In the real world, we understand the things by comparing them, not by assigning numbers to them.
For example, to compare height, we use the terms ‘taller than’, higher than’. Thus, these ‘taller than’, higher than’ are empirical relations for height.
We can define more than one empirical relation on the same set.
For example, X is taller than Y. X, Y are much taller than Z.
Empirical relations can be unary, binary, ternary, etc.
X is tall, Y is not tall are unary relations.
X is taller than Y is a binary relation.
Empirical relations in the real world can be mapped to a formal mathematical world. Mostly these relations reflect the personal preferences.
Some of the mapping or rating technique used to map these empirical relations to the mathematical world is follows −
Here, the users will be given a statement upon which they have to agree or disagree.
For example − This software performs well.
|Strongly Agree||Agree||Neither agree Nor disagree||Disagree||Strongly Disgaree|
Order the given alternatives from 1 (best) to n (worst).
For example: Rank the following 5 software modules according to their performance.
|Name of Module||Rank|
Verbal Frequency Scale
For example − How often does this program fail?
Here, the users will be given a list of alternatives and they have to select one.
For example − How often does this program fail?
- Several times a year
- Once or twice a year
Here, the user has to give a number by comparing the different options.
Very superiorAbout the sameVery inferior
Here, the user has to give a number according to its importance.
The Rules of Mapping
To perform the mapping, we have to specify domain, range as well as the rules to perform the mapping.
For example − Domain - Real world
Range − Mathematical world such as integers, real number, etc.
Rules − For measuring the height, shoes to be worn or not
Similarly, in case of software measurement, the checklist of the statement to be included in the lines of code to be specified.
The Representational Condition of Measurement
The representational condition asserts that a measurement mapping (M) must map entities into numbers, and empirical relations into numerical relations in such a way that the empirical relations preserve and are preserved by numerical relations.
For example: The empirical relation ‘taller than’ is mapped to the numerical relation ‘>’.i.e., X is taller than Y, if and only if M(X) > M(Y)
Since, there can be many relations on a given set, the representational condition also has implications for each of these relations.
For the unary relation ‘is tall’, we might have the numerical relation
X > 50
The representational condition requires that for any measure M,
X is tall if and only if M(X) > 50
Key Stages of Formal Measurement
The key stages of measurement can be summarized as follows −