Professional Documents
Culture Documents
TECHNOLOGY
PROJECT REPORT
By: CHRISPIN K.
SOFTWARE METRICS
Software metrics are the quantitative measures of the degree to which software processes a given
attribute that affects its quality (Ming-Chang Lee, 2014).
Rawat, M.S (2012) says, “Software metrics provide a quantitative basis for planning and
predicting software development processes.” He goes on to say that software metrics provide
measurement for the software development, including software requirement documents, designs,
programs and tests.
Software metric deals with the measurement of software product and software product
development process and it guides and evaluates software development. (Ming-Chang Lee,
2014)
Software metrics range from internal product attributes such as size complexity and modularity
to external process attribute such as effort, productivity and reliability ().
Requirements are the driving force behind the development of a software project. Each phase in
software development like analysis, design and testing etc., directly or indirectly, depends on the
requirements. Software requirement engineering is a process to measure the degree to which a
software system meets the purpose for which it was planned by identifying needs of all the
stakeholders of the system. (Iqbal, S. and Khan, N.M.A, 2012).
Various metrics are utilized by the requirement designers, framework or system analysts,
programming engineers, group leads, software managers and different experts to effectively
oversee, execute and finish the software project. As the software business moves towards a more
mature state, the requirement for utilizing more viable instruments, methods and benchmarks for
overseeing software projects has turned out to be crucial to limit the negative hazard factors and
enhanced adherence to quality affirmation (Iqbal, S. and Khan, N.M.A, 2012).
Requirements metrics are valuable in distinguishing risks of a project by recognizing blunders in
prerequisites document. These metrics approve the composed requirements against real
requirements and assess whether the requirements are finished or not.
The use of poor metrics by project managers appraise performance of software projects led to
projects encountering major issues for a long time. Many causes of project failures, cost and
schedule overrun usually traced back to requirement engineering problems. For example, poor
requirements documentation, requirement creep, requirements that remained futile to meet the
user needs and requirements that are impossible to comply with (inverse requirements). Best
practices of requirement management play a vital role in lowering the system development costs,
improving customer satisfaction and increase project success rate (Iqbal, S. and Khan, N.M.A,
2012).
The main objective of the Software project metrics is to measure and evaluate the performance
characteristics of a software system. Software project metrics can also be employed to pick out
product defects and assess software quality. Similarly, when requirement metrics are
incorporated into the requirement gathering and elicitation process, they give assistance in the
analysis of the quality of requirements and also identify the reasons for software reengineering or
malfunction. Requirement metrics as well play a hand in defining the output measures of the
software process. (Iqbal, S. and Khan, N.M.A, 2012).
13 2 3 2 1.54
http://www.testingpanda.com/2015/05/requirement-stability-index-rsi.html
Requirement Stability Index = (10 + 2 + 3 + 2)/100 = 1.54
From the calculations the Requirements Stability Index is 1.54
DESIGN METRICS
Software design is one of the most important and key activities in the System Development Life
Cycle (SDLC) phase that ensures the quality of software. The demand of quality software is
increasing every day due to social dependences of the clients on the software. For example,
architecture, interface and integration etc. These are the main software defects (Qureshi, M.R.J.,
2012).
Design Structure Quality Index is the design metric that will be considered for the proposed
system. The calculation was done online as can be seen in the diagrams below:
DSQI (Design Structure Quality Index)
Design Structure Quality Index is an architectural design metric used to evaluate a computer
program's design structure and the efficiency of its modules. The metric was developed by the
United States Air Force Systems Command.
The result of DSQI calculations is a number between 0 and 1. The closer to 1, the higher the
quality. It is best used on a comparison basis, i.e., with previous successful projects.
The figure below shows the full process of DSQI:
< http://logicalprogram.blogspot.in/p/dsqi-calculator.html>
D1 Program Structure 1
D2 Module Independence 0.7
D3 Modules not dependent on prior processing 0.6
D4 Database size 0.9
D5 Database compartmentalization 0.3
D6 Module entrance/exit characteristic 0.7
Source: <http://logicalprogram.blogspot.in/p/dsqi-calculator.html>
Source: <http://logicalprogram.blogspot.in/p/dsqi-calculator.html>
CODING METRICS
The most established metric for software projects is that of "lines of code" (LOC). This metric
was first presented around 1960 and was utilized for economic, profitability, and quality studies.
The financial matters of programming applications were measured utilizing "dollars per LOC."
Productivity was measured as far as "lines of code per time unit." Quality was measured as far as
"abandons per KLOC" where "K" was the image for 1000 lines of code. The LOC metric was
sensibly powerful for every one of the three purposes" (Capers, 2012).
Cost is considered as one of the core variables in production, retail, and accounts. Demand and
need of the software application is increasing day by day. Software companies has been utilizing
different software models for the Cost Estimation. There are number of existing software
engineering cost estimation models such as “Analysis Effort method, COCOMO, COSYSMO,
Function Point Analysis and many others models”. The cost estimation of any software
application is considered as one of the challenges and time consuming (Shada, M.J. and
Bahadarb, F., 2017).
Source:<http://groups.engin.umd.umich.edu/CIS/course.des/cis525/js/f00/harvey/FP_Calc.html>
Source:<http://groups.engin.umd.umich.edu/CIS/course.des/cis525/js/f00/harvey/FP_Calc.html>
Source:<http://groups.engin.umd.umich.edu/CIS/course.des/cis525/js/f00/harvey/FP_Calc.html>
The Function Point = 222.6
<http://csse.usc.edu/tools/cocomoii.php>
From the figure above it is noted that the project requires 86.9 person Months Schedule therefore
the project cost given that a single programmer will get a total of K4,000 Will be as follows:
Cost = Effort*Cost-person-Month
Cost =86.9*3000
Cost=K347, 600
TEST METRICS
Metrics can aid in improving your organizations automated testing process and tracking its
status. Software Testing is the process of executing a program or system with the intent of
finding errors. Software testing is any activity aimed at evaluating an attribute or capability of a
program or system and determining that it meets its required results (Anitha, A., 2013).
Software metrics are relevant to the entire development life cycle from inception, when cost
must be assessed to observing the reliability of the finished result in the field, and that item
changes after some time with improvement. A vital explanation behind building up test metrics
is to select the key software testing process that can be dispassionately measured (Anitha, A.,
2013).
Software metrics can be applied to the entire Software Development Life Cycle (SDLC) from
initiation, when cost must be estimated to monitoring the reliability of the end product in the
field, and that product changes over time with enhancement.
An important reason for establishing test metrics is to pick out the key software testing processes
that can be objectively measured. (Anitha, A., 2013).
CONCLUSION
The use of software metrics is very vital to measure performance of software projects. The
results obtained through these metrics act as performance indicators for different artifacts and
activities of the software processes and this information is grouped together to measure health of
the projects. Metrics are therefore very important in software development.
BIBLIOGRAPHY
Ming-Chang Lee (2014) Software Quality Factors and Software Quality Metrics to Enhance
Software Quality Assurance. British Journal of Applied Science & Technology. 4(21)
Mourad Badri, Fadel Toure (2012) Empirical Analysis of Object-Oriented Design Metrics for
Predicting Unit Testing Effort of Classes. Journal of Software Engineering and Applications, 5,
513-526 <http://dx.doi.org/10.4236/jsea.2012.57060>
Rawat, M.S., Mittal, A. and Dubey, S.K. (2012) Survey on Impact of Software Metrics on
Software Quality. (IJACSA) International Journal of Advanced Computer Science and
Applications, Vol. 3, No. 1
Capers Jones. (2012). A SHORT HISTORY OF THE LINES OF CODE (LOC) METRIC.
Namcook Analytics LLC.
Shada, M.J. and Bahadarb, F. (2017) Analyzing Cost Estimation Model to Optimize COCOMO
II for Enterprise Level Software. International Journal of Computer (IJC)
ISSN 2307-4523 (Print & Online)
Anitha.A (2013) A Brief Overview of Software Testing Techniques and Metrics. International
Journal of Advanced Research in Computer and Communication Engineering
Vol. 2, Issue 12
Qureshi, M.R.J (2012) Evaluation of the design metric to reduce the number of defects in
softwqre development. I.J Information Technology and Computer Science, 4, 9-17