Approaches to software development
Approaches to software development

Start this free course now. Just create an account and sign in. Enrol and complete the course for a free statement of participation or digital badge if available.

Free course

Approaches to software development

Typical technical activities for the development of software

There are many and varied methods used to develop software. However each one typically includes activities that can be roughly classified as follows:

  • Domain modelling. Understanding the environment in which a system may be introduced – the business processes and rules. This is typically an activity that precedes a decision to develop a software system.
  • Requirements (also known as requirements engineering). A set of steps including requirements elicitation, where you identify the problem, and requirements analysis, where you categorise, prioritise and model requirements. This defines what the system is to do.
  • Design. Determining how you will solve the problem.
  • Implementation. Acting upon the decisions made at the design stage.
  • Testing. Testing what you have done so that you can determine whether or not you have solved the problem.

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:

  • correct errors
  • adapt to a changing environment
  • introduce enhancements required by the customer
  • improve the software in anticipation of future changes.

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.

Described image
Figure 5 Activities for the development of a good software system
TM354_1

Take your learning further

Making the decision to study can be a big step, which is why you'll want a trusted University. The Open University has 50 years’ experience delivering flexible learning and 170,000 students are studying with us right now. Take a look at all Open University courses.

If you are new to University-level study, we offer two introductory routes to our qualifications. You could either choose to start with an Access module, or a module which allows you to count your previous learning towards an Open University qualification. Read our guide on Where to take your learning next for more information.

Not ready for formal University study? Then browse over 1000 free courses on OpenLearn and sign up to our newsletter to hear about new free courses as they are released.

Every year, thousands of students decide to study with The Open University. With over 120 qualifications, we’ve got the right course for you.

Request an Open University prospectus371