SlideShare a Scribd company logo
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 1
Chapter 2
 Process Models
Slide Set to accompany
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman
For non-profit educational use only
May be reproduced ONLY for student use at the university level when used in conjunction
with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is
prohibited without the express written permission of the author.
All copyright information MUST appear if these slides are posted on a website for student
use.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 2
A Generic Process Model
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 3
Process Flow
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 4
Identifying a Task Set
 A task set defines the actual work to be done to
accomplish the objectives of a software
engineering action.
 A list of the task to be accomplished
 A list of the work products to be produced
 A list of the quality assurance filters to be applied
 Activity. (communication )
 Action (“requirements gathering”)
 Goal (requirements gathering is to understand what various stakeholders want
from the software that is to be built.)
 For a small, relatively simple project, the task set for requirements gathering
might look like this:
 1. Make a list of stakeholders for the project.
 2. Invite all stakeholders to an informal meeting.
 3. Ask each stakeholder to make a list of features and functions required.
 4. Discuss requirements and build a final list.
 5. Prioritize requirements.
 6. Note areas of uncertainty.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 5
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 6
Process Assessment and Improvement
 Standard CMMI Assessment Method for Process Improvement
(SCAMPI) — provides a five step process assessment model that
incorporates five phases: initiating, diagnosing, establishing, acting and
learning.
 CMM-Based Appraisal for Internal Process Improvement (CBA
IPI)—provides a diagnostic technique for assessing the relative
maturity of a software organization; uses the SEI CMM as the basis for
the assessment [Dun01]
 SPICE—The SPICE (ISO/IEC15504) standard defines a set of
requirements for software process assessment. The intent of the
standard is to assist organizations in developing an objective
evaluation of the efficacy of any defined software process. [ISO08]
 ISO 9001:2000 for Software—a generic standard that applies to any
organization that wants to improve the overall quality of the products,
systems, or services that it provides. Therefore, the standard is directly
applicable to software organizations and companies. [Ant06]
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 7
Prescriptive Models
strive for structure and order
 Prescriptive process models advocate an orderly
approach to software engineering
That leads to a few questions …
 If prescriptive process models strive for structure and
order, are they inappropriate for a software world that
thrives on change?
 Yet, if we reject traditional process models (and the
order they imply) and replace them with something less
structured, do we make it impossible to achieve
coordination and coherence in software work?
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 8
The Waterfall Model
classic life cycle, suggests a systematic,sequential approach
Communication
Planning
Modeling
Construction
Deployment
analysis
design
code
test
project init iat ion
requirement gat hering estimating
scheduling
tracking
delivery
support
f eedback
 when well-defined adaptations or enhancements to an existing
system must be made (e.g., an adaptation to accounting software that
has been mandated because of changes to government regulations).
 healthcare, control system for nuclear facilities, space shuttles etc
Advantages of waterfall
model
 This model is simple and easy to understand
and use.
 It is easy to manage due to the rigidity of the
model – each phase has specific deliverables
and a review process.
 In this model phases are processed and
completed one at a time. Phases do not
overlap.
 Waterfall model works well for smaller projects
where requirements are clearly defined and
very well understood.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 9
Disadvantages of waterfall
model
 Once an application is in the testing stage, it is very
difficult to go back and change something that was not
well-thought out in the concept stage.
 No working software is produced until late during the life
cycle.
 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented
projects.
 Poor model for long and ongoing projects.
 Not suitable for the projects where requirements are at a
moderate to high risk of changing.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 10
When to use Waterfall
Model
 This model is used only when the requirements
are very well known, clear and fixed.
 Product definition is stable.
 Technology is understood.
 There are no ambiguous requirements
 Ample resources with required expertise are
available freely
 The project is short.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 11
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 12
The V-Model (Verification and
Validation model.)
The V-Model
 The V-Model is an extension of the waterfall
model and is based on the association of a
testing phase for each corresponding
development stage. This means that for every
single phase in the development cycle, there is
a directly associated testing phase. This is a
highly-disciplined model and the next phase
starts only after completion of the previous
phase.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 13
The Incremental Model
 initial software requirements are reasonably
well defined
 but the overall scope of the development effort
precludes a purely linear process
 compelling need to provide a limited set of
software functionality to users quickly
 The incremental model combines elements of
linear and parallel process flows
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 14
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 15
The Incremental Model
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analysis
design code
t est
increment # 1
increment # 2
delivery of
1st increment
delivery of
2nd increment
delivery of
nt h increment
increment # n
project calendar time
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analysis
design code
t est
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analysis
design
code
t est
The Incremental Model
 For example, word-processing software
 When an incremental model is used, the first
increment is often a core product.
 That is, basic requirements are addressed but
many supplementary features (some known,
others unknown) remain undelivered.
 The core product is used by the customer
 (or undergoes detailed evaluation).
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 16
The Incremental Model
 Incremental development is particularly useful
when staffing is unavailable for a complete
implementation by the business deadline that
has been established for the project.
 In addition, increments can be planned to
manage technical risks.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 17
Evolutionary Models
 Software, like all complex systems, evolves over a
period of time.
 Evolutionary models are iterative.
 Factors:
 Business and product requirements often change as development
proceeds, making a straight line path to an end product unrealistic;
 tight market deadlines; a limited version
 a set of core product or system requirements is well understood
They are characterized in a manner that enables you to develop
increasingly more complete versions of the software
18
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 19
Evolutionary Models: Prototyping
Construction
of prototype
Communicat ion
Quick plan
Const ruct ion
of
prot ot ype
Mode ling
Quick de sign
De live ry
& Fe e dback
Deployment
communication
Quick
plan
Modeling
Quick design
Construction
of prototype
Deployment
delivery &
feedback
Often, a customer
defines a set of
general
objectives for
software,
but does not
identify detailed
requirements for
functions and
features
Evolutionary Models: Prototyping
 the prototyping paradigm assists you and other
stakeholders to better understand what is to be built
when requirements are fuzzy.
 “quick design” focuses on a representation of those
aspects of the software that will be visible to end users
(e.g., human interface layout or output display formats).
 The quick design leads to the construction of a
prototype.
 Ideally, the prototype serves as a mechanism for
identifying software requirements.
 The prototype can serve as “the first system.” built as
“throwaways,” others are evolutionary
20
Evolutionary Models:
Prototyping
 Problems:
 Stakeholders see what appears to be a working version of the
software
 As a software engineer, you often make implementation
compromises in order to get a prototype working quickly.
 The key is to define the rules of the game at the
beginning; that is, all stakeholders should agree that the
prototype is built to serve as a mechanism for defining
requirements. It is then discarded (at least in part), and
the actual software is engineered with an eye toward
quality.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 21
 couples the iterative nature of prototyping with the
controlled and systematic aspects of the waterfall model
 Provides the potential for rapid development of
increasingly more complete versions of the software
 Anchor point milestones
 Each pass through the planning region results in
adjustments to the project plan.
 Cost, schedule, and the project manager adjusts the
planned number of iterations required to complete the
software.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 22
Evolutionary Models: The Spiral
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 23
Evolutionary Models: The Spiral
communication
planning
modeling
construction
deployment
delivery
feedback
start
analysis
design
code
test
estimation
scheduling
risk analysis
Evolutionary Models: The
Spiral
 In essence, the spiral, when characterized in this way,
remains operative until the software is retired
 Strengths:
 The spiral model is a realistic approach to the development of
large-scale systems and software.
 The spiral model uses prototyping as a risk reduction
mechanism
 enables you to apply the prototyping approach at any stage in
the evolution of the product.
 Weaknesses
 Evolutionary approach is controllable?
 demands considerable risk assessment expertise
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 24
Evolutionary Models: Concurrent
 The concurrent development model, sometimes called
concurrent engineering, allows a software team to represent
iterative and concurrent elements of any of the process
models
 For example, the modeling activity defined for the spiral model is
accomplished by invoking one or more of the following software
engineering actions: prototyping, analysis, and design.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 25
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 26
Evolutionary Models: Concurrent
Under review
Baselined
Done
Under
revision
Awaiting
changes
Under
development
none
Modeling activit y
represents the state
of a software engineering
activity or task
Comparison of different
life-cycle models
 The different software life cycle models can be compared from the
viewpoint of the customer. Initially, customer confidence in the
development team is usually high irrespective of the development
model followed. During the lengthy development process, customer
confidence normally drops off, as no working product is immediately
visible. Developers answer customer queries using technical slang,
and delays are announced. This gives rise to customer resentment. On
the other hand, an evolutionary approach lets the customer experiment
with a working product much earlier than the monolithic approaches.
Another important advantage of the incremental model is that it
reduces the customer’s trauma of getting used to an entirely new
system. The gradual introduction of the product via incremental phases
provides time to the customer to adjust to the new product. Also, from
the customer’s financial viewpoint, incremental development does not
require a large upfront capital outlay. The customer can order the
incremental versions as and when he can afford them.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 27
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 28
Still Other Process Models
 Component based development—the process to
apply when reuse is a development objective
 Formal methods—emphasizes the mathematical
specification of requirements
 AOSD—provides a process and methodological
approach for defining, specifying, designing, and
constructing aspects
 Unified Process—a “use-case driven, architecture-
centric, iterative and incremental” software process
closely aligned with the Unified Modeling Language
(UML)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 29
The Unified Process (UP)
software increment
Release
Inception
Elaboration
construction
transition
production
inception
elaboration
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 30
UP Phases
Inception Elaboration Construction Transition Production
UP Phases
Workflows
Requirements
Analysis
Design
Implementation
Test
Iterations #1 #2 #n-1 #n
Support
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 31
UP Work Products
Inception phase
Elaboration phase
Construction phase
Transition phase
Vision document
Init ial use-case model
Init ial project glossary
Init ial business case
Init ial risk assessment .
Project plan,
phases and it erat ions.
Business model,
if necessary.
One or more prot ot ypes
I nc e pt i o
n
Use-case model
Supplement ary requirement s
including non-funct ional
Analysis model
Soft ware archit ect ure
Descript ion.
Execut able archit ect ural
prot ot ype.
Preliminary design model
Revised risk list
Project plan including
it erat ion plan
adapt ed workflows
milest ones
t echnical work product s
Preliminary user manual
Design model
Soft ware component s
Int egrat ed soft ware
increment
Test plan and procedure
Test cases
Support document at ion
user manuals
inst allat ion manuals
descript ion of current
increment
Delivered soft ware increment
Bet a t est report s
General user feedback
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 32
Personal Software Process (PSP)
 Planning. This activity isolates requirements and develops both size and
resource estimates. In addition, a defect estimate (the number of defects
projected for the work) is made. All metrics are recorded on worksheets or
templates. Finally, development tasks are identified and a project schedule is
created.
 High-level design. External specifications for each component to be constructed
are developed and a component design is created. Prototypes are built when
uncertainty exists. All issues are recorded and tracked.
 High-level design review. Formal verification methods (Chapter 21) are applied
to uncover errors in the design. Metrics are maintained for all important tasks and
work results.
 Development. The component level design is refined and reviewed. Code is
generated, reviewed, compiled, and tested. Metrics are maintained for all
important tasks and work results.
 Postmortem. Using the measures and metrics collected (this is a substantial
amount of data that should be analyzed statistically), the effectiveness of the
process is determined. Measures and metrics should provide guidance for
modifying the process to improve its effectiveness.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 33
Team Software Process (TSP)
 Build self-directed teams that plan and track their work,
establish goals, and own their processes and plans.
These can be pure software teams or integrated product
teams (IPT) of three to about 20 engineers.
 Show managers how to coach and motivate their teams
and how to help them sustain peak performance.
 Accelerate software process improvement by making
CMM Level 5 behavior normal and expected.
 The Capability Maturity Model (CMM), a measure of the
effectiveness of a software process, is discussed in Chapter 30.
 Provide improvement guidance to high-maturity
organizations.
 Facilitate university teaching of industrial-grade team
skills.

More Related Content

What's hot

Chapter 03
Chapter 03Chapter 03
Chapter 03
ppp mmm
 
Pressman ch-21-project-management-concepts
Pressman ch-21-project-management-conceptsPressman ch-21-project-management-concepts
Pressman ch-21-project-management-conceptsseethaveera
 
Unit iii(part b - architectural design)
Unit   iii(part b - architectural design)Unit   iii(part b - architectural design)
Unit iii(part b - architectural design)
BALAJI A
 
Chapter_07.pptx
Chapter_07.pptxChapter_07.pptx
Chapter_07.pptx
FauzanIshlakhuddin1
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software ProcessJomel Penalba
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
Saqib Raza
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
Saqib Raza
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelssaurabhshertukde
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
ShudipPal
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Unit iii(part d - component level design)
Unit   iii(part d - component level design)Unit   iii(part d - component level design)
Unit iii(part d - component level design)
BALAJI A
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
Priyanka Shetty
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
arvind pandey
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
University of Haripur
 
ch3.pptx
ch3.pptxch3.pptx
ch3.pptx
AliAkbar99386
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
rishi ram khanal
 

What's hot (20)

Chapter 03
Chapter 03Chapter 03
Chapter 03
 
Pressman ch-21-project-management-concepts
Pressman ch-21-project-management-conceptsPressman ch-21-project-management-concepts
Pressman ch-21-project-management-concepts
 
Unit iii(part b - architectural design)
Unit   iii(part b - architectural design)Unit   iii(part b - architectural design)
Unit iii(part b - architectural design)
 
Chapter_07.pptx
Chapter_07.pptxChapter_07.pptx
Chapter_07.pptx
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
Chapter 13
Chapter 13Chapter 13
Chapter 13
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Unit iii(part d - component level design)
Unit   iii(part d - component level design)Unit   iii(part d - component level design)
Unit iii(part d - component level design)
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
ch3.pptx
ch3.pptxch3.pptx
ch3.pptx
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 

Similar to SE CHAPTER 2 PROCESS MODELS

Chapter_25.ppt
Chapter_25.pptChapter_25.ppt
Chapter_25.ppt
PranavHirulkar1
 
005614116.pdf
005614116.pdf005614116.pdf
005614116.pdf
EidTahir
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
VandanaVipparthi
 
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.pptChapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Bule Hora University
 
estimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptxestimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptx
ubaidullah75790
 
Agile Development software engineering process model
Agile Development software engineering process modelAgile Development software engineering process model
Agile Development software engineering process model
GovadaDhana
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
FawazHussain4
 
Effective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality DilemmaEffective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality Dilemma
hossamsetra1
 
Ch01 SE
Ch01 SECh01 SE
Ch01 SE
mahirazainab
 
Chapter_14 sp1718.ppt
Chapter_14 sp1718.pptChapter_14 sp1718.ppt
Chapter_14 sp1718.ppt
ahmedmagdy733949
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
JayaKamal
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)
BALAJI A
 
Ch03 process models
Ch03 process modelsCh03 process models
Ch03 process models
Noor Ul Hudda Memon
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
Umar Farooq
 
Sdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwalSdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwal
Ram Paliwal
 
Software Design.pptx
Software Design.pptxSoftware Design.pptx
Software Design.pptx
nandhini manoharan
 
Chapter_32.ppt
Chapter_32.pptChapter_32.ppt
Chapter_32.ppt
nathansel1
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
Sharbani Bhattacharya
 
Software process model
Software process modelSoftware process model
Software process model
Muhammad Yousuf Abdul Qadir
 
Discussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxDiscussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docx
madlynplamondon
 

Similar to SE CHAPTER 2 PROCESS MODELS (20)

Chapter_25.ppt
Chapter_25.pptChapter_25.ppt
Chapter_25.ppt
 
005614116.pdf
005614116.pdf005614116.pdf
005614116.pdf
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.pptChapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
 
estimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptxestimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptx
 
Agile Development software engineering process model
Agile Development software engineering process modelAgile Development software engineering process model
Agile Development software engineering process model
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
 
Effective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality DilemmaEffective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality Dilemma
 
Ch01 SE
Ch01 SECh01 SE
Ch01 SE
 
Chapter_14 sp1718.ppt
Chapter_14 sp1718.pptChapter_14 sp1718.ppt
Chapter_14 sp1718.ppt
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)
 
Ch03 process models
Ch03 process modelsCh03 process models
Ch03 process models
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
 
Sdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwalSdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwal
 
Software Design.pptx
Software Design.pptxSoftware Design.pptx
Software Design.pptx
 
Chapter_32.ppt
Chapter_32.pptChapter_32.ppt
Chapter_32.ppt
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Software process model
Software process modelSoftware process model
Software process model
 
Discussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxDiscussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docx
 

More from Abrar ali

SOFTWARE TESTING CHAPTER 8 SE
SOFTWARE TESTING CHAPTER 8 SESOFTWARE TESTING CHAPTER 8 SE
SOFTWARE TESTING CHAPTER 8 SE
Abrar ali
 
SOFTWRE REQUIREMNETS SE
 SOFTWRE REQUIREMNETS SE SOFTWRE REQUIREMNETS SE
SOFTWRE REQUIREMNETS SE
Abrar ali
 
AGILE VS Scrum
AGILE VS ScrumAGILE VS Scrum
AGILE VS Scrum
Abrar ali
 
Sql FUNCTIONS
Sql FUNCTIONSSql FUNCTIONS
Sql FUNCTIONS
Abrar ali
 
Database COMPLETE
Database COMPLETEDatabase COMPLETE
Database COMPLETE
Abrar ali
 
Dbms oracle
Dbms oracle Dbms oracle
Dbms oracle
Abrar ali
 
Quicksort ALGORITHM
Quicksort ALGORITHMQuicksort ALGORITHM
Quicksort ALGORITHM
Abrar ali
 
Joining
JoiningJoining
Joining
Abrar ali
 
Greedy algorithm
Greedy algorithmGreedy algorithm
Greedy algorithm
Abrar ali
 
Date and Time FUNCTIONS
Date and Time FUNCTIONSDate and Time FUNCTIONS
Date and Time FUNCTIONS
Abrar ali
 
Constraints
ConstraintsConstraints
Constraints
Abrar ali
 
DML DATA MAINUPULATION LANGUAGE
DML DATA MAINUPULATION LANGUAGEDML DATA MAINUPULATION LANGUAGE
DML DATA MAINUPULATION LANGUAGE
Abrar ali
 
DDL DATA DEFINATION LANGUAGE
DDL DATA DEFINATION LANGUAGEDDL DATA DEFINATION LANGUAGE
DDL DATA DEFINATION LANGUAGE
Abrar ali
 
Java
JavaJava
Java
Abrar ali
 
Weka presentation
Weka presentationWeka presentation
Weka presentation
Abrar ali
 
Machine learning
Machine learningMachine learning
Machine learning
Abrar ali
 

More from Abrar ali (16)

SOFTWARE TESTING CHAPTER 8 SE
SOFTWARE TESTING CHAPTER 8 SESOFTWARE TESTING CHAPTER 8 SE
SOFTWARE TESTING CHAPTER 8 SE
 
SOFTWRE REQUIREMNETS SE
 SOFTWRE REQUIREMNETS SE SOFTWRE REQUIREMNETS SE
SOFTWRE REQUIREMNETS SE
 
AGILE VS Scrum
AGILE VS ScrumAGILE VS Scrum
AGILE VS Scrum
 
Sql FUNCTIONS
Sql FUNCTIONSSql FUNCTIONS
Sql FUNCTIONS
 
Database COMPLETE
Database COMPLETEDatabase COMPLETE
Database COMPLETE
 
Dbms oracle
Dbms oracle Dbms oracle
Dbms oracle
 
Quicksort ALGORITHM
Quicksort ALGORITHMQuicksort ALGORITHM
Quicksort ALGORITHM
 
Joining
JoiningJoining
Joining
 
Greedy algorithm
Greedy algorithmGreedy algorithm
Greedy algorithm
 
Date and Time FUNCTIONS
Date and Time FUNCTIONSDate and Time FUNCTIONS
Date and Time FUNCTIONS
 
Constraints
ConstraintsConstraints
Constraints
 
DML DATA MAINUPULATION LANGUAGE
DML DATA MAINUPULATION LANGUAGEDML DATA MAINUPULATION LANGUAGE
DML DATA MAINUPULATION LANGUAGE
 
DDL DATA DEFINATION LANGUAGE
DDL DATA DEFINATION LANGUAGEDDL DATA DEFINATION LANGUAGE
DDL DATA DEFINATION LANGUAGE
 
Java
JavaJava
Java
 
Weka presentation
Weka presentationWeka presentation
Weka presentation
 
Machine learning
Machine learningMachine learning
Machine learning
 

Recently uploaded

2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
ToshihiroIto4
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
SkillCertProExams
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
eCommerce Institute
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AwangAniqkmals
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 

Recently uploaded (19)

2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 

SE CHAPTER 2 PROCESS MODELS

  • 1. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 1 Chapter 2  Process Models Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use.
  • 2. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 2 A Generic Process Model
  • 3. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 3 Process Flow
  • 4. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 4 Identifying a Task Set  A task set defines the actual work to be done to accomplish the objectives of a software engineering action.  A list of the task to be accomplished  A list of the work products to be produced  A list of the quality assurance filters to be applied
  • 5.  Activity. (communication )  Action (“requirements gathering”)  Goal (requirements gathering is to understand what various stakeholders want from the software that is to be built.)  For a small, relatively simple project, the task set for requirements gathering might look like this:  1. Make a list of stakeholders for the project.  2. Invite all stakeholders to an informal meeting.  3. Ask each stakeholder to make a list of features and functions required.  4. Discuss requirements and build a final list.  5. Prioritize requirements.  6. Note areas of uncertainty. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 5
  • 6. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 6 Process Assessment and Improvement  Standard CMMI Assessment Method for Process Improvement (SCAMPI) — provides a five step process assessment model that incorporates five phases: initiating, diagnosing, establishing, acting and learning.  CMM-Based Appraisal for Internal Process Improvement (CBA IPI)—provides a diagnostic technique for assessing the relative maturity of a software organization; uses the SEI CMM as the basis for the assessment [Dun01]  SPICE—The SPICE (ISO/IEC15504) standard defines a set of requirements for software process assessment. The intent of the standard is to assist organizations in developing an objective evaluation of the efficacy of any defined software process. [ISO08]  ISO 9001:2000 for Software—a generic standard that applies to any organization that wants to improve the overall quality of the products, systems, or services that it provides. Therefore, the standard is directly applicable to software organizations and companies. [Ant06]
  • 7. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 7 Prescriptive Models strive for structure and order  Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions …  If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change?  Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work?
  • 8. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 8 The Waterfall Model classic life cycle, suggests a systematic,sequential approach Communication Planning Modeling Construction Deployment analysis design code test project init iat ion requirement gat hering estimating scheduling tracking delivery support f eedback  when well-defined adaptations or enhancements to an existing system must be made (e.g., an adaptation to accounting software that has been mandated because of changes to government regulations).  healthcare, control system for nuclear facilities, space shuttles etc
  • 9. Advantages of waterfall model  This model is simple and easy to understand and use.  It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.  In this model phases are processed and completed one at a time. Phases do not overlap.  Waterfall model works well for smaller projects where requirements are clearly defined and very well understood. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 9
  • 10. Disadvantages of waterfall model  Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.  No working software is produced until late during the life cycle.  High amounts of risk and uncertainty.  Not a good model for complex and object-oriented projects.  Poor model for long and ongoing projects.  Not suitable for the projects where requirements are at a moderate to high risk of changing. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 10
  • 11. When to use Waterfall Model  This model is used only when the requirements are very well known, clear and fixed.  Product definition is stable.  Technology is understood.  There are no ambiguous requirements  Ample resources with required expertise are available freely  The project is short. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 11
  • 12. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 12 The V-Model (Verification and Validation model.)
  • 13. The V-Model  The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage. This means that for every single phase in the development cycle, there is a directly associated testing phase. This is a highly-disciplined model and the next phase starts only after completion of the previous phase. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 13
  • 14. The Incremental Model  initial software requirements are reasonably well defined  but the overall scope of the development effort precludes a purely linear process  compelling need to provide a limited set of software functionality to users quickly  The incremental model combines elements of linear and parallel process flows These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 14
  • 15. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 15 The Incremental Model C o m m u n i c a t i o n P l a n n i n g M o d e l i n g C o n s t r u c t i o n D e p l o y m e n t d e l i v e r y f e e d b a c k analysis design code t est increment # 1 increment # 2 delivery of 1st increment delivery of 2nd increment delivery of nt h increment increment # n project calendar time C o m m u n i c a t i o n P l a n n i n g M o d e l i n g C o n s t r u c t i o n D e p l o y m e n t d e l i v e r y f e e d b a c k analysis design code t est C o m m u n i c a t i o n P l a n n i n g M o d e l i n g C o n s t r u c t i o n D e p l o y m e n t d e l i v e r y f e e d b a c k analysis design code t est
  • 16. The Incremental Model  For example, word-processing software  When an incremental model is used, the first increment is often a core product.  That is, basic requirements are addressed but many supplementary features (some known, others unknown) remain undelivered.  The core product is used by the customer  (or undergoes detailed evaluation). These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 16
  • 17. The Incremental Model  Incremental development is particularly useful when staffing is unavailable for a complete implementation by the business deadline that has been established for the project.  In addition, increments can be planned to manage technical risks. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 17
  • 18. Evolutionary Models  Software, like all complex systems, evolves over a period of time.  Evolutionary models are iterative.  Factors:  Business and product requirements often change as development proceeds, making a straight line path to an end product unrealistic;  tight market deadlines; a limited version  a set of core product or system requirements is well understood They are characterized in a manner that enables you to develop increasingly more complete versions of the software 18
  • 19. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 19 Evolutionary Models: Prototyping Construction of prototype Communicat ion Quick plan Const ruct ion of prot ot ype Mode ling Quick de sign De live ry & Fe e dback Deployment communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback Often, a customer defines a set of general objectives for software, but does not identify detailed requirements for functions and features
  • 20. Evolutionary Models: Prototyping  the prototyping paradigm assists you and other stakeholders to better understand what is to be built when requirements are fuzzy.  “quick design” focuses on a representation of those aspects of the software that will be visible to end users (e.g., human interface layout or output display formats).  The quick design leads to the construction of a prototype.  Ideally, the prototype serves as a mechanism for identifying software requirements.  The prototype can serve as “the first system.” built as “throwaways,” others are evolutionary 20
  • 21. Evolutionary Models: Prototyping  Problems:  Stakeholders see what appears to be a working version of the software  As a software engineer, you often make implementation compromises in order to get a prototype working quickly.  The key is to define the rules of the game at the beginning; that is, all stakeholders should agree that the prototype is built to serve as a mechanism for defining requirements. It is then discarded (at least in part), and the actual software is engineered with an eye toward quality. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 21
  • 22.  couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfall model  Provides the potential for rapid development of increasingly more complete versions of the software  Anchor point milestones  Each pass through the planning region results in adjustments to the project plan.  Cost, schedule, and the project manager adjusts the planned number of iterations required to complete the software. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 22 Evolutionary Models: The Spiral
  • 23. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 23 Evolutionary Models: The Spiral communication planning modeling construction deployment delivery feedback start analysis design code test estimation scheduling risk analysis
  • 24. Evolutionary Models: The Spiral  In essence, the spiral, when characterized in this way, remains operative until the software is retired  Strengths:  The spiral model is a realistic approach to the development of large-scale systems and software.  The spiral model uses prototyping as a risk reduction mechanism  enables you to apply the prototyping approach at any stage in the evolution of the product.  Weaknesses  Evolutionary approach is controllable?  demands considerable risk assessment expertise These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 24
  • 25. Evolutionary Models: Concurrent  The concurrent development model, sometimes called concurrent engineering, allows a software team to represent iterative and concurrent elements of any of the process models  For example, the modeling activity defined for the spiral model is accomplished by invoking one or more of the following software engineering actions: prototyping, analysis, and design. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 25
  • 26. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 26 Evolutionary Models: Concurrent Under review Baselined Done Under revision Awaiting changes Under development none Modeling activit y represents the state of a software engineering activity or task
  • 27. Comparison of different life-cycle models  The different software life cycle models can be compared from the viewpoint of the customer. Initially, customer confidence in the development team is usually high irrespective of the development model followed. During the lengthy development process, customer confidence normally drops off, as no working product is immediately visible. Developers answer customer queries using technical slang, and delays are announced. This gives rise to customer resentment. On the other hand, an evolutionary approach lets the customer experiment with a working product much earlier than the monolithic approaches. Another important advantage of the incremental model is that it reduces the customer’s trauma of getting used to an entirely new system. The gradual introduction of the product via incremental phases provides time to the customer to adjust to the new product. Also, from the customer’s financial viewpoint, incremental development does not require a large upfront capital outlay. The customer can order the incremental versions as and when he can afford them. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 27
  • 28. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 28 Still Other Process Models  Component based development—the process to apply when reuse is a development objective  Formal methods—emphasizes the mathematical specification of requirements  AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects  Unified Process—a “use-case driven, architecture- centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)
  • 29. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 29 The Unified Process (UP) software increment Release Inception Elaboration construction transition production inception elaboration
  • 30. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 30 UP Phases Inception Elaboration Construction Transition Production UP Phases Workflows Requirements Analysis Design Implementation Test Iterations #1 #2 #n-1 #n Support
  • 31. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 31 UP Work Products Inception phase Elaboration phase Construction phase Transition phase Vision document Init ial use-case model Init ial project glossary Init ial business case Init ial risk assessment . Project plan, phases and it erat ions. Business model, if necessary. One or more prot ot ypes I nc e pt i o n Use-case model Supplement ary requirement s including non-funct ional Analysis model Soft ware archit ect ure Descript ion. Execut able archit ect ural prot ot ype. Preliminary design model Revised risk list Project plan including it erat ion plan adapt ed workflows milest ones t echnical work product s Preliminary user manual Design model Soft ware component s Int egrat ed soft ware increment Test plan and procedure Test cases Support document at ion user manuals inst allat ion manuals descript ion of current increment Delivered soft ware increment Bet a t est report s General user feedback
  • 32. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 32 Personal Software Process (PSP)  Planning. This activity isolates requirements and develops both size and resource estimates. In addition, a defect estimate (the number of defects projected for the work) is made. All metrics are recorded on worksheets or templates. Finally, development tasks are identified and a project schedule is created.  High-level design. External specifications for each component to be constructed are developed and a component design is created. Prototypes are built when uncertainty exists. All issues are recorded and tracked.  High-level design review. Formal verification methods (Chapter 21) are applied to uncover errors in the design. Metrics are maintained for all important tasks and work results.  Development. The component level design is refined and reviewed. Code is generated, reviewed, compiled, and tested. Metrics are maintained for all important tasks and work results.  Postmortem. Using the measures and metrics collected (this is a substantial amount of data that should be analyzed statistically), the effectiveness of the process is determined. Measures and metrics should provide guidance for modifying the process to improve its effectiveness.
  • 33. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 33 Team Software Process (TSP)  Build self-directed teams that plan and track their work, establish goals, and own their processes and plans. These can be pure software teams or integrated product teams (IPT) of three to about 20 engineers.  Show managers how to coach and motivate their teams and how to help them sustain peak performance.  Accelerate software process improvement by making CMM Level 5 behavior normal and expected.  The Capability Maturity Model (CMM), a measure of the effectiveness of a software process, is discussed in Chapter 30.  Provide improvement guidance to high-maturity organizations.  Facilitate university teaching of industrial-grade team skills.