You are on page 1of 68

Chương 9

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

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 con 1 Hệ thống con 2 Hệ thống con 3

Hệ thống: ABC
Dòng dữ liệu vào:

Dòng dữ liệu ra:

STT Hệ thống con Xử lý Kho dữ liệu

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

Các hệ thống con

9
Phân chia hệ thống thành hệ thống con
Hệ thống: ABC
Dòng dữ liệu vào:

Dòng dữ liệu ra:

STT Hệ thống con Xử lý Kho dữ liệu


1 Quản lý nhập NVL - Lưu hoá đơn -Hoáđơn
- Xác định NVL tồn dưới mức tối -NKý tồn kho
thiểu
- Lập phiếu đặt mua NVL
2 Quản lý thanh toán - Xử lý thanh toán hoá đơn -Hoá đơn
3 Quản lý tồn kho -Xác định NVL tồn -Hoáđơn, phiếu xuất
-Đối chiếu và cập nhập số tồn, số sử -NKý tồn kho
dụng
-Thống kê tỉ lệ hao hụt -Phiếu xuất, Nký tồn kho

4 Quản lý xuất NVL -Xử lý xuất NVL -Phiếu xuất

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

HTTT tự động hoá

Yêu cầu tự động hoá


(phần mềm)

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

Tinh chế thành các


hoạt động chi tiết

Xử lý được phân chia Xử lý Xử lý

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

Kiểm tra và Kiểm tra Lưu đơn Lưu đơn


lưu đơn công nợ hàng vào hàng
hàng khách hàng máy tính

Tự động Tự động 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

Quan niệm NKý tồn kho Vật lý

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

NKý tồn kho


Quan niệm Vật lý
18
Xây dựng mô hình thiết kế xử lý
▪ Thiết kế các vai trò User (người dùng phần mềm)

Nhân viên tổ chức

Hệ thống tổ
chức nghiệp
HTTT
vụ
Môi trường

HTTT tự động hoá

Thừa tác viên HTTT

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

1.3 Hóa đơn đơn gốc 6.2


NCC
Lưu hóa 5 Xác nhận
đơn phiếu đặt
Xác định Hóa đơn gốc
Thông NVL dưới 6.3 Phiếu đặt đã
tin mức tối xác nhận
Hóa đơn Gởi phiếu
phiếu thiểu đặt
đặt 6.1
Lập và in NKý tồn kho Phiếu đặt
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

Thủ công Tự động


1 2
Nhận và Lưu PYC
PYC lưu PYC vào CSDL

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

Thủ công Tự động


1 3
Nhận và Kiểm tra
PYC lưu PYC PYC

NKH Ngân sách


PYC 2
Lưu PYC
3 vào CSDL
PYC không hợp lệ
Thông báo
các PYC
không hợp CSDL PYC
lệ

Thiết kế xử lý trực tuyến


27
Xây dựng mô hình thiết kế xử lý
▪ Mô hình hóa xử lý mức thiết kế
• Mục tiêu:
- Biểu diễn xử lý hệ thống trong một môi trường cụ thể
- Làm nổi bật các yếu tố vật lý của hệ thống mới sẽ được triển
khai trong mô hình như: hình thức, không gian, thời gian, tổ
chức, thủ công – tự động,…
- Biểu diễn các yêu cầu tự động hóa hệ thống
• Các mô hình: có thể dùng một số mô hình sau
- Mô hình DFD (mức vật lý)
- Flowchart
- Mô hình xử lý tựa Merise

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

Hóa đơn (đã KT) Xác định


Hóa đơn
phiếu đặt

Lập và in phiếu Đơn hàng (đã


Đơn hàng
đặt xác nhận)

Gởi Đơn hàng


phiếu đặt

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

Tập các biến cố


Tập biến cố gồm hai loại: tập biến cố vào và tập biến cố ra

Điều kiện phát động biến cố

Nguyên tắc quản lý (NTQL)

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 …

Dữ liệu. Gồm có hai loại: dữ liệu vào và dữ liệu ra cho


của qui tắc xử lý
Phương tiện biểu diễn dữ liệu trên giấy

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

Kiểm tra đơn hàng


Giao NVL Đơn hàng

Hóa đơn Có Không


Cuối ngày

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

Tự động Thủ công


3
Hóa đơn Xác định Số tồn 4.1 Xác định tồn
tồn kho Đối chiếu số kho NVL
NVL tồn, số sử
dụng

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

NKý tồn 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

Tìm đơn hàng Xác định tồn Lập và in phiếu


kho NVL xuất
Lưu hóa đơn
Cập nhật số Kiểm tra tồn
Lập và in phiếu tồn số sử dụng kho
đặt
Lập thống kê tỉ
Xác định NVL lệ hao hụt
tồn dưới mức tt

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

Nhà cung cấp Nguyên vật liệu

• Các chức năng hệ thống


-An toàn
Quản lý người dùng
Đăng nhập
Đăng xuất
Quản trị người dùng – nhóm người dùng

Backup/ restore CSDL
Mã hóa
-Thông số hệ thống:
Ví dụ: các thông số thư mục, ngày hệ thống, biến hệ thống,…

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

Xác định tồn


Quản lý tồn kho
NVL
Cập nhật số
tồn, số sử dụng
Danh mục Nguyên vật liệu

Nhà cung cấp

Đă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

Báo cáo – Báo cáo tỉ lệ


thống kê hao hụt NVL

Báo cáo nhập


NVL

Báo cáo xuất


NVL

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,….

Tạo ra một module trung gian


sẽ làm cho các tầng độc lập lẫn
nhau tốt hơ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

Module gọi Module

B C
A

Module thi
Module
hành

A: giá trị tham số truyền: dữ liệu, cờ hiệu, mẫu tin


B: giá trị kết quả nhận Module nhúng
C: Cờ hiệu

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

Module Module Module

Thứ tự thực hiện

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 Module

Module Module

Module thực thi: thực thi một đọan mã chương trình


53
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
Main
UserID UserID UserID

Hiển thị form


Menu của user Menu hệ thống
f_DangNhap

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

Báo cáo – thống Hương dẫn sử


Danh mục Hệ thống
kê 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 Kqua Kqua


Hiển thị Kqua
Nhập HĐơn Thông báo In HĐơn
f_HoaDon
HoaDon

HoaDon

Nghiệp vụ Lưu HĐơn XóaHĐ

Kqua Kqua Kqua

Mẫu tin HoaDon Mẫu tin CTHĐ HoaDon

Truy cập CSDL Xóa_HĐ và


Them_HĐ Them_CTHĐ
CTHĐ

CSDL T_Hóa đơn T_CTHĐ

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

Lọai kết xuất


HoaDon Lọai kết xuất
Số HĐ
Chọn HĐơn Chọn kết xuất In hóa đơn

Dliệu hóa đơn in

Xác định DL in
Nghiệp vụ HĐ
Dliệu hóa đơn in

Số HĐ

Truy cập CSDL Đọc_Dliệu_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)

Giao diện NVL tồn dưới


Tồn kho NVL mức tối thiểu
DL tồn kho NVL tồn dưới
Ngày mức tới thiểu
Ngày
DL tồn Ngày Hiển thị NVL tồn
Chọn ngày kho Hiển thị tồn kho
dưới mức t thiểu
Ngày
NVL tồn dưới
mức tới thiểu
Nghiệp vụ Tính tồn kho Xác định NVL tồn
dưới mức tthiểu
DL tồn DL tồn
Ngày
kho kho
Mức tối thiểu
Ngày
Tồn_kho Xđịnh_mức_tối_
Truy cập CSDL thiểu

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

Lập gởi tiền Dữ liệu trao đổi


Số tiền giữa các module
Số Tkhỏan
Số dư
Số Tkhỏan
Tình trạng Số tiền
Cập nhật số dư
Thêm phiếu gởi
Tkhỏan

• 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

Kiểm tra công nợ Thông tin điều


khách hàng khiển
Công nợ
Tên khách hàng Công nợ
Ghi “công nợ không quá 30 ngày”
Tính công nợ
Hiển thị công nợ
khách hàng

• 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

Tên coupling Xếp hạng phụ thuộc


Data coupling Rất thấp
Stamp coupling Thấp
Control coupling Trung bình
Common coupling Cao
Content coupling Rất cao

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

1. Mục tiêu của sự phân hệ thống con? Những yếu tố


nào gợi ý cho việc phân chia hệ thống con?
2. Các công việc khi xây dựng mô hình thiết kế xử lý?

67
Chương 10: Thiết kế giao diện

1. Có những loại giao diện nào? Khi thiết kế


giao diện nhập cần lưu ý vấn đề gì?
2. Giao diện xuất đề cập đến khía cạnh nào?
3. Các mức khi thiết kế đối thoại?

68

You might also like