Professional Documents
Culture Documents
PTTK C4.2 Phuong
PTTK C4.2 Phuong
THIẾT KẾ HỆ THỐNG
Nội dung
Thiết kế hệ thống
Thiết kế form & report
Thiết kế thử nghiệm
2
Thiết kế hệ thống
3
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 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
4
Phân chia hệ thống thành hệ thống con
5
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 6
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:
9
Phân chia hệ thống thành hệ thống con
Quản lý nhập NVL Quản lý thanh toán Quản lý tồn kho Quản lý xuất NVL
10
Phân chia hệ thống thành hệ thống con
Hệ thống: ABC
Dòng dữ liệu vào:
11
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
12
Xây dựng mô hình thiết kế xử lý
13
Xây dựng mô hình thiết kế xử lý
Hệ thống tổ
chức nghiệp
HTTT
vụ
Môi trường
14
Xây dựng mô hình thiết kế xử lý
Yêu
cầu
tự Xác định chức năng tự Tự động
Thủ công
động động hoá
hoá 15
Xây dựng mô hình thiết kế xử lý
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
Hệ thống tổ
chức nghiệp
HTTT
vụ
Môi trường
Hệ thống
HTTT tự
tổ chức
động hóa
nghiệp
Môi trường vụ
21
Xây dựng mô hình thiết kế xử lý
Môi trường
Môi trường
Môi trường 22
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
Phiếu đặt
23
Xây dựng mô hình thiết kế xử lý
24
Xây dựng mô hình thiết kế xử lý
25
Xây dựng mô hình thiết kế xử lý
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ô 27
Xây dựng mô hình thiết kế xử lý
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ế
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 tối
So khớp thiểu
đơn Lưu hóa đơn
hàng
31
Xây dựng mô hình thiết kế xử lý
ĐK1 ĐK2 …
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
Đố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
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
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,….)
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 – 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
Đơn hàng 35
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 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
36
Thiết kế chức năng phần mềm hệ thống
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
Tìm đơn hàng
1.1
1.2
Đơn hàng Tìm đơn
hàng tương
So khớp
hóa đơn Lưu hóa đơn
ứng Hóa đơn
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
Ví dụ:
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
Trả lời tương tác người dùng:chuyển
Kiến trúc 3 tầng (three-layers):
dịch những hành động của người dùng
tớiThực
một tình
hiệnhuống xử lýtác
các giao phùxửhợp
lý liên quan
Hiển thị các đối tượng tác
đến nghiệp vụ mà không quan tâmnghiệp : đến
trình
hiểnbày
thịmột hìnhnhư
chúng ảnh tốt nhất
nào?cácVàđối
User interface layer Userthế
interface CSDL
tượng
đượctác
lấynghiệp
ở đâu? tới người
layer dùng trong
một giao diện
Business layer Business layer
Chuyển dịch yêu cầu: chuyển dịch tất
Data layer cả các yêu cầu liên quan đến dữ liệu từ
Data layer
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,
Middleware
CSDL truy xuất file,…)
Chuyển dịch kếtSystem
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
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)
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
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
59
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
Lập gởi tiền Dữ liệu trao đổi
Số tiền giữa các module
Số Tkhỏan
Số Tkhỏan Số dư
Tình trạng Số tiền
Cập nhật số dư
Thêm phiếu gởi
Tkhỏan
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
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 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
62
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
Đầ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
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
Đầ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
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