Sie sind auf Seite 1von 6

Linear Sequential Model

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

Advantages of the RAD methodology:


Flexible and adaptable to changes. Prototyping applications gives users a tangible description from which to judge whether critical system requirements are being met by the system. Report output can be compared with existing reports. Data entry forms can be reviewed for completeness of all fields, navigation, data access (drop down lists,checkboxes, radio buttons, etc.). RAD generally incorporates short development cycles - users see the RAD product quickly. RAD involves user participation thereby increasing chances of early user community acceptance. RAD realizes an overall reduction in project risk. Pareto's 80 - 20 Rule usually results in reducing the costs to create a custom system.

Disadvantages of RAD methodology:


Unknown cost of product. As mentioned above, this problem can be alleviated by the customer agreeing to a limited amount of rework in the RAD process. It may be difficult for many important users to commit the time required for success of the RAD

process.

Advantages of using RAD


There are many advantages of using RAD and it can solve many concerns of the user as well as the developers. Conventional software development methods take, on an average almost 20% more time than the RAD procedure. Using RAD can enable quicker visualization of the end-design and hence allow rapid software testing and rectifying steps. The customer is able to have a faster look at the design to add valuable inputs, in order to make the design more user-friendly. The current competitive scenario demands frequently upgraded softwares in order to effectively satisfy customers' requirements. RAD enables a faster and updated version to reach the end user, by systematically eliminating redundant steps or using the prototype methods. Cost overruns and meeting the time constraints are another advantage, though not a big consideration in high-end uses. RAD makes the development process to be a more credible one by facilitating a scope for the customer to actively provide inputs in the development process. This may also prove a feasible study from the point of view of a developer. It protects the current project from the variations in the market. Rapid Application Development is an efficient methodology which can assist faster software development, and at the same time ensure maximum quality of the project.

RAD software development might have fallen out of favour with


the advent of agile methodology, but it still has a important place in certain types of software developments. To understand whether it best suits your needs we have compiled a list of advantages and disadvantages regarding RAD to enable you to make your own mind up. Advantages of RAD Software Development The time required to develop the software is drastically reduced due to a reduced requirement analysis business requirements documentation and software requirement specification) and planning stage. All the software prototypes produced can be kept in a repository for future use. The reusability of the components also enhances the speediness of the process of software development. It is much easier for a project manager to be accurate in estimating project costs which of course means that project cost controls are easier to implement and manage as well. It is a big cost saver in terms of project budget as well as project time and cost due to reusability of the prototypes. If a component is being picked for the repository, it is already tested and hence need not be tested again. This helps in saving time required for testing. The project management requirements are collected in a dynamic manner. Every time there is a prototype ready, requirements are studied and matched. If there are any additional requirements, these are then included in the next prototype built. There is a strong and continuous participation of the project sponsor who keeps giving feedback in the whole process. Hence the end user satisfaction level is higher when the end result is produced. It promotes better documentation through written test cases.

Disadvantages of RAD Software Development


This method may not be useful for large, unique or highly complex projects This method cannot be a success if the team is not sufficiently motivated and nor is unable to work cohesively together.

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)

Disadventages of Spiral models:

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

Waterfall Model - Software Development Model


The most important aspect of the waterfall model is that none of the stages can be started off with before the preceding stage is complete. The software life cycle has to follow the sequence. The original waterfall model designed by Royce consisted of the following seven stages: Specification of Requirements Design Construction Integration Testing and Debugging Installation Maintenance However, various modifications were brought over to this waterfall model as and when required. Here, in this article, we will try to understand a simple waterfall model, broken into six stages. There is a seventh stage which is same as that of the first stage, requirements, but it follows the last stage and is referred to as updated maintenance. Let us try to understand each of these stages one by one. Stage 1: Requirement Phase Whether you design a small program to add two numbers or you are into developing a software system for the automation of an entire airline company, this is the first stage which can never be overridden. Unless you know what you are going to design, you cannot approach the problem. Here, the specifications of the output or the final product is studied and marked. If the software that is going to be designed should not contain certain features, for reasons like security, then it is also mentioned in this stage. Stage 2: Specification Phase With all the requirements and constraints in hand, a final view of how the product should exactly be, is decided. The exact way in which the software should function is mentioned in this stage. Stage 3: Design Phase Well, here the actual work begins. Every type of resource which will be required for the smooth designing of the software is mentioned here in this phase. What type of database will be required, what type of data should be supported, etc. are some of the important aspects that are decided in this phase. The algorithm of the process in which the software needs to be designed is made in this phase. This algorithm forms the backbone for the actual coding part in the next phase. Stage 4: Implementation and Testing Phase Now starts the coding part. Here, the software is designed as per the algorithm. Hence it becomes very important that the algorithm should be properly designed. The software designed as per the algorithm needs to go through constant software testing and error correction processes to find out if there are any flaw or errors. The output of this stage should be a well designed software which is at par with the algorithm designed.

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.

Waterfall Model Advantages and Disadvantages


Let us now try to answer the basic question, what are the advantages and disadvantages of waterfall model? Advantages of Waterfall Model The waterfall model is the oldest and most widely used model in the field of software development. There are certain advantages of the waterfall model, which causes it to be the most widely used model as yet. Some of them can be listed as under. Needless to mention, it is a linear model and of course, linear models are the most simple to be implemented. The amount of resources required to implement this model is very minimal. One great advantage of the waterfall model is that documentation is produced at every stage of the waterfall model development. This makes the understanding of the product designing procedure simpler. After every major stage of software coding, testing is done to check the correct running of the code. Disadvantages of Waterfall Model The question that must be bothering you now is that with so many advantages at hand, what could be the possible disadvantages of the waterfall model. Well, there are some disadvantages of this widely accepted model too. Let us look at a few of them. Ironically, the biggest disadvantage of the waterfall model is one of its greatest advantage. You cannot go back, if the design phase has gone wrong, things can get very complicated in the implementation phase. Many a times, it happens that the client is not very clear of what he exactly wants from the software. Any changes that he mentions in between may cause a lot of confusion. Small changes or errors that arise in the completed software may cause a lot of problem. The greatest disadvantage of the waterfall model is that until the final stage of the development cycle is complete, a working model of the software does not lie in the hands of the client. Thus, he is hardly in a position to mention if what has been designed is exactly what he had asked for The waterfall model, as already mentioned, is of course the most widely used model. There are

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.

Das könnte Ihnen auch gefallen