软件工程中的产品度量
产品度量是软件产品在其开发的任何阶段的度量,从需求到已建立的系统。产品指标仅与软件功能相关。产品指标分为两类:
- 通过从正在执行的程序进行的测量收集的动态度量。
- 通过从系统表示(例如设计、程序或文档)进行的测量收集的静态度量。
动态指标有助于评估程序的效率和可靠性,而静态指标有助于理解、理解和维护软件系统的复杂性。动态度量通常与软件质量属性密切相关。测量特定任务所需的执行时间并估计启动系统所需的时间相对容易。这些与系统故障的效率直接相关,并且可以记录故障类型并直接关系到软件的可靠性。另一方面,静态矩阵与质量属性有间接关系。已经提出了大量这些矩阵来尝试推导和验证复杂性、可理解性和可维护性之间的关系。用于评估质量属性的几个静态指标,在这些表中给出,程序或组件长度和控制复杂性似乎是可理解性、系统复杂性和可维护性的最可靠的预测指标。软件产品指标:
S.No. | Software Metric | Description |
---|---|---|
(1) | Fan-in/Fan-out | Fan-in is a measure of the number of functions that call some other function (say X). Fan-out is the number of functions which are called by function X. A high value for fan-in means that X is tightly coupled to the rest of the design and changes to X will have extensive knock-on effects. A high value for fan-out suggests that the overall complexity of the control logic needed to coordinate the called components. |
(2) | Length of code | This is measure of the size of a program. Generally, the large the size of the code of a program component, the more complex and error-prone that component is likely to be. |
(3) | Cyclomatic complexity | This is a measure of the control complexity of a program. This control complexity may be related to program understandability. |
(4) | Length of identifiers | This is a measure of the average length of distinct identifier in a program. The longer the identifiers, the more understandable the program. |
(5) | Depth of conditional nesting | This is a measure of the depth of nesting of if statements in aa program. Deeply nested if statements are hard to understand and are potentially error-prone. |
(6) | Fog index | This is a measure of the average length of words and sentences in documents. The higher the value for the Fog index, the more difficult the document may be to understand. |