TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
-------------------
BÁO CÁO ĐỒ ÁN MÔN HỌC
LẬP TRÌNH TRỰC QUAN
-----------
Lớp: IT008.F22
Đề tài: QUẢN LÝ NHÀ SÁCH
Giảng viên hướng dẫn:
ThS: Lê Thanh Trọng
Sinh viên thực hiện:
1- Tô Thành Thương
MSSV: 13520862
2- Châu Ngọc Thái Sơn MSSV: 13520704
1
Phụ Lục
Chương 1: Giới thiệu bài toán cần giải quyết, mô tả qui trình thực hiện các công việc chính........................3
1.Giới thiệu bài toán Quản Lý Nhà Sách:........................................................................................................3
2. Quy trình thực hiện các công việc chính:....................................................................................................3
Chương 2: Xác định và mô hình hóa yêu cầu phần mềm:...............................................................................3
1.Phân loại và bảng trách nhiệm cho từng loại yêu cầu...................................................................................3
2.Sơ đồ luồng dữ liệu cho từng yêu cầu:.........................................................................................................9
Chương 3: Thiết kế hệ thống:........................................................................................................................18
1.Kiến trúc hệ thống.......................................................................................................................................18
2.Mô tả các thành phần trong hệ thống:.........................................................................................................18
Chương 4: Thiết kế dữ liệu:...........................................................................................................................19
1.Thuật toán lập sơ đồ logic:..........................................................................................................................19
2.Sơ đồ hoàn chỉnh:.......................................................................................................................................26
Chương 5: Thiết kế giao diện........................................................................................................................30
1. Sơ đồ liên kết các màn hình.......................................................................................................................30
2.Danh sách các màn hình:............................................................................................................................32
3.Mô tả các màn hình:....................................................................................................................................34
Chương 6: Cài đặt và thử nghiệm:.................................................................................................................55
Chương 7: Nhận xét và kết luận....................................................................................................................56
1.Ưu điểm:.....................................................................................................................................................56
2.Khuyết điểm:...............................................................................................................................................56
3.Kết luận:......................................................................................................................................................57
Chương 8: Hướng phát triển..........................................................................................................................57
Chương 9: Tài liệu tham khảo.......................................................................................................................57
1.Tiếng Anh:..................................................................................................................................................57
2.Tiếng việt:...................................................................................................................................................57
Chương 10: Bảng phân công công việc.........................................................................................................57
2
Chương 1: Giới thiệu bài toán cần giải quyết, mô
tả qui trình thực hiện các công việc chính.
1.Giới thiệu bài toán Quản Lý Nhà Sách:
Một khách hàng là chủ của một nhà sách yêu cầu xây dựng một phần mềm hỗ trợ cho việc quản lý
sách và quản lý việc bán sách. Thông tin về nhà sách như sau:
• Nhà sách có quy mô vừa và nhỏ.
• Nhân sự của nhà sách gồm có: Quản lý nhà sách (Chủ nhà sách), nhân viên bán hàng và thủ
kho.
• Mỗi khách hàng đến mua sách thì nhân viên bán hàng sẽ lập hóa đơn bán sách gồm có các
thông tin sau: mã hóa đơn, tên khách hàng, ngày lập hóa đơn, mã sách, tên sách (Danh sách
các sách), số lượng, đơn giá, thành tiền.
• Thủ kho có nhiệm vụ cập nhật thông tin sách mới vào kho, kiểm kê và báo cáo số lượng sách
trong kho.
• Hàng tháng, người quản lý sẽ thống kê số sách đã bán, số sách còn trong kho, để có thể biết
được loại sách nào bán được nhiều, loại sách nào bán với số lượng ít. Ngoài ra, người quản lý
còn thống kê doanh thu để nắm bắt tình hình kinh doanh của nhà sách.
Hệ thống được truy cập vào CSDL của nhà sách.
Hệ thống cho phép:
• Người quản lý nhà sách:
- Toàn quyền sử dụng các chức năng
• Nhân viên bán hàng:
- Lập hóa đơn
- Tìm kiếm sách
- Quản lý khách hàng
- Lập phiếu thu tiền
• Thủ kho:
- Cập nhật sách (Thêm, sửa, xóa )
- Kiểm kê số lượng sách trong kho
2. Quy trình thực hiện các công việc chính:
•
•
•
•
•
Xác định yêu cầu bài toán Quản Lý Nhà Sách
Phân tích yêu cầu bài toán
Thiết kế phần mềm: Thiết kế dữ liệu, thiết kế giao diện và thiết kế xử lý
Cài đặt phần mềm
Kiểm thử và bảo trì phần mềm
Chương 2: Xác định và mô hình hóa yêu cầu phần
mềm:
1. Phân loại và bảng trách nhiệm cho từng loại yêu cầu.
a. Yêu cầu nghiệp vụ:
•
Bảng trách nhiệm yêu cầu nghiệp vụ
STT
1
Nghiệp vụ
Lập phiếu nhập
Người dùng
Cung cấp thông tin lập
3
Phần mềm
Kiểm tra qui
Ghi chú
Cho phép
phiếu nhập sách
định và ghi
nhận
ghi, xóa, sửa
Cung cấp thông tin
khách hàng và sách
Kiểm tra qui
định và ghi
nhận
Cho phép
ghi, xóa, sửa
sách
2
Lập hóa đơn bán
sách
3
Tra cứu sách
Cung cấp thông tin về
sách
4
Lập phiếu thu
tiền
Cung cấp thông tin
khách hàng
Kiểm tra qui
định và ghi
nhận
Cho phép
ghi, xóa, sửa
5
Lập báo cáo
tháng
Cung cấp thông tin lập
báo cáo
Xuất thông tin
Cho phép
ghi, xóa, sửa
Thay đổi quy định
Kiểm tra qui
định và ghi
nhận
Cho phép
hủy,sửa,
thêm qui
định
Thay đổi qui
định
6
Tìm kiếm và Nhanh chống
Xuất thông tin và tiện dụng
b. Yêu cầu tiến hóa
•
Danh sách các yêu cầu tiến hóa
STT
1
2
3
4
•
Nghiệp vụ
Tham số cần thay đổi
Thay đổi qui định Lập
phiếu nhập sách
Thay đổi qui định Lập
hóa đơn bán sách
Thay đổi qui định Thay
đổi qui định
Thay đổi qui định Lập
phiếu thu tiền
Số lượng nhập tối thiểu, số
lượng tồn tối thiểu.
Tiền nợ tối đa, số lượng
tồn tối thiểu
Qui định
1
2
3
Qui định
Tiền thu, tiền nợ
Bảng trách nhiệm yêu cầu tiến hóa
STT
Nghiệp vụ
Người dùng
Thay đổi qui
định Lập phiếu
nhập sách
Miền giá trị cần
thay đổi
Thay đổi giá trị mới Số
lượng nhập tối thiểu, số
lượng tồn tối thiểu.
Phần mềm
Ghi nhận giá
trị mới và
thay đổi cách
thức kiểm tra
Ghi chú
Cho phép
thay đổi, cập
nhật lại
thông tin về
Số lượng
nhập tối
thiểu, số
lượng tồn tối
thiểu.
Thay đổi qui
định Lập hóa
đơn bán sách
Thay đổi giá trị mới
Tiền nợ tối đa, số lượng
tồn tối thiểu
Ghi nhận giá
trị mới và
thay đổi cách
thức kiểm tra
Cho phép
thay đổi, cập
nhật lại
thông tin về
Tiền nợ tối
đa, số lượng
tồn tối thiểu
Thay đổi qui
định Thay đổi
Thay đổi qui định, thêm
một số qui định mới
Ghi nhận giá
trị mới và
Cho phép
hủy, tạo
4
qui định
4
Thay đổi qui
định Lập phiếu
thu tiền
Thay đổi giá trị mới
Tiền thu, tiền nợ
thay đổi cách
thức kiểm tra
thêm và cập
nhật lại
thông tin Qui
định
Ghi nhận giá
trị mới và
thay đổi cách
thức kiểm tra
Cho phép
thay đổi, cập
nhật lại
thông tin về
Tiền thu, tiền
nợ
c. Yêu cầu tiện dụng
Danh sách các yêu cầu tiện dụng
STT
Nghiệp vụ
Mức độ dễ học
1
Lập phiếu nhập sách
1 phút hướng dẫn
2
3
4
Lập hóa đơn bán
sách
Tra cứu sách
Lập phiếu thu tiền
Mức độ dễ
sử dụng
Có
hình
minh họa,
ghi chú đầy
đủ cho nhân
viên dễ thao
tác
1 phút hướng dẫn
Có hình
minh họa,
ghi chú đầy
đủ cho nhân
viên dễ thao
tác
1 phút hướng dẫn
Tra cứu dễ
dàng với
hiểu biết của
khách hàng
về sách cần
tìm
1 phút hướng dẫn
Có hình
minh họa,
ghi chú đầy
đủ cho nhân
viên dễ thao
tác
5
Lập báo cáo tháng
2 phút hướng dẫn
Có hình
minh họa,
ghi chú đầy
đủ cho nhân
viên dễ thao
tác
6
Thay đổi qui định
5 phút hướng dẫn
Xác định
tính đúng
đắn yêu cầu
5
Ghi chú
Hiện đầy đủ
thông tin về
sách
Bảng trách nhiệm yêu cầu tiện dụng
STT
Nghiệp vụ
Người dùng
Phần mềm
Hình ảnh và ghi
chú, thực hiện
đúng yêu cầu
người dùng
1
Lập phiếu
nhập sách
Đọc tài liệu hướng dẫn
sử dụng
2
Lập hóa đơn
bán sách
Đọc tài liệu hướng dẫn
sử dụng
Hình ảnh và ghi
chú, thực hiện
đúng yêu cầu
người dùng
3
Tra cứu sách
Đọc tài liệu hướng dẫn
sử dụng
Hình ảnh và ghi
chú, thực hiện
đúng yêu cầu
người dùng
4
Lập phiếu thu
tiền
Đọc tài liệu hướng dẫn
sử dụng
Hình ảnh và ghi
chú, thực hiện
đúng yêu cầu
người dùng
Đọc tài liệu hướng dẫn
sử dụng
Hình ảnh và ghi
chú, thực hiện
đúng yêu cầu
người dùng
Đọc tài liệu hướng dẫn
sử dụng
Hình ảnh và ghi
chú, thực hiện
đúng yêu cầu
người dùng
5
6
Lập báo cáo
tháng
Thay đổi qui
định
Ghi chú
Xác định tính
đùng đắn
d. Yêu cầu hiệu quả
Danh sách các yêu cầu hiệu quả
Nghiệp vụ
Tốc độ xử lý
Dung lượng
lưu trữ
1
Lập phiếu nhập
sách
50 phiếu/giờ
1Kb / 1 phiếu
2
Lập hóa đơn bán
sách
50 hóa đơn/giờ
1Kb / 1 hóa đơn
3
Tra cứu sách
4
Lập phiếu thu tiền
50 phiếu/giờ
1Kb / 1 phiếu
5
Lập báo cáo tháng
20 báo cáo/giờ
5Kb / 1 báo cáo
6
Thay đổi qui định
Cập nhật lại tất cả
trong 10 phút
STT
Ghi chú
Hầu như tức khắc
Bảng trách nhiệm yêu cầu hiệu quả
STT
Nghiệp vụ
Người dùng
1
Lập phiếu nhập
sách
Nhập và xử lý thông tin
chính xác.
2
Lập hóa đơn bán
Nhập và xử lý thông tin
6
Phần mềm
Cho ra kết
quả chính xác
nhất
Cho ra kết
Ghi chú
sách
chính xác.
quả chính xác
nhất
Cho ra kết
quả chính xác
nhất
3
Tra cứu sách
Nhập và xử lý thông tin
chính xác.
4
Lập phiếu thu
tiền
Nhập và xử lý thông tin
chính xác.
Cho ra kết
quả chính xác
nhất
5
Lập báo cáo
tháng
Nhập và xử lý thông tin
chính xác.
Cho ra kết
quả chính xác
nhất
6
Thay đổi qui
định
Chuẩn bị các qui định
Cho ra kết
quả chính xác
nhất
e. Yêu cầu tương thích
Danh sách các yêu cầu tương thích
STT
Nghiệp vụ
Đối tượng liên quan
Có thể đọc và xuất ra
(WinFax, Word, Excel)
Ghi chú
1
Lập phiếu nhập sách
Độc lập phiên bản
2
Lập hóa đơn bán sách
Có thể đọc và xuất ra
(WinFax, Word, Excel)
Độc lập phiên bản
3
Lập phiếu thu tiền
Có thể đọc và xuất ra
(WinFax, Word, Excel)
Độc lập phiên bản
4
Lập báo cáo tháng
Có thể đọc và xuất ra
(WinFax, Word, Excel)
Độc lập phiên bản
Bảng trách nhiệm yêu cầu tương thích
STT
Nghiệp vụ
Lập phiếu nhập
sách
Người dùng
Đọc và xuất ra (WinFax,
Word, Excel)
Phần mềm
Thực hiện
đúng yêu cầu
2
Lập hóa đơn bán
sách
Đọc và xuất ra (WinFax,
Word, Excel)
Thực hiện
đúng yêu cầu
3
Lập phiếu thu
tiền
Đọc và xuất ra (WinFax,
Word, Excel)
Thực hiện
đúng yêu cầu
4
Lập báo cáo
tháng
Đọc và xuất ra (WinFax,
Word, Excel)
Thực hiện
đúng yêu cầu
1
Ghi chú
f. Yêu cầu bảo mật
Danh sách các yêu cầu bảo mật
STT
Nghiệp vụ
Quản trị hệ
thống
X
Nhân viên
1
Phân quyền
2
Lập phiếu nhập sách
X
3
Lập hóa đơn bán sách
X
7
Người dùng
khác
4
Tra cứu sách
X
5
Lập phiếu thu tiền
X
6
Lập báo cáo tháng
X
7
Thay đổi qui định
X
X
Bảng trách nhiệm yêu cầu bảo mật
STT
Nghiệp vụ
1
Quản trị
2
Nhân viên
3
Khác
Người dùng
Cho biết người dùng
mới và quyền hạn
Phần mềm
Ghi nhận và
thực hiện đúng
Cung cấp tên và mật
khẩu
Ghi nhận và
thực hiện đúng
Ghi chú
Tên chung
g. Yêu cầu an toàn
Danh sách các yêu cầu an toàn
STT
Nghiệp vụ
Đối tượng
Phiếu nhập sách, hóa đơn bán,
phiếu thu, báo cáo đã xóa
1
Phục hồi
2
Hủy thật sự
3
Không cho phép xóa
Ghi chú
Phiếu nhập sách, hóa đơn bán,
phiếu thu, báo cáo cần hủy
Phiếu nhập sách, hóa đơn bán,
phiếu thu, báo cáo chưa thanh lý
hoặc chưa thực hiện
Bảng trách nhiệm yêu cầu an toàn
STT
1
2
3
Nghiệp vụ
Phục hồi
Quản trị hệ
thống
Cho biết Phiếu
nhập sách, hóa
đơn bán, phiếu
thu, báo cáo đã
xóa
Nhân viên
Người dùng
khác
Phục hồi
Hủy thật sự
Phiếu nhập sách,
hóa đơn bán,
Hủy thật sự
phiếu thu, báo cáo
đã hủy
Không cho phép
xóa
Phiếu nhập sách,
hóa đơn bán,
phiếu thu, báo cáo
chưa thanh lý
hoặc chưa thực
hiện, cần giữ lại.
Thực hiện đúng
yêu cầu
h. Yêu cầu công nghệ
Danh sách các yêu cầu công nghệ
STT
1
Yêu cầu
Dễ sửa lỗi
Mô tả chi tiết
Xác định lỗi trung bình
8
Ghi chú
Khi sửa lỗi không ảnh hưởng
trong 10 phút
đến các chức năng khác, cập
nhật mới sau khi hoàn tất.
Thêm chức năng, sửa
chữa khắc phục lỗi
nhanh chống.
Không ảnh hưởng đến các
chức năng đã có. Có khả
năng liên kết với nguổn dữ
liệu và các chức năng khác.
2
Dễ bảo trì
3
Tái sử dụng
Có thể xây dựng phần
mềm khác từ code phần
mềm này
Cùng với các yêu cầu
4
Dễ mang chuyển
Thay đổi hệ thống quản
trị dữ liệu mới trong 1
ngày
Cùng với các yêu cầu
2. Sơ đồ luồng dữ liệu cho từng yêu cầu:
a. Lập phiếu nhập sách
BM1:
Phiếu Nhập Sách
Ngày nhập:......................................
STT
Sách
Thể Loại
Tác Giả
Số Lượng
1
2
QĐ1: Số lượng nhập ít nhất là 150. Chỉ nhập các sách có lượng tồn ít hơn 300.
Sơ đồ DFD 1: Lập phiếu nhập sách.
Mô tả:
9
Đơn Giá Nhập
D1: Ngày nhập, tên sách, thể loại, tác giả, số lượng nhập, đơn giá nhập.
D2: Không có.
D3: Số lượng nhập hiện tại, số lượng tồn hiện tại (D1); Số lượng nhập tối thiểu, số
lượng tồn quy định.
D4: D1 + Số lượng tồn hiện tại.
D5: D4.
D6: Không có.
Thuật toán:
B1: Nhận D1 từ người dùng.
B2: Kết nối Cơ sở dữ liệu.
B3: Đọc D3 từ bộ nhớ phụ.
B4: Kiểm tra số lượng nhập hiện tại có lớn hơn bằng số lượng nhập tối thiểu.
B5: Kiểm tra số lượng tồn tiện tại có nhỏ hơn bằng số lượng tồn quy định.
B6: Nếu không thỏa tất cả các quy định trên thì tới B10.
B7: Tính số lượng tồn hiện tại = Số lượng tồn cũ + Số lượng nhập.
B8: Lưu D4 xuống bộ nhớ phụ.
B9: Xuất D5 ra máy in.
B10: Đóng kết nối cơ sở dữ liệu.
B11: Kết thúc.
b. Hóa đơn bán sách
BM2:
Hóa Đơn Bán Sách
Họ tên khách hàng:...............................
STT
Sách
Ngày lập hóa đơn: .................................
Thể Loại
Số Lượng
Đơn Giá Bán
1
2
Tổng tiền:…………………
Số tiền trả:…………………
Còn lại:…………………
QĐ2: Chỉ bán cho các khách hàng nợ không quá 20.000 và đầu sách có lượng tồn sau khi bán ít nhất là 20. Đơn giá
bán = 105% x Đơn giá nhập.
10
Sơ đồ DFD 2: Lập hóa đơn bán sách.
Mô tả:
D1: Họ tên khách hàng, ngày lập hóa đơn, danh sách sách cần bán với thông
tin: Tên sách, thể loại, số lượng và số tiền trả.
D2: Không có.
D3: Số tiền khách hàng đang nợ, số tiền nợ tối đa, số lượng tồn trước khi bán
của từng đầu sách, số lượng tồn tối thiểu và đơn giá nhập.
D4: D1 + số tiền nợ mới của khách hàng + số lượng tồn mới của từng đầu
sách.
D5: D4.
D6: Không có.
Thuật toán:
B1: Nhận D1 từ người dùng.
B2: Kết nối Cơ sở dữ liệu.
B3: Đọc D3 từ bộ nhớ phụ.
B4: Kiểm tra số tiền khách hàng đang nợ (D3) có vượt quá số tiền nợ tối đa
(D3) không.
B5: Tính số lượng tồn mới = Số lượng tồn cũ – Số lượng.
B6: Kiểm tra số lượng tồn mới có thỏa số lượng tồn tối thiểu hay không.
B7: Nếu không thỏa 1 trong các quy định trên thì chuyển sang bước 13.
B8: Tính đơn giá bán = 105% đơn giá nhập (D3).
B9: Tính tổng tiền = Số lượng * Đơn giá bán.
B10: Tính số tiền nợ mới = Tổng tiền – Số tiền trả + số tiền nợ cũ của khách
hàng.
B11: Lưu D4 xuống bộ nhớ phụ.
B12: Xuất D5 ra máy in.
B13: Đóng kết nối cơ sở dữ liệu.
B14: Kết thúc.
c. Tra cứu sách
Danh Sách Sách
STT
Tên Sách
Thể Loại
11
Tác Giả
Số Lượng
1
2
Sơ đồ DFD 3: Tra cứu sách.
Mô tả:
D1: Danh sách thông tin về cuốn sách cần tìm(ít nhất là 1 trong các thông tin
sau): Tên sách, thể loại, tác giả, số lượng.
D2: Không có.
D3: Danh sách các đầu sách thỏa mã tiêu chuẩn tìm kiêm (D1) cùng với các
thông tin chi tiết liên quan (Tên sách, thể loại, tác giả , số lượng).
D4: Không có.
D5: D3.
D6: D5.
Thuật toán:
B1: Nhận D1 từ người dùng.
B2: Kết nối Cơ sở dữ liệu.
B3: Đọc D3 từ bộ nhớ phụ.
B4: Xuất D5 ra máy in.
B5: Trả D6 cho người dùng.
B6: Đóng kết nối cơ sở dữ liệu.
B7: Kết thúc.
d. Phiếu thu tiền
BM4:
Phiếu Thu Tiền
Họ tên khách hàng: ................................... Địa chỉ:......................................................
Điện thoại:.................................................. Email:........................................................
Ngày thu tiền: ............................................ Số tiền thu: ...............................................
QĐ4: Số tiền thu không vượt quá số tiền khách hàng đang nợ
12
Sơ đồ DFD 4: Lập phiếu thu tiền.
Mô tả:
D1: Họ tên khách hàng, số tiền thu, ngày thu tiền.
D2: Không có.
D3: Thông tin về số tiền khách hàng đang nợ.
D4: D1 + Số tiền nợ mới của khách hàng.
D5: D4.
D6: Không có.
Thuật toán:
B1: Nhận D1 từ người dùng.
B2: Kết nối Cơ sở dữ liệu.
B3: Đọc D3 từ bộ nhớ phụ.
B4: Kiểm tra xem “Số tiền thu” (D1) có vượt quá “Số tiền khách đang nợ”
(D3) hay không.
B5: Nếu không thỏa quy định trên thì chuyển sang bước 9.
B6: Tính “Số tiền nợ mới” = “Số tiền khách đang nợ” – “Số tiền thu”.
B7: Lưu D4 xuống bộ nhớ phụ.
B8: Xuất D5 ra máy in.
B9: Đóng kết nối cơ sở dữ liệu.
B10: Kết thúc.
e.
Báo cáo tồn
BM5.1
Báo Cáo Tồn
Tháng:..........................................
STT
Sách
Tồn Đầu
1
2
13
Phát Sinh
Tồn Cuối
Sơ đồ DFD 5: Lập báo cáo tồn.
Mô tả:
D1: Tháng, năm cần lập báo cáo.
D2: Không có.
D3: Danh sách các đầu sách, danh sách phiếu nhập sách và danh sách hóa đơn
trong tháng.
D4: D1 + Tên sách + Tồn đầu + Phát sinh + Tồn cuối trong tháng đó.
D5: D4.
D6: D5.
Thuật toán:
B1: Nhận D1 từ người dùng.
B2: Kết nối Cơ sở dữ liệu.
B3: Đọc D3 từ bộ nhớ phụ.
B4: Kiểm tra “tháng”,”năm” (D1) có vượt qua tháng, năm hiện tại không. Nếu
vượt quá thì tới bước 14.
B5: Tính tổng số lượng sách đã bán = Tổng số lượng trong danh sách hóa đơn
trong tháng D1.
B6: Tính tổng số lượng sách phát sinh = Tổng số lượng trong danh sách phiếu
nhập sách phát sinh trong tháng D1.
B7: Nếu là tháng đầu tiên sử dụng chương trình thì Tồn cuối của tháng trước
bằng 0.
B8: Lượng tồn đầu = Tồn cuối tháng trước đó
B9: Lượng phát sinh = Tổng số lượng sách phát sinh.
B10: Lượng tồn cuối = Tồn đầu + Phát sinh – Tổng số lượng sách đã bán.
B11: Lưu D4 xuống bộ nhớ phụ.
B12: Xuất D5 ra máy in.
B13: Trả D6 về cho người sử dụng.
B14: Đóng kết nối Cơ sở dữ liệu.
B15: Kết thúc.
14
f. Báo cáo công nơ
BM5.2
Báo Cáo Công Nợ
Tháng:..........................................
STT
Khách Hàng
Nợ Đầu
Phát Sinh
Nợ Cuối
1
2
Sơ đồ DFD 6: Lập báo cáo công nợ.
Mô tả:
D1: Tháng,Năm.
D2: Không có.
D3: Danh sách tên khách hàng, thông tin về Hóa Đơn bán sách, Phiếu thu tiền
D4: D1 + Thông tin về số tiền nợ đầu tháng, số tiền nợ cuối tháng, phát sinh
thêm trong tháng của từng khách hàng
D5: D4.
D6: D5.
Thuật toán:
B1: Nhận D1 từ người dùng.
B2: Kết nối Cơ sở dữ liệu.
B3: Đọc D3 từ bộ nhớ phụ.
B4: Kiểm tra “Tháng”,”Năm” (D1) có vượt qua tháng hiện tại không. Nếu
vượt qua thì tới bước 13.
B5: Tính tổng số lượng nợ phát sinh = Tổng các “Còn lại” trong danh sách
các hóa đơn.
B6: Tính số tiền đã thanh toán = Tổng “Số tiền thu” trong Phiếu thu tiền
B7: Nếu tháng đầu tiên sử dụng chương trình thì “Nợ cuối tháng trước = 0”
B8: Nợ đầu = Nợ cuối của tháng trước đó
B9: Nợ phát sinh = Tổng số lượng nợ phát sinh.
B10: Nợ cuối = Nợ đầu + Nợ phát sinh – tổng số tiền đã thanh toán.
B11 : Lưu D4 xuống bộ nhớ phụ.
B12: Xuất D5 ra máy in.
B13: Trả D6 cho người dùng.
15
B14: Đóng kết nối cơ sở dữ liệu.
B15: Kết thúc.
g. Thay đổi quy định
QĐ6: Người dùng có thể thay đổi các qui định như sau:
+ QĐ1: Thay đổi số lượng nhập tối thiểu, lượng tồn tối thiểu trước khi nhập.
+ QĐ2: Thay đổi tiền nợ tối đa, lượng tồn tối thiểu sau khi bán.
+ QĐ4: Sử dụng hay không sử dụng qui định này.
Sơ đồ DFD 7: Thay đổi quy định 1.
Mô tả:
D1: Thông tin thay đổi quy định: Số lượng nhập tối thiểu, Số lượng tồn tối
thiểu trước khi nhập
D2: Không có.
D3: Không có.
D4: D1
D5: Không có.
D6: Không có.
Thuật toán:
Bước 1. Nhận D1 từ người quản trị hệ thống.
Bước 2. Kết nối cơ sở dữ liệu.
Bước 3. Kiểm tra D1 có thỏa miền giá trị tham số (không được âm).
Bước 4. Nếu không thỏa bước 3 thì chuyển sang Bước 6
Bước 5. Ghi D4 xuống bộ nhớ phụ.
Bước 6. Đóng kết nối cơ sở dữ liệu.
Bước 7. Kết thúc.
16
Sơ đồ DFD 8: Thay đổi quy định 2.
Mô tả:
D1: Thông tin thay đổi quy định: Số lượng nhập tối thiểu, Số lượng tồn tối
thiểu trước khi nhập
D2: Không có.
D3: Không có.
D4: D1
D5: Không có.
D6: Không có.
Thuật toán:
Bước 1. Nhận D1 từ người quản trị hệ thống.
Bước 2. Kết nối cơ sở dữ liệu.
Bước 3. Kiểm tra D1 có thỏa miền giá trị tham số (không được âm).
Bước 4. Nếu không thỏa bước 3 thì chuyển sang Bước 6
Bước 5. Ghi D4 xuống bộ nhớ phụ.
Bước 6. Đóng kết nối cơ sở dữ liệu.
Bước 7. Kết thúc.
17
Sơ đồ DFD 9: Thay đổi quy định 4.
Mô tả:
D1: Thông tin thay đổi quy định: sử dụng hay không quy định này
D2: Không có.
D3: Không có.
D4: D1
D5: Không có.
D6: Không có.
Thuật toán:
Bước 1. Nhận D1 từ người quản trị hệ thống.
Bước 2. Mở kết nối cơ sở dữ liệu.
Bước 3. Kiểm tra D1 thỏa miền giá trị tham số hay không (1-Sử dụng, 0Không sử dụng)
Bước 4. Nếu không thỏa bước 3 chuyển Bước 6
Bước 5. Ghi D4 xuống bộ nhớ phụ
Bước 6. Đóng kết nối cơ sở dữ liệu.
Bước 7. Kết thúc.
Chương 3: Thiết kế hệ thống:
1.Kiến trúc hệ thống.
- Làm theo mô hình kiến trúc 3 tiers
2.Mô tả các thành phần trong hệ thống:
STT
Thành phần
Presentation Layer
1
2
Business Layer
Diễn giải
•
Đây là layer tạo lên giao diện cho
người dùng, nó sẽ là nơi tiếp nhận và
kết xuất ra kết quả của chương trình
cho bạn.
•
Nó có nhiệm vụ xử lý, kiểm tra các
dữ liệu nhập vào ( ví như ở TextBox
này nó phải là số, số phải từ 1-9….).
Đây là layer xử lý chính các dữ liệu
trước khi được đưa lên hiển thị trên
màn hình hoặc xử lý các dữ liệu
trước khi lưu dữ liệu xuống cơ sở dữ
liệu.
Đây là nơi đê kiểm tra các yêu cầu
nghiệp vụ, tính toán các yêu cầu
nghiệp vụ.
Tại đây các tính năng tính toán trong
chương trình sẽ được thực thi. (Như
tính lương theo một công thức.)
Layer này sẽ lo nhiệm vụ là đọc cơ
sở dữ liệu lên, cập nhật cơ sở dữ liệu,
•
•
•
3
Data Access Layer
•
18
update cơ sở dữ liệu.
•
Nói chung là nó làm nhiệm vụ là
giao tiếp với database.
Chương 4: Thiết kế dữ liệu:
1.Thuật toán lập sơ đồ logic:
Bước 1: Xét yêu cầu lập phiếu nhập sách
a. Thiết kế dữ liệu với tính đúng đắn
Biểu mẫu liên quan: BM1
BM1
:
Phiếu Nhập Sách
Ngày nhập:.........................
ST
T
Sách
Thể loại
Tác giả
Số lượng
1
2
Sơ đồ liên quan: SĐ1
Các thuộc tính mới: TacGia, TheLoai, NhaXuatBan, NamXuatBan, SoLuongTon,
DonGiaBan, SoLuongNhap, DonGiaNhap, ThanhTien, NgayLap, TongTien
Thiết kế dữ liệu: table SACH, table CT_PHIEUNHAPSACH, table
PHIEUNHAPSACH
Sơ đồ logic:
19
Các thuộc tính trừu tượng: MaSach, MaDauSach, SoPNS
b. Thiết kế dữ liệu với tính tiến hóa
Quy định liên quan: QĐ1
QĐ1: Số lượng nhập ít nhất là 150. Chỉ nhập các sách có lượng tồn ít hơn 300.
Sơ đồ liên quan: SĐ1
Các thuộc tính mới: TenDauSach
Các tham số mới: SoLuongNhapToiThieu, SoLuongTonToiDa
Thiết kế dữ liệu: table SACH, table CT_PHIEUNHAPSACH, table
PHIEUNHAPSACH, table DAUSACH, table CT_TACGIA, table THELOAI
Sơ đồ logic:
20
Các thuộc tính trừu tượng: MaTheLoai
Bước 2: Xét yêu cầu lập hóa đơn bán sách
a. Thiết kế dữ liệu với tính đúng đắn
Biểu mẫu liên quan: BM2
BM2
:
Hóa Đơn Bán Sách
Họ tên khách hàng:.................
ST
T
Sách
Ngày lập hóa đơn: ..................
Số
lượng
Thể loại
Đơn giá
1
2
Sơ đồ liên quan: SĐ2
Các thuộc tính mới: TenKhachHang, DiaChi, SDT, Email, SoLuong, DonGia,
ThanhTien, NgayLap, TongTien, ThanhToan, ConLai
Thiết kế dữ liệu: table SACH, table HOADON, table CT_HOADON, table
KHACHHANG
Sơ đồ logic:
21
Các thuộc tính trừu tượng: MaKhachHang, SoHD
b. Thiết kế dữ liệu với tính tiến hóa
Quy định liên quan: QĐ2
QĐ2: Chỉ bán cho các khách hàng nợ không quá 20.000 và đầu sách có
lượng tồn sau khi bán ít nhất là 20. Đơn giá bán = 105% x Đơn giá nhập.
Các thuộc tính mới: SoTienNo
Các tham số mới: TiLeTinhDonGiaBan, SoLuongTonToiThieu,
SoTienNoToiDa
Thiết kế dữ liệu: table SACH, table HOADON, table CT_HOADON, table
KHACHHANG, table DAUSACH, table CT_TACGIA, table THELOAI
Sơ đồ logic:
22
Bước 3: Xét yêu cầu tra cứu danh sách sách
a. Thiết kế dữ liệu với tính đúng đắn
Biểu mẫu liên quan: BM3
BM3
:
ST
T
Danh Sách Sách
Tên Sách
Thể Loại
Tác Giả
Số
Lượng
1
2
Sơ đồ liên quan: SĐ3
Thiết kế dữ liệu: table SACH, table DAUSACH, table CT_TACGIA, table
THELOAI
Sơ đồ logic:
23
Bước 4: Xét yêu cầu Lập phiếu thu tiền
a. Thiết kế dữ liệu với tính đúng đắn
Biểu mẫu liên quan: BM4
BM
4:
Phiếu Thu Tiền
Họ tên khách hàng: .................... Địa chỉ:.......................................
Điện thoại:................................... Email:.........................................
Ngày thu tiền: ............................ Số tiền thu: ................................
Sơ đồ liên quan: SĐ4
Các thuộc tính mới: NgayLap, SoTienThu
Thiết kế dữ liệu: table KHACHHANG, table PHIEUTHUTIEN
Sơ đồ logic:
24
Các thuộc tính trừu tượng: MaPT
b. Thiết kế dữ liệu với tính tiến hóa
Quy định liên quan: QĐ4
QĐ4: Số tiền thu không vượt quá số tiền khách hàng đang nợ
Sơ đồ liên quan: SĐ2
Thiết kế dữ liệu: table KHACHHANG, table PHIEUTHUTIEN
Sơ đồ logic:
Bước 5: Xét yêu cầu thay đổi quy định
a.
Thiết kế dữ liệu với tính tiến hóa
Qui định liên quan: QĐ6
QĐ6: Người dùng có thể thay đổi các qui định như sau :
+ QĐ1 : Thay đổi số lượng nhập tối thiểu, lượng tồn tối thiểu trước khi nhập.
+ QĐ2 : Thay đổi tiền nợ tối đa, lượng tồn tối thiểu sau khi bán .
+ QĐ4 : Sử dụng hay không sử dụng qui định này.
25