Bài giảng Phân tích thiết kế thành phần xử lý - thiết kế hệ thống
Bảy loại cohesion
Cohesion thủ tục: các lệnh trong module liên kết với
nhau thông quan dòng điều khiển
Các lệnh trong module liên quan với nhau thông qua việc
thực hiện cùng thời điểm hoặc gần thời điểm với nhau
Cohesion luận lý: bao gồm tập các lệnh nhưng được xác
định từ bên ngòai module chồng lắp các phần chức
năng khó bảo trì
Cohesion ngẫu nhiên: tất cả các lệnh không liên quan
đến những cái khác
65 trang |
Chia sẻ: hao_hao | Lượt xem: 2386 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích thiết kế thành phần xử lý - thiết kế hệ thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 4
PHÂN TÍCH THIẾT KẾ
THÀNH PHẦN XỬ LÝ
__
THIẾT KẾ HỆ THỐNG
2Nội dung
Thiết kế hệ thống
Thiết kế form & report
Thiết kế thử nghiệm
3Thiế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
Xây dựng cấu trúc phần mềm hệ thống
4Phân chia hệ thống thành hệ thống con
Mục tiêu:
Giảm thiểu sự phức tạp của một hệ thống lớn, cồng
kềnh,…
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 tích tích
Dễ dàng hơn cho quá trình bảo dưỡng hệ thống sau
này
5Phâ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 yếu càng tốt
6Phân chia hệ thống thành hệ thống con
Tiêu chí phân chia:
Xử lý
Xử lý
Xử lý
Xử lý
Xử lý
Xử lý
Xử lý
Dữ liệu
Dữ liệu
Hệ thống con 1 Hệ thống con 2
Hệ thống con 1
Hệ thống con 2
7Phâ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
đối tượng thực thể
Ví dụ: Khách hàng, nhà cung cấp,…
Gom theo sự kiện giao tác: các xử lý đáp ứng cho một sự
kiện xảy ra.
Ví dụ: khách hàng đặt hàng, thanh toán, về thời gian như: cuối
ngày, cuối thá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,…
…
8Phân chia hệ thống thành hệ thống con
Ví dụ: hệ thống quản lý tồn kho
BPSX
Lưu hoá
đơn
1-
2
Hoá đơn NKý tồn kho
Xác định
NVL tồn
3
Đối chiếu
và cập nhật
số tồn, số
sử dụng
4
Xác định
NVL tồn
dưới mức
tối thiểu
5
Lập phiếu
đặt mua
NVL
6
Xử lý
thanh
toán hoá
đơn
7
(1)
(2)
(3)
(4)
Hoá đơn
Hoá đơn
chưa
thanh
toán
HĐ đã
thanh
toán
Tồn kho +
tồn tối
thiểu
Số sử dụng,
số tồn
Tồn kiểm
kê
NVL cần đặt
NCC
Thống
kê tỉ lệ
hao hụt
9
Phiếu xuất:1
Xử lý xuất
NVL
8
Phiếu xuất:2
Thủ
kho
Yêu
vầu về
NVL
Thông
tin
xuất
NVL
Thông
tin
xuất
NVL
Thông tin
báo cáo hao
hụt
Thông tin
NVL nhập
Thông tin
NVL xuấtHệ thống
con quản lý
nhập NVL
Hệ thống
con quản lý
tồn kho
NVL
Hệ thống
con quản lý
tồn kho NVL
Hệ thống
con quản lý
xuất NVL
Hệ thống
con quản lý
nhập NVL
Hệ thống
con quản lý
thanh toán
9Phâ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
10
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
Quản lý nhập NVL
Hệ quản lý tồn kho
Quản lý thanh toán Quản lý tồn kho Quản lý xuất NVL
Các hệ thống con
11
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
- Xác định NVL tồn dưới mức tối
thiểu
- Lập phiếu đặt mua NVL
-Hoá đơn
-NKý tồn kho
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
-Đối chiếu và cập nhập số tồn, số sử
dụng
-Thống kê tỉ lệ hao hụt
-Hoá đơn, phiếu xuất
-NKý tồn kho
-Phiếu xuất, Nký tồn kho
4 Quản lý xuất NVL -Xử lý xuất NVL -Phiếu xuất
12
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
Xây dựng cấu trúc phần mềm hệ thống
13
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ế
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
HTTT tự động hoá
Hệ thống tổ
chức nghiệp
vụHTTTMôi trường
Yêu cầu tự động hoá
(phần mềm)
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
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ác định chức năng tự
động hoá
Yêu
cầu
tự
động
hoá
Xử lý
Xử lý Xử lý
Tự độngThủ công
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
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à
lưu đơn
hàng
Kiểm tra
công nợ
khách hàng
Lưu đơn
hàng vào
máy tính
Lưu đơn
hàng
Tự động Tự động Thủ công
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ý xuất NVL
Quản lý
xuất NVL
Phiếu xuất
BPSX
Yêu cầu NVL
Thông tin xuất NVL
Thông tin xuất NVL
BPSX
Kiểm tra
yêu cầu
NVL
1
Kiểm tra
tồn kho
2
Lập và in
phiếu xuất
3
Phiếu xuất
Duyệt
phiếu xuất
4
Yêu cầu NVL
Phiếu xuất
NKý tồn kho
Yêu cầu NVL
NVL cần xuất
Phiếu xuất
Quan niệm Vật lý
Tự động Thủ công
18
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
Quan niệm Vật lý
Tự động Thủ công
Hóa đơn
NCC
Tìm đơn
hàng tương
ứng
1.1
So khớp
hóa đơn
1.2
Hóa đơn
Lưu hóa
đơn
1.3
Đơn hàng
Lưu hóa
đơn
1
Hóa đơn
NCC
NKý tồn kho
Xác định
NVL dưới
mức tối
thiểu
5
Lập phiếu
đặt NVL
6
Hóa đơn
Phiếu đặt
Xác định
NVL dưới
mức tối
thiểu
5
NKý tồn kho
Lập và in
phiếu đặt
6.1
Xác nhận
phiếu đặt
6.2
Phiếu đặt
Phiếu đặt
Thông tin phiếu đặt
Lưu hóa
đơn gốc
1.4
Hóa đơn gốc
19
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
Quan niệm Vật lý
Tự động Thủ công
Xác định
tồn kho
NVL
3
Hóa đơn
BPSX
NKý tồn kho
Đối chiếu và
cập nhật số
tồn, số sử
dụng
4
Lập thống
kê tỉ lệ hao
hụt
9 Số tồn
Bcáo hao hụt
Phiếu xuất
Sử dụng
Xác định
tồn kho
NVL
3
Hóa đơn
Phiếu xuất
BPSX
Cập nhật số
tồn, số sử
dụng
4.2
Đối chiếu số
tồn, số sử
dụng
4.1
NKý tồn kho
Lập thống
kê tỉ lệ hao
hụt
9
Bcáo hao hụt
Sử dụng
Số tồn
Số tồn, sử dụng
20
Xây dựng mô hình thiết kế xử lý
Thiết kế các vai trò
HTTT tự động hoá
Hệ thống tổ
chức nghiệp
vụHTTTMôi trường
Nhân viên tổ chức
Thừa tác viên HTTT
User (người dùng phần mềm)
21
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
Môi trường
Hệ thống
tổ chức
nghiệp
vụ
HTTT tự
động hóa
22
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
23
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
Hóa đơn
NCC
Tìm đơn
hàng tương
ứng
1.1
So khớp
hóa đơn
1.2
Hóa đơn
Lưu hóa
đơn
1.3
Đơn hàng Lưu hóa
đơn gốc
1.4
Hóa đơn gốc
Xác định
NVL dưới
mức tối
thiểu
5
NKý tồn kho
Lập và in
phiếu đặt
6.1
Xác nhận
phiếu đặt
6.2
Phiếu đặt
Phiếu đặt
Thông
tin
phiếu
đặt
Gởi phiếu
đặt
6.3
Thông tin đặt hàng tương ứng
Hóa đơn
Hóa đơn
Phiếu đặt đã
xác nhận
24
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,…),…
25
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
26
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,…
27
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
NKH
Nhận và
lưu PYC
1
PYC
Kiểm tra
PYC
3
Lưu PYC
vào CSDL
2
CSDL PYC
Thông báo
các PYC
không hợp
lệ
4
PYC
PYC không hợp lệ
Thiết kế xử lý theo lô
28
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
NKH
Nhận và
lưu PYC
1
PYC
Kiểm tra
PYC
3
Lưu PYC
vào CSDL
2
CSDL PYC
Thông báo
các PYC
không hợp
lệ
3
PYC
PYC không hợp lệ
Thiết kế xử lý trực tuyến
Ngân sách
29
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
30
Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế
Flowchart (Quản lý nhập NVL)
NV nhập Thủ kho Nhà CC
Hóa đơnTìm đơn hàng
tương ứng
So khớp
đơn
hàng
Đơn hàng
Lưu hóa đơn
Đơn hàng
Hóa đơn
Hóa đơn (đã KT)
HĐ gốc
Xác định NVL tồn
dưới mức tối thiểu
NKý tồn
NVL tồn
dưới mức
tối thiểu
Lập và in phiếu
đặt
Đơn hàng
Xác định
phiếu đặt
Đơn hàng (đã
xác nhận)
Gởi
phiếu đặt
Đơn hàng
31
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ô 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ố
Qui tắc quản lý (QTQL)
32
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ô hình xử lý tựa Merise
Ký hiệu Tên gọi
Qui tắc quản lý có điều kiện ra
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
ĐK1 ĐK2 …
33
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ô hình xử lý tựa Merise
Đối tượng
X môi
trường
Vị trí 1 Vị trí 2 … Vị trí n Đối
tượng Y
ngoài môi
trường
34
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ô hình xử lý tựa Merise
Bảng mô tả chức năng
STT Nguồn
gốc
NTQL (1)
Thủ tục
chức
năng(2)
Bản chất
(3)
Vị trí(4) Thời gian
thực hiện
(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,….)
35
Hóa đơn
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ô hình xử lý tựa Merise – ví dụ:
Nhà CC Thủ kho NV nhập
Giao NVL
Kiểm tra đơn hàng Đơn hàng
HĐ hợp lệ
Có Không
HĐ không
hợp lệ
Lưu hóa đơn
Hóa đơn
Cuối ngày
Xác định NVL tồn
dưới mức tối thiểu
Đ S
NKý tồn
Có NVL
cần đặt
Không có
NVL cần
đặt
Lập đặt NVL
Đơn hàngĐH đã lập
Xác định phiếu đặt
Đơn hàng
Đơn hàng
36
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ô 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
HĐ
Tự động NVnhập Thực hiện
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
mức tối thiểu
Xác định NVL tồn dưới
mức tối thiểu
Tự động Thủ kho Cuối ngày
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
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
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
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: 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
Hóa đơn
NCC
Tìm đơn
hàng tương
ứng
1.1
So khớp
hóa đơn
1.2
Hóa đơn
Lưu hóa
đơn
1.3
Đơn hàng
Xác định
NVL dưới
mức tối
thiểu
5
NKý tồn kho
Lập và in
phiếu đặt
6.1
Xác nhận
phiếu đặt
6.2
Phiếu đặt
Phiếu đặt
Thông tin phiếu đặt
Lưu hóa
đơn gốc
1.4
Hóa đơn gốc
Tìm đơn hàng
Lưu hóa đơn
Lập và in phiếu
đặt
Xác định NVL
tồn dưới mức tt
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ý tồn kho
Xác định tồn
kho NVL
Cập nhật số
tồn số sử dụng
Lập thống kê tỉ
lệ hao hụt
Tự động Thủ công
Xác định
tồn kho
NVL
3
Hóa đơn
Phiếu xuất
BPSX
Cập nhật số
tồn, số sử
dụng
4.2
Đối chiếu số
tồn, số sử
dụng
4.1
NKý tồn kho
Lập thống
kê tỉ lệ hao
hụt
9
Bcáo hao hụt
Sử dụng
Số tồn
Số tồn, sử dụng
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ụ: Quản lý xuất NVL
Lập và in phiếu
xuất
Kiểm tra tồn
kho
BPSX
Kiểm tra
yêu cầu
NVL
1
Kiểm tra
tồn kho
2
Lập và in
phiếu xuất
3
Phiếu xuất
Duyệt
phiếu xuất
4
Yêu cầu NVL
Phiếu xuất
NKý tồn kho
Yêu cầu NVL
NVL cần xuất
Phiếu xuất
Tự động Thủ công
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
Từ các xử lý tự động hóa – ví dụ: Hệ quản lý tồn kho
NVL
Lập và in phiếu
xuất
Kiểm tra tồn
kho
Tìm đơn hàng
Lưu hóa đơn
Lập và in phiếu
đặt
Xác định NVL
tồn dưới mức tt
Xác định tồn
kho NVL
Cập nhật số
tồn số sử dụng
Lập thống kê tỉ
lệ hao hụt
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 quản trị danh mục số liệu
Ví dụ:
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,…
Nhà cung cấp Nguyên vật liệu
43
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
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
Nghiệp vụ
Tìm đơn hàng
Nhập hóa đơn
Lập & in phiếu
đặt NVL
NVL tồn dưới
mức tối thiểu
Nhập NVL
Xuất NVL
Lập và in phiếu
xuất
Quản lý tồn
NVL
Xác định tồn
kho
Cập nhật số
tồn, số sử dụng
Danh mục Nguyên vật liệu
Nhà cung cấp
Hệ thống
Đăng nhập
Đăng xuất
Quản trị người
dùng
45
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
Hệ thống
Đăng nhập
Đăng xuất
Quản trị người
dùng
Báo cáo –
thống kê
Báo cáo tỉ lệ
hao hụt NVL
Báo cáo nhập
NVL
Báo cáo xuất
NVL
Backup
Restore
Hướng dẫn
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
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
Client Server
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 client-server: một số mô hình client-server
CSDL
Giao diện
Xử lý
message
CSDL
Xử lý
Giao diện
message
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):
Data layer
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ả
49
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
50
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,….
51
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 thi
hành
A
B
Module
Module
Module nhúng
A: giá trị tham số truyền: dữ liệu, cờ hiệu, mẫu tin
B: giá trị kết quả nhận
C: Cờ hiệu
C
52
Thiết kế chức năng phần mềm hệ thống
Biểu đồ cấu trúc (structured chart)
Module
Module Module Module
A B B C C
Thứ tụ thực hiện
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
Module
Module Module Module
Module Module
Module điều phối:
gọi phối hợp các thực
thi của các module
khác
Module thực thi: thực thi một đọan mã chương trình
54
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
Hiển thị form
f_DangNhap Menu của user Menu hệ thống
Lập và in hóa
đơn
Lập và in phiếu
đặt NVL
NVL tồn dưới
mức tối thiểu
Lập và in phiếu
xuất
UserID UserID UserID
Cập nhật số sử
dụngTồn kho NVL
Danh mục Hệ thống Báo cáo – thống kê
Hương dẫn sử
dụng
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)
Lập và in hóa
đơn
Hiển thị
f_HoaDon Nhập HĐơn
Lưu HĐơn
In HĐơnThông báo
HoaDon
HoaDon
Kqua Kqua
XóaHĐ
HoaDon
Kqua
Them_HĐ Them_CTHĐ
Mẫu tin HoaDon
Kqua
Mẫu tin CTHĐ
Kqua
Xóa_HĐ và
CTHĐ
HoaDon
Kqua
Giao diện
Nghiệp vụ
Truy cập CSDL
T_Hóa đơn T_CTHĐ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)
Xác định DL in
HĐ
In HĐơn
Chọn HĐơn
Đọc_Dliệu_HĐ
HoaDon
Giao diện
Nghiệp vụ
Truy cập CSDL
CSDL
In hóa đơnChọn kết xuất
Lọai kết xuất
Dliệu hóa đơn in
Số HĐ
Dliệu hóa đơn in
Lọai kết xuất
Số HĐ
Dliệu hóa đơn in
57
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)
Tồn kho NVL
Chọn ngày
Ngày
Giao diện
Nghiệp vụ
Truy cập CSDL
CSDL
Tính tồn kho
Ngày
Hiển thị tồn kho
DL tồn
kho
DL tồn kho
NVL tồn dưới
mức tối thiểu
Tồn_kho
Ngày DL tồn
kho
Ngày
Ngày
NVL tồn dưới
mức tới thiểu
Hiển thị NVL tồn
dưới mức t thiểu
Xác định NVL tồn
dưới mức tthiểu
Xđịnh_mức_tối_
thiểu
Ngày
Mức tối thiểu
DL tồn
kho
NVL tồn dưới
mức tới thiểu
58
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
59
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
Coupling: giảm tối đa sự phụ thuộc của các module 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
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
60
Thiết kế chức năng phần mềm hệ thống
Năm loại coupling
Data coupling: các module trao đổi với nhau thông qua
cờ dữ liệu đơn hoặc cờ hiệu thông tin
Stamp coupling: dữ liệu trao đổi giữa các module là một
cấu trúc hoặc tòan bộ mẫu tin
Lập gởi tiền
Thêm phiếu gởi Cập nhật số dư Tkhỏan
Số Tkhỏan
Số tiền
Số Tkhỏan
Số tiền
Số dư
Tình trạng
Dữ liệu trao đổi
giữa các module
Xác định NVL tồn
dưới mức t thiểu
Tính_tồn_kho Xác định mức tối thiểu
Ngày
Dữ liệu tồn kho Mức tồn tối thiểu
Cấu trúc
61
Thiết kế chức năng phần mềm hệ thống
Năm loại coupling
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
Common coupling: hai module cùng tham khảo đến một
dữ liệu tòan cục
Content coupling: module có thể tham khảo đến nội
dung của một module khác
Kiểm tra công nợ
khách hàng
Tính công nợ
khách hàng Hiển thị công nợ
Công nợ
Ghi “công nợ không quá 30 ngày”
Công nợ
Thông tin điều
khiển
Tên khách hàng
62
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
Stamp coupling
Control coupling
Common coupling
Content coupling
Rất thấp
Thấp
Trung bình
Cao
Rất cao
63
Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion
Cohesion về chức năng: các lệnh trong một module gắn
liền tới một chức năng hoặc một nhiệm vụ
Cohesion tuần tự: tuần tự đầu ra của lệnh này chính là
đầu vào của lệnh khác trong một module
Lệnh 1
Lệnh 2
Lệnh 3
Lệnh 4
Module
Đầu vào
Đầu ra
64
Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion
Cohesion trao đổi: 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
Lệnh 1
Lệnh 2
Lệnh 3
Đầu vào
Đầu ra
Module
65
Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion
Cohesion thủ tục: các lệnh trong module liên kết với
nhau thông quan dòng điều khiển
Các lệnh trong module liên quan với nhau thông qua việc
thực hiện cùng thời điểm hoặc gần thời điểm với nhau
Cohesion luận lý: bao gồm tập các lệnh nhưng được xác
định từ bên ngòai module chồng lắp các phần chức
năng khó bảo trì
Cohesion ngẫu nhiên: tất cả các lệnh không liên quan
đến những cái khác
Các file đính kèm theo tài liệu này:
- pttk_c4_2_phuong_6201.pdf