SlideShare a Scribd company logo
1 of 41
B. Computer Sci. (SE) (Hons.)

CSEB233: Fundamentals
of Software Engineering
Process Models
Lesson Objectives
● Describe the types of process flows
● Determine task set for software process activities
● Explain software process patterns
● Discuss several process assessment and improvement frameworks
● Analyze prescriptive and specialized software
process models
● Select a process model for software development
project
A Generic Process Model
● A software process:
o a collection of work activities, actions, tasks, which
are performed when software is to be created.

● A process model or framework
o is where these activities, actions, and tasks reside,
and that defines their relationship with the process
and with one another.
o Also known as an abstract representation of a
software process.
A Generic Process Model
● Shows the technical work
hierarchy
o activities
encompassing
actions, populated by tasks

● Each action is defined by a
set of task that defines:
o the actual work to complete
o the work products to
produce
o the quality assurance filters
to apply, and
o the milestones that are used
to indicate the project and
product progress
Process Activities

Framework & Umbrella
● Framework activities :
o generic activities that are applicable to all software
projects, regardless of their size or complexity
o Include communication; planning; modeling, construction;
and deployment

● Umbrella activities:
o complementary activities applied throughout a software
project and help manage and control progress, quality,
change, and risk
o Include project tracking and control; risk management;
software quality assurance (SQA); technical reviews;
configuration management (CM); etc.
Process Models
Process Flows
Process Flow
● Describes how the framework activities and the
actions and tasks that occur within each activity are
organized with respect to sequence and time
● The flows:
o Linear: execute the framework activities in sequence
o Iterative: repeats one or more of the activities before
proceeding to the next
o Evolutionary: execute the activities in a „circular‟ manner
o Parallel: executes one or more activities simultaneously
with other activities
Process Flow
Process Models
Task Set
Identifying a Task Set
● A task set defines the actual work to be done to
accomplish the objectives of a software
engineering action
o A list of the tasks to be accomplished
o A list of the work products to be produced
o A list of the quality assurance filters to be applied
Identifying a Task Set

Key Questions in Determining Task Set
● Different projects require different task sets
o The tasks should be selected based on problems and
project characteristics

● Q: What actions are appropriate for a framework
activity, given:
o the nature of the problem to be solved;
o the characteristics of the people doing the work; and
o the stakeholders of the project?

● Q: What work tasks (task set) that these actions
should encompass?
Identifying a Task Set
Example

● Nature of the problems and project :
o A small software project requested by one person (at a
remote location) with simple, straightforward requirements.

● Actions:
o Communication action: develop requirements

● Task set:
o
o
o
o

Make contact with stakeholder via telephone.
Discuss requirements and take notes.
Organize notes into a brief written statement of requirements.
E-mail to stakeholder for review and approval.
Process Models
Process Patterns
Process Patterns
● A process pattern
o describes a process-related problem that is encountered
during software engineering work,
o identifies the environment in which the problem has been
encountered, and
o suggests one or more proven solutions to the problem

● In more general terms, a process pattern provides a
template
o a consistent method for describing problem solutions
within the context of the software process
Process Pattern Types
● Stage patterns
o defines a problem associated with a framework activity
for the process

● Task patterns
o defines a problem associated with a software
engineering action or work task and relevant to
successful software engineering practice

● Phase patterns
o define the sequence of framework activities that occur
with the process, even when the overall flow of activities
is iterative in nature
Process Models
Process Assessment &
Improvement
Process Assessment and
Improvement: Approaches
● Standard CMMI Assessment Method for Process
Improvement (SCAMPI):
o Used to identify strengths, weaknesses, and ratings relative
to SEI CMMI appraisal reference model, which is applicable
to internal process improvement and external capability
determination

● CMM-Based Appraisal for Internal Process Improvement
(CBA IPI):
o Provides a diagnostic technique for assessing the relative
maturity of a software organization; uses the SEI CMM as the
basis for the assessment [Dun01].
o However, CMM has been retired by SEI since the introduction
of CMMI group of standards
Process Assessment and
Improvement: Approaches
● SPICE (ISO/IEC15504):
o Standard that defines a set of requirements for software
process assessment.
o 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:
o A generic standard that applies to any organization that
wants to improve the overall quality of the products,
systems, or services that it provides.
o Therefore, the standard is directly applicable to software
organizations and companies [Ant06]
Process Models
Prescriptive & Specialized
Process Models
Prescriptive Process Models
● Promote an orderly, structured approach to SE
● That leads to a few questions . . .
o If prescriptive process models strive for structure and
order, are they inappropriate for a software world that
thrives on change?
o 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?
Prescriptive Process Models
● Waterfall Model
o represents elements of a linear process flow
■V

● Incremental Model
o combines elements of linear and parallel process flows

● Evolutionary Model
o follows the evolutionary process flow that combines elements
of linear and iterative process flows
■ Prototyping
■ Spiral

● Concurrent Model
o combines elements of iterative and parallel process flows
Prescriptive Process Models
The Waterfall Model

● Represents a linear process flow from communication through deployment
o Also known as the classic SDLC

● The original Waterfall model proposed by Winston
Royce in 1970 made provision for feedback loops
o but many organizations apply this model as if it were
strictly linear
Communicat ion
project init iat ion
requirement gat hering

Planning
estimating
scheduling
tracking

Modeling
analysis
design

Const ruct ion
code
t est

Deployment
delivery
support
f eedback
Prescriptive Process Models
An Analysis of Waterfall Model
Characteristics
• It suggests a
systematic, sequential
approach to SE,
starting from
requirements
specification through
planning, modeling,
construction, testing,
deployment and
support of the
completed system.
• Each major activity is
marked by milestones
and deliverables (i.e.
documents).

Strengths
• Simple and easy to
use/explain to
customers.
• The staged
development cycle
enforces discipline:
every phase has a
defined start and end
point, and progress
can be conclusively
identified (through the
use of milestones)

Weaknesses

Applicability

• Real projects rarely follow the
linear flow that the model
proposes. Although iteration is
indirectly allowed, changes are
costly, involve significant rework
and can cause confusion to
project team.

• When requirements are
well understood and
unlikely to change
radically during system
development (e.g., in a
well-defined enhancement
to an existing system).

• The model requires the customer • When software
to state all requirements
development technologies
explicitly, which is often very
and tools are well known.
difficult to achieve.
• The work tasks in the
• The working software will not be
project are to proceed to
available until late in the project,
completion in a linear
which can be disastrous for late
manner.
discovery of major defects.

• Leads to “blocking states” in
which some project team
members must wait for others to
complete dependent tasks.
Prescriptive Process Models
The V-Model

● Variation in representing
the Waterfall model
● Illustrates how V&V
actions are associated
with earlier SE action
● There is no fundamental
difference between the
Waterfall model and the
V-model
Prescriptive Process Models
The Incremental Model

● Rather than deliver the software product as a single
delivery, the development and delivery is broken
down into increments with each increment delivering
part of the required functionality.
● User requirements are prioritised and the highest
priority requirements are included in early
increments
● Once the development of an increment is started,
the requirements are frozen but requirements for
later increments can continue to evolve
Prescriptive Process Models
The Incremental Model

increment # n
Co m m u n i c a t i o n
Pla nning
M odeling
analy s is
des ign

Co n s t ru c t i o n
c ode
t es t

De p l o y m e n t
d e l i v e ry
fe e dba c k

deliv ery of
nt h increment

increment # 2
Co m m u n i c a t i o n
Pla nning
M odeling
analy s is
des ign

Co n s t ru c t i o n
c ode

De p l o y m e n t

t es t

d e l i v e ry
fe e dba c k

increment # 1
Co m m u n i c a t i o n
Pla nning
M odeling
analy s is
des ign

Co n s t ru c t i o n
c ode

De p l o y m e n t

t es t

d e l i v e ry
fe e dba c k

deliv ery of
1st increment

project calendar t ime

deliv ery of
2nd increment
Prescriptive Process Models

The Evolutionary Model: Prototyping
● Using this process model, a prototype - an early
approximation of a final software product - is built,
tested, and then reworked as necessary
o until an acceptable prototype is finally achieved from
which the complete software product is developed

● Although it can be implemented as a stand-alone
process model, it is more commonly used as part of
other process models
● The main purpose of the model is to help better
understand what it is to built when requirements are
fuzzy
Prescriptive Process Models

The Evolutionary Model: Prototyping

Q u Quick
i ck p l an

Com m unicat ion

plan

communication
Mo d e l i n g
Modeling
Q u i ck d e si g n

Quick design

Deployment
Deployment
De live r y
delivery &
& Fe e dback

feedback

Const r uct ion

Construction
of
of ot ot ype
pr prototype
Prescriptive Process Models
The Evolutionary Model: Spiral

● A process model that combines the iterative nature
of prototyping with the systematic aspects of
waterfall model
● The spiral model can be thought of as a repeating
waterfall model that emphasizes risk assessment
and that is executed in an incremental fashion
● Each loop/pass through the spiral model consists of
risk assessment and other framework activities from
communication through deployment
Prescriptive Process Models
The Evolutionary Model: Spiral
planning
estimation
scheduling
risk analysis

communication
modeling
analysis
design
start

deployment
delivery
feedback

construction
code
test
Prescriptive Process Models
The Concurrent Model

● A process model that combines the iterative and
parallel elements of any of the prescriptive
process models
● In this model, all SE activities (framework or
umbrella) exist concurrently but reside in
different states
Prescriptive Process Models
The Concurrent Model

none
Modeling act ivit y

represents the state
of a software engineering
activity or task

Under
development

Await ing
changes

Under review
Under
revision
Baselined

Done
Specialized Process Models
-is a model that developed on their owns because they
does’nt trust prescriptive model

● Component based software development (CBSD)
o the process to apply when reuse is a development objective

● Formal methods
o emphasizes the mathematical specification of requirements,
which can demonstrate software correctness but are not
widely used.

● Aspect-oriented software development (AOSD)
o provides a process and methodological approach for defining,
specifying, designing, and constructing aspects

● Unified Process
o a “use-case driven, architecture-centric, iterative and
incremental” software process closely aligned with the Unified
Modeling Language (UML)
Specialized Process Models
● Agile Process
o An iterative approach to requirements specification, construction
and deployment, which support rapid changes to requirements

● Personal Process Model
o Emphasizes the need to record and analyze errors each individual
practitioner made, so that he/she can develop a strategy to
eliminate them

● Team Process Model
o 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
o Show managers how to coach and motivate their teams and how to
help them sustain peak performance
Process Models
Selecting a Process Model
Selecting a Process Model
Factors to Consider

● The characteristics of the problems to be solved
o Such as complexity of the problem, etc.
o e.g. simple with clear, stable requirements, or complex with
changing, unstable requirements, etc.

● The characteristics of the project
o Such as the customers who have requested the product and the
people who will do the work, etc.
o e.g. Uncertain requirements, breakthrough technology

● The characteristics of the product
o Such as quality attributes or metric of the product, product domain,
etc.

● The project environment in which the software team works
o Such as political, cultural, language, etc.
Process Management Tools
● Also known as process modeling tools or process
technology
● Allows a team to define and manage the elements of a
process model (activities, actions, task, work products,
milestones, and QA points/filters)
● Such tools also provide detailed guidance on the content
of each process element
● The tools may also provide standard project management
tasks such as estimating, scheduling, tracking and control.
● Example:
o Igrafx Process Tools (www.micrografx.com)
Selecting a Process Model
An Exercise
● The Project:
o Assume that you are in charge of a project to create a portal
for the Shah Alam district of Selangor.
o This portal would include a homepage with links to a wide
range of discounted travel packages to major destinations in
Selangor, links to certain featured places like golf courses,
shopping complexes and places to eat, links to the detailed
map of Selangor, and links to news and events listing
o It also includes a bulletin board and chat room feature where
tourists (international and local tourists) can exchange
information.
o The portal should also provide Automated Teller Machine
(ATM) locator, time zone converter, and currency converter.
Selecting a Process Model
An Exercise

● Select a software process model that you would
recommend to be implemented in the above
mentioned project
● Why is the software process model selected?
Summary
● There are four types of process flows – linear, iterative,
evolutionary, and parallel.
● Software process patterns may suggest one or more
proven solutions to the problem from other projects, which
can be reused in another project
● There are several process assessment and improvements
frameworks that can be exercised by practitioners
● The analyses of prescriptive and specialized software
process models would help select the most appropriate
process model for a software development project, which
can be proceeded with the identification of task set for the
project
THE END
Copyright © 2013
Mohd. Sharifuddin Ahmad, PhD

College of Information Technology

More Related Content

What's hot

Rational Unified Process(Rup)
Rational Unified Process(Rup)Rational Unified Process(Rup)
Rational Unified Process(Rup)
pawanonline83
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
Philip Johnson
 

What's hot (20)

ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
 
Software Engineering (Introduction)
Software Engineering (Introduction)Software Engineering (Introduction)
Software Engineering (Introduction)
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile models
 
SE chapter 2
SE chapter 2SE chapter 2
SE chapter 2
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Rup
Rup Rup
Rup
 
Software management framework
Software management frameworkSoftware management framework
Software management framework
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Unified process
Unified processUnified process
Unified process
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING  SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Measuring quality of developments in a large industrial software factory with...
Measuring quality of developments in a large industrial software factory with...Measuring quality of developments in a large industrial software factory with...
Measuring quality of developments in a large industrial software factory with...
 
13 software metrics
13 software metrics13 software metrics
13 software metrics
 
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 Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineering
 
Process model in SE
Process model in SEProcess model in SE
Process model in SE
 
Rational Unified Process(Rup)
Rational Unified Process(Rup)Rational Unified Process(Rup)
Rational Unified Process(Rup)
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 

Viewers also liked (10)

08 fse verification
08 fse verification08 fse verification
08 fse verification
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 
06 fse design
06 fse design06 fse design
06 fse design
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineering
 
09 fse qualitymanagement
09 fse qualitymanagement09 fse qualitymanagement
09 fse qualitymanagement
 
07 fse implementation
07 fse implementation07 fse implementation
07 fse implementation
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
03 fse agiledevelopment
03 fse agiledevelopment03 fse agiledevelopment
03 fse agiledevelopment
 
Software Engineering Fundamentals - Svetlin Nakov
Software Engineering Fundamentals - Svetlin NakovSoftware Engineering Fundamentals - Svetlin Nakov
Software Engineering Fundamentals - Svetlin Nakov
 
Software design methodologies
Software design methodologiesSoftware design methodologies
Software design methodologies
 

Similar to 02 fse processmodels

process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
Arun Nair
 
Process model rup
Process model rupProcess model rup
Process model rup
Aryan Ajmer
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
Shweta Ghate
 

Similar to 02 fse processmodels (20)

Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Process model rup
Process model rupProcess model rup
Process model rup
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Requirements Engineering Processes
Requirements Engineering ProcessesRequirements Engineering Processes
Requirements Engineering Processes
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
 
SE Lecture 2.ppt
SE Lecture 2.pptSE Lecture 2.ppt
SE Lecture 2.ppt
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Processes
Software ProcessesSoftware Processes
Software Processes
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
SW Project Process.pptx
SW Project Process.pptxSW Project Process.pptx
SW Project Process.pptx
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
 
ITSE-lecture no. 4.ppt
ITSE-lecture no. 4.pptITSE-lecture no. 4.ppt
ITSE-lecture no. 4.ppt
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
 

Recently uploaded

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Recently uploaded (20)

FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 

02 fse processmodels

  • 1. B. Computer Sci. (SE) (Hons.) CSEB233: Fundamentals of Software Engineering Process Models
  • 2. Lesson Objectives ● Describe the types of process flows ● Determine task set for software process activities ● Explain software process patterns ● Discuss several process assessment and improvement frameworks ● Analyze prescriptive and specialized software process models ● Select a process model for software development project
  • 3. A Generic Process Model ● A software process: o a collection of work activities, actions, tasks, which are performed when software is to be created. ● A process model or framework o is where these activities, actions, and tasks reside, and that defines their relationship with the process and with one another. o Also known as an abstract representation of a software process.
  • 4. A Generic Process Model ● Shows the technical work hierarchy o activities encompassing actions, populated by tasks ● Each action is defined by a set of task that defines: o the actual work to complete o the work products to produce o the quality assurance filters to apply, and o the milestones that are used to indicate the project and product progress
  • 5. Process Activities Framework & Umbrella ● Framework activities : o generic activities that are applicable to all software projects, regardless of their size or complexity o Include communication; planning; modeling, construction; and deployment ● Umbrella activities: o complementary activities applied throughout a software project and help manage and control progress, quality, change, and risk o Include project tracking and control; risk management; software quality assurance (SQA); technical reviews; configuration management (CM); etc.
  • 7. Process Flow ● Describes how the framework activities and the actions and tasks that occur within each activity are organized with respect to sequence and time ● The flows: o Linear: execute the framework activities in sequence o Iterative: repeats one or more of the activities before proceeding to the next o Evolutionary: execute the activities in a „circular‟ manner o Parallel: executes one or more activities simultaneously with other activities
  • 10. Identifying a Task Set ● A task set defines the actual work to be done to accomplish the objectives of a software engineering action o A list of the tasks to be accomplished o A list of the work products to be produced o A list of the quality assurance filters to be applied
  • 11. Identifying a Task Set Key Questions in Determining Task Set ● Different projects require different task sets o The tasks should be selected based on problems and project characteristics ● Q: What actions are appropriate for a framework activity, given: o the nature of the problem to be solved; o the characteristics of the people doing the work; and o the stakeholders of the project? ● Q: What work tasks (task set) that these actions should encompass?
  • 12. Identifying a Task Set Example ● Nature of the problems and project : o A small software project requested by one person (at a remote location) with simple, straightforward requirements. ● Actions: o Communication action: develop requirements ● Task set: o o o o Make contact with stakeholder via telephone. Discuss requirements and take notes. Organize notes into a brief written statement of requirements. E-mail to stakeholder for review and approval.
  • 14. Process Patterns ● A process pattern o describes a process-related problem that is encountered during software engineering work, o identifies the environment in which the problem has been encountered, and o suggests one or more proven solutions to the problem ● In more general terms, a process pattern provides a template o a consistent method for describing problem solutions within the context of the software process
  • 15. Process Pattern Types ● Stage patterns o defines a problem associated with a framework activity for the process ● Task patterns o defines a problem associated with a software engineering action or work task and relevant to successful software engineering practice ● Phase patterns o define the sequence of framework activities that occur with the process, even when the overall flow of activities is iterative in nature
  • 17. Process Assessment and Improvement: Approaches ● Standard CMMI Assessment Method for Process Improvement (SCAMPI): o Used to identify strengths, weaknesses, and ratings relative to SEI CMMI appraisal reference model, which is applicable to internal process improvement and external capability determination ● CMM-Based Appraisal for Internal Process Improvement (CBA IPI): o Provides a diagnostic technique for assessing the relative maturity of a software organization; uses the SEI CMM as the basis for the assessment [Dun01]. o However, CMM has been retired by SEI since the introduction of CMMI group of standards
  • 18. Process Assessment and Improvement: Approaches ● SPICE (ISO/IEC15504): o Standard that defines a set of requirements for software process assessment. o 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: o A generic standard that applies to any organization that wants to improve the overall quality of the products, systems, or services that it provides. o Therefore, the standard is directly applicable to software organizations and companies [Ant06]
  • 19. Process Models Prescriptive & Specialized Process Models
  • 20. Prescriptive Process Models ● Promote an orderly, structured approach to SE ● That leads to a few questions . . . o If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change? o 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?
  • 21. Prescriptive Process Models ● Waterfall Model o represents elements of a linear process flow ■V ● Incremental Model o combines elements of linear and parallel process flows ● Evolutionary Model o follows the evolutionary process flow that combines elements of linear and iterative process flows ■ Prototyping ■ Spiral ● Concurrent Model o combines elements of iterative and parallel process flows
  • 22. Prescriptive Process Models The Waterfall Model ● Represents a linear process flow from communication through deployment o Also known as the classic SDLC ● The original Waterfall model proposed by Winston Royce in 1970 made provision for feedback loops o but many organizations apply this model as if it were strictly linear Communicat ion project init iat ion requirement gat hering Planning estimating scheduling tracking Modeling analysis design Const ruct ion code t est Deployment delivery support f eedback
  • 23. Prescriptive Process Models An Analysis of Waterfall Model Characteristics • It suggests a systematic, sequential approach to SE, starting from requirements specification through planning, modeling, construction, testing, deployment and support of the completed system. • Each major activity is marked by milestones and deliverables (i.e. documents). Strengths • Simple and easy to use/explain to customers. • The staged development cycle enforces discipline: every phase has a defined start and end point, and progress can be conclusively identified (through the use of milestones) Weaknesses Applicability • Real projects rarely follow the linear flow that the model proposes. Although iteration is indirectly allowed, changes are costly, involve significant rework and can cause confusion to project team. • When requirements are well understood and unlikely to change radically during system development (e.g., in a well-defined enhancement to an existing system). • The model requires the customer • When software to state all requirements development technologies explicitly, which is often very and tools are well known. difficult to achieve. • The work tasks in the • The working software will not be project are to proceed to available until late in the project, completion in a linear which can be disastrous for late manner. discovery of major defects. • Leads to “blocking states” in which some project team members must wait for others to complete dependent tasks.
  • 24. Prescriptive Process Models The V-Model ● Variation in representing the Waterfall model ● Illustrates how V&V actions are associated with earlier SE action ● There is no fundamental difference between the Waterfall model and the V-model
  • 25. Prescriptive Process Models The Incremental Model ● Rather than deliver the software product as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality. ● User requirements are prioritised and the highest priority requirements are included in early increments ● Once the development of an increment is started, the requirements are frozen but requirements for later increments can continue to evolve
  • 26. Prescriptive Process Models The Incremental Model increment # n Co m m u n i c a t i o n Pla nning M odeling analy s is des ign Co n s t ru c t i o n c ode t es t De p l o y m e n t d e l i v e ry fe e dba c k deliv ery of nt h increment increment # 2 Co m m u n i c a t i o n Pla nning M odeling analy s is des ign Co n s t ru c t i o n c ode De p l o y m e n t t es t d e l i v e ry fe e dba c k increment # 1 Co m m u n i c a t i o n Pla nning M odeling analy s is des ign Co n s t ru c t i o n c ode De p l o y m e n t t es t d e l i v e ry fe e dba c k deliv ery of 1st increment project calendar t ime deliv ery of 2nd increment
  • 27. Prescriptive Process Models The Evolutionary Model: Prototyping ● Using this process model, a prototype - an early approximation of a final software product - is built, tested, and then reworked as necessary o until an acceptable prototype is finally achieved from which the complete software product is developed ● Although it can be implemented as a stand-alone process model, it is more commonly used as part of other process models ● The main purpose of the model is to help better understand what it is to built when requirements are fuzzy
  • 28. Prescriptive Process Models The Evolutionary Model: Prototyping Q u Quick i ck p l an Com m unicat ion plan communication Mo d e l i n g Modeling Q u i ck d e si g n Quick design Deployment Deployment De live r y delivery & & Fe e dback feedback Const r uct ion Construction of of ot ot ype pr prototype
  • 29. Prescriptive Process Models The Evolutionary Model: Spiral ● A process model that combines the iterative nature of prototyping with the systematic aspects of waterfall model ● The spiral model can be thought of as a repeating waterfall model that emphasizes risk assessment and that is executed in an incremental fashion ● Each loop/pass through the spiral model consists of risk assessment and other framework activities from communication through deployment
  • 30. Prescriptive Process Models The Evolutionary Model: Spiral planning estimation scheduling risk analysis communication modeling analysis design start deployment delivery feedback construction code test
  • 31. Prescriptive Process Models The Concurrent Model ● A process model that combines the iterative and parallel elements of any of the prescriptive process models ● In this model, all SE activities (framework or umbrella) exist concurrently but reside in different states
  • 32. Prescriptive Process Models The Concurrent Model none Modeling act ivit y represents the state of a software engineering activity or task Under development Await ing changes Under review Under revision Baselined Done
  • 33. Specialized Process Models -is a model that developed on their owns because they does’nt trust prescriptive model ● Component based software development (CBSD) o the process to apply when reuse is a development objective ● Formal methods o emphasizes the mathematical specification of requirements, which can demonstrate software correctness but are not widely used. ● Aspect-oriented software development (AOSD) o provides a process and methodological approach for defining, specifying, designing, and constructing aspects ● Unified Process o a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)
  • 34. Specialized Process Models ● Agile Process o An iterative approach to requirements specification, construction and deployment, which support rapid changes to requirements ● Personal Process Model o Emphasizes the need to record and analyze errors each individual practitioner made, so that he/she can develop a strategy to eliminate them ● Team Process Model o 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 o Show managers how to coach and motivate their teams and how to help them sustain peak performance
  • 35. Process Models Selecting a Process Model
  • 36. Selecting a Process Model Factors to Consider ● The characteristics of the problems to be solved o Such as complexity of the problem, etc. o e.g. simple with clear, stable requirements, or complex with changing, unstable requirements, etc. ● The characteristics of the project o Such as the customers who have requested the product and the people who will do the work, etc. o e.g. Uncertain requirements, breakthrough technology ● The characteristics of the product o Such as quality attributes or metric of the product, product domain, etc. ● The project environment in which the software team works o Such as political, cultural, language, etc.
  • 37. Process Management Tools ● Also known as process modeling tools or process technology ● Allows a team to define and manage the elements of a process model (activities, actions, task, work products, milestones, and QA points/filters) ● Such tools also provide detailed guidance on the content of each process element ● The tools may also provide standard project management tasks such as estimating, scheduling, tracking and control. ● Example: o Igrafx Process Tools (www.micrografx.com)
  • 38. Selecting a Process Model An Exercise ● The Project: o Assume that you are in charge of a project to create a portal for the Shah Alam district of Selangor. o This portal would include a homepage with links to a wide range of discounted travel packages to major destinations in Selangor, links to certain featured places like golf courses, shopping complexes and places to eat, links to the detailed map of Selangor, and links to news and events listing o It also includes a bulletin board and chat room feature where tourists (international and local tourists) can exchange information. o The portal should also provide Automated Teller Machine (ATM) locator, time zone converter, and currency converter.
  • 39. Selecting a Process Model An Exercise ● Select a software process model that you would recommend to be implemented in the above mentioned project ● Why is the software process model selected?
  • 40. Summary ● There are four types of process flows – linear, iterative, evolutionary, and parallel. ● Software process patterns may suggest one or more proven solutions to the problem from other projects, which can be reused in another project ● There are several process assessment and improvements frameworks that can be exercised by practitioners ● The analyses of prescriptive and specialized software process models would help select the most appropriate process model for a software development project, which can be proceeded with the identification of task set for the project
  • 41. THE END Copyright © 2013 Mohd. Sharifuddin Ahmad, PhD College of Information Technology