System development lifecycle The classic model of software development was the Waterfall model, which considered the process as progressing through a series of stages from requirements analysis through specification, design, coding, testing to documentation and maintenance. Each stage was completed before the next was started. The absence of any significant iteration between the different stages has led to the abandonment of this model. The stages involved were: -Feasibility: Is the project technically, operationally, financially and legally feasible? The feasibility study is used to determine if the project should get the go-ahead. If the project is to proceed the feasibility study will produce a project plan and budget estimates for the future stages of development. Analysis: Gather the requirements for the system. This stage includes a detailed study of the business needs of the organisation. Design: This focuses on high-level design (what programs are we going to need and how are they going to interact), low-level design (how the individual programs are going to work), interface design (what are the interfaces going to look like) and data design (what data are we going to need). Implementation: The designs are translated into code. Computer programs may be written using a conventional programming language to a fourth generation language (4GL) or an application generator. Test: The system is tested. Normally programs are written as a series of individual modules - these should be subject to separate and detailed test. The system is then tested as a whole - the separate modules are brought together and tested as a complete system. The system needs to be tested to ensure that interfaces between modules work (integration testing), the system works on the intended platform and with the expected volume of data (volume testing) and that the system does what the user requires (acceptance/beta testing). Maintain: Inevitably the system will...