CSc161 Software Quality Pete Sawyer & Alan Dix

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Advertisements

CISB213 Human Computer Interaction Introduction and Overview.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Motivation Why study Software Engineering ?. What is Engineering ? 2 Engineering (Webster) – The application of scientific and mathematical principles.
SWE Introduction to Software Engineering
©Ian Sommerville 2000Software Engineering, 6th edition Slide 1 Introduction l Getting started with software engineering l Objectives To introduce software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering, COMP201 Slide 1 Software Engineering COMP 201 Lecturer: Dr. Igor Potapov Ashton Building, room 3.15
Software Engineering COMP 201
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
An Introduction to Software Engineering
Frequently asked questions about software engineering
Lecture 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
Chapter 1 - Introduction Lecture 1. Way back when... “The name ‘software engineering’ was proposed in 1969 at a NATO conference to discuss software development.
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Chapter 1- Introduction
USS Yorktown (1998) A crew member of the guided-missile cruiser USS Yorktown mistakenly entered a zero for a data value, which resulted in a division by.
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.
Software Engineering Methodologies (Introduction)
Study of Human factors in Software Engineering CSC 532 Sree Harsha Pothireddy.
SOFTWARE ENGINEERING Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Chapter 1 Introduction.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
CS 430/530 Formal Semantics Paul Hudak Yale University Department of Computer Science Lecture 1 Course Overview September 6, 2007.
1 Software Engineering, 7th edition. Chapter 1 Courtesy: ©Ian Sommerville 2004 Sep 02, 2008 Lecture # 1 An Introduction to Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
An Introduction to Software Engineering. What is Software?
This chapter is extracted from Sommerville’s slides. Text book chapter
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction.
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
King Saud UniversityCSC112 - First Semester CSC 112 Java Programming I Introduction.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Figures – Chapter 1. Figure 1.1 Frequently asked questions about software engineering QuestionAnswer What is software?Computer programs and associated.
Introduction to Software Engineering Syed Salman Ali B.E, MBA ( MIS, Mktg), PMP.
King Saud University1 CSC 112 Java Programming I Introduction.
1 Introduction to Software Engineering Wen-Yang Lin Dept. of Computer Science and Information Engineering National University of Kaohsiung February, 2007.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
Human Computer Interaction Introduction. Subject : Learning Outcomes At the end of this semester, the student should be able to: Identify the basic concept.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.
Advanced Programing practices
CompSci 280 S Introduction to Software Development
INTRODUCTION The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned.
CS281 – Introduction to Software Engineering Chapter1: Introduction
CSc 1302 Principles of Computer Science II
Chapter 1- Introduction
Frequently asked questions about software engineering
CS281 – Introduction to Software Engineering Chapter1: Introduction
Advanced Programing practices
Presentation transcript:

CSc161 Software Quality Pete Sawyer & Alan Dix

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

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

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

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

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

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

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

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

Why is software engineering important? Software engineering aims to prevent low quality software Therac-25, 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

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

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

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

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