System modelling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system. Unified Modelling Language (UML) graphical notations are commonly used in system modelling.
Different models are used to describe different perspectives of the system. In this course we will be using the following models:
Context Models: Context models are used to illustrate the operational context of a system – they show what lies outside the system boundaries. Social and organisational concerns may affect the decision on where to position system boundaries.
Architectural Models: Architectural models are used to show the system and its relationship with other systems.
Interaction Models: Used to describe interaction perspective of the system, where you model the interactions between a system and its environment, or between the components of a system. UML Use Cases and Activity Diagrams are used to design interaction models.
Structural Models: Used to describe structural perspective of the system, where you model the organisation of a system or the structure of the data that is processed by the system. UML class and object diagrams are used to design structural models.
Dynamic Models: Used to describe behavioural perspective of the system, where you model the dynamic behaviour of the system and how it responds to events.
UML state machine diagrams and sequence diagrams are used to design dynamic models.
1. Context Models & Architecture Models
Weather Station – Context Model
Understanding of the context also lets you establish the boundaries of the system. Setting the system boundaries helps you decide what features are implemented in the system being designed and what features are in other associated systems.
The context model for the weather station is shown in Figure. It shows the boundaries of the weather station system. The numbers '1' and '1…n' indicate the type of relationship between the weather station system and other systems in its boundary
System Context for the Weather Station
Weather Station – Architecture Model
High-level architecture of Weather Station
2. Interaction Modelling
Use Cases
The term use case is used to refer to a function that an application has to provide to the users. Use cases are powerful graphical tools for modelling the system requirements. Use cases are part of the UML specification.
To illustrate the idea of a use case, consider a library application. Such an application would be expected to provide the following functions to its users:
Borrow a book
Return a book
Reserve a book
Renew a book
Search for a book
These would be typical use cases for the library application.
Use Cases for the Library Application
Relationships in Use Case Diagrams
A use case diagram describes relationships between actors and use cases and among different use cases.
a. Association
An association is a relation between an actor and a use case. It is the only possible relationship between an actor and a use case. An association indicates that an actor interacts with the system for the specified use cases. Associations between actors and use cases are not directed and have no name. They are represented by solid lines between actors and use cases as shown in above Figure.
b. Generalisation
Actors may be related by generalisation relations. The source of a generalisation is a special case of the target. This means that the target can always be replaced by the source but not vice versa. A generalisation relation is represented by a directed arrow with a solid line and an empty triangle as arrow head. Figure shows an example.
2. Activity Diagrams
Activity diagrams graphically describe the steps performed in a UML use cases. It shows how the activities are coordinated among the various parties involved.
The symbols used in activity diagram and their meanings are listed below.
Activity Diagram for Withdraw Money