Waterfall Model
Waterfall model is the first published model of the software development process which is given in above image. According to the model it has different activities in each stage such as,
Requirement Analysis and Definition
We can use different approaches to gather requirements from the domain where software system is required. We must make sure that we provide software solution to a business problem and our solution or the product should support the business rather than complex solution which does not support solution. Hence we need to clearly understand what the functional, non-functional requirements of the system are and need to analyze and see what the priority of those functional requirements.For example, we need to understand priority of requirement and deliver accordingly. There may be uses who need some functionality which may take considerable time and cost to develop which may not be the priority of the senior management. Hence you need to have better understanding of business requirements and need to deal with senior management as much as possible to avoid requirement ambiguity.System and Software Design
Once the requirements are defined properly, that could be the base document for you to start the development. Based on the requirement specification document you can start development of algorithms, data specification such as data types, lengths, tables, fields etc, and Graphical User Interface (GUI).Implementation and Unit Testing
Now you can start coding your designed system. You may select appropriate programming language to suit for the given requirements. You can have different software models, develop which you can test as modules which is called unit testing. This is purely a responsibility of software engineer whodevelop software module which could be a class, form, or any other executable program.
Integration and System Testing
The develop software product needs to be connected with external systems,databases, network in order to perform business function. Hence at this stage you will conduct full system testing and handover the system to users to test.Once users accept the system, you can start the system for live operations.Operation and Maintenance
You will operate system and provide business functionalities using developed system. Also due to various reasons you may be requested to provide some new functions, change functions, improve performance. Those said actives are referred as system maintenance which you always need to accommodate.In principle, under the waterfall model, output of each stage will be given to the next phase until next phase will not be started. For example, requirement analysis document should be signed off in order to start the software design stage activities. During the coding stage, problems related to design will be identified. For example,under the coding stage, problem related to interface design, database design will be identified and all identified problems will be corrected in order to resume with the coding stage of the system. Until one stage is completed, next stage will not be started and this leads to take lot of time and cost of iterative process with in two stages. So that after sometime, iteration will be freeze and move into the next phase. If there is an unidentified and rectified problem, that will remain in the system even after completion of the development unless it was detected by the testing stage.
Post a Comment