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

3.2 Models illustrate points of view

To understand the architecture of a software system, you will need a number of complementary and related views. If the main influence is the users, a view that expresses their requirements is essential. This is quite normal. Every development process you will encounter will encompass one or more views of the software systems within its scope.

During software development, you will be interested in different aspects or views of the problem, and its solution at different times. It follows that you will construct different models to suit those aspects. As mentioned above, it is unrealistic to expect to put everything into just one model. Too much detail in a model can only be a distraction.

When it comes to the development of an object-oriented software system, there are two distinct kinds of model:

  • structural (or static) models, which describe the objects in the real world or in a (software) system and their relationships to other objects
  • behaviour (or dynamic) models, which describe the behaviour in the real world or of a (software) system over time.

In practice, such a simple partition of a software system is not enough. For example, in a distributed system a developer must also consider the potential location of the modules (or classes). So the overall process of software development takes a number of different views into account. When developing the software architecture you will be identifying the differing views. In practice, the developers are likely to produce a system architecture for the software system during certain project activities such as analysis or design. Each view can be thought of as a model that expresses a particular aspect of the overall system – each one is an abstraction. The views interact with each other.

Activity 13 Models

Timing: Allow approximately 15 minutes.
  • a.Should you try to capture everything about a design in a single model?
  • b.What is the difference between a structural and a behaviour model?
  • c.Do the models used in a given development project need to be consistent?


  • a.No, because you will be interested in different aspects of a design at different times, and different models of your design will be built to reflect your interpretations of users’ needs.
  • b.A structural model describes the elements of the system and their relationships to other elements. A behaviour model describes the behaviour of a system over a period of time.
  • c.Yes, the whole set of diagrams should contain the different aspects of a single software system, so they should not contradict one another. For example, there must be some consistency checking between the static and dynamic models. This can be automated by a suitable tool.

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