Week 13 - Final Exam Review
Week 13 - Final Exam Review
• Create New
Telephone
Order
In VP – create a narrative
• In Visual Paradigm, right click on the use case oval and select “Open
Use Case Details…”
• This gives you a place to write the steps of the narrative and have
them linked to your use case!
03/02/2024 17
A Simple Domain Model Class
Diagram
Note:
A customer places zero or more orders
An order is placed by exactly one customer
03/02/2024 18
The Domain Model Class Diagram
Class
A category of classification used to describe a collection
of objects
Domain Class
Classes that describe objects in the problem domain
Class Diagram
A UML diagram that shows classes with attributes and
associations (plus methods if it models software classes)
Domain Model Class Diagram
A class diagram that only includes classes from the
problem domain, not software classes so no
methods
03/02/2024 19
Details about 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.
03/02/2024
20
Associations define the relationships
between classes
03/02/2024 22
UML Notation for Multiplicity
03/02/2024 23
• An association class, which is essentially a class attached to an
association, is used to model an association as a UML class. It has its
own name, attributes operations, just like any other ordinary class.
However, it is described by additional attributes which does not
belong to the objects involved in the association.
Refined Course Enrollment Model
with an Association Class CourseEnrollment
Association class— an association that is treated as a class in a
many to many association because it has attributes that need to
be remembered, such as grade. Its attributes do not belong in
any other class.
How to draw an Association Class in VP
03/02/2024 25
More Complex Issues about Classes:
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 classes inherit characteristics of the more
general superclass
03/02/2024 26
Subclasses
• Some instances of a class (a subclass) may be grouped
together based on features not shared by the rest of the
class.
• Attributes
• Behavior
• Relationships
• Key verb is “isakinda” (and inverse, “canbea”).
03/02/2024 27
Subclasses and Inheritance
• A subclass is made up of
selected instances from another
class, the “Parent class” or
“superclass.”
• A superclass includes all the
instances of the subclass, plus
possibly more as well.
03/02/2024 28
Generalization, Inheritance & Constraints
• Generalization path
• Solid line with hollow arrowhead
pointing from subclass to superclass
• Indicates the basis of generalization
• Name the path for the attribute being
removed = called the Discriminator
• The Discriminator shows which property
is abstracted by a generalization
relationship
03/02/2024 29
Constraints on Generalization
30
03/02/2024
Example from SheriWorld/Skip The Line
A Seasons Pass Holder is-a Patron
A Daily Patron (non seasons
passholder) is-a Patron
03/02/2024 32
Domain Class – Week 8
Whole To Part Relationships
• Sometimes we want to denote a relationships where something “is made up
of” something else.
• We have two choices: composition and aggregation
• Composition is stronger. Note that the symbol for composition is also stronger
because the diamond is coloured in. In composition we say that the whole is
responsible for the parts; this includes the lifecycle of the parts. So, if a house
is made up of rooms (see your readings for week 5) and we take away the
house, the rooms are also gone. The rooms cannot exist without the house.
The room can also only be part of one house at a time.
• ***Note that the readings show an arrow on the one end of the aggregation
and composition symbols; this is not necessary, just the diamond.***
03/02/2024 34
Composition
• Stronger relationship
• When you get rid of the whole,
the parts do not exist on their
own anymore (in the system you
are modelling).
• Parts can only belong to one
whole
03/02/2024 35
Aggregation
• Weaker relationship (note that
the diamond is not coloured in).
• When the whole is destroyed,
the parts can still exist
• More of “uses” than an “owns”
03/02/2024 36
System Sequence Diagram (S SD)
• Messages
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 37
Message Notation for SSD
• [true/false condition] return-value := message-name (parameter-list)
• An asterisk (*) indicates repeating or looping of the message
• Brackets [ ] indicate a true/false condition. This is a test for that message
only. If it evaluates to true, the message is sent. If it evaluates to false, the
message isn’t sent.
• Message-name is the description of the requested service written as a
verb-noun.
• Parameter-list (with parentheses on initiating messages and without
parentheses on return messages) shows the data that are passed with the
message.
• Return-value on the same line as the message (requires :=) is used to
describe data being returned from the destination object to the source
object in response to the message.
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 38
System Sequence
Diagram (SSD) Notation
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 39
SSD Message
Examples
with Loop
Frame
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 40
SSD Message Examples
• Opt Frame
(optional)
• Alt Frame
(if-else)
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 41
Steps for Developing SSD
1. Identify input message
• See use case flow of activities or activity diagram
2. Describe the message from the external actor to the system
using the message notation
• Name it verb-noun: what the system is asked to do
• Consider parameters the system will need
3. Identify any special conditions on input messages
• Iteration/loop frame
• Opt or Alt frame
4. Identify and add output return values
• On message itself: aValue:= getValue(value ID); or
• As explicit return on separate dashed line
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 42
SSD for Create customer account Use case
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 43
SSD for Ship
items Use
Case
Systems Analysis and Design in a Changing World, 7th edition – Chapter 5 ©2016. Cengage Learning. All rights reserved. 44
How do you • Step 01 : From the narrative, have
build a VP generate a ‘system sequence
System diagram’ ( this a high-level
sequence diagram)
Sequence
• Step 02 : extend the system
Diagram in sequence diagram by elaborating
VP? how messages are handled within
the “SYSTEM”
Business Logic
Data
SYST28951-System Development
03/02/2024 47
Methodologies
Sequence Diagrams and Stereotypes
(Robustness)
• To get from use cases to detailed design, you need to
link your use cases to objects. These objects are called:
• Boundary object – represents a noun
• Entity object – represents a noun
• Controller – represents a verb
• Data Access Object (DAO) – represents a data store