Software measurement is a quantified attribute (see also:
measurement
Measurement is the quantification of attributes of an object or event, which can be used to compare with other objects or events.
In other words, measurement is a process of determining how large or small a physical quantity is as compared ...
) of a characteristic of a
software product or the software process. It is a discipline within
software engineering. The process of software measurement is defined and governed by
ISO Standard ISO 15939 (software measurement process).
Software metrics
Software size, functional measurement
The primary measurement of software is size, specifically functional size. The generic principles of functional size are described in the ISO/IEC 14143.
Software size is principally measured in function points. It can also be measured in lines of code, or specifically, source lines of code (SLOC) which is functional code excluding comments. Whilst measuring SLOC is interesting, it is more an indication of effort than functionality. Two developers could approach a functional challenge using different techniques, and one might need only write a few lines of code, and the other might need to write many times more lines to achieve the same functionality. The most reliable method for measuring software size is code agnostic, from the user's point of view - in function points.
Measuring code
One method of software measurement is metrics that are analyzed against the code itself. These are called
software metrics and including simple metrics, such as counting the number of lines in a single file, the number of files in an application, the number of functions in a file, etc. Such measurements have become a common
software development practice.
Measuring software complexity, cohesion and coupling
There are also more detailed metrics that help measure things like
software complexity Programming complexity (or software complexity) is a term that includes many properties of a piece of software, all of which affect internal interactions. According to several commentators, there is a distinction between the terms complex and compli ...
,
Halstead,
cohesion, and
coupling.
See also
*
History of software engineering
The history of software engineering begins in the 1960s. Writing software has evolved into a profession concerned with how best to maximize the quality of software and of how to create it. Quality can refer to how maintainable software is, to it ...
*
Software engineer
*
Software metrics
*
Function point
*
COSMIC functional size measurement
References
Further reading
*
Norman Fenton,
Shari L Pfleeger:
Software metrics: a rigorous and practical approachPWS Publishing Co. Boston, MA, USA 1997,
* Christof Ebert and Reiner Dumke:
Software Measurement' Springer, New York 2007,
* Zádor Dániel Kelemen, Gábor Bényasz and Zoltán Badinka:
A measurement based software quality framework' ThyssenKrupp Presta, Budapest 2014, Technical Report No: TKPH-QDTR-201401.
Software metrics
{{soft-eng-stub