Simulation-based Software Process Modeling and Evaluation

Decision support for planning and improving software development projects is a crucial success factor. The special characteristics of software development aggregate these tasks in contrast to the planning of many other processes, such as production processes. Process simulation can be used to support decisions on process alternatives on the basis of existing knowledge. Thereby, new development knowledge can be gained faster and more cost-effectively. This chapter gives a short introduction to experimental software engineering, describes simulation approaches within that area, and introduces a method for systematically developing discrete-event software process simulation models. Advanced simulation mod-eling techniques will point out key problems and possible solutions, including the use of visualization techniques for better simulation result interpretation.

[1]  T. Pear The Nature of Skill , 1928, Nature.

[2]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[3]  T. Gal On Efficient Sets in Vector Maximum Problems — A Brief Survey , 1986 .

[4]  Mathai Joseph Software engineering : theory, experiment, practice or performance , 1988 .

[5]  R. S. Laundy,et al.  Multiple Criteria Optimisation: Theory, Computation and Application , 1989 .

[6]  Kurt Hornik,et al.  Multilayer feedforward networks are universal approximators , 1989, Neural Networks.

[7]  Kurt Hornik,et al.  Universal approximation of an unknown mapping and its derivatives using multilayer feedforward networks , 1990, Neural Networks.

[8]  Robert Tibshirani,et al.  An Introduction to the Bootstrap , 1994 .

[9]  Robert Tibshirani,et al.  An Introduction to the Bootstrap CHAPMAN & HALL/CRC , 1993 .

[10]  Philippe Vincke,et al.  Multicriteria Decision-aid , 1993 .

[11]  Marc Roubens,et al.  Multiple criteria decision making , 1994 .

[12]  Jay W. Forrester,et al.  The Beginning of System Dynamics , 1995 .

[13]  Michael I. Jordan Why the logistic function? A tutorial discussion on probabilities and neural networks , 1995 .

[14]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[15]  Lionel C. Briand,et al.  Practical guidelines for measurement-based process improvement , 1996, Softw. Process. Improv. Pract..

[16]  L. Codispoti The limits to growth , 1997, Nature.

[17]  Ioana Rus,et al.  Modeling the impact on cost and schedule of software quality engineering practices , 1998 .

[18]  Ken-ichi Matsumoto,et al.  A learning curve based simulation model for software development , 1998, Proceedings of the 20th International Conference on Software Engineering.

[19]  L. F. Johnson On measuring programmer team productivity , 1998, Conference Proceedings. IEEE Canadian Conference on Electrical and Computer Engineering (Cat. No.98TH8341).

[20]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[21]  David Raffo,et al.  A model of the software development process using both continuous and discrete models , 2000, Softw. Process. Improv. Pract..

[22]  Alan M. Christie,et al.  Organizational and social simulation of a software requirements development process , 2000, Softw. Process. Improv. Pract..

[23]  John D. Sterman,et al.  System Dynamics: Systems Thinking and Modeling for a Complex World , 2002 .

[24]  Thomas Hanne,et al.  Global Multiobjective Optimization Using Evolutionary Algorithms , 2000, J. Heuristics.

[25]  Paolo Donzelli,et al.  Hybrid simulation modelling of the software process , 2001, J. Syst. Softw..

[26]  D. Krahl,et al.  The Extend simulation environment , 2000, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[27]  David Raffo,et al.  Application of a hybrid process simulation model to a software development project , 2001, J. Syst. Softw..

[28]  Ken-ichi Matsumoto,et al.  A Knowledge-Based Software Process Simulation Model , 2002, Ann. Softw. Eng..

[29]  J Swanson,et al.  Business Dynamics—Systems Thinking and Modeling for a Complex World , 2002, J. Oper. Res. Soc..

[30]  Hafedh Mili,et al.  Reuse based software engineeing : techniques, organization, and measurement , 2002 .

[31]  A. Sarishvili Neural Network Based Lag Selection, for Multivariate Time Series , 2002 .

[32]  Ove Armbrust,et al.  Using Empirical Knowledge for Software Process Simulation: A Practical Example , 2003 .

[33]  Dieter Rombach,et al.  Creating an Advanced Software Engineering Laboratory by Combining Empirical Studies with Process Simulation , 2003 .

[34]  Abhijit Gosavi,et al.  Simulation-Based Optimization: Parametric Optimization Techniques and Reinforcement Learning , 2003 .

[35]  Forrest Shull,et al.  The empirical investigation of Perspective-Based Reading , 1995, Empirical Software Engineering.

[36]  Thomas Hanne,et al.  Scheduling in Software Development Using Multiobjective Evolutionary Algorithms , 2005 .

[37]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[38]  Victor R. Basili,et al.  Empirical Software Engineering Issues. Critical Assessment and Future Directions, International Workshop, Dagstuhl Castle, Germany, June 26-30, 2006. Revised Papers , 2007, Empirical Software Engineering Issues.

[39]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[40]  W. Marsden I and J , 2012 .

[41]  Neil A. Ernst,et al.  The Journal of Systems and Software , 2022 .

[42]  Jürgen Münch,et al.  A Systematic Methodology for Developing Discrete Event Simulation Models of Software Development Processes , 2014, ArXiv.