Activities in producing real-world software • • • • •
Analysis and Specification Design Implementation Testing Operation and Maintenance
Analysis and Specification • This is the “WHAT DO WE BUILD” phase. • Analysis is the process of determining what the user requires the system to do – This can be a lengthy process involving all the relevant people who will be using the product
• Specification is the process of producing the document which describes what the system should do. – This will serve two purposes – Firstly, it will eventually form the contractual document with the user – Secondly it will be used as the prescriptive document on which the design of the system will be based A great many methodologies exist for system specification; such as DFDs, ERDs OMTs etc.
Design • This is the “HOW DO WE BUILD IT” phase • The design of a system consists of making decisions about how the system will be built on order to meet the requirements determined during the analysis phase • Various methods of designing a program exist such as algorithms, pseudo code, structure diagrams etc
Implementation • This is the “BUILD IT” phase. • During this phase the design is turned into a program which will be written in some sort of executable language • Usually systems will be created by producing a number of modules which will be then integrated; each of these units will be separately tested before integration
Testing • This is the “HAVE WE BUILT IT RIGHT?” phase • The aim of testing is verification that the system conforms to its specifications. • System as a whole will be tested. • After testing, system can be deployed to the customer site
Operation and Maintenance • This is the “IS IT STILL OK?” phase. • Once the system is installed any existing errors will be corrected, performance improvements can be made, and – hopefully – the system can in future be adapted to meet changing requirements. • Issues such as adaptability and good documentation are clearly particularly relevant in this respect