Software Quality Engineering: Week-1
Software Quality Engineering: Week-1
Software Quality Engineering: Week-1
Week-1
What is Software?
–
Importance of Software Quality
Software is a major component of computer systems (about
80% of the cost) – used for
–communication (e.g. phone system, email system)
–health monitoring,
–transportation (e.g. automobile, aeronautics),
–economic exchanges (e.g. ecommerce),
–entertainment,
–etc.
Software defects are extremely costly in term of
–money
–reputation
–loss of life
McCall’s Quality Factors
• Three categories:
– Product Operation Factors
• How well it runs….
• Correctness, reliability, efficiency, integrity, and usability
– Product Revision Factors
• How well it can be changed, tested, and redeployed.
• Maintainability; flexibility; testability
– Product Transition Factors
• How well it can be moved to different platforms and interface with
other systems
• Portability; Reusability; Interoperability
McCall's software quality
factors model
Correctness
–
accuracy, completeness of required output upto-dateness,
–
availability of the information
Reliability
–
Minimum failure rate
Efficiency
resources needed to perform software function
Integrity
–
software system security, access rights
Usability
–
ability to learn, perform required task
Software Quality Factors
Maintainability
– effort to identify and fix software failures (modularity, documentation, etc)
Flexibilit
– degree of adaptability (to new customers, tasks, etc)
y
Testability
– support for testing (e.g. log files, automatic diagnostics, etc)
Portability
– adaptation to other environments (hardware, software)
Reusability
– use of software components for other projects
Interoperability
– ability to interface with other components/systems
Software Quality Challenges