Abstract :
Simulations are today very common and are
used frequently for education, testing, research,
development, gaming etc. No matter in what area it is
used, it is used for the same purpose, to imitate a realistic
event. With a simulation, certain factors are manipulated
depending on what event is being simulated, like for
example at a school for pilots, they use a simulator to
imitate the flight. However, this report is not about flight
simulators, but about how to proceed to develop a game,
which simulates a certain software development project.
By developing a simulation model, based on a specific
software development model, that model could be
implemented in a project game, this to give the player the
possibility to control and steer certain events in the
project and to vary the result of the game. Why can
simulation enhance traditional software engineering? An
important factor is that it provides insights into complex
process behavior. Like many processes, software
processes can contain multiple feedback loops, such as
associated with correction of defects in design or code.
Delays resulting from these effects may range from
minutes to years. The complexity resulting from these
effects and their interactions makes it almost impossible
for human (mental) analysis to predict the consequences.
Unfortunately, traditional process analysis does not shed
much light on these behavioral issues, and the usual way
to resolve them is to run the actual process and observe
the consequences. This can be a very costly way to
perform process improvement.