Title: CS 6v81 Software Process Modeling, Simulation
1CS 6v81Software Process Modeling,Simulation
Control
- João W. Cangussu
- cangussu_at_utdallas.edu
- www.utdallas.edu/cangussu
2Description
The study of modeling, monitoring, and control
techniques applicable to the Software Development
Process (SDP) is the focus of this course.
Important aspects of the SDP such as quality
control, measurement, and scheduling will be
addressed under a modeling/simulation perspective.
3Main Topics
- Software Process
- Discrete Event Simulation
- Software Metrics
- Orthogonal Defect Classification
- Feedback Software Process Control
4When/Why use simulation - I
- Simulation enables the study of complex system.
- Informational, organizational, and environmental
changes can be simulated. - The knowledge gained in designing a simulation
model may be of great value toward suggesting
improvement in the system under investigation. - By changing simulation inputs and observing the
resulting outputs, valuable insight may be
obtained into which variables are most important
and how variables interact.
5When/Why use simulation - II
- Simulation can be used to experiment with new
designs or policies prior to implementation. - Simulation can be used to verify analytic
solutions. - By simulating different capabilities for a
machine, requirements can be determined. - Animation shows a system in simulated operation
so that the plan can be visualized. - The modern system is so complex that the
interactions can be treated only through
simulation.
6When not use Simulation
- when the problem can be solved using common
sense - when the problem can be solved analytically
- when it is easier to perform direct experiments
- when the costs exceed the savings
- when the resources or time are not available
- when ability to verify and validate the model is
very limited - when managers have unreasonable expectations
- when system behavior is too complex or cannot be
defined
7Advantages - I
- New policies, operating procedures, decision
rules, etc. can be explored without disrupting
ongoing operations of the real system. - New hardware designs, physical layouts,
transportation systems, and so on, can be tested
without committing resources for their
acquisition. - Hypotheses about how or why certain phenomena
occur can be tested for feasibility. - Time can be compressed or expanded allowing for
a speedup or slowdown of the phenomena under
investigation.
8Advantages - II
- Insight can be obtained about the interaction of
variables. - Insight can be obtained about the importance of
variables to the performance of the system. - Bottleneck analysis can be performed
- A simulation study can help in understanding how
the system operates rather than how individuals
think the system operates. - "What-if" questions can be answered.
9Disadvantages
- Model building requires special training.
- Simulation results may be difficult to interpret.
- Simulation modeling and analysis can be time
consuming and expensive. - Simulation is used in some cases when an
analytical solution is possible, or even
preferable.
10Steps in Simulation Study
1 Problem formulation Every study should begin
with a statement of the problem
2 Setting of objectives and overall project plan
The objectives indicate the questions to be
answered by simulation.
3 Model conceptualization The construction of a
model of a system is probably as much art as
science
4 Data collection There is a constant interplay
between the construction of the model and the
collection of the needed input data Shannon,
1975. As the complexity of the model changes,
the required data elements may also change
11Steps in Simulation Study
5 Model translation the model must be entered
into a computer-recognizable format.
6 Verification Is the computer program
performing properly?
7 Validation Does the simulation model replicate
this system measure?
8 Experimental design. The alternatives that are
to be simulated must be determined
9 Production runs and analysis Production runs,
and their subsequent analysis, are used to
estimate measures of performance for the system
designs that are being simulated.
12Steps in Simulation Study
10 More runs? determines if additional runs are
needed and what design those additional
experiments should follow.
11 Documentation and Reporting There are two
types of documentation program and progress.
12 Implementation.
13Possible Industry Case Studies
- Sun Microsystems
- Travelocity
- Nortel
- Texas Instruments
14State Variable Approach Outline
- Feedback State Model
- Calibration Algorithm
- Simulation Results
- Concluding Remarks
15Regular Feedback Approach
Initial Settings (wf,?)
16State Variable Approach
Actual STP
STP State Model
17Problem Scenario
r0
where cpi check point i
r remaining errors
rf
t- time
cp2
cp3
cp4
cp5
cp6
cp7
cp8
cp9
cp1
t0
deadline
18Feedback Application
19Application of the Calibration Algorithm
1 set initial values and generate data 2 pn
0 3 while accuracy 15 4 pn 5 Calibrate
Model using data from period 1 to pn 6 compute
new accuracy 7 end
20Data Generation
a is generated for time intervals of 10 days
21Initial Schedule Slippage
22Schedule Slippage After Calibration
23Schedule Slippage After Calibration ()
24Convergence Period
68.5 required at most 11 of total time to
converge
90 required at most 21 of total time to
converge
25Conclusions
- State of the art techniques
- Modeling of real development processes
- Are you registered?