[PDF][PDF] Software process modeling with Bayesian belief networks

S Bibi, I Stamelos - … of 10th International Software Metrics Symposium …, 2004 - users.uowm.gr
Proceedings of 10th International Software Metrics Symposium (Metrics 2004), 2004users.uowm.gr
Though it is widely accepted that uncertainty influences software development it is rarely
captured explicitly in software models. Despite the emphasis on artifact uncertainties,
process uncertainties should also be modeled. Software process modeling formalisms must
be enhanced to include uncertainty values, which an environment for supporting definition
and execution of process models should take under consideration. For this purpose the use
of iterative Bayesian Belief Networks is suggested for representing software process models …
Abstract
Though it is widely accepted that uncertainty influences software development it is rarely captured explicitly in software models. Despite the emphasis on artifact uncertainties, process uncertainties should also be modeled. Software process modeling formalisms must be enhanced to include uncertainty values, which an environment for supporting definition and execution of process models should take under consideration. For this purpose the use of iterative Bayesian Belief Networks is suggested for representing software process models. Bayesian approach can provide a Network of software workflows and their interdependencies. Also Bayesian Networks have the mathematical background to deal with situations and problems that evolve over time and software process is one of these situations. We are not exactly sure of the steps we must follow in each situation and we need a flexible model that will deal with iterations, backward movements and incremental development. Bayesian updating of software process values is allowed by the model and is carried out during process execution. Belief values and confidence levels are continuously updated as new evidence arrives. In this paper the structure of several BBNs based on Rational Unified Process are presented with various levels of abstraction. The models are generalized for various types of software process models from sequential to iterative, incremental models. Our target is to provide a framework in which all the necessary actions for software development are depicted. Also the sequence of these actions and their interactions will be represented. Different quantitative outputs may be obtained from such a model (such as volume of documentation, software size, defect counts, etc.). As an example, in this paper, we use a BBN that estimates software effort, based on the phases of software process. The model will be constantly updated when new information enters the model, leading gradually to more accurate predictions. Also the model has the possibility to represent the procedures of each discrete software workflow and their interactions with the procedures of the other workflows, providing an effort estimate of each separate workflow. For the application area of software effort estimation we demonstrate how the problem should be structured and how the resulting models could be further used. The implications and potential benefits of Bayesian approach are also discussed. We concluded that Bayesian Belief Networks provide a natural, logical and probabilistic framework to depict software process modeling along with software effort estimation. BBN cover the primary objectives of models of the software process such as effective communication regarding the process. BBN are highly visual tools that can be easily explained indicating which workflows affect others. They enable evolution of the process as they can be used for sensitivity analysis in order to explore the impact of some changes in software process before actually implementing them. And the final objective which is the one more analyzed in this paper is the ability of BBN to facilitate effective planning, control and operational management of the process.
users.uowm.gr
以上显示的是最相近的搜索结果。 查看全部搜索结果