Presentation is loading. Please wait.

Presentation is loading. Please wait.

Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,

Similar presentations


Presentation on theme: "Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,"— Presentation transcript:

1 Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
9am to 11am on THURSDAY. Design Feedback on the Requirement Reviews

2 Managing Software Quality
COMP 208/214/215/216 Lecture 6 Managing Software Quality

3 Source Pressman – Software Engineering PART THREE. Esp. Chapters 14 and 16.

4 Quality What is software quality? One definition:
“Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software” (Pressman, Software Engineering, 1992) Requirements are the basis for measurement Standards are specified.

5 Features of Quality Software
Several classifications, with different degrees of abstraction In general Quality Software Meets the needs of its users Is reliable (does not fail) Is easy to maintain (correct, or change).

6 F.U.R.P.S. Functionality: functions it performs, their generality and security Usability: aesthetics, consistency, documentation Reliability: frequency and severity of failure, accuracy of output Performance: response time, resource consumption Supportability: can it be extended, adapted, corrected? This is one possible way to measure software quality. Different aspects should be measured.

7 Software Quality Factors - I
At the finest level of detail: Correctness - the extent to which the software satisfies its specification and fulfils customer objectives Reliability - the extent to which the system performs without malfunctions Efficiency - the amount of computer resources required to perform its functions. Another classification is based on McCall’s Quality Factors

8 Software Quality Factors - II
Integrity - the extent to which access to functions and data can be controlled Usability - the effort required to learn, operate, prepare input for and interpret output from, the software Maintainability - the effort required to locate and fix errors in operative software Testability - the effort required to ensure that the software performs its intended functions.

9 Software Quality Factors - III
Flexibility - the effort required to modify operational software Portability - the effort required to transfer software from one hardware configuration and/or software environment to another Re-usability - the extent to which software can be used in applications other that that for which it was produced Adaptability - the effort required to couple one system with another

10 Portability - can I use it on another machine?
Reusability - can components be used in other ways? Interoperability - does it interface with other systems? Maintainability - can I fix it? Flexibility - can I change it? Testability - can I test it? Product revision Product Transition Product Operations Correctness - does it do what I want? Reliability - does it always do it accurately? Efficiency - does it run as well as it can? Integrity - is it secure? Usability - is it designed for the user?

11 Quality Assurance QA attempts to ensure the process of software development results in good quality outputs. There are seven major activities: Application of a methodology Formal technical Reviews Testing Enforcement of Standards Control of change Measurement Record keeping and reporting.

12 Following a Method Ensures that all steps are completed
Builds in checks for various steps Produces a standard output: means that others can understand it, know what to expect Enables progress to be monitored Specifies deliverables and review points Connolly and Begg provides the method you should follow on this project.

13 Formal Reviews Confirm that the method is being followed
Ensure that documentation is in order Can identify problems before they become fixed into the product Result in intermediate outputs which can be used as a used as foundations for subsequent stages.

14 Testing System testing User testing
attempts to ensure correctness and reliability can identify efficiency problems User testing allows evaluation of the usability aspects attempts to ensure that the requirements are met

15 Standards Their purpose is to facilitate communication
A uniform mode of presentation makes things easier to understand and ensures inter-operability Standards are not necessarily the “right” way of doing things. Several alternatives may be equally good. But is is useful if everyone does things the same way Standards cover many things: Documentation to be produced, notation for diagrams, coding conventions, etc.

16 Change Control Any change can introduce errors
It is important to have a change control process To keep a version before the changes, so they can be rolled-back if necessary To incorporate a change once it is made satisfactorily So that simultaneous changes do not conflict.

17 Measurement and Records
Where possible quality factors should be measured Nothing is perfect, but we need an idea of how imperfect it is Record keeping Makes the process transparent Enables audit, and reference back Results in a portfolio describing the development process.

18 Version Control Throughout the project you will be developing documentation and software It is important that an all times there is a definitive version. If two people make different changes, and we have two new versions - which one will be taken forward? If you need to make a change you want to know that you are using the latest version If a change goes wrong, you need to be able to return to the correct version.

19 Ownership Someone needs to “own” the current version at all times.
They can then track who is doing what to it They can supply the current version if required They can agree to incorporate changes to produce the next version, or accept a changed version as the next version.

20 A Suggested Procedure Identify independent components (both documentation and software) For each such component: Make someone its owner That owner should at all times have a copy of the current version If someone else needs to make a change Give that person a copy Let no one else have a copy until the new version is supplied When the new version is ready, make the new version the current version and archive the old version.

21 Summary Software quality covers a large number of factors
Following a method is the key to quality assurance: it specifies what the the deliverables are, and the form they should take Each deliverable can be subjected to appropriate checks and reviews Version control is essential.


Download ppt "Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,"

Similar presentations


Ads by Google