Upload
valentine-gardner
View
218
Download
0
Embed Size (px)
Citation preview
Software Engineering
Software quality
Software quality
Software quality characteristics:
External: user is aware of. User cares about.
Internal: programmer is aware of. Programmer cares about. User does not care about.
Software quality
External software quality: Correctness. Usability. Efficiency. Reliability. Integrity. Adaptability. Accuracy. Robustness.
Software quality
Internal software quality: Maintainability. Flexibility. Portability. Reusability. Readability. Testability. Understandability.
Software quality
External software quality – synergy: + = help each other - = mess with each other O = indifferent
Correctness Usability Efficiency Reliability Integrity Adaptability Accuracy RobustnessCorrectness + O + + O O + -
Usability O + O O O + + OEfficiency - O + - - - - OReliability + O O + + O + -Integrity O O - + + O O O
Adaptability O O O O - + O +Accuracy + O - + O - + -
Robustness - + - - - + - +
Software quality
Software quality programme: Explicit software quality goals. Explicit quality assurance activity. Testing strategy. Software engineering guidelines. Informal technical reviews. Formal technical reviews. External audits.
Software quality
Development process for quality assurance:
Change-control procedures.
Measurability / measurement of results.
Prototyping.
Software quality
How to compare quality programmes:
Percentage of defects detected.
Cost of finding defects.
Cost of fixing defects.
Typically, empirical analysis.
Software quality
When to do quality assurance:
The earlier a defect is captured and fixed, the less expensive are its consequences.
Quality assurance should start together with the software project.
Software quality
General principle of software quality:
Improving quality reduces development costs.
Software quality
Quality assurance plan checklist: Have you identified specific quality
characteristics that are important to your project?
Have you made others aware of the project's quality objectives?
Have you differentiated between external and internal quality characteristics?
Have you thought about the ways in which some characteristics might compete with or complement others?
Software quality Quality assurance plan checklist:
Does your project call for the use of several different error-detection techniques suited to finding different kinds of errors?
Does your project include a plan to take steps to assure software quality during each stage of software development?
Is the quality measured in some way so that you can tell whether it is improving or degrading?
Does management understand that quality assurance incurs additional costs up front in order to save costs later?