
A Comparative Study of Software Development Life Cycle Models Jimeet Shah Department of Computer Science and Engineering Institute of Technology, Nirma University [email protected] Abstract— A Software Development Life-Cycle (SDLC), also funding is limited, even a little mishandling or poor selection known as Software Process is an armature imposed upon the of software models can lead to more exploitation of resources development of a software product [1]. The deciding factor for and time, which won’t be favorable. the survival of a specific ”Software Development Model” in the Software Organisation as well as in the market is the Software A Software Development Life Cycle can be defined as Process. It may not be necessary that the set of steps/activities or a simplified structure laid down for developing a software in simple words, processes utilized by a software organization that product. In order to select, implement and in later stages, has proven to be efficient and effective, would be applicable for monitor the life cycle of a software i.e. based on the method another software organization. Other software organizations may chosen; an ISO standard ”ISO 12207” is used for description opt for another set of processes, proving to be more convenient to them. [4]. For a given Software Development Process, the activities Software Process Model is used, to provide the basic structure, can be categorized as follows [1]: resulting in the creation of a plan from one stage to another. 1) Understanding the case The significance of this plan is to provide a directive for 2) Decide a scheme for the solution planning, organizing and finally, executing the software product successfully. 3) Coding for the designed solution In this paper, we have carried out a comparative analysis of 4) Testing the definite program the various traditional as well as modern software development Since the above-mentioned activities are found to be much models available like Waterfall, V-shaped, Iterative, Incremental, Evolutionary Prototyping, Spiral, Rapid Application Develop- more complex in nature, they can be broken down into further ment(RAD) and also Agile models. As per SDLC, the perfor- sub-activities too. These sub-steps are created to increase the mance of every mentioned model is calculated, based on their functionality and effectiveness of the software product. The advantages and the disadvantages are taken into consideration. basic activities can be written as: Index Terms—Software Development Life Cycle, waterfall, v- shaped, iterative, incremental, prototyping, spiral, RAD, agile 1) Requirement analysis 2) Design I. INTRODUCTION 3) Coding In this forthcoming era, the newly emerging information 4) Testing technologies have led to a sudden surge in the usage of the 5) Maintenance software. The impact of such development has resulted in software being an essential division of the Modern Human Civilization. In simple words, an entity depends immensely on the software due to the development of Information Tech- nology. Some of the major objectives of creating a software include: increasing the efficiency as well as the accuracy of the complex process that we are addressing. Also, the easier and faster execution of each step present in the life cycle of the respective software is a must. Here, we are introduced to the term ”Software Development” [2]. Huge projects involving Software Development as one of the key ingredients, require an enormous amount of time and money to be invested, that had to be utilized in such a manner, Fig. 1. SDLC Phases that the final product is deliverable with the least-cost possible. With a no. of different approaches available for presenting the II. WATERFALL MODEL software product, the main aim remains to be of abating cost The waterfall model was the first SDLC model to be and time, without compromising the quality of the finished introduced in Software Engineering. The first description of product [3]. By taking the worst-case/crisis possible where the model was done in 1970 in an article by Winston W. Royce [5]. Although the term “waterfall” was never referred 6) Maintenance: in it. The first use of the “Waterfall” was possibly done by This phase involves alteration of system or a component Bell and Thayer [6]. of the system to remove bugs generated during live The model is commonly referred to as a linear sequential usage, to improve performance of the system, or due model. It breaks the project into linear phases. Each phase to change requests by the customer. depends on the output of the preceding phase. The outcome of Advantages each stage is known as deliverable. The phases are independent and do not overlap. Therefore the next phase cannot begin 1) Simple and easy to understand before the previous phase ends. In this way, the process flows 2) Works very well for smaller projects in one direction, like a waterfall, hence the name “waterfall”. 3) Well defined stages 4) Heavily documented 5) Milestones are easily identifiable Disadvantages 1) Real-world projects are seldom sequential 2) Working software produced only in the later stage of the life cycle 3) New requirements cannot be accommodated at a later stage 4) Turn out to be a poor model for long, complex and object-oriented projects III. V-SHAPED MODEL The V-Shaped Model is annexation made to the classical Waterfall Model. It is coined as the ”Verification and Valida- tion Model”. In comparison to the classical Waterfall model, the structure of this model isn’t linear, i.e. the process is worked out in the form of a branch. As shown in figure 2, it is quite visible that, the process steps are inclining upwards, after the coding stage, to form the V-Shape. Within this model, the relationship between the develop- Fig. 2. Phases of Waterfall model mental life cycle phase and its testing phase in terms of ”Test 1) Requirement Analysis: Plan” is found. By moving in the horizontal direction (left to The primary purpose of this phase is to comprehend the right), the progress with respect to time is observed; while in precise requirements of the client/customer and record a vertical direction, the level of abstraction could be obtained. them in a document that describes the system elabo- 1) Requirements: rately. The output of this phase is a document known as Business requirements, as well as system requirements, a Software Requirement Specification (SRS) document. are worked upon similarly as that in the Waterfall 2) System Design: Model. Also, in this model, before getting started with The objective of this phase is to convert the specified re- the development phase, a ”system test” plan is created quirements into an architecture that can be implemented. which is focused solely on achieving the functionality The complete architecture is designed along with the as mentioned in the requirements. hardware and system requirements or specifications. 2) High-Level Designing: 3) Implementation: Being focused on the system’s structure and design After the system design, the system is developed into helps us in providing the outline of the service, system, small individual units. Each of these units is designed platform, product, and solution. Also, to examine the and tested independently. components of the software systems and their ability to 4) Testing: work together, an Integrated Test Plan is created. After the units of the system are developed, they are 3) Low-Level Designing: integrated into one unit which is tested for bugs and It is the phase where the definition of literal logic for vulnerabilities. This phase is very essential as this de- each portion of the system exists. Also, the design of the termines whether the software will be released into the actual components of software is done. For example, in market or needs to be debugged. this phase, all the possible relations between the classes 5) Deployment: and the methods represented through Class Diagrams Once the testing is done, the product is released into the are present. As a result, the Component testing plan is market or deployed at the client end. created. 4) Implementation: each module goes through all phases of software development, This phase deals with all the coding parts. Once, the namely, requirements, design. implementation, and testing. process of coding is completed, the execution path The requirements of the product are broken down into moves toward the right side of the V(in an upward components that can be developed incrementally. The planning direction) where all the test plans are present. Since these is done for only the next increment and no long term plans are test plans were developed earlier, they are brought into made. This makes it easier to modify the product as per needs. effect now. The first task that is undertaken is the development of core 5) Coding: features. The product with basic core features is released. Then It is the bottom-most part of the model. Here, the new functions are added into the next increments and versions code for the given Module Design is developed by the of products are released. Each version has more additional developers. Later on, Unit testing is performed on the features than the preceding function. The process is carried code written by developer [7]. out until the final product is delivered to the client. Fig. 3. V-Shaped Model Fig. 4. Incremental model Advantages The incremental model is usually adopted when: 1) Higher chances of the model being successful compared to the Waterfall model because test plans are developed 1) There is a demand for quick release of the product in the early stages of the life cycle 2) Requirements are well defined 2) Feasible and straightforward in terms of usage 3) Projects have new technologies 3) Each phase will always have a result 4) The project involves high risk 4) Suitable for small scale projects 5) The software engineering team is not very well trained 5) Maintenance is optimum or skilled 6) Resource and capital control is higher Advantages Disadvantages 1) Working product will be ready quickly 1) Incorporation of changes after certain phases becomes 2) Flexible in nature difficult 3) Easy testing and debugging 2) Development is done during the implementation phase, 4) Risk management is simpler i.e.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages13 Page
-
File Size-