Software process simulation for reliability management
Section snippets
Overview
The concept of process modeling and simulation was first applied to the software development process by Abdel-Hamid (Abdel-Hamid et al., 1991). Others (Madachy, 1996, Tvedt, 1996) have produced models as well, but there is little evidence that they have been successfully applied to real software development projects. The models described in this paper bring two new contributions to the software process modeling and simulation work. First, the modeling approach emphasizes software reliability,
Software process modeling and simulation
Developing a model of the software development process involves the identification of entities, factors, variables, interactions and operations that are present in that process and are relevant to the intended use of the model. The entities include mainly people (developers, managers, customers, etc.), but can also include facilities, computer equipment, software tools, documentation and work instructions. Factors relevant to a general software development process include the application
Comparison to other approaches
Simulator presented here can be used for tracking the quality and reliability of the software throughout the development process. Reliability prediction and estimation models such as reliability growth models and prediction models have a similar goal. The difference is that the reliability growth models are analytical, address only the system testing phase, and each has unrealistic assumptions that restrict their applicability. The modeling and simulation approach addresses all the development
System dynamics process model description
The following model was developed to support project planning for the purpose of evaluating software reliability engineering strategies. It is a generic model intended for use in high level decision making. The model represents the initial work performed by the authors in software process modeling and simulation and is part of a decision support system for software reliability engineering strategy selection and assessment (Rus, 1998).
The main components of the model correspond to the production
Discussion on system dynamics model
The model described above was executed with assumed parameter values for each of the factors identified. By changing these factors individually the corresponding impact on the outputs of the model (cost, schedule and quality) can be evaluated. The model is implemented with building blocks derived from the generic ProductionPhase block by adding details specific to each development phase while maintaining the common features and architecture. As a result, the model is modular, extensible,
Discrete event model application
The discrete event model implementation of the software process was developed to support a specific project, Crusader. The Crusader is a large army development project. There are two vehicles, called Segments, in each Crusader System. The system consists of the Self-propelled Howitzer (SPH) and the Re-supply Vehicle (RSV). The software is being developed using object-oriented analysis and design (OOA/D) and Rational Rose CASE tool. An incremental software life cycle approach is being used, with
Prototype discrete event model description
The initial model being developed captures the process for Preliminary Design. The structure of the model, developed using Extend V4.0, is described below. The prototype discrete event model represents the Crusader Software Development Process, and it is being piloted on a single CSCI, which will be called Module X here. This discrete event model is actually a hybrid model that also incorporates system dynamics concepts, using feedback loops. The main purpose of the model is to predict, track,
Conclusions and future work
A dynamic model of the software development process allows answer questions such as: “How much time and effort will it take to complete the Preliminary Design phase for Module X?”, “How many defects are going to be generated during that phase? How will that affect product reliability?”. “How much will the effort increase if defect prevention practices are used? How will that shorten system testing time?”. These questions are very difficult to answer using methods currently available in
Ioana Rus is a Ph.D. candidate in the Department of Computer Science and Engineering at Arizona State University. She received her Master in Computer Science degree from Arizona State University and Bachelors of Science from Polytechnical Institute Cluj, Romania. Her research interests include software process improvement, process modeling, software quality and reliability, artificial intelligence, and neural networks. She is a member of the IEEE Computer Society and ACM.
James S. Collofello is
References (12)
- Abdel-Hamid, T., Madnick, S.E., 1991. Software Project Dynamics An Integrated Approach. Prentice-Hall, Englewood...
Software engineering economics
IEEE Transactions on Software Engineering
(1984)- Boehm, B.W., Hoh, 1996. Identifying quality-requirements conflicts. IEEE Software...
- Jones, C., 1986. The SPR feature point method. Software Productivity...
- Extend – Performance modeling for decision support, 1995. User's Manual, Imagine...
- Lakey, P., Neufelder, A.M., 1996. System and Software Reliability Assurance Notebook, Produced for Rome Laboratory by...
Cited by (48)
Applying system dynamics approach in software and information system projects: A mapping study
2018, Information and Software TechnologyHybrid Simulation for Complex Manufacturing Value-chain Environments
2017, Procedia ManufacturingWhen cost-effective design strategies are not enough: Evidence from an experimental study on the role of redundant goals
2015, Omega (United Kingdom)Citation Excerpt :Ruohomaki [31] analysed simulation-based training (SBT) and its accompanying learning processes, and encouraged educators and researchers to use it. SBT was found effective in many fields, such as: medical training [5,9,27], software engineering [28,13], flight training and improving decision making under stress [30,1], general management training [32] and project management training [36–38]. Simulations of project networks have always been encouraged due to limitations of analytical analyses (e.g., [29]).
Dynamic project performance estimation by combining static estimation models with system dynamics
2009, Information and Software TechnologyProject management and system dynamics modelling: Time to connect with innovation and sustainability
2024, Systems Research and Behavioral ScienceEnhancing Strategic Planning of Projects: Selecting the Right Product Development Methodology
2023, Information (Switzerland)
Ioana Rus is a Ph.D. candidate in the Department of Computer Science and Engineering at Arizona State University. She received her Master in Computer Science degree from Arizona State University and Bachelors of Science from Polytechnical Institute Cluj, Romania. Her research interests include software process improvement, process modeling, software quality and reliability, artificial intelligence, and neural networks. She is a member of the IEEE Computer Society and ACM.
James S. Collofello is a professor in the Department of Computer Science and Engineering at Arizona State University. He received his Doctor of Philosophy degree in Computer Science from Northwestern University, Master of Science in Mathematics and Computer Science from Northern Illinois University, and Bachelors of Science in Mathematics and Computer Science from Northern Illinois University. His teaching and research interests are in software quality assurance, software reliability, safety, and maintainability, software testing, software error analysis, and software project management. He is a member of the IEEE Computer Society and ACM.
Peter B. Lakey received his MS in Engineering Management from University of Missouri-Rolla, MBA from Washington University, and his BSEE from Northwestern University. He joined McDonnell Douglas (now Boeing) in 1990 as a Reliability Engineer. As an engineer in the Software Engineering Process Group (SEPG), Mr. Lakey has been responsible for developing tools and processes that can be used by internal customers to improve software product quality. His main responsibility now is for managing a Software Reliability Support subcontract with United Defense in Minneapolis on a large Army program called the Crusader.
- 1
E-mail: [email protected]
- 2
Email: [email protected]