Intro Classes
Intro Classes
Chapter 4
To produce a domain
model class diagram
using UML
What is Class in an UML
Diagram?
A Class in UML diagram
is a blueprint used to create an object or set of
objects.
It is a template to create various objects and
implement their behaviour in the system.
It defines what an object can do
A Class in UML is represented by a rectangle
that includes rows with class names,
attributes, and operations: in three
compartments.
2
What is Class Diagram?
A Class Diagram in Software engineering is
a static structure that gives an overview of a
software system by displaying classes,
attributes, operations, and their relationships
between each other.
Class Diagram helps construct the code for
the software application development.
Analysis Design Implementation
3
Benefits of Class Diagram
Illustrates data models for even very complex
information systems
It provides an overview of how the application is
structured before studying the actual code. This
can easily reduce the maintenance time
It helps for better understanding of general
schematics of an application.
Allows drawing detailed charts which highlights
code required to be programmed
Helpful for developers and other stakeholders. 4
Essential elements of A UML
class diagram
• Public, private, protected and package are the four visibilities which are
denoted by +, -, #, or ~ signs respectively.
• Visibility describes the accessibility of an attribute of a class.
• Attributes must have a meaningful name that describes the use of it in a
class.
5
“Relationships”
Associations
Association Class
Dependencies
Generalizations
Whole-Part
Multiplicity
“Role”
6
Association
7
Association Class
Example:
Courses may be offered as many Course-
Sections
A student may enrolls in many Course-Sections
A Course-Section may be taken by many students
A course is described by
Course ID, Description, Credit hours
Course Section
Section no, times, venue
Student:
8
Course Enrolment:
10
Introducing Association Class
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
11
Generalization
Italics
It’s natural to classify objects in categories (a TYPE of; Kinds of) and to
organize categories into subcategories. If you look for a place to live, you
find yourself categorizing a dwelling unit as a house, apartment, townhouse,
mansion, etc.
As you define classes, you may notice that some classes have the same
attributes or the same operations. When this is the case, you place these
common features (attributes, operations, and so on) in a more generic
class called the superclass. The classes that share the common features 12
are known as subclasses of the superclass.
Generalization/Specialization
The idea that people classify “things” ito
similarities and differences
13
Whole-Part
Aggregation:
In aggregation, the contained classes are never
totally dependent on the lifecycle of the container
Composition:
It denotes strong ownership between two
classes when one class is a part of another class.
Key words: it belongs too; it is part of; it ‘has’
14
15
Examples
A customer has many accounts, and an
account belongs to a customer
My pc consists of one CPU, a CPU is found
in a pc.
A vehicle can be a sedan or a truck.
16
Dependency
A dependency means the relation between
two or more classes in which a change in one
may force changes in the other.
However, it will always create a weaker
relationship. Dependency indicates that one
class depends on another.
17