Contents Introduction Introduction Software Development - - PowerPoint PPT Presentation

contents
SMART_READER_LITE
LIVE PREVIEW

Contents Introduction Introduction Software Development - - PowerPoint PPT Presentation

Contents Introduction Introduction Software Development Processes Software Development Processes Project Management Project Management Requirements Engineering Requirements Engineering Software


slide-1
SLIDE 1

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Contents

  • Introduction

Introduction

  • Software Development Processes

Software Development Processes

  • Project Management

Project Management

  • Requirements Engineering

Requirements Engineering

  • Software Construction

Software Construction

  • Group processes

Group processes Quality Assurance

What is Quality Assurance? Testing (Lecture 7) Planning Quality and Inspections (Lecture 8)

Software Management and Evolution

slide-2
SLIDE 2

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Last Time

slide-3
SLIDE 3

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Today - Quality Assurance

What is Quality Assurance? What is Quality?

slide-4
SLIDE 4

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

What is Quality Assurance?

Constructive vs. analytic approaches to QA Qualitative vs. quantitative quality

standards

Measurement

Derive qualitative factors from measurable

quantitative factors

Software measures (metrics)

QA is the combination of planned and unplanned activities to ensure the fulfillment of predefined quality standards.

slide-5
SLIDE 5

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Some Example Metrics

To measure efficiency

Time behaviour

  • Transactions per second
  • Response time
  • Screen refresh time

Resource behaviour

  • KBytes of executables
  • LOC
  • Number of processors

To measure usability

Training time Number of help frames

slide-6
SLIDE 6

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Some Example Metrics (cont.)

To measure reliability

MTTF (Mean Time To Failure) Availability

To measure robustness

Time to restart after a failure Probability of data corruption on failure

To measure portability

Number of target systems Percentage of target dependent statements

Measurement is necessary

slide-7
SLIDE 7

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

How To Measure Quality?

Quality Factor

Property/ Criteria Property/ Criteria Property/ Criteria

Metric Metric Metric

depends

  • n

determined by

Efficiency

Speed Size Response time in s LOC ...

subjective properties

  • bjective

measurements

slide-8
SLIDE 8

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Approaches to QA

Constructive Approaches

Syntax-directed editors Enforced coding guidelines Type systems Standards …

The usage of methods, languages, and tools that ensure the fulfillment of some quality factors.

slide-9
SLIDE 9

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Standards

Two types of standards

Product Process

Standards are important

Based on experience A framework for implementing the quality

assurance process

Assist in continuity

slide-10
SLIDE 10

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Standards (cont.)

How to follow them

Involve the software engineers Review and modify regulary Provide software tools to support standards

It takes time to develop standards

Base organisational standars on national and international

standards

  • ISO 9000, ...

Documentation standards

Documentation process standards Document standards Document interchange standards

slide-11
SLIDE 11

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Approaches to QA (cont.)

Software Process Improvement

The improvement of development processes to yield better products

slide-12
SLIDE 12

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Approaches to QA (cont.)

Analytic approaches

Inspections Static analysis tools (e.g. lint) Testing ...

The usage of methods, languages, and tools to observe the current quality level.

slide-13
SLIDE 13

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Quality is ...

… I know it when I see it … it suits the client/user … it conforms to the specification … it has some inherent quality … it depends on the price … it depends on the delivery date

slide-14
SLIDE 14

And Quality is …

Efficiency Reliability Easy to learn Functionality Flexibility I ncreased productivity Low costs Easy to use Readable code Good design Good documentation Few errors

Sponsor User Maintainer/modifier

Short time of delivery Easy to remember

slide-15
SLIDE 15

Quality Factors (ISO 9126)

Functionality

Replaceability Suitability Accuracy Interoperability Security Maturity Fault tolerance Recoverability Understandability Learnability Operability Time behavior Resource behavior Analyzability Changeability Stability Testability Adaptability Installability Conformance

Reliability Efficiency Usability Maintainability Portability

slide-16
SLIDE 16

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

The Quality Triangle

Different goals for

different projects and

  • rganizations

Medical equipment ATM Text editor

”Good Enough”

Software

Quality must be

measured goal-

  • riented

Lead time

(close delivery time)

Quality

(absense of errors)

Functionality

(number of “features”)

slide-17
SLIDE 17

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Error vs. Fault vs. Failure

Different types of faults

Different identification techniques Different testing techniques

Fault prevention and -detection strategies should

be based on expected fault profile

Individual differences

?!

human error fault failure can lead to can lead to

slide-18
SLIDE 18

Specification/ requirements Environment/ support Documen- tation Other Design Code

Fault origin: WHERE?

Missing Unclear Wrong Changed Better way

Fault mode: WHY? Fault type: WHAT?

Requirements

  • r

specifications Functionality HW interface SW interface User interface Functional description Test HW Test SW Integration SW Development tools Logic Computation Data handling Module interface/ implementation Standards (Inter-)Process communications Data definition Module design Logic description Error checking Standards

HP’s Fault Classification

slide-19
SLIDE 19

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Fault Profile of a HP Division

See [Pfleeger 98].

6% 19% 5% 4% 5% 32% 18% 11% Data handling Documentation Requirements Hardware Process/ interprocess Logic Computation Other code

slide-20
SLIDE 20

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Code Design Requirements ...

Improving Quality

Personnel Tools Budget ... Methods Management Accounting ...

Resources Products Processes

Ordinary testing Easy to measure

slide-21
SLIDE 21

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

The Message

Quality is relative Quality covers more than just code Establish a quality culture

slide-22
SLIDE 22

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Summary

What is Quality Assurance? What is Quality?

slide-23
SLIDE 23

12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Next time

  • Introduction

Introduction

  • Software Development Processes

Software Development Processes

  • Project Management

Project Management

  • Requirements Engineering

Requirements Engineering

  • Software Construction

Software Construction

  • Group processes

Group processes Quality Assurance

  • What is Quality Assurance?

What is Quality Assurance?

Testing (Lecture 7) Planning Quality and Inspections (Lecture 8)

Software Management and Evolution