Handbook of Computer Science(cs) and IT

Software Measurement

In software measurement, software is measured to find its efficiency and accuracy. The functionality of a software is totally dependent on the measurement process, if a software gives correct output in the software measurement process, then it can be sure that software will give meaningful and valuable information within a defined time.

Measurement in the physical world can be categorised into two ways.

Direct measures of software engineering process

  • it includes cost and effort applied It also includes

(0 Lines of Code (LOC) produced

(ii) Execution speed                                                     (iii) Memory size

(iv) Defects reported over some period of time

indirect measures of the product

  • It includes

(i) Functionality

(ii) Quality

(iii) Complexity                                                                    u(iv) Efficiency

(v) Reliability and maintainability etc.

 

Software Metrics (Direct Measure)

 Software metrics can be defined as the continuous application of measurement based techniques to the software development process and its products to supply meaningful and timely management information together with the use of those techniques to improve that process and its products.

Categories of Software Metrices

There are three main categories of software metrics which are given below

Product metrics

These metrics describe the characteristics of the product such as size, complexity, design features, performance, efficiency, reliability etc.

Project metrics

These metrics describe the project characteristics and execution. Example of project metrices are

  • Number of software developers.
  • Staffing pattern over the life cycle of the software.
  • Cost and schedule.

Process metrics

These metrics describe the effectiveness and quality of the process that produce the software product. Examples of process metrices are

  • Effort required in the process. • Time to produce the product.
  • Maturity of the process. Number of defects found during testing.
  • Effectiveness of defect removal during developments.

Some Common Software Metrics

LOC (Lines of Code) It specifies size of a software. LOC can also be used to given a more precise characterisation to the, common motions of small, large or very large projects e.g.,

Size                                                      Small  Medium  Large       Very large

LOC            <2k 2k-8k 8k-32k > 32 k

Person months (Man-months) It specifies the effort needed or spent on a Project.

 

Normalized Metrics

If measures are normalized, it is possible to create software metrics  that enable comparison to broader organisational averages.

Size Oriented Metrics

These metrics are derived by normalizing quality and/or productive, measures by considering the size of software that has been produced.

Productivity = LOC/Person month ; Quality = Defects/LOC ; Cost = Price/WC

Function Oriented Metrics

These metrics use a measure of the functionality delivered by the application as a normalization value. Functionality is measured indirectly

using other direct measures.

Function Point (FP) Metrics

This metric can easily be used to estimate the size of a software product directly form the problem specification. The conceptual idea underlying the function point metric is that the size of a software product is directly dependent on the number of different functions and features it supports. Function point is computed in two steps

(i) The first step is to compute the Unadjusted Function Point (UFP).

UFP = (Number of inputs) * 4 + (Number of output) * 5 + (Number of inquiries) * 4 + (Number of files) * 10 + (Number of interfaces) * 10

Once the UFP is computed the Technical Complexity Factor (TCF) is computed next. The TFP refines the UFP measure by considering 14 other factors such as high transaction rates, throughput and response time requiremnts etc. Each of these 14 factors time assigned a value from 0 (not present or no influence) to 6 (strong influence). The resulting numbers are summed, yielding the total degree of influence.

TCF = (0.65 + 001 *D1) as D1 can vary from 0 to 70, the TCF can vary from 0.65 to 1.35. Finally, FP = UFP * TCF

Key Words Related to Normalized Matrices

  • Number of inputs Each data item by user is counted.
  • Number of outputs A set of related data items is counted as one output. The output
    considered refer to reports printed, screen outputs, error messages produced etc.
  • Number of inquiries Number of distinct interactive queries which can be made by the
    users These inquiries are user commands which require specific action by the system.

.

  • Number of files Each logical file is counted. A logical file means group of logically

related data. Thus, logical files can be data structures or physical files.

_ ___________________________ _ _ _ ____________

 

Indirect Measures –

Indirect measures focus on software reliability and software quality

Software Reliability

It is  defined as the ability of. a system or component to perform its          required  function under stated conditions for a specified period of time. Before the deployment of software products, testing verification and validation are deployment of software products, testing verification are necessary steps which can ensure better software reliability in  the product.

Software Quality

One objective of software engineering is to produce good quality maintainable software in time and within budget. if a product is meeting its requirements, we may say, it is a good quality product.

Key Points

  • Software reliability is the probability of failure free software operation for a specified period of time in a specified environment.
  • When we deal with software quality, a list of attributes (reliability, usability, maintainability and adaptability) is required to be defined that are appropriate for software. –

Project Estimation Techniques

The estimation of various project parameters is a basic project planning activity, The important project parameter that are estimated include project size, effort required to develop the software; project duration and cost.

There are three broad categories of estimation techniuques

Empirical Estimation Techniques

These techniques are based on making an educated guess of the project parameters.

Heuristic Techniques

This technique assumes that the relationships among the different project parameters can be modelled using suitable mathematical expression, Analytical Estimation Techniques

This technique derive the required result starting with certain basic assumptions regarding the project. Thus, unlike emperical and heuristic approach, this approach do have a scientific basis. Example of analytical technique is Halstead’s software science.

Halstead Software Science

Halstead used a set of primitive measures, which can be derived once the design phase is completed and the code is generated.

There measures are as follows

n1 = Number of distinct operators in a program

n2 = Number of distinct operands in a program

N1 = Total number of operators

N2 = Total number of operands

Program length (N) can be calculated by using below equation N = n1 log2 n1 + n2 log2 n2

Program volume (V) can be calculated by using equation given below, volume of information’s unit is in bits

V = N log2 (n1 + n2)

Volume ration (L) must be less than 1 and can be calculated as

L=2/n1 *n2 /N2

 

Program difficulty level (D)= (n1/2) * (N2 /n2 )

Effort (E)=D*V

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Leave a Reply

Your email address will not be published. Required fields are marked *