请输入您要查询的百科知识:

 

词条 Software package metrics
释义

  1. See also

  2. References

  3. External links

{{more sources|date=September 2016}}

Various software package metrics are used in modular programming. They have been mentioned by Robert Cecil Martin in his 2002 book Agile software development: principles, patterns, and practices.

The term software package here refers to a group of related classes in object-oriented programming.

  • Number of classes and interfaces: The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
  • Afferent couplings (Ca): The number of classes in other packages that depend upon classes within the package is an indicator of the package's responsibility. Afferent couplings signal inward.
  • Efferent couplings (Ce): The number of classes in other packages that the classes in a package depend upon is an indicator of the package's dependence on externalities. Efferent couplings signal outward.
  • Abstractness (A): The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.
  • Instability (I): The ratio of efferent coupling (Ce) to total coupling (Ce + Ca) such that I = Ce / (Ce + Ca). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely unstable package.
  • Distance from the main sequence (D): The perpendicular distance of a package from the idealized line A + I = 1. D is calculated as D = | A + I - 1 |. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (I=0, A=1) or completely concrete and unstable (I=1, A=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.
  • Package dependency cycles: Package dependency cycles are reported along with the hierarchical paths of packages participating in package dependency cycles.

See also

  • Dependency inversion principle – a method to reduce coupling (Martin 2002:127).

References

  • {{cite book

| author = Robert Cecil Martin
| year = 2002
| title = Agile Software Development: Principles, Patterns and Practices
| publisher = Pearson Education
| isbn = 0-13-597444-5
}}

External links

  • [https://web.archive.org/web/20061211051845/http://www.parlezuml.com/metrics/OO%20Design%20Principles%20%26%20Metrics.pdf OO Metrics] tutorial explains package metrics with examples, but gets the Instability index wrong; see page 262 of Martin's Agile Software Development: Principles, Patterns and Practices. Pearson Education. {{ISBN|0-13-597444-5}}.

2 : Software metrics|Object-oriented programming

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/11 19:05:01