Software Process Simulation Flashcards
Reasons for simulation
- 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
Generation of process alternatives
Input Parameters
Design
Coding
Test
Output Parameters
What is a system?
A collection of elements that operate together for a common purpose. It appears as a self-contained unit with a defined structure.
What is a model?
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.
What is a simulation?
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.
Simulation Modles
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
Simulating software processes helps to…
- Learn and improve
- Understand and train
- Forecast and plan
- Guide and control
Advantges of Simulation and Modeling
- 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
Disadvantages of Simulation and Modeling
- The validity of simulation results is difficult to judge (dependent on model validity, correct starting conditions, occurrence of external influences)
Limitations of Simulation and Modeling
- 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
What is Model Verification
- 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)
What is Model Validation?
- 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)
What is Model Scope?
- 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)
Continuous Simulation
- 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.
Discrete Simulation
- 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.