A Unified Approach to Quantitative Software Lifecycle Modeling

D. Vijay Rao · 2016

An evolutionary process currently taking place in engineering systems is the shift from hardware to where the role of engineering is becoming more central in developing large engineering systems. This shift represents a trend from a piece-meal vision of development to a holistic, system-wide vision. The term software crisis of 1960's and 1970's was the observation that most development projects end up with massive cost overruns and schedule delays. The growing complexity of projects led to Waterfall, Spiral and other models to depict the development lifecycle. These models are qualitative and study the product, process and project issues in isolation, and do not provide a quantitative framework to depict the various facets of development, testing, maintenance and reuse. In this thesis, a generic, unified lifecycle model (ULM) integrating the product, process and project view of development based on re-entrant lines is proposed. A reentrant line is a multi-class queueing network that consists of several types of artifacts visiting a set of development teams more than once. An artifact is a general term for any object of information created, produced, changed or used by development teams and it includes items such as requirements specification documents, preliminary and detailed module designs and design documents, code, components, test plans and test suites. The artifacts visit the development teams several times before exiting the system, thus making the flow of artifacts non-acyclic. The main consequence of the re-entrant flow is that several artifacts at different stages of completion compete with each other for service by a development team. The ULM model output is obtained by using the criticality, complexity and usage of artifacts. The model is solved using linear programming and simulation methods. The development process in a organisation is represented by the proposed re-entrant line model. The model is used to predict project metrics such as the development time, cost and product quality for any new project to be taken up by the organization. The routing matrix of the artifacts in the ULM can be modified to derive different types of lifecycle models such as Waterfall, Prototyping, Spiral and Hybrid models. The ULM may be modified to include reuse and component-based development. We investigate certain issues involved in reuse. Reuse of components is modeled as an external arrival of artifacts at different stages in the ULM. Two distinct lifecycles in component based development, namely, 'development for reuse' and 'development with reuse', are distinguished and the development time and cost for projects are estimated using LP bounds and simulation. The 'development for reuse' lifecycle involves reusable components development that is stored in a reuse library. As the number of components in the reuse library grows over time and with projects, the problem of effective and efficient retrieval of…

Read the paper · More papers on PaperTik