1/76
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What are McCall's quality factors?
They include maintainability, portability, flexibility, reusability, testability, interoperability, correctness, efficiency, integrity, usability, and reliability.
When were McCall's quality factors proposed?
In the early 1970s.
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.
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.
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.
What should be established before data collection in measurement?
The objectives of measurement.
What is the first step in the measurement process?
Formulation, which involves deriving software measures and metrics appropriate for the software being considered.
What is the second step in the measurement process?
Collection, which is the mechanism used to accumulate data required to derive the formulated metrics.
What does the analysis step in the measurement process involve?
The computation of metrics and the application of mathematical tools.
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.
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.
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.
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.
What are the attributes of effective metrics?
They should be simple and computable, empirically and intuitively persuasive, and consistent and objective.
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.
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.
Why is consistency important in metrics?
Metrics should be consistent and objective to ensure reliable assessments.
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.
What is the significance of tailoring metrics?
Metrics should be tailored to best accommodate specific products and processes.
What is the importance of having unambiguous definitions for technical metrics?
Unambiguous definitions ensure clarity and consistency in measurement.
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.
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.
What characteristics should a metric satisfy according to engineers?
The metric should satisfy the engineer's intuitive notions about the product attribute under consideration.
What is a key requirement for the consistency of a metric?
The metric should always yield results that are unambiguous.
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.
What programming language requirement should metrics meet?
Metrics should be programming language independent, based on the analysis model, design model, or program structure.
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.
What is a recommended practice for data collection and analysis?
Whenever possible, data collection and analysis should be automated.
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.
What should be established for each metric?
Interpretative guidelines and recommendations should be established.
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.
What do specification metrics indicate?
Specification metrics are used as an indication of quality by measuring the number of requirements by type.
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.
Who first proposed the function point metric?
The function point metric was first proposed by Albrecht.
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.
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)
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.
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.
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.
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.
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.
What is structural complexity in architectural design metrics?
Structural complexity is defined as g(fan-out).
What is data complexity in architectural design metrics?
Data complexity is defined as f(input & output variables, fan-out).
What is system complexity in architectural design metrics?
System complexity is defined as h(structural & data complexity).
What does the HK metric measure in architectural design?
The HK metric measures architectural complexity as a function of fan-in and fan-out.
What are morphology metrics in architectural design?
Morphology metrics are a function of the number of modules and the number of interfaces between modules.
What are the four views used to define size in OO design metrics?
The four views are population, volume, length, and functionality.
What does coupling refer to in OO design metrics?
Coupling refers to the physical connections between elements of the OO design.
What is cohesion in OO design metrics?
Cohesion is the degree to which all operations work together to achieve a single, well-defined purpose.
What does volatility measure in OO design metrics?
Volatility measures the likelihood that a change will occur.
What are the distinguishing characteristics that require special OO metrics?
1. Localization 2. Encapsulation 3. Information hiding 4. Inheritance 5. Abstraction.
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.
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.
What does the MOOD Metrics Suite include?
The MOOD Metrics Suite includes Method inheritance factor, Coupling factor, and Polymorphism factor.
What are operation-oriented metrics proposed by Lorenz and Kidd?
1. Average operation size 2. Operation complexity 3. Average number of parameters per operation.
What do component-level design metrics measure?
Cohesion metrics, coupling metrics, and complexity metrics.
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.
What is a key consideration for design metrics for WebApps?
Whether the user interface promotes usability.
What should be considered regarding the aesthetics of a WebApp?
The aesthetics should be appropriate for the application domain and pleasing to the user.
How should content be designed in a WebApp?
Content should be designed to impart the most information with the least effort.
What is important for navigation in a WebApp?
Navigation should be efficient and straightforward.
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.
How should components of a WebApp be designed?
Components should reduce procedural complexity and enhance correctness, reliability, and performance.
What is Halstead's Software Science?
A comprehensive collection of metrics based on the number of operators and operands within a component or program.
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.
How can testing effort be estimated in software development?
Using metrics derived from Halstead measures.
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.
What does Lack of Cohesion in Methods (LCOM) measure?
It measures the lack of cohesion in methods within a class.
What does Percent Public and Protected (PAP) indicate?
It indicates the percentage of class members that are public or protected.
What does Public Access to Data Members (PAD) measure?
It measures the accessibility of data members in a class.
What does Number of Root Classes (NOR) refer to?
It refers to the count of root classes in a class hierarchy.
What is Fan-in (FIN)?
Fan-in measures the number of modules that call a particular module.
What does Number of Children (NOC) indicate?
It indicates the number of immediate subclasses of a class.
What does Depth of Inheritance Tree (DIT) measure?
DIT measures the maximum length from the node to the root of the inheritance tree.
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.
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.
What does an SMI approaching 1.0 indicate?
It indicates that the product begins to stabilize.