There are many and varied methods used to develop software. However each one typically includes activities that can be roughly classified as follows:
Different methods may subdivide the above activities or use different terminology. A specific approach, the Unified Process (UP), will be introduced in Section 3. By themselves, however, these activities are not enough to develop a good software system. Other activities are needed to a greater or lesser extent depending on the context, as you will see in this section.
You are likely to break up most problems into smaller, more manageable chunks, and deal with each one separately. It will then be necessary to bring the chunks together into a unified whole. This process is known as integration and is sometimes identified as a separate activity. Sometimes delivery of the software system is also identified separately, especially when there are contractual implications such as payment.
A software system is likely to change during its operational lifetime. This is the maintenance activity, which allows a software system to evolve in order to:
The four activities of analysis (analysis is often used as a generic term for the activities that precede design), design, implementation, and testing are the ones you will see most often in diagrams depicting the process model of software development.
It is important to recognise that they are not the only activities involved in the process of developing a good software system. Project management and quality management are the two additional activities that hold the process of development together – the all-important glue for software engineering activities. Maintenance will inevitably involve the activities of requirements, design, implementation and testing, and will itself need to be managed, as illustrated in Figure 5.
OpenLearn - Approaches to software development Except for third party materials and otherwise, this content is made available under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Licence, full copyright detail can be found in the acknowledgements section. Please see full copyright statement for details.