This website includes Education Information like a programming language, job interview question, general knowledge.mathematics

Education log

PageNavi Results No.

Ads

Monday, December 30, 2019

what is software metrics in software engineering

what is software metrics in software engineering


understanding software metrics:

   In this tutorial today learn what is software metrics in software engineering and software quality are primarily concerned with defects that are injected into different lifecycle stages. These defects can be injected right from the requirement analysis stage to the testing stage. These defects are injected because of many reasons. These reasons could vary from lack of knowledge to lack of complete understanding of customer requirements to error in design specifications, and so forth. These defects are then detected and removed during the execution stage. An application is always measured for its quality in terms of defect injection and defect removal rate. 

   This is an important concept in software project management and is one of the aspects that need to be controlled and monitored during the lifecycle of project execution. This is because of the fact that software development is a highly people-intensive activity and “to err is human." Defects can be injected and detected at any stage. Thus, defects can be injected in requirement analysis, design, and

coding stages. These are the stages where requirements are converted to deliverables to the customer (such as design specification, code, etc.).

As discussed earlier, defects are injected at all stages of the development lifecycle, and hence they need to be detected and removed. The removals in requirement analysis and design stages are done through a review of their deliverables, whereas in the coding stage, both review and testing will help in removing defects. A project is considered successful if these defects are removed in all these stages and application is delivered with no or less defects 

    The project management process has to plan for activities such that these are removed at the appropriate stage; defect injected in the initial stages has a cascading effect on defects downstream. This is because defects at early stages will inject new defects and time and cost involved in removing these defects, if not removed early, become higher and higher. Thus, it is imperative that the project management process should be matured enough to detect and remove the defects immediately. 

      This is however easier said than done. The project manager has to plan for activities such as reviews of all deliverables from the requirement, design, and coding stages and also has to decide a testing strategy for codes written during the lifecycle stages.
Software metrics deal with the measurement of the software product and the process by which it is developed. 
   
    The software product should be viewed as an abstract object that evolves from an initial statement of need to a finished software system, including source and object code and different forms of documentation produced during development. Ordinarily, these measurements of the software process and product are studied and developed for use in modeling the software development process. These metrics and models are then used to estimate/predict product costs and schedules and to measure productivity and product quality. The information gained from the metrics and the model can then be used in manage and control of the development process, leading to, one hopes, improve results.

Jalote (2000) feels that good metrics should facilitate the development of models that are capable of predicting process or product parameters, not just describing them. As per Jalote (2001), ideal metrics should be

• Simple, precisely definable so that it is clear how the metric can be evaluated.

• Objective, to the greatest extent possible

. • Easily obtainable (that is, at a reasonable cost).

 • Valid—the metric should measure what it is intended to measure.

• Robust-relatively insensitive to insignificant changes in the process or product.
In addition, for maximum utility in analytical studies and statistical analyses, metrics should have data values that belong to appropriate measurement scales.

 Hence, the objectives of software project measurement are as follows:

• Ensure that software projects operate at the desired quality and productivity levels. Quality
also covers attributes such as reliability, usability, stability, and performance, as applicable.

• Ensure that projects meet the service level agreements (SLAs).

• Ensure that processes operate within the defined bounds and look for opportunities for improvement.

 • Ensure that the project meets the commitments made to the customer in terms of delivery schedule
and other parameters, as applicable. The mapping between business goals and measures are given in Table




definitions of metrics:

Software Engineering Institute at Carnegie Mellon University (www.sei.cmu.edu) has stated that broadly the metrics can be classified into basic and derived metrics. Basic metrics are collected as a result of direct measurement of the process or product characteristics. The typical basic metrics collected are as follows:
Effort-
This is the amount of time spent on the activity and is measured in person-hours or person-days.

Defects—:

This represents noncompliance to requirements and is measured in numbers. Size-It is the size of the application being developed and is measured in function points or lines of code.

Elapsed time-:

This is the time spent between the start and the end of an activity and is measured in days.

Requirements count-:

This is the number of requirements given by the customer and is measured in numbers.
 A number of requirement changes.

 This represents the number of times the customer has changed his/her mind resulting in changes in the original requirements. It is usually measured in numbers.
Number of requests (maintenance projects)-
This represents the number of requests received from the customer to be fixed. It is measured in numbers only. Derived metrics are quality indicators that is calculated using basic measures in order to gain insight into the process and product quality characteristics. Some of the derived metrics are as follows:

• Productivity

• Delivered quality

 • Defect injection rate (DIR)

• Defect detection rate

• Review/test effectiveness

• Review/test efficiency






No comments:

Post a Comment