Chapter 6: Product Metrics in Software Engineering

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/76

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

77 Terms

1
New cards

What are McCall's quality factors?

They include maintainability, portability, flexibility, reusability, testability, interoperability, correctness, efficiency, integrity, usability, and reliability.

2
New cards

When were McCall's quality factors proposed?

In the early 1970s.

3
New cards

What is a measure in the context of software metrics?

A measure provides a quantitative indication of the extent, amount, dimension, capacity, or size of some attribute of a product or process.

4
New cards

How does the IEEE glossary define a metric?

A metric is a quantitative measure of the degree to which a system, component, or process possesses a given attribute.

5
New cards

What is an indicator in software measurement?

An indicator is a metric or combination of metrics that provide insight into the software process, a software project, or the product itself.

6
New cards

What should be established before data collection in measurement?

The objectives of measurement.

7
New cards

What is the first step in the measurement process?

Formulation, which involves deriving software measures and metrics appropriate for the software being considered.

8
New cards

What is the second step in the measurement process?

Collection, which is the mechanism used to accumulate data required to derive the formulated metrics.

9
New cards

What does the analysis step in the measurement process involve?

The computation of metrics and the application of mathematical tools.

10
New cards

What is the purpose of the interpretation step in the measurement process?

To evaluate metrics results in an effort to gain insight into the quality of the representation.

11
New cards

What is the final step in the measurement process?

Feedback, which involves transmitting recommendations derived from the interpretation of product metrics to the software team.

12
New cards

What is the Goal/Question/Metric Paradigm?

It involves establishing a measurement goal, defining questions to achieve the goal, and identifying metrics to answer those questions.

13
New cards

What is the goal definition template used for?

To analyze an activity or attribute for a specific purpose, considering the viewpoint of interested parties in a given context.

14
New cards

What are the attributes of effective metrics?

They should be simple and computable, empirically and intuitively persuasive, and consistent and objective.

15
New cards

What does it mean for a metric to be 'simple and computable'?

It should be relatively easy to learn how to derive the metric, and its computation should not demand excessive effort or time.

16
New cards

What does 'empirically and intuitively persuasive' mean in the context of metrics?

The metric should satisfy the engineer's intuitive notions about the product attribute under consideration.

17
New cards

Why is consistency important in metrics?

Metrics should be consistent and objective to ensure reliable assessments.

18
New cards

What is the role of feedback in the measurement process?

To provide recommendations based on the interpretation of metrics to improve the software process or product.

19
New cards

What is the significance of tailoring metrics?

Metrics should be tailored to best accommodate specific products and processes.

20
New cards

What is the importance of having unambiguous definitions for technical metrics?

Unambiguous definitions ensure clarity and consistency in measurement.

21
New cards

How can metrics provide insight into a software project?

By using indicators that combine metrics to reflect the software process, project status, or product quality.

22
New cards

What is the relationship between metrics and the domain of application?

Metrics should be derived based on a theory that is valid for the specific domain of application.

23
New cards

What characteristics should a metric satisfy according to engineers?

The metric should satisfy the engineer's intuitive notions about the product attribute under consideration.

24
New cards

What is a key requirement for the consistency of a metric?

The metric should always yield results that are unambiguous.

25
New cards

How should a metric handle units and dimensions?

The metric should be consistent in its use of units and dimensions, avoiding bizarre combinations of units.

26
New cards

What programming language requirement should metrics meet?

Metrics should be programming language independent, based on the analysis model, design model, or program structure.

27
New cards

What is the purpose of a metric in terms of quality feedback?

The metric should provide a software engineer with information that can lead to a higher quality end product.

28
New cards

What is a recommended practice for data collection and analysis?

Whenever possible, data collection and analysis should be automated.

29
New cards

What statistical techniques should be applied in metrics?

Valid statistical techniques should be applied to establish relationships between internal product attributes and external quality characteristics.

30
New cards

What should be established for each metric?

Interpretative guidelines and recommendations should be established.

31
New cards

What are function-based metrics used for?

Function-based metrics use the function point as a normalizing factor or as a measure of the 'size' of the specification.

32
New cards

What do specification metrics indicate?

Specification metrics are used as an indication of quality by measuring the number of requirements by type.

33
New cards

What is the function point metric (FP)?

The function point metric (FP) can be used effectively as a means for measuring the functionality delivered by a system.

34
New cards

Who first proposed the function point metric?

The function point metric was first proposed by Albrecht.

35
New cards

What are function points derived from?

Function points are derived using an empirical relationship based on countable measures of software's information domain and assessments of software complexity.

36
New cards

What are the five information domain values used in function point analysis?

1. Number of external inputs (EIs) 2. Number of external outputs (EOs) 3. Number of external inquiries (EQs) 4. Number of internal logical files (ILFs) 5. Number of external interface files (EIFs)

37
New cards

What is the weighting factor for external inputs (EIs) in function point analysis?

The weighting factors for EIs are 3 for simple, 4 for average, and 6 for complex.

38
New cards

What is the weighting factor for external outputs (EOs) in function point analysis?

The weighting factors for EOs are 4 for simple, 5 for average, and 7 for complex.

39
New cards

What is the weighting factor for external inquiries (EQs) in function point analysis?

The weighting factors for EQs are 3 for simple, 4 for average, and 6 for complex.

40
New cards

What is the weighting factor for internal logical files (ILFs) in function point analysis?

The weighting factors for ILFs are 5 for simple, 7 for average, and 10 for complex.

41
New cards

What is the weighting factor for external interface files (EIFs) in function point analysis?

The weighting factors for EIFs are 4 for simple, 5 for average, and 7 for complex.

42
New cards

What is structural complexity in architectural design metrics?

Structural complexity is defined as g(fan-out).

43
New cards

What is data complexity in architectural design metrics?

Data complexity is defined as f(input & output variables, fan-out).

44
New cards

What is system complexity in architectural design metrics?

System complexity is defined as h(structural & data complexity).

45
New cards

What does the HK metric measure in architectural design?

The HK metric measures architectural complexity as a function of fan-in and fan-out.

46
New cards

What are morphology metrics in architectural design?

Morphology metrics are a function of the number of modules and the number of interfaces between modules.

47
New cards

What are the four views used to define size in OO design metrics?

The four views are population, volume, length, and functionality.

48
New cards

What does coupling refer to in OO design metrics?

Coupling refers to the physical connections between elements of the OO design.

49
New cards

What is cohesion in OO design metrics?

Cohesion is the degree to which all operations work together to achieve a single, well-defined purpose.

50
New cards

What does volatility measure in OO design metrics?

Volatility measures the likelihood that a change will occur.

51
New cards

What are the distinguishing characteristics that require special OO metrics?

1. Localization 2. Encapsulation 3. Information hiding 4. Inheritance 5. Abstraction.

52
New cards

What are the class-oriented metrics proposed by Chidamber and Kemerer?

1. Weighted methods per class 2. Depth of the inheritance tree 3. Number of children 4. Coupling between object classes 5. Response for a class 6. Lack of cohesion in methods.

53
New cards

What are the class-oriented metrics proposed by Lorenz and Kidd?

1. Class size 2. Number of operations overridden by a subclass 3. Number of operations added by a subclass 4. Specialization index.

54
New cards

What does the MOOD Metrics Suite include?

The MOOD Metrics Suite includes Method inheritance factor, Coupling factor, and Polymorphism factor.

55
New cards

What are operation-oriented metrics proposed by Lorenz and Kidd?

1. Average operation size 2. Operation complexity 3. Average number of parameters per operation.

56
New cards

What do component-level design metrics measure?

Cohesion metrics, coupling metrics, and complexity metrics.

57
New cards

What does layout appropriateness measure in interface design metrics?

Layout appropriateness is a function of layout entities, geographic position, and the cost of making transitions among entities.

58
New cards

What is a key consideration for design metrics for WebApps?

Whether the user interface promotes usability.

59
New cards

What should be considered regarding the aesthetics of a WebApp?

The aesthetics should be appropriate for the application domain and pleasing to the user.

60
New cards

How should content be designed in a WebApp?

Content should be designed to impart the most information with the least effort.

61
New cards

What is important for navigation in a WebApp?

Navigation should be efficient and straightforward.

62
New cards

What factors should the WebApp architecture accommodate?

It should accommodate the special goals and objectives of users, the structure of content and functionality, and the flow of navigation required for effective use.

63
New cards

How should components of a WebApp be designed?

Components should reduce procedural complexity and enhance correctness, reliability, and performance.

64
New cards

What is Halstead's Software Science?

A comprehensive collection of metrics based on the number of operators and operands within a component or program.

65
New cards

What controversy surrounds Halstead's laws?

There is substantial controversy regarding the underlying theory, with many believing it has flaws, although experimental verification has been performed for selected programming languages.

66
New cards

How can testing effort be estimated in software development?

Using metrics derived from Halstead measures.

67
New cards

What does Binder suggest regarding design metrics?

Binder suggests a broad array of design metrics that directly influence the testability of an object-oriented (OO) system.

68
New cards

What does Lack of Cohesion in Methods (LCOM) measure?

It measures the lack of cohesion in methods within a class.

69
New cards

What does Percent Public and Protected (PAP) indicate?

It indicates the percentage of class members that are public or protected.

70
New cards

What does Public Access to Data Members (PAD) measure?

It measures the accessibility of data members in a class.

71
New cards

What does Number of Root Classes (NOR) refer to?

It refers to the count of root classes in a class hierarchy.

72
New cards

What is Fan-in (FIN)?

Fan-in measures the number of modules that call a particular module.

73
New cards

What does Number of Children (NOC) indicate?

It indicates the number of immediate subclasses of a class.

74
New cards

What does Depth of Inheritance Tree (DIT) measure?

DIT measures the maximum length from the node to the root of the inheritance tree.

75
New cards

What is the Software Maturity Index (SMI)?

SMI provides an indication of the stability of a software product based on changes that occur for each release.

76
New cards

How is the Software Maturity Index (SMI) calculated?

SMI = [MT - (Fa + Fc + Fd)]/MT, where MT is the number of modules in the current release, Fc is changed modules, Fa is added modules, and Fd is deleted modules.

77
New cards

What does an SMI approaching 1.0 indicate?

It indicates that the product begins to stabilize.