Software Process Simulation Flashcards

1
Q

Reasons for simulation

A
  • Human abilities are unknowningly weak in some areas.
  • Software development appears to be a complex system
  • Software project managers are inevitably trained and assessed ‘on the job’
  • The cost of simulation has plummeted in recent years
  • Process improvement is recognized as a beneficial approach
  • Other industries have reported very successful applications of management simulation
  • Software projects are like many other businesses
  • Good simulations can lead to good process automation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Generation of process alternatives

A

Input Parameters

Design

Coding

Test

Output Parameters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a system?

A

A collection of elements that operate together for a common purpose. It appears as a self-contained unit with a defined structure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a model?

A

An idealized, simplified prepresentation of a real object, system, or other subset of reality, but still similar with respect to certain aspects. it supports the goal to better study certain properties of the actual subject.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a simulation?

A

Simulation of a system means to conduct experiments with a model, representing the real system also with respect to its dynamic behavior.

The simulation model can be manipulated in a way that often would be impossible, dangerous, too expensive, or too time consuming with the real system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Simulation Modles

A

Computerized model that:

  • Represents an abstraction of a (complex and) dynamic system
  • Is represented and can be manipulated by a computer

Complexity may appear in form of:

  • System uncertain and stochastic influences
  • Dynamic (time dependent) system bejavior
  • Feedback mechanisms
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Simulating software processes helps to…

A
  • Learn and improve
  • Understand and train
  • Forecast and plan
  • Guide and control
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Advantges of Simulation and Modeling

A
  • Faster and less expensive compared to experiments with real systems (e.g. pilot projects)
  • Focuses with respect to abstraction level and viewpoint
  • Repeatable with change or hypothetical starting conditions and external influences
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Disadvantages of Simulation and Modeling

A
  • The validity of simulation results is difficult to judge (dependent on model validity, correct starting conditions, occurrence of external influences)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Limitations of Simulation and Modeling

A
  • You can get dazzled by the precision of the numbers
  • The illusion of control may be greater than the reality
  • Noise in the system may suggest patterns that do not really exist
  • Accurately quantifying non-numeric information can be difficult
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Model Verification

A
  • Checks the internal correctness (appropriateness) of the model
  • Question: Has the model been constructed right?
  • Requires expert knowledge about the modeling technique (role: modeling expert)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Model Validation?

A
  • Checks the external correctness (appropriateness) of the model
  • Question: Has the right model been constructed?
  • Requires expert knowledge about the real system (role: system expert)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Model Scope?

A
  • A phase or portion of th elife cycle (e.g. design phase, code inspection)
  • A development project
  • Multiple, concurrent projects (e.g. across a department or division)
  • Product evolution
  • Organizational strategy development
  • Each of tehse categories can be subdivided according to
    • Time span (short, medium, long)
    • Breadth (less than one product/project team, one product/project team, multiple products/projects teams)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Continuous Simulation

A
  • Ex. Water flow: If the water flow is treated as an aggregation, the flow can eb described a (time-) continuous way, i.e., by differential equations.
  • A continuous simulation model represents a system for which the state variables change continuously over time.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Discrete Simulation

A
  • Ex. Water flow: Is discrete if the characteristics and movements of individual molecules are important.
  • A discrete simulation model is a model of a system which is represented by state variables that change instantaneously at certain points in time, i.e. when certain events.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Continuous Models Advantages

A
  • Capture the stability or instability of feedback loops
  • Impact factors like experience, fatigue schedule pressure, fatigure are easier to model.
17
Q

Continuous Model Disadvantages

A
  • Sequential activities in the process are only possible to model with additional mechanisms
  • All items (e.g. modules, developers) are equal
  • Distributions over properties of items are difficult to model.
18
Q

Discrete Event Model Advantages

A
  • Entities can contain unique values for attributes
  • Usage of distributions for code complexity, programmer capability, size, # of defects, …
19
Q

Discrete Event Model Disadvantages

A
  • Continuous variables are only updated at the event times
  • Computation errors may lead to instability in feedback loops
  • Parallel activities are difficult to model.
20
Q

System Dynamics

A
  • The basic concept of System Dynamics is Systems Thinking (systems oriented / holistic / network oriented thinking)
  • Systems Thinking is characterized by
    • Thinking in cause-effect mechanisms instead of static correlations (white-box vs. black-box)
    • Considering multi-casual conjunctions (no mono-casual thinking)
    • Taking feedback into account
    • Considering the dynamic (not only the static) complexity
    • Considering reality to be a closed system.
  • A graphic modeling language makes modeling easy
  • Mature tool support is available at relative low costs
21
Q

Simulations to support multi-criteria decision-making

A

In the tension between cost, time and quality; simulations help in mastering processes and process improvement.