This paper deals with simulation modeling of software processes and proposes the combination of three traditional modeling methods (analytical, continuous and discrete-event) into a unique hybrid two-level modeling approach. At the higher abstraction level, the process is modeled by a discrete-event queuing network, which represents the component activities (i.e. service stations), their interactions, and the exchanged artifacts. The implementation details of the introduced activities are given at the lower abstraction level, where the analytical and continuous methods are used. The proposed approach is applied to a waterfall-based software process to study the effects of requirements instability on various process quality attributes, as effort, delivery time, productivity, rework percentage and product quality. Simulation results show that the use of the model can provide both qualitative and quantitative suggestions on how to change the software process to improve its quality or to achieve specific organizational goals. The model is primarily designed to represent the behavior of hypothetical projects, to allow researchers to view the implications of their assumptions. However, with small improvements, it can be extended to become a tool for analyzing and predicting the behavior of actual projects. Copyright © 2001 John Wiley & Sons, Ltd.
[1]
Stephen H. Kan,et al.
Metrics and Models in Software Quality Engineering
,
1994,
SOEN.
[2]
Shari Lawrence Pfleeger,et al.
Software Metrics : A Rigorous and Practical Approach
,
1998
.
[3]
Gregory A. Hansen,et al.
Simulating Software Development Processes
,
1996,
Computer.
[4]
Paolo Donzelli,et al.
A multi-level hybrid approach to model software development processes
,
1997
.
[5]
Barry W. Boehm,et al.
Software Engineering Economics
,
1993,
IEEE Transactions on Software Engineering.
[6]
Stuart E. Madnick,et al.
Software Project Dynamics: An Integrated Approach
,
1991
.
[7]
David Raffo,et al.
A model of the software development process using both continuous and discrete models
,
2000
.
[8]
Raffaela Mirandola,et al.
A New Approach to Performance Modelling of Client/Server Distributed Data Base Architectures
,
1997,
Perform. Evaluation.
[9]
G. Iazeolla,et al.
Simulation Modeling of Software Development Processes
,
1996
.
[10]
Ware Myers,et al.
Measures for Excellence: Reliable Software on Time, Within Budget
,
1991
.