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:
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.
Allow approximately 15 minutes.
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.