ser_ch3
TRANSCRIPT
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 1/51
© 2005 IAS, Universität Stuttgart 1
SER
Processes and Process Models
3.1 Processes
3.2 Process Models
3.3 Real-Time Development Process
3.4 Workflows and Workflow Management
3.5 Standards and Process Tailoring
3.6 Software Process Improvement
3.7 Summary
Software Engineering for Real-Time Systems
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 2/51
© 2005 IAS, Universität Stuttgart 2
SER
Objectives
– To introduce processes and process models
– To describe a number of different process models and when they
may be used
– To outline process models for specific software engineering activities
– To underline the importance of standards for software engineering
– To explain software process improvement.
Software Engineering for Real-Time Systems
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 3/51
© 2005 IAS, Universität Stuttgart 3
SER
Processes
A process is a
Sequence of activities to reach a defined objective.
3.1 Processes
AB C
D E
persons(know-how,motivation,
management)
infrastructure,resources,
tools
methods
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 4/51
© 2005 IAS, Universität Stuttgart 4
SER
– Coherent sets of activities for specifying, designing, implementing and
testing software systems
– A structured set of activities required to develop a software system
• Specification
•Design
• Validation
• Evolution
– A software process model is an abstract representation of a process.
It presents a description of a process from some particular perspective.
3.1 Processes
Software Processes
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 5/51
© 2005 IAS, Universität Stuttgart 5
SER
Working with processes
3.1 Processes
process owner Processimprovement
metrics;
review results;project feedback
process
descriptionTechnology
change
trainingcoaching
User feedback
rolesWork products
check liststools
Development projectBusiness objectives
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 6/51
© 2005 IAS, Universität Stuttgart 6
SER
Processes and Process Models
Software Engineering for Real-Time Systems
3.1 Processes
3.2 Process Models
3.3 Real-Time Development process
3.4 Workflows and Workflow Management
3.5 Standards and Process Tailoring
3.6 Software Process Improvement
3.7 Summary
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 7/51
© 2005 IAS, Universität Stuttgart 7
SER
Process Models
In general:
Abstract representation of a (set of) process(es)
Description of a sequence of processes or activities,
that produce or process work products
3.2 Process Models
Software engineering:
A model (also plan or guideline),
which defines and aggregates processes,
methods, tools and roles
towards the development of a software system
IAS Process Model
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 8/51
© 2005 IAS, Universität Stuttgart 8
SER
Archetypes
3.2 Process Models
1. Waterfall
Sequential towards one single result All others build upon this archetype!
2. Evolutionary
Builds upon results and creates iterationsV. 2V. 1
3. Incremental
Small steps towards final release.
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 9/51
© 2005 IAS, Universität Stuttgart 9
SER3.2 Process Models
Waterfall model
possibility of overlapping stages
planning
definition
design
Implemen-
tation, test
Acceptance,delivery
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 10/51
© 2005 IAS, Universität Stuttgart 10
SER3.2 Process Models
Waterfall model problems
– Inflexible partitioning of the project into distinct sequential stages
– This makes it difficult to respond to changing customer requirements
– Therefore, this model is only appropriate when the requirements are
well-understood and frozen
– First tangible results only available with successful test. This makes project
management very difficult. Often delays and poor quality result from this
approach.
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 11/51
© 2005 IAS, Universität Stuttgart 11
SER
Evolutionary 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
3.2 Process Models
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 12/51
© 2005 IAS, Universität Stuttgart 12
SER
Example: Spiral model of the software process
3.2 Process Models
PROGRESS
THROUGH
STEPS
CUMULATIVE
COST
EVALUATE ALTERNATIVES,
IDENTIFY, RESOLVE RISKSDETERMINE OBJECTIVES,
ALTERNATIVES,
CONSTRAINTS
DEVELOP, VERIFY
NEXT-LEVEL PRODUCT
PLAN NEXT PHASES
INTEGRATION
AND TEST
DEVELOP-
MENTPLAN
ROTS PLANLIFE CYCLE
PLAN
CONCEPT
OF OPERA-TION
SOFTWARE
ROTS
REQUIREMENTS
VALIDATION
DESIGN, VALIDATIONNAND VERIFICA-
TION
SOFTWARE
PRODUCT
DESIGN
RISK ANAYSIS
RISK ANAYSIS
RISK ANAYSIS
R
A PROTO-
TYPE1
PROTO-
TYPE2
PROTO-
TYPE 3
OPERATIONAL
PROTOTYPE
IMPLEMEN-TATION
ACCEPTANCETEST
INTEGRA-TION AND
TEST
UNIT
TESTCODE
DETAILEDDESIGN
1
COMMITMENT
PARTITION
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 13/51
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 14/51
© 2005 IAS, Universität Stuttgart 14
SER
Evolutionary development problems
– Problems• Lack of process visibility
• Systems are often poorly structured
• Special skills (e.g. in languages for rapid prototyping) may
be required
• Unclear upfront resource estimation and allocation
– Applicability
• For small or medium-size interactive systems
• For parts of large systems (e.g. the user interface)
• For short-lifetime systems
3.2 Process Models
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 15/51
© 2005 IAS, Universität Stuttgart 15
SER
Application of evolutionary approach:
Reuse-oriented development
– Based on systematic reuse where systems are integrated from existing
components or COTS (Commercial-off-the-shelf) systems
– Process stages
• Component analysis
• Requirements modification• System design with reuse
• Development and integration
– This approach is becoming more important but still limited experience
with it
– Typically applied for OO systems (frameworks, libraries)
3.2 Process Models
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 16/51
© 2005 IAS, Universität Stuttgart 16
SER
Reuse-oriented development
3.2 Process Models
look-upclasses
in library
extract
classesif available
engineerclasses
if unavailable
constructnth iteration
of system
put newclasses
in library
OO analysis
OO designOO programming
OO testing
identifycandidate
classes
Customer
Communication
Planning Risk
Analysis
CustomerEvaluation Engineering,Construction &
Release
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 17/51
© 2005 IAS, Universität Stuttgart 17
SER
– Rather than deliver the system as a single delivery, the development and
delivery is broken down into increments with each increment delivering part
of the required functionality
– User requirements are prioritised 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
3.2 Process Models
Incremental development
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 18/51
© 2005 IAS, Universität Stuttgart 18
SER3.2 Process Models
Incremental development (1)
stage X
stage X-1
stage X+1
pro-
ducts
pro-
ductsstage
planning
realization
analytical
QA
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 19/51
© 2005 IAS, Universität Stuttgart 19
SER
Incremental development (2)
3.2 Process Models
increment 1
delivery of
1st increment
delivery of
2nd increment
delivery of3rd increment
calendar time
analysis design code test
increment 2analysis design code test
increment 3 analysis design code test
Stable build, integration test, system test
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 20/51
© 2005 IAS, Universität Stuttgart 20
SER
– 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
3.2 Process Models
Incremental development advantages
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 21/51
© 2005 IAS, Universität Stuttgart 21
SER
Application of incremental development:
Extreme programming
– Development and delivery of very small increments of functionality
– Relies on constant code improvement, user involvement in the
development team and pair wise programming
3.2 Process Models
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 22/51
© 2005 IAS, Universität Stuttgart 22
SER3.2 Process Models
Comparing the 3 process archetypes
ModelProject size and
complexity
Knowledge
of requirements
Changes
of requirements
Sche-
dule
smallCom-
plex
huge &
long
well-
knownvague never
Some-
timesoften urgent
Waterfall + o - + - + - - -
Evolutionary o + + o + + + o -
Incremental o + + + - + + o +
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 23/51
© 2005 IAS, Universität Stuttgart 23
SER
Process Models for Specific Activities
3.2 Process Models
Typically process models are further broken down (hierarchy) to provideinsight into specific processes with a functional view
– project management
– requirements engineering
– software design – testing
– quality assurance
– configuration management
– change management – software evolution
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 24/51
© 2005 IAS, Universität Stuttgart 24
SER
Processes and Process Models
Software Engineering for Real-Time Systems
3.1 Processes
3.2 Process Models
3.3 Real-Time Development process
3.4 Workflows and Workflow Management
3.5 Standards and Process Tailoring
3.6 Software Process Improvement
3.7 Summary
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 25/51
© 2005 IAS, Universität Stuttgart 25
SER
RT systems design process (1)
– Identify the stimuli to be processed and the required responses to
these stimuli
– For each stimulus and response, identify the timing constraints
– Aggregate the stimulus and response processing into concurrent
processes. A process may be associated with each class of stimulusand response
3.3 Real-Time Development process
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 26/51
© 2005 IAS, Universität Stuttgart 26
SER
RT systems design process (2)
– Design algorithms to process each class of stimulus and response. These
must meet the given timing requirements
– Design a scheduling system which will ensure that processes are started in
time to meet their deadlines
– Integrate using a real-time executive or operating system
3.3 Real-Time Development process
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 27/51
© 2005 IAS, Universität Stuttgart 27
SER
Timing constraints
– May require extensive simulation and experiment to ensure that these are
met by the system
– May mean that certain design strategies such as object-oriented design
cannot be used because of the additional overhead involved
– May mean that low-level programming language features have to beused for performance reasons
3.3 Real-Time Development process
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 28/51
© 2005 IAS, Universität Stuttgart 28
SER
Hardware and software design
3.3 Real-Time Development process
Partition
requirements
Softwarerequirements
Hardwarerequirements
Softwaredesign
Hardwaredesign
Establishsystemrequirements
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 29/51
© 2005 IAS, Universität Stuttgart 29
SER
Processes and Process Models
Software Engineering for Real-Time Systems
3.1 Processes
3.2 Process Models
3.3 Real-Time Development process
3.4 Workflows and Workflow Management
3.5 Standards and Process Tailoring
3.6 Software Process Improvement
3.7 Summary
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 30/51
© 2005 IAS, Universität Stuttgart 30
SER
Workflows and Workflow Management
Workflows are sets or relates processes that are
combined to have an end-to-end perspective
Workflow Management is the effective and efficient
handling of processes with that end-to-end
perspective, instead of local optimisation.
3.4 Workflows and Workflow Management
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 31/51
© 2005 IAS, Universität Stuttgart 31
SER3.4 Workflows and Workflow Management
Workflows Cross Process Boundaries
area of operations
development
quality
assurance
configurationmanagement
project
management
activities and resultsin area of operations
legend: activity
result of an activity
relation
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 32/51
© 2005 IAS, Universität Stuttgart 32
SER
Workflows Facilitate Early Checks
3.4 Workflows and Workflow Management
from
activity condition
SWE 1 approved
SWE 1
-
-
-
-
approved
-
-
-
-
interface plan,
segment-interfaces
DP integration plan
DP design
DP requirements
system design
system requirements
productuntil
activity condition
- -
-
SWE 3
SWE 3, 5, 6,
SWE 9
SWE 5
-
submitted
submitted
submitted
under way
QA
CM
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 33/51
© 2005 IAS, Universität Stuttgart 33
SER
Processes and Process Models
Software Engineering for Real-Time Systems
3.1 Processes
3.2 Process Models
3.3 Real-Time Development process
3.4 Workflows and Workflow Management
3.5 Standards and Process Tailoring
3.6 Software Process Improvement
3.7 Summary
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 34/51
© 2005 IAS, Universität Stuttgart 34
SER
Standards and Process Tailoring
– Standards are a necessary precondition for reuse and flexibleorganizations
– With standardized procedures the completeness of results can be
guaranteed best - even in crisis situations.
– Defined intermediary results facilitate early validation and verification.
– Standardized usage of design notations (e.g. UML) facilitates readability,
maintainability and code generation / round-trip engineering
– Standardized processes improve estimation and accounting of expenses.
– Standards allow distributed, global development. They help with
outsourcing as well as subcontracting.
3.5 Standards and Process Tailoring
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 35/51
© 2005 IAS, Universität Stuttgart 35
SER
IAS Software Process Standard
3.5 Standards and Process Tailoring
PM
QA CM
PM
QA CM
SEtest documents
developmentdocuments
Component test
Project planning
Definition
Design
ImplementationIntegration
Project attendance Project conclusion
procedure manual
developmentenvironment
project plan
PlanningReview
DefinitionReview
DesignReview
ImplementationReview
AcceptanceReview
specification control,checking
Configuration Administration
Data Assurance,Rights
Administration
projectconclusion report
reports,scheduling
IAS
student work
components
specification
programs,documents
test documents,protocols
Database
DataBase
programs,documents,protocols,KID
project plan,protocols
QA-require.,protocols
specification
QA-require.
System test
Test planning
released documents
project data
project data
QA require.QA result
activities and information flow
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 36/51
© 2005 IAS, Universität Stuttgart 36
SER
Tailoring means getting concrete
3.5 Standards and Process Tailoring
?!
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 37/51
© 2005 IAS, Universität Stuttgart 37
SER
Tailoring Steps
3.5 Standards and Process Tailoring
Standard
selectionrecommendations resp.cancellation conditions
selection of necessary
activities / products
identification of other project
specific execution conditions
call for bidding tailoring (at the beginning of a project)
project manual
evaluation of the project specific execution conditions
Specific project plan
technical tailoring(during progression of the project)
project specific
adjustment
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 38/51
© 2005 IAS, Universität Stuttgart 38
SER
Managing Process Diversity
3.5 Standards and Process Tailoring
Process Model
Project Factors
commercialprocess out of
the box
one tailoredprocess for
project
managedprocess
diversity
System Size small large
Legacy Impacts greenfield big legacy
Component Structure few, isolated,
standardized
many, complex
interactions
Project Organization small,
collocated
distributed,
virtual teams
...
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 39/51
© 2005 IAS, Universität Stuttgart 39
SER
Tools Support: process portal of SCT, ProNet
3.5 Standards and Process Tailoring
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 40/51
© 2005 IAS, Universität Stuttgart 40
SER
Tools Support: Rational Unified Process
3.5 Standards and Process Tailoring
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 41/51
© 2005 IAS, Universität Stuttgart 41
SER
Processes and Process Models
Software Engineering for Real-Time Systems
3.1 Processes
3.2 Process Models
3.3 Real-Time Development process
3.4 Workflows and Workflow Management
3.5 Standards and Process Tailoring
3.6 Software Process Improvement
3.7 Summary
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 42/51
© 2005 IAS, Universität Stuttgart 42
SER
Software Process Improvement
Software process improvement means success:
– identifying business objectives related to SW development
– prioritising them
– assessing and analysing own status
– agreeing on dedicated actions to overcome weaknesses and build on
strengths towards achieving the business objectives
– implementing these actions like a regular project
– measuring improvement
3.6 Software Process Improvement
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 43/51
© 2005 IAS, Universität Stuttgart 43
SER
Software Process Maturity is ...
3.6 Software Process Improvement
“The extent to which a specific process is
explicitly defined, managed, measured, and
effective. Maturity implies a potential for growth
in capability and indicates both the richness...and
consistency with which software processes are
applied across the organization.”
“The extent to which a specific process is
explicitly defined, managed, measured, and
effective. Maturity implies a potential for growth
in capability and indicates both the richness...and
consistency with which software processes are
applied across the organization.”
Capabi l i ty Matur i ty Model
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 44/51
© 2005 IAS, Universität Stuttgart 44
SER
The Capability Maturity Model
3.6 Software Process Improvement
Optimizing (5)Focus on processimprovement
Optimizing (5)Focus on process
improvement
Managed (4)Process measured
and controlled
Managed (4)Process measured
and controlled
Defined (3)Process characterized,fairly well understood
Defined (3)Process characterized,fairly well understood
Repeatable (2)Can repeat previously
mastered tasks
Repeatable (2)Can repeat previously
mastered tasks
Initial (1)Unpredictable &poorly controlled
Initial (1)Unpredictable &poorly controlled
ContinuousImprovement
ProcessMeasurement
ProcessDefinition
BasicManagement
control
INOU
INOUT
OUTIN
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 45/51
© 2005 IAS, Universität Stuttgart 45
SER
Sustainable Change Means Focus on Business Objectives
3.6 Software Process Improvement
EffectiveChanges
ActionPlanning
Assessment
Feedback Loop• Project performance• Customer Satisfaction• Metrics• Quality Checks• Root Cause Analysis
Process Improvement …• … evaluates results• … draws conclusions• … is focused on business
BusinessObjectives
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 46/51
© 2005 IAS, Universität Stuttgart 46
SER
IDEAL: A Model to Improvement for Software Organizations
3.6 Software Process Improvement
5 phases - 47 taskstowards CMM-based
tangible improvements
SetContext
BuildSponsor-ship
Charter Infra-structure
CharacterizeCurrent &DesiredStates
DevelopRecommen-
SetPriorities Develop
Approach
Plan Actions
CreateSolution
Pilot/TestSolution
RefineSolution
ImplementSolution
AnalyzeandValidate
ProposeFuture
Actions
Stimulus
forChange
Initiating
Diagnosing
Establishing
Acting
Learning
dations
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 47/51
© 2005 IAS, Universität Stuttgart 47
SER
Yet another view
3.6 Software Process Improvement
L5
From our perspective,level 1 organizations are
mostly running into walls,
level 2 and 3 organizations are
learning where the walls are,
and level 4 and 5 organizations are
building walls for the other guys
to run into.
John Major
prev. exec. VP Qualcom and Motorola
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 48/51
© 2005 IAS, Universität Stuttgart 48
SER
Processes and Process Models
Software Engineering for Real-Time Systems
3.1 Processes
3.2 Process Models
3.3 Real-Time Development process
3.4 Workflows and Workflow Management3.5 Standards and Process Tailoring
3.6 Software Process Improvement
3.7 Summary
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 49/51
© 2005 IAS, Universität Stuttgart 49
SER3.7 Summary
Summary (1)
– Software processes are the activities involved in producing and evolving asoftware system. They are represented in a software process model
– General activities within all process models are requirements engineering,
design and implementation, validation and evolution
• Requirements engineering is the process of developing a software
specification
• Design and implementation processes transform the specification to
an executable program
• Validation involves checking that the system meets to its specification
and user needs• Evolution is concerned with modifying the system after it is in use
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 50/51
© 2005 IAS, Universität Stuttgart 50
SER
Summary (2)
– Generic process models describe the organisation of software processes
– There are 3 archetypes of process models
• Waterfall
• Evolutionary
• Incremental
– Workflows are collections of related interacting processes.
– Standards facilitate reuse and cooperation.
– The Capability Maturity Model is a de-facto standard for successful
process improvement.
3.7 Summary
8/12/2019 ser_ch3
http://slidepdf.com/reader/full/serch3 51/51
© 2005 IAS, Universität Stuttgart 51
SER
Further Information
3.7 Summary
Successful Software ProcessImprovement
by Robert B. Grady$49.99Hardcover - 350 pages (May1997)Prentice HallISBN: 0136266231
Extremely useful compilation onprocesses, process management
and process improvement.Practical insight into what HP didto improve their variety of SWprocesses.