0% found this document useful (0 votes)
5 views37 pages

Types of Software Process Models

The document outlines various software process models including prescriptive, incremental, and evolutionary models, emphasizing their frameworks, advantages, and disadvantages. It highlights the importance of a quality focus in software engineering, the role of methods and tools, and the adaptability of process models based on project characteristics. Additionally, it discusses the Personal Software Process (PSP) and Team Software Process (TSP) as approaches to enhance individual and team performance in software development.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views37 pages

Types of Software Process Models

The document outlines various software process models including prescriptive, incremental, and evolutionary models, emphasizing their frameworks, advantages, and disadvantages. It highlights the importance of a quality focus in software engineering, the role of methods and tools, and the adaptability of process models based on project characteristics. Additionally, it discusses the Personal Software Process (PSP) and Team Software Process (TSP) as approaches to enhance individual and team performance in software development.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Unit 1

Process Models
Contents
⚫ Generic Process Model
⚫ Prescriptive Process Model
⚫ Waterfall Model
⚫ Incremental Process (RAD) Model
⚫ Evolutionary Process Model
⚫ Unified Process Model
⚫ Concurrent Model
A Layered
Technology
Software Engineering

tools

methods

process model

a “quality” focus
Quality Focus
⚫ TQM, Six Sigma gives continuous process improvement
culture.
⚫ Leads to the development of increasingly more effective
approaches to software engineering.
Process
⚫ Glue that holds the technology layers together.
⚫ Enables rational & timely development of computer
software.
⚫ Defines framework that must be established for effective
delivery of software engineering technology.
⚫ Forms the basis for management control of software
projects.
⚫ Establishes the context in which technical methods are
applied, work products are produced, milestones are
established, quality is ensured, change is properly
managed.
Methods
⚫ Provide the technical “how to’s “ for building software.
⚫ Encompass a broad array of tasks that include
communication, requirement analysis, design modeling,
construction, testing, support.
Tools
⚫ Provide automated or semi-automated support for the
process and the methods.
⚫ Integration of tools
⚫ Information is shared
A Process
Framework
Process framework
Framework activities
work tasks
work products
milestones &
deliverables
QA checkpoints
Umbrella Activities
Framework Activities
⚫ Communication
⚫ Planning
⚫ Modeling
Analysis of requirements
Design
⚫ Construction
Code generation
Testing
⚫ Deployment
Umbrella Activities
⚫ Software project management
⚫ Formal technical reviews
⚫ Software quality assurance
⚫ Software configuration management
⚫ Work product preparation and production
⚫ Reusability management
⚫ Measurement
⚫ Risk management
The Process Model: Adaptability
⚫ the framework activities will always be applied on
every project but the tasks for each activity will vary
based on:
the type of project
characteristics of the project
common sense judgment; concurrence of the project
team
Process Patterns
⚫ Process patterns define a set of activities, actions, work tasks,
work products and/or related behaviors
⚫ A template is used to define a pattern
⚫ Typical examples:
Customer communication (a process activity)
Analysis (an action)
Requirements gathering (a process task)
Reviewing a work product (a process task)
Design model (a work product)
Personal Software Process
(PSP)
⚫ Recommends five framework activities:
Planning
High-level design
High-level design review
Development
Postmortem
⚫ Stresses the need for each software engineer to identify
errors early and as important, to understand the types
of errors
Purpose
⚫ To build computer software.
⚫ Process may be haphazard, ad-hoc, may change on
daily basis, may not be efficient, effective.
⚫ Emphasizes personal measurement of both the work
product that is produced and resultant quality of the
work product.
⚫ Makes practitioner’s responsible for project planning
(estimating & scheduling)
⚫ Empowers that practitioner to control the quality of all
software work products are developed.
Disadvantage
⚫ Not widely adopted throughout the industry.
⚫ Have more to do with human nature and
organizational inertia than strengths & weaknesses of
PSP approach.
⚫ Intellectually challenging & demands a level of
commitment that is not always possible to obtain.
⚫ Training is lengthy, training cost is high,
⚫ The required level of measurement is culturally
difficult for many software people.
Team Software Process (TSP)
⚫ Each project is “launched” using a “script” that defines
the tasks to be accomplished
⚫ Teams are self-directed
⚫ Measurement is encouraged
⚫ Measures are analyzed with the intent of improving
the team process
Purpose
⚫ Build a self-directed project team that organizes itself
to produce high quality software.
⚫ A self directed team has a consistent understanding of
its overall goals & objectives.
⚫ It defines roles & responsibilities for each team
member; tracks quantitative project data; identify a
team process that is appropriate for project & a
strategy for implementing the process; defines local
standards; assesses risk; tracks, manages, reports
project status.
The Waterfall
Model
Theory
⚫ Systematic and sequential approach to software
development.
⚫ Classic life cycle model
⚫ Model mandates that each phase will be executed after
completion of the previous phase.
Advantages
⚫ Simplicity
⚫ Logical structuring of the different activities in a software
project
⚫ Model is perfect for projects where requirements are very
well defined.
Disadvantages
⚫ It is strict about moving only one step at a time. This is to
ensure that the complete project is moving together.
⚫ Customer has difficulty expressing requirements in their
entirely.
⚫ Has difficulty accommodating natural uncertainty that
exists at the beginning of the cycle.
⚫ Model does not allow capturing potential risk in the project.
⚫ A working version of the software is not available until
late in the process.
The Incremental
Model
Theory
⚫ Combines elements of the waterfall model applied in
iterative manner.
⚫ Applies linear sequences in a staggered fashion as
calendar time progresses.
⚫ Each linear sequence produces deliverable increments of
the software. E.g. word processing software.
⚫ Focuses on the delivery of an operational product with
each increment.
Advantages
⚫ Useful when staffing is unavailable.
The RAD Model
Theory
⚫ Rapid Application Development
⚫ It is recommended where there are tight deadlines and
high pressure from customer
⚫ Emphasizes on short development cycle
⚫ Each major function can be addressed by a separate RAD
team followed by the integration of the separately
developed functionalities
⚫ Necessitates the involvement of users throughout the
development life cycle
Advantages
⚫ Provides quick time to market.
⚫ Fully functional system is expected within a short time of
say 60 to 90 days.
Disadvantages
⚫ It requires sufficient human resources to create the right
number of RAD teams.
Evolutionary Models:
Prototyping
Quick
plan
communication

Modeling
Quick design

Deployment
delivery &
feedback Construction
of prototype
Theory
⚫ Iterative approach to software development
⚫ Useful when either the customer or the developer is
unsure of the exact requirements of the software.
⚫ Throw-way Model: Discard the model once all
requirements are understood.
⚫ Evolving Model: Refine the model every time when the
requirements are clearer.
Advantages
⚫ Minimizing technical risks.
Disadvantages
⚫ It may lead to indiscipline of development
Evolutionary Models: The
Spiral
Theory
⚫ Meta Model for software development processes.
⚫ Model couples the iterative nature of the prototyping
model and the controlled, systematic aspect of the
waterfall model.
⚫ It is evolutionary software process model.
Advantages
⚫ Introduces the element of risk analysis.
⚫ It is more realistic because real world engineering requires
considerable iteration.
Disadvantages
⚫ It requires considerable expertise in terms of risk
assessment and project management.
Evolutionary Models: Concurrent

You might also like