The Waterfall Model:The Waterfall Model is a very popularmodel to follow when undergoing systems analysis. It consists of 6 main stepsthat allow for a well-structured, thorough analysis of current system, anddesign of a newer model. The steps are as follows: definition, analysis,design, implementation, testing and maintenance. The following is a shortdescription of each step.
Method1. Definition: This stage is where theproblem is fully outlined. A feasibility check will then be performed to see ifit is possible to improve the system firstly, then if it will be economicallyand socially acceptable. As well as taking into account the costs of theprocess itself, they must realise that the new system could potentially renderthe jobs of some of their employees useless, warranting redundancy paymentswhich can also cost them a lot of money.
A brief investigation also happens tosee roughly what needs to be done.2. Analysis: This stage only proceeds ifthe feasibility check from the previous step results in the recommendation of anew system. More detailed research will then be carried out about the currentsystem; the analyst needs a full understanding of how exactly everything worksand what is done with all the data. This is not the end of the research as moredetail will be needed later on.3. Design: To commence this step, asystem specification will be drawn out; this will detail all the features andfunctions needed by the customer.
The designers will then produce both alogical and physical design, as well as a test plan.4. Implementation: This is when the newsystem is put into place. It is usually done one of three ways: direct, phasedor parallel. Direct implementation is when the new system is immediatelyimplemented – there is no changeover period. Phased implementation is when thenew system is implemented in small parts over time; and parallel implementationis when the new system is run alongside the current, while continuing to testit.
5. Testing: The test plan will then berun to ensure the system is functioning properly; If any errors are found, theywill be corrected. When the testing stage is completed, the system can then bepassed onto the users.6. Maintenance: The final stage of theWaterfall Model is the maintenance stage. This stage will continue throughoutthe life of the new system. It involves regular maintenance where any newlydiscovered problems are fixed and any new features can be added.
Advantages of the Waterfall Model:· Itis easy to use as each step is fairly self-explanatory;· Thephases are all separate- there is no overlap. This means each stage can havethe full attention of the team, reducing the likelihood of errors;· Eachstage can have clear goals/deadlines set, helping the team to be moretime-efficient and meet deadlines easier; and · Dueto the separate stages, the development process can be very structured,allowing each step to be a task on its own. Disadvantages of the Waterfall Model:· Ifthe initial requirements are wrong in any way, the final system will have thoseflaws present, and this will be very difficult to change;· Theusers are not very involved outside of the definition phase, so they can’tpoint out any flaws in the systems as it is developed;· Itis very easy for the systems to overrun in terms of time and budget; and · Theproduct won’t be tested until the end of development, so any mistakes will bevery hard to detect until the end, making the initial maintenance longer. Appropriate Uses of the Waterfall Model: · Dueto the disadvantages listed previously, it is best to use this model whenworking on smaller projects that can be completed in a shorter amount of time.· Itis also wise to only use this if the user is certain they have all of therequirements/specifications ready at the definition phase, due to thedifficulty in changing these later on. Prototyping Model:Prototyping is a commonly used modelfor undergoing systems analysis and design.
It can be used both as its ownmodel, or used to enhance other models. A prototype is a very early, workingexample of what the final system will do. The most common types of prototypesare mock-ups, and functional one. These can then either be disposable orevolutionary.Mock-up: this only represents theappearance of the system; it will not perform any functions.
Functional: this is the same as a mock-up, except it allows the user to alsostore data and perform some actions.Disposable: these are just used for testing, and are thrown away after use.Evolutionary: these are updated over time and end up evolving into the finalproduct.Method1. Initial Requirements/Definition: Theessential user requirements are outlined in little detail; this is because themore important details will be added in a later step.2. Design: The design team will then usethe information given from the user in the previous step to create an initialdesign.
3. Prototyping: Computer-aided softwareengineering tools will then be used to quickly create a prototype that willperform the essential functions outlined by the user in the first step.4. Evaluation: The user will then lookat and test the prototype to ensure it meets all the listed requirements. Theywill then make a list of comments to provide clarification to the design teamon what needs to be changed/added.
5. Review and Update: The system is thenreworked, adding all of the missing features listed by the user in the previousstep. The method will then repeat from stage 2 to stage 5 until the user ishappy that there are no more additions to be made or problems to be fixed.6. Development: This is when the finalproduct can begin to be created, based off the prototype.
7. Testing: The system will be tested bythe user to ensure everything is as they want, and any errors that are foundwill be fixed.8. Maintenance: As in the WaterfallModel, maintenance will continue throughout the life of the product, ensuringthat any problems that arise are quickly fixed. Advantages of the Prototyping Model: · Itheavily involves the user, meaning that they can help point out any problemsand should ensure that they are happy with the final product, do to theirinput;· Dueto the repetition of steps 2-5, the system specifications will be more tailoredto the user’s needs;· Thecost is generally less due to the shorter time spent developing and coding etcdue to the use of the CASE tools; and· Dueto the many different types of prototypes, the team will be able to pick theones that best suit the needs of this project specifically.
Disadvantages of the PrototypingModel:· Veryup-to-date documentation will have to be kept ensuring that the team knowsexactly what stage the prototype is at, meaning they can keep on top of whatthey’ve done already, and what else they need to do;· Theusers can get tired of repeating the same steps over again, potentially causingthem to rush the project, which will then result in more errors and just alower quality final product;· Theinitial definition stage can cause this to be a slower process than othermodels as not all requirements are specified initially, being left for the lateiterations; and · Itcan be difficult to determine when a prototype should be tested further, ordiscarded and replaced.Appropriate Uses of thePrototyping Model:· Due to the repetition of stages, it is easy toadd in initial specifications that were forgotten or not known at the beginningof the project, so this is a good model if not all requirements are knowninitially.· This model should only be used if the end useris available for regular consultation, if they’re not then it is going to bevery difficult to meet their requirements for the system.· Good for use when developing websites, as theappearance will be constantly tweaked until the user is satisfied during therepetitions of steps 2-5. Spiral Model:The Spiral Model iswell-known as a combination of different systems analysis and design models;mostly the waterfall and evolutionary prototyping models. Method1.
Planning/Definition: The user will go throughthe new system requirements in as much detail as possible. The design team willoften interview other users of the current system to learn as much about it aspossible.2. Risk Analysis: Similar to the feasibilitychecks from the Waterfall Model, risk analysis will determine if the risks ofthe project outweigh the benefits; taking things like redundancy costs,development cost overruns or operating-cost miscalculations.3. Engineering: A prototype is produced based onthe initial requirements.
This will be a very basic prototype that representsthe final product, but without some features.4. Evaluation: The user looks at the prototype andprovides feedback based on what changes need to be made.5. Steps 3 and 4 are then repeated until the useris happy that the prototype accurately represents the final product outlined instep 1. Advantages of the SpiralModel: · Due to its similarities to both the Waterfalland Prototype Models, it is good for larger and more complex products;· Thorough consideration of all risks makes the usermore aware of everything that could potentially go wrong; and· The constant interaction with the end userallows for faster problem solving; Disadvantages of the Spiral Model: · The risk assessment is very tedious and cancause serious problems later on if not done correctly.
This is due to the oftenlarge and complex projects this is used for;· It is not advisable for smaller projects due tothe higher cost in comparison to other models; and· Similar to in the Prototyping Model, heavydocumentation will be required to keep track of everything. Appropriate Uses of the Spiral Model:· It is good for larger projects;· It is a good model to use when the users areunsure of their needs as it is easy to implement them later on; and· High risk projects when the requirements arecomplex.