Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSc161 Software Quality Pete Sawyer & Alan Dix

Similar presentations


Presentation on theme: "CSc161 Software Quality Pete Sawyer & Alan Dix"— Presentation transcript:

1 CSc161 Software Quality Pete Sawyer & Alan Dix Email: sawyer@comp.lancs.ac.uk

2 CSc160 in context The CSc160 stream: Provides an introduction to software engineering Is intended for Computer Science majors and Computer Systems Engineers Has a close relationship with the CSc110 Java Programming stream

3 CSc160 structure Term 1 CSc161 Software Quality Term 2 CSc162 Programming in the Large Term 3 CSc163 Professional issues 1 lecture per week Occasional lab sessions as and when needed

4 Key course objectives The aim of CSc161 is to equip you with skills that enable you to engineer software At the end of the course, you should be able to: Use a number of techniques to ensure that your software is free from defects Develop efficient software Write software that is maintainable

5 Course text Software Engineering, 7 th edition, Ian Sommerville, Addison Wesley, ISBN 0321210263 This is a recommended purchase

6 Assessment One practical group-based exercise An extension of the CSC110 Java Programming exercise Involves putting into practice the techniques taught in CSc161 Given out in week 8, due in week 10 Exam in Summer term Questions will be based on some of this term’s suggested exercises

7 Expectations Each lecture has a set of objectives To meet the objectives, you will need to: Re-read the lectures notes Do suggested exercises Follow up any further reading It is your responsibility to undertake work to meet the objectives

8 Today’s objectives After today you should be able to: Define the term software engineering and explain why software engineering is important Explain what software quality means Give examples where software is used

9 What is software engineering? Software engineering is concerned with all aspects of software production from specifying requirements through to maintaining the system once it is in use Engineering involves applying established techniques to solve problems subject to constraints such as cost

10 Why is software engineering important? Software engineering aims to prevent low quality software Therac-25, 1985-87 A radiation therapy machine that caused 3 deaths by radiation overdose Cause: inadequate software testing 3 Mile Island, 1979 A partial meltdown of a nuclear reactor Cause: a badly designed user interface London Ambulance Dispatch System, 1992 The new computer controlled system failed on two occasions, resulting in delayed ambulances. People died unnecessarily Cause: poor project management

11 Why is software engineering important? Mars Climate Orbiter, 1999 A $125m spacecraft that has been assumed lost by NASA Cause: poor project management, inadequate testing USS Yorktown, 1998 The ship’s software control system shut down the propulsion system because of divide by zero instruction Cause: inadequate testing Denver Baggage Handling System, 1994 An overly complex system whose development overran, preventing Denver Airport opening on time. The total repair costs were 50% of the original budget - $200m Cause: inability of system to scale

12 What is software quality? Software quality can be defined in terms of 4 attributes: Maintainability Software should be written in a way that is easy to change Dependability This spans a range of characteristics including reliability, availability, security and safety Efficiency Software should not make wasteful use of resources like memory and processor time Usability Software must be usable, without undue effort, by the type of user for whom it is designed

13 CSc161 and software quality For this course, we look at a subset of quality attributes and examine practical techniques for developing software that exhibits these attributes Correct Maintainable Efficient TestingDebuggingStatic analysisProfiling

14 Suggested exercises Before next week’s lecture, discuss with other students what you think are the significant points raised in today’s Airbus video Read Chapter 1 of Software Engineering


Download ppt "CSc161 Software Quality Pete Sawyer & Alan Dix"

Similar presentations


Ads by Google