lecture 1 software reliability

16
ICT 312 Software Reliability & Quality Assurance Lecture Notes By: Anthony Angmor Lecturer, Faculty of Informatics Ghana Telecom University College ICT 312: Software Reliability and Quality Assurance Slide 1

Upload: donakomeah

Post on 28-Dec-2015

4 views

Category:

Documents


0 download

DESCRIPTION

Software Reliability and Quality assurance

TRANSCRIPT

Page 1: Lecture 1 Software Reliability

ICT 312Software Reliability & Quality

AssuranceLecture Notes

By: Anthony AngmorLecturer, Faculty of Informatics

Ghana Telecom University College

ICT 312: Software Reliability and Quality Assurance

Slide 1

Page 2: Lecture 1 Software Reliability

Ghana Telecom University CollegeTesano - Accra

Module:Software Reliability and Quality Assurance

Lecture 1: Introduction

ICT 312: Software Reliability and Quality Assurance

Slide 2

Page 3: Lecture 1 Software Reliability

ICT 312: Software Reliability and Quality Assurance

Slide 3

Module Aims / Objectives

Learning Outcome

Topics

Group Project Assignment

Introduction – SRE

Page 4: Lecture 1 Software Reliability

Module Aims / Objectives

• Primarily this module aims at:– introducing students to the principles underlying

software reliability.

– introducing students to the processes that underlie the quality into software development and providing students with the basis for managing quality in software products.

– enabling students to plan and implement software quality assurance as a systematic pattern of actions in the software life cycle.

ICT 312: Software Reliability and Quality Assurance

Slide 4

Page 5: Lecture 1 Software Reliability

Learning Outcome• On completion of this module, students should be

able to:– define Software Reliability and explain the importance of

the Software Reliability Measurements / Metric.

– Demonstrate understanding of the role of quality assurance in software projects.

– apply various metrics to measure the quality of software process and software products.

– develop quality plans, conduct quality audit and justify the need for quality assurance.

ICT 312: Software Reliability and Quality Assurance

Slide 5

Page 6: Lecture 1 Software Reliability

TOPICSIntroduction

Overview of Computer SoftwareSoftware Reliability: Definition

Importance of Software ReliabilityReliability Models

Tools and Methods of ReliabilitySoftware Quality

Quality Management Activities Quality Assurance Systems and Standards

Quality Assurance ActivitiesSoftware Safety and Security

ICT 312: Software Reliability and Quality Assurance

Slide 6

Page 7: Lecture 1 Software Reliability

GROUP PROJECT ASSIGNMENT• Identify any one Commercial-Of-The-Shelf (COTS)

software package of your choice OR Design your own small software and access its’ relative reliability using any three (3) standard reliability measurements/metrics.

• Suggest any five (5) ways in which the software package so referenced can be improved and made more reliable.

• Prepare a 10 minutes presentation on the identified software, including your findings to be delivered in class on Wednesday, 23 & 30 March, 2011 from 10:15am prompt.

ICT 312: Software Reliability and Quality Assurance

Slide 7

Page 8: Lecture 1 Software Reliability

Ghana Telecom University CollegeTesano - Accra

Course:Software Reliability and Quality Assurance

Lecture 1

ICT 312: Software Reliability and Quality Assurance

Slide 8

Page 9: Lecture 1 Software Reliability

ICT 312: Software Reliability and Quality Assurance

Slide 9

Introduction

Overview of Computer Software

What is meant by “Software Reliability”?

Distinction between “a Failure” and “a Fault”

Approaches to Reliability:Developer – Oriented

User – Oriented

Page 10: Lecture 1 Software Reliability

Introduction

• Computers and their software plays vital role in our lives in this computer age.

– e.g. TV’s, telephones etc. are having their analog and mechanical parts replaced by digitized CPUs and software.

– the computer industry is booming exponentially with a continuously lowering cost and improved processors and software-controlled systems.

ICT 312: Software Reliability and Quality Assurance

Slide 10

Page 11: Lecture 1 Software Reliability

Introduction (cont’d)

• Advanced technology has allowed software to permeate our lives, e.g.:– Comfortable and convenient lifestyle

– Increased use of computerized control systems in safety critical applications

• E.g. flight control, nuclear plant monitoring, robotic surgery, military applications, etc

• Software needs to be ‘‘sufficiently good’’ for its application

ICT 312: Software Reliability and Quality Assurance

Slide 11

Page 12: Lecture 1 Software Reliability

Introduction (cont’d)

• Software is developed by humans:– Humans are not perfect– There is a need to strive for perfection

• Can we expect “perfect software” in practice?

• Consumers have high expectations for software:– Realized the power of software– A huge market has developed

ICT 312: Software Reliability and Quality Assurance

Slide 12

Page 13: Lecture 1 Software Reliability

Essential Difficulties

• The goal of producing “perfect software” remains elusive [Brooks 86] due to:– Complexity:

• Functional complexity• Structural complexity• Code complexity, …

– Changing requirements

• Software faults introduced in all phases of the System Development Life-Cycle

R.A Brooks, A Robust Layered Control System for a Mobile Robot, IEEE Journal of Robotics and Automation, 2 (1), 1986 Slide 13

Page 14: Lecture 1 Software Reliability

Overview of Computer Software

ICT 312: Software Reliability and Quality Assurance

Slide 14

ComputerSoftware

ApplicationSoftware

SystemSoftware

SystemManagement

Programs

SystemDevelopment

Programs

GeneralPurpose

ApplicationPrograms

Application-Specific

Programs

•Web Browsers

•Electronic Mail

•Word Processing

•Spreadsheets

•ERP

•Customer R/ship Management

•Transaction Processing

•Operating Systems

•DBMS

•Application Servers

•System Utilities

•CASE packages

•Programming Editors

•Programming Language Translators

Performs info processing tasks for end users

Manages & supports computer systems and networks

Page 15: Lecture 1 Software Reliability

Characteristics of Comp Software

• It does not age, rust, wear-out, deform or crack.

• There are no environmental constraints for software to operate as long as the hardware processor it runs on can operate.

• It cannot be seen or touched, but it has a physical existence and is crucial to system functionality.

ICT 312: Software Reliability and Quality Assurance

Slide 15

Page 16: Lecture 1 Software Reliability

Software Tragedies

• Some people think that once a software can run correctly, it will forever be correct, but tragedies and chaos caused by softwareproves this thinking to be wrong.

• Software can make decisions, but can just be as unreliable (i.e. imperfect) as human beings.

ICT 312: Software Reliability and Quality Assurance

Slide 16