Công Nghệ Phần Mềm
1
CÔNG NGHỆ PHẦN MỀM
Chương 6
Thiết kế kiến trúc
MÔN HỌC
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
Công Nghệ Phần Mềm
2
5.1 Thi
5.1 Thi
ế
ế
t k
t k
ế
ế
trong công ngh
trong công ngh
ệ
ệ
ph
ph
ầ
ầ
n m
n m
ề
ề
m
m
Chương
Chương
6: Thi
6: Thi
ế
ế
t k
t k
ế
ế
ki
ki
ế
ế
n tr
n tr
ú
ú
c
c
• 6.1 Kiến trúc?
• 6.2 Loại kiến trúc (style)
• 6.3 Thiết kế kiến trúc
• 6.4 Ánh xạ data flow thành kiến trúc
• 6.5 Tạo mô hình điều khiển
• 6.6 Đánh giá kiến trúc
• 6.7 Một số mô hình ứng dụng
Công Nghệ Phần Mềm
4
6.1 Ki
n tr
ú
ú
c l
c l
à
à
quan tr
quan tr
ọ
ọ
ng
ng
• Cho phép truyền thông giữa các stakeholder
• Kiến trúc rõ ràng giúp cho những quyết định thiết
kế dễ dàng
• Kiến trúc là mô hình cho biết cấu trúc của hệ thống
các thành phần làm việc với nhau như thế nào
Công Nghệ Phần Mềm
6
Thi
Thi
ế
ế
t k
t k
ế
ế
d
d
• Danh sách đầy đủ những công cụ data mining/data
warehourse ở WWW.dwinfocenter.org
Công Nghệ Phần Mềm
8
Thi
Thi
ế
ế
t k
t k
ế
ế
d
d
ữ
ữ
li
li
ệ
ệ
u (tt)
u (tt)
• Ở mức thành phần
Tinh chế các đối tượng dữ liệu và phát
triển một tập những trừu tượng dữ liệu
Hiện thực những thuộc tính dữ liệu như
là một hay nhiều cấu trúc dữ liệu
Kiểm tra cấu trúc dữ liệu để đảm bảo
rằng các quan hệ thích hợp đã được tạo
Đơn giản cấu trúc dữ liệu
nh ph
nh ph
ầ
ầ
n
n
• Những nguyên lý phân tích có tính hệ thống áp dụng
cho chức năng và hành vi cũng được áp dụng cho dữ
liệu: biểu diễn luồng dữ liệu và nội dung phải được phát
triển và kiểm tra, xác định đối tượng dữ liệu, những tổ chức
dữ liệu thay thế, những tác động của mô hình dữ liệu trên
thiết kế phần mềm sẽ được thẩm định.
• Phải xác định tất cả cấu trúc dữ liệu và những tác vụ
thực hiện trên mỗi cấu trúc
• Dùng kỹ thuật xác định nội dung cho mỗi đối tượng
dữ liệu dùng để xác định dữ liệu và tác vụ được áp
dụng. Dùng mô hình class với thuộc tính và phương thức
Công Nghệ Phần Mềm
10
Thi
Thi
ế
ế
t k
t k
ế
ế
d
d
ữ
• Thiết kế phần mềm và ngôn ngữ lập trình phải hỗ
trợ đặc tả và hiện thực những loại cấu trúc dữ liệu
trừu tượng
Công Nghệ Phần Mềm
11
ATM Ki
ATM Ki
ế
ế
n tr
n tr
ú
ú
c ba t
c ba t
ầ
ầ
ng (tree
ng (tree
-
-
layer)
layer)
Data layer
CSDL
CSDL
Business layer
User interface layer
System software
Middleware
ú
c ba t
c ba t
ầ
ầ
ng (tt)
ng (tt)
Đối tượng mô tả
thế giới thực
Giao diện
Giao di
Giao di
ệ
ệ
n
n
Giao diện
Xử lý
Truy cập dữ liệu
Công Nghệ Phần Mềm
13
Thi
Thi
ế
ế
t k
t k
ế
ế
l
nh l
nh l
ớ
ớ
p t
p t
ầ
ầ
ng truy c
ng truy c
ậ
ậ
p d
p d
ữ
ữ
li
li
ệ
ệ
u
u
Tập tin
Bảng
Bảng
Bảng
Tầng nghiệp vụ
Tầng truy cập dữ liệu
CSDL vật lý
Công Nghệ Phần Mềm
16
GiaoD
GiaoD
ị
ị
chGD (R
chGD (R
ú
ú
t ti
t ti
ề
ề
n)
n)
Công Nghệ Phần Mềm
17
Thi
Thi
ế
ế
t k
t k
ế
ế
t
t
ầ
ầ
ng giao di
tk:TàiKhoản
lấy_TàiKhoản()
rútTiền()
rútTiền()
Rút thành công
Rút không thành công
Kết quả
inHoáĐơn()
Công Nghệ Phần Mềm
18
6.2 Lo
6.2 Lo
ạ
ạ
i ki
i ki
ế
ế
n tr
n tr
ú
ú
c (style)
c (style)
• (1) Tập các thành phần (component) (e.g., a
database, computational modules)
• (2) Một tập những bộ kết nối (connector) cho phép
“communication, coordination and cooperation”
giữa các thành phần
• (3) Những ràng buộc (constraint) trong việc tích
Ki
Ki
ế
ế
n tr
n tr
ú
ú
c trung tâm d
c trung tâm d
ữ
ữ
li
li
ệ
ệ
u
u
Công Nghệ Phần Mềm
21
Ki
Ki
ế
ế
n tr
n tr
ú
ú
c lu
c lu
v
v
ề
ề
(tt)
(tt)
• Kiến trúc chương trình chính/chương trình con
(main program/subprogram)
• Kiến trúc RPC (remote procedure call): các chương
trình phân bổ qua nhiều máy tính trên mạng
Công Nghệ Phần Mềm
23
Chương tr
Chương tr
ì
ì
nh ch
nh ch
í
í
nh/c
nh/c
hương tr
hương tr
ì
ì
nh con
nh con
Công Nghệ Phần Mềm
24
• Concurrency: Xử lý đồng thời
Mẫu quản lý quá trình hệ điều hành (operating
system process management )
Định thời tác vụ (task scheduler)
• Persistence (sự tồn tại): Dữ liệu tồn tại nếu nó vẫn
còn khi quá trình tạo ra nó chấm dứt. Có 2 mẫu:
Hệ thống quản lý CSDL
Mẫu tồn tại mức ứng dụng (application level
persistence), Vd: xử lý từ