According to Garvin
-Quality is a complex and multifaceted concept
Garvin describes it from 5 different view points
1. Transcendental view
-Quality is something you immediately recognize, but cannot explicitly define
2. User view
-Sees quality in terms of an end users specific goals. If a product meets those goals, it exhibits quality
3. Manufactures view
-Defines quality in terms of the original specification of the product. If the product conforms to the specs,
it exhibits quality
4. Product view
• Suggest that quality can be tied to inherent characteristics of a product
5. Value-based View
• Measure based on how much a customer is willing to pay for a product
Quality of design
• Characteristics that designers specify for a product
• Grade of the materials, tolerance and performance specifications all contribute
• Higher grade materials+ Tighter tolerance +greater levels of performance= increased product quality
Quality of design
-Encompasses the degree to which the design meets the function and features specified in the requirements
model
Quality of Conformance
-Focuses on the degree to which the implementation follows the design and the resulting system meets its
requirements and performance goals
Robert Glass
-User satisfaction= compliant product+ good quality + delivery within budget and schedule
How do we define software quality?
• An effective software process applied in a manner that creates a useful product that provides
measurable value for those who produce it and those who use it
1. Effective Software Process
-Establishes the infrastructure that supports any efforts at building a high- quality software product
2. Useful Product
-Delivers the content, function and features that the end user desires, but as important, it delivers these
assets in a reliable error-free way
3. Adding Value
-High quality software provides benefits for organization and the end user community
Garvin's 8 Quality Dimensions
1. Performance Quality
• Are all requirements delivered?
2. Features Quality
-Does the software provide features that surprise and delight first time users?
3. Reliability
-Does the software deliver all features and capabilities without failure?
4. Conformance
-Does the software conform to standards?
5. Durability
-Can the software be maintained without unintended side effects?
6. Serviceability
-Can the software be maintained in short time?
7. Aesthetics
-
8. Perception
-Set of prejudices that will influence your perception of quality
Garvin's Hard Factors
1. Factors that can be directly measured (bugs uncovered during testing)
2. Factors that can be measured only indirectly (usability or maintainability)
McCall's quality factors
3 important aspects
1. Operational characteristics
2. Ability to undergo change
3. Adaptability to new environments
, McCall's quality factors
1. Correctness
-Extent to which a program satisfies its specification and fulfils customers objectives
2. Reliability
-Extent to which a program can be expected to perform its intended function with required precision
3. Efficiency
-amount of computing resources required by a program to perform its function
4. Integrity
-extent to which access to software or data by unauthorized persons can be controlled
5. Usability
-Effort required to learn, operate, prepare input for, and interpret output of a program
6. Maintainability
-effort required to locate and fix errors in a program
7. Flexibility
-Effort required to modify an operational program
8. Testability
-effort required to test a program to ensure that it performs its intended function
9. Portability
-Effort required to transfer the program from one hardware and/or software system environment to
another
10. Interoperability
-Effort required to couple one system to another
ISO 9126 Quality Factors
-developed to identify key quality attributes for computer software
-6 Key quality attributes are identified. Each with its own set of sub-attributes
1. Functionality
-Degree to which the software satisfies the stated needs as indicated by Suitability, accuracy,
Interoperability, compliance and security
2. Usability
-Degree to which software is easy to use as indicated by Understandability, Learnability, Operability
3. Reliability
-Amount of time that the software is available for use as indicated by Maturity, Fault tolerance and
recoverability
4. Efficiency
-Degree to which software makes optimal use of system resources as indicated by Time and resource
behavior
5. Maintainability
-Degree to which repairs may be made to the software as indicated by analyzability, changeability,
Stability, Testability
6. Portability
-Ease with which the software can be transposed from one environment to another as indicated by
adaptability, installability, conformance, replaceability
Software quality dilemma
-If the software is crap, no one will buy it
-If you spend too much time and resources then you might miss the market window
-Strive for the middle ground
Good enough Software
-Delivers high-quality functions and features
-Manufacture hopes end users will overlook bugs because they are happy with other functionality
-Small companies should worry about their reputation
Cost of Quality
-No question that quality has a cost, but lack of quality also has a cost
-Cost of Quality includes all costs incurred in pursuit of quality-related activities and downstream costs of
lack of quality
-Cost of quality can be divided into costs associated with prevention, appraisal and failure
Prevention
-Cost of management activities required to plan and coordinate all quality control and quality assurance
activities
-test planning cost
Appraisal costs includes
-Activities to gain insight into product condition the "first time through " each process e.g. Cost of testing
and debugging
Failure costs
-Costs that would disappear if no errors appeared before shipping a product to customers
1. Internal failure cost
-when you detect an error in a product before shipping
2. External failure cost
-associated with defects found after the product has been shipped to the customer e.g. Complaint
resolution
Risks
-Low-quality software increases risks for both developer and end-user
Decisions
-Scheduling decisions
, IF D relies on A,B and C, Then D cannot be implemented until A,B,C are done
-Risk-oriented Decisions
You need to know what might go wrong so you can always plan ahead
Software Quality
-Results of good project management and solid software engineering practice
Four broad activities that help a software team achieve high software quality
1. Software engineering methods
2. Project management techniques
3. Quality control actions
4. Software Quality assurance
Software engineering methods
-Must understand the problem to be solved if you wish to build high-quality software
Project Management Techniques
-The project plan should include explicit techniques for quality and change management
Quality control
-Encompasses a set of software engineering actions that help to ensure that each work product meets its
quality goals
-Models are reviewed to ensure that they are complete and consistent
-Code may be inspected in order to uncover and correct errors before testing commences
Quality Assurance
-Establishes the infrastructure that support solid software engineering methods, rational project
management and quality control actions
Chapter 20
Technical review
-The primary role of technical reviews is to find errors during the process so that they do not become defects after the
software is released
Benefits of technical review
-Uncover errors early
Review Metrics
Preparation Effort(EP)
-the effort (hours) required to review a work product prior to the actual review meeting
Assessment Effort(Ea)
-The effort (hours) that is expected during the actual review
Rework Effort(Er)
-The effort(hours) that is dedicated to correcting errors uncovered during review
Work Product Size(WPS)
-A measure of the size of the work product that has been reviewed e.g. Number of lines of code
Minor errors found ERRminor
-The number of errors found that can be categorized as minor
Major errorsfound ERRmajor
-The number of errors that can be categorized as major
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller RamulongoMW. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $4.90. You're not tied to anything after your purchase.