172x Filetype PDF File size 0.32 MB Source: journals.indexcopernicus.com
IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015 International Journal of Emerging Trends in Science and Technology A Comparative Study between Waterfall and Incremental Software Development Life Cycle Model Authors 1 2 3 Deepti Singh , Ankit Thakur , Abhishek Chaudhary 1M.Tech (CSE) Scholar, Bhagwant University, Sikar Road, Ajmer, Rajasthan, India Email: deepti.singh426@gmail.com 2M.Tech (CSE) Scholar, Bhagwant University, Sikar Road, Ajmer, Rajasthan, India Email: ankit.thakur1011@gmail.com 3Assistant Professor (CSE), Bhagwant University, Sikar Road, Ajmer, Rajasthan, India Email: abhishek02mar@rediffmail.com Abstract Software development life cycle or SDLC for short is a methodology for designing, building, and maintaining information and industrial systems. There are various SDLC models widely used for developing software. SDLC models give a theoretical guide line about development of the software. Software Development Life Cycle (SDLC) methodologies are mechanisms to assure that software meet established requirements. These methodologies impose various degrees of discipline to the software development process with the goal of making the process more efficient and predictable. SDLC models are very important for developing the software in a systematic manner such that it will be delivered within the time deadline and should also have proper quality. Each SDLC has its advantages and disadvantages according to which we decide which model should be implemented under which conditions. In the present scenario all software systems are imperfect because they cannot be built with mathematical or physical certainty. According SDLC each and every model has the advantage and drawbacks. The concept of system lifecycle models came into existence that emphasized on the need to follow some structured approach towards building new or improved system. For this we need to compare SDLC models. In this paper we will compare two different famous life cycle models like-waterfall model & incremental model. Keywords: Increment model, waterfall model, Software engineering, Software process model and Software 1. INTRODUCTION itself. However, the early programming stages have In today’s life computer is considered a time- saving created a number of problems turning software an device and its progress helps in executing complex, obstacle to software development particularly those long, repeated processes in a very short time with a relying on computers. Software consists of high speed. In addition to using computer for work, documents and programs that contain a collection people use it for fun and entertainment. Noticeably, that has been established to be a part of software the number of companies that produce software engineering procedures. Moreover, the aim of programs for the purpose of facilitating works of software engineering is to create a suitable work that offices, administrations, banks, etc, has increased constructs programs of high quality. A software recently. During the previous few decades, software development process, also known as a software has been developed from a tool used for analyzing development life cycle (SDLC), is a structure information or solving a problem to a product in imposed on the development of a software product. The process of building computer software and Deepti Singh et al www.ijetst.in Page 2202 IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015 information systems has been always dictated by This paper focused on the comparative study different development methodologies. A software between two different models-waterfall and development methodology refers to the framework incremental model. In the Section -2, SDLC phases that is used to plan, manage, and control the process are discussed, Section -3 summarizes waterfall of developing an information system. Software model, Section-4 summarizes incremental model development life cycle (SDLC) is a method by and Section – 5, includes the conclusion. which the software can be developed in a systematic manner and which will increase the probability of 2. SDLC PHASES completing the software project within the time Software development life cycle (SDLC) is a deadline and maintaining the quality of the software method by which the software can be developed in a product as per the standard. The System systematic manner and which will increase the Development Life Cycle framework provides a probability of completing the software project sequence of activities for system designers and within the time deadline and maintaining the quality developers to follow for developing software. It is of the software product as per the standard. Software often considered as a subset of system development life cycle models describe phases of the software life cycle. Any software development process is cycle and the order in which those phases are divided into several logical stages that allow a executed. Each phase produces deliverables required software development company to organize its work by the next phase in the life cycle. Requirements are efficiently in order to build a software product of the translated into design. Code is produced according required functionality within a specific time frame to the design which is called development phase. and budget. After coding and development the testing verifies The development models are the various processes the deliverable of the implementation phase against or methodologies that are being selected for the requirements. development of the project depending on the project’s aims and goals. There are many There are following six phases in every Software development life cycle models that have been development life cycle model: developed in order to achieve different required objectives. The models specify the various stages of 2.1 Requirement gathering and analysis: the process and the order in which they are carried Business requirements are gathered in this phase. out.The selection of model has very high impact on This phase is the main focus of the project managers the testing that is carried out. It will define the what, and stake holders. Meetings with managers, stake where and when of our planned testing, influence holders and users are held in order to determine the regression testing and largely determines which test requirements like; Who is going to use the techniques to use.There are various Software system? How will they use the system? What data development models or methodologies. They are as should be input into the system? What data should follows: be output by the system? These are general 1. Waterfall model questions that get answered during a requirements 2. V model gathering phase. After requirement gathering these 3. Incremental model requirements are analyzed for their validity and the 4. RAD model possibility of incorporating the requirements in the 5. Agile model system to be development. Finally, a Requirement 6. Iterative model Specification document is created which serves the 7. Spiral model purpose of guideline for the next phase of the model. Deepti Singh et al www.ijetst.in Page 2203 IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015 2.2 Design: In this phase the system and software software requirements and continues with design is prepared from the requirement architectural design, detailed design, coding, testing, specifications which were studied in the first phase. and maintenance. The waterfall model serves as a System Design helps in specifying hardware and baseline for many other lifecycle models. In some system requirements and also helps in defining organizations, a change control board maintains the overall system architecture. The system design quality of the product by reviewing each change specifications serve as input for the next phase of the made in the maintenance stage. Consider applying model. the full waterfall development cycle model when correcting problems or implementing these 2.3 Implementation /Coding: On receiving system enhancement requests. In each stage, documents that design documents, the work is divided in explain the objectives and describe the requirements modules/units and actual coding is started. Since, in for that phase are created. At the end of each stage, a this phase the code is produced so it is the main review to determine whether the project can proceed focus for the developer. This is the longest phase of to the next stage is held. Many people believe that the software development life cycle. this model cannot be applied to all situations. In real-world development, however, one can discover 2.4 Testing: After the code is developed it is tested issues during the design or coding stages that point against the requirements to make sure that the out errors or gaps in the requirements. The waterfall product is actually solving the needs addressed and method does not prohibit returning to an earlier gathered during the requirements phase. During this phase, for example, returning from the design phase phase unit testing, integration testing, system testing, to the requirements phase. However, this involves acceptance testing are done. costly rework. Each completed phase requires formal review and extensive documentation 2.5 Deployment: After successful testing the development. Thus, oversights made in the product is delivered / deployed to the customer for requirements phase are expensive to correct later. their use. Because the actual development comes late in the process, one does not see results for a long time. 2.6 Maintenance: Once when the customers starts This delay can be disconcerting to management and using the developed system then the actual problems customers. Many people also think that the amount comes up and needs to be solved from time to time. of documentation is excessive and inflexible. This process where the care is taken for the Although the waterfall model has its weaknesses, it developed product is known as maintenance. is instructive because it emphasizes important stages of project development. Even if one does not apply this model, he must consider each of these stages 3. WATERFALL MODEL and its relationship to his own project. Waterfall model was proposed by Royce in 1970 which is a linear sequential software development life cycle (SDLC) model. The waterfall model is the classical model of software engineering. This model is one of the oldest models and is widely used in government projects and in many major companies. As this model emphasizes planning in early stages, it ensures design flaws before they develop. Hence it is not very much useful when the project requirements are dynamic in nature The model begins with establishing system requirements and Deepti Singh et al www.ijetst.in Page 2204 IJETST- Vol.||02||Issue||04||Pages 2202-2208||April||ISSN 2348-9480 2015 fig1. Waterfall Model 3.1 Advantages: 4. INCREMENTAL MODEL Easy to understand and implement. 2. The Incremental approach is a method of software Widely used and known (in theory!). development where the model is designed, Reinforces good habits: define-before- design, implemented and tested incrementally (a little more design-before-code. is added each time) until the product is finished. It Identifies deliverables and milestones. involves both development and maintenance. The Document driven, URD, SRD, … etc. Published product is defined as finished when it satisfies all of documentation standards, e.g. PSS-05. its requirements. The incremental model is an Works well on mature products and weak teams. intuitive approach to the waterfall model. Multiple development cycles take place here, making the life 3.2 Disadvantages: cycle a “multi-waterfall” cycle. Cycles are divided Idealized, doesn’t match reality well. up into smaller, more easily managed iterations. Doesn’t reflect iterative nature of exploratory Each iteration passes through the requirements, development. design, implementation and testing phases. The Unrealistic to expect accurate requirements so incremental model divides the product into builds, early in project. where sections of the project are created and tested Software is delivered late in project, delays separately. This approach will likely find errors in discovery of serious errors. user requirements quickly, since user feedback is Difficult to integrate risk management. solicited for each stage and because code is tested Difficult and expensive to make changes to sooner after it's written. In incremental models, as in documents. sequential models, the overall requirements of the Significant administrative overhead, costly for final system or product are known at the start of the small teams and projects development. In incremental models however a limited set of requirements is allocated to each increment and with each successive (internal) release more requirements are addressed until the final (external) release satisfies all requirements. A Deepti Singh et al www.ijetst.in Page 2205
no reviews yet
Please Login to review.