3.5 Summary of Section 3
As you become more familiar with the activity of modelling, it should become apparent that there is considerable flexibility in the construction of models. There is no guarantee that different developers, when confronted by the same problem, will select the same things to model, and even if they do, will produce identical models, although there should be a great deal of similarity in most cases.
This section considered the role of modelling in the development of a good software system:
- A model is an abstract representation of a concept, a specification, a design or a system from a particular point of view of either the user or the developer. In general, it is a simplification that is used to understand an aspect of the system in question.
- A standard modelling language helps those involved in software development projects to communicate effectively. If the standard is widely used, it will reduce the time taken for developers to become familiar with a new project.
- The Unified Modeling Language (UML) is a useful standard because it is easy to use, sufficiently expressive, unambiguous and widely used. There are also a variety of tools that support UML.
- During software development, there may be many models made from a variety of viewpoints. They must not contradict each other, that is, they must be consistent.
The UP is a popular iterative and incremental development process. It defines a series of timeboxed iterations and promotes a set of best practices that are high-risk driven, user centred and architecture focused. It is possible to take an agile approach to the UP as many of its practices are also supported by agile developers.