An introduction to software development
An introduction 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

An introduction to software development

1 Software development as engineering

G. F. C. Rogers, writing in the early 1980s, defined engineering as ‘the practice of organising the design and construction of any artifice which transforms the physical world around us to meet some recognised need’ (Rogers, 1983).

Rogers was not a software developer, but an engineer specialising in thermodynamics and jet-engine development. Yet his definition captures the essence of engineering and has a wide applicability which extends to software. Much of our endeavour in software development is the design and construction of software to meet some recognised need – of people, organisations or society at large – with tangible effect on the real world.

Activity 1

Look at Rogers’ definition of engineering. How would you relate elements of that definition to your understanding of software development?


Organising design and construction can be related to what is commonly known as a ‘software development process’: if you develop software in the context of a commercial organisation, it is highly likely that you and your team will follow one such process to coordinate the construction and deployment of software.

The physical world around us can be related to the context in which the software will be deployed – the context could be the way an information system is organised, the device in the case of a software controller, or the internet for a web application.

The recognised need in Rogers’ definition relates to the problems the software is meant to solve – what we commonly capture as requirements in software development. These problems are the reason why the software should exist, and express how software should affect its context once in operation.

In this course we take an engineering view of software development, and, guided by Rogers’ definition, will explore in some detail the constituent elements of software development, and the interrelations between these elements.


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