Phân tích thiết kế hệ thống quản lý kinh doanh cửa hàng sách
Trang 1quản lý kinh doanh cửa hàng sách
MỤC LỤC
Trang
Phần I: Mục tiêu – Phạm vi đồ án
1 Mục tiêu của đồ án ……… 2
2 Phạm vi đồ án ……… ……… 2
Phần II: Phân tích – Thiết kế 3 Phân tích ……… 3
3.1 Phát hiện thực thể ……… 3
3.2 Mô hình ERD ……… 5
3.3 Mô tả thực thể ……… 6
3.4 Mô hình DFD ………10
3.5 Mô tả ô xử lý, kho dữ liệu ……….17
4 Thiết kế dữ liệu xử lý ……… 26
4.1 Mô hình dữ liệu mức logic ………26
4.2 Chuẩn hóa các quan hệ ……… 26
4.3 Giải thuật các ô xử lý ………27
4.4 Phát hiện các ràng buộc dữ liệu ……… 38
5 Thiết kế giao diện ………39
5.1 Thiết kế Menu ……… 39
5.2 Thiết kế Form ………46
5.3 Thiết kế Report ……… 52
Phần III: Đánh giá 6 Phân công ……… 54
7 Đánh giá ưu khuyết điểm ……… 54
7.1 Ưu điểm ……… 54
7.2 Khuyết điểm ……… 54
Trang 2Phần I: Phạm vi – Mục tiêu đồ án
1 Mục tiêu:
Khảo sát, phân tích và thiết kế hệ thống quản lý kinh doanh cửa hàng sách baogồm từ khâu nhập sách từ các nhà xuất bản, bán sách và thanh toán với nhà xuấtbản Quản lý các hoạt động kiểm kê sổ sách và công nợ cuối mỗi tháng của cửahàng
Trang 3Phần II: Phân tích – Thiết kế
Trang 53.2 Mô hình ERD :
Sau khi phân tích các mối kết hợp giữa các thực thể ta có mô hình dữ liệu mứcquan niệm (mô hình ERD) như sau :
Trang 63.3 Mô tả thực thể :
3.3.1 Thực thể HOADON :
Tên thực thể : HOADON
SOHD Ngày lập hóa đơn
NGAYHD Số hóa đơn
STTCTHD Số thứ tự chi tiết hóa đơn
SLBAN Số lượng bán
Trang 7STTCTPN Số thứ tự chi tiết phiếu nhập
Trang 83.3.7 Thực thể KIEMKE :
Tên thực thể : KIEMKE
STTPKKE Số thứ tự phiếu kiểm kê
NAMTHANG Năm và tháng lập phiếu
SLTHEOSO Số lượng theo sổ
TENNX Tên nhà xuất bản
DIACHI Địa chỉ của nhà xuất bản
DIENTHOAI Điện thoại của nhà xuất bản
Trang 93.3.9 Thực thể PHIEUCHI :
Tên thực thể : PHIEUCHI
SOPC Số phiếu chi
NGAYCHI Ngày chi
SOTIENCHI Số tiền chi
Trang 10 (1): Thông tin cung cấp từ nhân viên (phiếu nhập, hóa đơn …)
(2): Thông báo đã thực hiện hoặc cập nhật thành công
(3): Thông tin yêu cầu hóa đơn
(4): Thông tin đáp trả yêu cầu của khách hàng
(5): Yêu cầu báo cáo (doanh thu, công nợ …)
(6): Thông tin báo cáo đáp trả
(7): Yêu cầu thông tin phiếu nhập
(8): Đáp trả yêu cầu
Hệ thống quản
lý kinh doanh cửa hàng sách
(1)(2)
(3)(4)(5)(6)
(7)(8)
NV
KH
CCH
NXB
Trang 113.4.2 DFD của chức năng lập phiếu nhập sách
Trang 123.4.3 DFD của chức năng lập hóa dơn
2.2
Lập hóa đơn mới
TT về chi tiết hóa đơn
T v ề s á c h
T v ề th ể
lo ạ i
Tờ hóa đơn
3.4.4 DFD của chức năng lập phiếu chi
Lập phiếu chi
Nhân viên
Khách hàng
Trang 13Manager
3.4.5 DFD của chức năng lập phiếu kiểm kê
Lập phiếu kiểm kê
Nhân viên
Nhân viên
Trang 14Thông tin phiếu KK
In
CTHOADON
3.4.6 DFD của chức năng lập phiếu công nợ
Nhân viênNhân viên
Trang 15Lập phiếu công nợ
5.1
Kiểm tra, tính toán
nợ ĐK, nợ CK, chi trả, phát sinh
Manager
T ê N X
T c ô g
n ợ
Cung cấp thông tin
3.4.7 DFD của chức năng tìm kiếm
Nhân viênNhân viên
Trang 16Hiển thị tổng quát Các chi tiết cần tìm
6.3
In các kết quả (nếu cần)
3.5 Mô tả ô xử lý, kho dữ liệu
1 Ô xử lý Thống kê, kiểm tra và cập nhật sách mới
Tên ô xử lý: Thống kê, kiểm tra và cập nhật sách (Số 1.1)
DDL vào: Các thông tin của sách mới nhập
DDL ra:
+ Cập nhật sách, thể loại mới vào kho SACH
+ Thông báo cho người dung
Diễn giải ô xử lý: Thống kê các sách mới nhập, kiểm tra, đối chiếu với các số liệu của NXB và cập nhật sách mới
Nhân viên,
Khách hàng
Nhân viên, Khách hàng
Trang 17+ Đóng 2 kho PHIEUNHAP và SACH
Output: Thông báo đã cập nhật sách
2 Ô xử lý Tính tổng tiền, tiền chiết khấu
Tên ô xử lý: Tính tổng tiền, tiền chiết khấu (Số 1.3)
DDL vào: Thông tin về sách
DDL ra:
+ Các số liệu tính toán
+ Hiển thị cho người dung
Diễn giải ô xử lý: Tính tổng số tiền nhập sách và tiền chiết khấu
+ Tiền chiết khấu bằng tống tất cả các chiết khấu
Output: Các số liệu sau khi tính toán
3 Ô xử lý Lập phiếu nhập
Tên ô xử lý: Lập phiếu nhập (Số 1.4)DDL vào: Thông tin Nhà xuất bản, thời gian và thông tin sách nhập
DDL ra: Tờ phiếu nhập sách mới
Diễn giải ô xử lý: Lập phiếu nhập sách
Tóm tắt nội dung:
Trang 18Input: Tên NXB, Tựa sách, Thể loại, Số lượng, Giá bìa
Xử lý:
+ Mở kho PHIEUNHAP
+ Tạo mã số phiếu nhập mới
+ Từ các dữ liệu ban đầu lập một phiếu nhập sách mới với mã sốvừa tạo
+ Đóng kho PHIEUNHAP
Output: Thông báo đã lập phiếu nhập mới cho người dùng
4 Ô xử lý Thống kê sách và tính tiền hóa đơn
Tên ô xử lý: Thống kê sách và tính tổng tiền hóa đơn (Số 2.1)
DDL vào: Thông tin về sách mua
DDL ra:
+ Thông tin về hóa đơn mới
+ Thông báo cho khách hàng
Diễn giải ô xử lý: Thống kê số lượng sách mua và tính tiền hóa đơn
Tóm tắt nội dung:
Input: Tên sách, số lượng, giá
Xử lý: Từ các dữ liệu về số lượng và giá cả tính số tiền thanh toán cho hóa đơn Output: Số tiền khách hàng phải trả
5 Ô xử lý Lập hóa đơn mới
Tên ô xử lý: Lập hóa đơn mới (Số 2.2)
Trang 19DDL vào: Thông tin về khách hàng, thời gian và sách mua
DDL ra: Tờ hóa đơn mới
Diễn giải ô xử lý: Lập hóa đơn cho khách hang
+ Thông báo đã tạo ra hóa đơn mới
+ Hiển thị nội dung của hóa đơn
6 Ô xử lý Lập phiếu chi
Tên ô xử lý: Lập phiếu chi (Số 3.1)DDL vào: Thông tin nhà xuất bản, thời gian và thông tin về việc chi trả
DDL ra: Tờ phiếu chi mới
Diễn giải ô xử lý: Lập phiếu chi mới
Tóm tắt nội dung:
Input: Tên nhà xuất bản, lý do chi trả, số tiền chi và ngày lập phiếu
Xử lý: Từ các thông tin đầu vào, lập phiếu chi mới
Output:
+ Thông báo đã tạo phiếu chi mới
+ Hiển thị nội dung của phiếu chi
7 Ô xử lý Lập phiếu kiểm kê
Tên ô xử lý: Lập phiếu kiểm kê (Số 4.2)
Trang 20DDL vào: Các số liệu thống kê, thông tin nhà xuất bản và thời gian lập phiếu
DDL ra: Tờ phiếu kiểm kê mới
Diễn giải ô xử lý: Lập phiếu kiểm kê mới
Tóm tắt nội dung:
Input: Tựa sách, thể loại, số lượng theo sổ, số lượng KK, tên NXB, tháng năm
Xử lý: Từ các thông tin đầu vào, lập phiếu kiểm kê mới
Output:
+ Thông báo đã tạo phiếu kiểm kê mới
+ Hiển thị nội dung của phiếu kiểm kê
8 Ô xử lý Kiểm tra, tính toán công nợ
Tên ô xử lý: Kiểm tra tính toán nợ (Số 5.1)DDL vào: Phiếu nhập và phiếu chi
DDL ra: Các số liệu công nợ sau khi tính toán
Diễn giải ô xử lý: Từ các thông tin của phiếu nhập và phiếu chi tính toán số tiền cầnthanh toán cho các nhà xuất bản
Tóm tắt nội dung:
Input: Thông tin phiếu nhập, thông tin phiếu chi
Xử lý: Từ các số liệu trên phiếu nhập và phiếu chi, tính nợ đầu kỳ và nợ cuối kỳ đối với các nhà xuất bản
Output:
+ Thông báo đã tạo phiếu kiểm kê mới
+ Hiển thị nội dung của phiếu kiểm kê
9 Ô xử lý Lập phiếu công nợ
Tên ô xử lý: Lập phiếu công nợ (Số 5.2)
Trang 21DDL vào: Thông tin nhà xuất bản, các số liệu công nợ đã có hoặc có được sau khi tính toán
DDL ra: Tờ phiếu công nợ mới
Diễn giải ô xử lý: Lập phiếu công nợ cho các nhà xuất bản
Tóm tắt nội dung:
Input: Tên nhà xuất bản, nợ đầu kỳ, nợ cuối kỳ, phát sinh, chi trả
Xử lý: Lập phiếu công nợ mới từ các thông tin trên
Output:
+ Thông báo đã tạo phiếu công nợ mới
+ Hiển thị nội dung của phiếu
10 Ô xử lý Tìm kiếm hóa đơn, phiếu nhập, phiếu chi
Tên ô xử lý: Tìm kiếm Hóa đơn, phiếu chi, phiếu nhập (Số 6.1)
DDL vào: Thông tin về nội dung cần tìm kiếm (Hóa đơn, phiếu nhập hoặc phiếu chi)
DDL ra: Dữ liệu tìm kiếm được trong sơ sở dữ liệu nếu có
Diễn giải ô xử lý: Tìm kiếm các thông tin tương ứng trong khoảng thời gian mà người dùng nhập vào
Tóm tắt nội dung:
Input: Ngày cận trên, ngày cận dưới
Xử lý:
+ Mở kho tương ứng với nội dung mà người dùng cần tìm kiếm
+ Lấy tất cả các dữ liệu thỏa mãn nằm trong khoảng thời gian mà người dùng nhập vào
Output:
+ Thông báo kết quả tìm kiếm
+ Hiển thị tất cả các thông tin tìm được cho người dùng nếu tìm được
11 Ô xử lý Tìm kiếm phiếu kiểm kê, công nợ
Trang 22Tên ô xử lý: Tìm kiếm phiếu kiểm kê, công nợ (Số 6.1)DDL vào: Thông tin về nội dung cần tìm kiếm (Phiếu kiểm kê hoặc công nợ)
DDL ra: Dữ liệu tìm kiếm được trong sơ sở dữ liệu nếu có
Diễn giải ô xử lý: Tìm kiếm các thông tin tương ứng trong khoảng thời gian mà người dung nhập vào
Tóm tắt nội dung:
Input: Tháng năm
Xử lý:
+ Mở kho tương ứng với nội dung mà người dùng cần tìm kiếm
+ Lấy tất cả các dữ liệu thỏa mãn nằm trong khoảng thời gian mà người dùng nhập vào
Output:
+ Thông báo kết quả tìm kiếm
+ Hiển thị tất cả các thông tin tìm được cho người dùng nếu tìm được
12 Mô tả kho dữ liệu Phiếu nhập
Tên kho dữ liệu: Phiếu nhập sáchDiễn giải: Lưu trữ thông tin về phiếu nhập sách
Cấu trúc dữ liệu:SOPN, NGAYNHAP
Chi tiết:
Stt Tựa sách Thể loại Số lượng Giá bìa TLCK
13 Mô tả kho dữ liệu Hóa đơn
Tên kho dữ liệu: Hóa đơnDiễn giải: Lưu trữ thông tin về hóa đơn mua sách
Cấu trúc dữ liệu: SOHD, NGAYHD, HOTENKH
Chi tiết:
Stt Tựa sách Số lượng Giá bán
14.Mô tả kho dữ liệu Phiếu chi
Trang 23Tên kho dữ liệu: Phiếu chiDiễn giải: Lưu trữ thông tin về phiếu chi
Cấu trúc dữ liệu: SOPC, NGAYCHI, SOTIENCHI, LIDOCHI
15 Mô tả kho dữ liệu Sách
Tên kho dữ liệu: SáchDiễn giải: Lưu trữ thông tin về sách
Cấu trúc dữ liệu: MASACH, TENSACH, GIABIA, TLCK
16 Mô tả kho dữ liệu Nhà xuất bản
Tên kho dữ liệu: Nhà xuất bảnDiễn giải: Lưu trữ thông tin về nhà xuất bản
Cấu trúc dữ liệu: MANXB, TENNXB, DIACHI, DIENTHOAI
17 Mô tả kho dữ liệu Thể loại
Trang 24Tên kho dữ liệu: Thể loạiDiễn giải: Lưu trữ thông tin về các thể loại sách
Cấu trúc dữ liệu: MATL, TENTL
18 Mô tả kho dữ liệu Phiếu kiểm kê
Tên kho dữ liệu: Phiếu kiểm kê
Diễn giải: Lưu trữ thông tin kiểm kê sách mỗi tháng
Cấu trúc dữ liệu: MSPKK, NAMTHANG
Chi tiết:
theo số Số lượngkiểm kê
19 Mô tả kho dữ liệu Công nợ
Tên kho dữ liệu: Công nợDiễn giải: Lưu trữ thông tin về công nợ đối với các nhà xuất bản
Cấu trúc dữ liệu: STTCN, NAMTHANG, NODK, NOCK, PHATSINH, CHITRA
4 Thiết kế dữ liệu, xử lý
Mô hình dữ liệu mức logic
Trang 25Phân rã thành các quan hệ từ mô hình ERD
HOADON(SOHD, NGAYHD, HOTENKH)
CT_HOADON(STTCTHD, SLBAN, GIABAN, SOHD, MASACH)
SACH(MASACH, TENSACH, GIABIA, TLCK, MATL, MANXB)
THELOAI(MATL, TENTL)
PHIEUNHAP(SOPN, NGAYNHAP, MANXB)
CT_PHIEUNHAP(STTCTPN,SLNHAP,GIANHAP,SOPN,MASACH)
NHAXUATBAN(MANXB, TENNXB, DIACHI, DIENTHOAI)
KIEMKE(STTPKKE,NAMTHANG,SLTHEOSO,SLTHUCTE,MASACH)
CONGNO(STTCN,NAMTHANG,NODK,NOCK,PHATSINH,CHITRA,MANXB)
PHIEUCHI (SOPC, NGAYCHI, SOTIENCHI, LIDOCHI, MANXB
Chuẩn hóa các quan hệ
Trong quá trình thiết lập mô hình ERD, các quan hệ đã thỏa chuẩn III và chuẩnBCNF nên không cần phải chuẩn hóa l
4.3 Giải thuật cho các ô xử lý
1 Ô xử lý 1.1Giải thuật ô xử lý: 1.1
Trang 26Thống kê và kiểm tra sách
Input: Tên sách, giá bìa, TLCK, thể loại
Output: Các thông tin về sách, thể loại
Thể loại: tl Tên sách: ts Giá bìa: gb TLCK: ck
Mở table THELOAI
Chưa hết dữ liệu
Đọc một dòng x
Nếu x.theloai = tl
Mở table SACH
Chưa hết dữ liệu
Đọc một dòng y
Nếu y.tensach = ts
y.soluong =y.soluong + soluong
Đóng 2 table THELOAI, SACH
Tạo mã số tl mới
Tạo dòng a:
a.theloai = tl
Hiển thị kết quả Thêm mã sách mới
Tạo dòng a: a.Tensach = ts a.Giabia = gb a.TLCK = ck a.soluong =sl
Đ S
2 Ô xử lý 1.3
Giải thuật ô xử lý: 1.3
Tính tổng tiền, tiền chiết khấu, đối chiếu
Input: Giá bìa, tỷ lệ chiết khấu, số lượng
Trang 27Output: Tổng tiền, chiết khấu.
Tiền = sl * gb Chiết khấu = sl * gb * ck
Chưa hết
dữ liệu Chưa hết dữ liệu
Tiền = sl * gb Chiết khấu = sl * gb * ck
Tên sách: ts
Số lượng: sl Giá bìa: gb TLCK: ck
Tổng thành tiên = tổng tiền Tổng chiết khấu = tổng chiết khấu
Trang 28Output: Thông tin phiếu nhập
Thêm dòng y váo table CTPNHAP
Chưa hết dữ liệu Ban đầu
Hiển thị kết quả Đóng table CTPNHAP
Trang 29Output: tổng tiền
Tựa sách : ts
Số lượng : sl Giá : g
Giá tiền = sl * g
Chưa hết dữ liệu Ban đầu
Tổng tiền = tổng giá tiền
Trang 30Input: Ten_KH, ngay_thang_nam, số lượng bán, gía bán
Output: thong tin về hóa đơn
MasoHD = tạo số hiệu HD
Thêm dòng y vào table CTHOADON
Chưa hết dữ liệu ban đầu Đóng table CTHOADON Hiển thị kết quả
Trang 31Input: Tên NXB, số tiền chi, lý do chi, ngày tháng năm
Output: Thông tin phiếu chi
Trang 32Lập phiếu kiểm kê
Input: Tựa sách, thể loại, số lượng theo sổ, số lượng KK, tháng năm, tên NXB
Output: Thông tin phiếu kiểm kê
Thêm dòng x vào table KIEMKE
Đóng table KIEMKE
Hiển thị kết quả
8 Ô xử lý 5.1
Trang 33Giải thuật ô xử lý: 5.1
Kiểm tra tính toán nợ
Input: Thông tin phiếu nhập, thông tin phiếu chi
Output: Nợ đầu kì, nợ cuối kì
Tổng tiền nhập: tn Thanh toán đầu kỳ: đk Chi trả: ct
Nợ đk = tn - dk
Nợ CK = Nợ đk - ct
Hiên thị kết quả
9 Ô xử lý 5.2
Trang 34Giải thuật ô xử lý: 5.2
Lập phiếu công nợ
Input: NXB, nợ đầu kỳ, nợ cuối kỳ, phát sinh, chi trả
Output: Thông tin phiếu công nợ
Thêm một dòng x vào table CONGNO
Trang 35Input: Ngày cận trên, Ngày cận dưới
Output: Thông tin tìm được
Chọn nội dung muốn tìm kiếm
(PNHAP, PCHI, HOADON): X
Trang 36Output: Thông tin tìm được
4.4 Phát hiện ràng buộc dữ liệu:
Khi nhập sách của nhà xuất bản cửa hàng sẽ kiểm tra, đối chiếu các số liệu củanhà xuất bản với các số liệu kiểm kê của cửa hàng Nếu không khớp thì sẽ thông báo cho nhà xuất bản
Khi thanh toán với nhà xuất bản cửa hàng chỉ cần thanh toán số tiền là
Giá bìa – (Giá bìa)*TLCK
Giá bán của cửa hàng không nhất thiết phải giống với giá nhập từ nhà xuất bản
Trang 37 Khi thanh toán cho nhà xuất bản, số tiền chi ra phải nhỏ hơn số tiền cửa hàng đang nợ nhà xuất bản
Thực thể KIEMKE không cần thiết phải tách ra thành hai thực thể (bao gồm phiếu kiểm kê và chi tiết phiếu) vì khi đó thực thể phiếu kiểm kê chỉ có đúng một thuộc tính là tháng năm lập phiếu
5.Thiết kế giao diện:
5.1 Thiết kế Menu:
Trang 445.2 Thiết kế Form:
Trang 505.3 Thiết kế Report
Cửa hàng ABC
Báo cáo số:
BÁO CÁO KIỂM KỂ THÁNG 6-2008
Stt Tựa sách Thể loại Số lượng theo sổ Số lượng kiểm kê
Tổng cộng số lượng theo sổ:
Tổng cộng số lượng kiểm kê:
Ngày … tháng … năm …
Trang 51Cửa hàng ABC
Báo cáo số:
BÁO CÁO CÔNG NỢ THÁNG 6-2008
Stt Nhà xuất bản Nợ đầu kỳ Nợ cuối kỳ Phát sinh Chi trả
Trang 52Phần III: Đánh giá
6.Phân công
Trang 53
Nguyễn thị Nhàn Nguyễn huy Lộc
1 Phát hiện thực thể
2 Mô hình ERD (Làm chung)
2 Mô hình DFD (Làm chung)
4.Mô hình dữ liệu mức logic
5 Chuẩn hóa các quan hệ
Trang 54 Các thành viên trong nhóm tích cực trong việc hoàn thành đồ
án Mọi chi tiết của đồ án đều được các thành viên xem xét tỉ
mỉ và thống nhất với nhau
7.2 Khuyết điểm
Do đây là một môn học với nhiều kiến thức mới và cácthành viên chưa có nhiều kinh nghiệm thực tế nên trong đồ ánkhông thể tránh khỏi vẫn còn những sai sót
Đồ án hoàn thành nhưng vẫn còn mang nhiều tính lýthuyết ,để có thể áp dụng chính xác trong thực tế cần phải cónhững bổ sung hoàn chỉnh hơn