Professional Documents
Culture Documents
Phan Tich TKHTTT - Chuong9
Phan Tich TKHTTT - Chuong9
Thiết kế hệ thống
1
Thiết kế hệ thống
▪ Phân chia hệ thống thành các hệ thống con
▪ Xây dựng mô hình thiết kế xử lý hệ thống
▪ Thiết kế chức năng phần mềm hệ thống
2
Phân chia hệ thống thành hệ thống con
▪ Mục tiêu:
• Giảm thiểu sự phức tạp, sự cồng kềnh của một
hệ thống lớn
• Tạo thuận lợi cho công việc thiết kế: bởi vì phải
chi tiết hoá các nội dung đặt được ở phần phân
tích
• Dễ dàng hơn cho quá trình bảo dưỡng hệ thống
sau này
3
Phân chia hệ thống thành hệ thống con
▪ Tiêu chí phân chia:
• Tính cố kết (cohesion): sự gắn bó về luận lý
hoặc mục đích của các xử lý trong một hệ thống
con. Tính cố kết càng cao thì càng tốt
• Tính liên kết (coupling): sự trao đổi thông tin và
tác động lẫn nhau giữa các hệ thống con. Sự
liên kết này càng lỏng lẻo, càng đơn giản càng
tốt
4
Phân chia hệ thống thành hệ thống con
Hệ thống con 2
Hệ thống con 1 Xử lý
Xử lý
Xử lý
Dữ liệu
Dữ liệu
Xử lý Xử lý
Xử lý
Xử lý
Hệ thống con 1 Hệ thống con 2
5
Phân chia hệ thống thành hệ thống con
▪ Các yếu tố gợi ý phân chia:
• Gom theo thực thể: các xử lý liên quan đến một hoặc
một số đối tượng thực thể
- Hệ Khách hàng (gồm các chức năng liên quan đến khách hàng
như xử lý đơn đặt hàng, làm hóa đơn, thanh toán, giao hàng,
…)
- Hệ Kho vật tư (xử lý xuất, nhập hàng, tồn kho, …)
• Gom theo sự kiện giao tác: các xử lý đáp ứng cho một
sự kiện xảy ra.
- Hệ Xử lý đơn hàng (khi đơn đặt hàng đến thì xử lý ghi nhận đơn
hàng, kiểm tra khả năng đáp ứng đơn hàng, …)
• Gom theo vai trò thực hiện hoặc ví trí tổ chức
- Ví dụ: các hoạt động liên quan đến một phòng, một con
người,…
6
Phân chia hệ thống thành hệ thống con
▪ Ví dụ: hệ thống quản lý tồn kho
Phiếu xuất:2
9
Thông tin Thông tin
Thống
Hệ thống 1- NVL xuất báo cáo hao Thủ Hệ thống
kê tỉ lệ kho
Lưu2hoá hụt
hao hụt
con quản lý Hệ thống đơn Hệ thống con quản lý
Thông tin
nhập NVL con NVL nhập
con quản lý tồn kho
(1)quản lý 4
Hoá đơn tồn kho NVL NVL
nhập NVL Số sử dụng, Đối chiếu
số tồn và cập nhật
Hoá đơn NKý tồn kho số tồn, số
NCC sử dụng
Tồn kiểm (4)
HĐ đã Hoá đơn kê
thanh chưa 3
toán 7thanh BPSX
(2) Xác định
Xửtoán
lý
Tồn kho + NVL tồn
thanh
toán hoá tồn tối Thông Hệ thống
đơn thiểu tin Yêu con quản lý
xuất vầu về
Hệ thống (3)
6 NVL NVL
xuất NVL
5 Phiếu xuất:1
con quản lý Lập phiếu
đặt mua Xác định 8
thanh toán Thông
NVL NVL cần đặt NVL tồn tin Xử lý xuất
dưới mức NVL
tối thiểu xuất
NVL
7
Phân chia hệ thống thành hệ thống con
▪ Mô tả hệ thống con:
Hệ thống
Hệ thống: ABC
Dòng dữ liệu vào:
8
Phân chia hệ thống thành hệ thống con
▪ Ví dụ: hệ thống quản lý tồn kho và các hệ
thống con
Hệ quản lý tồn kho
Quản lý nhập NVL Quản lý thanh toán Quản lý tồn kho Quản lý xuất NVL
9
Phân chia hệ thống thành hệ thống con
Hệ thống: ABC
Dòng dữ liệu vào:
10
Thiết kế hệ thống
▪ Phân chia hệ thống thành các hệ thống con
▪ Xây dựng mô hình thiết kế xử lý hệ thống
▪ Thiết kế chức năng phần mềm hệ thống
11
Xây dựng mô hình thiết kế xử lý
▪ Phân chia hoạt động thủ công và tự động
▪ Xác định thừa tác viên sử dụng hệ thống
▪ Thiết kế xử lý trực tuyến – theo lô
▪ Mô hình hoá xử lý ở mức thiết kế
12
Xây dựng mô hình thiết kế xử lý
▪ Phân chia giữa hoạt động thủ công - tự động
Hệ thống tổ
chức nghiệp
HTTT
vụ
Môi trường
13
Xây dựng mô hình thiết kế xử lý
▪ Phân chia giữa hoạt động thủ công - tự động
Xử lý
Xử lý mức quan niệm
Yêu
cầu
tự Xác định chức năng tự Tự động
Thủ công
động động hoá
hoá
14
Xây dựng mô hình thiết kế xử lý
▪ Phân chia giữa hoạt động thủ công - tự động
• Nguyên tắc phân chia:
- Các xử lý sau khi phân chia sẽ hòan tòan thủ công
hoặc hòan tòan tự động
- Sự phân chia chấp nhận việc trùng lắp nội dung giữa
tự động và thủ công
15
Xây dựng mô hình thiết kế xử lý
▪ Phân chia giữa hoạt động thủ công - tự động
• Ví dụ:
Quản lý xuất NVL Tự động Thủ công
Phiếu xuất 4
Thông tin xuất NVL 3
Phiếu xuất
Duyệt
Lập và in phiếu xuất
Quản lý phiếu xuất
BPSX Phiếu xuất
xuất NVL BPSX
Yêu cầu NVL
NVL cần xuất 1
Thông tin xuất NVL 2 Kiểm tra
Yêu cầu NVL Yêu cầu NVL
Phiếu xuất Kiểm tra yêu cầu
tồn kho NVL
16
Xây dựng mô hình thiết kế xử lý
▪ Phân chia giữa hoạt động thủ công - tự động
• Ví dụ:
Quản lý nhập NVL Tự động Thủ công
Hóa đơn 1.1
1 1.2
NCC Đơn hàng Tìm đơn
Lưu hóa So khớp
hàng tương hóa đơn
đơn ứng Hóa đơn
Phiếu đặt Hóa đơn 1.3 1.4 NCC
Hóa đơn Lưu hóa Lưu hóa
đơn đơn gốc
5
6 5
Xác định
Lập phiếu Xác định Hóa đơn gốc Phiếu đặt
Thông tin phiếu đặt
NVL dưới
đặt NVL NVL dưới mức tối
6.1 6.2
mức tối thiểu Lập và in Xác nhận
thiểu phiếu đặt phiếu đặt
Phiếu đặt
NKý tồn kho NKý tồn kho
Quan niệm Vật lý
17
Xây dựng mô hình thiết kế xử lý
▪ Phân chia giữa hoạt động thủ công - tự động
• Ví dụ:
Quản lý tồn kho Tự động Thủ công
Sử dụng
3 3
BPSX Xác định Hóa đơn Xác định Số tồn 4.1
tồn kho Đối chiếu số
tồn kho
NVL tồn, số sử
NVL
Phiếu xuất dụng
Sử dụng
Phiếu xuất
Hóa đơn Số tồn, sử dụng BPSX
Bcáo hao hụt
Số tồn NKý tồn kho 4.2
9 4
Lập thống Đối chiếu và Cập nhật số
9
kê tỉ lệ hao cập nhật số tồn, số sử
Lập thống dụng Bcáo hao hụt
hụt tồn, số sử
kê tỉ lệ hao
dụng
hụt
Hệ thống tổ
chức nghiệp
HTTT
vụ
Môi trường
19
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế các vai trò – các hệ thống
eCommerce
Hệ thống
HTTT tự
tổ chức
động hóa
nghiệp
Môi trường vụ
20
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế các vai trò – người dùng hệ thống
Môi trường
Môi trường
Môi trường
21
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế các vai trò – ví dụ: quản lý nhập NVL
Tự động Thủ công
NV nhập Thủ kho NV nhập Thủ kho
1.1 Hóa đơn 1.2
Tìm đơn So khớp
hàng tương Thông tin đặt hàng tương ứng hóa đơn
ứng
1.4
Đơn hàng Hóa đơn Lưu hóa Phiếu đặt
22
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế các hình thức khác
• Thiết kế phân bố vị trí tổ chức (không gian hệ thống)
• Thiết kế thời gian xử lý hệ thống
• Thiết kế hình thức: hình thức và phương tiện xử lý, hình
thức trình bày thông tin (form, report,…),…
23
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế xử lý theo lô – trực tuyến
• Xử lý trực tuyến (on-line processing): là các xử lý thu
thập và phân phối thông tin mới nhất về hệ thống thông
qua một trạm làm việc trực tuyến
• Xử lý trực tuyến thường được thiết kế theo các điều kiện
sau:
- Truy cập và nắm bắt những thông tin xãy ra một cách ngẫu
nhiên
- Định dạng và kiểu thông tin là không nhất quán (vd: truy vấn đặc
biệt)
- Thông tin đang tiếp tục thay đổi và thông tin mới nhất là cần
thiết cho xử lý hiện tại và hỗ trợ ra quyết định
- Người dùng ở vị trí dễ dàng truy cập tời HTTT
24
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế xử lý theo lô – trực tuyến
• Xử lý theo lô (batch processing): được xem như việc xử
lý đầu vào và đầu ra hệ thống theo một thời điểm xác
định hoặc đã định trước.
• Xử lý theo lô thường được thiết kế theo những điều kiện
sau:
- Truy cập thông tin có định kỳ
- Định dạng và lọai thông tin là nhất quán
- Thông tin ổn định trong khỏang thời gian/ hoặc nhu cầu thông tin
của người dùng không cần thiết phải mới nhất
- Người dùng không ở vị trí có thể truy cập HTTT một cách trực
tuyến
• Ví dụ: Tạo báo cáo doanh thu hàng tháng, cuối tháng
tính lương, kiểm tra tồn kho cuối ngày,…
25
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế xử lý theo lô – trực tuyến
• Ví dụ: quản lý yêu cầu sách NKH
NKH
PYC CSDL PYC
4
PYC không hợp lệ 3
Thông báo Kiểm tra
các PYC PYC
không hợp
lệ
Thiết kế xử lý theo lô
26
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế xử lý theo lô – trực tuyến
• Ví dụ: quản lý yêu cầu sách NKH
28
Xây dựng mô hình thiết kế xử lý
▪ Flowchart (Quản lý nhập NVL)
NV nhập Thủ kho Nhà CC
Tìm đơn hàng Hóa đơn
tương ứng Xác định NVL tồn
dưới mức tối thiểu
Đơn hàng Đơn hàng HĐ gốc
NVL tồn
NKý tồn dưới mức
So khớp tối thiểu
đơn Lưu hóa đơn
hàng
29
Xây dựng mô hình thiết kế xử lý
▪ Mô hình xử lý tựa Merise
Ký hiệu Tên gọi
Biến cố.
Mỗi biến cố có đặc tính là nó thuộc biến cố ngoài môi trường hay biến
cố trong hệ thống, có đặc tính là biến cố vào hay biến cố ra. Đối với
biến cố vào được phân ra làm hai dạng: loại biến cố phát động và biến
cố điều kiện
30
Xây dựng mô hình thiết kế xử lý
▪ Mô hình xử lý tựa Merise
Ký hiệu Tên gọi
Nguyên tắc quản lý có điều kiện ra
ĐK1 ĐK2 …
31
Xây dựng mô hình thiết kế xử lý
▪ Mô hình xử lý tựa Merise
Đối tượng Vị trí 1 Vị trí 2 … Vị trí n Đối
X môi tượng Y
trường ngoài môi
trường
32
Xây dựng mô hình thiết kế xử lý
▪ Mô hình xử lý tựa Merise
• Bảng mô tả chức năng
STT Nguồn Thủ tục Bản chất Vị trí(4) Thời gian
gốc chức (3) thực hiện
NTQL (1) năng(2) (5)
(1): Các thủ tục chức năng được lấy từ nguồn gốc NTQL nào
(2): Là thứ tự các công việc cho qui trình xử lý
(3): Bản chất công việc được thực hiện là thủ công hay tự động
(4): Thủ tục chức năng đó được thực hiện ở vị trí nào.
(5): Bao giờ thì thực hiện công việc đó (thực hiện ngay, cuối ngày,….)
33
Xây dựng mô hình thiết kế xử lý
▪ Mô hình xử lý tựa Merise – Ví dụ:
Nhà CC Thủ kho NV nhập
HĐ không
Xác định NVL tồn HĐ hợp lệ
hợp lệ
dưới mức tối thiểu
NKý tồn
Đ S Lưu hóa đơn
Không có
Có NVL
NVL cần
cần đặt
đặt
Lập đặt NVL Hóa đơn
Xác định phiếu đặt
Đơn hàng ĐH đã lập Đơn hàng
34
Đơn hàng
34
Xây dựng mô hình thiết kế xử lý
▪ Mô hình xử lý tựa Merise – Ví dụ:
• Bảng mô tả thủ tục chức năng
STT Nguồn gốc NTQL Thủ tục chức năng Bản chất VỊ trí Thời gian
thực hiện
1 Kiểm tra đơn hàng Xác định đơn hàng của Tự động NVnhập Thực hiện
HĐ ngay
2 Kiểm tra đơn hàng So khớp với NVL nhập Thủ công NVNhập Thực hiện
ngay
3 Lưu hóa đơn Lưu hóa đơn Tự động NVNhập Thực hiện
ngay
4 Xác định NVL tồn dưới Xác định NVL tồn dưới Tự động Thủ kho Cuối ngày
mức tối thiểu mức tối thiểu
5 Lập đặt mua NVL Lập đặt mua NVL Tự động NVNhập Cuối ngày
6 Lập đặt mua NVL In phiếu đặt Tự động NVNhập Cuối ngày
7 Xác định phiếu đặt Xác định phiếu đặt Thủ công Thủ kho
35
Thiết kế hệ thống
▪ Phân chia hệ thống thành các hệ thống con
▪ Xây dựng mô hình thiết kế xử lý hệ thống
▪ Thiết kế chức năng phần mềm hệ thống
36
Thiết kế chức năng phần mềm hệ thống
▪ Xác định các chức năng phần mềm
▪ Kiến trúc phần mềm 3 lớp (three-layers)
▪ Thiết kế biểu đồ cấu trúc phần mềm
▪ Thiết kế thuật giải
37
Thiết kế chức năng phần mềm hệ thống
▪ Xác định các chức năng phần mềm
• Từ các xử lý tự động hóa: các xử lý được quyết định là tự động
hóa trong sơ đồ vật lý sẽ là ứng viên của chức năng phần mềm
- 1 xử lý → 1 chức năng phần mềm
- 1 xử lý → n chức năng phần mềm
- N xử lý → 1 chức năng phần mềm
• Ví dụ: Quản lý nhập NVL
Tự động Thủ công
Đơn hàng
1.1 1.2 Tìm đơn hàng
Tìm đơn So khớp
hàng tương hóa đơn
ứng Hóa đơn
Lưu hóa đơn
Hóa đơn 1.3 1.4 NCC
Lưu hóa Lưu hóa
5
đơn đơn gốc Lập và in phiếu
Xác định
Hóa đơn gốc Phiếu đặt
Thông tin phiếu đặt
đặt
NVL dưới
6.1 6.2
mức tối
Lập và in Xác nhận
thiểu
phiếu đặt phiếu đặt Xác định NVL
Phiếu đặt
tồn dưới mức tt
NKý tồn kho
38
Thiết kế chức năng phần mềm hệ thống
▪ Xác định các chức năng phần mềm
• Từ các xử lý tự động hóa – ví dụ: Quản lý tồn kho
Phiếu xuất
Sử dụng Cập nhật số
Số tồn, sử dụng BPSX tồn, số sử dụng
NKý tồn kho 4.2
9
Cập nhật số Lập thống kê tỉ
tồn, số sử
Lập thống dụng
lệ hao hụt
Bcáo hao hụt
kê tỉ lệ hao
hụt
39
Thiết kế chức năng phần mềm hệ thống
▪ Xác định các chức năng phần mềm
• Từ các xử lý tự động hóa – ví dụ: Quản lý xuất NVL
Tự động Thủ công
Phiếu xuất 4
3
Phiếu xuất
Duyệt
Lập và in phiếu xuất
phiếu xuất Phiếu xuất
BPSX
Lập và in phiếu
NVL cần xuất 1 xuất
2 Kiểm tra
Yêu cầu NVL Yêu cầu NVL Kiểm tra tồn
Kiểm tra yêu cầu
tồn kho NVL kho
40
Thiết kế chức năng phần mềm hệ thống
▪ Xác định các chức năng phần mềm
• Từ các xử lý tự động hóa – ví dụ: Hệ quản lý tồn kho
NVL
41
Thiết kế chức năng phần mềm hệ thống
▪Xác định các chức năng phần mềm
• Các chức năng quản trị danh mục số liệu
42
Thiết kế chức năng phần mềm hệ thống
▪ Xác định các chức năng phần mềm
• Các chức năng khai thác dữ liệu bổ sung
Tìm kiếm
Thống kê, báo cáo,…
• Các tiện ích
Máy tính, lịch, forum
Game
• Hướng dẫn sử dụng
43
Thiết kế chức năng phần mềm hệ thống
▪ Xây dựng cấu trúc chức năng phần mềm
Tìm đơn hàng
HT quản trị
tồn kho
Nhập NVL Nhập hóa đơn
Nghiệp vụ
Lập & in phiếu
đặt NVL
NVL tồn dưới
mức tối thiểu
Lập và in phiếu
Xuất NVL xuất
Đăng nhập
Hệ thống
Đăng xuất
Quản trị người
dùng
44
Thiết kế chức năng phần mềm hệ thống
▪ Xây dựng cấu trúc chức năng phần mềm
HT quản trị
tồn kho
Đăng nhập
Hệ thống
Đăng xuất
Quản trị người
dùng
Backup
Restore
Hướng dẫn
sử dụng
45
Thiết kế chức năng phần mềm hệ thống
▪ Giới thiệu về kiến trúc phần mềm
• Kiến trúc client-server
CSDL
Workstation
Client Server
- Client: giao diện và chương trình xử lý được viết trực tiếp trong
giao diện
- Server: quản trị cơ sở dữ liệu
• Hạn chế: Cơ sở dữ liệu phụ thuộc rất lớn vào giao
diện→ khó cải tiến, bảo trì và tái sử dụng
46
Thiết kế chức năng phần mềm hệ thống
▪ Giới thiệu về kiến trúc phần mềm
• Kiến trúc client-server: một số mô hình client-server
CSDL CSDL
message Xử lý
Xử lý
message
Giao diện
Giao diện
47
Thiết kế chức năng phần mềm hệ thống
▪ Giới thiệu về kiến trúc phần mềm
• Kiến trúc 3 tầng (three-layers):
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
Thựctìnhhiện
huống
cácxử lý phù
giao táchợp
xử lý liên quan
Hiển thị các đối tượng
đến nghiệp vụ mà không quan tác nghiệp : trình
tâm đến
bày
hiểnmộtthịhình
chúngảnhnhư
tốt nhất
Userthế các
nào?đốiVàtượng
interface CSDL
User interface layer
tác nghiệp tới
được lấy ở đâu? người dùng trong
layer một giao
diện
Business layer Business layer
Chuyển dịch yêu cầu: chuyển dịch tất cả
Data layer các yêu cầu liên quanData
đếnlayer
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
Middleware
CSDL
file,…)
Chuyển dịch kết System
quả software
48
Thiết kế chức năng phần mềm hệ thống
▪ Giới thiệu về kiến
trúc phần mềm
• Kiến trúc 3 tầng
(three-layers):
- Sự phân tầng tạo ra sự
độc lập→ dễ tiến hóa,
nâng cấp, cải tíến,….
49
Thiết kế chức năng phần mềm hệ thống
▪ Phân chia thành các module
• Module: là một đơn vị của hệ thống được xác định bởi
chức năng của nó, tất cả các lệnh trong module đều
nhằm thực hiện chức năng đó.
• Module có thể là một đoạn chương trình, một thủ tục,
hàm, một method,…
• Module có thể là một form, menu,….
50
Thiết kế chức năng phần mềm hệ thống
▪ Biểu đồ cấu trúc (structured chart)
• Module
B C
A
Module thi
Module
hành
51
Thiết kế chức năng phần mềm hệ thống
▪ Biểu đồ cấu trúc (structured chart)
Module
A B B C C
52
Thiết kế chức năng phần mềm hệ thống
▪ Biểu diễn cấu trúc chức năng phần mềm dùng
biểu đồ cấu trúc
Module điều phối:
gọi phối hợp các thực
thi của các module
khác
Module
Module Module
Lập và in hóa Lập và in phiếu NVL tồn dưới Lập và in phiếu Cập nhật số sử
Tồn kho NVL
đơn đặt NVL mức tối thiểu xuất dụng
54
Thiết kế chức năng phần mềm hệ thống
▪ Thiết kế chức năng phần mềm (theo kiến trúc 3
tầng)
Lập và in hóa
Giao diện đơn
HoaDon
55
Thiết kế chức năng phần mềm hệ thống
▪Thiết kế chức năng phần mềm (theo kiến trúc 3 tầng)
Giao diện In HĐơn
Dliệu hóa đơn in
Xác định DL in
Nghiệp vụ HĐ
Dliệu hóa đơn in
Số HĐ
CSDL
56
Thiết kế chức năng phần mềm hệ thống
▪Thiết kế chức năng phần mềm (theo kiến trúc 3 tầng)
CSDL
57
Thiết kế chức năng phần mềm hệ thống
▪ Các mục tiêu trong thiết kế hệ thống
• Hệ thống nên được tổ chức thành một cấu trúc phân cấp
thành các module
• Mỗi module nên điều khiển các chức năng của một số
lượng hợp lý các module mức dưới
• Mỗi module nên độc lập với những cái khác trên ý nghĩa
là không can thiệp vào họat động những module khác,
do đó, số lượng thông tin trao đổi giữa các module nên
giữ ở mức tối thiểu
• Mỗi module nên có một kích thước vừa phải
• Mỗi module chỉ nên đảm nhận một chức năng
58
Thiết kế chức năng phần mềm hệ thống
▪ Với các mục tiêu trên có các hướng dẫn tương ứng sau
• Sự phân chia: phân chia hệ thống thành những phần nhỏ hơn
• Điều khiển module: mỗi module không nên điều khiển nhiều hơn 7
module
• Tính liên kết (coupling): giảm tối đa sự phụ thuộc của module này
vào module khác → giảm lượng truyền thông giữa các module
• Kích thước module: mỗi module nên giới hạn từ 50 đến 100 dòng
lệnh
• Tính cố kết (cohesion): các lệnh trong một module nên gắn liền cùng
một chức năng
• Tái sử dụng: các module ở mức thấp nên được sử dụng bởi nhiều
module ở mức trên
59
Thiết kế chức năng phần mềm hệ thống
▪ Năm loại coupling
• Liên kết dữ liệu (data coupling): các module trao đổi dữ liệu với
nhau thông qua cờ dữ liệu đơn hoặc cờ hiệu thông tin
• Liên kết nhãn (stamp coupling): dữ liệu trao đổi giữa các module là
một phần của cấu trúc hoặc toàn bộ cấu trúc
Xác định NVL tồn
dưới mức t thiểu Cấu trúc
Ngày
Mức tồn tối thiểu
Dữ liệu tồn kho
Xác định mức tối
Tính_tồn_kho
thiểu
60
Thiết kế chức năng phần mềm hệ thống
▪ Năm loại liên kết (coupling)
• Liên kết điều khiển (control coupling): module này chuyển thông tin
điều khiển đến module khác
Thông tin điều khiển: cờ hiệu thông báo cho module nhận hành động nào
nên thực hiện
• Liên kết chung (common coupling): hai module cùng tham chiếu đến
một cấu trúc toàn cục
• Liên kết nội dung (content coupling): module này có thể tham khảo
đến nội dung của một module khác
61
Thiết kế chức năng phần mềm hệ thống
▪ Xếp loại coupling
62
Thiết kế chức năng phần mềm hệ thống
▪ Bảy loại cohesion
• Cố kết chức năng (functional cohesion): các lệnh trong
module gắn liền với một chức năng hoặc một nhiệm vụ
• Cố kết tuần tự (sequential cohesion): các lệnh trong
module thực hiện tuần tự sao cho đầu ra của lệnh này
chính là đầu vào của lệnh kế tiếp.
Đầu vào
Lệnh 1 Lệnh 3
Đầu ra
Lệnh 2 Lệnh 4
Module
63
Thiết kế chức năng phần mềm hệ thống
▪ Bảy loại cohesion
• Cố kết trao đổi (communicational cohesion): các lệnh
trong module liên quan với nhau thông qua việc sử dụng
cùng dữ liệu vào hoặc liên quan đến cùng dữ liệu ra
Đầu vào
Lệnh 1
Đầu ra
Lệnh 2
Lệnh 3
Module
64
Thiết kế chức năng phần mềm hệ thống
▪ Bảy loại cohesion
• Cố kết thủ tục (procedural cohesion): các lệnh trong
module thực hiện chuỗi các hành động không liên quan
với nhau liên kết với nhau thông qua dòng điều khiển.
• Cố kết thời gian (temporal cohesion): các lệnh trong
module thực hiện chuỗi các hành động có liên quan với
nhau về thời gian.
• Cố kết luận lý (logical cohesion): bao gồm các lệnh thực
hiện các hành động có liên quan về mặt nào đó, nhưng
hành động được xác định từ module gọi.
• Cố kết ngẫu nhiên (coincidental cohesion): tất cả các
lệnh trong module không liên quan đến nhau
65
Thiết kế chức năng phần mềm hệ thống
▪ Xếp hạng cohesion
Tên cohesion Xếp hạng gắn kết logic
Cố kết chức năng Cao, mong muốn đạt được
Cố kết tuần tự Trung bình, chấp nhận được
Cố kết trao đổi
Cố kết thủ tục
Cố kết thời gian Thấp, cần loại bỏ
Cố kết luận lý
Cố kết ngẫu nhiên
66
Chương 9: Thiết kế hệ thống
67
Chương 10: Thiết kế giao diện
68