1/23
Vocabulary flashcards covering external and internal software quality characteristics, the General Principle of Software Quality, AI engineering impacts, and quality improvement techniques.
External Quality Characteristics
Software quality attributes that a user of the software product is directly aware of.
Internal Quality Characteristics
Software quality attributes that are not directly visible to the end user, but are cared about by programmers.
Correctness
The degree to which a software system is free from faults in its specification, design, and implementation.
Usability
The ease with which users can learn and use a software system.
Efficiency
The minimal use of system resources by software, including memory consumption and execution time.
Reliability
The ability of a system to perform its required functions under stated conditions whenever required, characterized by a long mean time between failures.
Integrity
The degree to which a system prevents unauthorized or improper access to its programs and its data.
Adaptability
The extent to which a system can be used, without modification, in applications or environments other than those for which it was specifically designed.
Accuracy
The degree to which a system, as built, is free from error, especially regarding quantitative outputs; it evaluates how well a system does its intended job rather than whether it was built correctly.
Robustness
The degree to which a software system continues to function in the presence of invalid inputs or stressful environmental conditions.
Maintainability
The ease with which a software system can be modified to add capabilities, alter functionality, improve performance, or fix defects.
Flexibility
The extent to which a system can be modified for uses or environments other than those for which it was specifically designed.
Portability
The ease with which a software system can be modified to operate in an environment different from the one for which it was specifically designed.
Reusability
The extent to which and the ease with which parts of an existing software system can be used in other systems.
Readability
The ease with which developers can read and understand the source code of a system, particularly at the detailed-statement level.
Testability
The degree to which a system can be unit-tested and system-tested, and verified to ensure it meets requirements.
Understandability
The ease with which a system can be comprehended at both the system-organizational and detailed-statement levels, focusing on general coherence.
General Principle of Software Quality
The principle that improving software quality reduces total development costs by minimizing time spent on debugging and reworking code.
Inspection Gap
A challenge in generative AI development where significantly more code and artifacts are accepted with less human deliberation.
Explicit Quality Objectives
Clearly defined targets for external and internal software characteristics set to prevent programmers from inadvertently prioritizing conflicting goals.
Software Engineering Guidelines
Directives that control the technical character of software across problem definition, requirements development, architecture, construction, and system testing.
Informal Technical Reviews
Pre-formal review activities by software developers, such as desk-checking designs or code and conducting peer walkthroughs.
Quality Gates
Periodic tests or formal technical reviews determining whether product quality at a given stage is sufficient to support downstream development.
External Audit
A specific technical review conducted by an independent team from outside the organization to evaluate project status or product quality, reporting to management.