SlideShare a Scribd company logo
THE SOFTWARE PROCESS
CSE 470 : Software Engineering
Ashis Kumar Chanda
Lecturer, BRACU
2
What is a Process?
We can think of a series of activities as a process
Any process has the following characteristics
 It prescribes all of the major activities
 It uses resources and produces intermediate and final products
 It may include sub-processes and has entry and exit criteria
 The activities are organized in a sequence
 Constraints or control may apply to activities
(budget control, availability of resources )
3
Software Processes
Coherent sets of activities for
Specifying,
Designing,
Implementing and
Testing software systems
When the process involves the building of some product,
we refer to the process as a life cycle
Software development life cycle (SDLC)
4
The Software Process
A structured set of activities required to
develop a software system
 Specification
 Design
 Validation
 Evolution
Fundamental Assumptions:
 Good processes lead to good software
 Good processes reduce risk
5
Generic software process models
The waterfall model
 Separate and distinct phases of specification and development
Evolutionary development
 Specification and development are interleaved
Formal systems development
 A mathematical system model is formally transformed to an
implementation
Reuse-based development
 The system is assembled from existing components
6
Fundamental activities
Requirements
System & Software Design
Implementation (Programming)
Integration & Testing
Maintenance
7
Requirements Analysis and Definition
The system's services, constraints and goals are established by
consultation with system users. They are then defined in a
manner that is understandable by both users and development
staff.
This phase can be divided into:
 Feasibility study (often carried out separately)
 Requirements analysis
 Requirements definition
 Requirements specification
8
System and Software Design
System design: Partition the requirements to hardware or
software systems. Establishes an overall system
architecture
Software design: Represent the software system
functions in a form that can be transformed into one or
more executable programs
 Unified Modeling Language (UML)
11
Programming and Unit Testing
The software design is realized as a set of programs or
program units. (Written specifically, acquired from
elsewhere, or modified.)
Individual components are tested against specifications.
12
Integration and System Testing
The individual program units are:
 integrated and tested as a complete system
 tested against the requirements as specified
 delivered to the client
13
Operation and Maintenance
 Operation: The system is put into practical use.
 Maintenance: Errors and problems are identified and
fixed.
 Evolution: The system evolves over time as
requirements change, to add new functions or adapt the
technical environment.
 Phase out: The system is withdrawn from service.
14
Deployment &
Maintenance
Requirements
Design
Implementation
Testing
Waterfall
method
The Waterfall Model
15
Advantages of the Waterfall Approach
Develop requirements before design
Design before writing code
Write code before integrating it
Test programs after integrating them
Have milestone reviews
16
Any problems?
Real life is not a straight line
17
Some Realities of Software Development
1. Requirements always change because of:
 changing customer desires and user needs
 initial requirements analysis inadequate
 understandings and insights gained through experience
 changing technology
 changing competitive situation
 personnel turnover: engineering, management, marketing, customer
2. The design is never right the first time
 design is a creative, problem solving process
3. Frequent demonstrations of progress and early
warning of problems are desirable
18
The Waterfall Approach
The Waterfall Model requires that we (attempt to):
 specify the requirements completely, consistently, correctly,
and unambiguously on the first attempt
 design the software completely and correctly on the first
attempt
 write all of the software interfaces and internal details correctly
on the first attempt
 integrate the components in one large step
 do system testing and acceptance testing at the end
The linear waterfall model is a one-pass process
19
Discussion of the Waterfall Model
Advantages:
-Identifies systems requirements long before programming
begins.
- Only appropriate when the requirements are well-understood
Disadvantages:
-Takes long time to deliver since developing requirements.
- Difficult to adapt to changing requirements
- Each stage in the process reveals new understanding of the
previous stages, that requires the earlier stages to be revised.
20
Relative Cost to Fix a Software Defect
21
Feedback in the Waterfall Model
Requirements
Definition
System and
Software design
Programming
and Unit Testing
Integration and
System Testing
Operation and
Maintenance
22
Evolutionary development
Exploratory development
- Objective is to work with customers and to evolve a final
system from an initial outline specification.
- The system evolves by adding new features as they are
proposed by customer.
23
Evolutionary development
Rapid prototyping
 Objective is to understand the system requirements.
 Develop “quick and dirty” system in short time;
 Expose to user comment & feedback;
 Refine;
Repeat until adequate system developed.
 Particularly suitable where:
- detailed requirements not possible;
- powerful development tools (CASE) available
24
Evolutionary development
Outline
Description
Concurrent
Activities
Requirements
Design
Implementation
Initial
Version
Intermediate
Versions
Final
Version
25
Evolutionary development
Requirements
Design
Implementation
(prototype)
Evaluation
26
Evolutionary development
Problems
 Lack of process visibility
 Systems are often poorly structured
 Special skills (e.g. in languages for rapid prototyping)
may be required
Applicability
 For small or medium-size interactive systems
 For parts of large systems (e.g. the user interface)
27
Process iteration
• Modern development processes take iteration as a fundamental
concept.
•System requirements ALWAYS evolve during the course of a
project; so process iteration where earlier stages are reworked is
always part of the process for large systems.
•Iteration can be applied to any of the generic process models.
•Two (related) approaches:
• Incremental development
• Spiral development
28
Incremental development
 System is not a single delivery; the development and
delivery broken down into increments delivering part of
the required functionality.
 User requirements are prioritized and the highest
priority requirements are included in early increments.
 Once the development of an increment is started,
the requirements are frozen though requirements
for later increments can continue to evolve.
29
Incremental development
Validate
increment
Develop system
increment
Design system
architecture
Integrate
increment
Validate
system
Define outline
requirements
Assignrequirements
to increments
Systemincomplete
Final
system
30
The Incremental Model
31
Incremental development advantages
 Customer value can be delivered with each increment so
system functionality is available earlier.
 Early increments act as a prototype to help elicit
requirements for later increments
 Lower risk of overall project failure
 The highest priority system services tend to receive the
most testing
32
Incremental development problems
 The process is not visible.
o Managers need regular deliverables to measure
progress. If systems are developed quickly, it is not cost-
effective to produce documents that reflect every version
of the system.
 System structure tends to degrade as new increments are
added.
o Unless time and money is spent on refactoring to
improve the software, regular change tends to corrupt its
structure. Incorporating further software changes becomes
increasingly difficult and costly.
33
Spiral Model
 The spiral model is a risk-driven process model
generator for software projects. Based on the unique risk
patterns of a given project, the spiral model guides a team to
adopt elements of one or more process models, such as
incremental, waterfall, or evolutionary prototyping.
This model was first described by Barry Boehm in his
1986 paper "A Spiral Model of Software Development and
Enhancement".
34
Spiral development
 Process is represented as a spiral rather than as a sequence of
activities with backtracking.
 Each loop in the spiral represents a phase in the process.
 No fixed phases such as specification or design – loops in the
spiral are chosen depending on what is required.
 Risks are explicitly assessed and resolved throughout the
process.
35
Spiral model of the software process
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysisProto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Conceptof
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unittest
Integration
testAcceptance
testService Develop, verify
next-levelproduct
Evaluate alternatives
identify, resolve risks
Determine objectives
alternativesand
constraints
Plannextphase
Integration
andtestplan
Development
plan
Requirementsplan
Life-cycle plan
REVIEW
36
Spiral model sectors
 Objective setting
• Specific objectives for the phase are identified
 Risk assessment and reduction
• Risks are assessed and activities put in place to reduce key risks
 Development and validation
• A development model for the system is chosen which can be
any of the generic models
 Planning
• The project is reviewed and next phase of the spiral is planned
37
Spiral model usage
 Spiral model has been very influential in helping
people think about iteration in software processes and
introducing the risk-driven approach to development.
 In practice, however, the model is rarely used as
published for practical software development.
38
References
Cornell University, USA
http://www.cs.cornell.edu/courses/cs501/2000fa/slides.html
Picture collect from: Ivan Marsic, Rutgers
University
Ian Sommerville, Software Engineering, 9th
edition, Pearson, 2011
Roger s. pressman, Software Engineering a
practitioners approach, 7th
ed
2. Software process

More Related Content

What's hot

Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
Reetesh Gupta
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
REHMAT ULLAH
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Ch 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleCh 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleKittitouch Suteeca
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
SQA - chapter 13 (Software Quality Infrastructure)
SQA - chapter 13 (Software Quality Infrastructure)SQA - chapter 13 (Software Quality Infrastructure)
SQA - chapter 13 (Software Quality Infrastructure)
uma sree
 
Spiral model of SDLC
Spiral model of SDLCSpiral model of SDLC
Spiral model of SDLC
Animesh Chakraborty
 
Software process model
Software process modelSoftware process model
Software process model
Muhammad Yousuf Abdul Qadir
 
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
 
Software life cycle comparison
Software life cycle comparisonSoftware life cycle comparison
Software life cycle comparisonSuvek Shakya
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
Sdlc models
Sdlc modelsSdlc models
Software process
Software processSoftware process
Software process
Dr. Loganathan R
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
Omkar Dash
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
ShudipPal
 
Software process
Software processSoftware process
Software process
Jennifer Polack
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
RahimLotfi
 
Prototype model
Prototype modelPrototype model
Prototype modelsadhana8
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
Preeti Mishra
 

What's hot (20)

Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Ch 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleCh 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycle
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
SQA - chapter 13 (Software Quality Infrastructure)
SQA - chapter 13 (Software Quality Infrastructure)SQA - chapter 13 (Software Quality Infrastructure)
SQA - chapter 13 (Software Quality Infrastructure)
 
Spiral model of SDLC
Spiral model of SDLCSpiral model of SDLC
Spiral model of SDLC
 
Software process model
Software process modelSoftware process model
Software process model
 
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
 
Software life cycle comparison
Software life cycle comparisonSoftware life cycle comparison
Software life cycle comparison
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software process
Software processSoftware process
Software process
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
 
Software process
Software processSoftware process
Software process
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Prototype model
Prototype modelPrototype model
Prototype model
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 

Viewers also liked

Externé databázy UNIBA
Externé databázy UNIBAExterné databázy UNIBA
Externé databázy UNIBA
Lucia Lokajova
 
Practica martes22
Practica martes22Practica martes22
Practica martes22jamarzo
 
World of Watson 2016 - Data lake or Data Swamp
World of Watson 2016 - Data lake or Data SwampWorld of Watson 2016 - Data lake or Data Swamp
World of Watson 2016 - Data lake or Data Swamp
Keith Redman
 
Mining Software Repositories
Mining Software RepositoriesMining Software Repositories
Mining Software Repositories
Israel Herraiz
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
software-engineering-book
 
Stopping the Lake from becoming a Swamp
Stopping the Lake from becoming a SwampStopping the Lake from becoming a Swamp
Stopping the Lake from becoming a Swamp
Capgemini
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process modelsTauseef Ahmad
 
Slide6 rp ranc_operasi
Slide6 rp ranc_operasiSlide6 rp ranc_operasi
Slide6 rp ranc_operasiZunnur Zamzam
 
Codes and Conventions of Documentary Adverts
Codes and Conventions of Documentary AdvertsCodes and Conventions of Documentary Adverts
Codes and Conventions of Documentary Adverts
db04803167
 
Slide4 rp pengenalan
Slide4 rp pengenalanSlide4 rp pengenalan
Slide4 rp pengenalanZunnur Zamzam
 
Lien en luca(appaloosa)
Lien en luca(appaloosa)Lien en luca(appaloosa)
Lien en luca(appaloosa)leerling5
 
SERVICE Magazine 19.3: Leegstand
SERVICE Magazine 19.3: LeegstandSERVICE Magazine 19.3: Leegstand
SERVICE Magazine 19.3: Leegstand
SERVICE_Magazine
 
Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...
Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...
Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...Cook County Commissioner Bridget Gainer
 
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...Cook County Commissioner Bridget Gainer
 
Universal Design
Universal DesignUniversal Design
Universal Designsummerbloom
 
Tecidos humanos
Tecidos humanosTecidos humanos
Tecidos humanosiesbioxeo3
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
Ashis Kumar Chanda
 
Test audio
Test audioTest audio
Test audio
GalinaMi
 
DevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service ProviderDevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service Provider
Nasir Uddin Shamim
 

Viewers also liked (20)

Externé databázy UNIBA
Externé databázy UNIBAExterné databázy UNIBA
Externé databázy UNIBA
 
Practica martes22
Practica martes22Practica martes22
Practica martes22
 
World of Watson 2016 - Data lake or Data Swamp
World of Watson 2016 - Data lake or Data SwampWorld of Watson 2016 - Data lake or Data Swamp
World of Watson 2016 - Data lake or Data Swamp
 
Mining Software Repositories
Mining Software RepositoriesMining Software Repositories
Mining Software Repositories
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Stopping the Lake from becoming a Swamp
Stopping the Lake from becoming a SwampStopping the Lake from becoming a Swamp
Stopping the Lake from becoming a Swamp
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
 
Slide6 rp ranc_operasi
Slide6 rp ranc_operasiSlide6 rp ranc_operasi
Slide6 rp ranc_operasi
 
Codes and Conventions of Documentary Adverts
Codes and Conventions of Documentary AdvertsCodes and Conventions of Documentary Adverts
Codes and Conventions of Documentary Adverts
 
Slide4 rp pengenalan
Slide4 rp pengenalanSlide4 rp pengenalan
Slide4 rp pengenalan
 
Lien en luca(appaloosa)
Lien en luca(appaloosa)Lien en luca(appaloosa)
Lien en luca(appaloosa)
 
SERVICE Magazine 19.3: Leegstand
SERVICE Magazine 19.3: LeegstandSERVICE Magazine 19.3: Leegstand
SERVICE Magazine 19.3: Leegstand
 
Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...
Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...
Cook County Commissioner Bridget Gainer - 10th District: Citizens' Guide to P...
 
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
 
Universal Design
Universal DesignUniversal Design
Universal Design
 
Tecidos humanos
Tecidos humanosTecidos humanos
Tecidos humanos
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
 
Test audio
Test audioTest audio
Test audio
 
DevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service ProviderDevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service Provider
 

Similar to 2. Software process

se02_SW_Process.ppt
se02_SW_Process.pptse02_SW_Process.ppt
se02_SW_Process.ppt
Nhân Công
 
SE2.ppt
SE2.pptSE2.ppt
SE2.ppt
AaMir519591
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
Ahmed Alageed
 
software Processes
software Processessoftware Processes
software Processes
Seif Shaame
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3koolkampus
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software ProcessJomel Penalba
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
Amr E. Mohamed
 
Process in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software EngineerinProcess in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software Engineerin
MuhammadSufianJani
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
HaiderAli252366
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
MarwondoMarwondo
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
ssuserd0fdaa
 
Process model rup
Process model rupProcess model rup
Process model rupAryan Ajmer
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
Mohammed Romi
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
Raheel Aslam
 
Software Processes
Software Processes Software Processes
Software Processes
Usman Bin Saad
 

Similar to 2. Software process (20)

se02_SW_Process.ppt
se02_SW_Process.pptse02_SW_Process.ppt
se02_SW_Process.ppt
 
SE2.ppt
SE2.pptSE2.ppt
SE2.ppt
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
 
software Processes
software Processessoftware Processes
software Processes
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
 
Ch4
Ch4Ch4
Ch4
 
Ch4
Ch4Ch4
Ch4
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 
Process in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software EngineerinProcess in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software Engineerin
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Process model rup
Process model rupProcess model rup
Process model rup
 
I
II
I
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Software Processes
Software Processes Software Processes
Software Processes
 

More from Ashis Kumar Chanda

Word 2 vector
Word 2 vectorWord 2 vector
Word 2 vector
Ashis Kumar Chanda
 
Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...
Ashis Kumar Chanda
 
Full resolution image compression with recurrent neural networks
Full resolution image compression with  recurrent neural networksFull resolution image compression with  recurrent neural networks
Full resolution image compression with recurrent neural networks
Ashis Kumar Chanda
 
Understanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational DatabasesUnderstanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational Databases
Ashis Kumar Chanda
 
03. Agile Development
03. Agile Development03. Agile Development
03. Agile Development
Ashis Kumar Chanda
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Ashis Kumar Chanda
 
Risk Management
Risk ManagementRisk Management
Risk Management
Ashis Kumar Chanda
 
Project Management
Project ManagementProject Management
Project Management
Ashis Kumar Chanda
 
MVC
MVCMVC
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Ashis Kumar Chanda
 
4. UML
4. UML4. UML
Periodic pattern mining
Periodic pattern miningPeriodic pattern mining
Periodic pattern mining
Ashis Kumar Chanda
 
FPPM algorithm
FPPM algorithmFPPM algorithm
FPPM algorithm
Ashis Kumar Chanda
 
Secure software design
Secure software designSecure software design
Secure software design
Ashis Kumar Chanda
 
Sequential logic circuit optimization
Sequential logic circuit optimizationSequential logic circuit optimization
Sequential logic circuit optimization
Ashis Kumar Chanda
 
Introduction to CS
Introduction to CSIntroduction to CS
Introduction to CS
Ashis Kumar Chanda
 
CloudBus
CloudBusCloudBus
Linear Machine Decision Tree
Linear Machine Decision TreeLinear Machine Decision Tree
Linear Machine Decision Tree
Ashis Kumar Chanda
 
Logical Operations on BDD
Logical Operations on BDDLogical Operations on BDD
Logical Operations on BDD
Ashis Kumar Chanda
 

More from Ashis Kumar Chanda (20)

Word 2 vector
Word 2 vectorWord 2 vector
Word 2 vector
 
Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...
 
Full resolution image compression with recurrent neural networks
Full resolution image compression with  recurrent neural networksFull resolution image compression with  recurrent neural networks
Full resolution image compression with recurrent neural networks
 
Understanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational DatabasesUnderstanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational Databases
 
03. Agile Development
03. Agile Development03. Agile Development
03. Agile Development
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
Project Management
Project ManagementProject Management
Project Management
 
MVC
MVCMVC
MVC
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
4. UML
4. UML4. UML
4. UML
 
Periodic pattern mining
Periodic pattern miningPeriodic pattern mining
Periodic pattern mining
 
FPPM algorithm
FPPM algorithmFPPM algorithm
FPPM algorithm
 
Secure software design
Secure software designSecure software design
Secure software design
 
Sequential logic circuit optimization
Sequential logic circuit optimizationSequential logic circuit optimization
Sequential logic circuit optimization
 
Introduction to CS
Introduction to CSIntroduction to CS
Introduction to CS
 
Iterative deepening search
Iterative deepening searchIterative deepening search
Iterative deepening search
 
CloudBus
CloudBusCloudBus
CloudBus
 
Linear Machine Decision Tree
Linear Machine Decision TreeLinear Machine Decision Tree
Linear Machine Decision Tree
 
Logical Operations on BDD
Logical Operations on BDDLogical Operations on BDD
Logical Operations on BDD
 

Recently uploaded

Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
ML for identifying fraud using open blockchain data.pptx
ML for identifying fraud using open blockchain data.pptxML for identifying fraud using open blockchain data.pptx
ML for identifying fraud using open blockchain data.pptx
Vijay Dialani, PhD
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 

Recently uploaded (20)

Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
ML for identifying fraud using open blockchain data.pptx
ML for identifying fraud using open blockchain data.pptxML for identifying fraud using open blockchain data.pptx
ML for identifying fraud using open blockchain data.pptx
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 

2. Software process

  • 1. THE SOFTWARE PROCESS CSE 470 : Software Engineering Ashis Kumar Chanda Lecturer, BRACU
  • 2. 2 What is a Process? We can think of a series of activities as a process Any process has the following characteristics  It prescribes all of the major activities  It uses resources and produces intermediate and final products  It may include sub-processes and has entry and exit criteria  The activities are organized in a sequence  Constraints or control may apply to activities (budget control, availability of resources )
  • 3. 3 Software Processes Coherent sets of activities for Specifying, Designing, Implementing and Testing software systems When the process involves the building of some product, we refer to the process as a life cycle Software development life cycle (SDLC)
  • 4. 4 The Software Process A structured set of activities required to develop a software system  Specification  Design  Validation  Evolution Fundamental Assumptions:  Good processes lead to good software  Good processes reduce risk
  • 5. 5 Generic software process models The waterfall model  Separate and distinct phases of specification and development Evolutionary development  Specification and development are interleaved Formal systems development  A mathematical system model is formally transformed to an implementation Reuse-based development  The system is assembled from existing components
  • 6. 6 Fundamental activities Requirements System & Software Design Implementation (Programming) Integration & Testing Maintenance
  • 7. 7 Requirements Analysis and Definition The system's services, constraints and goals are established by consultation with system users. They are then defined in a manner that is understandable by both users and development staff. This phase can be divided into:  Feasibility study (often carried out separately)  Requirements analysis  Requirements definition  Requirements specification
  • 8. 8 System and Software Design System design: Partition the requirements to hardware or software systems. Establishes an overall system architecture Software design: Represent the software system functions in a form that can be transformed into one or more executable programs  Unified Modeling Language (UML)
  • 9.
  • 10.
  • 11. 11 Programming and Unit Testing The software design is realized as a set of programs or program units. (Written specifically, acquired from elsewhere, or modified.) Individual components are tested against specifications.
  • 12. 12 Integration and System Testing The individual program units are:  integrated and tested as a complete system  tested against the requirements as specified  delivered to the client
  • 13. 13 Operation and Maintenance  Operation: The system is put into practical use.  Maintenance: Errors and problems are identified and fixed.  Evolution: The system evolves over time as requirements change, to add new functions or adapt the technical environment.  Phase out: The system is withdrawn from service.
  • 15. 15 Advantages of the Waterfall Approach Develop requirements before design Design before writing code Write code before integrating it Test programs after integrating them Have milestone reviews
  • 16. 16 Any problems? Real life is not a straight line
  • 17. 17 Some Realities of Software Development 1. Requirements always change because of:  changing customer desires and user needs  initial requirements analysis inadequate  understandings and insights gained through experience  changing technology  changing competitive situation  personnel turnover: engineering, management, marketing, customer 2. The design is never right the first time  design is a creative, problem solving process 3. Frequent demonstrations of progress and early warning of problems are desirable
  • 18. 18 The Waterfall Approach The Waterfall Model requires that we (attempt to):  specify the requirements completely, consistently, correctly, and unambiguously on the first attempt  design the software completely and correctly on the first attempt  write all of the software interfaces and internal details correctly on the first attempt  integrate the components in one large step  do system testing and acceptance testing at the end The linear waterfall model is a one-pass process
  • 19. 19 Discussion of the Waterfall Model Advantages: -Identifies systems requirements long before programming begins. - Only appropriate when the requirements are well-understood Disadvantages: -Takes long time to deliver since developing requirements. - Difficult to adapt to changing requirements - Each stage in the process reveals new understanding of the previous stages, that requires the earlier stages to be revised.
  • 20. 20 Relative Cost to Fix a Software Defect
  • 21. 21 Feedback in the Waterfall Model Requirements Definition System and Software design Programming and Unit Testing Integration and System Testing Operation and Maintenance
  • 22. 22 Evolutionary development Exploratory development - Objective is to work with customers and to evolve a final system from an initial outline specification. - The system evolves by adding new features as they are proposed by customer.
  • 23. 23 Evolutionary development Rapid prototyping  Objective is to understand the system requirements.  Develop “quick and dirty” system in short time;  Expose to user comment & feedback;  Refine; Repeat until adequate system developed.  Particularly suitable where: - detailed requirements not possible; - powerful development tools (CASE) available
  • 26. 26 Evolutionary development Problems  Lack of process visibility  Systems are often poorly structured  Special skills (e.g. in languages for rapid prototyping) may be required Applicability  For small or medium-size interactive systems  For parts of large systems (e.g. the user interface)
  • 27. 27 Process iteration • Modern development processes take iteration as a fundamental concept. •System requirements ALWAYS evolve during the course of a project; so process iteration where earlier stages are reworked is always part of the process for large systems. •Iteration can be applied to any of the generic process models. •Two (related) approaches: • Incremental development • Spiral development
  • 28. 28 Incremental development  System is not a single delivery; the development and delivery broken down into increments delivering part of the required functionality.  User requirements are prioritized and the highest priority requirements are included in early increments.  Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve.
  • 29. 29 Incremental development Validate increment Develop system increment Design system architecture Integrate increment Validate system Define outline requirements Assignrequirements to increments Systemincomplete Final system
  • 31. 31 Incremental development advantages  Customer value can be delivered with each increment so system functionality is available earlier.  Early increments act as a prototype to help elicit requirements for later increments  Lower risk of overall project failure  The highest priority system services tend to receive the most testing
  • 32. 32 Incremental development problems  The process is not visible. o Managers need regular deliverables to measure progress. If systems are developed quickly, it is not cost- effective to produce documents that reflect every version of the system.  System structure tends to degrade as new increments are added. o Unless time and money is spent on refactoring to improve the software, regular change tends to corrupt its structure. Incorporating further software changes becomes increasingly difficult and costly.
  • 33. 33 Spiral Model  The spiral model is a risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping. This model was first described by Barry Boehm in his 1986 paper "A Spiral Model of Software Development and Enhancement".
  • 34. 34 Spiral development  Process is represented as a spiral rather than as a sequence of activities with backtracking.  Each loop in the spiral represents a phase in the process.  No fixed phases such as specification or design – loops in the spiral are chosen depending on what is required.  Risks are explicitly assessed and resolved throughout the process.
  • 35. 35 Spiral model of the software process Risk analysis Risk analysis Risk analysis Risk analysisProto- type 1 Prototype 2 Prototype 3 Opera- tional protoype Conceptof Operation Simulations, models, benchmarks S/W requirements Requirement validation Design V&V Product design Detailed design Code Unittest Integration testAcceptance testService Develop, verify next-levelproduct Evaluate alternatives identify, resolve risks Determine objectives alternativesand constraints Plannextphase Integration andtestplan Development plan Requirementsplan Life-cycle plan REVIEW
  • 36. 36 Spiral model sectors  Objective setting • Specific objectives for the phase are identified  Risk assessment and reduction • Risks are assessed and activities put in place to reduce key risks  Development and validation • A development model for the system is chosen which can be any of the generic models  Planning • The project is reviewed and next phase of the spiral is planned
  • 37. 37 Spiral model usage  Spiral model has been very influential in helping people think about iteration in software processes and introducing the risk-driven approach to development.  In practice, however, the model is rarely used as published for practical software development.
  • 38. 38 References Cornell University, USA http://www.cs.cornell.edu/courses/cs501/2000fa/slides.html Picture collect from: Ivan Marsic, Rutgers University Ian Sommerville, Software Engineering, 9th edition, Pearson, 2011 Roger s. pressman, Software Engineering a practitioners approach, 7th ed

Editor's Notes

  1. A series/flow of activities
  2. What is SDLC? We already know, water life cycle, frog, CO2 , Oxyzen life cycle
  3. Feasibility = work able study /practical need
  4. Picture collect from: Ivan Marsic, Rutgers University You can compare it with arrange marriage. You have to know all requirement at first. And spiral model is love marriage. requirement is changing, relationship is developing শুধু আমিই তোমার ঘর করে গেলাম। অন্য কেউ হলে চলে যেত। Same to old software
  5. Mesh model