CS 532 TERM PAPER
MEASUREMENT IN SOFTWARE ENGINEERING
NAVEEN KUMAR SOMA
LOUSIANA TECH UNIVERSITY
AbstracT
This paper defines what software measurement is and describes the activities and presents the process model for software measurement. It also gives the design of the software measurement model and its application, and usage of these results in various models .It also gives the technical areas of which technical model is built of .It deals with the various steps in building the software measurement methods and measures to better understand the method.
1. INTRODUCTION:
Measurement plays an important role in software development process. This mainly depends on the GQM(goal,question,metrics) technique where metrics defines the related guidelines and procedures that must be followed in collecting and analyzing the data . When you can measure what you are speaking about, and express it into numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind: It may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the stage of science.
Software measures are used to measure specific attributes of a software product or software development process. We use software measures to derive:
- A basis for estimates,
- To track project progress,
- To determine (relative) complexity,
- To help us to understand when we have archived a desired state of quality,
- To analyze or defects,
- To experimentally validate best practices.
In short they help us to make better decisions.
The goals of software measurement are :
- To predict the error-proneness of a system using software measures from its design phase.
- To extract quantitative features from the representation of a software design to enable us to predict the degree of maintainability of a software system.
- To extract quantifiable features from the representation of a software design to enable us to predict the amount of effort required to build the software described by that design.
The Software measurement needs to answer the following questions:
- Are there quantifiable features that can be extracted from the program code of a subroutine that can be used to help predict the amount of effort required to test the subroutine.
- Are there features in order to predict the size of a project from the specification phase.
- What properties of software measures are required in order to determine the quality of a design.
2 .TECHNICAL AREAS:
Measurement technology consists of three interrelated technical areas: models, metrics and data
2.1 Model:
A model is an abstract representation of the relationships among two or more variable attributes of an entity, e.g., that the cost to develop a piece of software is related to the number of lines of code it contains. A good model will incorporate the influence of all variables that affect the outcome. A useful model will have predictive capabilities given the values of some attributes we know, or can estimate reasonably well, it will determine the future values of other attributes with an acceptable degree of uncertainty.
But models require data, because an essential step in the development of useful models is validation. Validation involves applying the model to a set of historical data, and comparing the model's predicted results to the actual results recorded in the data
A model is also defined as an equation that takes software metric data as input parameters and calculates some other parameter. The output from a model is therefore a software metric, too, and may be used as input to another model. For example, a key input parameter for many cost and some reliability models is the software size. When these models are used to predict the cost or reliability of yet-to-be-developed software, the software size is not known but can be estimated by feeding project estimates into a sizing model.
2.2 Software Metrics
A software metric is a "meaningful measure of the extent or degree to which an entity possesses or exhibits a particular characteristic" . Metrics have now been defined to measure almost any conceivable attribute of software
The framework provides a structure for identifying characteristics and attributes of software, and defining metrics which can be used to quantify them. The framework supports research in model development by increasing and standardizing the data available for validating and applying the models. The framework itself has often been referred to as a software quality model, but its primary application and contribution has been in defining software quality metrics.
metrics fig:1
2.3 Data
As increasing costs of software development fostered research in software methodology, project productivity and program reliability, the lack of standard, reliable data for an adequate sample of software projects upon which to base conclusions became acute. Accurate, valid data is needed to provide credible evaluations of proposed innovations in software development methodology, and to provide deeper insight into the software development process.
3. Understanding Software Measurement:
Understanding Software
- Baseline models and relationships
- Key process characteristics
Managing Software Projects
- Planning and estimating
- Tracking actual versus estimates
- Validating models
. Guiding Process Improvement
- Understanding
- Assessing
- Packaging
4. Measurement to Increase Understanding
The most important reason for establishing a measurement program is to evolve toward an understanding of software and the software engineering processes in order to derive models of those processes and examine relationships among the process parameters. Knowing what an organization does and how it operates is a fundamental requirement for any attempt to plan, manage, or improve. Measurement provides the only mechanism available for quantifying a set of characteristics about a specific environment or for software in general. Increased understanding leads to better management of software projects and improvements in the software engineering process. A software organization’s objective may be to understand the status of the software engineering process or the implications of introducing a change. General questions to be addressed might include the following:
How much are we spending on software development?
Where do we allocate and use resources throughout the life cycle?
How much effort do we expend specifically on testing software?
What types of errors and changes are typical on our projects?
5.MEASUREMENT PROCESS AND DIFFERENT MODELS:
High Level Model:
Detailed Model:
High Level Model fig:2
5.1 High level Model:
1: First we should measure and design the measurement method
2: The rules of the measurement method are applied to a software or piece of software;
3: The applications of the measurement method rules produce a result.
4: The measurement result is exploited in a quantitative or qualitative model.
5.2 DETAILED MODEL:
Different steps in detailed model are :
5.2.1 Design of measurement method:
This method includes : the definition of the objectives, the design of a metamodel for the object to be measured, the characterization of the concept to be measured and the definition of the numerical assignment rules. This is based on a logical perspective and on the recognition that iterative and successive refinements are required to improve the initial design proposals of measurement methods. It is also based on the assumption that want to measure (what kind of software, which attribute, etc.), what the measurement method point of view will be (software user, software designer, etc.), and what the intended uses are of the measurement method. All of these criteria have a strong influence on the design of the measurement method
Design of Measurement Model fig:3
5.2.1.a. Design of Meta Model:
The set of characteristics selected to represent software, and the set of their relationships comes under this model proposed for the description of the software to which the proposed measurement method will be applied. The Meta model must therefore describe the entity types that will be used to describe the software and the rules that allow the identification of the entity types
5.2.1.b. Concept to be measured:
. In order to enable the measurement method to be built, the concept to be measured must be clearly defined. For example, if we consider two lengths we can tell which one is bigger and which one is smaller. We can do this without using numbers, i.e. without measuring, because the concept of the distance lengths clear and precise. The definition of a concept can be made in several ways, depending on the nature of this concept. When measuring infinite sets of objects one generally defines some rules which allow characterization of the concept. For some attributes, like the distance between two points, these rules are quite simple. For others, such as abstract attributes - for example, quality or functionality - it may be more complicated. In these cases, the definition can be made by stating explicitly how the concept is decomposed into sub concepts. This decomposition describes which first type of description will be used when the measurement method is applied. The second will be required in order to allow an analysis of the mathematical properties of the measurement method. This analysis, carried out by establishing the relationships between the characterization of the concept and the mathematical description of the measurement method
5.2.1.c Definition of the numerical assignment rules.
The basis for the numerical assignment rules are the characterization of the concept and
of the proposed meta model. A numerical assignment rule can be described through a descriptive text or through mathematical expressions. The first type of description will be used when the measurement method is applied. The second will be required in order to allow an analysis of the mathematical properties of the measurement method. This analysis, carried out by establishing the relationships between the characterization of the concept and the mathematical description of the measurement method will, among other things, enable determination as to whether or not the measurement method is consistently built and which mathematical operations can be used on the results. Using mathematical expressions, this mathematical analysis will be carried out by proving that a homomorphism exists between the empirical relational set designed in the “definition of the concept to be measured” sub step and the numerical relational set implied by the mathematical description of the numerical assignments rules.
6.Validation Requirements:
From this model, a validation framework can be designed, as well as a validation guide, for analyzing whether or not a software metrics can qualify as a measurement method. The process model presented can also be used for analyzing the coverage of previous validation methods proposed for software metrics.
6.1.Validation Framework
A validation framework of software metrics from a measurement method point of view should take into account all the steps of the measurement process model. This does not mean that the validation of the design of a measurement method has to be carried out every time a measurement method is used, but that the validation step must be applied at least once. A good evaluation of a measurement method would require.
6.2 Validation Guide
A guide providing the list of check-points for all operations of each step and sub step described in the detailed model of a measurement process would be a valuable contribution in elaborating a comprehensive validation framework for a measurement process .For example, for the sub step“design of the meta model”, some of the points to be checked might be The proposed description of the meta model is consistent with the software to be measured;
7. Conclusion:
Thus Software Measurement plays an important role in the software industry , for any software product to become famous we need to measure the product and represent in the numbers , with out this we will remain at the the beginning edge of any knowledge .Some times these software metrics will not qualified as measurement methods .This paper explains that the output of the measurement methods will be context based i.e. it depends on how well the user analyses and uses the terms and so far no one has been able to show in that the measurement method is the consistent method,. but this will not be in the negative frame for each and every product.
8. References.
1. measurement for engineering in software
www2.umassd.edu/SWPI/ProcessBibliography/ bib-measurement.html
2. Establishing Software Measurement Programs by
Raymond j.Offen and Ross Jeffery
3. Software Metrics: A Rigorous Approach”, Chapman & Hall, 1991.
4 .From Software Metrics to Software Measurement Methods by
Jean-Philippe Jacquet, Alain Abran
5. Customized Establishment of measurement programs