Professional Documents
Culture Documents
Software Processes: Software Engineering: A Practitioner S Approach, 7/e
Software Processes: Software Engineering: A Practitioner S Approach, 7/e
3
Five Activities of a Generic
Process framework
For many software projects, these framework activities are applied iteratively
as a project progresses. Each iteration produces a software increment that
provides a subset of overall software features and functionality.
4
Umbrella Activities
Complement the five process framework activities and help team manage and
control progress, quality, change, and risk.
Software project tracking and control: assess progress against the plan and
take actions to maintain the schedule.
Risk management: assesses risks that may affect the outcome and quality.
Software quality assurance defines and conduct activities to ensure quality.
Technical reviews: assesses work products to uncover and remove errors before
going to the next activity.
Measurement: define and collects process, project, and product measures to
ensure stakeholder’s needs are met.
Software configuration management: manage the effects of change throughout
the software process.
Reusability management: defines criteria for work product reuse and establishes
mechanism to achieve reusable components.
Work product preparation and production: create work products such as
models, documents, logs, forms and lists.
5
Adapting a Process Model
The p rocess shou ld be agile and adaptable to p roblem s. Process ad op ted for one project
might be significantly d ifferent than a p rocess ad op ted from another p roject. (to the
p roblem , the p roject, the team , organizational cultu re). Am ong the d ifferences are:
the overall flow of activities, actions, and tasks and the interd ep end encies am ong them
the d egree to w hich actions and tasks are d efined w ithin each fram ew ork activity
the d egree to w hich w ork p rod u cts are id entified and requ ired
the m anner w hich qu ality assu rance activities are ap p lied
the m anner in w hich p roject tracking and control activities are ap p lied
the overall d egree of d etail and rigor w ith w hich the p rocess is d escribed
the d egree to w hich the custom er and other stakehold ers are involved w ith the p roject
the level of au tonom y given to the softw are team
the d egree to w hich team organization and roles are prescribed
Prescriptive and Agile Process Models
7
The Essence of Practice
Have you seen similar problems before? Are there p atterns that
are recognizable in a potential solu tion? Is there existing
softw are that im plem ents the d ata, fu nctions, and featu res
that are requ ired ?
Has a similar problem been solved? If so, are elem ents of the
solu tion reu sable?
Can subproblems be defined? If so, are solu tions read ily apparent
for the su bproblem s?
Can you represent a solution in a manner that leads to effective
implementation? Can a d esign m od el be created ?
Carry Out the Plan
18
Phases of SDLC
• Requirement analysis
• Planning
• Software design
• Software
development
• Testing
• Deployment
19
Software process models
Requirements specification
Software discovery and evaluation
Requirements refinement
Application system configuration
Component adaptation and integration
• Also known as
verification and
validation model
• Verification is static
analysis
• Validation is dynamic
analysis
41
Stages of testing
Component testing
Individual components are tested independently;
Components may be functions or objects or coherent groupings
of these entities.
System testing
Testing of the system as a whole. Testing of emergent properties
is particularly important.
Customer testing
Testing with customer data to check that the system meets the
customer’s needs.
Incremental development
Develop the system in increments and evaluate each increment
before proceeding to the development of the next increment;
Normal approach used in agile methods;
Evaluation done by user/customer proxy.
Incremental delivery
Deploy an increment for use by end-users;
More realistic evaluation about practical use of software;
Difficult to implement for replacement systems as increments
have less functionality than the system being replaced.
Process measurement
You measure one or more attributes of the software process or
product. These measurements forms a baseline that helps you
decide if process improvements have been effective.
Process analysis
The current process is assessed, and process weaknesses and
bottlenecks are identified. Process models (sometimes called
process maps) that describe the process may be developed.
Process change
Process changes are proposed to address some of the identified
process weaknesses. These are introduced and the cycle
resumes to collect data about the effectiveness of the changes.
Initial
Essentially uncontrolled
Repeatable
Product management procedures defined and used
Defined
Process management procedures and strategies defined
and used
Managed
Quality management strategies defined and used
Optimising
Process improvement strategies defined and used
30/10/2014 Chapter 2 Software Processes 69
Key points