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

Problem and solution

By dividing one large problem into a set of smaller sub-problems, we might expect to reach a point where we can capture, understand and describe each sub-problem. But there are two difficulties.

  • How do we know that each identified sub-problem is any easier to understand and solve than the original problem?
  • How do we know that all of our sub-problems will fit back together again and recreate that original problem?

The key to finding sub-problems that you recognise and understand is prior knowledge and experience. As a developer, you may know how to create a good design or a good program, but you may not be familiar with the problem domain.

As a developer, the problem that you face is in the world outside the computing system, where you aim to provide a solution. The software that you construct can provide solutions to problems because they are connected to the world outside, as illustrated in Figure 1.

Described image
Figure 1 Separating a problem from its solution

The main issue that you as a developer should focus on is solving the problems identified by the users, rather than worrying about how to write the program code. When projects fail it may be because of mistakes that were made quite early on in the design stage, often resulting from poor understanding of the problem domain, not because of what happens at the coding stage.

Example 7

One way to find out whether you have a good solution to a problem is to consider the kinds of complaint you would receive from users if your software did not work properly. For example, suppose someone had made a reservation to stay in a hotel but when they arrived, the receptionist told them that there was no reservation in their name. In another case, they might have reserved rooms for six people only to find that there was only room for one.

By doing such thought experiments you may often be able to spot flaws in your solution, although of course there may always be situations you have overlooked, so you can never be completely certain that your solution is comprehensive.

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