Transcription

www.ijcait.comInternational Journal of Computer Applications & Information TechnologyVol. I, Issue III, November 2012 (ISSN: 2278-7720)Advantages and Limitations of Different SDLC ModelsRadhika D AmlaniResearch ScholarSaurashtra University,Rajkot (Gujarat)AbstractSoftware engineering is the area which is constantly growing.It is very interesting subject to learn as all the softwaredevelopment industry based on this specified area. Now adays, there are lots of software development life cycle modelsavailable. According to the requirements, software industrypeople are using it as per their requirements.As there are lots of SDLC models, they are used according totheir requirements. So, it is needed to know the requirementsin which the SDLC models is used.4)5)6)7)This paper is about the pros and cons of some models. So,user can take the advantage of this paper to find the modelbest suitable for their need.8)Keywords9)SDLC Phase, Advantages of the SDLC models, Limitations ofthe SDLC models, Pros and cons of different SDLC models.INTRODUCTIONSoftware Development Life CycleSoftware Development Life Cycle Model is used as a processof creating and altering current existing system. SDLC used ininformation system, systems engineering, and softwareengineering. SDLC can be thought of as a concept that usedby many software development methodologies, which arecurrently available in market or software industry. SDLCprovide a framework to create, plan and control anyinformation system to be developed.There are so many SDLC based, software engineering modelsavailable in market now-a-days. Depending upon thesuitability, the software engineering model can be used to putforward any software project. Each of the methodologies ormodels has different level of risk and benefits to cope with theproject requirements, budget and estimated completiontimeline. There are models which are suitable for largeproject, where some focus on lightweight process that allowrapid changes throughout whole software development lifecycle.As all the stages are clearly defined so, this processensures early detection of errors and misunderstandingin its each stage.Require DocumentationRequirement specification document serve as theguideline for the development and testing phase.In future, for code revision and future projectenhancement these documents are useful in this process.Since the following phases are dependent on previousphase, this approach ensures project deadline control.Each phase is discrete and team members involved in astage ensures the perfection of the stage beforedelivering to next stage. Waterfall process ensuresgreater project output.This approach can be very efficient when team membersare dispersed in different locations.The amount of resources required to implementwaterfall model is lower than other methods.Limitations of Waterfall Model:1)2)3)4)5)6)The greater disadvantage of this approach is that there isno way to go back. Once a stage is complete means it islocked.Sometimes it’s really tough to estimate time required fordifferent phases and incorrect assumption can fail theproject to meet its deadline.Waterfall model does not allow changes as per client’srequirement, so it is less flexible.If changes are to be made in waterfall process, theproject has to be started all over again. This can beexpensive for some organization.Increase software development time and expense sinceclient keep adding requirement on the list.Team members of rest of the phase sits idle except theteam member who are under the current working phase.Advantages of Spiral Model:1.2.The pros and cons of the different SDLC models are givenbelow.Pros and Cons of SDLC ModelAdvantages of Waterfall Model:1)2)3)Require business needs and requirements in beginning.As the analysis team determines the business needs andrequirements first, this process facilitates to better copewith the organizations need.This process defines definite starting and ending pointsof a project.Early detection of errorsPage 63.4.5.6.7.Spiral life cycle model is one of the most flexibleSDLC models. Development phases can bedetermined by the project manager, according to thecomplexity of the project.Project monitoring is very easy and effective as it isdone in each phase of each iteration. Thismonitoring is done by experts or by concernedpeople. This makes the model more transparent.Risk management is key feature of this model,which makes it more attractive compared to othermodels.If changes are introduced at later stage in life cycle,coping with these changes isn’t a very big problemfor the project manager.It is suitable for high risk projects, where businessneeds may be unstable.A highly customized product can be developedusing this model.Since the prototype building is done in smallfragments or bits, cost estimation becomes easy and

www.ijcait.comInternational Journal of Computer Applications & Information TechnologyVol. I, Issue III, November 2012 (ISSN: 2278-7720)the customer can gain control on administration ofthe new system.8.As the model continues towards final phase, thecustomer's expertise on new system grows, enablingsmooth development of the product meeting client'sneeds.3.If any changes happen in mid way, then the bestdocuments along with requirement document has tobe updated.4.Adjusting scope is difficult and expensive.5.Software is developed during the implementationsphase, so no early prototypes of the software areproduced.Limitations of the Spiral Model:1.Cost involved in this model is usually very high.6.2.It is a complicated approach especially for theproject with a clear SRS (System RequirementSpecification).Model doesn’t provide a clear path for problemsfound during testing phases.7.It doesn’t handle concurrent event.3.Rules and protocols should be followed properly toeffectively implement this model. Through-out theproject life cycle development, it is very hard tofollow rules and protocols.Advantages of the Rational Unified Process1.2.3.4.4.It is not suitable for low risk projects.5.Meeting budgetary and scheduling requirements isvery tough with this software development process.5.6.Due to various customizations allowed from theclient, it is very hard to use same prototype in otherprojects.6.7.8.9.It needs extensive skill in evaluating uncertainties orrisks associated with the project and theirabatement.The models work best for large projects only, wherethe costs involved are much higher and system prerequisites involves higher level of complexity.Advantages of the V-Shape Model:3.4.5.6.7.8.9.8.Limitations of the Rational Unified Process1.The team members need to be expert in their field todevelop the software under this methodology.2.The development process is too complex anddisorganized.3.On cutting edge projects which utilise newtechnology, the reuse of components will not bepossible. Hence the time saving one could havemade will be impossible to fulfil.4.Integration throughout the process of softwaredevelopment, in theory sounds a good thing. But onparticularly big projects with multiple developmentstreams it will only add to the confusion and causemore issues during the stages of testing.5.It’s too complex to implement, and too difficult tolearn.6.May lead to undisciplined form of softwaredevelopment.Risk assessment expertises are required.10. Spiral may continue indefinitely.1.2.7.Simple and easy to useTesting activities are planned before coding. Thissaves a lot of time and also helps in developing avery good understanding of the project at thebeginning state.Each phase has specific deliverables.Works well for where requirements are easilyunderstood.Works for small projects.Higher chance of success because of thedevelopment of test plans early on during the lifecycle.The model encourages verification and validation ofall internal and external deliverables. Not just thesoftware products.The V-shaped model encourages definition of therequirements before designing the system and itencourages designing the software before buildingthe components.It defines the products that the development processshould generate, each deliverable must be testable.Advantages of the Prototype Model:1.2.Limitations of the V-Shape Model:1.It is inflexible; it has no ability to respond tochange. It is very rigid.2.It produces inefficient testing methodologies.Page 7RUP is a complete methodology to manufacturesoftware.It is process with complement document facility.RUP is openly published, distributed and supported.It supports changing requirements to meet itsdesired software.It supports iteration process so we can integrate thecode in development life cycle in lesser time andeffort spent in integration.The reuse of code easy and faster so developmenttime is less.There is online training and tutorial available forthis process.Debugging is very easy due to component basearchitecture.3.When prototype Model is shown to the user, he getsa proper clarity about his requirements. And feel thefunctionality of the software, so can suggest thechanges and modifications.This type of approach of developing the software isused for non-IT literate people. They usually cannotexplain their requirements specifically.When client is not confident about the developer’scapabilities, he asks for a small prototype to bebuilt. Based on this prototype model, he can judgecapabilities of developer.

www.ijcait.com4.5.6.7.8.9.International Journal of Computer Applications & Information TechnologyVol. I, Issue III, November 2012 (ISSN: 2278-7720)It helps to demonstrate the concept to the investorsto get funding for project.It reduces risk of failure, as potential risks can beidentified early and steps can be taken to removethat risk.Constant interaction between development team andclient provides a very good and co-operativeenvironment during project.Time required to complete the project after gettingfinal SRS is reduces as the developers has a betteridea about how he should approach the project.The customer does not need to wait long forworking software.10. Lover risk of project failure compared to otherapproaches.11. Results are obtained early and periodically.12. Parallel development can be planned.13. Progress can be measured by setting milestone.14. Testing and debugging during smaller iteration iseasy.Limitations of the Iterative and Incremental Model:Feedbacks from customer are received periodicallyand the changes don’t come as a last minutesurprise.Limitations of the Prototype Model:1.2.3.4.5.6.7.8.Sometimes the start-up cost of building thedevelopment team, focused on making prototype ishigh. And usually in starting Prototype is done at thecost of the developer. So it is done using minimalresources.It is a slow process.Once we get proper requirements from client aftershowing prototype model, it may be of no use.Too much involvement of client is not alwayspreferred by the developer.Too many changes can disturb the developmentteam.Customer could believe the prototype as theworking version.Developer also could make the implementationcompromises where he could make the quick fixesto the prototype and make is as a working version.Often clients expect that a few minor changes to theprototype will more than suffice their needs. Theyfail to realise that no consideration was given to theoverall quality of the software in the rush to developthe prototype.2.3.4.5.6.7.8.9.The versions are provided after iteration of theincremental model.After using first iterated model, user can give theirsuggestion and demand for changes.This model does not affect anyone’s business valuesbecause they provides core of the software whichcustomer needs after first iteration. To the customersoftware will help him to keep running his business.It is flexible to the customer’s requirements andeasy to manage model.Better risk management is there in this modelbecause one can confirm the outcome by thecustomer after every version because every versionis prepared according to the plan.Easy to test as testing is done in iteration as perrequirement.This model is used when requirements are clear tosome extend but project scope requires pure linearapproach.Complete implementation by decided dead line.Sometimes early increments can be implementedwith fewer people.Page 8Each phase of an iteration is very rigid and do notoverlap each other.2.Problems may arise related to system architecturebecause not all requirements are gather in initialstage of the development process.3.Each increment needs to be relatively small.4.Mapping requirements to increments may not beeasy so managing documents are very difficult.5.Common features of the software are difficult toidentify.6.During development process changes are being doneat first iteration. As if it continues to change and itnever finished.7.More resources may be required.8.More management attention is required due tofrequent changes in requirements.9.Does not allow iterations within an increment.Advantages of the Rapid Application Development:1.2.3.Advantages of the Iterative and Incremental Model:1.1.4.5.6.7.8.9.Working software is available much earlier than anyconventional method.RAD produces systems more quickly and to abusiness focus, this approach tends to produce systemsat a lower cost.A greater level of commitment is there fromstakeholder. So user are seen as gaining more of senseof ownership of a system, while developers are seen againing more satisfaction from producing successfulsystems quickly.Focus on essential system elements from userviewpoint.Provides the ability to rapidly change system design asdemanded by users.Gives tighter fit between user requirements andsystem specifications.Saving time, money and human efforts.Changing or stopping the course of development on aproduct that is not meeting its objectives.Resulting final product often match user’s needs andexpectations very closely.Limitations of the Rapid Application Development:1.2.3.4.More speed and lower cost may lead to power overallsystem quality.Due t