Software Measurement and Metrics and Tools in Software Engineering

Software Measurement and Metrics and Tools in Software Engineering

Software Measurement and Metrics and Tools in Software Engineering:The Complete Guide of Computer Science and Information Technology to Crack any Examination:-In this  cyberpoint9 tutorial we are going to describe about the  concept of Any Competitive Examination in Computer Science and Information Technology and cyber programming. And also we will describe that how can we crack any Competitive Examination Like GATE-CS ,UGC-NET,BARC,VSSC, DRDO, ISRO, NASA, BHEL,SPACEX,GOOGLE,FACEBOOK, etc .This is the free Full Complete Guide for Computer Science and Information Technology Students and Achievers Scientist.In this tutorials: course for Beginners to Advance And why we  use  Handbook of CS AND IT  to make  more interactive and  save our time  for our Daily life. Best Online Tutorial for Computer Science and It students .When ever we want to learn any thing the things become more earlier is somebody/tutorial/study material taught us through Examples. Here we have tried to describe each and every concept of  Programming and Cyber Security   in the light of  best Hindi  Short tutorial using simple and best possible example. These examples are so simple that even a beginner who had never even heard about hacking and Cyber law can easily learn and understand How  the  isro and barc drdo for computer science books works in our today’s Technical Field. This is  the best  tutorial/Study Material  very beneficial for beginners  as well as Professional.The Complete Guide of Computer Science and Information Technology.

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 categorized into two ways.

Direct measures of software engineering process

  • it includes cost and effort applied     –> It also includes

(i) 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                                                                    (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 Metrics

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 metrics are

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

Process metrics

These metrics describe the effectiveness and quality of the process that produce the software product. Examples of process metrics 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 characterization 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 requirements 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. –
  • Software Measurement and Metrics and Tools in Software Engineering
    Software Measurement and Metrics and Tools in Software Engineering

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 techniques

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

Sorting in Design and Analysis of Algorithm Study Notes with Example

Learn Sorting in Handbook Series:  Click here 

Follow Us on Social Platforms to get Updated : twiter,  facebookGoogle Plus

Leave a Reply

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