CSIT114-Week 6 - Domain Modelling
CSIT114-Week 6 - Domain Modelling
3
Agenda
4
Problem Domain
5
Techniques to identify things
Brainstorming
Technique
Noun
Technique
6
Techniques to identify things
• Brainstorming Technique
• Use a checklist of all of the usual types of things typically
found and brainstorm to identify domain classes of each
type.
• Noun Technique
• Identify all of the nouns that come up when the system is
described and determine if each is a domain class, an
attribute, or not something we need to remember
7
Brainstorming
8
Brainstorming Steps
9
The Noun Technique
• Does end up with long lists and many nouns that are
not things that need to be stored by the system.
10
The Noun Technique Steps
1. Using the use cases, actors, and other information about the
system— including inputs and outputs—identify all nouns.
– Example: the nouns might include customer, product
item, sale, confirmation, transaction, shipping, bank,
change request, summary report, management,
transaction report, accounting, back order, back order
notification, return, return confirmation…
11
The Noun Technique Steps
12
The Noun Technique Steps
13
Domain Classes
• Attribute
- Describes one piece of information about each
instance of the class
– Customer has first name, last name, phone number
• Identifier or key
– One attribute uniquely identifies an instance of the class.
Required for data entities, optional for domain classes.
Customer ID identifies a customer
• Compound attribute
– Two or more attributes combined into one structure to
simplify the model. (E.g., address rather than including
number, street, city, state, zip separately). Sometimes an
identifier or key is a compound attribute.
14
Attributes and Values
15
Associations among things
16
Types of Associations
Binary Association
Associations between exactly two different classes
Course Section includes Students
Members join Club
17
Associations among things
18
Domain Model Class Diagram
Class
A category of classification used to describe a collection of
objects (instances)
Domain Class
Classes that describe objects in the problem domain
Class Diagram
A UML diagram that shows classes with attributes and
associations
Domain Model Class Diagram
A class diagram that only includes classes from the problem
domain
19
Domain Model Class Diagram
• Both types of class diagrams used in system analysis and system design, but they serve different
purposes and are created at different stages of SDLC.
• Purpose Domain class diagrams: are used to model the fundamental concepts and entities in
the problem domain. They represent the real-world objects, their attributes, and relationships.
• Purpose Design class diagrams: are less abstract and may include implementation-specific
details. They capture the structure of software components, including methods (operations) and
attributes.
Attributes are usually listed in the form: Access_modifier attribute_Name : Type
21
UML notation for Multiplicity
22
A Simple Domain Model Class Diagram
has Relates to
23
Domain Model Class Diagram for a bank with many branches
24
Domain Model Class Diagram
for course enrollment at our university
25
Domain Model Class Diagram
for course enrollment at our university
26
Domain Model Class Diagram
for course enrollment at our university
has belongs
enrolls
has
27
Association Class Properties
28
Generalization/Specialization Relationships
Generalization/Specialization
A hierarchical relationship where subordinate classes are special
types of the superior classes. Often called an Inheritance Hierarchy
Superclass
The superior or more general class in a generalization/specialization
hierarchy
Subclass
The subordinate or more specialized class in a
generalization/specialization hierarchy
Inheritance
The concept that subclasses inherit characteristics of the more general
superclass
29
Generalization/Specialization Relationships
30
30
Whole Part Relationships
1- Aggregation
2 – Composition
31
Whole Part Relationships
32
Whole Part Relationships
Note: this is
aggregation
Whole part can have
multiplicity symbols,
too (not shown)
33
Whole Part Relationships
34
UML Relationships
35
Class Activity 1
In your groups, draw the class relationship between Book and Chapter.
36
Class Activity 2
In your groups, draw the class relationship between Room and Wall.
37
Class Activity 3
In your groups, specify the association name and multiplicity to indicating how many
objects participate in the given relationship.
38
Class Activity 4
In your groups, draw the class relationship between I/O Device, Scanner, Keyboard,
and Mouse.
39
Case Study
42
Entity Relationship Diagrams (ERD)
43
ERD Cardinality Symbols
often called the crows feet notation
44
Expanded ERD with attributes
46
References
• Satzinger, J., Jackson, R. & Burd, S. (2016) Systems Analysis And Design In A
Changing World. 7th Edition, Boston, Mass. Cengage Learning.
• OOAD - UML Basic Notations.
https://www.tutorialspoint.com/object_oriented_analysis_design/ooad_uml_basic
_notation.htm
. Last Accessed 14 October 2023.
• Camel case. https://en.wikipedia.org/wiki/Camel_case . Last Accessed 14 October
2023.
47
THANK YOU
Any Question ?
48