Tải bản đầy đủ (.pdf) (75 trang)

Chương 5 - Biểu đồ lớp pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (678.83 KB, 75 trang )

Chương 5
Chương

5
Biể đồ lớ àbiể
Biể
u
đồ

lớ
p v
à

biể
u
đồ

đố
i
tượ
n
g
đồ đố tượ g
UML/NN 1
Nội dung
 Biểu diễn Lớp và đối tượng

 Biểu di

n quan hệ (relationship)
 Xâ


y
d

n
g
Mô hình
y ự g
 Phát mã
UML/NN 2
9 Biểu đồ
1. Biểu đồ Use case (Use Case Diagram)
Biể đồ lớ (Cl Di )
2.
Biể
u
đồ

lớ
p
(Cl
ass
Di
a
g
ram
)
3. Biểu đồ đối tượng (Object Diagram)

4. Bi


u đồ trạn
g
thái (State Dia
g
ram)
5. Biểu đồ trình t


(
Se
q
uence Dia
g
ram
)
ự (q g )
6. Biểu đồ cộng tác (Collaboration Diagram)
7.
Biểu đồ hoạt động (Activity Diagram)
7.
Biểu

đồ

hoạt

động

(Activity


Diagram)
8. Biểu đồ thành phần (Component Diagram)
9
Biểu đồ triển khai (Deployment Diagram)
UML/NN 3
9
.
Biểu

đồ

triển

khai

(Deployment

Diagram)
Biểu đồ lớp và đối tượng
UML/NN 4
Class và Object
Account
aNo
Name of
Class
Class
variable
aNo
balance
dayLimit

= 200
soFa
r
Data
Declaration
variable
SamAcc
::
balance(?)
balance( )
withdraw( )

Methods
Definition
SamAcc
::
aNo=101
balance=500
soFar=100
withdraw(X)
SamAcc::Account
Name of
Object
MicAcc::Account
Name of
instances
aNo = 101
balance = 500
soFar=100
Object

Data Values
aNo = 105
balance = 600
soFar
=
200
Object
Data Values
5
soFar 200
Data

Values
Lớp và đối tượng
 Một đối tượng biểu diễn cho một thực thể có thể là
thựcthể vậtlý kháiniệm hay là phầnmềm
thực

thể

vật


,
khái

niệm

hay




phần

mềm

 Một đối tượng là một khái niệm, sự trừu tượng hay
mộtvậtmàcóranhgiớirõràng vàcónghĩarõrệt
một

vật





ranh

giới



ràng
,




nghĩa




rệt

cho một ứng dụng

Mộtlớplàmộtmôtả cho một nhóm các đốitượng

Một

lớp



một



tả

cho

một

nhóm

các

đối


tượng

có chung thuộc tính, ứng xử, mối quan hệ và ngữ
n
g
hĩa
(
semantic
)
.
g ()
 Lớp là một khuôn mẫu để tạo ra đối tượng

Mỗi đốitượng trong mộthệ thống đềucóbađặc
UML/NN 6
Mỗi

đối

tượng

trong

một

hệ

thống

đều




ba

đặc

tính: trạng thái, ứng xử và danh định.
Trạng thái (state)
 Trạng thái của một đối tượng là một trong
hữ tì h t à đốitượ óthể tồ t i
n
hữ
n
g


n
h

t
rạn
g
m
à

đối

tượ
n

g
c
ó

thể

tồ
n
t

i

trong môi trường.

T
rạn
g
thái của một đối tượn
g
thườn
g
sẽ thay
đổi theo thời gian, trạng thái của đối tượng

thườn
g
được được
g
ắn với thời đi


m.

T
r

n
g
thái của m

t đối tư

n
g
đư

c xác đ

nh
ạ g ộ ợ g ợ ị
qua một tập các thuộc tính, và mối quan hệ
với các đối tư

n
g
khác.
UML/NN 7
ợ g
Hành vi (Behaviour) và Danh định (Identity)
 Hành vi xác định một hoạt động của một đối
tượ (th đổit thái th thờii )

tượ
n
g

(th
ay
đổi

t
rạn
g

thái

th
eo
thời

gi
an
)

nhằm đáp ứng các yêu cầu từ các đối tượng
khá ó tiê biể hhữ ìàđối
khá
c, n
ó

tiê
u

biể
u c
h
o n
hữ
n
g


m
à

đối

tượng này có thể làm

 Danh định dùn
g
đ

phân biệt
g
iữa các đối
tượng ngay cả khi nó có cùng trạng thái và
g
iá trị các thuộc tính
UML/NN 8
Biểu tượng lớp – đối tượng
 Một biểu tượng lớp là một hình chữ nhật với 3 phần
Mộtbiể đồ lớ iê tả h ớ hì tĩ h ủ ột


Một

biể
u
đồ

lớ
p m

u
tả

h
ư

n
g
n

n

n
h
c

a m
ột

hệ thống bằng các khái niệm lớp và mối quan hệ

giữa chúng với nhau
giữa

chúng

với

nhau
 Đối tượng biểu diễn bằng một hình chữ nhật với
tên gạch dưới
tên

gạch

dưới
UML/NN 9
Tên lớp và thuộc tính
 Tên lớp (class name): Hầu như tên lớp trùng
ớitê đốitượ thế iớithự àóbiể
v
ới


n
đối

tượ
n
g


thế

giới

thự
c m
à
n
ó

biể
u
diễn

T
huộc tính (attribute):
 Thuộc tính miêu tả những đặc trưng của đối
tượn
g
 Giá trị của thuộc tính thường là những dạng dữ
liệu đơn
g
iản được đa phần các n
g
ôn n
g
ữ lập
trình hỗ trợ như Integer, Boolean, Floats, Char…
UML/NN 10
…Thuộc tính

 Nếu thuộc tính có tính khả kiến là công cộng (public +),
thìnócóthể được nhìn thấyvàsử dụng ngoài lớp đó
thì





thể

được

nhìn

thấy



sử

dụng

ngoài

lớp

đó
 Nếu thuộc tính có tính khả kiến là riêng (private -), bạn
sẽ không thể truy cập nó từ bên ngoài lớp đó
 Nếu thuộc tính có tính khả kiến là bảo vệ (protected #)

thì cũng giống như thuộc tính có tính khả kiến là riêng
nhưng là công cộng đốivớicáclớpcon
nhưng



công

cộng

đối

với

các

lớp

con
UML/NN 11
Phương thức (method)
 Phương thức được sử dụng để xử lý thay đổi
các thuộctínhcũng như thựchiệncáccông
các

thuộc

tính

cũng


như

thực

hiện

các

công

việc khác
Dấutương tự như thuộctính

Dấu

tương

tự

như

thuộc

tính
UML/NN 12
Nội dung
 Biểu diễn Lớp và đối tượng

 Biểu di


n quan h

(relationship)
 Xâ
y
d

n
g
Mô hình
y ự g
 Phát mã
UML/NN 13
Quan hệ (relationship)
 Kết hợp (Association)
Kếttậ (ti)

Kết

tậ
p
(
a
gg
re
g
a
ti
on

)
 Composition (kết cấu)
 Phụ thuộc (Dependency)
 Chuyên biệt và tổng quát hóa
(S i li i /G li i )
(S
pec
i
a
li
zat
i
on
/G
enera
li
zat
i
on
)
UML/NN 14
Kết hợp (Association)
Association Name
Professor Universit
y
Works for
Role Names
Professor UniversityClass
Employer
Employee

UML/NN 15
Những ràng buộc của kết hợp
 Một kết hợp phải có một tên đặt bên trên hay kề
với đường liên hệ
với

đường

liên

hệ

 Tên của kết hợp phải phản ảnh nội dung, là cụm
động từ tên có thể bỏ qua đặcbiệt khi tên vai trò
động

từ
,
tên



thể

bỏ

qua

đặc


biệt

khi

tên

vai

trò

của nó được dùng, tránh dùng tên không cộng
t
h
ê
m
t
h
ô
n
g

t
in
tê tôgt
 Mỗi đầu của kết hợp là một vai trò (role) chỉ ra vai
trò của lớ
p
tron
g
kết h

ợp,
tên vai trò
p
hải là du
y

pg ợp, p y
nhất ứng với một lớp, tên vai trò phải là một danh
từ đặt cuối đường kết hợp
UML/NN 16
 Chọn một tron
g
hai: tên kết hợp hay tên vai trò
Kết hợp đệ qui
 Tên vai trò là bắt buộc
UML/NN 17
Bản số (Multiplicity)
 Xác định bao nhiêu đối tượng tham gia kết
hợ
hợ
p
One or more
UML/NN 18
Chiều (Navigation)
Multiplicity
Student Schedule
0 *1
Navigation
UML/NN 19
Lớp kết hợp (Association class)

1 * 0 *
account
card
dateIncluded
UsedFor
account
Association
class
dateIncluded
class
0 * 1 *
student
course
grade
student
course
No Name
20
Kết tập (aggregation)
 Kết tập là quan hệ giữa toàn bộ và bộ phận
Một đốitượ đượ t từ hữ đốitượ khá ó tí h

Một

đối

tượ
ng
đượ
c

t
ạo
từ
n
hữ
ng
đối

tượ
ng
khá
c c
ó


n
h

vật lý

Một đốitượng là tậphợpcủanhững đốitượng khác có
Một

đối

tượng



tập


hợp

của

những

đối

tượng

khác



tính logic
 Một đối tượng chứa những đối tượng khác có tính vật lý
Stude
n
t
Sc
h
edu
l
e
Whole
Part
UML/NN 21
Stude t
Sc edu e

Aggregation
Composition (kết cấu)
 Kết cấu là một dạng của kết tập, thời gian sống của
đốitượng bộ phận không vượtquáthờigiansống
đối

tượng

bộ

phận

không

vượt

quá

thời

gian

sống

của đối tượng toàn bộ

Khi toàn bộ bị xóa thì bộ phậncũng bị xóa

Khi


toàn

bộ

bị

xóa

thì

bộ

phận

cũng

bị

xóa
 Bộ phận có thể bị xóa trước khi toàn bộ bị xóa
St d t
Shdl
Whole
Part
St
u
d
en
t
S

c
h
e
d
u
l
e
Aggregation
UML/NN 22
Aggregation
Aggregation và composition
UML/NN 23
Phụ thuộc (Dependency)
 Một biến đổi trên một thành phần sẽ gây ra sự biến
đổitrongthànhphầnkhác
đổi

trong

thành

phần

khác
Client Supplier
Class
Component
Package
Client
Supplier

Dependency
relationship
ClientPackage SupplierPackage
relationship
Dependency
UML/NN 24
relationship
Specialization/Generalization
 Chuyên biệt hóa(/tổng quát hóa): là quá trình
tinh chế mộtlớp thành những lớp chuyên biệthơn
tinh

chế

một

lớp

thành

những

lớp

chuyên

biệt

hơn
.

Chuyên biệt hóa bổ sung thêm chi tiết và đặc tả
cho lớp kết quả. Lớp mang tính khái quát được gọi

lớ h( l )
kế ả hêbiệ hó

lớ
p c
h
a
(
superc
l
ass
)
,
kế
t qu

c
h
uy
ê
n
biệ
t

a
là việc tạo ra các lớp con (Subclass).


Tổng quát hóa và chuyên biệt liên quan tới
Thừa

Tổng

quát

hóa



chuyên

biệt

liên

quan

tới

Thừa

kế (Inheritance)
 Lớ
p
con thừa kế attributes, o
p
erations, và relationshi
p

s
p pp
 Lớp con có thể:
 Cộng thêm attributes, operations, relationships
Xá định l itá đượ thừ kế (tion!)
UML/NN 25


c
định

l

i


c vụ
đượ
c
thừ
a
kế

(
cau
tion!)

×