Beruflich Dokumente
Kultur Dokumente
It is also called Classic Life Cycle or Waterfall model or Software Life Cycle suggests a systematic and sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing and support. The waterfall model derives its name due to the cascading effect from one phase. In this model each phase well defined starting and ending point, with identifiable deliveries to the next phase Analysis-->Design-->Coding-->Testing
Advantages
Simple and a desirable approach when the requirements are clear and well understood at the beginning. It provides a clear cut template for analysis, design, coding, testing and support. It is an enforced disciplined approach
Disadvantages
It is difficult for the customers to state the requirements clearly at the beginning. There is always certain degree of natural uncertainty at beginning of each project. Difficult and costlier to change when the changes occur at a later stages. Customer can see the working version only at the end. Thus any changes suggested here are not only difficult to incorporate but also expensive. This may result in disaster if any undetected problems are precipitated to this stage
Rapid application development is a software development methodology, which involves iterative development and the construction of prototypes. It is a merger of various structured techniques, especially the data driven Information Engineering with prototyping techniques to accelerate software systems development
process.
Success depends on the extremely high technical skills of the developers. There are times when the team ignores necessary quality parameters such as consistency, reliability and standardization. Hence this can make project quality management hard to implement during the project management life cycle The Advantages and Disadvantages of RAD Software Development - Tip RAD is best used when you are developing something which is basically being built upon the foundations of an existing prototype. The reason being that a key part of this methodology is the re-use of prototypes which reduces both the process of software development and the testing time required. However it should not be used for new cutting edge functionality which has not been developed before. It is for this reason that RAD methodology is never used in New Media or Web 2.0 development projects. Since these usually consist of completely new functionality requirements RAD simply wouldnt work. And of course once a system has been built using say Agile principles, this will always be the approach used when looking to upgrade the functionality developed further
Prototyping:
Creating software using the prototype model also has its benefits. One of the key advantages a prototype modeled software has is the time frame of development. Instead of concentrating on documentation, more effort is placed in creating the actual software. This way, the actual software could be released in advance. The work on prototype models could also be spread to others since there are practically no stages of work in this model. Everyone has to work on the same thing and at the same time, reducing man hours in creating a software. The work will even be faster and efficient if developers will collaborate more regarding the status of a specific function and develop the necessary adjustments in time for the integration.
Advantages of prototyping
May provide the proof of concept necessary to attract funding Early visibility of the prototype gives users an idea of what the final system looks like Encourages active participation among users and producer Enables a higher output for user Cost effective (Development costs reduced) Increases system development speed Assists to identify any problems with the efficacy of earlier design, requirements analysis and coding activities Helps to refine the potential risks associated with the delivery of the system being developed Various aspects can be tested and quicker feedback can be got from the user Helps to deliver the product in quality easily User interaction available during development cycle of prototype [edit] Disadvantages of prototyping Producer might produce a system inadequate for overall organization needs User can get too involved whereas the program can not be to a high standard Structure of system can be damaged since many changes could be made Producer might get too attached to it (might cause legal involvement)[verification needed] Not suitable for large applications Over long periods, can cause loss in consumer interest and subsequent cancellation due to a lack of a market (for commercial products)
Requires considerable expertise in risk evaluation and reduction Complex and relatively difficult to follow strictly Applicable only to large systems Risk assessment could cost more than development Need for further elaboration of spiral modelsteps (milestones, specifications, guidelines and checklists))
Advantages:
- Risk reduction mechanisms are in place - Supports iteration and reflects real-world practices - Systematic approach
Stage 5: Integration and Testing Phase Here the various codes designed by different programmers are integrated together and is tested if the software works as per the specifications provided. The setup of the final software which needs to be installed at the clients system is also designed and tested so that the client does not face any problem during the installation of the software. The product is then handed over to the client. Stage 6: Maintenance Phase The work of software development does not end with the handing of the software to the client. The software designers may have to constantly provide support to the client to resolve any of the issues which may arise. There may be some flaws which get detected during the actual implementation of the project. During the maintenance phase, support and debugging is provided for all such problems. Stage 7: New Requirements Phase Changing times may require that the product requirements be changed. The client company may be expanding into other fields and it may want new features to be added over to the existing software. Hence, it is very important that the updated requirements be taken from the client. This requires the entire product life cycle to start all over again. Now, I hope that the small explanation given above must have helped you in understanding the waterfall model. With this knowledge in hand, let us try to understand the advantages and disadvantages of waterfall model. Read more on waterfall model in software engineering.
various versions of the same, which allow some waterfall model phases to overlap or feedback to be taken after each phase, which make designing the software a lot more simpler. So this, in short, was all about waterfall model advantages and disadvantages. In spite of the disadvantages, the many advantages of this model ensure that it remains one of the most popular models used in the field of software development.