MDSRC Proceedings, November, 2016 Wah/Pakistan

Size: px
Start display at page:

Download "MDSRC Proceedings, November, 2016 Wah/Pakistan"

Transcription

1 Review on Software Metrics and Measurement Raabia Imtiaz Alvi Department of Software Engineering University of Lahore Gujrat Campus, Gujrat ABSTRACT This review paper focuses on software metrics and measurements in a precise way. Describes the methodology and literature review that has been done specifically till date and illustrates the scope of software metrics and measurements. Ming Chang Lee and To Chang have worked on importance of Software metrics and measurements in software quality. Gurvinder Singh and Manik Sharma has provided with the study of foundation of static and dynamic metrics. K.P. Srinivasan and T. Devi discussed the techniques, validation methodology and different measuring properties that are being used for software metrics validation. Ajman sheikh et al. has enlightened in the context of Object Oriented and quality assessment matrices. I have elaborated the essence of software metrics, measurements and its scope by going through research papers. The metrics discussed are cost and effort metrics, data collection, performance evaluation and models, reliability models, quality models & measures, productivity models & measures, structural & complexity metrics, management by metrics, evaluation of methods & tools, finally the capability maturity assessment. Further the types of Software metrics are also defined and discussed which are process, product and project. It became the basis of the software management and important to the acquisition of software development. Different types of metrics can be used for the measurement of the system s quality before implementation. Metrics allow establishment of meaning full goals. It can be predicted that with the advancement in the use of software metrics and measurements the overall progress in the field of software engineering will improve. Keywords: Software Metrics, Software Measurement, Methods, Tools, Models 1. INTRODUCTION: The latest developments has shown the growth in Software development through several ways. Software engineering is the most influential area for computer science researchers. With the increasing availability of software, the attention of the seekers has shifted to the quality evaluation and enhancement of the software. Today s users know about the software as a quality product for the sake of utilization and effectiveness. The quality Improvement in software during development should not increase the cost of the product. To eradicate this problem, one measurable criteria is software metrics. Aman Kumar, Dr. Arvind, Dr. Hardeep [1]. In this paper the software metric and measurement will be explained as the important part in maintaining the performance, quality and efficiency of the software product. Which has a great relation between evaluation and software developement. It guides us in assessing efficiency of different Software features. An athentic methodological process should be opted to measure, evaluates, adjusts to improve the process of Software development. To evaluate the 1

2 Software product and Software development process, one should utilize Software metrics. L. J. Arthur, Ming Chang Lee, To Chang, Manik Sharma, Gurdev Singh [2, 3, 4]. The further paper is organized as follows: Section 2 presents the methodology section 3 includes the background information, Section 4 defines the scope of software metrics and measurements. Section 5 represents the types of software metrics and Section 5 concludes the paper. 2. METHODOLOGY I have adopted systematic approach for literature review on analysis of the metrics and measures particularly in this paper. The approach which I use here is identified by Kitchenham and Charters. B. Kitchenman and S. Charters [5]. 2.1 Research Question The core purpose for doing this literature review is to identify different attributes and traits using metrics. This review has been done on the basis of research question: Does Software Metrics plays an important role in the field of Software Engineering to provide quality Software? 2.2 Inclusion Criteria I studied different Journal papers and Conference papers in English to include the work relevant to my research question in this review paper. From different publications the related and suitable studies relevant to my topic has been included 2.3 Identification of Papers The papers that have been included in this review paper were between the year 1977 and The search engines Google Scholar, Science Direct, Research gate were used to find the keywords such as Software metrics, Software measurements and Quality metrics. These are the most valuable search engines covering majority of the research publications on software metrics. Totally 20 research papers were reviewed but only 14 were relevant to my topic and finally included whereas 6 research papers were rejected. 3. BACKGROUND INFORMATION Ming Chang Lee and To Chang worked on elaborating the software quality through software metrics for measurement and quality. Authors have discussed multiple metrics in each type of software quality metrics as Product quality, process quality, software testing, software maintenance quality and customer problem or customer satisfaction metrics. Authors categorize some notable software metrics based upon several perspectives such as commercial perspective, observation perspective, significance perspective, measurement perspective and software development perspective. Furthermore, the formal approaches of software measurement have been discussed. And also the types of methodologies with their applications. They also discussed 24 types of software testing metrics with their purpose, formula and effects. Ming Chang Lee and To Chang [3]. Gurvinder Singh, Manik Sharma elucidated the software metrics as an essential part of the software development life cycle. Author s objective was to provide with the study of foundation of static and dynamic metrics. Brief information about the predictive metrics that can be categorized as static and dynamic metric. Authors have also defined the objectives of software metrics. Authors distinguishes the working of predictive metrics by elaborating the suitable C++ program in example. Gurvinder Singh, Manik Sharma [6]. K.P. Srinivasan and T. Devi discussed the techniques, validation methodology and different measuring properties that are being used for software metrics validation. Authors discussed the 2

3 Weyuker s properties of measures, Kitchenham s properties of measures and Briand properties of measures. Authors used different attributes to validate metrics for software measures. Authors also enlighten the role of empirical and theatrical validation models. K.P. Srinivasan and T. Devi [7]. Ajman Shaik et al. has described the Object Oriented software metrics and software quality. Authors have shown the right studies of object oriented metrics which play a significant role in object oriented programming. Authors also elaborated that the risk, the cost and the quality of the software can be assessed by using software metrics. Authors made comparative study among object oriented metrics viz. WMC (Weighted methods per class), RFC (Response sets for class), MIF (Method inheritance factor), AHF (Attribute hiding factor), CTA (Coupling through abstract data type), CIM (Coupling through message passing), CBO (Coupling between object classes) etc. and concluded that the new trends in the field of software metrics has enhanced the quality of object oriented software significantly. Ajman Shaik, CRK Reddy, A.Damodaram [8]. 4. SCOPE OF SOFTWARE METRICS Software metrics is defined which describes certain phenomena s that includes some extent of software measurement. According to the author Fenton and Pfleenger the scope of measurements have following ten points in it. Norman Fenton, James Bieman [9]. 4.1 Cost and effort estimation: The cost estimation is used to determine the amount of effort required for developing a software product. Projection for the software project costs and time requirements. Many models have been introduced and used such as Constructive cost model and constraints model e.g. SLIM. Norman Fenton, James Bieman [9]. The reliability of measuring instrument depends on critically collecting data. It is advised that data for metrics must be collected in well planned manner & executed very carefully. It is crucial phase of data collection that where we have to decide the data domain and approach how to collect it and integrate. Norman Fenton, James Bieman [9]. 4.3 Performance evaluation and models According to the researcher, the pivotal external observation as a performance characteristics for software evaluation such as completeness and response time can evaluate the performance of a software because performance is another aspect of quality [10]. 4.4 Reliability models It shows proportion among failure intensity against time. We can test reliability by applying different models but the most common ones are basic exponential model and logarithmic poison model. The basic exponential model yields certain limited failures in a specified time and the logarithmic poison model describes countless failures. Norman Fenton, James Bieman [9]. 4.5 Productivity model and measures: The rate of output per unit of input Productivity= Size/Effort Productivity= LOC/Person-Month Estimating resources can be done amicably if we know about the staff productivity. Hence, the immense needs to determine the models and methodologies for evaluating the productivity of the software development staff during different phases of the software development life cycle. Norman Fenton, James Bieman [9]. 4.2 Data collection 3

4 measure operational characteristics of the software as representation in strategic existence. Different structural and complexity metrics can be: Figure 1: A Productivity Model 4.6 Quality models and measures Control-flow structure Data-flow structure Data structure Information flow attributes As per McCall s factors of quality measurement are depicted in the following diagram which are latterly incorporated in ISO 9126 standard of international standard organization. McCall, Richards, Walters [11]. 4.8 Measurement by metrics We can check different traits of the software by applying different metrics. These metrics can be applied to different modules to check Quality specification Design model Documentation Checking and testing Different resources Software change management 4.9 Evaluation of methods and tools Figure 2: McCall Quality Characteristics Model 4.7 Structural and complexity metrics The quality traits such as reliability, maintainability cannot be evaluated yet functional version of the code is being provided. Hence we would like to identify that which section is unpredictable, more crucial to evaluate, or indeed will go under heavy maintenance. Norman Fenton, James Bieman [9]. Contemporary it is to Researchers have devised multiple instruments for the evaluation of methods and tools being used as testing mechanism for the efficiency and the reliability of the methods and tools. Few researchers are more concerned regarding the authenticity of the instruments used for evaluation from a third party as a certification standard. So these certified instruments according to the international standards can be referred as a benchmark Capability maturity model The US Software engineering institute (SEI) devised a capability maturity model to assess the contractor s skills to develop quality software product for the US government. This model evaluates different properties of Software 4

5 development, such as using different instruments for measurement and based on practical expertise prevailing as standard etc. The capability maturity model has gained an international standard for the improvement of software products. It has proved as a major impact on providing awareness on metrics for quality assurance, because metrics are important instruments for various levels of process improvement. W.S. Humphrey [12]. 5. TYPES OF SOFTWARE METRICS Software metrics are generally classified into the following types: Process metrics, project metrics and product metrics. Aman Jatain, Yukti Mehta [13]. 5.1 Process Metrics: The process metrics is basically a continuous process which measures the performance of development process by keeping a continuous sight itself. It can measure the software reliability and software quality to improve software development and maintenance. It is indirectly related to development life cycle. The factors which are related to the development process also comes under the process metrics. 5.2 Project Metrics: Project metrics can be utilized by the team to monitor the situation and status to check out the software quality. These metrics are useful to complete the final product under required restrictions. Project metrics helps to optimize the software cost and complete the project in a given time period. 5.3 Product Metrics: Product metrics are fundamentally the code oriented metrics that carry out to examine the system correspondent to the independent system analysis. Aman Jatain, Yukti Mehta [13]. The product metrics depicts different characteristics of the software product during any software development phase. It articulates different characteristics of the software product such as size, complexity, design features, performance, portability, maintainability etc. Mrinal Singh, Arpita Mittal, Sanjay Kumar [14]. 6. CONCLUSION Software metrics and measurements plays a very pivotal role in the field of software engineering & in analyzing the software performance and also their characteristics. Metrics can be used for the establishing meaningful goals. It is also a root-cause analysis tool for determining failures and defects having impact on development process. Software metrics and measurements provide us with the best quality software with the best performance and at a low cost. It can be predicted that with the advancement in the use of software metrics and measurements the overall progress in the field of software engineering will improve. Whereas without metrics and measurement there is beyond to think of the process/product improvement and by not using software measurements and metrics we are inviting failures in the software. 3. REFERENCES [1] Aman Kumar Sharma, Dr. Arvind Kalia, Dr. Hardeep An Analysis of Optimum Software Quality Factors, IOSR Journal of Engineering, 2(4), [2] L. J. Arthur Measuring programmer productivity and software quality, John Wiley & Son, NY. [3] Ming Chang Lee, To Chang Software Measurement and Software Metrics in Software Quality. International Journal of Software Engineering & its Applications Vol. 7, No.4, July. [4] Manik Sharma, Gurdev Singh Analysis of Static and Dynamic Metrics for Productivity and Time Complexity, International Journal of Computer Applications ( ) Volume 30, No. 1, September. 5

6 [5] B. Kitchenman and S. Charters Guidelines for performing systematic literature reviews in software engineering (version 2.3), Keele University, UK, Tech. Rep. EBSE Technical Report EBSE [6] Manik Sharma, Gurvinder Singh, Predictive Metric- A Comparative Study. International Journal of Computer Science and Technology (IJCST), Volume 2, Issue1. [7] K.P. Srinivasan, T. Devi Software Metric Validation Methodologies in Software Engineering. International Journal of Software Engineering & Applications (IJSEA), Vol.5, No.6, November [8] Amjan Shaik, CRK Reddy, A Damodaram Object Oriented Software Metric and Quality Assessment: Current State of the Art. International Journal of Computer Applications. Volume 37, Number 11. [9] Norman Fenton & James Bieman Software Metrics- A Rigorous and Practical Approach, CRC Press USA, Third addition. [10] F errari, D Computer Systems Performance Evaluation, New Jersey: Prentice-Hall Inc., Englewood Clis. [11] M ccall, J. A., Richards, P. K., Walters, G. F Factors in Software Quality, Volumes I, II, and III. US Rome Air Development Center Reports, US Department of Commerce, USA. [12] W.S. Humphrey, Managing the Software Process, Addison-Wesley, Reading, MA. [13] A man Jatain and Yukti Mehta Metrics and Models for Software Reliability : A Systematic Review ; International Conference on issues and challenges in intelligent computing techniques (ICICT). [14] M rinal Singh Rawat, Arpita Mittal, Sanjay Kumar Dubey Survey on impact of Software Metrics on Software Quality ; International Journal of Advanced Computer Science and Applications (IJACSA), Vol.3, No.1. 6