43
COEN 345 1 Software Testing and Validation COEN 345 Dr. Rachida Dssouli [email protected] http://www.ciise.concordia.ca Software Quality Assurance Overview

Download It

Embed Size (px)

Citation preview

Page 1: Download It

COEN 345 1

Software Testing and ValidationCOEN 345

Dr Rachida Dssoulidssouliciiseconcordiacahttpwwwciiseconcordiaca

Software Quality AssuranceOverview

COEN 345 2

Definitions Software Software quality Software quality assurance Errors faults failures Cause of errors

COEN 345 3

What is a softwareIEEE definition ISO 1997 sec 311 and

ISOIEC 9000-3 SEC 314

Software is Computer programs (Code) Procedures Documentation Data necessary for operating the software

system

COEN 345 4

Software quality

SQ- IEEE definition 1) The degree to which a system component

or process meets specified requirements 2) The degree to which a system component

or process meets customer or user needs or expectations

COEN 345 5

Software Quality Pressmanrsquos definition SQ is defined as

Conformance to explicitly functional stated functional and performance requirements explicitly documented development standards and implicit characteristics that are expected of all professionally developed software

This definition suggests 3 requirements to be met by the developer

Specific functional requirements (output) The software quality standards mentioned in the

contract Good Software Engineering Practices

COEN 345 6

Quality ProblemQuality Problem

Quality

Users Decision maker client

Decision makerprovider

Developers

software

Request

Benefits

IntermediateProducts

COEN 345 7

Quality Policy and Quality SystemQuality Policy and Quality System

Quality Policies

Quality system

Implements

Expressed and implicitRequirements

Product (quality)

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 2: Download It

COEN 345 2

Definitions Software Software quality Software quality assurance Errors faults failures Cause of errors

COEN 345 3

What is a softwareIEEE definition ISO 1997 sec 311 and

ISOIEC 9000-3 SEC 314

Software is Computer programs (Code) Procedures Documentation Data necessary for operating the software

system

COEN 345 4

Software quality

SQ- IEEE definition 1) The degree to which a system component

or process meets specified requirements 2) The degree to which a system component

or process meets customer or user needs or expectations

COEN 345 5

Software Quality Pressmanrsquos definition SQ is defined as

Conformance to explicitly functional stated functional and performance requirements explicitly documented development standards and implicit characteristics that are expected of all professionally developed software

This definition suggests 3 requirements to be met by the developer

Specific functional requirements (output) The software quality standards mentioned in the

contract Good Software Engineering Practices

COEN 345 6

Quality ProblemQuality Problem

Quality

Users Decision maker client

Decision makerprovider

Developers

software

Request

Benefits

IntermediateProducts

COEN 345 7

Quality Policy and Quality SystemQuality Policy and Quality System

Quality Policies

Quality system

Implements

Expressed and implicitRequirements

Product (quality)

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 3: Download It

COEN 345 3

What is a softwareIEEE definition ISO 1997 sec 311 and

ISOIEC 9000-3 SEC 314

Software is Computer programs (Code) Procedures Documentation Data necessary for operating the software

system

COEN 345 4

Software quality

SQ- IEEE definition 1) The degree to which a system component

or process meets specified requirements 2) The degree to which a system component

or process meets customer or user needs or expectations

COEN 345 5

Software Quality Pressmanrsquos definition SQ is defined as

Conformance to explicitly functional stated functional and performance requirements explicitly documented development standards and implicit characteristics that are expected of all professionally developed software

This definition suggests 3 requirements to be met by the developer

Specific functional requirements (output) The software quality standards mentioned in the

contract Good Software Engineering Practices

COEN 345 6

Quality ProblemQuality Problem

Quality

Users Decision maker client

Decision makerprovider

Developers

software

Request

Benefits

IntermediateProducts

COEN 345 7

Quality Policy and Quality SystemQuality Policy and Quality System

Quality Policies

Quality system

Implements

Expressed and implicitRequirements

Product (quality)

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 4: Download It

COEN 345 4

Software quality

SQ- IEEE definition 1) The degree to which a system component

or process meets specified requirements 2) The degree to which a system component

or process meets customer or user needs or expectations

COEN 345 5

Software Quality Pressmanrsquos definition SQ is defined as

Conformance to explicitly functional stated functional and performance requirements explicitly documented development standards and implicit characteristics that are expected of all professionally developed software

This definition suggests 3 requirements to be met by the developer

Specific functional requirements (output) The software quality standards mentioned in the

contract Good Software Engineering Practices

COEN 345 6

Quality ProblemQuality Problem

Quality

Users Decision maker client

Decision makerprovider

Developers

software

Request

Benefits

IntermediateProducts

COEN 345 7

Quality Policy and Quality SystemQuality Policy and Quality System

Quality Policies

Quality system

Implements

Expressed and implicitRequirements

Product (quality)

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 5: Download It

COEN 345 5

Software Quality Pressmanrsquos definition SQ is defined as

Conformance to explicitly functional stated functional and performance requirements explicitly documented development standards and implicit characteristics that are expected of all professionally developed software

This definition suggests 3 requirements to be met by the developer

Specific functional requirements (output) The software quality standards mentioned in the

contract Good Software Engineering Practices

COEN 345 6

Quality ProblemQuality Problem

Quality

Users Decision maker client

Decision makerprovider

Developers

software

Request

Benefits

IntermediateProducts

COEN 345 7

Quality Policy and Quality SystemQuality Policy and Quality System

Quality Policies

Quality system

Implements

Expressed and implicitRequirements

Product (quality)

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 6: Download It

COEN 345 6

Quality ProblemQuality Problem

Quality

Users Decision maker client

Decision makerprovider

Developers

software

Request

Benefits

IntermediateProducts

COEN 345 7

Quality Policy and Quality SystemQuality Policy and Quality System

Quality Policies

Quality system

Implements

Expressed and implicitRequirements

Product (quality)

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 7: Download It

COEN 345 7

Quality Policy and Quality SystemQuality Policy and Quality System

Quality Policies

Quality system

Implements

Expressed and implicitRequirements

Product (quality)

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 8: Download It

COEN 345 8

Quality Software Assurance IEEE definition

Quality assurance is 1 A planed and systematic pattern of all actions

necessary to provide adequate confidence that an item or product conforms to established technical requirements

2 A set of activities designed to evaluate the process by which the products are developed or manufactured

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 9: Download It

COEN 345 9

Software Quality Assurance (cont) SQA ndash expanded definition

A systematic planed set of actions necessary to provide adequate confidence that the software development process or the maintenance process of the software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within budgetary confines

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 10: Download It

COEN 345 10

Quality Control versus SQA

Quality Control (QC) is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify

Quality Assurance (QA) is meant to minimize the costs of quality by introducing a variety of activities throughout the development process and maintenance process in order to prevent the causes of errors detect them and correct them in the early stages of the development As a result quality assurance substantially reduces the rate of non-qualifying products

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 11: Download It

COEN 345 11

The Uniqueness of SQA

High complexity Invisibility of software Nature of the product development Production process Need for SQA methodologies and tools

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 12: Download It

COEN 345 12

Why do we care about Quality

Why do we care about Quality

Development cost Specification 6 Design 5 Coding 7 VampV (Testing) 15 Maintenance 67

Correction costamp source Req amp Specification 56 Design

24 Coding

10 Other 10

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 13: Download It

COEN 345 13

Relative cost of error correction

Rqm

ts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

1

10

100

1000R

qmts

Des

ign

Cod

e

Dev

Tes

t

Sys

Tes

t

Ope

ratio

n

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 14: Download It

COEN 345 14

Distinction between software errors faults and failures Software Error section of the code that are incorrect as a result

of grammatical logical or other mistakes made by a system analyst a programmer or another member of the software development team

Software Fault are software errors that causes the incorrect functioning of the software during a specific application

Software Failure software faults become software failures only when they are ldquoactivated

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 15: Download It

COEN 345 15

Causes of software errors Faulty requirements Client- developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non compliance with documentation and coding

instructions Shortcoming of the testing process Procedure errors Documentation errors

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 16: Download It

COEN 345 16

Cost of quality

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 17: Download It

COEN 345 17

Cost of Quality

Cost of quality --gt includes all costs incurred in the pursuit of qualityor perform quality related work

Quality cost includes- prevention cost

- quality planning- formal technical reviews- testing equipment- training

- appraisal cost - in-process and inter-process inspection- equipment calibration and maintenance- testing

- failure costinternal failure cost- rework repair and failure mode analysisexternal failure cost- complaint resolution- product return and replacement- help line support - warranty work

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 18: Download It

COEN 345 18

Views of quality

Business view ndash fitness for purpose timeliness customer satisfaction ndash does it sell ndash producing the right product at the right time for the right price ndash this is usually the ultimate basis of decision

Product view ndash functionality correctness performance usability ndash this is what we usually mean by quality Process view ndash efficiency cost amp schedule failures (rework) reuse learning work satisfaction ndash this is what process management is concerned about

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 19: Download It

COEN 345 19

Quality Concepts

Software quality assurance is an umbrella activity that is applied throughout the software processSQA encompasses(1) a quality management approach(2) effective software engineering technology(3) formal technical reviews(4) a multi-tiered testing strategy(5) document change control(6) software development standard and its control procedure(7) measurement and reporting mechanism

Quality refers to measurable characteristics of a softwareThese items can be compared based on a given standard

Two types of quality control- Quality design -gt the characteristics that designers specify for an item includes requirements specifications and the design of the system

- Quality of conformance -gt the degree to which the design specification are followed It focuses on implementation based on the design

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 20: Download It

COEN 345 20

Software Quality Assurance (SQA)bull SQA is a collection of activities during software development that

focus on

increasing the quality of the software being producedbull SQA includes

ndash Analysis design coding and testing methods and toolsndash Formal Technical reviews during software developmentndash A multi-tiered testing strategyndash Control of software documentation and the changes made to itndash Procedures to ensure compliance with software development standardsndash Software measurement and reporting mechanisms

bull SQA is often conducted by an independent group in the organization

Often this group has the final veto over the release of a software product

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 21: Download It

COEN 345 21

SQA Activities1 Application of Technical Methods

bull Tools to aid in the production of a high quality specificationie specification checkers and verifiersbull Tools to aid in the production of high-quality designsie design browsers checkers cross-references verifiersbull Tools to analyze source code for quality

2 Formal Technical ReviewsGroup analysis of a specification or design to discover errors

3 Software Testing4 Enforcement of standards

bull Specification and design standardsbull Implementation standards eg portabilitybull Documentation standardsbull Testing standards

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 22: Download It

COEN 345 22

SQA Activities5 Control of Change

bull Formal management of changes to the software and documentationbull Changes require formal request to approving authoritybull Approving authority makes decision on which changes get implemented and whenbull Programmers are not permitted to make unapproved changes to the softwarebull Opportunity to evaluate the impact and cost of changes before committing resourcesbull Evaluate effect of proposed changes on software quality

6 Measurementbull Ongoing assessment of software qualitybull Track quality changes as system evolvesbull Warn management if software quality appears to be degrading

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 23: Download It

COEN 345 23

SQA Activities7 Record Keeping and Reporting

bull Collect output and reports of SQA activitiesbull Disseminate reports to software managersbull Maintain archive of SQA reportsbull Maintain log of software development activity (especially testing) to satisfy legal requirementsbull Maintain institutional memory of the software development effort

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 24: Download It

COEN 345 24

SQA Group

Who involves quality assurance activitiesSoftware engineers project managers customers sale people SQA group

Engineers involved the quality assurance work- apply technical methods and measures- conduct formal technical review- perform well-planned software testing

The SQA grouprsquos role -gt serves as the customerrsquos in-house representativeassist the software engineering team in achieving high-quality

The SQA grouprsquos responsibility- quality assurance planning oversight record keeping analysis and reporting

The SQA grouprsquos tasks

- Prepare a SQA plan for a project- Participate in the development of the projectrsquos software process description- Review engineering activities to verify compliance with the defined process- Audits designated software work products to verify compliance the defined process- Ensure the deviations in software work and products according to a documented procedure- Records any noncompliance and reports to senior management

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 25: Download It

COEN 345 25

What experts say about quality

Two dominant views on software quality

1 Conformance and degree of satisfaction to defined specification

2 The products or services capability to meet customer expectations ndash explicitly or implicitly stated

1048708Experts Philip B Crosby W Edwards Deming Armand V Feigenbaum Joseph M Juran1048708 Walter A Shewhart1048708 Kaoru Ishikawa

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 26: Download It

COEN 345 26

McCallrsquos Quality Model

QualitySoftware

Product operation factors

Product revision factors

Product transition factors

CorrectnessReliabilityEfficiencyIntegrityUsability

MaintainabilityFlexibilityTestability

PortabilityReusabilityInteroperability

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 27: Download It

COEN 345 27

Quality modelsProduct operation

Correctness-Does it do what I wantReliability -Does it do it accurately all the timeEfficiency -Will it run on my machine as well as it canIntegrity -Is it secureUsability-Can I run it

Product revisionMaintainability-Can I fix itFlexibility-Can I change itTestability-Can I test it

Product transitionPortability-Will I be able to use on another machineReusability-Will I be able to reuse some of the softwareInteroperability -Will I be able to interface it with

another machine

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 28: Download It

COEN 345 28

Quality Models (cont) Product revision includes

maintainability (the effort required to locate and fix a fault in the program within its operating environment)

flexibility (the ease of making changes required by changes in the operating environment) and

testability (the ease of testing the program to ensure that it is error-free and meets its specification)

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 29: Download It

COEN 345 29

Quality Models (cont) Product transition is all about

portability (the effort required to transfer a program from one environment to another)

reusability (the ease of reusing software in a different context) and

interoperability (the effort required to couple the system to another system)

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 30: Download It

COEN 345 30

Quality Models (cont) Quality of product operations depends on

correctness (the extent to which a program fulfils its specification)

reliability (the systems ability not to fail) efficiency (further categorized into execution

efficiency and storage efficiency and generally meaning the use of resources eg processor time storage)

integrity (the protection of the program from unauthorized access) and

usability (the ease of the software)

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 31: Download It

COEN 345 31

Some Quality StandardsSome Quality Standards

SW DeliverableExt Quality

Development Int Quality

Offer Process Development

Tools

bull ISO 12119bull Z 67-133-1 bull ISO 9241 TTY

bull ISO 9126 SQbull Z67-130 PQLbull IEEE 829 DC

bull Z 67-142 PCTEbull ISO 14102 AGLbull IEEE 1209 CASE

DevelopmentActivities Development

ProcessQuality System

bull IEEE 1012 VampVbull Z 67-101 Projectbull IEEE 830 Spec

bull ISO 12207bull CMM bull MIL-Std 498

bull ISO9001bull ISO9000-3

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 32: Download It

COEN 345 32

Software Development Life Cycle SDLC model (~water fall) Prototyping model Spiral Model Advanced Spiral Model Object oriented Model

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 33: Download It

COEN 345 33

Structured development Structured development

Specification

Design

Coding

Test

Project Management

Verification ampValidation

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 34: Download It

COEN 345 34

Instantiation of standard processInstantiation of standard process

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse amp Training

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 35: Download It

COEN 345 35

Process ImprovementProcess Improvement

Specification

Design

Coding

Testing

Project Management

ConfigurationManagement

Document Management

Verificationamp Validation

Reuse Training

Metrics

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 36: Download It

COEN 345 36

Requirementsdefinition

Analysis

Design

Coding

System Tests

Operation andMaintenance

Installation andConversion

SDLC Models

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 37: Download It

COEN 345 37

The prototyping Model

Req determinationBy the costumer

Prototype Design

Prototype implementation

Prototype EvaluationBy customer

Req fulfilled

System Tests ampAcceptance tests

System Conversion

Demands for Corrections Changes and additions

System Operation and maintenance

Yes

No

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 38: Download It

COEN 345 38

Spiral Model An iterative process at each iteration the

following activities are performed Planning Risk analysis and resolution Engineering activities according to the stage of

the project design coding testing installation and release

Customer evaluation including comments changes and additional requirements etc

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 39: Download It

COEN 345 3949

Spirale CycleSpirale Cycle

Operational Prototype

1 2 3

Risk analysis

1

2

3Determine objectives

alternativesconstraints

RequirementsPlan life cycle

plan

I II

IIIIV

Concept ofOperation

Development plan Validation of

requirements

Detaileddesign

Coding

etc

Simulation models benchmarks

review

Planning

Evaluation by the customer

Engineering

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 40: Download It

COEN 345 40

The advanced Spiral Model The advanced Spiral model add extra emphasis

on communication and negotiation between the customer and the developer

It contains six activities that are carried out in each iteration Customerrsquos specification of requirements comments

and change demands Developerrsquos planning activities Developerrsquos risk analysis and resolution Developerrsquos Design activities Developerrsquos construction activities pertaining to coding

testing installation and release Customerrsquos evaluation

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 41: Download It

COEN 345 41

Requirementsdefinition

Object-orientedanalysis

Object orienteddesign

Reusability surveyOf components lib

InstallationAnd conversion

Operation andmaintenance

System tests

System construction

Component tests

Reusable Components

library

AvailabilityOf comp in Lib

Customerrsquosneeds

Req definition

Analysis and Design

Coding

Reusable componentIs available

Component is not available

Not accepted

accepted

Addition toLib

Development of a new component

The object oriented Model

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 42: Download It

COEN 345 42

Factors affecting intensity of QA activities in the development process The list of quality assurance activities to

be applied For each activity

Timing Type of quality assurance activity to be applied Who performs the activity and resource

required (development team department staff external QA team membershellip)

Resources required for removal of defects and introduction of changes

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)

Page 43: Download It

COEN 345 43

Factors affecting the required intensity of quality assurance activities Project Factors

Magnitude of the project Technical complexity and difficulty Extent of reusable components Severity of failure outcome if the project fails

Team Factors Professional Qualification of the team members Team acquaintance with the project and its experience

in the area Availability of staff members who professionally support

the team Familiarity with the team members ( percentage of new

staff members in the team)