Part F: Software Quality & Standards for Software Quality Flashcards
- Software quality (max 5 points)
What is software quality? (1p) Why is quality problematical for software products? (4p).
Software quality, simplistically, means that a software should meet established requirements.
This is problematical for software products because:
● There is a tension between requirements (efficiency, performance, etc.) and requirements (reliability, maintainability, ect.)
● Requirements are specified in an unambiguous way
● Requirements specifications are usually incomplete and inconsistent
● Requirements specifications are changing
- Software quality models (max 4 points)
Choose one standard software quality model, and name and describe at least 4 quality perspectives/factors/characteristics according to the model.
ISO 9126 describes 6 quality characteristics: (FRUEMP) Functionality, Reliability, Usability, Efficiency, Maintainability, and Portability. Each characteristic is further divided into 3-5 subcharacteristics (palla lära sig dem dock).
- Validation and verification (max 2 points)
What are validation and verification?
Verification means to make sure the a system, component, or process meets the specified requirements,
while validation means to make sure it does what the customer really wants.
- Software quality assurance (1) (max 4 points)
Describe the software quality assurance according the ISO definition.
ISO definition:
● A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements
● A set of activities designed to evaluate the process by which the products are developed
- Software quality assurance (2) (max 4 points)
What is the uniqueness of quality assurance for software products?
Some aspects of software products that make the field unique:
● Software products serve almost every industry
● No warranty associated with products. Instead, there are disclaimers that the producer takes no responsibility if the product is not functioning as expected.
● Software is complex
● “Software is lack of visibility” (?)
● Few opportunities to identify defects
- Software quality assurance (3) (max 4 points)
Discuss the important things that effect software quality.
Important things (lite improviserat, men borde duga): ● Planning ● Informed development of specifications (i.e. someone with insight into how to develop it should have a say when the specifications are developed/accepted). ● Communication between stakeholders ● Review the design ● Heed the advice of others ● Keep complexity in mind ○ Few parts ○ Loose coupling ○ Redundancy
- Quality Management System ISO Standard (max 4 points)
What is ISO 9000-3 standard? What is its focus?
The standard offers guidelines for the application of ISO 9001 to the software industry.
ISO 9001 is a general standard for quality assurance, and can be applied to several fields. ISO 9000-3 (or ISO/IEC 90003) provides guidelines for how to apply this specifically to the software industry.
- Capability Maturity Model (max 5 points)
What is the Capability Maturity Model designed for? Name and describe its levels.
Designed for evaluating and certifying the development process in software organizations. (sv. wiki)
Levels:
- Initial (chaotic, ad hoc, individual heroics) - the starting point for use of a new or undocumented repeat process.
- Repeatable - the process is at least documented sufficiently such that repeating the same steps may be attempted.
- Defined - the process is defined/confirmed as a standard business process
- Managed - the process is quantitatively managed in accordance with agreed-upon metrics.
- Optimising - process management includes deliberate process optimization/improvement.
- IEEE Std 1012 (max 5 points)
What is IEEE Std 1012 designed for? Describe the main concepts of the standard.
1012 is the IEEE standard for system, software, and hardware V&V (verification and validation). This is the process of making sure a development product conforms to its requirements, and satisfies the intended use.
- IEEE Std 1028 (max 4 points)
What is IEEE Std 1028 designed for? Describe the main concepts of the standard.
1028 is the IEEE standard designed for reviews. It describes 5 types of reviews (MTIWA, see above). The review procedures are applicable throughout the software lifecycle, and conform with other standards.
Important concepts are high formality, follow-up of corrections, and compliance with other standards.