Tải bản đầy đủ (.ppt) (86 trang)

Chương 9 Thiết kế Use Case

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 (1.33 MB, 86 trang )

1
PHÂN TÍCH & THI T Ế
PHÂN TÍCH & THI T Ế
K H TH NG H NG Ế Ệ Ố ƯỚ
K H TH NG H NG Ế Ệ Ố ƯỚ
Đ I T NGỐ ƯỢ
Đ I T NGỐ ƯỢ
2
Ch ng 9 THI T K USE CASEươ Ế Ế
Ch ng 9 THI T K USE CASEươ Ế Ế

Kiến trúc ba tầng (tree-layer)
Kiến trúc ba tầng (tree-layer)

Thiết kế các lớp tầng nghiệp vụ
Thiết kế các lớp tầng nghiệp vụ

Thiết kế các lớp tầng truy cập dữ liệu
Thiết kế các lớp tầng truy cập dữ liệu

Thiết kê các lớp tầng giao diện
Thiết kê các lớp tầng giao diện

Mô tả hiện thực hoá nội dung thiết kế use case
Mô tả hiện thực hoá nội dung thiết kế use case
3
Ki n trúc ba t ng (tree-layer)ế ầ
Ki n trúc ba t ng (tree-layer)ế ầ

Kiến trúc client – server
Kiến trúc client – server



Giao diện cài đặt luôn xử lý nghiệp vụ trực
Giao diện cài đặt luôn xử lý nghiệp vụ trực
tiếp trong giao diện
tiếp trong giao diện





Tạo ra một sự phụ thuộc rất lớn giữa giao
Tạo ra một sự phụ thuộc rất lớn giữa giao
diện và CSDL và do đó, rất khó để cải tiến,
diện và CSDL và do đó, rất khó để cải tiến,
bảo trì và tái sử dụng
bảo trì và tái sử dụng
Dữ liệu
Dữ liệu
Giao diện
Giao diện
4
Ki n trúc ba t ng (tree-layer)ế ầ
Ki n trúc ba t ng (tree-layer)ế ầ

Kiến trúc ba tầng (tree-layer)
Kiến trúc ba tầng (tree-layer)

Tạo ra sự độc lập giữa giao diện và dữ liệu bằng cách
Tạo ra sự độc lập giữa giao diện và dữ liệu bằng cách
cô lập các chức năng của giao diện với các chức

cô lập các chức năng của giao diện với các chức
năng tác nghiệp (business), và cô lập các chức năng
năng tác nghiệp (business), và cô lập các chức năng
tác nghiệp với các chi tiết về truy cập CSDL
tác nghiệp với các chi tiết về truy cập CSDL

Ánh xạ các đối tượng đại diện các đối tượng hữu hình
Ánh xạ các đối tượng đại diện các đối tượng hữu hình
trong thực tế nhưng hoàn toàn độc lập với cách thức
trong thực tế nhưng hoàn toàn độc lập với cách thức
mà các đối tượng này trình bày tới người dùng hoặc
mà các đối tượng này trình bày tới người dùng hoặc
là với cách mà dữ liệu của nó được lưu trữ vật lý
là với cách mà dữ liệu của nó được lưu trữ vật lý
trong CSDL
trong CSDL
5
Ki n trúc ba t ng (tree-layer)ế ầ
Ki n trúc ba t ng (tree-layer)ế ầ

Kiến trúc ba tầng (tree-layer)
Kiến trúc ba tầng (tree-layer)
Data layer
CSDL
CSDL
Business layer
User interface layer
System software
Middleware
Data layer

Business layer
User interface
layer
Trả lời tương tác người dùng: chuyển
dịch những hành động của người dùng
tới một tình huống xử lý phù hợp
Hiển thị các đối tượng tác nghiệp :
trình bày một hình ảnh tốt nhất các đối
tượng tác nghiệp tới người dùng trong
một giao diện
Thực hiện các giao tác xử lý liên quan
đến nghiệp vụ mà không quan tâm đến
hiển thị chúng như thế nào? Và CSDL
được lấy ở đâu?
Chuyển dịch yêu cầu: chuyển dịch tất
cả các yêu cầu liên quan đến dữ liệu từ
tầng tác nghiệp đến một phương thức
truy cập dữ liệu thích hợp (dạng SQL,
truy xuất file,…)
Chuyển dịch kết quả
6
Ki n trúc ba t ng (tree-layer)ế ầ
Ki n trúc ba t ng (tree-layer)ế ầ

Ý tưởng thiết kế
Ý tưởng thiết kế
Đ i t ng mô t ố ượ ả
th gi i th cế ớ ự
Giao di nệ
Giao di nệ

Giao di nệ
Giao di nệ
Giao di nệ
X lýử
Truy c p d li uậ ữ ệ
7
Ch ng 9 THI T K USE CASEươ Ế Ế
Ch ng 9 THI T K USE CASEươ Ế Ế

Kiến trúc ba tầng (tree-layer)
Kiến trúc ba tầng (tree-layer)

Thiết kế các lớp tầng nghiệp vụ
Thiết kế các lớp tầng nghiệp vụ

Thiết kế các lớp tầng truy cập dữ liệu
Thiết kế các lớp tầng truy cập dữ liệu

Thiết kê các lớp tầng giao diện
Thiết kê các lớp tầng giao diện

Mô tả hiện thực hoá nội dung thiết kế use case
Mô tả hiện thực hoá nội dung thiết kế use case
8
Thi t k l p t ng nghi p vế ế ớ ầ ệ ụ
Thi t k l p t ng nghi p vế ế ớ ầ ệ ụ
H th ng th c tệ ố ự ế
S đ l pơ ồ ớ
T ng giao di nầ ệ
T ng nghi p vầ ệ ụ

T ng truy c p d li uầ ậ ữ ệ
9
Thi t k l p t ng nghi p vế ế ớ ầ ệ ụ
Thi t k l p t ng nghi p vế ế ớ ầ ệ ụ

Nguyên tắc:
Nguyên tắc:

Có thể chuyển đổi một lớp tầng nghiệp vụ
Có thể chuyển đổi một lớp tầng nghiệp vụ
thành nhiều lớp ứng với những mục đích khác
thành nhiều lớp ứng với những mục đích khác
nhau (*)
nhau (*)
L p phân tíchớ
L p đi u khi nớ ề ể L p x lýớ ử
L p c u trúcớ ấ
HoáĐ nơ
-s HĐố
-ngàyHĐ
-s Ti nố ề
+thêmHĐ()
+tìmHĐ()
(*): đ m b o nguyên tính m c đích trong thi t kả ả ụ ế ế
XLHoáĐ nơ
+tìmHĐ(đk):[0 *] HoáĐ nơ
HoáĐ nơ
+thêmHĐ()
-s HĐố
-ngàyHĐ

-s Ti nố ề
10
Thi t k l p t ng nghi p vế ế ớ ầ ệ ụ
Thi t k l p t ng nghi p vế ế ớ ầ ệ ụ

Ví dụ: các lớp tầng nghiệp vụ hệ thống ATM
Ví dụ: các lớp tầng nghiệp vụ hệ thống ATM
GiaoDịchRút GiaoDịchGởi
KháchHàng
#tênKháchHàng:String
#họKháchHàng:String
#mãPIN::String
#sốThẻ:String
GiaoDịch
#giaoDịchID:String
#ngàyGiaoDịch:Date
#thờiGianGiaoDịch:Time
#loạiGiaoDịch:String
#sốTiền:float
#sốDư:float
MáyATM
#địaChỉ:String
#trạngThái:String
TàiKhoản
#sốTàiKhoản:String
#loạiTàiKhoản:String
#sốDư:float
1
1
của

0 n1

NgânHàng
#tàiKhoản:TàiKhoản
#giaoTác:GiaoTác
#kháchHàng:KháchHàng
#sốTiềnHiệnTại:float
+kiểmTraMậtKhẩu()
#lấy_KháchHàng()
+khởiĐộngMáy()
+đóngMáy()
+kếtNối()
+đóngKếtNối()
#tắtMáy()
+gửiTiền()
+rútTiền()
#cậpNhậtTàiKhoản()
#tạoGiaoTác()
+gánThôngTinGiaoDịch()
#cậpNhậtSốTiền()
11
Thi t k l p t ng truy c p d ế ế ớ ầ ậ ữ
Thi t k l p t ng truy c p d ế ế ớ ầ ậ ữ
li uệ
li uệ

Xác định các đối tượng lưu trữ (persistent)
Xác định các đối tượng lưu trữ (persistent)

Chuyển đổi sang mô hình quan hệ

Chuyển đổi sang mô hình quan hệ

Xác định các lớp tầng truy cập dữ liệu
Xác định các lớp tầng truy cập dữ liệu
12
Xác đ nh các đ i t ng l u trị ố ượ ư ữ
Xác đ nh các đ i t ng l u trị ố ượ ư ữ

Các loại dữ liệu tồn tại trong một hệ thống:
Các loại dữ liệu tồn tại trong một hệ thống:

Là kết quả tạm thời để đánh giá một biểu thức
Là kết quả tạm thời để đánh giá một biểu thức

Các biến trong quá trình thực thi một thủ tục (các
Các biến trong quá trình thực thi một thủ tục (các
tham số và biến trong phạm vi cục bộ)
tham số và biến trong phạm vi cục bộ)

Các biến toàn cục và các biết cấp phát một cách tự
Các biến toàn cục và các biết cấp phát một cách tự
động
động

Dữ liệu tồn tại giữa các lần thực thi một chương trình
Dữ liệu tồn tại giữa các lần thực thi một chương trình

Dữ liệu tồn tại giữa các phiên bản của một chương
Dữ liệu tồn tại giữa các phiên bản của một chương
trình

trình

Dữ liệu tồn tại vượt ngoài phạm vi sống của một
Dữ liệu tồn tại vượt ngoài phạm vi sống của một
chương trình
chương trình
D li u ữ ệ
t m th i ạ ờ
(transient)
D li u ữ ệ
lâu dài
(persistent
)
13
Xác đ nh các đ i t ng l u trị ố ượ ư ữ
Xác đ nh các đ i t ng l u trị ố ượ ư ữ

Các loại dữ liệu tồn tại trong một hệ thống:
Các loại dữ liệu tồn tại trong một hệ thống:
Các l p transientớ
14
Xác đ nh các đ i t ng l u trị ố ượ ư ữ
Xác đ nh các đ i t ng l u trị ố ượ ư ữ

Các lớp persistent của hệ thống ATM
Các lớp persistent của hệ thống ATM
GiaoDịchRút GiaoDịchGởi
KháchHàng
#tênKháchHàng:String
#họKháchHàng:String

#mãPIN::String
#sốThẻ:String
GiaoDịch
#giaoDịchID:String
#ngàyGiaoDịch:Date
#thờiGianGiaoDịch:Time
#loạiGiaoDịch:String
#sốTiền:float
#sốDư:float
TàiKhoản
#sốTàiKhoản:String
#loạiTàiKhoản:String
#sốDư:float
1
1
0 n1

#tàiKhoản:TàiKhoản
#giaoTác:GiaoDịch
#kháchHàng:KháchHàng
(complete, disjoint)
15
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ
Dữ liệu luận lý
Dữ liệu luận lý
Các lớp persistent
Các lớp persistent
Dữ liệu vật lý
Dữ liệu vật lý

16
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi lớp – bảng (class – table)
Chuyển đổi lớp – bảng (class – table)

Một lớp
Một lớp


một bảng
một bảng

Một thuộc tính (persistent)
Một thuộc tính (persistent)


một cột: chỉ có các
một cột: chỉ có các
thuộc tính có nhu cầu lưu trử và được đòi hỏi bởi ứng
thuộc tính có nhu cầu lưu trử và được đòi hỏi bởi ứng
dụng sẽ được chuyển thành cột của bảng.
dụng sẽ được chuyển thành cột của bảng.

Một đối tượng (thể hiện)
Một đối tượng (thể hiện)


một dòng

một dòng
KháchHàng
tênKháchHàng
họKháchHàng
mãPIN
sốThẻ
Tên_KH Họ_KH MãPIN Số_Thẻ
17
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết (association, agregration)
Chuyển đổi liên kết (association, agregration)

1-1
1-1
KháchHàng
tênKháchHàng
họKháchHàng
mãPIN
sốThẻ
TàiKhoản
sốTàiKhoản
loạiTàiKhoản
sốDư
1
1
Bảng KháchHàng
Bảng TàiKhoản
Tên_KH Họ_KH MãPIN Số_Thẻ

Số_TK Loại_TK Số_Dư_TK Số_Thẻ
(*)
(*): S _Th là m t khoá c a b ng ố ẻ ộ ủ ả TàiKho nả
18
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết (association, agregration)
Chuyển đổi liên kết (association, agregration)

1-1
1-1
KháchHàng
tênKháchHàng
họKháchHàng
mãPIN
sốThẻ
TàiKhoản
sốTàiKhoản
loạiTàiKhoản
sốDư
1
1
Bảng KháchHàng_TàiKhoản
Tên_KH Họ_KH MãPIN Số_Thẻ Số_TK Loại_TK Số_Dư_TK
(*)
(*)
(*): S _Th là m t khoá c a b ng ố ẻ ộ ủ ả TàiKho nả
19
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết (association, agregration)
Chuyển đổi liên kết (association, agregration)

1-n
1-n
Số_TK Loại_TK Số_Dư_TK Số_Thẻ
GiaoDịch
giaoDịchID
ngàyGiaoDịch
thờiGianGiaoDịch
loạiGiaoDịch
sốTiền
sốDư
TàiKhoản
sốTàiKhoản
loạiTàiKhoản
sốDư
0 n11

GD_ID Ngày_GD Giờ_GD Loại_GD Số_Tiền Số_Dư Số_TK
Bảng TàiKhoản
Bảng GiaoDịch
20
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết (association, agregration)
Chuyển đổi liên kết (association, agregration)


n-n
n-n
Mã_NV Tên_NV Số_ĐT
NhânViên
mãNhânViên
tênNhânViên
sốĐiệnThoại
0 n
0 n
Tham gia
CôngViệc
côngViệcID
môTảCôngViệc
ngàyBắtĐầu
Mã_NV Công_Việc_ID
Công_việc_ID Mô_tả_CV Ngày_BĐ
Bảng NhânViên
Bảng NhânViên_CôngViệc
(ThamGia)
Bảng CôngViệc
21
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết (association, agregration)
Chuyển đổi liên kết (association, agregration)

n-n
n-n

Số_ĐH Ngày_ĐH DiễnGiải_ĐH Số_ĐH MS_NL SốLượng ĐơnGiá
MS_NL TênNL ĐVT
Bảng ĐơnHàng
ĐơnHàng
sốĐơnHàng
ngàyĐơnHàng
diễnGiải
0 n
1 n
NguyênLiệu
mãSố
tênNLiệu
ĐVT
dòngĐH
sốLượng
đơnGiá
Bảng DòngĐH
Bảng Nguyên Liệu
22
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết kế thừa
Chuyển đổi liên kết kế thừa

Trường hợp 1:
Trường hợp 1:
NhânViên
mãNhânViên
tênNhânViên

sốĐiệnThoại
NhânViênCôngNhật
lươngNgày
NhânViênBiênChế
lươngTháng
bậcLương
Mã_NV Tên_NV Điện_Thoạ
i
Lương_Ngày Lương_Tháng Bậc_Lương Loại_NV
Phù h p cho t t c các tr ng h p: (complete, disjoint), (complete, overlapping), ợ ấ ả ườ ợ
(incomplete, disjoint), (incomplete, overlapping)
23
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết kế thừa
Chuyển đổi liên kết kế thừa

Trường hợp 2:
Trường hợp 2:
Mã_NV Tên_NV Điện_Thoạ
i
NhânViên
mãNhânViên
tênNhânViên
sốĐiệnThoại
NhânViênCôngNhật
lươngNgày
NhânViênBiênChế
lươngTháng

bậcLương
Mã_NV Tên_NV Điện_Thoạ
i
Lương_Tháng Bậc_Lương
Mã_NV Tên_NV Điện_Thoại Lương_Ngày
Bảng NhânViên Bảng NhânViênCôngNhật
Bảng NhânViênBiênChế
Phù h p cho t t c các tr ng h p: (complete, disjoint), (complete, overlapping), ợ ấ ả ườ ợ
(incomplete, disjoint), (incomplete, overlapping)
24
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết kế thừa
Chuyển đổi liên kết kế thừa

Trường hợp 3:
Trường hợp 3:
NhânViên
mãNhânViên
tênNhânViên
sốĐiệnThoại
NhânViênCôngNhật
lươngNgày
NhânViênBiênChế
lươngTháng
bậcLương
Mã_NV Tên_NV Điện_Thoạ
i
Lương_Tháng Bậc_Lương

Mã_NV Tên_NV Điện_Thoại Lương_Ngày
Bảng NhânViênBiênChế
Bảng NhânViênCôngNhật
Ch phù h p cho: (complete, disjoint)ỉ ợ
25
Chuy n đ i sang mô hình Quan hể ổ ệ
Chuy n đ i sang mô hình Quan hể ổ ệ

Chuyển đổi liên kết kế thừa
Chuyển đổi liên kết kế thừa

Trường hợp 4:
Trường hợp 4:
Mã_NV Tên_NV Điện_Thoạ
i
NhânViên
mãNhânViên
tênNhânViên
sốĐiệnThoại
NhânViênCôngNhật
lươngNgày
NhânViênBiênChế
lươngTháng
bậcLương
Mã_NV Lương_Tháng Bậc_Lương
Mã_NV Lương_Ngày
Bảng NhânViên Bảng NhânViênBiênChế
Bảng NhânViênCôngNhật
Phù h p cho t t c các tr ng h p: (complete, disjoint), (complete, overlapping), ợ ấ ả ườ ợ
(incomplete, disjoint), (incomplete, overlapping)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×