CH4: UML class diagrams
=> Graphical notation language
- Symbols are grouped in 9 different modelling techniques
- We need to know the “class diagrams”
What is a data model?
- Model: systematic more simplified description of what they represent
- UML: Visual, symbolic models used to assist a software engineer
=> Class diagrams:
- UML technique which is used to map out the structure of a business domain
- Visualizes the business objects, the info we need about these objects and
how the objects are related to each other
- Description for business domain is unique for every business, even when they
seem similar
=> e.g. In a webshop for coffee mugs multiple people can put it in their basket
at the same time, but when you are an artist you sell unique paintings. You
will need to keep track of information in different ways because
=> Creating a UML class diagram for a business will enable to pinpoint what makes
the business unique => Will provide a good starting point food developing an IS
Why is domain modelling important?
- Allows deeper understanding of that domain => Crucial for creating software
systems that can adapt to the ever changing requirements of their users
Example:
boat rental business, man rents boats by a lake for tourists. As his business was
growing, he wanted to collect more info about his business
=> Contacted consultancy company to help: He wanted to know the average
duration of the boat trips during that day, the analyst made a formula for the boatman
and gave it to the company’s programmer to develop a system.
=> Difficult to implement, programmer changed it so it was easier to implement => In
real life, he would make a arrival- and departure gate to measure how long the boats
were on water on average
=> Now he needed to know the longest trip, so he went back to analyst, programmer
said it wouldn’t work in old system because it didn’t keep track of individual times,
need new system.
=> Boatman not happy, wont contact company again
1
, => Lesson
- single extra requirement breaks system
- Answer to why lies in the core concept of the business
- Programmer removed the concept of an individual boat trip (only departure
and arrival in general is measured, not which boat exactly when)
- The system design did not embody the core concept => Small change can
lead to whole system failing
=> Need to understand core concepts, and capture these and keep them at
heart of you IS to ensure adaptability
Modelling languages
= Collection of modelling techniques
- UML = unified modelling language, consist of over 9 different modelling
techniques
- Used to write down a model
- Collection of symbols, with a set of rules that define how they can be
composed in a valid way to form a model
- Example: process diagrams from BPMN
- Range from textual (use case diagrams) to purely formal (process algebra)
=> Textual is easy to understand but often imprecise
=> Formal is difficult to understand, but there are no imprecisions
- UML class diagrams: in the middle => Reasonably easy to understand,
sufficiently formal for achieving good level of precision
- Different models are used for different phases and different viewpoints
=> Abstract/conceptual implementation agnostics to detailed implementation
oriented
- Viewpoints in IS: data- behavioural- and interaction perspective
- Some techniques address same viewpoint and phase, but use different
symbols
=> Business process modelling can be done with BPMB process diagrams,
but also with Petri nets
=> Conceptual data modelling can be done with entity relationship modelling,
but also with UML class diagrams
- Sometimes, same technique is used through different phases
=> UML class diagram can be used for conceptual modelling but also for
program design
2
=> Graphical notation language
- Symbols are grouped in 9 different modelling techniques
- We need to know the “class diagrams”
What is a data model?
- Model: systematic more simplified description of what they represent
- UML: Visual, symbolic models used to assist a software engineer
=> Class diagrams:
- UML technique which is used to map out the structure of a business domain
- Visualizes the business objects, the info we need about these objects and
how the objects are related to each other
- Description for business domain is unique for every business, even when they
seem similar
=> e.g. In a webshop for coffee mugs multiple people can put it in their basket
at the same time, but when you are an artist you sell unique paintings. You
will need to keep track of information in different ways because
=> Creating a UML class diagram for a business will enable to pinpoint what makes
the business unique => Will provide a good starting point food developing an IS
Why is domain modelling important?
- Allows deeper understanding of that domain => Crucial for creating software
systems that can adapt to the ever changing requirements of their users
Example:
boat rental business, man rents boats by a lake for tourists. As his business was
growing, he wanted to collect more info about his business
=> Contacted consultancy company to help: He wanted to know the average
duration of the boat trips during that day, the analyst made a formula for the boatman
and gave it to the company’s programmer to develop a system.
=> Difficult to implement, programmer changed it so it was easier to implement => In
real life, he would make a arrival- and departure gate to measure how long the boats
were on water on average
=> Now he needed to know the longest trip, so he went back to analyst, programmer
said it wouldn’t work in old system because it didn’t keep track of individual times,
need new system.
=> Boatman not happy, wont contact company again
1
, => Lesson
- single extra requirement breaks system
- Answer to why lies in the core concept of the business
- Programmer removed the concept of an individual boat trip (only departure
and arrival in general is measured, not which boat exactly when)
- The system design did not embody the core concept => Small change can
lead to whole system failing
=> Need to understand core concepts, and capture these and keep them at
heart of you IS to ensure adaptability
Modelling languages
= Collection of modelling techniques
- UML = unified modelling language, consist of over 9 different modelling
techniques
- Used to write down a model
- Collection of symbols, with a set of rules that define how they can be
composed in a valid way to form a model
- Example: process diagrams from BPMN
- Range from textual (use case diagrams) to purely formal (process algebra)
=> Textual is easy to understand but often imprecise
=> Formal is difficult to understand, but there are no imprecisions
- UML class diagrams: in the middle => Reasonably easy to understand,
sufficiently formal for achieving good level of precision
- Different models are used for different phases and different viewpoints
=> Abstract/conceptual implementation agnostics to detailed implementation
oriented
- Viewpoints in IS: data- behavioural- and interaction perspective
- Some techniques address same viewpoint and phase, but use different
symbols
=> Business process modelling can be done with BPMB process diagrams,
but also with Petri nets
=> Conceptual data modelling can be done with entity relationship modelling,
but also with UML class diagrams
- Sometimes, same technique is used through different phases
=> UML class diagram can be used for conceptual modelling but also for
program design
2