147x Filetype PDF File size 0.79 MB Source: www.ijcsi.org
IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015 ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784 www.IJCSI.org 106 A Comparison Between Three SDLC Models Waterfall Model, Spiral Model, and Incremental/Iterative Model 1 2 Adel Alshamrani and Abdullah Bahattab 1 Ira A. Fulton Schools of Engineering at Arizona State University Tempe, AZ, 85281, USA 1 King Abdul Aziz University, Faculty of Computing and Information Technology-North Branch, Jeddah, 22245, KSA 2 College of Telecommunications and Electronics (CTE), Jeddah, 21533, KSA Abstract Moreover, all SDLC models that have been suggested The computer has become indispensable in today’s life, and it is share basic properties. They all consist of a sequence of widely used in many fields of life such as commerce, education, phases or steps that must be followed and completed by industry…etc. The computer saves time in regarding to help system developers and designers in order to achieve solving complex, long, repeated processes in a short time and developed systems and deliver required products. high speed. As the software programs need to handle these features, many companies produce software programs to However, in this paper, strengths and weaknesses of The facilitate the works for administrations, banks, offices, etc. Waterfall, Spiral, and Incremental/Iterative models will be Moreover, software has been in used for analyzing information discussed and a brief comparison of other aspects will or solving problems for more than four decades. Creating a conclude the rest of the paper. suitable work to develop programs of high quality is the main goal of the software engineering. Usually, clients seek the 2. Waterfall Model assistance from computer and software engineers to solve and handle their problems. There are various models have been widely in used to develop software products. Common models The Waterfall Model is the oldest and the most well- will be described in this paper. known SDLC model. This model is widely used in Keywords: SDLC Models, Software Engineering, Waterfall government projects and in many major companies. The model, Spiral model. Iterative model. special feature of this model is its sequential steps. It goes downward through the phases of requirements analysis, 1. Introduction design, coding, testing, and maintenance. Moreover, it ensures the design flaws before the development of a Software development life cycle or SDLC for short is a product. This model works well for projects in which methodology for designing, building, and maintaining quality control is a major concern because of its intensive information and industrial systems. So far, there exist documentation and planning [5].Stages that construct this many SDLC models, such as the Waterfall model, which model are not overlapping stages, which means that the comprises five phases to be completed sequentially in waterfall model begins and ends one stage before starting order to develop a software solution; another model called the next one. the Spiral model, which is visualized as a process passing The following steps give a brief description about the through some number of iterations. Finally, the waterfall process: incremental model is any combination of both iterative 1. Requirement: Is a description of a system behavior to be developed. Usually, it is the information provided design or iterative method and incremental building model by clients. Hence, it establishes the agreement for software development. It has seven phases, and they between the clients and the developers for the are as follows: Planning, requirements, analysis, software specifications and features. In short, implementation, deployment, testing, and evaluation [1, requirements are gathered, analyzed and then proper 3]. In effect, SDLC has been investigated by many documentation is prepared, which helps further in the researchers and numerous models have been proposed development process.” where their acknowledged strengths and weaknesses are 2. High Level design: The gathered information from presented. The Waterfall, spiral, incremental, rational the previous phase is evaluated and a proper unified process (RUP), rapid application development implementation is formulated. It is the process of (RAD), agile software development, and rapid prototyping planning and problem solving for a software solution. are few to mention as successful SDLC models. It deals with choosing the appropriate algorithm design, software architecture design, database 2015 International Journal of Computer Science Issues IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015 ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784 www.IJCSI.org 107 conceptual schema, logical diagram design, and data 4. Iterative and Incremental Model structure definition [4, 5]. 3. Coding: In this phase the whole requirements will be This model combines elements of the waterfall model in converted to the production environment. an iterative fashion. Moreover, each linear sequence 4. Testing: This phase deals with the real testing and produces deliverable increments of the software. The basic checking of the software solutions that have been requirements are addressed in the first increment, and it is developed to meet the original requirements. Also, it the core product, however, many supplementary features is the phase where the bugs and system glitches are (some known, others unknown) remain undeliverable at found, fixed up, and refined. this increment. This model constructs a partial 5. Maintenance: After the software is already released, it implementation of a total system. Then, it slowly adds may need some modifications, improvements, errors increased functionality. Therefore, each subsequent correction, and refinement accordingly. Thus, this release will add a function to the previous one until all phase is the process of taking care of such concerns. designed functionalities are implemented [7, 8, 9, 10]. 3. Spiral Model 5. Comparison of the three SDLC Models (Waterfall, Spiral, and incremental) The spiral model is a software development process combines elements of both design and prototyping in As we have already mentioned above, there are many stages for the sake of combining the advantages of top- SDLC models each of which has different level of risk, down and bottom up concepts. It is a meta-model, which budget, estimated completion timeline, and benefits to means that it can be used by other models [5, 6]. In cope with the project requirements. In addition, some addition, it focuses on risk assessment and minimizing models are preferred over others in regard to the size of project risk. This is can be achieved by breaking a project the project either large or small while other models being into smaller segments, which then provide more ease-of- preferred due to their flexibility to allow rapid changes change during the development process, as well as throughout the whole life cycle of the software providing the opportunity to evaluate risks and weigh development [1, 2, 5, 6]. Thus, developers have to consideration of project continuation throughout the life consider various aspects before choosing the SDLC model cycle. In this model, the development team starts with a to implement the required system. They must know the small set of requirements and then goes through each strengths and weaknesses of each model, and when to use development phase (except Installation and Maintenance) the appropriate model. Therefore, the tables (1 and 2) for those set of requirements. Therefore, the development provide some helpful information, which shows the team has a chance to learn new lessons from the initial iteration (via a risk analysis process). Also, the team will comparison between the three SDLC models in regard to add functionality for additional requirements in ever- their strengths, weaknesses, other aspects, and when to use increasing “spirals” until the application is ready for the each. installation and maintenance phase. In this model, each iteration prior to the production version is called a 6. Conclusion prototype of the application [7, 8, 9, 10]. In this research, we concluded that there are many existing The following steps give a brief description about the models for developing systems based on clients’ Spiral model phases: requirements and the size of projects. Some models are preferred over the others due to their properties and how 1. Planning: This phase includes the understanding of the they match the clients’ needs. The waterfall model, spiral system requirements by conducting continuous model, and incremental model may have same shared communications between the customers and the properties, but they still have different advantages and system analysts. disadvantages for the development of systems, so each 2. Risk Analysis: In this phase, a process is undertaken to model tries to eliminate the disadvantages of the previous identify risk and alternate solutions. A prototype is model. In the future work, we are planning to extend this produced at the end of this phase. research to add other models and some models might be 3. Development/Engineering: In this phase the software is simulated using some tools. produced along with the testing. 4. Evaluation Phase: This allows the customer to evaluate the output of the project before the project continues to the next spiral or next round. 2015 International Journal of Computer Science Issues IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015 ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784 www.IJCSI.org 108 Table 1: Strengths and Weaknesses Comparison of Waterfall, Spiral, Incremental SDLC Models. Model/feature Strengths Weaknesses When to Use Waterfall Easy to understand and implement. All requirements must be known upfront When quality is more Widely used and known. Inflexible. important than cost or Define before design, and design before Backing up to solve mistakes is difficult, schedule. coding. once an application is in When requirements Being a linear model, it is very simple to the testing stage, it is very difficult to go are very well known, implement. back and change something that was not clear, and fixed. Works well on mature products and provides well-thought out in the concept stage. New version of existing structure to inexperienced teams. A non-documentation deliverable only product is needed. Minimizes planning overhead. produced at the final phase. Porting an existing Phases are processed and completed one at a Client may not be clear about what they product to a new time. want and what is needed. platform Customers may have little opportunity to preview the system until it may be too late. It is not a preferred model for complex and object-oriented projects. High amounts of risk and uncertainty, thus, small changes or errors that arise in the completed software may cause a lot of problems. Spiral High amount of risk analysis. Cost involved in this model is usually For medium to high- Software is produced early in the software life high. risk projects. cycle. Risk assessment expertise is required. Strong approval and documentation control. Amount documentation required in When risk evaluation Additional functionality can be added at a later intermediate stages makes management and costs date. of a project very complex. are important. Project monitoring is very easy and effective. Time spent for evaluating risks for small Concerned people of a project can early review or low-risk projects may be too large. When significant each phase and each loop as well because of Time spent for planning, resetting changes are expected. 2015 International Journal of Computer Science Issues IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015 ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784 www.IJCSI.org 109 rapid prototyping tools. objectives, doing risk analysis, and Early and frequent feedback from users prototyping may be excessive. When users are not Suitable to develop a highly customized Project’s success is highly dependent on exactly sure what product. the risk analysis phase. their needs. Provides early indication of insurmountable risks. Incremental/ Develop high-risk or major functions first. Requires good planning and design. On low to medium-risk Iterative. Risk is spread across smaller increments instead Requires early definition of a complete projects. of concentrating in one large development. and fully functional system to allow for A need to get basic Lessons learned at the end of each incremental the definition of increments. functionality to the delivery can result in positive revisions for the The model does not allow for iterations market early next increment. within each increment. On projects which have Customers get important functionality early, and lengthy development have an opportunity to respond to each build. schedules. Each release delivers an operational product. On a project with new Initial product delivery is faster. technology, allowing Reduces the risk of failure and changing the the user to adjust to the requirements. system in smaller incremental steps rather than leaping to a major new product. When it is high risky to develop the whole system at once. 2015 International Journal of Computer Science Issues
no reviews yet
Please Login to review.