Professional Documents
Culture Documents
Jerry Breecher Clark University: The Software Process
Jerry Breecher Clark University: The Software Process
CHAPTER 3
THE SOFTWARE
PROCESS
Jerry Breecher
Clark University
Modified from the notes of
Stephen R. Schach
Chapter 3 1
Overview
The Unified Process
WORKFLOWS
The requirements workflow
The analysis workflow
The design workflow
The implementation workflow
The test workflow
Post delivery maintenance
In this book, we cover much, but not all, of the Unified Process
The topics covered are adequate for smaller products
Chapter 3 6
Process Overview
Phases (time)
Analysis
Design
Implementation
Test
Chapter 3 7
Workflow
3.3 The Requirements Workflow (tasks)
Requirements
The aim is to determine the client’s needs Analysis
First, gain an understanding of the domain Design
How does the specific business environment work Implementation
Testing
Second, build a business model
Use UML to describe the client’s business processes
If at any time the client does not feel that the cost is justified, development
terminates immediately
It is vital to determine the client’s constraints
Deadline -- Nowadays software products are often mission critical
Parallel running
Portability
Reliability
Rapid response time
Cost
The aim of this concept exploration is to determine
What the client needs, and
Not what the client wants Chapter 3 8
Workflow
3.4 The Analysis Workflow (tasks)
Requirements
Analysis
The aim of the analysis workflow Design
To analyze and refine the requirements Implementation
Testing
Why not do this during the requirements workflow?
The requirements artifacts must be totally comprehensible by the client
The artifacts of the requirements workflow must therefore be
expressed in a natural (human) language
All natural languages are imprecise
Example from a manufacturing information system:
“A part record and a plant record are read from the database. If it
contains the letter A directly followed by the letter Q, then calculate the
cost of transporting that part to that plant”
To what does “it” refer?
The part record?
The plant record?
Chapter 3 9
Or the database?
The Analysis Workflow (contd)
Two separate workflows are needed
The requirements artifacts must be expressed in the language of the
client
The analysis artifacts must be precise, and complete enough for the
designers
Specification document (“specifications”)
Constitutes a contract
It must not have imprecise phrases like “optimal,” or “98 percent
complete”
Having complete and correct specifications is essential for
Testing, and
Maintenance
The specification document must not have
Contradictions
Omissions
Incompleteness Chapter 3 10
Software Project Management Plan
Once the client has signed off the specifications, detailed planning and
estimating begins
Chapter 3 11
Workflow
3.5 The Design Workflow (tasks)
Requirements
The goal is to refine the analysis workflow until the material is in a Analysis
form that can be implemented by the programmers Design
Many nonfunctional requirements need to be finalized at this time, Implementation
including: Choice of programming language, Reuse issues,
Testing
Portability issues.
Classical Design
Architectural design
Decompose the product into modules
Detailed design
Design each module using data structures and algorithms
Object Oriented Design
Classes are extracted during the object-oriented analysis
workflow, and
Designed during the design workflow
Mapping between Classical and OO
Classical architectural design corresponds to part of the object-oriented
analysis workflow
Classical detailed design corresponds to part of the object-oriented
design workflow Chapter 3 12
Object-Oriented Design
Accordingly
Classical architectural design corresponds to part of the
object-oriented analysis workflow
Classical detailed design corresponds to part of the
object-oriented design workflow
Chapter 3 13
The Design Workflow (contd)
Chapter 3 14
Workflow
3.6 The Implementation Workflow (tasks)
Requirements
Analysis
The aim of the implementation workflow is to Design
implement the target software product in the Implementation
Chapter 3 15
Workflow
3.7 The Test Workflow (tasks)
Requirements
Analysis
The test workflow is the responsibility of Design
Every developer and maintainer, and Implementation
The quality assurance group Testing
Chapter 3 16
3.7 Artifacts / Products
Requirements:
Starting point – every subsequent product must be traceable back to here.
Analysis
The analysis artifacts should be checked by means of a review
Representatives of the client and analysis team must be present
Design
Design reviews are essential
A client representative is not usually present
Implementation
Each component is tested as soon as it has been implemented
Unit testing
At end of each iteration, completed components are combined and tested
Integration testing
When the product appears to be complete, it is tested as a whole
Product testing
Once the completed product has been installed on the client’s computer, the
client tests it
Acceptance testing Chapter 3 17
3.8 Post delivery Maintenance
Post delivery maintenance is an essential component of
software development
More money is spent on post delivery maintenance than on all other
activities combined
Chapter 3 20
Figure 3.1
The Phases of the Unified Process (contd)
The four increments are labeled
Inception phase
Elaboration phase
Construction phase
Transition phase
Chapter 3 23
The Inception Phase: The Initial Business Case
Chapter 3 24
The Inception Phase: Risks
Chapter 3 26
The Inception Phase: Planning
Chapter 3 27
The Inception Phase: Documentation
Chapter 3 28
Phases
Elaboration Phase Inception Elaboration Construction Transition
Chapter 3 30
Phases
Construction Phase Inception Elaboration Construction Transition
Chapter 3 31
The Construction Phase: Documentation
Chapter 3 32
Phases
The Transition Phase Inception Elaboration Construction Transition
This phase is driven by feedback from the site(s) at which the beta
release has been installed
Chapter 3 33
The Transition Phase: Documentation
Chapter 3 34
Phase Deliverables
Inception Phase Elaboration Phase Construction Phase Transition Phase
The initial version of The completed The initial user All the artifacts (final
the domain model domain model manual and other versions)
The initial version of The completed manuals, as The completed
the business model business model appropriate manuals
The initial version of The completed All the artifacts
the requirements requirements (beta release
artifacts artifacts versions)
A preliminary version The completed The completed
of the analysis analysis artifacts architecture
artifacts An updated version The updated risk list
A preliminary version of the architecture The project
of the architecture An updated list of management plan
The initial list of risks risks (for the remainder of
The initial ordering of The project the project)
the use cases management plan If necessary, the
The plan for the (for the rest of the updated business
elaboration phase project) case
The initial version of The completed
the business case business case
Chapter 3 35
Why a Two-Dimensional Model?
Development
Maintenance
Chapter 3 36
Figure 2.3 (again)
Why a Two-Dimensional Model? (contd)
Evolution tree model
The Unified Process is Two-dimensional
The two-dimensional figure shows
The workflows (technical contexts), and
The phases (business contexts)
Development
Maintenance
Requirements Requirements
Analysis Analysis
Fundamental ideas:
Improving the software process leads to
Improved software quality
Delivery on time, within budget
Improved management leads to
Improved techniques
Chapter 3 41
The Levels
Level 3. Defined Level
The software process is fully documented
Managerial and technical aspects are clearly defined
Continual efforts are made to improve quality and productivity
Reviews are performed to improve software quality
CASE tools are applicable now (and not at levels 1 or 2)
Chapter 3 42
Experiences with CMM
It takes:
3 to 5 years to get from level 1 to level 2
1.5 to 3 years from level 2 to level 3
SEI questionnaires highlight shortcomings, suggest ways
to improve the process
Chapter 3 43
Chapter Summary
The Unified Process
WORKFLOWS
The requirements workflow
The analysis workflow
The design workflow
The implementation workflow
The test workflow
Post delivery maintenance