TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN Tên sinh viên: Ngô Minh Hiếu Lớp môn học: AAS7182020.010 BÀI TẬP HỌC PHẦN PHÂN TÍCH THIẾT KẾ HỆ THỐNG Đề 05: Quản lí bán hàng tại siêu thị HÀ NỘI, 032021 TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN Tên sinh viên: Ngô Minh Hiếu Lớp môn học: AAS7182020.010 BÀI TẬP HỌC PHẦN PHÂN TÍCH THIẾT KẾ HỆ THỐNG Đề 05: Quản lí bán hàng tại siêu thị Giáo viên phụ trách: Nguyễn Hoài Anh HÀ NỘI, 032021 LỜI NÓI ĐẦU Giới thiệu chung về hệ thống: Xã hội đang phát triển nhanh chóng, nhu cầu vật chất của con người ngày càng tăng mạnh, vì thế các siêu thị ra đời để giải quyết các nhu cầu đó. Và để một siêu thị hoạt động tốt, hệ thống bán hàng của nó nắm vai trò rất quan trọng, là trái tim của siêu thị. Vì vậy, em chọn đề tài “Phân tích thiết kế quản lý bán hàng tại siêu thị” để tìm ra các giải pháp tối ưu đồng thời khắc phục những điểm yếu hiện có trong việc quản lý bán hàng của các siêu thị để đáp ứng đúng và đủ các yêu cầu đối với một hệ thống bán hàng cơ bản, góp phần nâng cao hiệu quả kinh doanh và mở rộng quy mô của siêu thị. Do kiến thức vẫn còn hạn chế nên bài làm của em sẽ có nhiều sai sót, em mong thầy cô góp ý để em có thể rút ra được nhiều kinh nghiệm từ môn học này. MỤC LỤC CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 1 1.1. Mô tả hệ thống 1 1.1.1. Nhiệm vụ cơ bản 1 1.1.2. Cơ cấu tổ chức 1 1.1.3. Quy trình xử lý và các quy tắc quản lý 1 1.1.4. Mẫu biểu 3 1.2. Mô hình hoá hệ thống 17 1.2.1. Mô hình tiến trình nghiệp vụ 17 1.2.2. Biểu đồ hoạt động 18 CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 27 2.1. Phân tích chức năng nghiệp vụ 27 2.1.1. Mô hình hoá chức năng nghiệp vụ 27 2.1.1.1. Ký hiệu sử dụng 27 2.1.1.2. Xác định chức năng chi tiết 27 2.1.1.3. Gom nhóm chức năng 29 2.1.1.4. Sơ đồ phân rã chức năng 30 2.1.2. Mô hình hoá tiến trình nghiệp vụ 31 2.1.2.1. Ký hiệu sử dụng 31 2.1.2.2. Sơ đồ luồng dữ liệu (DFD) mức khung cảnh 32 2.1.2.3. DFD mức đỉnh 32 2.1.2.4. DFD mức dưới đỉnh 32 2.1.3. Đặc tả tiến trình nghiệp vụ 34 2.2. Phân tích dữ liệu nghiệp vụ 37 2.2.1. Mô hình dữ liệu ban đầu 37 2.2.1.1. Xác định kiểu thực thể, kiểu thuộc tính 37 2.2.1.2. Xác định kiểu liên kết 39 2.2.1.3. Mô hình thực thể liên kết mở rộng 39 2.2.2. Chuẩn hoá dữ liệu 41 2.2.2.1. Chuyển đổi từ ERD mở rộng về ERD kinh điển 41 2.2.2.2. Chuyển đổi từ ERD kinh điển về ERD hạn chế 45 2.2.2.3. Chuyển đổi từ ERD hạn chế về mô hình quan hệ 53 2.2.3. Đặc tả dữ liệu 56 CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 64 3.1. Thiết kế cơ sở dữ liệu 64 3.1.1. Thiết kế bảng dữ liệu phục vụ bảo mật 64 3.1.2. Xác định thuộc tính kiểm soát, bảng kiểm soát 66 3.1.3. Nghiên cứu gom nhóm bảng dữ liệu và thêm trường tính toán 67 3.1.4. Mô hình dữ liệu hệ thống 70 3.1.5. Đặc tả bảng dữ liệu 70 3.2. Thiết kế giao diện người – máy 84 3.2.1. Thiết kế hệ thống đơn chọn 84 3.2.2. Thiết kế form nhập liệu cho danh mục (2 danh mục) 84 3.2.3.Thiết kế form xử lý nghiệp vụ (2 nghiệp vụ) 90 3.2.4. Thiết kế báo cáo (01 báo cáo nghiệp vụ + 01 báo cáo thống kê) 96 ĐÁNH GIÁ CÔNG VIỆC VÀ KẾT LUẬN 99 TÀI LIỆU THAM KHẢO 100 CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 1.1. Mô tả hệ thống 1.1.1. Nhiệm vụ cơ bản • Lấy hàng từ nhà cung cấp bán cho khách hàng. • Nhận sản phẩm từ khách hàng và tiến hành thanh toán cho khách hàng. • Nhập hàng từ nhà cung cấp và thanh toán cho nhà cung cấp. Sơ đồ tổng quát 1.1.2. Cơ cấu tổ chức • Bộ phận bán hàng Tiếp nhận sản phẩm của khách hàng. Thanh toán cho khách hàng. Lập hoá đơn mua hàng. • Bộ phận kho hàng Nhận hàng từ nhà cung cấp và kiểm tra các sản phẩm. Nhận phiếu giao hàng từ nhà cung cấp. Lập phiếu nhập kho. Lập phiếu xuất kho. Lập phiếu kiểm hàng. • Bộ phận tài chính Báo cáo thống kê tổng doanh thu. Cập nhật đơn giá bán. Cập nhật đơn giá mua. Lập đơn đặt hàng từ nhà cung cấp. Lập hoá đơn thanh toán cho nhà cung cấp. 1.1.3. Quy trình xử lý và các quy tắc quản lý • Quy trình nghiệp vụ nhập hàng từ nhà cung cấp Bộ phận kho hàng: Khi có nhu cầu nhập thêm hàng, thủ kho sẽ lập phiếu yêu cầu (MB11) (1) cho bộ phận quản lí để liên hệ với nhà cung cấp (2), cập nhật thông tin của nhà cung cấp(MB1) và lập đơn đặt hàng (MB2) (3). Lưu ý là đơn giá mua đã được nhà cung cấp ký hợp đồng với quản lí của siêu thị. Trong hệ thống quản lý bán hàng chỉ sử dụng hợp đồng để tham chiếu lấy giá mua thanh toán tiền hàng cho nhà cung cấp. Khi nhà cung cấp đưa hàng đến thì bộ phận kho hàng sẽ tiếp nhận và kiểm tra mặt hàng (4). Nếu hàng hàng đảm bảo chất lượng thì sẽ nhận phiếu giao hàng (MB3) (5) từ nhà cung cấp và tiến hành lập phiếu nhập kho(MB5) (6), sau đó chuyển cho bộ phận quản lí tài chính để thanh toán. Bộ phận quản lí tài chính dựa trên đơn đặt hàng(MB2) để lập hoá đơn thanh toán(MB4) (7) và thanh toán hoá đơn đặt hàng (8) cho nhà cung cấp. • Quy trình nghiệp vụ xuất hàng từ kho lên siêu thị Khi có nhu cầu xuất hàng từ kho lên siêu thị, quản lí sẽ yêu cầu xuất hàng (9) tới bộ phận kho hàng. Nhân viên kho sẽ kiểm tra số lượng mặt hàng (10) trong kho. Nếu đáp ứng đủ yêu cầu thì bộ phận kho hàng sẽ lập phiếu xuất kho(MB6) (11). Trong phiếu xuất kho(MB6) có ghi rõ thông tin: Mã phiếu xuất, ngày xuất kho, người xuất kho, chức vụ, SĐT, người nhận, thông tin hàng xuất. • Quy trình nghiệp vụ bán hàng Khách hàng xem hàng và lựa chọn mặt hàng muốn mua. Thông tin hàng gồm: mã hàng, tên hàng, nhà sản xuất, hạn sử dụng, trọng lượng, đơn giá. Sau khi khách hàng đã chọn được hàng như ý, họ đem ra quầy thu ngân để thanh toán. Nhân viên thu ngân sẽ tiếp nhận sản phẩm(12), trao đổi thông tin khách hàng (13) để thanh toán cho khách hàng(14) . Nếu khách hàng đồng ý mua thì sẽ thực hiện thanh toán cho khách hàng và lập hoá đơn mua hàng(MB7) (15) Trong hoá đơn bao gồm các thông tin: mã hoá đơn, mã nhân viên, tên khách hàng, ngày lập, mã hàng, số lượng, đơn giá, tổng tiền. Hệ thống tính toán, hiển thị tổng tiền khách phải trả, số tiền trả lại và in hoá đơn mua hàng(MB7) (16). Sau khi nhân viên thu ngân đóng dấu đã thanh toán(17), khách hàng kiểm tra lại hàng đã mua, hoá đơn và ra về. • Quy trình nghiệp vụ thống kê doanh thu Vào cuối mỗi ngày, ban quản lí yêu cầu bộ phận tài chính thống kê trong ngày theo các tiêu chí (18) yêu cầu. Từ đó lập báo cáo chi tiết(MB9) (19) gồm: mã báo cáo, ngày lập báo cáo, hàng bán, hàng tồn kho, tình trạng hàng và thống kê doanh thu(MB10) (20) so sánh với số tiền thực có sau đó gửi báo cáo thống kê doanh thu (21) và gửi báo cáo chi tiết (22) cho ban quản lí. Kết thúc mỗi tháng ban quản lí sẽ tổng kết lại và điều chỉnh, đưa ra chiến lược hợp lí cho những tháng tiếp theo. • Quy trình nghiệp vụ kiểm kê hàng hoá Để đảm bảo chất lượng sản phẩm và đạt được sự hài lòng của khách hàng. Ban quản lí sẽ yêu cầu bộ phận kho hàng định kì kiểm tra tình trạng hàng hoá (23), lập phiếu kiểm kho(MB8) (24) gồm: mã phiếu kiểm, mã nhân viên, ngày lập, tên hàng, số lượng và báo cáo cho ban quản lí. • Quy trình cập nhật đơn giá bán Định kì cứ 3 tháng một lần hệ thống phải cập nhật đơn giá bán (25) do bộ phận quản lí gửi đơn giá bán(MB12) xuống. • Quy trình cập nhật đơn giá mua Khi có thay đổi về đơn giá mua (ký hợp đồng với nhà cung cấp mới hoặc ký lại hợp đồng với nhà cung cấp đã có), bộ phận quản lí sẽ gửi hợp đồng ký kết và đơn giá mua(MB13) xuống cho hệ thống cập nhật đơn giá mua (26) theo hợp đồng mới. Quy tắc quản lí của hệ thống: Nhà cung cấp giao hàng theo đúng đơn đặt hàng. Khi khách hàng đến mua hàng siêu thị sẽ lập đơn hàng bán cho khách hàng trong đó có những mặt hàng mà khách yêu cầu, khách hàng chỉ được mang hàng về khi đã thanh toán. 1.1.4. Mẫu biểu • Mẫu biểu 1: Lưu thông tin hàng của nhà cung cấp (MB1) NCC Tên nhà cung cấp:………………………………………………. Mã nhà cung cấp:……………………………………………….. Địa chỉ:………………………………………………………….. SĐT:…………………….............................................................. Số tài khoản:…………………………………………………….. Mã hàng Đơn giá mua • Mẫu biểu 2: Bộ phận quản lí gửi cho nhà cung cấp để đặt hàng (MB2) ĐƠN ĐẶT HÀNG Mã: …. ….. Mã nhà cung cấp:………………Ngày đặt hàng:………………… Tên nhà cung cấp:………………………………………………... Địa chỉ:…………………………………………………………… Số điện thoại:…………………………………………………….. STT Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền Tổng tiền thanh toán Khách hàng (Kí và ghi rõ họ tên) Nhà cung cấp (Kí và ghi rõ họ tên) • Mẫu biểu 3: Phiếu giao hàng nhà cung cấp mang cùng hàng đến(MB3) PHIẾU GIAO HÀNG Mã:…………. Ngày … tháng … năm… Theo đơn hàng đặt mã……….. Người nhận:……………………………SĐT:………..…………. Chức vụ:…………………………………………………………. Địa chỉ:…………………………………………………………… STT Tên hàng Số lượng giao Số lượng nhận Người nhận (Ký và ghi rõ họ tên) Người giao (Ký và ghi rõ họ tên) Người lập phiếu (Kí và ghi rõ họ tên) • Mẫu biểu 4: Hoá đơn thanh toán để thanh toán với nhà cung cấp(MB4) Mã hoá đơn: …… HOÁ ĐƠN THANH TOÁN Ngày … tháng … năm… Thanh toán cho phiếu giao hàng mã……….. Tên nhà cung cấp:………………………………….…………….. Địa chỉ:……………………………………SĐT:...……………… Hình thức thanh toán:……………………………………………. STT Tên hàng Số lượng Thành tiền Tổng tiền Người nhận (Ký và ghi rõ họ tên) Thủ quỹ (Ký và ghi rõ họ tên) • Mẫu biểu 5: Do bộ phận kho lập sau khi nhận và kiểm tra hàng đầy đủ(MB5) PHIẾU NHẬP KHO Mã:…………. Ngày … tháng … năm… Họ và tên người giao:……………………………………………. Thuộc đơn vị:……………………..SĐT:………………………... Địa chỉ:……………………………Số tài khoản………………… Theo mã phiếu giao:……………ngày….tháng.…năm…. STT Mã hàng Tên hàng Đơn vị tính Số lượng Ghi chú Giao Nhận Người lập (Ký và ghi rõ họ tên) Người giao (Ký và ghi rõ họ tên) Thủ kho (Ký và ghi rõ họ tên) • Mẫu biểu 6: Phiếu xuất kho do bộ phận kho hàng lập(MB6) PHIẾU XUẤT KHO Mã:………. Ngày … tháng … năm… Người xuất kho:........................................................................... Chức vụ:.........................................................SĐT:..................... Người nhận:................................................................................. STT Mã hàng Tên hàng Đơn vị tính Số lượng xuất Ghi chú Người nhận (Ký và ghi rõ họ tên) Người lập phiếu (Ký và ghi rõ họ tên) • Mẫu biểu 7: Hoá đơn mua hàng bán cho khách(MB7) HOÁ ĐƠN MUA HÀNG Mã hoá đơn:.……………………………………………………... Ngày mua hàng:………………………………………………….. Nhân viên bán hàng:.Mã nhân viênTên nhân viên……………… Tên khách hàng:…………………………SĐT:…………………. Hình thức thanh toán:……………………………………………. STT Tên hàng Số lượng Đơn giá Thành tiền Tổng tiền Tiền khách đưa Tiền thừa Đã thanh toán (xác nhận) • Mẫu biểu 8: Phiếu kiểm hàng do bộ phận kiểm kho lập(MB8) PHIẾU KIỂM KHO Mã:……. Ngày … tháng … năm … Nhân viên:…Mã nhân viên – Tên nhân viên……………………. Chức vụ:…………………………………SĐT:….……………… STT Mã hàng Tên hàng Số lượng Tình trạng Tốt Lỗi Người lập phiếu (ký và ghi rõ họ tên) • Mẫu biểu 9: Báo cáo chi tiết do bộ phận tài chính lập (MB9) BÁO CÁO CHI TIẾT Ngày .... tháng.... năm..... Mã :................ STT Hàng bán Hàng tồn kho Tình trạng hàng Tốt Lỗi Tổng số Người lập báo cáo (Kí và ghi rõ họ tên) • Mẫu biểu 10: Báo cáo thống kê doanh thu do bộ phận tài chính lập(MB10) THỐNG KÊ DOANH THU Ngày …. tháng … năm … Mã:…. Đơn hàng Ghi chú STT Mã hoá đơn Thành tiền Tổng tiền Tổng chi (ghi thông tin chi sang phần Ghi chú) Doanh thu cuối cùng Người lập (Ký và ghi rõ họ tên) • Mẫu biểu 11: Phiếu yêu cầu do bộ phận kho lập(MB11) PHIẾU YÊU CẦU Mã:….. Ngày….tháng….năm…. Mã hàng Số lượng dự kiến Số lượng tồn Ngưỡng Ghi chú Người làm phiếu (ký và ghi rõ họ tên) • Mẫu biểu 12: cập nhật khi ban quản lí gửi xuống(MB12) ĐƠN GIÁ BÁN Mã:….. Ngày….tháng….năm…. Tên nhà cung cấp:………………………………………………….. Địa chỉ:………………………………………………………………. Mã hàng Tên hàng Đơn giá Ghi chú Người gửi (ký và ghi rõ họ tên) Người nhận (ký và ghi rõ họ tên) • Mẫu biểu 13: Cập nhật khi ban quản lí gửi xuống(MB13) ĐƠN GIÁ MUA Mã:….. Ngày….tháng….năm…. Tên nhà cung cấp:………………………………………………….. Địa chỉ:………………………………………………………………. Mã hàng Tên hàng Đơn giá Ghi chú Người gửi (ký và ghi rõ họ tên) Người nhận (ký và ghi rõ họ tên) Ngoài ra, hệ thống còn lưu thêm thông tin khách hàng: tên khách hàng, địa chỉ, số điện thoại, số tài khoản để có chính sách khuyến mãi cho khách hàng thường xuyên. KHÁCH HÀNG THÂN THIẾT Mã:…… Ngày … tháng … năm … STT Tên khách hàng SĐT STK Điểm Ưu đãi 1.2. Mô hình hoá hệ thống 1.2.1. Mô hình tiến trình nghiệp vụ • Ký hiệu sử dụng: Bộ phận trong hệ thống Tác nhân tác động vào hệ thống Luồng thông tin • Xác định: Cơ cấu tổ chức: có 3 bộ phận: Bộ phận bán hàng, bộ phận kho hàng, bộ phận tài chính. Tác nhân: Khách hàng, nhà cung cấp, ban quản lí. Luồng thông tin • Mô hình: 1.2.2. Biểu đồ hoạt động • Ký hiệu sử dụng • Bài toán có 7 tiến trình nghiệp vụ Nhập hàng từ nhà cung cấp. Xuất hàng từ kho lên siêu thị. Bán hàng cho khách hàng. Thống kê doanh thu. Kiểm kê hàng hoá. Cập nhật giá bán. Cập nhật giá mua. • Vẽ mô hình • Nhập hàng từ nhà cung cấp Các đối tượng tham gia: Nhà cung cấp, bộ phận kho hàng, bộ phận tài chính. Đối tượng kích hoạt tiến trình: Bộ phận tài chính. • Xuất hàng từ kho lên siêu thị Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng. Đối tượng kích hoạt tiến trình: Ban quản lí. • Bán hàng cho khách hàng Các đối tượng tham gia: Khách hàng, bộ phận bán hàng. Đối tượng kích hoạt tiến trình: Khách hàng. • Thống kê doanh thu Các đối tượng tham gia: Ban quản lí, bộ phận tài chính. Đối tượng kích hoạt tiến trình: Ban quản lí. • Kiểm kê hoàng hoá Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng. Đối tượng kích hoạt tiến trình: Ban quản lí. • Cập nhật giá bán Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng. Đối tượng kích hoạt tiến trình: Ban quản lí. • Cập nhật giá mua Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng. Đối tượng kích hoạt tiến trình: Ban quản lí. CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 2.1. Phân tích chức năng nghiệp vụ 2.1.1. Mô hình hoá chức năng nghiệp vụ 2.1.1.1. Ký hiệu sử dụng Ký hiệu sử dụng vẽ sơ đồ phân rã chức năng: 2.1.1.2. Xác định chức năng chi tiết Quy trình xác định chức năng chi tiết gồm 5 bước: • Bước 1: Gạch chân tất cả các động từ + bổ ngữ liên quan đến công việc của hệ thống: Lập phiếu yêu cầu(1) Liên hệ với nhà cung cấp(2) Lập đơn đặt hàng(3) Tiếp nhận và kiểm tra mặt hàng(4) Nhận phiếu giao hàng(5) Lập phiếu nhập kho(6) Lập hoá đơn thanh toán(7) Thanh toán hoá đơn đặt hàng(8) Yêu cầu xuất hàng(9) Kiểm tra số lượng mặt hàng(10) Lập phiếu xuất kho(11) Tiếp nhận sản phẩm(12) Trao đổi thông tin khách hàng(13) Thanh toán cho khách hàng(14) Lập hoá đơn mua hàng(15) In hoá đơn mua hàng(16) Đóng dấu đã thanh toán(17) Thống kê trong ngày theo các tiêu chí(18) Lập báo cáo chi tiết(19) Thống kê doanh thu(20) Gửi báo cáo thống kê doanh thu(21) Gửi báo cáo chi tiết(22) Kiểm tra tình trạng hàng hoá(23) Lập phiếu kiểm kho(24) Cập nhật đơn giá bán(25) Cập nhật đơn giá mua(26) • Bước 2: Tìm và loại bỏ các chức năng trùng lặp (không có) • Bước 3: Gom nhóm các chức năng đơn giản Chức năng Lý do gom Gom thành Liên hệ với nhà cung cấp(2) Lập đơn đặt hàng(3) Do bộ phận tài chính thực hiện Đặt hàng từ nhà cung cấp Tiếp nhận và kiểm tra mặt hàng(4) Nhận phiếu giao hàng(5) Do bộ phận kho hàng thực hiện Xác nhận hàng Lập hoá đơn thanh toán(7) Thanh toán đơn đặt hàng(8) Do bộ phận tài chính thực hiện Thanh toán đơn đặt hàng Yêu cầu xuất hàng(9) Kiểm tra số lượng mặt hàng(10) Lập phiếu xuất kho(11) Do bộ phận kho hàng thực hiện Lập phiếu xuất kho Tiếp nhận sản phẩm(12) Trao đổi thông tin khách hàng(13) Lập hoá đơn mua hàng(15) Do bộ phận bán hàng thực hiện Lập đơn mua hàng Thanh toán cho khách hàng(14) In hoá đơn mua hàng(16) Đóng dấu đã thanh toán(17) Do bộ phận bán hàng thực hiện Thanh toán cho khách hàng Thống kê trong ngày theo các tiêu chí (18) Lập báo cáo chi tiết(19) Thống kê doanh thu(20) Gửi báo cáo thống kê doanh thu(21) Gửi báo cáo chi tiết(22) Do bộ phận tài chính thực hiện Báo cáo thống kê doanh thu Kiểm tra tình trạng hàng hoá(23) Lập phiếu kiểm kho(24) Do bộ phận kho hàng thực hiện Lập phiếu kiểm kho Cập nhật đơn giá bán(25) Cập nhật đơn giá mua(26) Do bộ phận tài chính thực hiện Cập nhật đơn giá • Sau khi gom nhóm: Lập phiếu yêu cầu(1) Đặt hàng từ nhà cung cấp(2) Xác nhận hàng(3) Lập phiếu nhập kho(4) Thanh toán đơn đặt hàng(5) Lập phiếu xuất kho(6) Lập đơn mua hàng(7) Thanh toán cho khách hàng(8) Báo cáo thống kê doanh thu(9) Lập phiếu kiểm kho(10) Cập nhật đơn giá(11) • Bước 4: Loại bỏ chức năng không có ý nghĩa với hệ thống Xác nhận hàng(3) • Danh sách chức năng cuối cùng + đặt lại tên: Lập phiếu yêu cầu(1) Đặt hàng từ nhà cung cấp(2) Lập phiếu nhập kho(4) Thanh toán đơn đặt hàng(5) Lập phiếu xuất kho(6) Lập đơn mua hàng(7) Thanh toán đơn mua hàng(8) Báo cáo thống kê doanh thu(9) Lập phiếu kiểm kho(10) Cập nhật đơn giá(11) 2.1.1.3. Gom nhóm chức năng • Dựa vào cơ cấu tổ chức hệ thống có 3 bộ phận: bộ phận kho hàng, bộ phận tài chính và bộ phận bán hàng. => Có thể chia thành 3 nhóm chức năng: Quản lí kho hàng, Quản lí tài chính, Quản lí bán hàng Lập phiếu yêu cầu(1) Lập phiếu nhập kho(4) Lập phiếu xuất kho(6) Lập phiếu kiểm kho(10) Quản lí kho hàng Quản lí bán hàng tại siêu thị Đặt hàng từ nhà cung cấp(2) Thanh toán đơn đặt hàng(5) Báo cáo thống kê doanh thu(9) Cập nhật đơn giá(11) Quản lí tài chính Lập đơn mua hàng(7) Thanh toán đơn mua hàng(8) Quản lí bán hàng 2.1.1.4. Sơ đồ phân rã chức năng Sơ đồ phân rã chức năng (BFD): 2.1.2. Mô hình hoá tiến trình nghiệp vụ 2.1.2.1. Ký hiệu sử dụng 2.1.2.2. Sơ đồ luồng dữ liệu (DFD) mức khung cảnh 2.1.2.3. DFD mức đỉnh 2.1.2.4. DFD mức dưới đỉnh DFD mức dưới đỉnh tiến trình “Quản lý bán hàng” DFD mức dưới đỉnh tiến trình “Quản lý kho hàng” DFD mức dưới đỉnh tiến trình “Quản lý tài chính” 2.1.3. Đặc tả tiến trình nghiệp vụ • Đặc tả tiến trình “Lập hoá đơn mua hàng” Đầu vào: Yêu cầu mua hàng của khách hàng Đầu ra: Hoá đơn mua hàng Nội dung xử lí Lặp: Tiếp nhận mặt hàng từ khách hàng • Kiểm tra mặt hàng • Nếu: Mặt hàng đúng ý khách • Thì tiếp tục • Ngược lại: Loại bỏ mặt hàng không đúng ý Đến khi: Hết mặt hàng của khách Nếu: Khách đã thanh toán Thì: Lập hoá đơn mua hàng In hoá đơn mua hàng Không thì: Huỷ giao dịch • Đặc tả tiến trình “Thanh toán hoá đơn mua hàng” Đầu vào: Yêu cầu khách hàng thanh toán Đầu ra: Thanh toán cho khách hàng Nội dung xử lí Lặp: Yêu cầu khách hàng thanh toán • Nếu: Khách hàng đồng ý thanh toán • Thì: Kiểm tra và thanh toán cho khách hàng • Ngược lại: Huỷ giao dịch • Đặc tả tiến trình “Lập phiếu yêu cầu” Đầu vào: Yêu cầu nhập hàng Đầu ra: Phiếu yêu cầu Nội dung xử lí Lặp: Yêu cầu nhập hàng • Nếu: Hàng trong kho hết hoặc không đủ đáp ứng nhu cầu • Thì: Gửi phiếu yêu cầu cho bộ phận quản lí • Ngược lại: Huỷ gửi phiếu yêu cầu • Đặc tả tiến trình “Lập phiếu nhập kho” Đầu vào: Mặt hàng + phiếu giao hàng Đầu ra: Phiếu nhập kho Nội dung xử lí Lặp: Tiếp nhận hàng từ nhà cung cấp • Kiểm tra mặt hàng • Nếu: Đảm bảo chất lượng, số lượng • Thì: Nhận hàng, phiếu giao hàng • Ngược lại: Không nhận hàng, phiếu giao hàng Đến khi: Nhận đủ hàng Thì: Lập phiếu nhập kho Ngược lại: Huỷ giao dịch • Đặc tả tiến trình “Lập phiếu xuất kho” Đầu vào: Yêu cầu xuất kho Đầu ra: Phiếu xuất kho, mặt hàng xuất Nội dung xử lí Lặp: Nhận yêu cầu xuất kho • Kiểm tra mặt hàng • Nếu: Đảm bảo chất lượng, số lượng • Thì: Lập phiếu xuất kho và xuất hàng • Ngược lại: Báo lại cho bên yêu cầu Đến khi: Đáp ứng đủ mặt hàng yêu cầu • Đặc tả tiến trình “Lập phiếu kiểm kho” Đầu vào: Yêu cầu kiểm kho Đầu ra: Phiếu kiểu kho Nội dung xử lí Lặp: Nhận yêu cầu kiểm kho • Tiến hành kiểm kho • Nếu: Không có vấn đề khi kiểm kho • Thì: Lập phiếu kiểm kho và gửi cho bên yêu cầu • Ngược lại: Báo lại cho bên yêu cầu Đến khi: Hết yêu cầu kiểm kho • Đặc tả tiến trình “Đặt hàng từ nhà cung cấp” Đầu vào: Phiếu yêu cầu Đầu ra: Gửi đơn đặt hàng cho nhà cung cấp Nội dung xử lí Lặp: Nhận phiếu yêu cầu nhập hàng • Nếu: Có phiếu yêu cầu từ bên quản lí kho hàng • Thì: Gửi đơn đặt hàng • Ngược lại: Huỷ gửi đơn đặt hàng • Đặc tả tiến trình “Thanh toán hoá đơn đặt hàng” Đầu vào: Phiếu nhập kho từ bên quản lí kho hàng Đầu ra: Thanh toán hoá đơn đặt hàng Nội dung xử lí Lặp: Nhận phiếu nhập kho • Nếu: Nhận được phiếu nhập kho • Thì: Tiến hành thanh toán hoá đơn đặt hàng • Ngược lại: Không thanh toán • Đặc tả tiến trình “Báo cáo thống kê doanh thu” Đầu vào: Yêu cầu từ quản lí Đầu ra: Báo cáo thống kê doanh thu Nội dung xử lí Lặp: Nhận yêu cầu từ quản lí • Nếu: Nhận được yêu cầu từ quản lí • Thì: Thống kê trong ngày theo các tiêu chí • Ngược lại: Không thống kê Đến khi: Thống kê xong Thì: Lập báo cáo thông kê doanh thu, báo cáo chi tiết và gửi cho quản lí • Đặc tả tiến trình “Cập nhật đơn giá” Đầu vào: Yêu cầu từ quản lí Đầu ra: Cập nhật đơn giá Nội dung xử lí Lặp: Nhận yêu cầu từ quản lí • Nếu: Nhận được yêu cầu từ quản lí • Thì: Kiểm tra và cập nhật lại đơn giá vào hệ thống • Ngược lại: Không cập nhật 2.2. Phân tích dữ liệu nghiệp vụ 2.2.1. Mô hình dữ liệu ban đầu 2.2.1.1. Xác định kiểu thực thể, kiểu thuộc tính • Xác định kiểu thực thể Tài nguyên: o Tài sản: Hàng tồn o Con người: Khách hàng, Nhà cung cấp o Kho bãi: Không có Giao dịch: o Có mẫu biểu: ĐƠN ĐẶT HÀNG, PHIẾU GIAO HÀNG, HOÁ ĐƠN THANH TOÁN, PHIẾU NHẬP KHO, PHIẾU XUẤT KHO, HOÁ ĐƠN MUA HÀNG, PHIẾU YÊU CẦU o Không có mẫu biểu: Không có Từ những phân tích trên, ta có các thực thể sau: o HÀNG TỒN o KHÁCH HÀNG o NHÀ CUNG CẤP o ĐƠN ĐẶT HÀNG o PHIẾU GIAO HÀNG o HOÁ ĐƠN THANH TOÁN o PHIẾU NHẬP KHO o PHIẾU XUẤT KHO o HOÁ ĐƠN MUA HÀNG o PHIẾU YÊU CẦU • Xác định kiểu thuộc tính: o Từ mẫu biểu: ĐƠN ĐẶT HÀNG(mã đơn đặt hàng, mã nhà cung cấp, ngày đặt hàng, tên nhà cung cấp, địa chỉ NCC, số điện thoại NCC, mã hàng, tên hàng, đơn vị tính, số lượng, đơn giá, thành tiền, tổng tiền) PHIẾU GIAO HÀNG(tên nhà cung cấp, địa chỉ NCC, sđt NCC, số tài khoản NCC, mã phiếu giao, ngày giao hàng, mã đơn đặt hàng, tên người nhận, số điện thoại người nhận, chức vụ, địa chỉ nhận, tên hàng giao, số lượng giao, số lượng nhận) HOÁ ĐƠN THANH TOÁN(mã hoá đơn, ngày lập, mã phiếu giao, tên nhà cung cấp, địa chỉ NCC, số điện thoại NCC, hình thức thanh toán, tên hàng, số lượng, thành tiền, tổng tiền) PHIẾU NHẬP KHO(mã phiếu nhập, ngày nhập, người giao hàng, sđt NCC, địa chỉ, số tài khoản, mã phiếu giao, ngày đơn hàng, mã hàng, tên hàng, đơn vị tính, số lượng) PHIẾU XUẤT KHO(mã phiếu xuất, ngày xuất, người xuất kho, chức vụ, sđt, người nhận, mã hàng, tên hàng, đơn vị tính, số lượng xuất) HOÁ ĐƠN MUA HÀNG(mã hoá đơn mua, ngày mua hàng, mã nhân viên, tên nhân viên, tên khách hàng, sđt khách hàng, hình thức thanh toán, tên hàng, số lượng, đơn giá, thành tiền, tổng tiền, tiền khách đưa, tiền thừa) PHIẾU YÊU CẦU(mã phiếu yêu cầu, ngày lập phiếu yêu cầu, mã hàng, số lượng dự kiến, số lượng tồn, ngưỡng) o Từ nguồn ngoài: HÀNG TỒN(mã hàng, tên hàng, số lượng tồn, đơn vị tính, giá bán) KHÁCH HÀNG(mã khách hàng, tên khách hàng, địa chỉ, số điện thoại) NHÀ CUNG CẤP(tên nhà cung cấp, mã nhà cung cấp, địa chỉ, số điện thoại, số tài khoản, mã hàng mua, đơn giá mua) 2.2.1.2. Xác định kiểu liên kết 2.2.1.3. Mô hình thực thể liên kết mở rộng Ký hiệu sử dụng Kiểu thực thể và thuộc tính Kiểu liên kết và bản số Quan hệ liên kết 11 Quan hệ liên kết 1n Quan hệ liên kết nn Mô hình thực thể liên kết mở rộng 2.2.2. Chuẩn hoá dữ liệu 2.2.2.1. Chuyển đổi từ ERD mở rộng về ERD kinh điển Chuyển đổi các kiểu thuộc tính đa trị về đơn trị • ĐƠN ĐẶT HÀNG(mã đơn đặt hàng, mã nhà cung cấp, ngày đặt hàng, tên nhà cung cấp, địa chỉ NCC, số điện thoại NCC, mã hàng(), tên hàng(), đơn vị tính(), số lượng(), đơn giá(), thành tiền(), tổng tiền) áp dụng quy tắc 1 ta có: • PHIẾU GIAO HÀNG(tên nhà cung cấp, địa chỉ NCC, sđt NCC, số tài khoản NCC, mã phiếu giao, ngày giao hàng, mã đơn đặt hàng, tên người nhận, số điện thoại người nhận, chức vụ, địa chỉ nhận, tên hàng giao(), số lượng giao(), số lượng nhận()) áp dụng quy tắc 1 ta có: • HOÁ ĐƠN THANH TOÁN(mã hoá đơn, ngày lập, mã phiếu giao, tên nhà cung cấp, địa chỉ NCC, số điện thoại NCC, hình thức thanh toán, tên hàng(), số lượng(), thành tiền(), tổng tiền) áp dụng quy tắc 1 ta có: • PHIẾU NHẬP KHO(mã phiếu nhập, ngày nhập, người giao hàng, sđt NCC, địa chỉ, số tài khoản, mã đơn hàng(), ngày đơn hàng(), mã hàng(), tên hàng(), đơn vị tính(), số lượng()) áp dụng quy tắc 1 ta có: • PHIẾU XUẤT KHO(mã phiếu xuất, ngày xuất, người xuất kho, chức vụ, sđt, người nhận, mã hàng(), tên hàng(), đơn vị tính(), số lượng xuất()) áp dụng quy tắc 1 ta có: • HOÁ ĐƠN MUA HÀNG(mã hoá đơn mua, ngày mua hàng, mã nhân viên, tên nhân viên, tên khách hàng, sđt khách hàng, hình thức thanh toán, tên hàng(), số lượng(), đơn giá(), thành tiền(), tổng tiền, tiền khách đưa, tiền thừa) áp dụng quy tắc 1 ta có: • PHIẾU YÊU CẦU(mã phiếu yêu cầu, ngày lập phiếu yêu cầu, mã hàng(), số lượng dự kiến(), số lượng tồn(), ngưỡng()) áp dụng quy tắc 1 ta có: Không có thuộc tính sơ đẳng Xác định khoá của kiểu thực thể chính Mô hình ERD kinh điển Khoá là chữ in đậm gạch chân 2.2.2.2. Chuyển đổi từ ERD kinh điển về ERD hạn chế Xử lý kiểu liên kết 11: áp dụng quy tắc 5 • Đơn đặt hàng – phiếu giao hàng(11): Thành: • Phiếu giao hàng – phiếu nhập kho (11): Thành • Phiếu nhập kho – hoá đơn thanh toán (11): Thành Xử lí kiểu liên kết nn: áp dụng quy tắc 6 • nhà cung cấp – hàng tồn (nn): Thành Xác định kiểu liên kết 1n: Xác định kiểu thuộc tính kết nối (khoá ngoài) Xác định khoá chính cho các kiểu thực thể: áp dụng quy tắc 8 Đối với các kiểu thực thể chính: Khoá chính là khoá đơn. Ta xác định được khoá chính của các kiểu thực thể chính sau: Đối với kiểu thực thể phụ thuộc: Khoá chính là khối bội. Ta xác định được khoá chính cho các kiểu thực thể phụ thuộc: Ta được bảng: Mô hình EDR hạn chế: Khoá chính: in đậm gạch chân Khoá ngoại: in nghiêng đậm Mô hình: 2.2.2.3. Chuyển đổi từ ERD hạn chế về mô hình quan hệ Chuyển kiểu thực thể thành bảng quan hệ: Mỗi thực thể ở mô hình ERD hạn chế sẽ thành một bảng quan hệ ở mô hình quan hệ. Mã hoá tên kiểu thực thể thành tên bảng quan hệ: Có 18 kiểu thực thể ứng với 18 bảng quan hệ như sau • HANGTON: idhang, tenhang, soluongton, dvt, giaban • KHACHHANG: idkhachhang, tenkhachhang, diachi, sdt • NCC: idncc, tenncc, diachincc, sdtncc, stk • HANG_NCC: idhang, idncc, dongiamua • DDHANG: iddondathang, idncc, ngaydathang • CT_DDHANG: iddondathang, idhang, soluongdat • PGHANG: idphieugiao, ngaygiaohang, idncc, iddondathang, nguoigiao, tennguoinhan, sdtnguoinhan, chucvu, diachinhan • CT_PGHANG: idphieugiao, idhang, soluonggiao, soluongnhan • HDTHANHTOAN: idhoadon, idphieunhap, idncc, ngaylap,htttoan • CT_HDTHANHTOAN: idhoadon, idhang, soluongmua • PNKHO: idphieunhap, idphieugiao, ngaynhap • CT_PNKHO: idphieunhap, idhang, soluongnhap • PXKHO: idphieuxuat, ngayxuat, nguoixuat, chucvu, nguoinhan • CT_PXKHO: idphieuxuat, idhang, soluongxuat • HDMUAHANG: idhoadonmua, idkhachhang, ngaymuahang, manhanvien, tennhanvien, httt,tienkhachdua • CT_HDMUAHANG: idhoadonmua, idhang, soluong • PYCAU: idphieuyeucau, ngaylapphieuyeucau • CT_PYCAU: idphieuyeucau, idhang¸soluongdukien, nguong Kiểu thuộc tính khoá chuyển sang bảng tương ứng là khoá của bảng Kiểu thuộc tính mô tả: Kết xuất được thì bỏ đi Xuất hiện ở một nơi chuyển sang bảng tương ứng Xuất hiện ở nhiều nơi, chỉ chuyển sang một bảng chính Bảng CT_PNKHO, CT_DDHANG, CT_PXKHO, CT_ PGHANG có thuộc tính tên hàng ta lược bỏ đi được vì có thể suy ra từ mã hàng. Bảng CT_ HDMUAHANG, CT_ DDHANG có thuộc tính tổng tiền,thành tiền ta lược bỏ đi được vì có thể suy ra từ đơn giá, số lượng,… Các bảng HDTHANHTOAN, HANG_NCC, CT_ DDHANG, PGHANG có thuộc tính Tên NCC, địa chỉ NCC, sdt NCC có thể lược bỏ được vì có thể suy ra từ maNCC. Mô hình quan hệ: 2.2.3. Đặc tả dữ liệu 1. HANGTON STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idhang C(10) Mã hàng 2 tenhang C(30) Tên hàng 3 soluongton N(3) Số lượng tồn 4 dvt C(10) Đơn vị tính 5 giaban N(3) Giá bán 2. KHACHHANG STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idkhachhang C(10) Mã khách hàng 2 tenkhachhang C(30) Tên khách hàng 3 diachi C(50) Địa chỉ khách hàng 4 sdt C(10) SĐT khách hàng 3. NCC STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idncc C(10) Mã nhà cung cấp 2 tenncc C(30) Tên nhà cung cấp 3 diachincc C(50) Địa chỉ nhà cung cấp 4 sdtncc C(10) SĐT nhà cung cấp 5 stk C(12) Số tài khoản nhà cung cấp 4. HANG_NCC STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x idhang C(10) Mã hàng 2 x x idncc C(10) Mã nhà cung cấp 3 dongiamua N(3) Địa chỉ khách hàng 5. DDHANG STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x iddondathang C(10) Mã đơn đặt hàng 2 x idncc C(10) Mã nhà cung cấp 3 ngaydathang D(8) Ngày đặt hàng 6. CT_DDHANG STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x iddondathang C(10) Mã đơn đặt hàng 2 x x idhang C(10) Mã hàng 3 soluongdat N(3) Số lượng đặt 7. PGHANG STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idphieugiao C(10) Mã phiếu giao 2 ngaygiaohang D(8) Ngày giao hàng 3 x idncc C(10) Mã nhà cung cấp 4 x iddondathang C(10) Mã đơn đặt hàng 5 nguoigiao C(30) Tên người giao 6 tennguoinhan C(30) Tên người nhận 7 sdtnguoinhan N(10) Số điện thoại người nhận 8 chucvu C(30) Chức vụ người nhận 9 diachinhan C(50) Địa chỉ nhận 8. CT_PGHANG STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x idphieugiao C(10) Mã phiếu giao 2 x x idhang C(10) Mã hàng 3 soluonggiao N(3) Số lượng hàng giao 4 soluongnhan N(3) Số lượng hàng nhận 9. HDTHANHTOAN STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idhoadon C(10) Mã hoá đơn 2 x idphieunhap C(10) Mã phiếu nhập 3 x idncc C(10) Mã nhà cung cấp 4 ngaylap D(8) Ngày lập hoá đơn 5 htttoan C(10) Hình thức thanh toán 10. CT_HDTHANHTOAN STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x idhoadon C(10) Mã hoá đơn 2 x x idhang C(10) Mã hàng 3 soluongmua N(3) Số lượng mua 11. PNKHO STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idphieunhap C(10) Mã phiếu nhập 2 x idphieugiao C(10) Mã phiếu giao 3 ngaynhap D(8) Ngày nhập 12. CT_PNKHO STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x idphieunhap C(10) Mã phiếu nhập 2 x x idhang C(10) Mã hàng 3 soluongnhap N(3) Số lượng nhập 13. PXKHO STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idphieuxuat C(10) Mã phiếu xuất 2 x ngayxuat D(8) Ngày xuất 3 nguoixuat C(30) Tên người xuất 4 chucvu C(30) Chức vụ người xuất 5 nguoinhan C(30) Tên người nhận 14. CT_PXKHO STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x idphieuxuat C(10) Mã phiếu xuất 2 x x idhang C(10) Mã hàng 3 soluongxuat N(3) Số lượng xuất 15. HDMUAHANG STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idhoadonmua C(10) Mã hoá đơn mua 2 x idkhachhang C(10) Mã khách hàng 3 ngaymuahang D(8) Ngày mua hàng 4 manhanvien C(10) Mã nhân viên 5 tennhanvien C(30) Tên nhân viên 6 httt C(10) Hình thức thanh toán 7 tienkhachdua N(3) Tiền khách đưa 16. CT_HDMUAHANG STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x idhoadonmua C(10) Mã hoá đơn 2 x x idhang C(10) Mã hàng 3 soluong N(3) Số lượng 17. PYCAU STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x idphieuyeucau C(10) Mã phiếu yêu cầu 2 ngaylapphieuyeucau D(8) Ngày lập phiếu yêu cầu 18. CT_PYCAU STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải 1 x x idphieuyeucau C(10) Mã phiếu yêu cầu 2 x x idhang C(10) Mã hàng 3 soluongdukien N(3) Số lượng dự kiến 4 nguong N(3) Ngưỡng CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 3.1. Thiết kế cơ sở dữ liệu 3.1.1. Thiết kế bảng dữ liệu phục vụ bảo mật Để đảm bảo trong việc bảo mật và quản lý người dùng ta có những bảng sau: Bảng Nhóm người dùng: Lưu trữ thông tin quyền hạn và bảng được phép tác động của mỗi quyền N_NGUOIDUNG (idquyen, tenquyen, bangtacdong, tacvu) N_NGUOIDUNG idquyen tenquyen bangtacdong tacvu Bảng Quản trị: Lưu trữ thông tin tên, tên tài khoản, mật khẩu, email, số điện thoại của người quản trị hệ thống QUANTRI (idquantri, tennguoiquantri, tentaikhoan, matkhau, email, sdtnguoiquantri) QUANTRI idquantri tennguoiquantri tentaikhoan matkhau email sdtnguoiquantri Bảng Tài khoản: Lưu trữ thông tin tên, tên đăng nhập, mật khẩu, số điện thoại, chức vụ và quyền hạn của các nhóm người dùng TAIKHOAN (idtaikhoan, idquyen, tennguoidung, tendangnhap, matkhau, sdtnguoidung, chucvu) TAIKHOAN idtaikhoan idquyen tennguoidung tendangnhap matkhau sdtnguoidung chucvu 3.1.2. Xác định thuộc tính kiểm soát, bảng kiểm soát Để giao dịch tiền trở nên dễ dàng, thuận tiện hơn, cũng như sự chính xác trong việc lập hoá đơn, kiểm soát số tiền của từng hoá đơn • Thiết lập quan hệ giữa bảng N_NGUOIDUNG, QUANTRI, TAIKHOAN • Trong HDMUAHANG, PXKHO cần xác định rõ người lập. Việc đó sẽ được xác định qua tài khoản thực hiện các tác vụ đó. Do vậy, thêm idtaikhoan vào các bảng và loại bỏ các thuộc tính: nguoixuat, chucvu, manhanvien, tennhanvien HDMUAHANG HDMUAHANG idhoadonmua idkhachhang ngaymuahang manhanvien tennhanvien httt tienkhachdua HDMUAHANG idhoadonmua idkhachhang ngaymuahang idtaikhoan httt tienkhachdua PXKHO PXKHO idphieuxuat ngayxuat nguoixuat chucvu nguoinhan PXKHO idphieuxuat ngayxuat idtaikhoan nguoinhan 3.1.3. Nghiên cứu gom nhóm bảng dữ liệu và thêm trường tính toán • Bảng HANGTON và HANG_NCC thường được truy xuất cùng nhau nên gom thành bảng HANG_TON • Bảng DDHANG và CT_DDHANG thường được truy xuất cùng nhau nên gom thành bảng DD_HANG • Bảng PGHANG và CT_PGHANG thường được truy xuất cùng nhau nên gom thành bảng PG_HANG • Bảng HDTHANHTOAN và CT_HDTHANHTOAN thường được truy xuất cùng nhau nên gom thành bảng HD_THANHTOAN • Bảng PNKHO và CT_PNKHO thường được truy xuất cùng nhau nên gom thành bảng PN_KHO • Bảng PXKHO và CT_PXKHO thường được truy xuất cùng nhau nên gom thành bảng PX_KHO • Bảng HDMUAHANG và CT_HDMUAHANG thường được truy xuất cùng nhau nên gom thành bảng HD_MUAHANG • Bảng PYCAU và CT_PYCAU thường được truy xuất cùng nhau nên gom thành bảng PY_CAU 3.1.4. Mô hình dữ liệu hệ thống Ký hiệu sử dụng + Kiểu thực thể và kiểu thuộc tính + Kiểu liên kết và kiểu bản số Mô hình dữ liệu 3.1.5. Đặc tả bảng dữ liệu • Bảng TAIKHOAN 1. Số hiệu: 1 2. Tên bảng: TAIKHOAN 3. Bí danh: TAIKHOAN 4. Mô tả: Lưu trữ thông tin tên, tên đăng nhập, mật khẩu, số điện thoại, chức vụ và quyền hạn của các nhóm người dùng 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idtaikhoan Mã tài khoản C(10) Chữ cái + Chữ số x 2 idquyen Mã quyền người dùng C(10) Chữ cái + Chữ số x 3 tennguoidung Tên nhân viên C(30) Chữ cái không có ký tự đặc biệt 4 tendangnhap Tài khoản truy cập C(100) Chữ cái + Chữ số trừ ký tự đặc biệt x 5 matkhau Mật khẩu truy cập C(50) Chữ cái, số và ký tự đặc biệt x 6 sdtnguoidung Số điện thoại nhân viên C(10) Chữ số x 7 chucvu Chức vụ nhân viên C(100) Chữ cái 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã quyền người dùng idquyen N_NGUOIDUNG • Bảng N_NGUOIDUNG 1. Số hiệu: 2 2. Tên bảng: N_NGUOIDUNG 3. Bí danh: N_NGUOIDUNG 4. Mô tả: Lưu trữ thông tin quyền hạn và bảng được phép tác động của mỗi quyền 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idquyen Mã quyền người dùng C(10) Chữ cái + Chữ số x 2 tenquyen Tên quyền C(100) Chữ cái không có ký tự đặc biệt 3 bangtacdong Tên bảng tác động C(30) Chữ cái 4 tacvu Tác vụ đối với bảng C(100) Chữ cái x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng • Bảng QUANTRI 1. Số hiệu: 3 2. Tên bảng: QUANTRI 3. Bí danh: QUANTRI 4. Mô tả: Lưu trữ thông tin tên, tên tài khoản, mật khẩu, email, số điện thoại của người quản trị hệ thống 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idquantri Mã người quản trị C(10) Chữ cái + Chữ số x 2 tennguoiquantri Tên người quản trị C(100) Chữ cái không có ký tự đặc biệt 3 tentaikhoan Tên đăng nhập của người quản trị C(30) Chữ cái + Chữ số trừ ký tự đặc biệt x 4 matkhau Mật khẩu đăng nhập C(100) Chữ cái + Chữ số trừ ký tự đặc biệt x 5 email Email của người quản trị C(100) Chữ cái và chữ số đúng dạng email x 6 sdtnguoiquantri Số điện thoại của người quản trị C(10) Chữ số x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng • Bảng HD_MUAHANG 1. Số hiệu: 4 2. Tên bảng: HD_MUAHANG 3. Bí danh: HD_MUAHANG 4. Mô tả: Lưu trữ thông tin của mặt hàng đã mua 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idhoadonmua Mã hoá đơn mua C(10) Chữ cái + Chữ số x 2 idkhachhang Mã khách hàng C(10) Chữ cái + Chữ số x 3 idhang Mã hàng C(10) Chữ cái + Chữ số x 4 ngaymuahang Ngày mua hàng D(10) DDMMYYYY 5 idtaikhoan Mã tài khoản C(10) Chữ cái + Chữ số x 6 httt Hình thức thanh toán C(30) Chữ cái trừ ký tự đặc biệt x 7 tienkhachdua Tiền khách đưa N(20) Số nguyên x 8 soluong Số lượng hàng N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã khách hàng idkhachhang KHACHHANG 2 Mã hàng idhang HANG_TON 3 Mã tài khoản idtaikhoan TAIKHOAN • Bảng DD_HANG 1. Số hiệu: 5 2. Tên bảng: DD_HANG 3. Bí danh: DD_HANG 4. Mô tả: Lưu trữ thông tin của đơn đặt hàng 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 iddondathang Mã đơn đặt hàng C(10) Chữ cái + Chữ số x 2 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x 3 idhang Mã hàng C(10) Chữ cái + Chữ số x 4 ngaydathang Ngày đặt hàng D(10) DDMMYYYY 5 soluongdat Số lượng đặt N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã nhà cung cấp idncc NCC 2 Mã hàng idhang HANG_TON • Bảng NCC 1. Số hiệu: 6 2. Tên bảng: NCC 3. Bí danh: NCC 4. Mô tả: Lưu trữ thông tin của nhà cung cấp 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x 2 tenncc Tên nhà cung cấp C(30) Chữ cái trừ ký tự đặc biệt 3 diachincc Địa chỉ nhà cung cấp C(100) Chữ cái + Chữ số trừ ký tự đặc biệt x 4 sdtncc Số điện thoại nhà cung cấp C(10) Chữ số x 5 stk Số tài khoản nhà cung cấp N(20) Chữ số x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng • Bảng PX_KHO 1. Số hiệu: 7 2. Tên bảng: PX_KHO 3. Bí danh: PX_KHO 4. Mô tả: Lưu trữ thông tin của phiếu xuất kho 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idphieuxuat Mã phiếu xuất C(10) Chữ cái + Chữ số x 2 idhang Mã hàng C(10) Chữ cái + Chữ số x 3 ngayxuat Ngày xuất kho D(10) DDMMYYYY 4 idtaikhoan Mã tài khoản C(10) Chữ cái + Chữ số x 5 nguoinhan Tên người nhận C(30) Chữ cái trừ ký tự đặc biệt 6 soluongxuat Số lượng xuất kho N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã hàng idhang HANG_TON 2 Mã tài khoản idtaikhoan TAIKHOAN • Bảng HANG_TON 1. Số hiệu: 8 2. Tên bảng: HANG_TON 3. Bí danh: HANG_TON 4. Mô tả: Lưu trữ thông tin các mặt hàng 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idhang Mã hàng C(10) Chữ cái + Chữ số x 2 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x 3 tenhang Tên hàng C(30) Chữ cái trừ ký tự đặc biệt 4 soluongton Số lượng tồn N(20) Số nguyên x 5 dvt Đơn vị tính C(10) Chữ cái + chữ số 6 giaban Giá bán N(20) Số nguyên x 7 dongiamua Đơn giá mua N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã nhà cung cấp idncc NCC • Bảng PG_HANG 1. Số hiệu: 9 2. Tên bảng: PG_HANG 3. Bí danh: PG_HANG 4. Mô tả: Lưu trữ thông tin phiếu giao hàng 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idphieugiao Mã phiếu giao C(10) Chữ cái + Chữ số x 2 ngaygiaohang Ngày giao hàng D(10) DDMMYYYY x 3 idhang Mã hàng C(10) Chữ cái + Chữ số x 4 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x 5 iddondathang Mã đơn đặt hàng C(10) Chữ cái + chữ số x 6 nguoigiao Tên người giao C(30) Chữ cái trừ ký tự đặc biệt 7 tennguoinhan Tên người nhận C(30) Chữ cái trừ ký tự đặc biệt 8 sdtnguoinhan Số điện thoại người nhận C(10) Chữ số x 9 chucvu Chức vụ người nhận C(30) Chữ cái trừ ký tự đặc biệt 10 diachinhan Địa chỉ nhận C(100) Chữ cái + Chữ số trừ ký tự đặc biệt 11 soluonggiao Số lượng giao N(20) Số nguyên x 12 soluongnhan Số lượng nhận N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã hàng idhang HANG_TON 2 Mã nhà cung cấp idncc NCC 3 Mã đơn đặt hàng iddondathang DD_HANG • Bảng KHACHHANG 1. Số hiệu: 10 2. Tên bảng: KHACHHANG 3. Bí danh: KHACHHANG 4. Mô tả: Lưu trữ thông tin khách hàng 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idkhachhang Mã khách hàng C(10) Chữ cái + Chữ số x 2 tenkhachhang Tên khách hàng C(30) Chữ cái trừ ký tự đặc biệt 3 diachi Địa chỉ khách hàng C(100) Chữ cái trừ ký tự đặc biệt 4 sdt Số điện thoại khách hàng N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng • Bảng PN_KHO 1. Số hiệu: 11 2. Tên bảng: PN_KHO 3. Bí danh: PN_KHO 4. Mô tả: Lưu trữ thông tin phiếu nhập kho 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idphieunhap Mã phiếu nhập C(10) Chữ cái + Chữ số x 2 idphieugiao Mã phiếu giao C(10) Chữ cái + Chữ số x 3 idhang Mã hàng C(10) Chữ cái + Chữ số x 4 ngaynhap Ngày nhập D(10) DDMMYYYY 5 soluongnhap Số lượng nhập N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã phiếu giao idphieugiao PG_HANG 2 Mã hàng idhang HANG_TON • Bảng PY_CAU 1. Số hiệu: 12 2. Tên bảng: PY_CAU 3. Bí danh: PY_CAU 4. Mô tả: Lưu trữ thông tin phiếu yêu cầu 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idphieuyeucau Mã phiếu yêu cầu C(10) Chữ cái + Chữ số x 2 idhang Mã hàng C(10) Chữ cái + Chữ số x 3 ngaylapphieuyeucau Ngày lập phiếu yêu cầu D(10) DDMMYYYY 4 soluongdukien Số lượng dự kiến N(20) Số nguyên x 5 nguong Ngưỡng N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã hàng idhang HANG_TON • Bảng HD_THANHTOAN 1. Số hiệu: 13 2. Tên bảng: HD_THANHTOAN 3. Bí danh: HD_THANHTOAN 4. Mô tả: Lưu trữ thông tin hoá đơn thanh toán 5. Mô tả chi tiết các cột Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N 1 idhoadon Mã hoá đơn C(10) Chữ cái + Chữ số x 2 idphieunhap Mã phiếu nhập C(10) Chữ cái + Chữ số x 3 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x 4 idhang Mã hàng C(10) Chữ cái + Chữ số x 5 ngaylap Ngày lập hoá đơn D(10) DDMMYYYY 6 htttoan Hình thức thanh toán C(30) Chữ cái trừ ký tự đặc biệt 7 soluongmua Số lượng mua N(20) Số nguyên x 6. Khoá ngoài Số Tên Cột khoá ngoài Quan hệ với bảng 1 Mã phiếu nhập idphieunhap PN_KHO 2 Mã nhà cung cấp idncc NCC 3 Mã hàng idhang HANG_TON 3.2. Thiết kế giao diện người – máy 3.2.1. Thiết kế hệ thống đơn chọn 3.2.2. Thiết kế form nhập liệu cho danh mục (2 danh mục) Danh mục thông tin nhà cung cấp • Giao diện danh mục Tên giao diện: Form Quản lý thông tin nhà cung cấp Người sử dụng: Nhân viên bộ phận quản lý Nhiệm vụ: Cập nhật thông tin nhà cung cấp vào hệ thống Mẫu thiết kế: • Tiền điều kiện: Đã đăng nhập với quyền nhân viên bộ phận quản lý • Hậu điều kiện: Trở về màn hình chính • Biểu đồ hoạt động: • Bảng dữ liệu: Ký hiệu R: Read, E:Edit, D:Delete,C:Create Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc NCC idncc C,R Chữ cái + Chữ số tenncc C,E,R,D Chữ cái trừ ký tự đặc biệt diachincc C,E,R,D Chữ cái + Chữ số trừ ký tự đặc biệt sdtncc C,E,R,D Chữ số stk C,E,R,D Chữ số • Quy trình, công thức xử lý txtTimkiem: Sau khi nhập thông tin cần tìm vào txtTimkiem, các thông tin trùng với thông tin đã nhập sẽ được hiển thị lên datagridview. btnThem: Khi nhấn nút này các ô txtMancc, txtTenncc, txtDiachi, txtSdt, txtStk sẽ có thuộc tính Enable = true để người dùng có thể nhập các thông tin của nhà cung cấp. Sau khi người dùng nhập đủ các thông tin cần thiết sẽ bấm btnThem để thêm mới. Thông tin sau khi thêm thành công sẽ hiển thị ở datagridview. btnSua: Sau khi nhấn nút này, các ô txtTenncc, txtDiachi, txtSdt, txtStk sẽ có thuộc tính Enable = true và hiển thị thông tin của hàng người dùng đang chọn trên datagridview, người dùng có thể thay đổi thông tin trong các ô nhập đó, đồng thời nút btnSua sẽ đổi thành btnLuu. Sau khi thay đổi thông tin xong người dùng bấm nút btnLuu để lưu mới thông tin. btnXoa: Sau khi nhấn nút này, một formThongbao sẽ hiện lên hỏi người dùng có chắc chắn muốn xoá hàng đang chọn trên datagridview hay không, nếu nhấn “Có” thì trường dữ liệu đang chọn sẽ bị xoá, ngược lại nhấn “Không” thì dữ liệu sẽ không bị xoá. Datagridview: Hiển thị dữ liệu của các ô txtMancc, txtTenncc, txtDiachi, txtSdt, txtStk. Khi người dùng chọn 1 hàng trên datagridview, các thông tin của dòng đó sẽ được hiển thị tương ứng lên các ô txtMancc, txtTenncc, txtDiachi, txtSdt, txtStk. Định dạng kết quả đầu ra: Bảng dữ liệu thay đổi: NCC. Trạng thái hệ thống sau khi thoát: Trở về trạng thái trước khi chọn giao diện. Danh mục thông tin khách hàng • Giao diện danh mục Tên giao diện: Form Quản lý thông tin khách hàng Người sử dụng: Nhân viên bộ phận bán hàng Nhiệm vụ: Cập nhật thông tin khách hàng trong hệ thống Mẫu thiết kế: • Tiền điều kiện: Đã đăng nhập với quyền nhân viên bộ phận bán hàng • Hậu điều kiện: Trở về màn hình chính • Biểu đồ hoạt động: • Bảng dữ liệu: • Ký hiệu R: Read, E:Edit, D:Delete,C:Create Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc KHACHHANG idkhachhang C,R Chữ cái + Chữ số tenkhachhang C,E,R,D Chữ cái trừ ký tự đặc biệt diachi C,E,R,D Chữ cái + Chữ số trừ ký tự đặc biệt sdt C,E,R,D Chữ số • Quy trình, công thức xử lý: txtTimkiem: Sau khi nhập thông tin cần tìm vào txtTimkiem, các thông tin trùng với thông tin đã nhập sẽ được hiển thị lên datagridview. btnThem: Khi nhấn nút này các ô txtMakh, txtTenkh, txtDiachi, txtSdt, sẽ có thuộc tính Enable = true để người dùng có thể nhập các thông tin của khách hàng. Sau khi người dùng nhập đủ các thông tin cần thiết sẽ bấm btnThem để thêm mới. Thông tin sau khi thêm thành công sẽ hiển thị ở datagridview. btnSua: Sau khi nhấn nút này, các ô txtTenkh, txtDiachi, txtSdt sẽ có thuộc tính Enable = true và hiển thị thông tin của hàng người dùng đang chọn trên datagridview, người dùng có thể thay đổi thông tin trong các ô nhập đó, đồng thời nút btnSua sẽ đổi thành btnLuu. Sau khi thay đổi thông tin xong người dùng bấm nút btnLuu để lưu mới thông tin. btnXoa: Sau khi nhấn nút này, một formThongbao sẽ hiện lên hỏi người dùng có chắc chắn muốn xoá hàng đang chọn trên datagridview hay không, nếu nhấn “Có” thì trường dữ liệu đang chọn sẽ bị xoá, ngược lại nhấn “Không” thì dữ liệu sẽ không bị xoá. Datagridview: Hiển thị dữ liệu của các ô txtMakh, txtTenkh, txtDiachi, txtSdt. Khi người dùng chọn 1 hàng trên datagridview, các thông tin của dòng đó sẽ được hiển thị tương ứng lên các ô txtMakh, txtTenkh, txtDiachi, txtSdt. Định dạng kết quả đầu ra: Bảng dữ liệu thay đổi: KHACHHANG. Trạng thái hệ thống sau khi thoát: Trở về trạng thái trước khi chọn giao diện. 3.2.3.Thiết kế form xử lý nghiệp vụ (2 nghiệp vụ) Nghiệp vụ thanh toán hoá đơn đặt hàng Tên giao diện: Form Thanh toán hoá đơn đặt hàng Người sử dụng: Nhân viên bộ phận tài chính Nhiệm vụ: Thanh toán hoá đơn đặt hàng từ nhà cung cấp Mẫu thiết kế: • Tiền điều kiện: Đã đăng nhập với quyền nhân viên tài chính • Hậu điều kiện: Trở về màn hình chính • Biểu đồ hoạt động: • Bảng dữ liệu: Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc HD_THANHTOAN idhoadon R idphieunhap R idncc R idhang R ngaylap R htttoan R soluongmua R HANG_TON idhang R idncc R tenhang R soluongton R dvt R giaban R dongiamua R PN_KHO idphieunhap R idphieugiao R idhang R ngaynhap R soluongnhap R NCC idncc R tenncc R diachincc R sdtncc R stk R • Quy trình, công thức xử lý: btnInhoadon: Khi nhấn vào nút này, màn hình sẽ hiện ra một formThongbao hỏi có muốn in hoá đơn hay không. Nếu chọn “Có” một formInhoadon sẽ hiển thị, ngược lại nếu chọn “Không” formInhoadon sẽ không được hiển thị. Tất cả dữ liệu đều được lấy từ các bảng liên kết với nhau nên các ô txtMahd, txtMapn, txtMancc, txtMahang, dtNgaylap, txtHttt, numSlmua sẽ có thuộc tính Enabled = false. btnChitiethoadon: Khi nhấn nút này, formChitiethoadon sẽ được hiển thị trong đó chứa các thông tin chi tiết về hoá đơn. txtTongtien: Sẽ tự động tính toán và hiển thị tổng tiền khi có dữ liệu ở các ô txtMahang và numSlmua. Dữ liệu ô numTongtien = thuộc tính dvt trong txtMahang dữ liệu trong numSlmua. Datagridview: Hiển thị dữ liệu của các ô txtMakh, txtTenkh, txtDiachi, txtSdt. Khi người dùng chọn 1 hàng trên datagridview, các thông tin của dòng đó sẽ được hiển thị tương ứng lên các txtMahd,txtMapn, txtMancc, txtMahang, dtNgaylap, txtHttt, numSlmua, numTongtien. Nghiệp vụ thanh toán hoá đơn mua hàng Tên giao diện: Form Thanh toán hoá đơn mua hàng Người sử dụng: Nhân viên bộ phận bán hàng Nhiệm vụ: Thanh toán hoá đơn mua hàng cho khách hàng Mẫu thiết kế: • Tiền điều kiện: Đã đăng nhập với quyền nhân viên bộ phận bán hàng • Hậu điều kiện: Trở về màn hình chính • Biểu đồ hoạt động: • Bảng dữ liệu: Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc HD_MUAHANG idhoadonmua R idkhachhang R idhang R ngaymuahang R idtaikhoan R httt R tienkhachdua R soluong R KHACHHANG idkhachhang R tenkhachhang R diachi R sdt R TAIKHOAN idtaikhoan R idquyen R tennguoidung R tendangnhap R matkhau R sdtnguoidung R chucvu R HANG_TON idhang R idncc R tenhang R soluongton R dvt R giaban R dongiamua R • Quy trình, công thức xử lý: btnInhoadon: Khi nhấn vào nút này, màn hình sẽ hiện ra một formThongbao hỏi có muốn in hoá đơn hay không. Nếu chọn “Có” một formInhoadon sẽ hiển thị, ngược lại nếu chọn “Không” formInhoadon sẽ không được hiển thị. Tất cả dữ liệu đều được lấy từ các bảng liên kết với nhau nên các ô txtMahdm, txtMakh, txtMatk, txtMahang, dtNgaymuahang, txtHttt, numSlmua, numTkd sẽ có thuộc tính Enabled = false btnChitiethoadon: Khi nhấn nút này, formChitiethoadon sẽ được hiển thị trong đó chứa các thông tin chi tiết về hoá đơn. numTongtien: Sẽ tự động tính toán và hiển thị tổng tiền khi có dữ liệu ở các ô txtMahang và numSlmua. Dữ liệu ô numTongtien = thuộc tính dvt trong txtMahang dữ liệu trong numSlmua numTienthua: Sẽ được tự động tính toán và hiển thị tiền thừa khi có dữ liệu ở các ô numTongtien và numTkd. Dữ liệu ô numTienthua = numTkd – numTongtien. Datagridview: Hiển thị dữ liệu của các ô txtMahd, txtMakh, txtMatk, txtMahang, dtNgaymuahang, txtHttt, numTongtien. Khi người dùng chọn 1 hàng trên datagridview, các thông tin của dòng đó sẽ được hiển thị tương ứng lên các txtMahd txtMakh, txtMatk, txtMahang, dtNgaymuahang, txtHttt, numTongtien. 3.2.4. Thiết kế báo cáo (01 báo cáo nghiệp vụ + 01 báo cáo thống kê) Báo cáo nghiệp vụ: Tên báo cáo: Hoá đơn thanh toán Người lập: Nhân vi
KHẢO SÁT HỆ THỐNG
Mô tả hệ thống
Lấy hàng từ nhà cung cấp bán cho khách hàng.
Nhận sản phẩm từ khách hàng và tiến hành thanh toán cho khách hàng.
Nhập hàng từ nhà cung cấp và thanh toán cho nhà cung cấp.
- Tiếp nhận sản phẩm của khách hàng.
- Thanh toán cho khách hàng.
- Lập hoá đơn mua hàng.
- Nhận hàng từ nhà cung cấp và kiểm tra các sản phẩm.
- Nhận phiếu giao hàng từ nhà cung cấp.
- Báo cáo thống kê tổng doanh thu.
- Cập nhật đơn giá bán.
- Cập nhật đơn giá mua.
- Lập đơn đặt hàng từ nhà cung cấp.
- Lập hoá đơn thanh toán cho nhà cung cấp.
1.1.3 Quy trình xử lý và các quy tắc quản lý
Quy trình nghiệp vụ nhập hàng từ nhà cung cấp
Khi cần nhập thêm hàng, thủ kho sẽ lập phiếu yêu cầu (MB11) gửi đến bộ phận quản lý để tiến hành liên hệ với nhà cung cấp.
1 cập nhật thông tin của nhà cung cấp( MB1) và lập đơn đặt hàng ( MB2 ) (3).
Đơn giá mua hàng đã được nhà cung cấp ký hợp đồng với quản lý siêu thị Trong hệ thống quản lý bán hàng, hợp đồng này được sử dụng để tham chiếu và xác định giá mua, từ đó thanh toán tiền hàng cho nhà cung cấp.
Khi nhà cung cấp giao hàng, bộ phận kho sẽ tiếp nhận và kiểm tra chất lượng sản phẩm Nếu hàng hóa đạt yêu cầu, sẽ nhận phiếu giao hàng (MB3) từ nhà cung cấp và lập phiếu nhập kho (MB5) Cuối cùng, phiếu nhập kho sẽ được chuyển cho bộ phận quản lý tài chính để tiến hành thanh toán.
Bộ phận quản lý tài chính sử dụng đơn đặt hàng (MB2) để tạo hóa đơn thanh toán (MB4) và thực hiện thanh toán cho nhà cung cấp.
Quy trình nghiệp vụ xuất hàng từ kho lên siêu thị
Khi cần xuất hàng từ kho lên siêu thị, quản lý sẽ yêu cầu bộ phận kho hàng thực hiện xuất hàng Nhân viên kho sẽ kiểm tra số lượng mặt hàng có sẵn Nếu đủ, bộ phận kho sẽ lập phiếu xuất kho (MB6), trong đó ghi rõ các thông tin như mã phiếu xuất, ngày xuất kho, người xuất kho, chức vụ, số điện thoại, người nhận và thông tin hàng xuất.
Quy trình nghiệp vụ bán hàng
Khách hàng lựa chọn sản phẩm mong muốn từ thông tin hàng hóa như mã hàng, tên hàng, nhà sản xuất, hạn sử dụng, trọng lượng và đơn giá Sau khi đã quyết định, họ mang sản phẩm đến quầy thu ngân để thanh toán Nhân viên thu ngân tiếp nhận sản phẩm và thu thập thông tin khách hàng để thực hiện giao dịch Nếu khách hàng đồng ý mua, nhân viên sẽ tiến hành thanh toán và lập hóa đơn mua hàng (MB7) với các thông tin bao gồm mã hóa đơn, mã nhân viên, tên khách hàng, ngày lập, mã hàng, số lượng, đơn giá và tổng tiền Hệ thống sẽ tính toán, hiển thị tổng số tiền khách phải trả, số tiền trả lại và in hóa đơn mua hàng (MB7).
- Sau khi nhân viên thu ngân đóng dấu đã thanh toán (17), khách hàng kiểm tra lại hàng đã mua, hoá đơn và ra về.
Quy trình nghiệp vụ thống kê doanh thu
- Vào cuối mỗi ngày, ban quản lí yêu cầu bộ phận tài chính thống kê trong ngày theo các tiêu chí (18) yêu cầu
Lập báo cáo chi tiết (MB9) bao gồm mã báo cáo, ngày lập, hàng bán, hàng tồn kho, tình trạng hàng và thống kê doanh thu (MB10), so sánh với số tiền thực có Sau đó, gửi báo cáo thống kê doanh thu và báo cáo chi tiết cho ban quản lý.
- Kết thúc mỗi tháng ban quản lí sẽ tổng kết lại và điều chỉnh, đưa ra chiến lược hợp lí cho những tháng tiếp theo.
Quy trình nghiệp vụ kiểm kê hàng hoá
Để đảm bảo chất lượng sản phẩm và sự hài lòng của khách hàng, ban quản lý yêu cầu bộ phận kho hàng định kỳ kiểm tra tình trạng hàng hóa Việc này bao gồm lập phiếu kiểm kho (MB8) với các thông tin cần thiết như mã phiếu kiểm, mã nhân viên, ngày lập, tên hàng, và số lượng, sau đó báo cáo kết quả cho ban quản lý.
Quy trình cập nhật đơn giá bán
- Định kì cứ 3 tháng một lần hệ thống phải cập nhật đơn giá bán (25) do bộ phận quản lí gửi đơn giá bán( MB12 ) xuống.
Quy trình cập nhật đơn giá mua
Khi có sự thay đổi về đơn giá mua, bộ phận quản lý sẽ gửi hợp đồng ký kết cùng với đơn giá mua (MB13) để cập nhật đơn giá mua (26) theo hợp đồng mới trong hệ thống.
Quy tắc quản lí của hệ thống:
- Nhà cung cấp giao hàng theo đúng đơn đặt hàng.
Khi khách hàng đến siêu thị để mua sắm, họ sẽ lập đơn hàng với các mặt hàng theo yêu cầu Khách hàng chỉ được phép mang sản phẩm về sau khi hoàn tất thanh toán.
Mẫu biểu 1: Lưu thông tin hàng của nhà cung cấp (MB1)
Mã nhà cung cấp:……… Địa chỉ:……… SĐT:………
Mã hàng Đơn giá mua
Mẫu biểu 2: Bộ phận quản lí gửi cho nhà cung cấp để đặt hàng (MB2)
Mã nhà cung cấp:………Ngày đặt hàng:………
Tên nhà cung cấp:……… Địa chỉ:………
STT Mã hàng Tên hàng Đơn vị tính
(Kí và ghi rõ họ tên) Nhà cung cấp
(Kí và ghi rõ họ tên)
Mẫu biểu 3: Phiếu giao hàng nhà cung cấp mang cùng hàng đến(MB3)
Theo đơn hàng đặt mã………
STT Tên hàng Số lượng giao Số lượng nhận
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên)
(Kí và ghi rõ họ tên)
Mẫu biểu 4: Hoá đơn thanh toán để thanh toán với nhà cung cấp(MB4)
Thanh toán cho phiếu giao hàng mã………
Tên nhà cung cấp:……….……… Địa chỉ:………SĐT: ……… Hình thức thanh toán:……….
STT Tên hàng Số lượng Thành tiền
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên)
Mẫu biểu 5: Do bộ phận kho lập sau khi nhận và kiểm tra hàng đầy đủ(MB5)
Họ và tên người giao:………. Thuộc đơn vị:……… SĐT:……… Địa chỉ:………Số tài khoản……… Theo mã phiếu giao:………ngày….tháng.…năm….
STT Mã hàng Tên hàng Đơn vị tính
Số lượng Ghi chú Giao Nhận
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên) Thủ kho
(Ký và ghi rõ họ tên)
Mẫu biểu 6: Phiếu xuất kho do bộ phận kho hàng lập(MB6)
Người xuất kho: Chức vụ: SĐT: Người nhận:
STT Mã hàng Tên hàng Đơn vị tính Số lượng xuất Ghi chú
(Ký và ghi rõ họ tên) Người lập phiếu
(Ký và ghi rõ họ tên)
Mẫu biểu 7: Hoá đơn mua hàng bán cho khách(MB7)
Mã hoá đơn:.……… Ngày mua hàng:……… Nhân viên bán hàng:.Mã nhân viên-Tên nhân viên……… Tên khách hàng:………SĐT:………. Hình thức thanh toán:……….
STT Tên hàng Số lượng Đơn giá Thành tiền
Tổng tiền Tiền khách đưa Tiền thừa Đã thanh toán
Mẫu biểu 8: Phiếu kiểm hàng do bộ phận kiểm kho lập(MB8)
Nhân viên:…Mã nhân viên – Tên nhân viên………. Chức vụ:………SĐT:….………
STT Mã hàng Tên hàng Số lượng Tình trạng
(ký và ghi rõ họ tên)
Mẫu biểu 9: Báo cáo chi tiết do bộ phận tài chính lập (MB9)
STT Hàng bán Hàng tồn kho Tình trạng hàng
(Kí và ghi rõ họ tên)
Mẫu biểu 10: Báo cáo thống kê doanh thu do bộ phận tài chính lập(MB10)
Mã:…. Đơn hàng Ghi chú
STT Mã hoá đơn Thành tiền
Tổng chi (ghi thông tin chi sang phần Ghi chú)
(Ký và ghi rõ họ tên)
Mẫu biểu 11: Phiếu yêu cầu do bộ phận kho lập(MB11)
Mã hàng Số lượng dự kiến
Người làm phiếu (ký và ghi rõ họ tên)
Mẫu biểu 12: cập nhật khi ban quản lí gửi xuống(MB12) ĐƠN GIÁ BÁN
Tên nhà cung cấp:……… Địa chỉ:……….
Mã hàng Tên hàng Đơn giá Ghi chú
Người gửi (ký và ghi rõ họ tên)
Người nhận (ký và ghi rõ họ tên)
Mẫu biểu 13: Cập nhật khi ban quản lí gửi xuống(MB13) ĐƠN GIÁ MUA
Tên nhà cung cấp:……… Địa chỉ:……….
Mã hàng Tên hàng Đơn giá Ghi chú
Người gửi (ký và ghi rõ họ tên) Người nhận
(ký và ghi rõ họ tên)
Hệ thống cũng ghi lại thông tin khách hàng như tên, địa chỉ, số điện thoại và số tài khoản để áp dụng chính sách khuyến mãi cho những khách hàng thường xuyên.
STT Tên khách hàng SĐT STK Điểm Ưu đãi
Mô hình hoá hệ thống
1.2.1 Mô hình tiến trình nghiệp vụ
Bộ phận trong hệ thống
Tác nhân tác động vào hệ thống
- Cơ cấu tổ chức: có 3 bộ phận: Bộ phận bán hàng, bộ phận kho hàng, bộ phận tài chính.
- Tác nhân: Khách hàng, nhà cung cấp, ban quản lí.
Bài toán có 7 tiến trình nghiệp vụ
- Nhập hàng từ nhà cung cấp.
- Xuất hàng từ kho lên siêu thị.
- Bán hàng cho khách hàng.
Nhập hàng từ nhà cung cấp
- Các đối tượng tham gia: Nhà cung cấp, bộ phận kho hàng, bộ phận tài chính.
- Đối tượng kích hoạt tiến trình: Bộ phận tài chính.
Xuất hàng từ kho lên siêu thị
- Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng.
- Đối tượng kích hoạt tiến trình: Ban quản lí.
Bán hàng cho khách hàng
- Các đối tượng tham gia: Khách hàng, bộ phận bán hàng.
- Đối tượng kích hoạt tiến trình: Khách hàng.
- Các đối tượng tham gia: Ban quản lí, bộ phận tài chính.
- Đối tượng kích hoạt tiến trình: Ban quản lí.
- Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng.
- Đối tượng kích hoạt tiến trình: Ban quản lí.
- Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng.
- Đối tượng kích hoạt tiến trình: Ban quản lí.
- Các đối tượng tham gia: Ban quản lí, bộ phận kho hàng.
- Đối tượng kích hoạt tiến trình: Ban quản lí.
PHÂN TÍCH HỆ THỐNG
Phân tích chức năng nghiệp vụ
2.1.1 Mô hình hoá chức năng nghiệp vụ
Ký hiệu sử dụng vẽ sơ đồ phân rã chức năng:
2.1.1.2 Xác định chức năng chi tiết
Quy trình xác định chức năng chi tiết gồm 5 bước:
Bước 1: Gạch chân tất cả các động từ + bổ ngữ liên quan đến công việc của hệ thống:
- Liên hệ với nhà cung cấp(2)
- Tiếp nhận và kiểm tra mặt hàng(4)
- Lập hoá đơn thanh toán(7)
- Thanh toán hoá đơn đặt hàng(8)
- Kiểm tra số lượng mặt hàng(10)
- Trao đổi thông tin khách hàng(13)
- Thanh toán cho khách hàng(14)
- Lập hoá đơn mua hàng(15)
- In hoá đơn mua hàng(16)
- Đóng dấu đã thanh toán(17)
- Thống kê trong ngày theo các tiêu chí(18)
- Lập báo cáo chi tiết(19)
- Gửi báo cáo thống kê doanh thu(21)
- Gửi báo cáo chi tiết(22)
- Kiểm tra tình trạng hàng hoá(23)
- Cập nhật đơn giá bán(25)
- Cập nhật đơn giá mua(26)
Bước 2: Tìm và loại bỏ các chức năng trùng lặp (không có)
Bước 3: Gom nhóm các chức năng đơn giản
Chức năng Lý do gom Gom thành
- Liên hệ với nhà cung cấp(2)
Do bộ phận tài chính thực hiện Đặt hàng từ nhà cung cấp
- Tiếp nhận và kiểm tra mặt hàng(4)
Do bộ phận kho hàng thực hiện
- Lập hoá đơn thanh toán(7)
- Thanh toán đơn đặt hàng(8)
Do bộ phận tài chính thực hiện
Thanh toán đơn đặt hàng
- Kiểm tra số lượng mặt hàng(10)
Do bộ phận kho hàng thực hiện Lập phiếu xuất kho
- Trao đổi thông tin khách hàng(13)
- Lập hoá đơn mua hàng(15)
Do bộ phận bán hàng thực hiện
- Thanh toán cho khách hàng(14)
- In hoá đơn mua hàng(16)
- Đóng dấu đã thanh toán(17)
Do bộ phận bán hàng thực hiện Thanh toán cho khách hàng
Thống kê trong ngày theo các tiêu chí (18)
Lập báo cáo chi tiết(19)
Gửi báo cáo thống kê doanh thu(21)
Do bộ phận tài chính thực hiện
Báo cáo thống kê doanh thu
Gửi báo cáo chi tiết(22)
- Kiểm tra tình trạng hàng hoá(23)
Do bộ phận kho hàng thực hiện Lập phiếu kiểm kho
Cập nhật đơn giá bán(25)
Cập nhật đơn giá mua(26)
Do bộ phận tài chính thực hiện
- Đặt hàng từ nhà cung cấp(2)
- Thanh toán đơn đặt hàng(5)
- Thanh toán cho khách hàng(8)
- Báo cáo thống kê doanh thu(9)
Bước 4: Loại bỏ chức năng không có ý nghĩa với hệ thống
Danh sách chức năng cuối cùng + đặt lại tên:
- Đặt hàng từ nhà cung cấp(2)
- Thanh toán đơn đặt hàng(5)
- Thanh toán đơn mua hàng(8)
- Báo cáo thống kê doanh thu(9)
Hệ thống tổ chức được chia thành ba bộ phận chính: bộ phận kho hàng, bộ phận tài chính và bộ phận bán hàng, từ đó hình thành ba nhóm chức năng quan trọng: Quản lý kho hàng, Quản lý tài chính và Quản lý bán hàng.
Quản lí kho hàng Quản lí bán hàng tại siêu thị
- Đặt hàng từ nhà cung cấp(2)
- Thanh toán đơn đặt hàng(5)
- Báo cáo thống kê doanh thu(9)
- Thanh toán đơn mua hàng(8) Quản lí bán hàng
2.1.1.4 Sơ đồ phân rã chức năng
Sơ đồ phân rã chức năng (BFD):
2.1.2 Mô hình hoá tiến trình nghiệp vụ 2.1.2.1 Ký hiệu sử dụng
2.1.2.2 Sơ đồ luồng dữ liệu (DFD) mức khung cảnh
- DFD mức dưới đỉnh tiến trình “Quản lý bán hàng”
- DFD mức dưới đỉnh tiến trình “Quản lý kho hàng”
- DFD mức dưới đỉnh tiến trình “Quản lý tài chính”
2.1.3 Đặc tả tiến trình nghiệp vụ
Đặc tả tiến trình “Lập hoá đơn mua hàng”
- Đầu vào: Yêu cầu mua hàng của khách hàng
- Đầu ra: Hoá đơn mua hàng
Lặp: Tiếp nhận mặt hàng từ khách hàng
Nếu: Mặt hàng đúng ý khách
Ngược lại: Loại bỏ mặt hàng không đúng ý Đến khi: Hết mặt hàng của khách
Nếu: Khách đã thanh toán
Thì: Lập hoá đơn mua hàng
In hoá đơn mua hàng Không thì: Huỷ giao dịch
Đặc tả tiến trình “Thanh toán hoá đơn mua hàng”
- Đầu vào: Yêu cầu khách hàng thanh toán
- Đầu ra: Thanh toán cho khách hàng
Lặp: Yêu cầu khách hàng thanh toán
Nếu: Khách hàng đồng ý thanh toán
Thì: Kiểm tra và thanh toán cho khách hàng
Ngược lại: Huỷ giao dịch
Đặc tả tiến trình “Lập phiếu yêu cầu”
- Đầu vào: Yêu cầu nhập hàng
- Đầu ra: Phiếu yêu cầu
Lặp: Yêu cầu nhập hàng
Nếu: Hàng trong kho hết hoặc không đủ đáp ứng nhu cầu
Thì: Gửi phiếu yêu cầu cho bộ phận quản lí
Ngược lại: Huỷ gửi phiếu yêu cầu
Đặc tả tiến trình “Lập phiếu nhập kho”
- Đầu vào: Mặt hàng + phiếu giao hàng
- Đầu ra: Phiếu nhập kho
Lặp: Tiếp nhận hàng từ nhà cung cấp
Nếu: Đảm bảo chất lượng, số lượng
Thì: Nhận hàng, phiếu giao hàng
Ngược lại: Không nhận hàng, phiếu giao hàng Đến khi: Nhận đủ hàng
Thì: Lập phiếu nhập kho
Ngược lại: Huỷ giao dịch
Đặc tả tiến trình “Lập phiếu xuất kho”
- Đầu vào: Yêu cầu xuất kho
- Đầu ra: Phiếu xuất kho, mặt hàng xuất
Lặp: Nhận yêu cầu xuất kho
Nếu: Đảm bảo chất lượng, số lượng
Thì: Lập phiếu xuất kho và xuất hàng
Ngược lại: Báo lại cho bên yêu cầu Đến khi: Đáp ứng đủ mặt hàng yêu cầu
Đặc tả tiến trình “Lập phiếu kiểm kho”
- Đầu vào: Yêu cầu kiểm kho
- Đầu ra: Phiếu kiểu kho
Lặp: Nhận yêu cầu kiểm kho
Nếu: Không có vấn đề khi kiểm kho
Thì: Lập phiếu kiểm kho và gửi cho bên yêu cầu
Ngược lại: Báo lại cho bên yêu cầu Đến khi: Hết yêu cầu kiểm kho
Đặc tả tiến trình “Đặt hàng từ nhà cung cấp”
- Đầu vào: Phiếu yêu cầu
- Đầu ra: Gửi đơn đặt hàng cho nhà cung cấp
Lặp: Nhận phiếu yêu cầu nhập hàng
Nếu: Có phiếu yêu cầu từ bên quản lí kho hàng
Thì: Gửi đơn đặt hàng
Ngược lại: Huỷ gửi đơn đặt hàng
Đặc tả tiến trình “Thanh toán hoá đơn đặt hàng”
- Đầu vào: Phiếu nhập kho từ bên quản lí kho hàng
- Đầu ra: Thanh toán hoá đơn đặt hàng
Lặp: Nhận phiếu nhập kho
Nếu: Nhận được phiếu nhập kho
Thì: Tiến hành thanh toán hoá đơn đặt hàng
Ngược lại: Không thanh toán
Đặc tả tiến trình “Báo cáo thống kê doanh thu”
- Đầu vào: Yêu cầu từ quản lí
- Đầu ra: Báo cáo thống kê doanh thu
Lặp: Nhận yêu cầu từ quản lí
Nếu: Nhận được yêu cầu từ quản lí
Thì: Thống kê trong ngày theo các tiêu chí
Ngược lại: Không thống kê Đến khi: Thống kê xong
Thì: Lập báo cáo thông kê doanh thu, báo cáo chi tiết và gửi cho quản lí
Đặc tả tiến trình “Cập nhật đơn giá”
- Đầu vào: Yêu cầu từ quản lí
- Đầu ra: Cập nhật đơn giá
Lặp: Nhận yêu cầu từ quản lí
Nếu: Nhận được yêu cầu từ quản lí
Thì: Kiểm tra và cập nhật lại đơn giá vào hệ thống
Ngược lại: Không cập nhật
Phân tích dữ liệu nghiệp vụ
2.2.1 Mô hình dữ liệu ban đầu
2.2.1.1 Xác định kiểu thực thể, kiểu thuộc tính
Xác định kiểu thực thể
- Tài nguyên: o Tài sản: Hàng tồn o Con người: Khách hàng, Nhà cung cấp o Kho bãi: Không có
Trong giao dịch, có các mẫu biểu quan trọng như Đơn Đặt Hàng, Phiếu Giao Hàng, Hoá Đơn Thanh Toán, Phiếu Nhập Kho, Phiếu Xuất Kho, Hoá Đơn Mua Hàng và Phiếu Yêu Cầu Tuy nhiên, không có mẫu biểu nào khác được đề cập.
- Từ những phân tích trên, ta có các thực thể sau: o HÀNG TỒN o KHÁCH HÀNG o NHÀ CUNG CẤP o ĐƠN ĐẶT HÀNG
38 o PHIẾU GIAO HÀNG o HOÁ ĐƠN THANH TOÁN o PHIẾU NHẬP KHO o PHIẾU XUẤT KHO o HOÁ ĐƠN MUA HÀNG o PHIẾU YÊU CẦU
Xác định kiểu thuộc tính: o Từ mẫu biểu:
Đơn đặt hàng bao gồm các thông tin quan trọng như mã đơn đặt hàng, mã nhà cung cấp, ngày đặt hàng, tên nhà cung cấp, địa chỉ và số điện thoại của nhà cung cấp Bên cạnh đó, đơn hàng còn ghi rõ mã hàng, tên hàng, đơn vị tính, số lượng, đơn giá và thành tiền, giúp tổng hợp rõ ràng tổng tiền của đơn hàng.
Phiếu giao hàng bao gồm các thông tin quan trọng như tên nhà cung cấp, địa chỉ, số điện thoại, số tài khoản, mã phiếu giao, ngày giao hàng, mã đơn đặt hàng, tên người nhận, số điện thoại người nhận, chức vụ, địa chỉ nhận, tên hàng giao và số lượng giao cùng số lượng nhận.
Hoá đơn thanh toán bao gồm các thông tin quan trọng như mã hoá đơn, ngày lập, mã phiếu giao, tên nhà cung cấp, địa chỉ và số điện thoại của nhà cung cấp, hình thức thanh toán, tên hàng, số lượng, thành tiền và tổng tiền.
Phiếu nhập kho bao gồm các thông tin quan trọng như mã phiếu nhập, ngày nhập, người giao hàng, số điện thoại nhà cung cấp, địa chỉ, số tài khoản, mã phiếu giao, ngày đơn hàng, mã hàng, tên hàng, đơn vị tính và số lượng Những dữ liệu này giúp quản lý hàng hóa hiệu quả và đảm bảo quy trình nhập kho diễn ra suôn sẻ.
- PHIẾU XUẤT KHO(mã phiếu xuất, ngày xuất, người xuất kho, chức vụ, sđt, người nhận, mã hàng, tên hàng, đơn vị tính, số lượng xuất)
Hóa đơn mua hàng bao gồm các thông tin quan trọng như mã hóa đơn, ngày mua hàng, mã nhân viên, tên nhân viên, tên khách hàng, số điện thoại khách hàng, hình thức thanh toán, tên hàng, số lượng, đơn giá, thành tiền, tổng tiền, tiền khách đưa và tiền thừa Những thông tin này giúp đảm bảo tính minh bạch và dễ dàng trong việc quản lý giao dịch mua bán.
- PHIẾU YÊU CẦU(mã phiếu yêu cầu, ngày lập phiếu yêu cầu, mã hàng, số lượng dự kiến, số lượng tồn, ngưỡng) o Từ nguồn ngoài:
- HÀNG TỒN(mã hàng, tên hàng, số lượng tồn, đơn vị tính, giá bán)
- KHÁCH HÀNG(mã khách hàng, tên khách hàng, địa chỉ, số điện thoại)
- NHÀ CUNG CẤP(tên nhà cung cấp, mã nhà cung cấp, địa chỉ, số điện thoại, số tài khoản, mã hàng mua, đơn giá mua)
2.2.1.2 Xác định kiểu liên kết
2.2.1.3 Mô hình thực thể liên kết mở rộng
- Kiểu thực thể và thuộc tính
- Kiểu liên kết và bản số
Mô hình thực thể liên kết mở rộng
2.2.2.1 Chuyển đổi từ ERD mở rộng về ERD kinh điển
Chuyển đổi các kiểu thuộc tính đa trị về đơn trị
Đơn đặt hàng bao gồm các thông tin quan trọng như mã đơn đặt hàng, mã nhà cung cấp, ngày đặt hàng, tên nhà cung cấp, địa chỉ và số điện thoại của nhà cung cấp Ngoài ra, cần ghi rõ mã hàng, tên hàng, đơn vị tính, số lượng, đơn giá, thành tiền và tổng tiền Việc áp dụng quy tắc 1 trong đơn đặt hàng giúp đảm bảo tính chính xác và hiệu quả trong quá trình giao dịch.
Phiếu giao hàng bao gồm các thông tin quan trọng như tên nhà cung cấp, địa chỉ, số điện thoại, số tài khoản, mã phiếu giao, ngày giao hàng, mã đơn đặt hàng, tên và số điện thoại người nhận, chức vụ, địa chỉ nhận, tên hàng giao, số lượng giao và số lượng nhận Những thông tin này cần được ghi chép đầy đủ và chính xác để đảm bảo quy trình giao nhận hàng hóa diễn ra thuận lợi.
Hoá đơn thanh toán bao gồm các thông tin quan trọng như mã hoá đơn, ngày lập, mã phiếu giao, tên nhà cung cấp, địa chỉ và số điện thoại của nhà cung cấp, hình thức thanh toán, tên hàng, số lượng, thành tiền và tổng tiền Các yếu tố này cần được ghi rõ ràng để đảm bảo tính chính xác và minh bạch trong quá trình giao dịch.
Phiếu nhập kho bao gồm các thông tin quan trọng như mã phiếu nhập, ngày nhập, người giao hàng, số điện thoại nhà cung cấp, địa chỉ, số tài khoản, mã đơn hàng, ngày đơn hàng, mã hàng, tên hàng, đơn vị tính và số lượng Các thông tin này cần tuân theo quy tắc 1 để đảm bảo tính chính xác và hiệu quả trong quá trình quản lý kho.
Phiếu xuất kho bao gồm các thông tin quan trọng như mã phiếu xuất, ngày xuất, người xuất kho, chức vụ, số điện thoại, người nhận, mã hàng, tên hàng, đơn vị tính và số lượng xuất Quy tắc 1 áp dụng cho các thông tin này nhằm đảm bảo tính chính xác và minh bạch trong quá trình xuất kho.
Hóa đơn mua hàng bao gồm các thông tin quan trọng như mã hóa đơn, ngày mua, mã và tên nhân viên, tên và số điện thoại khách hàng, hình thức thanh toán, tên hàng, số lượng, đơn giá, thành tiền, tổng tiền, tiền khách đưa và tiền thừa Các thông tin này giúp quản lý giao dịch và đảm bảo tính chính xác trong việc thanh toán.
PHIẾU YÊU CẦU(mã phiếu yêu cầu, ngày lập phiếu yêu cầu, mã hàng(*), số lượng dự kiến(*), số lượng tồn(*), ngưỡng(*)) áp dụng quy tắc 1 ta có:
Không có thuộc tính sơ đẳng
Xác định khoá của kiểu thực thể chính
Mô hình ERD kinh điển
Khoá là chữ in đậm gạch chân
2.2.2.2 Chuyển đổi từ ERD kinh điển về ERD hạn chế
Xử lý kiểu liên kết 1-1: áp dụng quy tắc 5
Đơn đặt hàng – phiếu giao hàng(1-1):
Phiếu giao hàng – phiếu nhập kho (1-1):
Phiếu nhập kho – hoá đơn thanh toán (1-1):
Xử lí kiểu liên kết n-n: áp dụng quy tắc 6
nhà cung cấp – hàng tồn (n-n):
Xác định kiểu liên kết 1-n:
Xác định kiểu thuộc tính kết nối (khoá ngoài)
Xác định khoá chính cho các kiểu thực thể: áp dụng quy tắc 8
- Đối với các kiểu thực thể chính: Khoá chính là khoá đơn Ta xác định được khoá chính của các kiểu thực thể chính sau:
- Đối với kiểu thực thể phụ thuộc: Khoá chính là khối bội Ta xác định được khoá chính cho các kiểu thực thể phụ thuộc:
Mô hình EDR hạn chế:
- Khoá chính: in đậm gạch chân
- Khoá ngoại: in nghiêng đậm
2.2.2.3 Chuyển đổi từ ERD hạn chế về mô hình quan hệ
Mỗi thực thể trong mô hình ERD hạn chế sẽ được chuyển đổi thành một bảng quan hệ trong mô hình quan hệ Tên của kiểu thực thể sẽ được mã hóa thành tên của bảng quan hệ.
Có 18 kiểu thực thể ứng với 18 bảng quan hệ như sau
HANGTON: idhang, tenhang, soluongton, dvt, giaban
KHACHHANG: idkhachhang, tenkhachhang, diachi, sdt
NCC: idncc, tenncc, diachincc, sdtncc, stk
HANG_NCC: idhang , idncc , dongiamua
CT_DDHANG: iddondathang , idhang , soluongdat
PGHANG: idphieugiao, ngaygiaohang, idncc , iddondathang , nguoigiao, tennguoinhan, sdtnguoinhan, chucvu, diachinhan
CT_PGHANG: idphieugiao , idhang , soluonggiao, soluongnhan
HDTHANHTOAN: idhoadon, idphieunhap, idncc, ngaylap,htttoan
CT_HDTHANHTOAN: idhoadon , idhang , soluongmua
CT_PNKHO: idphieunhap, idhang , soluongnhap
PXKHO: idphieuxuat, ngayxuat, nguoixuat, chucvu, nguoinhan
CT_PXKHO: idphieuxuat, idhang , soluongxuat
HDMUAHANG: idhoadonmua, idkhachhang , ngaymuahang, manhanvien, tennhanvien, httt,tienkhachdua
CT_HDMUAHANG: idhoadonmua, idhang , soluong
CT_PYCAU: idphieuyeucau, idhang ásoluongdukien, nguong
Kiểu thuộc tính khoá chuyển sang bảng tương ứng là khoá của bảng
Kiểu thuộc tính mô tả:
- Kết xuất được thì bỏ đi
- Xuất hiện ở một nơi chuyển sang bảng tương ứng
- Xuất hiện ở nhiều nơi, chỉ chuyển sang một bảng chính
Bảng CT_PNKHO, CT_DDHANG, CT_PXKHO, CT_ PGHANG có thuộc tính tên hàng ta lược bỏ đi được vì có thể suy ra từ mã hàng.
Bảng CT_ HDMUAHANG, CT_ DDHANG có thuộc tính tổng tiền,thành tiền ta lược bỏ đi được vì có thể suy ra từ đơn giá, số lượng,…
Các bảng HDTHANHTOAN, HANG_NCC, CT_ DDHANG,
PGHANG có thuộc tính Tên NCC, địa chỉ NCC, sdt NCC có thể lược bỏ được vì có thể suy ra từ maNCC.
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
3 diachi C(50) Địa chỉ khách hàng
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
1 x idncc C(10) Mã nhà cung cấp
2 tenncc C(30) Tên nhà cung cấp
3 diachincc C(50) Địa chỉ nhà cung cấp
4 sdtncc C(10) SĐT nhà cung cấp
5 stk C(12) Số tài khoản nhà cung cấp
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
2 x x idncc C(10) Mã nhà cung cấp
3 dongiamua N(3) Địa chỉ khách hàng
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
1 x iddondathang C(10) Mã đơn đặt hàng
2 x idncc C(10) Mã nhà cung cấp
Tên trường Kiểu dữ liệu Diễn giải
1 x x iddondathang C(10) Mã đơn đặt hàng
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
3 x idncc C(10) Mã nhà cung cấp
4 x iddondathang C(10) Mã đơn đặt hàng
7 sdtnguoinhan N(10) Số điện thoại người nhận
8 chucvu C(30) Chức vụ người nhận
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
3 soluonggiao N(3) Số lượng hàng giao
4 soluongnhan N(3) Số lượng hàng nhận
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
3 x idncc C(10) Mã nhà cung cấp
4 ngaylap D(8) Ngày lập hoá đơn
5 htttoan C(10) Hình thức thanh toán
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
Tên trường Kiểu dữ liệu Diễn giải
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
4 chucvu C(30) Chức vụ người xuất
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
1 x idhoadonmua C(10) Mã hoá đơn mua
6 httt C(10) Hình thức thanh toán
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
STT Khoá chính Khoá ngoại Tên trường Kiểu dữ liệu Diễn giải
1 x idphieuyeucau C(10) Mã phiếu yêu cầu
2 ngaylapphieuyeucau D(8) Ngày lập phiếu yêu cầu
Tên trường Kiểu dữ liệu Diễn giải
1 x x idphieuyeucau C(10) Mã phiếu yêu cầu
3 soluongdukien N(3) Số lượng dự kiến
THIẾT KẾ HỆ THỐNG
Thiết kế cơ sở dữ liệu
3.1.1 Thiết kế bảng dữ liệu phục vụ bảo mật Để đảm bảo trong việc bảo mật và quản lý người dùng ta có những bảng sau:
- Bảng Nhóm người dùng: Lưu trữ thông tin quyền hạn và bảng được phép tác động của mỗi quyền
N_NGUOIDUNG (idquyen, tenquyen, bangtacdong, tacvu)
- Bảng Quản trị: Lưu trữ thông tin tên, tên tài khoản, mật khẩu, email, số điện thoại của người quản trị hệ thống
QUANTRI (idquantri, tennguoiquantri, tentaikhoan, matkhau, email, sdtnguoiquantri)
QUANTRI idquantri tennguoiquantri tentaikhoan matkhau email sdtnguoiquantri
- Bảng Tài khoản: Lưu trữ thông tin tên, tên đăng nhập, mật khẩu, số điện thoại, chức vụ và quyền hạn của các nhóm người dùng
TAIKHOAN (idtaikhoan, idquyen , tennguoidung, tendangnhap, matkhau, sdtnguoidung, chucvu)
TAIKHOAN idtaikhoan idquyen tennguoidung tendangnhap
3.1.2 Xác định thuộc tính kiểm soát, bảng kiểm soát Để giao dịch tiền trở nên dễ dàng, thuận tiện hơn, cũng như sự chính xác trong việc lập hoá đơn, kiểm soát số tiền của từng hoá đơn
Thiết lập quan hệ giữa bảng N_NGUOIDUNG, QUANTRI, TAIKHOAN
Trong hệ thống HDMUAHANG, PXKHO cần xác định rõ người lập thông qua tài khoản thực hiện các tác vụ Do đó, cần thêm trường idtaikhoan vào các bảng và loại bỏ các thuộc tính như nguoixuat, chucvu, manhanvien, và tennhanvien.
HDMUAHANG idhoadonmua idkhachhang ngaymuahang manhanvien tennhanvien httt tienkhachdua
HDMUAHANG idhoadonmua idkhachhang ngaymuahang idtaikhoan httt tienkhachdua PXKHO idphieuxuat ngayxuat nguoixuat chucvu nguoinhan
PXKHO idphieuxuat ngayxuat idtaikhoan nguoinhan
3.1.3 Nghiên cứu gom nhóm bảng dữ liệu và thêm trường tính toán
Bảng HANGTON và HANG_NCC thường được truy xuất cùng nhau nên gom thành bảng HANG_TON
Bảng DDHANG và CT_DDHANG thường được truy xuất cùng nhau nên gom thành bảng DD_HANG
Bảng PGHANG và CT_PGHANG thường được truy xuất cùng nhau nên gom thành bảng PG_HANG
Bảng HDTHANHTOAN và CT_HDTHANHTOAN thường được truy xuất cùng nhau nên gom thành bảng HD_THANHTOAN
Bảng PNKHO và CT_PNKHO thường được truy xuất cùng nhau nên gom thành bảng PN_KHO
Bảng PXKHO và CT_PXKHO thường được truy xuất cùng nhau nên gom thành bảng PX_KHO
Bảng HDMUAHANG và CT_HDMUAHANG thường được truy xuất cùng nhau nên gom thành bảng HD_MUAHANG
Bảng PYCAU và CT_PYCAU thường được truy xuất cùng nhau nên gom thành bảng PY_CAU
3.1.4 Mô hình dữ liệu hệ thống
+ Kiểu thực thể và kiểu thuộc tính
+ Kiểu liên kết và kiểu bản số
3.1.5 Đặc tả bảng dữ liệu
1 Số hiệu: 1 2 Tên bảng: TAIKHOAN 3 Bí danh:
4 Mô tả: Lưu trữ thông tin tên, tên đăng nhập, mật khẩu, số điện thoại, chức vụ và quyền hạn của các nhóm người dùng
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idtaikhoan Mã tài khoản C(10) Chữ cái +
2 idquyen Mã quyền người dùng C(10) Chữ cái +
Chữ cái không có ký tự đặc biệt
4 tendangnhap Tài khoản truy cập C(100)
Chữ cái + Chữ số trừ ký tự đặc biệt x
5 matkhau Mật khẩu truy cập C(50) Chữ cái, số và ký tự đặc biệt x
6 sdtnguoidung Số điện thoại nhân viên C(10) Chữ số x
7 chucvu Chức vụ nhân viên C(100) Chữ cái
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã quyền người dùng idquyen N_NGUOIDUNG
1 Số hiệu: 2 2 Tên bảng: N_NGUOIDUNG 3 Bí danh:
4 Mô tả: Lưu trữ thông tin quyền hạn và bảng được phép tác động của mỗi quyền
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N72
1 idquyen Mã quyền người dùng C(10) Chữ cái +
Chữ cái không có ký tự đặc biệt
3 bangtacdong Tên bảng tác động C(30) Chữ cái
4 tacvu Tác vụ đối với bảng C(100) Chữ cái x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Số hiệu: 3 2 Tên bảng: QUANTRI 3 Bí danh: QUANTRI
4 Mô tả: Lưu trữ thông tin tên, tên tài khoản, mật khẩu, email, số điện thoại của người quản trị hệ thống
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idquantri Mã người quản trị C(10) Chữ cái +
2 tennguoiquantri Tên người quản trị C(100)
Chữ cái không có ký tự đặc biệt
3 tentaikhoan Tên đăng nhập của người quản trị C(30)
Chữ cái + Chữ số trừ ký tự đặc biệt x
4 matkhau Mật khẩu đăng nhập C(100)
Chữ cái + Chữ số trừ ký tự đặc biệt x
5 email Email của người quản trị C(100)
Chữ cái và chữ số đúng dạng email x
6 sdtnguoiquantri Số điện thoại của người quản trị C(10) Chữ số x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Số hiệu: 4 2 Tên bảng: HD_MUAHANG 3 Bí danh:
4 Mô tả: Lưu trữ thông tin của mặt hàng đã mua
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idhoadonmua Mã hoá đơn mua C(10) Chữ cái + Chữ số x
2 idkhachhang Mã khách hàng C(10) Chữ cái + Chữ số x
3 idhang Mã hàng C(10) Chữ cái + Chữ số x
4 ngaymuahang Ngày mua hàng D(10) DD/MM/YYY
5 idtaikhoan Mã tài khoản C(10) Chữ cái + Chữ số x
6 httt Hình thức thanh toán C(30) Chữ cái trừ ký tự đặc biệt x
7 tienkhachdua Tiền khách đưa N(20) Số nguyên x
8 soluong Số lượng hàng N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã khách hàng idkhachhang KHACHHANG
2 Mã hàng idhang HANG_TON
3 Mã tài khoản idtaikhoan TAIKHOAN
1 Số hiệu: 5 2 Tên bảng: DD_HANG 3 Bí danh: DD_HANG
4 Mô tả: Lưu trữ thông tin của đơn đặt hàng
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N75
1 iddondathang Mã đơn đặt hàng C(10) Chữ cái + Chữ số x
2 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x
3 idhang Mã hàng C(10) Chữ cái + Chữ số x
4 ngaydathang Ngày đặt hàng D(10) DD/MM/YYY
5 soluongdat Số lượng đặt N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã nhà cung cấp idncc NCC
2 Mã hàng idhang HANG_TON
1 Số hiệu: 6 2 Tên bảng: NCC 3 Bí danh: NCC
4 Mô tả: Lưu trữ thông tin của nhà cung cấp
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N76
1 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x
2 tenncc Tên nhà cung cấp C(30) Chữ cái trừ ký tự đặc biệt
3 diachincc Địa chỉ nhà cung cấp C(100
Chữ cái + Chữ số trừ ký tự đặc biệt x
4 sdtncc Số điện thoại nhà cung cấp C(10) Chữ số x
5 stk Số tài khoản nhà cung cấp N(20) Chữ số x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Số hiệu: 7 2 Tên bảng: PX_KHO 3 Bí danh: PX_KHO
4 Mô tả: Lưu trữ thông tin của phiếu xuất kho
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idphieuxuat Mã phiếu xuất C(10) Chữ cái + Chữ số x
2 idhang Mã hàng C(10) Chữ cái + Chữ số x
3 ngayxuat Ngày xuất kho D(10) DD/MM/YYY
4 idtaikhoan Mã tài khoản C(10) Chữ cái + Chữ số x
5 nguoinhan Tên người nhận C(30) Chữ cái trừ ký tự đặc biệt
6 soluongxuat Số lượng xuất kho N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã hàng idhang HANG_TON
2 Mã tài khoản idtaikhoan TAIKHOAN
1 Số hiệu: 8 2 Tên bảng: HANG_TON 3 Bí danh: HANG_TON
4 Mô tả: Lưu trữ thông tin các mặt hàng
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idhang Mã hàng C(10) Chữ cái + Chữ số x
2 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x
3 tenhang Tên hàng C(30) Chữ cái trừ ký tự đặc biệt
4 soluongton Số lượng tồn N(20) Số nguyên x
5 dvt Đơn vị tính C(10) Chữ cái + chữ số
6 giaban Giá bán N(20) Số nguyên x
7 dongiamua Đơn giá mua N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã nhà cung cấp idncc NCC
1 Số hiệu: 9 2 Tên bảng: PG_HANG 3 Bí danh: PG_HANG
4 Mô tả: Lưu trữ thông tin phiếu giao hàng
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idphieugiao Mã phiếu giao C(10) Chữ cái + Chữ số x
2 ngaygiaohang Ngày giao hàng D(10) DD/MM/YYY
3 idhang Mã hàng C(10) Chữ cái + Chữ số x
4 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x
5 iddondathang Mã đơn đặt hàng C(10) Chữ cái + chữ số x
6 nguoigiao Tên người giao C(30) Chữ cái trừ ký tự đặc biệt
7 tennguoinhan Tên người nhận C(30) Chữ cái trừ ký tự đặc biệt
8 sdtnguoinhan Số điện thoại người nhận C(10) Chữ số x
9 chucvu Chức vụ người nhận C(30) Chữ cái trừ ký tự đặc biệt
Chữ cái + Chữ số trừ ký tự đặc biệt
11 soluonggiao Số lượng giao N(20) Số nguyên x
12 soluongnhan Số lượng nhận N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã hàng idhang HANG_TON
2 Mã nhà cung cấp idncc NCC
3 Mã đơn đặt hàng iddondathang DD_HANG
1 Số hiệu: 10 2 Tên bảng: KHACHHANG 3 Bí danh:
4 Mô tả: Lưu trữ thông tin khách hàng
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idkhachhang Mã khách hàng C(10) Chữ cái + Chữ số x
2 tenkhachhang Tên khách hàng C(30) Chữ cái trừ ký tự đặc biệt
3 diachi Địa chỉ khách hàng C(100
Chữ cái trừ ký tự đặc biệt
4 sdt Số điện thoại khách hàng N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Số hiệu: 11 2 Tên bảng: PN_KHO 3 Bí danh: PN_KHO
4 Mô tả: Lưu trữ thông tin phiếu nhập kho
5 Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 idphieunhap Mã phiếu nhập C(10) Chữ cái + Chữ số x
2 idphieugiao Mã phiếu giao C(10) Chữ cái + Chữ số x
3 idhang Mã hàng C(10) Chữ cái + Chữ số x
4 ngaynhap Ngày nhập D(10) DD/MM/YYY
5 soluongnhap Số lượng nhập N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã phiếu giao idphieugiao PG_HANG
2 Mã hàng idhang HANG_TON
1 Số hiệu: 12 2 Tên bảng: PY_CAU 3 Bí danh: PY_CAU
4 Mô tả: Lưu trữ thông tin phiếu yêu cầu
5 Mô tả chi tiết các cột
Số Tên cột Mô tả
Kiểu dữ liệu Khuôn dạng N
1 idphieuyeucau Mã phiếu yêu cầu C(10) Chữ cái + Chữ số x
2 idhang Mã hàng C(10) Chữ cái + Chữ số x
Ngày lập phiếu yêu cầu D(10) DD/MM/YYY
4 soluongdukien Số lượng dự kiến N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã hàng idhang HANG_TON
1 Số hiệu: 13 2 Tên bảng: HD_THANHTOAN 3 Bí danh:
4 Mô tả: Lưu trữ thông tin hoá đơn thanh toán
5 Mô tả chi tiết các cột
Số Tên cột Mô tả
Kiểu dữ liệu Khuôn dạng N
1 idhoadon Mã hoá đơn C(10) Chữ cái + Chữ số x
2 idphieunhap Mã phiếu nhập C(10) Chữ cái + Chữ số x
3 idncc Mã nhà cung cấp C(10) Chữ cái + Chữ số x
4 idhang Mã hàng C(10) Chữ cái + Chữ số x
5 ngaylap Ngày lập hoá đơn D(10) DD/MM/YYY
6 htttoan Hình thức thanh toán C(30) Chữ cái trừ ký tự đặc biệt
7 soluongmua Số lượng mua N(20) Số nguyên x
Số Tên Cột khoá ngoài Quan hệ với bảng
1 Mã phiếu nhập idphieunhap PN_KHO
2 Mã nhà cung cấp idncc NCC
3 Mã hàng idhang HANG_TON
Thiết kế giao diện người – máy
3.2.1 Thiết kế hệ thống đơn chọn
3.2.2 Thiết kế form nhập liệu cho danh mục (2 danh mục)
Danh mục thông tin nhà cung cấp
- Tên giao diện: Form Quản lý thông tin nhà cung cấp
- Người sử dụng: Nhân viên bộ phận quản lý
- Nhiệm vụ: Cập nhật thông tin nhà cung cấp vào hệ thống
Tiền điều kiện: Đã đăng nhập với quyền nhân viên bộ phận quản lý
Hậu điều kiện: Trở về màn hình chính
Ký hiệu R: Read, E:Edit, D:Delete,C:Create
Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc
The NCC identifier consists of a combination of letters and numbers, specifically formatted to exclude special characters The "diachi" identifier follows a similar pattern, incorporating both letters and numbers while omitting special characters The "sdt" identifier is strictly numerical, and the "stk" identifier is also composed solely of numbers.
Quy trình, công thức xử lý
- txtTimkiem: Sau khi nhập thông tin cần tìm vào txtTimkiem, các thông tin trùng với thông tin đã nhập sẽ được hiển thị lên datagridview.
Khi nhấn nút "btnThem", các ô nhập liệu như txtMancc, txtTenncc, txtDiachi, txtSdt và txtStk sẽ được kích hoạt để người dùng có thể nhập thông tin của nhà cung cấp Sau khi hoàn tất việc nhập dữ liệu cần thiết, người dùng chỉ cần bấm nút "btnThem" để thêm mới thông tin Thông tin vừa được thêm sẽ hiển thị thành công trên datagridview.
Sau khi nhấn nút btnSua, các ô txtTenncc, txtDiachi, txtSdt và txtStk sẽ được kích hoạt và hiển thị thông tin của hàng người dùng đang chọn trên datagridview Người dùng có thể chỉnh sửa thông tin trong các ô này, và nút btnSua sẽ chuyển thành btnLuu Khi hoàn tất việc thay đổi thông tin, người dùng chỉ cần nhấn nút btnLuu để lưu lại thông tin mới.
Khi nhấn nút btnXoa, một thông báo sẽ xuất hiện để xác nhận xem người dùng có chắc chắn muốn xóa hàng đang chọn trên datagridview hay không Nếu người dùng chọn "Có", dữ liệu được chọn sẽ bị xóa, trong khi nếu chọn "Không", dữ liệu sẽ được giữ nguyên.
Datagridview hiển thị dữ liệu từ các ô txtMancc, txtTenncc, txtDiachi, txtSdt và txtStk Khi người dùng chọn một hàng trong datagridview, thông tin của dòng đó sẽ tự động được hiển thị tương ứng trong các ô txtMancc, txtTenncc, txtDiachi, txtSdt và txtStk.
Định dạng kết quả đầu ra:
- Bảng dữ liệu thay đổi: NCC.
- Trạng thái hệ thống sau khi thoát: Trở về trạng thái trước khi chọn giao diện.
Danh mục thông tin khách hàng
- Tên giao diện: Form Quản lý thông tin khách hàng
- Người sử dụng: Nhân viên bộ phận bán hàng
- Nhiệm vụ: Cập nhật thông tin khách hàng trong hệ thống
Tiền điều kiện: Đã đăng nhập với quyền nhân viên bộ phận bán hàng
Hậu điều kiện: Trở về màn hình chính
Ký hiệu R: Read, E:Edit, D:Delete,C:Create
Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc
C,R Chữ cái + Chữ số tenkhachhang
C,E,R,D Chữ cái trừ ký tự đặc biệt diachi
C,E,R,D Chữ cái + Chữ số trừ ký tự đặc biệt sdt C,E,R,D Chữ số
Quy trình, công thức xử lý:
- txtTimkiem: Sau khi nhập thông tin cần tìm vào txtTimkiem, các thông tin trùng với thông tin đã nhập sẽ được hiển thị lên datagridview.
- btnThem: Khi nhấn nút này các ô txtMakh, txtTenkh, txtDiachi, txtSdt, sẽ có thuộc tính Enable = true để người dùng có thể nhập các thông tin
Sau khi người dùng nhập đầy đủ thông tin cần thiết, họ chỉ cần nhấn nút "Thêm mới" để hoàn tất quá trình Thông tin sẽ được hiển thị thành công trong datagridview.
Khi nhấn nút btnSua, các ô txtTenkh, txtDiachi, txtSdt sẽ được kích hoạt và hiển thị thông tin của hàng người dùng đang chọn trên datagridview Người dùng có thể chỉnh sửa thông tin trong các ô này, và nút btnSua sẽ chuyển thành btnLuu Sau khi hoàn tất việc thay đổi thông tin, người dùng chỉ cần nhấn nút btnLuu để lưu lại thông tin mới.
Khi người dùng nhấn nút btnXoa, một thông báo sẽ xuất hiện để xác nhận việc xoá hàng đã chọn trên datagridview Nếu người dùng chọn “Có”, dữ liệu sẽ bị xoá; nếu chọn “Không”, dữ liệu sẽ được giữ nguyên.
Datagridview cho phép hiển thị dữ liệu từ các ô txtMakh, txtTenkh, txtDiachi và txtSdt Khi người dùng chọn một hàng trong datagridview, thông tin tương ứng của dòng đó sẽ được hiển thị trên các ô txtMakh, txtTenkh, txtDiachi và txtSdt.
Định dạng kết quả đầu ra:
- Bảng dữ liệu thay đổi: KHACHHANG.
- Trạng thái hệ thống sau khi thoát: Trở về trạng thái trước khi chọn giao diện.
3.2.3.Thiết kế form xử lý nghiệp vụ (2 nghiệp vụ)
Nghiệp vụ thanh toán hoá đơn đặt hàng
- Tên giao diện: Form Thanh toán hoá đơn đặt hàng
- Người sử dụng: Nhân viên bộ phận tài chính
- Nhiệm vụ: Thanh toán hoá đơn đặt hàng từ nhà cung cấp
Tiền điều kiện: Đã đăng nhập với quyền nhân viên tài chính
Hậu điều kiện: Trở về màn hình chính
Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc
R idphieunhap R idncc R idhang R ngaylap R htttoan R soluongmua R
HANG_TON idhang R idncc R tenhang R soluongton R dvt R giaban R dongiamua R
PN_KHO idphieunhap R idphieugiao R idhang R ngaynhap R soluongnhap R
NCC idncc R tenncc R diachincc R sdtncc R stk R
Quy trình, công thức xử lý:
Khi nhấn nút "In hóa đơn", một thông báo sẽ xuất hiện để hỏi người dùng có muốn in hóa đơn hay không Nếu chọn "Có", form in hóa đơn sẽ được hiển thị; ngược lại, nếu chọn "Không", form in hóa đơn sẽ không hiển thị.
- Tất cả dữ liệu đều được lấy từ các bảng liên kết với nhau nên các ô txtMahd, txtMapn, txtMancc, txtMahang, dtNgaylap, txtHttt, numSlmua sẽ có thuộc tính Enabled = false.
- btnChitiethoadon: Khi nhấn nút này, formChitiethoadon sẽ được hiển thị trong đó chứa các thông tin chi tiết về hoá đơn.
txtTongtien sẽ tự động tính toán và hiển thị tổng tiền khi có dữ liệu trong các ô txtMahang và numSlmua Tổng tiền trong ô numTongtien được xác định bằng cách nhân thuộc tính dvt trong txtMahang với dữ liệu trong numSlmua.
Datagridview hiển thị dữ liệu từ các ô txtMakh, txtTenkh, txtDiachi và txtSdt Khi người dùng chọn một hàng trong datagridview, thông tin tương ứng của dòng đó sẽ được cập nhật và hiển thị trên các ô txtMahd, txtMapn, txtMancc, txtMahang, dtNgaylap, txtHttt, numSlmua và numTongtien.
Nghiệp vụ thanh toán hoá đơn mua hàng
- Tên giao diện: Form Thanh toán hoá đơn mua hàng
- Người sử dụng: Nhân viên bộ phận bán hàng
- Nhiệm vụ: Thanh toán hoá đơn mua hàng cho khách hàng
Tiền điều kiện: Đã đăng nhập với quyền nhân viên bộ phận bán hàng
Hậu điều kiện: Trở về màn hình chính
Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc
HD_MUAHANG idhoadonmua R idkhachhang R idhang R ngaymuahang R idtaikhoan R httt R tienkhachdua R soluong R
KHACHHANG idkhachhang R tenkhachhang R diachi R sdt R
TAIKHOAN idtaikhoan R idquyen R tennguoidung R tendangnhap R matkhau R sdtnguoidung R chucvu R
HANG_TON idhang R idncc R tenhang R soluongton R dvt R giaban R dongiamua R
Quy trình, công thức xử lý:
Khi nhấn nút "In hóa đơn", một thông báo sẽ xuất hiện hỏi người dùng có muốn in hóa đơn hay không Nếu chọn "Có", form in hóa đơn sẽ được hiển thị, trong khi nếu chọn "Không", form này sẽ không xuất hiện.
Tất cả dữ liệu được trích xuất từ các bảng liên kết, do đó các ô như txtMahdm, txtMakh, txtMatk, txtMahang, dtNgaymuahang, txtHttt, numSlmua và numTkd sẽ có thuộc tính Enabled = false.
- btnChitiethoadon: Khi nhấn nút này, formChitiethoadon sẽ được hiển thị trong đó chứa các thông tin chi tiết về hoá đơn.
numTongtien sẽ tự động tính toán và hiển thị tổng tiền dựa trên dữ liệu từ các ô txtMahang và numSlmua Giá trị của ô numTongtien được xác định bằng cách nhân thuộc tính dvt trong txtMahang với dữ liệu trong numSlmua.
- numTienthua: Sẽ được tự động tính toán và hiển thị tiền thừa khi có dữ liệu ở các ô numTongtien và numTkd Dữ liệu ô numTienthua numTkd – numTongtien