Upload
softwarecentral
View
456
Download
0
Tags:
Embed Size (px)
Citation preview
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)