0% found this document useful (0 votes)
42 views33 pages

2022 2023 Chapter3 Class Daigram

Uploaded by

brahim.safa2018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views33 pages

2022 2023 Chapter3 Class Daigram

Uploaded by

brahim.safa2018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

UML

for
Design
Class diagram
1
Class diagram for the SDLC

Depicts the classes


and their
dependencies for the
primary requirements Describes the classes,
of the system. their attributes and
operations and the 2
relationship between
classes.
Class diagram
• One of the most used UML diagrams.
• Provide a static view of a system.
• A UML class diagram is made up of:
- A set of classes and
- A set of relationships between classes
• Describes the structure of a system by showing the
system's classes, their attributes, methods, and the
relationships among objects.

3
Class diagram : example ATM BANK

4
Intoduction to Object Oriented
concepts
5
Real world and software objects analogy (1/2)

• Real-world objects share two characteristics: state and behavior.

Examples
• Person
• state : has age, weight, height, eye color, name, etc.
• behavior : reading, writing, communicating, etc.

• Desktop radio
• state : on, off, current volume, current station.
• behavior : turn on, turn off, increase volume, decrease
volume, seek, scan, and tune. 6
Real world and software objects analogy (2/2)

• Software objects are similar to real-world objects:


they also consist of state and related behavior.
• An object stores its state in attributes (fields or variables in
some programming languages) and exposes its behavior
through methods (operations or functions in some
programming languages).
• Methods operate on an object's internal state (Attributes)
and serve as the primary mechanism
for object-to-object communication.

7
What Is an Object?
• An object
• is a software bundle of related state and behavior.
• is often used to model the real-world objects that you find
in everyday life.

Books

8
University
What Is a Class?
• A class
• A description of a group of objects with common properties
(attributes), behavior (operations), relationships, and
semantics.
• Models the state and behavior of a real-world object.
• An object is an instance of a class.

• Example:
• When I hire a new employee “Joan” (object), he is an
instantiation of the class “employee”.
9
What is a Class?

Example 1 Example2
Class

Objects

10
Objects are instances of a class
Class Diagram : core elements
11
Class
Description: a class has three parts
• name at the top
• attributes in the middle
• methods (or operations) at the bottom.

Syntax:

Class

Attributes

Methods
12
Class attributes
• An attribute is a named property of a class that describes the
object being modeled.
• Attributes are usually listed as attribute name : data type
• In the class diagram, attributes appear in the second
compartment just below the name-compartment.

Person

ssn : number
name : string
address : string
birthdate : date
13
Class Methods
• describe the class behavior
• appear in the third compartment of the class.

Person
ssn : number
name : string
address : string
birthdate : date

getName() : string
setName(name) : void
14
Isbirthday() : boolean
Drawing Classes
• When drawing a class, you don’t need to show attributes and methods in
every diagram.

Person Person Person

ssn : number
name : string
address : string
Person birthdate : date

ssn Person
name getName() : string
address setName(name) : void
birthdate getName() : string Isbirthday() : boolean
setName(name) : void
Isbirthday() : boolean
15
Class Diagram relationships

16
Relationships: Association (1/2)
• When modeling a system, certain objects will be related to
each other

• These relationships need to be modeled for clarity using


association relationships

• There are several types of associations

17
Relationships: Association (2/2)
• If two classes in a model need to communicate with each
other, there must be link between them.
• An association denotes that link.

• Syntax
a solid line between the two classes

Student Instructor

18
Relationships: Multiplicity (1/2)
Multiplicity
• is the active logical association where the cardinality of a
class in relation to another is being depicted.

Example:
one campany may include multiple persons,
while one person may work at one company .

19
Relationships: Multiplicity (2/2)
• Multiplicity is a definition Potential Multiplicity Values
of cardinality - i.e. number of Indicator Meaning
elements - of some collection of
0..1 Zero or one
elements
1 One only
• It provides an inclusive interval of
0..* Zero or more
non-negative integers to specify the
* Zero or more
allowable number of instances of
described element 1..* One or more
3 Three only
• Multiplicity interval has some lower
bound and (possibly infinite) upper 0..5 Zero to Five
bound 5..15 Five to Fifteen

20
Relationships:
Multiplicity+association (1/2)
• We can indicate the multiplicity of an association by adding
multiplicity bounds to the line denoting the association.

Instructor
Student 1..*
a Student has one or more Instructors

Student Instructor
1..*
every Instructor has one or more Students

• We can also indicate the behavior of an object in an association


(i.e., the role of an object) using role names.
teaches learns from 21
Student Instructor
1..* 1..*
Relationships:
Multiplicity+association (2/2)
• We can also name the association.
membership
Student Team
1..* 1..*

• We can specify dual associations.


member of

1..* 1..*
Student Team

1 president of 1..* 22
Relationships: Association class
• The association between two classes may have attributes and
operations in its own  represented by a class icon in the
same way as other entities: association class.
• An association class can have an association with another class,
Syntax
• The association class has its own icon, connected to the
association to which it belongs via a dashed line.

23
Relationships: Reflexive association
• Reflexive (self) association
• A class can be associated with itself
• Does not mean that a class's instance is related to itself,
• But means that an instance of the class is related to another
instance of the class.
• Example
An Employee class could be related to itself through the
manager/manages role.

24
Relationships: N-ary association
• n-ary association: It links more than two classes,
• Syntax
• a large diamond with a path starting at each participating
class. The name of the association, if any, appears near the
diamond.

25
Relationships: Aggregation
• Aggregation is used to model objects that contain other objects
• Specifies a whole-part relationship between an aggregate
(a whole) and a constituent part
• The part can exist independently from the aggregate.
Syntax
• Aggregations are denoted by a hollow-diamond adornment
on the association.

26
Relationships: Composition
• Composition (or composite aggregation)
• Indicates a strong ownership and coincident lifetime of parts
by the whole (i.e., they live and die as a whole).
Syntax
• a filled-diamond adornment on the association.
Scrollbar
1 1
Window Titlebar
1 1
Menu
1 1 .. *

27
Relationships: Generalization (1/2)
• Generalization is
• the ability of one class (child class) to inherit the identical
functionality of another class (super class), and then add
new functionality of its own.
• also known as the inheritance or "is a" relationship.
Syntax
a solid line drawn from the child class with a closed, unfilled
arrowhead (or triangle) pointing to the super class.

28
Abstract class
• An Abstract class is a class that cannot have its own (direct)
instances.
• Abstract classes exist purely to generalize common behavior that
would otherwise be duplicated across (sub)classes.
• In UML, the name of an abstract class is written in an italic font
• Example

29
DataType
• Represent value types from business domain, primitive
types or structured types of a programming language.
• example: date/time, gender, currency, address.
• A data type is shown using rectangle symbol with
keyword «dataType».
• A data type may contain attributes and operations to support
the modeling of structured data types.

30
DataType : Example

Person
ssn : number
name : string
address : Address
birthdate : date
getName() : string
setName(name) : void
Isbirthday() : boolean

31
Stereotype: Enumeration
An enumeration is a user-defined data type that consists of
a name and an ordered list of enumeration literals.

Example:
<<enumeration>>
Status Car
On
Off Color: Color
EngineStatus: Status

<<enumeration>>
Color
Status and Color are two enumeration
Blue stereotypes used as types for the attributes
Red of the car 32
Green
Class diagram rules
• The name of the class diagram should be meaningful to describe
the aspect of the system.
• Attributes and methods of each class should be clearly identified.
• For each class, a minimum number of properties should be
specified. Unnecessary properties will make the diagram
complicated.
• Use notes whenever required to describe some aspect of the
diagram. At the end of the drawing it should be understandable
to the developer/coder.
• Finally, before making the final version, the diagram should be
drawn on plain paper and reworked as many times as possible to
make it correct.
33

You might also like