Lecture 4: Software Quality Flashcards
Who are the different stakeholders?
Users: Those who use the software
Customers (Project Owners): Those who pay for the software
Software Developers (Software Engineers): Those who create and maintain the software
Development Managers (Project Coordinators): Those who supervise the software development process
What are the categories of software quality attributes?
For product operation, revision, and transition
What are the operation attributes?
Correctness: Degree to which a program satisfies the user’s requirements
Efficiency: Amount of computing resources, time and space, required to perform a user-defined task
Integrity: How well is the software and data protected from security breaches and installation errors?
Reliability: To what degree can the system be expected to perform its intended function without failure in the user’s environment?
Usability: How much effort do the users have to spend learning to use the system efficiently?
What are the revision attributes?
Flexibility: How much effort will be required to enhance the system?
Maintainability: How much effort will be required to locate and repair defects in the system?
Testability: How much effort will be required to test the structure and functionality of the system?
What are the transition attributes?
Interoperability: How much effort will be required to link this program or system to another?
Portability: How much effort will it take to transfer a program or system from one machine to another?
Reusability: To what extent can the design, or system modules be used in other applications? How much effort will it take to reuse them?
Can software qualities conflict?
Yes, efficiency may impact interoperability, usability could impact efficiency, etc.
What is internal quality?
Characterizes aspects of the design of the software (e.g. amount of commenting of the code, complexity of the code, use of well-understood software patterns)