12
Software Engineering Software quality

Software Engineering Software quality. Software quality characteristics: External: user is aware of. User cares about. Internal: programmer is aware

Embed Size (px)

Citation preview

Page 1: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

Software Engineering

Software quality

Page 2: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

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.

Page 3: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

Software quality

External software quality: Correctness. Usability. Efficiency. Reliability. Integrity. Adaptability. Accuracy. Robustness.

Page 4: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

Software quality

Internal software quality: Maintainability. Flexibility. Portability. Reusability. Readability. Testability. Understandability.

Page 5: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

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 - + - - - + - +

Page 6: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

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.

Page 7: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

Software quality

Development process for quality assurance:

Change-control procedures.

Measurability / measurement of results.

Prototyping.

Page 8: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

Software quality

How to compare quality programmes:

Percentage of defects detected.

Cost of finding defects.

Cost of fixing defects.

Typically, empirical analysis.

Page 9: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

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.

Page 10: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

Software quality

General principle of software quality:

Improving quality reduces development costs.

Page 11: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

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?

Page 12: Software Engineering Software quality. Software quality characteristics:  External: user is aware of. User cares about.  Internal: programmer is aware

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?