SlideShare a Scribd company logo
1 of 26
OHT 7.1
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Chapter 7.1
OHT 7.2
Galin, SQA from theory to implementation © Pearson Education Limited 2004
• Software development methodologies:
- The software development life cycle (SDLC) model
- The prototyping model
- The spiral model
- The object-oriented model
• Factors affecting intensity of SQA activities
• Verification, validation and qualification
• Development and quality plans for small and for internal
projects
• A model for SQA defect removal effectiveness and cost
Chapter 7
OHT 7.3
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Introduction
•  We will start off talking about (in some
cases reviewing) popular development
models
• Will switch to discussion how SQA
activities are handled within the
development process, and
• Factors that need to be considered before
applying these activities…
• So, why this approach?
OHT 7.4
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Introduction
• Why discuss the models?
• Answer: They represent the framework of a
disciplined approach to development.
– Have milestones, deliverables, constraints, etc.
• SQA must take place in conjunction with the
completing of these activities or looking at the
work products produced from these activities.
• Need to understand the models before we can
produce plans that are integrated into these
models.
OHT 7.5
Galin, SQA from theory to implementation © Pearson Education Limited 2004
1. Classic and Other Software Development
Methodologies
• Will discuss
– The Software Development Life Cycle (SDLC)
– The prototyping model
– The spiral model
– The OO model
OHT 7.6
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The SDLC
• The ‘classic mode.’
– Still in WIDE use today.
– Captures the major building blocks in development
– Linear sequence
– Highly structured; plan-driven; Heavy-weight process
– Product delivered for evaluation and deployment at the
end of development and testing
– Big bang approach
– Used for major projects of length
– But serves as a framework for other models…
OHT 7.7
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Prototyping Model
• Replaces some of the parts of the SDLC with an
evolutionary and iterative process.
• Software prototypes are repeatedly provided to
customer for evaluation and feedback.
– Primarily iterate design and implementation.
– Development team provided requirements.
• Ultimately, the product reaches a satisfactory
completion.
• Then, the remainder of the process is carried out
in the context of another model, such as SDLC
OHT 7.8
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Spiral Model
• Uses an iterative approach designed to address each phases in
development by obtaining customer comments and change,
risk analysis, and resolution.
• The spiral model typically has a ‘spiral’ for each of the
traditional development phases.
• Within a cycle, specific engineering (design, development, etc.)
can take place using any other models, like SDLC, prototyping,..
• The Spiral Model (Barry Boehm) is a risk-centered
development model where each spiral includes major risk
activities / assessments.
• Was developed after SDLC in response to delayed risk in SDLC
• As the SDLC, it is considered a heavy-weight, plan-driven
methodology and is highly structured.
OHT 7.9
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The Object-Oriented Model
• Emphasis here is re-usability via reusable
objects and components.
• Component-based software development.
• For non-available components, developer may
– prototype needed modules,
– use an SDLC approach,
– purchase libraries of objects,
– develop ‘his’ own, etc.
OHT 7.10
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Now, in a bit more detail…
OHT 7.11
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The SDLC
• Requirements
Definition: done by
customers
• Analysis: analyze
requirements to form an
initial software model
• Design: Detailed
definition of
inputs/outputs and
processes including data
structures, software
structure, etc.
OHT 7.12
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The SDLC
• Coding: Design
translated into code.
– Coding includes SQA
activities such as
inspections, unit tests and
integration tests
– Many takeoffs from this:
These tests done by
developers: individual
(unit), group or team
(integration tests….)
OHT 7.13
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The SDLC
• System Tests: Goal: to
discover errors / correct
errors to achieve an
acceptable level of
quality. Carried out by
developers prior to
delivery.
• Sometimes ‘acceptance
tests’ carried out by
customer or in
conjunction with
developer
OHT 7.14
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The SDLC
• Installation / Conversion:
– After testing, system is
installed and/or replaces an
existing system;
– Requires software / data
conversion
– Important to not interrupt
daily activities during
conversion process.
• Install incrementally, run in
parallel; turn switch and
live with it, etc.
OHT 7.15
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The SDLC
• Operations and
Maintenance:
– Hopefully done for years.
– Maintenance:
• Corrective
• Adaptive
• Perfective
• Lots of variations to the
classic SDLC many in
response to problems….
• Notice the feedback
loops?
OHT 7.16
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 7.17
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 7.18
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The Prototyping Model
• One main idea behind prototyping is for the
development of fast prototypes and
customer availability for feedback.
• Often prototyping tools are used to help
• Developers respond to feedback and add
additional parts as application evolves into
an acceptable product.
• Recognize this process can be inserted into
the SDLC or other models.
OHT 7.19
Galin, SQA from theory to implementation © Pearson Education Limited 2004
REQUI REMENTS
DETERMI NATI ON
BY CUSTOMER
PROTOTYPE
DESI GM
PROTOTYPE
I MPLEMENTATI ON
SYSTEM CONVERSI ON
PROTOTYPE
EVALUATI ON
BY CUSTOMER
SYSTEM OPERATI ON
AND MAI NTENANCE
REQUI REMENTS FOR
CORRECTI ONS, CHANGES
AND ADDI TI ONS
REQUI REMENTS
FULFI LLED ?
SYSTEM TESTS AND
ACCEPTANCE TESTS
NO
YES
A good approach for small to
medium-sized projects.
Very important: customer involvement.
OHT 7.20
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Prototyping Model - more
• Advantages (book)
– Shorter development process
– Substantial savings in development resources (time)
– Better fit to customer requirements and reduced risk
of project failure
– Easier and faster user comprehension of new system
• Disadvantages
– Less flexibility and adaptability to changes and
additions
– Reduced preparation for unexpected instances of
failure
OHT 7.21
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The Spiral Model
• A heavy-weight, plan-driven, highly-
structured approach for large projects.
• Especially designed for those with higher
chances of failure.
• Combines iterative model, emphasizes risk
assessment, customer participation,
prototyping, and more
• Definitely an iterative process.
OHT 7.22
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Source: After Boehm 1988 (© 1988 IEEE)
Can see each spiral
includes:
Planning
Risk Analysis / Resolution
Engineering activities
(design, code, test…)
Customer Evaluation
(errors, changes, new
requirements…)
OHT 7.23
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Source: After Boehm 1998 (© 1988 IEEE)
Revised Spiral Model provides
customer with improved chances
for changes;
developer better chances to stay
within budget and time.
Done by increased emphasis on
customer participation and
on engineering activities.
Extra sections in spiral
dedicated to customer actions
and developer engineering
OHT 7.24
Galin, SQA from theory to implementation © Pearson Education Limited 2004
The Object-Oriented Model
• Easy integration of existing software modules (objects
/ components) into newly developed software systems.
• Process begins with OOA and OOD
• Then, acquire suitable components from reusable
software component libraries (or purchase them).
• Otherwise, develop as needed.
• Can involve adding to repertoire of library components.
• Economy: integrating reusable components; much
lower cost than developing
• Improved quality – using tested components
• Shorter development times: integration of reusable
software components.
OHT 7.25
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 7.26
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Now, onto
Factors Affecting the Intensity of Quality
Assurance Activities within the Development
Process…

More Related Content

Similar to CEN6070-Chapter7.1.ppt

Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecycleLee Barnes
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management CUPE_Projects
 
#Fundamental understanding of agile - By SN Panigrahi
#Fundamental understanding of agile - By SN Panigrahi#Fundamental understanding of agile - By SN Panigrahi
#Fundamental understanding of agile - By SN PanigrahiSN Panigrahi, PMP
 
testing throughout the software life cycle
testing throughout the software life cycletesting throughout the software life cycle
testing throughout the software life cycleRiat Rayendra
 
Best practices for fusion hcm cloud implementation
Best practices for fusion hcm cloud implementationBest practices for fusion hcm cloud implementation
Best practices for fusion hcm cloud implementationmohamed refaei
 
Agile Load Testing in the Real World
Agile Load Testing in the Real WorldAgile Load Testing in the Real World
Agile Load Testing in the Real WorldLee Barnes
 
Phases in Agile Development- 9.pptx
Phases in Agile Development- 9.pptxPhases in Agile Development- 9.pptx
Phases in Agile Development- 9.pptxAlishaFida1
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSuresh Koujalagi
 
IT1204- Software Engineering - L2
IT1204- Software Engineering - L2IT1204- Software Engineering - L2
IT1204- Software Engineering - L2BakerTilly US
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.pptloloka1
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
An Introduction to Agile
An Introduction to AgileAn Introduction to Agile
An Introduction to AgileDavidMcLachlan1
 

Similar to CEN6070-Chapter7.1.ppt (20)

Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
PM_210 (1).pptx
PM_210 (1).pptxPM_210 (1).pptx
PM_210 (1).pptx
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management
 
System Development Life Cycle (SDLC) - Part II
System Development Life Cycle (SDLC) - Part IISystem Development Life Cycle (SDLC) - Part II
System Development Life Cycle (SDLC) - Part II
 
#Fundamental understanding of agile - By SN Panigrahi
#Fundamental understanding of agile - By SN Panigrahi#Fundamental understanding of agile - By SN Panigrahi
#Fundamental understanding of agile - By SN Panigrahi
 
testing throughout the software life cycle
testing throughout the software life cycletesting throughout the software life cycle
testing throughout the software life cycle
 
ID, UP, & RUP.pptx
ID, UP, & RUP.pptxID, UP, & RUP.pptx
ID, UP, & RUP.pptx
 
Best practices for fusion hcm cloud implementation
Best practices for fusion hcm cloud implementationBest practices for fusion hcm cloud implementation
Best practices for fusion hcm cloud implementation
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Agile Load Testing in the Real World
Agile Load Testing in the Real WorldAgile Load Testing in the Real World
Agile Load Testing in the Real World
 
Phases in Agile Development- 9.pptx
Phases in Agile Development- 9.pptxPhases in Agile Development- 9.pptx
Phases in Agile Development- 9.pptx
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
IT1204- Software Engineering - L2
IT1204- Software Engineering - L2IT1204- Software Engineering - L2
IT1204- Software Engineering - L2
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014
 
An Introduction to Agile
An Introduction to AgileAn Introduction to Agile
An Introduction to Agile
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

CEN6070-Chapter7.1.ppt

  • 1. OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1
  • 2. OHT 7.2 Galin, SQA from theory to implementation © Pearson Education Limited 2004 • Software development methodologies: - The software development life cycle (SDLC) model - The prototyping model - The spiral model - The object-oriented model • Factors affecting intensity of SQA activities • Verification, validation and qualification • Development and quality plans for small and for internal projects • A model for SQA defect removal effectiveness and cost Chapter 7
  • 3. OHT 7.3 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Introduction •  We will start off talking about (in some cases reviewing) popular development models • Will switch to discussion how SQA activities are handled within the development process, and • Factors that need to be considered before applying these activities… • So, why this approach?
  • 4. OHT 7.4 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Introduction • Why discuss the models? • Answer: They represent the framework of a disciplined approach to development. – Have milestones, deliverables, constraints, etc. • SQA must take place in conjunction with the completing of these activities or looking at the work products produced from these activities. • Need to understand the models before we can produce plans that are integrated into these models.
  • 5. OHT 7.5 Galin, SQA from theory to implementation © Pearson Education Limited 2004 1. Classic and Other Software Development Methodologies • Will discuss – The Software Development Life Cycle (SDLC) – The prototyping model – The spiral model – The OO model
  • 6. OHT 7.6 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The SDLC • The ‘classic mode.’ – Still in WIDE use today. – Captures the major building blocks in development – Linear sequence – Highly structured; plan-driven; Heavy-weight process – Product delivered for evaluation and deployment at the end of development and testing – Big bang approach – Used for major projects of length – But serves as a framework for other models…
  • 7. OHT 7.7 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Prototyping Model • Replaces some of the parts of the SDLC with an evolutionary and iterative process. • Software prototypes are repeatedly provided to customer for evaluation and feedback. – Primarily iterate design and implementation. – Development team provided requirements. • Ultimately, the product reaches a satisfactory completion. • Then, the remainder of the process is carried out in the context of another model, such as SDLC
  • 8. OHT 7.8 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Spiral Model • Uses an iterative approach designed to address each phases in development by obtaining customer comments and change, risk analysis, and resolution. • The spiral model typically has a ‘spiral’ for each of the traditional development phases. • Within a cycle, specific engineering (design, development, etc.) can take place using any other models, like SDLC, prototyping,.. • The Spiral Model (Barry Boehm) is a risk-centered development model where each spiral includes major risk activities / assessments. • Was developed after SDLC in response to delayed risk in SDLC • As the SDLC, it is considered a heavy-weight, plan-driven methodology and is highly structured.
  • 9. OHT 7.9 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The Object-Oriented Model • Emphasis here is re-usability via reusable objects and components. • Component-based software development. • For non-available components, developer may – prototype needed modules, – use an SDLC approach, – purchase libraries of objects, – develop ‘his’ own, etc.
  • 10. OHT 7.10 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Now, in a bit more detail…
  • 11. OHT 7.11 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The SDLC • Requirements Definition: done by customers • Analysis: analyze requirements to form an initial software model • Design: Detailed definition of inputs/outputs and processes including data structures, software structure, etc.
  • 12. OHT 7.12 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The SDLC • Coding: Design translated into code. – Coding includes SQA activities such as inspections, unit tests and integration tests – Many takeoffs from this: These tests done by developers: individual (unit), group or team (integration tests….)
  • 13. OHT 7.13 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The SDLC • System Tests: Goal: to discover errors / correct errors to achieve an acceptable level of quality. Carried out by developers prior to delivery. • Sometimes ‘acceptance tests’ carried out by customer or in conjunction with developer
  • 14. OHT 7.14 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The SDLC • Installation / Conversion: – After testing, system is installed and/or replaces an existing system; – Requires software / data conversion – Important to not interrupt daily activities during conversion process. • Install incrementally, run in parallel; turn switch and live with it, etc.
  • 15. OHT 7.15 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The SDLC • Operations and Maintenance: – Hopefully done for years. – Maintenance: • Corrective • Adaptive • Perfective • Lots of variations to the classic SDLC many in response to problems…. • Notice the feedback loops?
  • 16. OHT 7.16 Galin, SQA from theory to implementation © Pearson Education Limited 2004
  • 17. OHT 7.17 Galin, SQA from theory to implementation © Pearson Education Limited 2004
  • 18. OHT 7.18 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The Prototyping Model • One main idea behind prototyping is for the development of fast prototypes and customer availability for feedback. • Often prototyping tools are used to help • Developers respond to feedback and add additional parts as application evolves into an acceptable product. • Recognize this process can be inserted into the SDLC or other models.
  • 19. OHT 7.19 Galin, SQA from theory to implementation © Pearson Education Limited 2004 REQUI REMENTS DETERMI NATI ON BY CUSTOMER PROTOTYPE DESI GM PROTOTYPE I MPLEMENTATI ON SYSTEM CONVERSI ON PROTOTYPE EVALUATI ON BY CUSTOMER SYSTEM OPERATI ON AND MAI NTENANCE REQUI REMENTS FOR CORRECTI ONS, CHANGES AND ADDI TI ONS REQUI REMENTS FULFI LLED ? SYSTEM TESTS AND ACCEPTANCE TESTS NO YES A good approach for small to medium-sized projects. Very important: customer involvement.
  • 20. OHT 7.20 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Prototyping Model - more • Advantages (book) – Shorter development process – Substantial savings in development resources (time) – Better fit to customer requirements and reduced risk of project failure – Easier and faster user comprehension of new system • Disadvantages – Less flexibility and adaptability to changes and additions – Reduced preparation for unexpected instances of failure
  • 21. OHT 7.21 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The Spiral Model • A heavy-weight, plan-driven, highly- structured approach for large projects. • Especially designed for those with higher chances of failure. • Combines iterative model, emphasizes risk assessment, customer participation, prototyping, and more • Definitely an iterative process.
  • 22. OHT 7.22 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Source: After Boehm 1988 (© 1988 IEEE) Can see each spiral includes: Planning Risk Analysis / Resolution Engineering activities (design, code, test…) Customer Evaluation (errors, changes, new requirements…)
  • 23. OHT 7.23 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Source: After Boehm 1998 (© 1988 IEEE) Revised Spiral Model provides customer with improved chances for changes; developer better chances to stay within budget and time. Done by increased emphasis on customer participation and on engineering activities. Extra sections in spiral dedicated to customer actions and developer engineering
  • 24. OHT 7.24 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The Object-Oriented Model • Easy integration of existing software modules (objects / components) into newly developed software systems. • Process begins with OOA and OOD • Then, acquire suitable components from reusable software component libraries (or purchase them). • Otherwise, develop as needed. • Can involve adding to repertoire of library components. • Economy: integrating reusable components; much lower cost than developing • Improved quality – using tested components • Shorter development times: integration of reusable software components.
  • 25. OHT 7.25 Galin, SQA from theory to implementation © Pearson Education Limited 2004
  • 26. OHT 7.26 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Now, onto Factors Affecting the Intensity of Quality Assurance Activities within the Development Process…