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 cyberpoint9.com 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.
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
(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
These metrics describe the characteristics of the product such as size, complexity, design features, performance, efficiency, reliability etc.
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.
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.
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
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.
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.
- 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 techniques
Empirical Estimation Techniques
These techniques are based on making an educated guess of the project parameters.
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 )
Sorting in Design and Analysis of Algorithm Study Notes with Example
Learn Sorting in Handbook Series: Click here