Thực thể 10: PHIEUCHI- Thực thể tượng trưng cho việc thanh tóan tiền cho các nhà xuất bản dựatrên số tiền cửa hàng đang nợ của nhà xuất bản- Các thuộc tính: SOPC,NGAYCHI,SOTIENCHI,LIDOCH
Mục tiêu của đồ án
Khảo sát và thiết kế hệ thống quản lý kinh doanh cho cửa hàng sách bao gồm quy trình nhập sách từ nhà xuất bản, bán hàng và thanh toán Hệ thống cũng giúp quản lý hoạt động kiểm kê sổ sách và theo dõi công nợ của cửa hàng vào cuối mỗi tháng.
Phạm vi đồ án
Phạm vi thực hiện đồ án được xây dựng dựa trên kiến thức từ môn học Phân tích thiết kế hệ thống thông tin do Thạc sĩ Nguyễn Gia Tuấn Anh giảng dạy, cùng với việc tham khảo các tài liệu bên ngoài để nâng cao hiểu biết và hoàn thiện đồ án, nhằm đạt được mục tiêu đề án.
Phân tích – Thiết kế 3 Phân tích
Phát hiện thực thể
- Thực thể tượng trưng cho một khách hàng khi tới mua sách của cửa hàng.
- Các thuộc tích: SOHD, NGAYHD, HOTENKH.
- Thực thể cho biết thông tin chi tiết của hoá đơn khi khách mua sách của cửa hàng.
- Các thuộc tính: STTCTHD, SLBAN, GIABAN.
- Thực thể chứa thông tin của những cuốn sách cửa hàng đã nhập của nhà xuất bản.
- Các thuộc tính: MASACH, TENSACH, GIABIA, TLCK.
- Thực thể chứa thông tin về các thể lọai sách như: giáo khoa, tiểu thuyết, văn học, khoa học …
- Các thuộc tính : MATL, TENTL.
- Thực thể tượng trưng cho cửa hàng mỗi khi cần nhập sách của một nhà xuất bản nào đó để bán.
- Các thuộc tính: SOPN, NGAYNHAP.
- Thực thể cho biết thông tin chi tiết của từng phiếu nhập sách của cửa hàng từ một nhà xuất bản.
- Các thuộc tính: STTCTPN, SLNHAP, GIANHAP.
- Mỗi thực thể tượng trưng cho một nhà xuất bản mà cửa hàng nhập sách.
- Các thuộc tính: MANXB, TENNXB, DIACHI, DIENTHOAI.
- Thực thể tượng trưng cho việc kiểm tra số lượng sách của cửa hàng để nắm nhu cầu cho tháng tới.
- Các thuộc tính: STTPKKE, NAMTHANG, SLTHEOSO, SLTHUCTE.
- Thực thể tượng trưng cho công nợ đối với các nhà xuất bản để đánh giá tình hình kinh doanh của cửa hàng.
- Các thuộc tính: STTCN, NAMTHANG, NODK, NOCK, PHATSINH, CHITRA.
- Thực thể tượng trưng cho việc thanh tóan tiền cho các nhà xuất bản dựa trên số tiền cửa hàng đang nợ của nhà xuất bản
- Các thuộc tính: SOPC,NGAYCHI,SOTIENCHI,LIDOCHI
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ức quan niệm (mô hình ERD) như sau :
Mô tả thực thể
Tên thuộc tính Diễn giải
SOHD Ngày lập hóa đơn
HOTENKH Họ tên khách hàng
Tên thuộc tính Diễn giải
Tên thực thể : CT_HOADON
Tên thuộc tính Diễn giải
STTCTHD Số thứ tự chi tiết hóa đơn
Tên thuộc tính Diễn giải
TLCK Tỉ lệ chiết khấu
Tên thực thể : CT_PHIEUNHAP
Tên thuộc tính Diễn giải
STTCTPN Số thứ tự chi tiết phiếu nhập
Tên thuộc tính Diễn giải
Tên thuộc tính Diễn giải
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ổ
SLTHUCTE Số lượng thực tế
Tên thuộc tính Diễn giải
MANXB Mã nhà xuất bản
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
Tên thuộc tính Diễn giải
Tên thuộc tính Diễn giải
STTCN Số thứ tự công nợ
Mô hình DFD
NXB: Nhà xuất bản Chú thích dòng dữ liệu:
(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ợ …)
Hệ thống quản lý kinh doanh cửa hàng sách
(6): Thông tin báo cáo đáp trả
(7): Yêu cầu thông tin phiếu nhập
3.4.2 DFD của chức năng lập phiếu nhập sách
Thống kê và kiểm tra Các loại sách,
Và cập nhật thông tin
Tính tổng tiền, tiền chiết khấu, đối chiếu
TT về sách, số lượng,
3.4.3 DFD của chức năng lập hóa dơn
Thống kê sách và tính tổng tiền
Thông tin về tổng tiền
TT về chi tiết hóa đơn
3.4.4 DFD của chức năng lập phiếu chi
3.4.5 DFD của chức năng lập phiếu kiểm kê
Số lượng KK, Tựa sách, Thể loại
3.4.6 DFD của chức năng lập phiếu công nợ
Kiểm tra, tính toán nợ ĐK, nợ CK, chi trả, phát sinh
3.4.7 DFD của chức năng tìm kiếm
Tìm kiếm : Phiếu nhập, Hóa Đơn, Phiếu chi, Kiểm kê, Công nợ
Hiển thị tổng quát Các chi tiết cần tìm
In các kết quả (nếu cần)
Thông báo nếu không tìm thấy
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
+ 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
Input: Tên sách, thể loại, số lượng, giá bìa và tỷ lệ chiết khấu
+ Kiểm tra xem đã có thể loại mới nhập chưa, nếu chưa thì thêm thể loại mới vào từ thông tin đầu vào về thể loại
+ Khi thể loại đã tồn tại thì mở kho SACH, kiểm tra xem tựa sách mới đã có trong kho chưa
+ Nếu sách đã có trong kho thì cập nhật về số lượng, nếu chưa thì thêm sách mới từ các thông tin đầu vào về sách
+ Đó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
+ 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
Input: Tên sách, số lượng, giá bìa, tỷ lệ chiết khấu
Xử lý: Từ các số liệu trên
+ Tính số tiền nhập cho từng tựa sách theo số lượng và giá bìa
+ Tổng tiền bằng tổng tất cả tiền nhập
+ Tính chiết khấu cho từng tựa sách theo số lượng, giá bìa và tỉ lệ 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
Input: Tên NXB, Tựa sách, Thể loại, Số lượng, Giá bìa
+ 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
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
+ 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
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)
DDL 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
Input: Tên khách hàng, số lượng mua, giá bán và thời gian lập hóa đơn
+ Từ các dữ liệu đầu vào, thống kê số lượng và tính tổng tiền cho khách hàng + Thông báo cho khách hàng thanh toán
+ 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
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
+ 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)
DDL 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
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
+ 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ần thanh toán cho các nhà xuất bản
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
+ 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)
DDL 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
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
+ 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
Input: Ngày cận trên, ngày cận dưới
+ 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
+ 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
10.Ô xử lý Tìm kiếm phiếu kiểm kê, công nợ
Tê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
+ 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
+ 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.Mô tả kho dữ liệu Phiếu nhập
Tên kho dữ liệu: Phiếu nhập sách Diễ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
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 đơn Diễ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
Stt Tựa sách Số lượng Giá bán
14.Mô tả kho dữ liệu Phiếu chi
Tên kho dữ liệu: Phiếu chi
Diễ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ách Diễ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ản Diễ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
Tên kho dữ liệu: Thể loại Diễ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
Stt Tựa sách Thể loại NXB Số lượng theo số
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
Thiết kế dữ liệu xử lý
Mô hình dữ liệu mức logic
Phân rã thành các quan hệ từ mô hình ERD
CT_HOADON(STTCTHD, SLBAN, GIABAN, SOHD, MASACH)
SACH(MASACH, TENSACH, GIABIA, TLCK, MATL, 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ẩn BCNF nên không cần phải chuẩn hóa l
4.3 Giải thuật cho các ô xử lý
Thố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
Chưa hết dữ liệu Đọc một dòng x
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
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
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.
Output: 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
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
Input: Tên NXB, ngày nhập, tựa sách, thể loại, số lượng, giá bìa
Output: Thông tin phiếu nhập
Tạo dòng x với: x.soPN = MSPN x.ngaynhap = ngày nhập x.nhapNXB = tên NXB
Thêm dòng y với: y.sttctpn = tạo số CTPNHAP y.slNhap = số lượng y.gianhap = giá bìa
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
Thống kê sách và tính tổng tiền
Input: tựa sách, số lượng, giá
Chưa hết dữ liệu Ban đầu
Tổng tiền = tổng giá tiền
Input: 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
Tạo dòng x với: x.soHD = MasoHD x.NgayHD
=Ngay_thang_nam x.HotenKH =tên KH
Tạo dòng y với: y.sttcthd = tạo số hiệu CTHD y.SlBan = số lượng bán y.giaban = giá bán
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ả
Input: Tên NXB, số tiền chi, lý do chi, ngày tháng năm
Output: Thông tin phiếu chi
MasoPChi = tạo số hiệu phiếu chi
Tạo dòng x với: x.SoPC = MaSoPChi x.Ngaychi = Ngay_thang_nam x.sotienchi = số tiền chi x.lydochi = lý do chi x.NXB = tên NXB
Thêm dòng x vào table Đóng table PHIEUCHI
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ê
Tạo dòng x với: x.sttPKKe = tạo số tt mới x.NamThang = tháng năm x.SLTheoSo = sl theo sổ x.SLThucTe = sl kiểm kê x.NXB = tên NXB
Thêm dòng x vào table KIEMKE Đóng table KIEMKE
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ợ CK = Nợ đk - ct
Input: NXB, nợ đầu kỳ, nợ cuối kỳ, phát sinh, chi trả
Output: Thông tin phiếu công nợ
Tạo dòng x với: x.sttCNo = tạo số tt mới x.NamThang = tháng năm x.Nođk = nợ đàu kì x.phatsinh = phát sinh x.chitra = chi trả x.Nock = nợ cuối kì
Thêm một dòng x vào table CONGNO Đóng table CONGNO
Tìm kiếm Hóa đơn, Phiếu chi, Phiếu nhập
Input: 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 t1:ngày cận trên t2:ngày cận dưới
Dữ liệu Đóng table X Đọc 1 dòng X: x t1