The Software Production Process
The Software Production Process
process
Ch. 7
Questions
What is the life cycle of a software
product?
Why do we need software process
models?
What are the goals of a software
process and what makes it different
from other industrial processes?
Ch. 7
Life cycle
The life cycle of a software product
from inception of an idea for a
product through
requirements gathering and analysis
architecture design and specification
coding and testing
delivery and deployment
maintenance and evolution
retirement
Ch. 7
Code&Fix
The earliest approach
Write code
Fix it to eliminate any errors that have
been detected, to enhance existing
functionality, or to add new features
Source of difficulties and deficiencies
impossible to predict
impossible to manage
Ch. 7
Process
Product
Ch. 7
Problems
The assumption is that requirements
can be fully understood prior to
development
Interaction with the customer occurs
only at the beginning (requirements)
and end (after delivery)
Unfortunately the assumption
almost never holds
Ch. 7
Process
Product
feedback
Ch. 7
10
Advantages
Reduce risks by improving visibility
Allow project changes as the
project progresses
based on feedback from the customer
Ch. 7
11
Ch. 7
12
Feasibility study
Why a new project?
cost/benefits tradeoffs
buy vs make
Requires to perform preliminary
requirements analysis
Produces a Feasibility Study Document
1. Definition of the problem
2. Alternative solutions and their expected
benefits
3. Required resources, costs, and delivery dates
in each proposed alternative solution
Ch. 7
13
Requirements engineering
activities
Ch. 7
14
Requirements engineering
Involves
eliciting
understanding
analyzing
specifying
Focus on
what qualities are needed, NOT on
how to achieve them
Ch. 7
15
What is needed
Understand interface between the
application and the external world
Understand the application domain
Identify the main stakeholders and
understand expectations
different stakeholders have different
viewpoints
software engineer must integrate and
reconcile them
Ch. 7
16
The requirements
specification document
Provides a specification for the
interface between the application
and the external world
defines the qualities to be met
17
A case study
railway automation
Who are the stakeholders?
Ch. 7
18
Case study
Utility requirements
level of usefulness of the system as
perceived by the various stakeholders
Ch. 7
19
Case study
20
Ch. 7
21
Ch. 7
22
23
Deployment
components allocated on physical
architecture
Maintenance
corrective, adaptive, perfective
Ch. 7
24
Maintenance
Requirements errors are main
cause of maintenance activities
Late discovery of requirements
errors causes increased costs
Ch. 7
25
26
Overview of software
process models
Ch. 7
27
28
Feasibility study
A waterfall model
Requirements
Design
Coding and module testing
Integration and system testing
Ch. 7
29
30
31
Ch. 7
32
Ch. 7
33