ITWissen.info - Tech know how online

software metric

Software metrics quantify different properties of software products and software processes in a numerical representation - a measure. The objective here is to derive one or just a few values for the characteristics of software, which make it possible to compare these values initially with each other but also with regard to company-specific standards, for example. From this, conclusions can be drawn with regard to the quality of the software and the entire software process and, if necessary, further measures can be initiated.

Frequently software metrics are equated with procedures of the expenditure and cost estimation as for example the function point method, the COCOMO method or Delphi method.

In IEEE Standard 1061, the term software metric is narrower than software quality metric and is defined as follows: A software quality metric is a function that represents a software entity in a numerical value. This calculated value is interpretable as the degree of fulfillment of a quality property of the software unit.

Software metrics for quality management

Software metrics are thus also regarded as an integral component of quality management systems, which find expression in models such as the V-model or the Capability Maturity Level( CMM). This also takes account of the fact that software is often intended to assume responsibility for the control of complex systems and that risks in this respect must be identified in advance. Among the quality characteristics of software are terms such as freedom from errors, reliability, user-friendliness, efficiency, maintainability as well as reproducibility and ultimately also adherence to schedules.

Despite the quite comprehensible reasons software metrics are still used in practice rather little consistently. This is also due to the lack of standards for software metrics. However, a distinction is often made between process and product metrics.

With process metrics, the characteristics of the software development process are quantified (i.e. measured). In contrast, product metrics measure the software itself. However, nothing is said about how the product was created or what its current degree of completion is.

Process met rics can be differentiated into three groups:

  • Completion time of a specific process.
  • The resources to be used (people, employees, machines).
  • The frequency of events such as defects or the number of requests for changes.
Product met rics deal with the properties of the software product and are divided into dynamic and static product metrics for better handling.

Dynamic product metrics are used to assess the performance as well as the reliability of a software. Examples include the execution time required or the number of errors encountered during execution.

Static product met rics form a measure for the design, the program or the documentation. Aspects such as complexity and ease of maintenance are included in the measurement. The differences between procedural and object-oriented software development are considered by a further differentiation into the conventional and object-oriented product metrics.

The not explicitly object-oriented and statistical product metrics are counted to the conventional metrics, and often divided into four categories;

  • Scope metrics: measure the size of a program for example in source code file size in lines-of-code( LOC) or Halstead's scope metric.
  • Logical structure metrics: Measure structure such as number of paths, depth of nesting.
  • Data structure metrics: Measure the use of data in the program such as number of variables, their validity and lifetime, and referencing.
  • Style metrics: Measure the percentage of comments, adherence to naming conventions.

The object-oriented software metrics form a supplement, with which the specific characteristics are included with use of object-oriented languages into the process of the measurement. These essentially include:

  • Measurement of the characteristics of individual methods, for which conventional methods such as Lines-Of-Code (LOC) or the procedure after McCabe are frequently used.
  • Class characteristics; where the complexity of the method of a class is weighted.
  • Hierarchies ofinheritances.
  • Aggregation: Linkage of the classes.

In summary the following classical software metrics can be called:

  • Number of lines of code (LOC).
  • The COCOMO and function point method.
  • The measure of McCabe.
  • The approach of Halstead.
  • The complexity measure of Rechenberg.

Software metrics are to be regarded under various points of view; they are used apart from the estimation of expenditure and costs also for the measurement of quality characteristics such as run time behavior, testability or maintainability.

Informations:
Englisch: software metric
Updated at: 29.10.2013
#Words: 702
Links: software (SW), numerical, process, function point method, constructive cost model (COCOMO)
Translations: DE
Sharing:    

All rights reserved DATACOM Buchverlag GmbH © 2024