In this current era of software development, a large number of life cycle models are available for the systematic development of computer software and projects such as waterfall model, iterative waterfall model, prototyping model, spiral model etc. These models have their own unique characteristics and are suited to a particular situation of software development and software types. One software life cycle model may prove to be more efficient than the other one depending upon the development environment. In this paper, the work has been done to analyze the various software life cycle models from this aspect. Further, the work has been done to develop the ontology for various categories of the software projects and an observation on software life cycle models according to these categories. The ontology has been developed in the Semantic Web ontology development language, Web Ontology Language (OWL).
A software project, regardless of whether it is large or small, goes through certain defined stages, which together, are known as the Software Development Life Cycle (SDLC) . There are five phases that are the part of the SDLC. These phases are: requirements definition, design, coding, testing, and maintenance.
SDLC models are created based on the various phases of the SDLC, the order in which they occur and the interaction between them. The output generated by each phase serves as the input for the next . Some of the SDLC models are discussed in the next section. One software life cycle model may prove to be more efficient than the other one depending upon the development environment. The paper analysis the various SDLC models from this point of view. The paper also presents the ontological classification of various software projects.
Apart from Introduction in Section-1, the work has been organized as follows. Section-2 presents the brief of various SDLC models. The suitability analysis of various models has been done in Section-3. In section-4, a broad classification of various types of software projects has been presented. The section also presents its ontological presentation. Section-5 presents our observations from the work and the work has been concluded in the Section-6.
II. SDLC MODELS
A. Waterfall Model
Waterfall model is a classical approach, widely used in Software Engineering to ensure success of the project [4, 14].
B. Prototyping Model
Prototyping Model quickly develops a working model that is functionally equivalent to a component of the project [4, 14].
C. RAD (Rapid Application Development)
RAD is a concept that products can be developed faster and of higher quality by using some special techniques [4, 14].
D. Incremental Model
It constructs a partial implementation of a total system. Then slowly add increased functionality [4, 14].
E. Spiral Model
This model combines the features of the prototyping model and the waterfall model; it adds risk analysis, and 4gl RAD prototyping to the waterfall model [4, 14].
F. XP (Extreme Programming) Model
XP model is used for small-to-medium-sized teams developing software with vague or rapidly changing requirements. Coding is the key activity throughout a software project .
G. Scrum Model
It is similar to other life cycle models that use iterative development to address changing requirements, but in it, the repetitions are referred to as sprints, which normally last thirty days .
Different SDLC models have their unique characteristics and requirements. On the basis of these aspects, this paper presents an analysis survey on the suitability of various SDLC models on the situation of its use for software project development. Further, an ontology is developed for the various categories of the software projects and an observation is presented on software life cycle models according to these categories. The ontology has been developed in the Semantic Web ontology development language, Web Ontology Language (OWL).