CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 4 1.1. Mô tả hệ thống 4 1.2. Mô hình hóa hệ thống 17 Mô hình hóa tiến trình nghiệp vụ 17 Biểu đồ hoạt động 17 CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 23 2.1. Phân tích chức năng nghiệp vụ 23 2.1.1. Mô hình hóa chức năng nghiệp vụ 23 2.1.2. Mô hình hóa tiến trình nghiệp vụ 29 2.1.3. Đặc tả tiến trình nghiệp vụ 33 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.2. Chuẩn hóa dữ liệu 40 2.2.3. Đặc tả dữ liệu 52 2.3. Hợp nhất khía cạnh chức năng và dữ liệu 58 2.3.1. Ma trận kho – kiểu thực thể 58 2.3.2. Ma trận chức năng – kiểu thực thể 59
KHẢO SÁT HỆ THỐNG
Mô hình hóa hệ thống
2.1.1 Mô hình hóa chức năng nghiệp vụ
2.1.1.1 Xác định chức năng chi tiết
Quy trình gồm 5 bước như sau:
Bước 1: Gạch chân động từ và bổ ngữ trong quy trình xử lý:
2 Xác nhận lại phần ăn
3 Thay đổi phần ăn (thêm, bớt, đổi phần ăn)
4 Nhận tiền, nhập số tiền khách đưa
5 Lập hóa đơn thanh toán
7 Tính toán tổng tiền thu
8 Chế biến theo từng phần ăn được ghi trong hóa đơn
9 Đánh dấu hóa đơn đã duyệt
10 Chuyển phần ăn và hóa đơn đã duyệt
11 Kiểm tra kho nguyên liệu
12 Gửi phiếu yêu cầu nhập nguyên liệu
13 Thẩm định, chọn nhà cung cấp
14 Yêu cầu gửi báo giá
15 Lập và gửi đơn mua hàng
18 Nhập thông tin các nguyên liệu mới vào kho
PHÂN TÍCH HỆ THỐNG
Phân tích chức năng nghiệp vụ
2.1.1 Mô hình hóa chức năng nghiệp vụ
2.1.1.1 Xác định chức năng chi tiết
Quy trình gồm 5 bước như sau:
Bước 1: Gạch chân động từ và bổ ngữ trong quy trình xử lý:
2 Xác nhận lại phần ăn
3 Thay đổi phần ăn (thêm, bớt, đổi phần ăn)
4 Nhận tiền, nhập số tiền khách đưa
5 Lập hóa đơn thanh toán
7 Tính toán tổng tiền thu
8 Chế biến theo từng phần ăn được ghi trong hóa đơn
9 Đánh dấu hóa đơn đã duyệt
10 Chuyển phần ăn và hóa đơn đã duyệt
11 Kiểm tra kho nguyên liệu
12 Gửi phiếu yêu cầu nhập nguyên liệu
13 Thẩm định, chọn nhà cung cấp
14 Yêu cầu gửi báo giá
15 Lập và gửi đơn mua hàng
18 Nhập thông tin các nguyên liệu mới vào kho
23 Cập nhật lại giá bán, khuyến mại
25 Tổng hợp tiền thu về
26 Lập bảng thống kê doanh thu
27 Tổng hợp tiền chi ra
28 Lập bảng thống kê chi tiêu
Bước 2: Trong danh sách những chức năng đã chọn ở bước 1, tìm và loại bỏ các chức năng trùng lặp:
STT Các chức năng trùng lặp
2 Xác nhận lại phần ăn
3 Thay đổi phần ăn (thêm, bớt, đổi phần ăn)
4 Nhận tiền, nhập số tiền khách đưa
5 Lập hóa đơn thanh toán
Sau khi loại bỏ các chức năng trùng lặp, các chức năng còn lại là:
1 Lập hóa đơn thanh toán
3 Tính toán tổng tiền thu
4 Chế biến theo từng phần ăn được ghi trong hóa đơn
5 Đánh dấu hóa đơn đã duyệt
6 Chuyển phần ăn và hóa đơn đã duyệt
7 Kiểm tra kho nguyên liệu
8 Gửi phiếu yêu cầu nhập nguyên liệu
9 Thẩm định, chọn nhà cung cấp
10 Yêu cầu gửi báo giá
11 Lập và gửi đơn mua hàng
14 Nhập thông tin các nguyên liệu mới vào kho
19 Cập nhật lại giá bán, khuyến mại
21 Tổng hợp tiền thu về
22 Lập bảng thống kê doanh thu
23 Tổng hợp tiền chi ra
24 Lập bảng thống kê chi tiêu
Bước 3: Trong danh sách những chức năng đã chọn ở bước 2, gom nhóm các chức năng đơn giản lại:
Chức năng đơn giản được gom nhóm Tên sau khi gom nhóm
1 Lập hóa đơn thanh toán
5 Đánh dấu hóa đơn đã duyệt
6 Chuyển phần ăn và hóa đơn đã duyệt
Phục vụ lấy phần ăn
7 Kiểm tra kho nguyên liệu Yêu cầu nhập nguyên liệu
8 Gửi phiếu yêu cầu nhập nguyên liệu
9 Thẩm định, chọn nhà cung cấp
10 Yêu cầu gửi báo giá
Thẩm định, chọn nhà cung cấp
14 Nhập thông tin các nguyên liệu mới vào kho
Thanh toán hóa đơn nhà cung cấp
19 Cập nhật lại giá bán, khuyến mại
21 Tổng hợp tiền thu về
22 Lập bảng thống kê doanh thu
23 Tổng hợp tiền chi ra
24 Lập bảng thống kê chi tiêu
Các chức năng sau khi gom nhóm:
2 Tính toán tổng tiền thu
3 Chế biến theo từng phần ăn được ghi trong hóa đơn
4 Phục vụ lấy phần ăn
5 Yêu cầu nhập nguyên liệu
6 Thẩm định, chọn nhà cung cấp
7 Lập và gửi đơn mua hàng
9 Thanh toán hóa nhà cung cấp
Bước 4: Trong danh sách những chức năng đã chọn ở bước 3, tìm và loại bỏ các chức năng không có ý nghĩa đối với hệ thống:
4 Phục vụ lấy phần ăn
6 Thẩm định, chọn nhà cung cấp
Sau khi loại bỏ các chức năng không có ý nghĩa với hệ thống, các chức năng còn lại là:
2 Tính toán tổng tiền thu
3 Chế biến theo từng phần ăn được ghi trong hóa đơn
4 Yêu cầu nhập nguyên liệu
5 Lập và gửi đơn mua hàng
7 Thanh toán hóa đơn nhà cung cấp
Bước 5: chỉnh sửa lại tên các chức năng ở bước 4:
1 Thanh toán hóa đơn khách hàng
2 Tính toán tổng tiền thu
4 Yêu cầu nhập nguyên liệu
7 Thanh toán hóa đơn nhà cung cấp
Ta có: 3 bộ phận trong cơ cấu tổ chức
Các chức năng ở mục 1.1 sẽ gom nhóm theo chức năng của 4 bộ phận trên cụ thể:
Quản lý bán hàng cho cửa hàng đồ ăn nhanh
4 Yêu cầu nhập nguyên liệu
1 Thanh toán hóa đơn khách hàng
2 Tính toán tổng tiền thu
7 Thanh toán hóa đơn nhà cung cấp
2.1.1.3 Sơ đồ phân rã chức năng (BFD – Business Function Diagram)
- Chức năng (công việc và tổ chức cần làm)
- Quan hệ phân cấp (mỗi chức năng phân ra thàng nhiều chức năng con)
2.1.2 Mô hình hóa tiến trình nghiệp vụ
- Tiến trình : Là một hoạt động có liên quan đến sự biến đổi hoặc tác động của thông tin, được biểu diễn bằng hình oval, bên trong có tên của chức năng đó
- Luồng dữ liệu: Luồng thông tin vào hoặc ra khỏi tiến trình, được biểu diễn bằng mũi tên có ghi thông tin di chuyển
- Kho dữ liệu: Biểu diễn thông tin cần cất giữ, để một hoặc nhiều tiến trình sử dụng chúng, biểu diễn cặp đường thẳng song song chứa tên của thông tin được cất giữ
Một số quy tắc: Đưa dữ liệu vào kho Lấy dữ liệu ra khỏi kho Cập nhật dữ liệu
- Tác nhân bên ngoài: một người hoặc một nhóm người nằm ngoài hệ thống nhưng có trao đổi trực tiếp với hệ thống, biểu diễn: hình chữ nhật
- Tác nhân bên trong: Là 1 tiến trình của hệ thống đang xét nhưng được trình bày ở một trang khác của biểu đồ.
2.1.2.2 Sơ đồ luồng dữ liệu(DFD) mức khung cảnh
2.1.3 Đặc tả tiến trình nghiệp vụ
Quản lý cửa hàng a) Đơn mua hàng
Đầu vào: yêu cầu nhập nguyên liệu từ bộ phận chế biến.
Đầu ra: đơn mua hàng để gửi đến nhà cung cấp.
- Nếu: có yêu cầu nhập nguyên liệu từ bộ phận chế biến.
- Thì: bộ phận quản lý nhận phiếu yêu cầu nhập nguyên liệu, xem xét các nguyên liệu cần cung cấp và số lượng của chúng để gửi yêu cầu báo giá đến nhà cung cấp.
- Nếu: nhà cung cấp hết hàng hoặc giá cả thương lượng không hợp lí.
- Thì: chọn nhà cung cấp khác.
- Nếu: nhà cung cấp phù hợp với điều kiện chất lượng và giá cả.
- Thì: bộ phận quản lý lập và gửi đơn mua hàng đến nhà cung cấp. b) Quản lý thực đơn
Đầu vào: yêu cầu thay đổi thực đơn của chủ cửa hàng.
Đầu ra: thực đơn mới.
- Nếu: có yêu cầu thay đổi món ăn, giá cả, khuyến mãi trong thực đơn.
- Thì: bộ phận quản lý tiến hành xem xét yêu cầu thay đổi.
- Nếu: yêu cầu thay đổi hợp lí.
- Thì: tiến hành thay đổi thực đơn theo yêu cầu và triển khai thực đơn mới đến các bộ phận trong cửa hàng. c) Thống kê doanh thu
Đầu vào: hóa đơn thanh toán của khách hàng và hóa đơn mua hàng.
Đầu ra: bảng báo cáo thống kê thu chi.
Dựa vào hóa đơn thanh toán của khách hàng hằng ngày.
Sẽ: thống kê tổng tiền thu của từng ngày.
Từ đó: thống kê tổng tiền thu về theo từng tuần, tháng.
Sau đó lập báo cáo thống kê doanh thu.
Dựa vào hóa đơn mua hàng hằng ngày.
Sẽ: thống kê tổng tiền chi của từng ngày.
Từ đó: thống kê tổng tiền chi ra theo từng tuần, tháng.
Sau đó lập báo cáo thống kê thu chi.
- Nếu: chủ quán yêu cầu thông tin quản lý cửa hàng.
- Thì: bộ phận quản lý sẽ gửi báo cáo thống kê doanh thu và báo cáo thống kê thu chi cho chủ cửa hàng.
Thanh toán hóa đơn a) Thanh toán hóa đơn khách hàng
Đầu vào: yêu cầu đặt phần ăn, yêu cầu đổi phần ăn và yêu cầu thanh toán của khách hàng.
Đầu ra: hóa đơn thanh toán
- Nếu: khách hàng yêu cầu đặt phần ăn.
- Thì: nhập phần ăn mà khách yêu cầu.
- Nếu: khách hàng muốn đổi món trong phần ăn.
- Thì: sửa lại phần ăn đã nhập theo yêu cầu của khách.
- Nếu: khách hàng đồng ý đặt hàng.
- Thì: xác nhận lại phần ăn của khách.
- Nếu: khách hàng thanh toán phần ăn.
- Thì: nhận và trả lại tiền thừa (nếu có) cho khách, lập và in hóa đơn thanh toán. b) Thanh toán hóa đơn nhà cung cấp
Đầu vào: phiếu nhập kho, hóa đơn của nhà cung cấp.
Đầu ra: hóa đơn mua.
- Nếu: bộ phận chế biến gửi phiếu nhập kho đến.
- Thì: tiến hành đối chiếu với hóa đơn nhà cung cấp.
- Nếu: đối chiếu đúng giữa phiếu nhập kho và hóa đơn nhà cung cấp.
- Thì: thanh toán cho nhà cung cấp, lập hóa đơn mua và lưu lại. c) Tính toán tổng tiền thu
Đầu vào: hóa đơn thanh toán trong ngày (tháng/quý/năm).
Đầu ra: tổng tiền thu ngày (tháng/quý/năm)
Dựa vào hóa đơn thanh toán của khách hàng hằng ngày.
Sẽ: thống kê tổng tiền thu của từng ngày.
Từ đó: thống kê tổng tiền thu về theo từng tuần, tháng.
Quản lý đồ ăn a) Chế biến đồ ăn
Đầu vào: nguyên liệu, hóa đơn thanh toán của khách hàng.
Đầu ra: đồ ăn chế biến theo phần ăn ghi trong hóa đơn thanh toán, hóa đơn thanh toán đã duyệt.
- Nếu: có yêu cầu chế biến đồ ăn theo phần ăn trong hóa đơn thanh toán của khách hàng.
- Thì: tiến hành chế biến đồ ăn theo đúng phần ăn trong hóa đơn và theo đúng công thức chế biến.
- Nếu: chế biến xong phần ăn của khách hàng.
- Thì: đánh dấu hóa đơn và chuyển phần ăn + hóa đơn đã duyệt cho khách hàng. b) Yêu cầu nhập nguyên liệu
Đầu vào: kho nguyên liệu sắp hết hàng.
Đầu ra: phiếu yêu cầu nhập nguyên liệu.
- Nếu: kho nguyên liệu sắp hết hoặc đã hết.
- Thì: lập phiếu yêu cầu nhập nguyên liệu và gửi đến bộ phận quản lý. c) Nhập kho hàng
Đầu vào: hàng + phiếu giao hàng
Đầu ra: phiếu nhập kho + hàng
- Nếu: nhà cung cấp giao hàng đến.
- Thì: tiến hành so khớp hàng với phiếu giao hàng và kiểm tra chất lượng hàng.
- Nếu: hàng nhận đạt chất lượng và đúng với phiếu giao.
- Thì: tiến hành nhận hàng vào kho, lưu phiếu nhập kho và gửi phiếu nhập kho đến bộ phận thanh toán.
- Nếu: hàng mua không đúng yêu cầu hoặc nhận dư thừa.
- Thì: tiến hành trả hàng cho nhà cung cấp.
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ể
- Mẫu biểu: PHIẾU YÊU CẦU, GIAO HÀNG, PHIẾU NHẬP KHO
+ Tài sản: NGUYÊN LIỆU, ĐỒ ĂN
+ Kho bãi: NHÀ CUNG CẤP, LOẠI MÓN ĂN
- Giao dịch: ĐƠN MUA HÀNG, HÓA ĐƠN MUA, HÓA ĐƠN THANH TOÁN
Xác định kiểu thuộc tính
- LOẠI MÓN ĂN (mã loại món, tên loại món)
- MÓN ĂN (mã món, tên món, đơn giá, ĐVT, hình ảnh)
- HÓA ĐƠN THANH TOÁN (số hóa đơn, ngày hóa đơn, thời gian, họ tên NV, tên món, số lượng, đơn giá, ĐVT, thành tiền, tổng giá)
- NGUYÊN LIỆU (mã hàng, tên hàng, ĐVT, SL tồn, đơn giá)
- PHIẾU YÊU CẦU (số yêu cầu, ngày yêu cầu, mã hàng, tên hàng, SL dự kiến, SL tồn, người đề nghị)
- NHÀ CUNG CẤP (mã NCC, tên NNC, địa chỉ NCC, sđt NCC, mã hàng, đơn giá NCC)
- ĐƠN MUA HÀNG (số đơn mua hàng, ngày đơn mua hàng, tên NCC,địa chỉ NCC, sđt NCC, httt NCC, tên hàng, số lượng, ĐVT, đơn giá,thành tiền, tổng tiền)
- GIAO HÀNG (số giao hàng, ngày giao hàng, địa chỉ, tên NCC, địa chỉ NCC, sđt NCC, số đơn mua hàng, người nhận, tên hàng, số lượng giao, số lượng nhận, người lập phiếu, người giao, httt NCC)
- HÓA ĐƠN MUA (số hóa đơn mua, ngày mua hàng, số phiếu nhập, tên NCC, địa chỉ NCC, sđt NCC, httt NCC, tên hàng, số lượng, ĐVT, đơn giá mua, thành tiền, tổng tiền)
- PHIẾU NHẬP KHO (số phiếu nhập, ngày nhập, tên người giao, tên NCC, địa chỉ NCC, sđt NCC, số giao hàng, tên hàng, mã hàng, số lượng giao, số lượng nhận, ĐVT, người lập phiếu, thủ kho, kế toán) 2.2.1.2 Xác định kiểu liên kết
Kiểu thực thể Tên kiểu liên kết/bản số Kiểu thực thể
MÓN ĂN LOẠI MÓN ĂN
PHIẾU YÊU CẦU NGUYÊN LIỆU ĐƠN MUA HÀNG NGUYÊN LIỆU ĐƠN MUA HÀNG NHÀ CUNG CẤP
GIAO HÀNG ĐƠN MUA HÀNG
GIAO HÀNG NHÀ CUNG CẤP
NHÀ CUNG CẤP NGUYÊN LIỆU
HÓA ĐƠN MUA NGUYÊN LIỆU
HÓA ĐƠN MUA PHIẾU NHẬP KHO
PHIẾU NHẬP KHO GIAO HÀNG
PHIẾU NHẬP KHO NGUYÊN LIỆU
2.2.1.3 Mô hình thực thể liên kết mở rộng( ERD mở rộng)
2.2.2.1 Chuyển đổi từ ERD mở rộng về ERD kinh điển
ER mở rộng ER kinh điển
Một kiểu thuộc tính cho phép nhận nhiều giá trị (đa trị)
Một kiểu thuộc tính chỉ được nhận 1 giá trị (đơn trị)
Một kiểu thuộc tính cho phép không sơ đẳng
Một kiểu thuộc tính bắt buộc phải sơ đẳng
Các kiểu thực thể chưa cần có khóa
Các kiểu thực thể chính phải có khóa đơn và khóa của kiểu thực thể chính là kiểu thuộc tính định danh
Việc chuyển đổi từ ER mở rộng về kinh điển thực chất là đưa thêm những ràng buộc của ER kinh điển vào ER mở rộng Cụ thể như sau:
Khử kiểu thuộc tính đa trị bằng quy tắc 1
Khử thuộc tính không sơ đẳng bằng quy tắc 3
Xác định khóa cho kiểu thực thể chính Áp dụng vào bài toán:
- Xử lý kiểu thuộc tính đa trị
Đánh dấu (*) kiểu thuộc tính đa trị
Áp dụng quy tắc 1 chuyển đổi
- Xử lý kiểu thuộc tính không sơ đẳng
Đánh dấu (+) kiểu thuộc tính không sơ đẳng
Áp dụng quy tắc 3 chuyển đổi
- Tìm khóa cho kiểu thực thể chính
Có kiểu thuộc tính định danh ->khóa
Không có kiểu thuộc tính định danh -> thêm -> khóa
- Trong ER mở rộng không tồn tại thuộc tính không sơ đẳng và có tồn tại các thuộc tính đa trị sau:
ĐƠN MUA HÀNG( tên hàng, ĐVT, số lượng, đơn giá, thành tiền) nên áp dụng quy tắc 1 tách thành:
PHIẾU YÊU CẦU(mã hàng, tên hàng, số lượng dự kiến, số lượng tồn) nên áp dụng quy tắc 1 tách thành:
HÓA ĐƠN MUA (tên hàng, đvt, số lượng mua, đơn giá mua, thành tiền) nên áp dụng quy tắc 1 tách thành:
PHIẾU NHẬP KHO(tên hàng, mã hàng, đvt, số lượng giao, số lượng nhận) nên áp dụng quy tắc 1 tách thành:
GIAO HÀNG (tên hàng, số lượng giao, số lượng nhận) nên áp dụng quy tắc 1 tách thành:
HÓA ĐƠN THANH TOÁN (tên món, ĐVT, số lượng, đơn giá, thành tiền) nên áp dụng quy tắc 1 tách thành:
NHÀ CUNG CẤP (mã hàng, đơn giá cung cấp) nên áp dụng quy tắc
- Xác định khóa của kiểu thực thể chính
Kiểu thực thể Khóa chính
PHIẾU YÊU CẦU Số yêu cầu ĐƠN MUA HÀNG Số đơn mua hàng
HÓA ĐƠN MUA Số hóa đơn mua
PHIẾU NHẬP Số phiếu nhập
GIAO HÀNG Số giao hàng
HÓA ĐƠN THANH TOÁN Số hóa đơn
LOẠI MÓN ĂN Mã loại món
NHÀ CUNG CẤP Mã NCC
- Mô hình ER kinh điển được vẽ như sau:
2.2.2.2.Chuyển đổi từ ERD kinh điển về ERD hạn chế
ER kinh điển ER hạn chế
Mỗi kiểu liên kết đều có tên Không cần tên của kiểu liên kết
Kiểu liên kết có bản số tối thiểu Kiểu liên kết không có bản số min
Có tồn tại kiểu liên kết 1-1, n-n Tất cả kiểu liên kết là 1-n
Kiểu thực thể chưa có khóa ngoài Kiểu thực thể có khóa ngoài
Kiểu tthể phụ thuộc chưa có khóa Kiểu thực thể phụ thuộc có khóa bội
Việc chuyển đổi từ ER kinh điển về hạn chế thực chất là đưa thêm những ràng buộc của ER hạn chế vào ER kinh điển Cụ thể như sau
Bỏ tên kiểu liên kết
Bỏ bản số tối thiểu
Khử liên kết 1-1 bằng quy tắc 5
Khử liên kết n-n bằng quy tắc 6
Xác định khóa ngoài cho các kiểu thực thể bằng quy tắc 7
Nếu một kiểu thực thể B có chứa một kiểu thuộc tính kết nối, là khoá của một kiểu thực thể A, thì giữa A và B có một kiểu liên kết 1-nhiều (đầu nhiều về phía B)
Xác định khóa chính cho kiểu thực thể phụ thuộc
Trong ER hạn chế không còn tồn tại :
Tên kiểu liên kết, bản số tối thiểu
Kiểu liên kết 1-1, 1-0, n – n Tất cả đều thuộc kiểu liên kết 1 – n, 0 – n
Cụ thể trong bài toán ta có:
- Bỏ tên kiểu liên kết, bỏ bản số tối thiểu theo quy tắc 4
- Xử lí liên kết 1-1: áp dụng quy tắc 5
- Xử lí liên kết n-n: áp dụng quy tắc 6
- Xác định khóa ngoài cho các kiểu thực thể bằng quy tắc 7:
Kiểu thực thể Khóa chính Khóa ngoại
PHIẾU YÊU CẦU Số yêu cầu
DÒNG PHIẾU YC Số yêu cầu
Mã hàng ĐƠN MUA HÀNG Số đơn mua hàng
DÒNG ĐƠN MH Số đơn mua hàng
HÓA ĐƠN MUA Số hóa đơn mua Số phiếu nhập
DÒNG HÓA ĐƠN MUA Số hóa đơn mua
PHIẾU NHẬP Số phiếu nhập Số phiếu giao
DÒNG PHIẾU NHẬP Số phiếu nhập
GIAO HÀNG Số phiếu giao Mã NCC
DÒNG GIAO HÀNG Số phiếu giao
Mã hàng HÓA ĐƠN THANH TOÁN Số hóa đơn
DÒNG HÓA ĐƠN TT Số hóa đơn
MÓN ĂN Mã món Mã loại món
LOẠI MÓN ĂN Mã loại món
NHÀ CUNG CẤP Mã NCC
- Mô hình ER hạn chế
2.2.2.3.Chuyển đổi từ ERD hạn chế về mô hình quan hệ (RM)
ER hạn chế Mô hình quan hệ
Có tồn tại các kiểu thuộc tính được kết xuất từ kiểu thuộc tính khác
Không tồn tại các kiểu thuộc tính được kết xuất từ kiểu thuộc tính khác
Chưa mã hóa tên gọi cho kiểu thực thể và kiểu thuộc tính Đã mã hóa tên gọi cho kiểu thực thể và kiểu thuộc tính
Tồn tại các kiểu thuộc tính mô tả xuất hiện ở nhiều kiểu thực thể
Không tồn tại các thuộc tính mô tả xuất hiện ở nhiều kiểu thực thể Việc chuyển đổi từ ER hạn chế về mô hình quan hệ thực chất là đưa thêm những ràng buộc của mô hình quan hệ vào ER hạn chế Cụ thể như sau
Mã hóa kiểu thực thể, kiểu thuộc tính
Loại bỏ các kiểu thuộc tính có thể kết xuất được từ các kiểu thuộc tính khác
Chỉnh sửa các kiểu thuộc tính mô tả cùng xuất hiện ở nhiều kiểu thực thể
Mã hóa 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 1 bảng quan hệ ở mô hình quan hệ
Kiểu thực thể Bảng quan hệ
DÒNG PHIẾU YC D_PYC ĐƠN MUA HÀNG DONMH
DÒNG HÓA ĐƠN MUA D-HOADONM
HÓA ĐƠN THANH TOÁN HOADONTT
DÒNG HÓA ĐƠN TT D_ HOADONTT
Mã hóa kiểu thuộc tính thành trường dữ liệu
Kiểu thuộc tính khóa chuyển sang bảng tương ứng là khóa của bảng
Kiểu thuộc tính mô tả :
+ Kết xuất được sẽ bỏ đi :
+ Xuất hiện ở 1 kiểu thực thể sẽ chuyển bảng tương ứng
+ Xuất hiện ở nhiều bảng sẽ giữ ở bảng chính và thay bằng khóa chính bảng chính vào bảng đó
Các bảng: DÒNG PHIẾU YC, DÒNG PHIẾU NHẬP có thuộc tính “tên hàng” ta có thể loại bỏ vì được suy ra từ “mã hàng”
Các bảng: DÒNG ĐƠN MH , DÒNG HÓA ĐƠN MUA, DÒNG HÓA ĐƠN TT có thuộc tính “thành tiền” ta lược bỏ vì có thể suy ra từ đơn giá, số lượng…
Các bảng: ĐƠN MUA HÀNG, HÓA ĐƠN MUA, HÓA ĐƠN THANH TOÁN có thuộc tính “tổng tiền” ta lược bỏ vì có thể suy ra từ đơn giá, số lượng…
Các bảng ĐƠN MUA HÀNG, GIAO HÀNG có thuộc tính “tên NCC”, “địa chỉ NCC”, “sđt NCC” ta lược bỏ vì có thể suy ra từ
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x idyc int Số yêu cầu
2 ngayyc datetime Ngày yêu cầu
3 nguoidenghi Nvarchar(50) Người đề nghị
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x x idyc INT Số yêu cầu
3 sldukien INT Số lượng dự kiến
4 slton INT Số lượng tồn
3) Bảng DONMHSTT Khóa Khóa Tên trường Kiểu dữ liệu Diễn giải chính ngoài
1 x iddonmh INT Số đơn mua hàng
2 ngaydonmh DATETIME Ngày đơn mua hàng
4 HtttNCC NVARCHAR(50) Hình thức thanh toán
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x x iddonmh INT Số đơn mua hàng
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x idpnhap INT Số phiếu nhập
4 nguoilapphieu NVARCHAR(50) Người lập phiếu
6 x idghang INT Số phiếu giao
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x x idpnhap INT Số phiếu nhập
3 slgiao INT Số lượng giao
4 slnhan INT Số lượng nhận
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x idghang INT Số giao hàng
2 ngaygiao DATETIME Ngày giao hàng diachi NVARCHAR(100) Địa chỉ
4 nguoilapphieu NVARCHAR(50) Người lập phiếu
9 x iddonmh INT Số đơn mua hàng
10 HtttNCC NVARCHAR(50) Hình thức thanh toán
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x x idghang INT Số giao hàng
3 slgiaohang INT Số lượng giao
4 slnhanhang INT Số lượng nhận
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x idhoadonm INT Số hóa đơn mua
2 ngaymua DATETIME Ngày mua hàng
3 x idpnhap INT Số phiếu nhập
4 HtttNCC NVARCHAR(50) Hình thức thanh toán
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x x idhoadonm INT Số hóa đơn mua
3 slmua INT Số lượng mua
4 dongiamua INT Đơn giá mua
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
4 sdt INT10) Số điện thoại NCC
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x x idncc INT Mã nhà cung cấp
3 dongiacc INT Đơn giá cung cấp
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
4 dvt NVARCHAR(10) Đơn vị tính
6 x idloai INT Mã loại món
Tên trường Kiểu dữ liệu Diễn giải
3 slton INT Số lượng tồn
4 dongianl INT Đơn giá nguyên liệu
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x idloai INT Mã loại món
2 tenloai NVARCHAR(50) Tên loại món
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x idhoadontt INT Số hóa đơn
2 ngayhd DATETIME Ngày hóa đơn
4 tennv NVARCHAR(50) Tên nhân viên
Khóa ngoài Tên trường Kiểu dữ liệu Diễn giải
1 x x idhoadontt INT Số hóa đơn
3 slban INT Số lượng bán
4 dongiaban INT Đơn giá bán
Hợp nhất khía cạnh chức năng và dữ liệu
2.3.1 Ma trận kho – kiểu thực thể
Phiếu nhập kho Đơn mua hàng
2.3.2 Ma trận chức năng – kiểu thực thể
1 Thanh toán hóa đơn khách hàng
2 Tính toán tổng tiền thu
4 Yêu cầu nhập nguyên liệu
7 Thanh toán hóa đơn mua hàng
THIẾT KẾ HỆ THỐNG
Thiết kế tổng thể
3.1.1 Phân định công việc giữa người và máy
3.1.2 Thiết kế tiến trình hệ thống
Thiết kế kiểm soát
3.2.1 Xác định nhóm người dùng
- Dựa trên cơ cấu tổ chức của hệ thống gồm có 3 nhóm người dùng là:
+ Nhóm 1: nhóm nhân viên quản lý cửa hàng: làm công việc nhóm chức năng
"Quản lý cửa hàng": đặt đơn hàng, quản lý thực đơn, thống kê doanh thu.
+ Nhóm 2: nhóm nhân viên thanh toán hóa đơn: làm công việc nhóm chức năng
"Thanh toán hóa đơn": thanh toán hóa đơn khách hàng, thanh toán hóa đơn nhà cung cấp.
+ Nhóm 3: nhóm nhân viên quản lý đồ ăn: làm công việc nhóm chức năng "Quản lý đồ ăn": chế biến đồ ăn, yêu cầu nhập nguyên liệu, nhập kho nguyên liệu.
- Nhóm quản trị gồm: Tạo và quản lý tài khoản, mật khẩu, quyền truy cập của các bộ phận của hệ thống, sửa đổi thông tin các danh mục trong hệ cơ sở dữ liệu.
- Mỗi nhân viên có quyền thay đổi mật khẩu cũng như thông tin cá nhân của mình.
3.2.2 Phân định quyền hạn nhóm người dùng (tiến trình, dữ liệu)
Ký hiệu: R: Read; E: Edit; D: Delete; C: Create
Nhóm người dùng Quản trị Quản lý cửa hàng
3.2.3 Xác định các tình huống kiểm soát người dùng
Bảo mật thông tin của người dùng
=> Trong lần truy cập đầu tiên, điều kiện tiên quyết là người dùng phải thay đổi mật khẩu trước khi thực hiện các chức năng trong hệ thống Để tránh tình trạng xâm nhập vào hệ thống trái phép thông qua lỗ hổng của nhân viên như: để bị lộ mật khẩu ra ngoài thì ta nên có chính sách thay đổi mật khẩu ít nhất 1 tháng 1 lần Có thể tần suất nhiều hơn Thiết kế tiến trình hệ thống của nhóm quản trị.
Người dùng quên mật khẩu
=> Có chức năng Reset mật khẩu để cấp lại mật khẩu cho người dùng.
Người dùng nhập sai định dạng các ô dữ liệu
=> Lập trình viên kiểm soát bằng cách bắt sự kiện
Vd: Số điện thoại trong khoảng 10-11 số
Gmail theo đúng dạng ….@gmail.com
Vấn đề sử dụng được các chức năng của bộ phận khác
=> Ta sẽ phân quyền tài khoản cho từng bộ phận nhân viên Khi đã tạo tài khoản của bộ phận này đăng nhập vào hệ thống sẽ không thấy được chức năng của bộ phận không liên quan đến nhân viên đó.
3.2.4 Thiết kế tiến trình hệ thống cho nhóm quản trị
Thiết kế cơ sở dữ liệu
3.3.1 Thiết kế bảng dữ liệu phục vụ bảo mật
- Khi người dùng muốn sử dụng hệ thống thì phải đăng nhập vào theo tên và mật khẩu được cho phép Hệ thống sẽ kiểm tra tính hợp lệ của tên và mật khẩu người dùng và quản trị cùng với quyền của họ Dựa vào quyền người sử dụng mà hệ thống lọc ra những module mà người đó được dùng.
- Ta xác định được các thực thể:
+ Thêm bảng: NGUOIDUNG (nhân viên là người dùng của hệ thống)
NGUOIDUNG(idnd, tennd, sdt, tendangnhap, matkhau, quyen, chucvu)+ Thêm bảng: QUANTRI ( bảng quản trị quản lý thông tin đăng nhập của người quản trị hệ thống)
QUANTRI( idqt, tenqt, tendangnhap, matkhau, sdt)
+ Thêm bảng: LICHSUTHAOTAC (bảng lưu trữ thông tin thao tác trên hệ thống của người dùng và quản trị)
LICHSUTHAOTAC (IdThaoTac, IdTaiKhoan, ThaoTac, Bang, ChiTiet, ThoiGian)
+ Thêm bảng: LICHSUDANGNHAP (bảng lưu vết thông tin đăng nhập của các tài khoản)
LICHSUDANGNHAP (IdLichSu, IdTaiKhoan, TgBatDau, TgKetThuc, GhiChu)
3.3.2 Xác định thuộc tính kiểm soát, bảng kiểm soát a Nghiên cứu các tình huống
+ Bảng dữ liệu truy xuất hệ thống, trường ít => truy xuất vào cùng 1 bảng.
- Bảng PYC và D_PYC thường được truy xuất cùng nhau=> Gom thành bảng PYC
- Bảng DONMH và D_DONMH thường được truy xuất cùng nhau=> Gom thành bảng DONMH
- Bảng PNHAP và D_PNHAP thường được truy xuất cùng nhau=> Gom thành bảng PNHAP
- Bảng NCC và NLIEU_NCC thường được truy xuất cùng nhau=> Gom thành bảng NCC
+ Trường tính toán nếu thực hiện nhiều => thêm trường đó vào bảng dữ liệu.
- thanhtienm=slmh*dongiamh vào bảng D_HOADONM
- thanhtien = slban*dongiaban vào bảng D_HOADONTT
=> để phục vụ quá trình truy xuất dữ liệu nhanh chóng hơn khi lập báo cáo thống kê và việc tính toán không phải thực hiện nhiều lần b Bỏ bảng dữ liệu lưu tay
- Bảng GIAOHANG và D_GIAOHANG c Thêm bảng dữ liệu, thuộc tính phục vụ bảo mật
- Trong hóa đơn thanh toán cần xác định rõ ai là người lập hóa đơn cũng như phiếu nhập Việc này các định thông qua tài khoản nào thực hiện công việc lập hóa đơn đó Chính vì thế ta sẽ thêm idnd vào bảng HOADONTT, PNHAP và loại bỏ thuộc tính tennv, nguoilapphieu.
HOADONTT(idhoadontt, ngayhd, thoigian, idnd, tongtien)
PNHAP(idpnhap, idhang, ngaynhap, slgiao, slnhan, nguoigiao, thukho, iddonmh, idnd)
3.3.3 Mô hình dữ liệu hệ thống
3.3.4 Đặc tả bảng dữ liệu a) Bảng QUANTRI
1.Số hiệu: 1 2.Tên bảng: QUANTRI 3.Bí danh:
4 Mô tả: Lưu trữ thông tin của 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 IdQt Mã người quản trị INT Số nguyên x
2 TenQt Tên người quản trị NVARCHAR(50) Chữ cái
3 TendangNhap Tên đăng nhập của người quản trị
VARCHAR(8) Chữ cái + Chữ số x
4 MatKhau Mật khẩu đăng nhập tài khoản
VARCHAR(8) Chữ cái + chữ số trừ ký tự đặc biệt x
5 Sdt Số điện thoại của người quản trị
Số Tên Cột khóa ngoài
Quan hệ với bảng b) Bảng NGUOIDUNG
1.Số hiệu: 2 2.Tên bảng: NGUOIDUNG 3.Bí danh:NGUOIDUNG
4 Mô tả: Lưu trữ thông tin 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 IdNd Mã số người dùng INT Số nguyên x
2 TenNd Tên người dùng NVARCHAR(50) Chữ cái
3 Sdt Số điện thoại của người dùng
4 MatKhau Mật khẩu VARCHAR(8) Chữ cái + chữ số trừ ký tự đặc biệt x
5 TenDangNhap Tên đăng nhập VARCHAR(8) Chữ cái + chữ số x
6 Quyen Quyền hạn của người dùng khi đăng nhập vào hệ thống
7 ChucVu Chức vụ của người dùng
Số Tên Cột khóa ngoài Quan hệ với bảng c) Bảng NLIEU
1.Số hiệu:3 2.Tên bảng: NLIEU 3.Bí danh: NLIEU
4 Mô tả: Lưu trữ thông tin nguyên liệ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 IdHang Mã hàng INT Số nguyên x
2 TenHang Tên hàng NVARCHAR(30) Chữ cái
3 SlTon Số lượng tồn INT Số nguyên x
4 Nguong Ngưỡng INT Số nguyên x
5 DonGiaNL Đơn giá nguyên liệu INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng d) Bảng PYC
1.Số hiệu: 4 2.Tên bảng: PYC 3.Bí danh: PYC
4 Mô tả: Lưu trữ thông tin phiếu yêu cầu nhập nguyên liệ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 IdYc Số hiệu phiếu yêu cầu INT Số nguyên x
2 IdHang Mã nguyên liệu INT Số nguyên x
3 NgayYc Ngày yêu cầu nhập nguyên liệu
4 SLDuKien Số lượng dự kiến INT Số nguyên x
5 SLTon Số lượng tồn INT Số nguyên x
6 NguoiDeNghi Người đề nghị NVARCHAR(30) Chữ cái x
Số Tên Cột khóa ngoài Quan hệ với bảng
1 IdHang IdHang NLIEU e) Bảng NCC
1.Số hiệu: 5 2.Tên bảng: NCC 3.Bí danh: NCC
4 Mô tả: Lưu trữ thông tin 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ã NCC INT Số nguyên x
2 IdHang Mã hàng INT Số nguyên x
C Đơn giá cung cấp INT Số nguyên x
4 TenNCC Tên NCC NVARCHAR(30) Chữ cái + chữ số
5 DiaChi Địa chỉ NCC NVARCHAR(50) Chữ cái + chữ số x
6 SDT Số điện thoại NCC INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng
1 IdHang IdHang NLIEU f) Bảng DONMH
1.Số hiệu: 6 2.Tên bảng: DONMH 3.Bí danh: DONMH
4 Mô tả: Lưu trữ thông tin đơn mua 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 IdDonMH Số hiệu đơn mua hàng
2 IdHang Mã hàng INT Số nguyên x
3 NgayDonMH Ngày đơn mua hàng DATETIME DD/MM/YYYY
4 IdNCC Mã NCC INT Số nguyên x
5 SLMH Số lượng mua INT Số nguyên x
6 DonGiaMH Đơn giá mua INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng
2 IdNCC IdNCC NCC g) Bảng HOADONM
1.Số hiệu: 7 2.Tên bảng: HOADONM 3.Bí danh: HOADONM
4 Mô tả: Lưu trữ thông tin hóa đơn mua nguyên liệ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 IdHoaDonM Số hiệu hóa đơn mua
2 NgayMua Ngày mua DATETIME DD/MM/YYYY
3 IdPNhap Số hiệu phiếu nhập INT Số nguyên x
4 TongTienM Tổng tiền hóa đơn mua nguyên liệu
5 HtttNCC Hình thức thanh toán nhà cung cấp
Số Tên Cột khóa ngoài Quan hệ với bảng
1 IdNhap IdNhap PNHAP h) Bảng D_HOADONM
1.Số hiệu: 8 2.Tên bảng: D_HOADONM 3.Bí danh: D_HOADONM
4 Mô tả: Lưu trữ thông tin chi tiết hóa đơn mua nguyên liệu
5 Mô tả chi tiết các cột
Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 IdHoaDonM Số hiệu hóa đơn mua INT Số nguyên x
2 IdHang Mã hàng INT Số nguyên x
3 SLMua Số lượng mua INT Số nguyên x
4 ThanhTienM Thành tiền mua nguyên liệu
5 DonGiaMua Đơn giá mua INT Số nguyên x
Tên Cột khóa ngoài Quan hệ với bảng
2 IdHoaDonM IdHoaDonM HOADONM i) Bảng PNHAP
1.Số hiệu: 9 2.Tên bảng: PNHAP 3.Bí danh: PNHAP
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 IdPNhap Số hiệu hóa đơn mua
2 NgayNhap Ngày nhập DATETIME DD/MM/YYYY
3 SLGiao Số lượng giao INT Số nguyên x
4 SLNhan Số lượng nhận INT Số nguyên x
5 NguoiGiao Người giao NVARCHAR(50) Chữ cái
6 ThuKho Thủ kho NVARCHAR(50) Chữ cái x
7 IdNd Người lập phiếu NVARCHAR(50) Chữ cái x
8 IdGHang Mã giao hàng INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng
1 IdNd IdNd NGUOIDUNG j) Bảng LOAIMON
1.Số hiệu: 10 2.Tên bảng: LOAIMON 3.Bí danh: LOAIMON
4 Mô tả: Lưu trữ thông tin danh mục món ă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 IdLoai Mã loại món INT Số nguyên x
2 TenLoai Tên loại món NVARCHAR(50) Chữ cái_ chữ số
Số Tên Cột khóa ngoài Quan hệ với bảng k) Bảng MONAN
1.Số hiệu: 11 2.Tên bảng: MONAN 3.Bí danh:
4 Mô tả: Lưu trữ thông tin món ă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 IdMon Mã món INT Số nguyên x
2 TenMon Tên món NVARCHAR(30) Số nguyên
3 DonGiaMon Đơn giá INT Số nguyên x
4 DVT Đơn vị tính NVARCHAR(10) Chữ cái_ chữ số x
5 HinhAnh Hình ảnh NVARCHAR(30) Chữ cái_ chữ số x
6 IdLoai Mã loại món INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng
1 IdLoai IdLoai LOAIMON l) Bảng CONGTHUC
1.Số hiệu: 12 2.Tên bảng: CONGTHUC 3.Bí danh: CONGTHUC
4 Mô tả: Lưu trữ thông tin công thức chế biến món ă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 Idhang Mã món INT Số nguyên x
2 IdMon Mã hàng INT Số nguyên x
3 Luong Lượng NVARCHAR(10) Chữ cái_ chữ số x
Số Tên Cột khóa ngoài Quan hệ với bảng
2 IdMon IdMon MONAN m) Bảng HOADONTT
1.Số hiệu: 13 2.Tên bảng: HOADONTT 3.Bí danh: HOADONTT
4 Mô tả: Lưu trữ thông tin hóa đơ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 IdHoaDonTT Số hiệu hóa đơn INT Số nguyên x
2 NgayHD Ngày hóa đơn DATETIME DD/MM/YYYY
4 IdNd Mã số người dùng INT Số nguyên x
5 TongTien Tổng tiền INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng
1 IdNd IdNd NGUOIDUNG n) Bảng D_HOADONTT
1.Số hiệu: 14 2.Tên bảng: HOADONTT 3.Bídanh: HOADONTT
4 Mô tả: Lưu trữ thông tin chi tiết hóa đơ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 IdHoaDonTT Số hiệu hóa đơn INT Số nguyên x
2 IdMon Mã món INT Chữ cái_ chữ số x
3 SLBan Số lượng bán INT Số nguyên x
4 DonGiaBan Đơn giá bán INT Số nguyên x
5 ThanhTien Thành tiền INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng
2 IdMon IdMon MONAN o) Bảng LICHSUTHAOTAC
1.Số hiệu: 15 2.Tên bảng: LICHSUTHAOTAC 3.Bídanh: LICHSUTHAOTAC
4 Mô tả: Lưu trữ thông tin lịch sử thao tác
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 IdThaoTac Số hiệu thao tác INT Số nguyên x
2 IdTaiKhoan Số hiệu tài khoản INT Số nguyên x
3 ThaoTac Thao tác INT Số nguyên x
4 Bang Bảng được thao tác INT Số nguyên x
5 ChiTiet Chi tiết thao tác INT Số nguyên x
6 ThoiGian Thời gian thực hiện thao tác x
Số Tên Cột khóa ngoài Quan hệ với bảng p) Bảng LICHSUDANGNHAP
1.Số hiệu: 16 2.Tên bảng: LICHSUDANGNHAP 3.Bídanh:
4 Mô tả: Lưu trữ thông tin lịch sử đăng nhậ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 IdLichSu Số hiệu lịch sử INT Số nguyên x
2 IdTaiKhoan Số hiệu tài khoản INT Số nguyên x
3 TgBatDau Thời gian bắt đầu INT Số nguyên x
4 TgKetThuc Thời gian kết thúc INT Số nguyên
5 GhiChu Ghi chú đăng nhập INT Số nguyên x
Số Tên Cột khóa ngoài Quan hệ với bảng
Thiết kế kiến trúc chương trình
3.4.1 Thiết kế kiến trúc hệ thống mức cao
Lời gọi modul o A gọi B hoặc gọi C tùy thuộc vào kết quả phép chọn o A gọi B rồi gọi C o A gọi B nhiều lần
3.4.2 Thiết kế modul xử lý
Thiết kế modul kiểm soát hệ thống và nghiệp vụ hệ thống
Thiết kế modul yêu cầu nhập nguyên liệu (quản lý đồ ăn)
Thiết kế modul lập đơn mua hàng (quản lý cửa hàng)
Thiết kế giao diện người – máy
3.5.1 Thiết kế hệ thống đơn chọn
3.5.2 Thiết kế form nhập liệu cho danh mục
Giao diện Cập nhật thực đơn:
Tên giao diện: Cập nhật thực đơn
Người sử dụng: nhân viên quản lý
Nhiệm vụ: Cập nhật thông tin thực đơn
Tiền điều kiện: Đã đăng nhập với quyền nhân viên quản lý
Hậu điều kiện: Trở về màn hình chính
Biểu đồ trình tự hoạt động:
Bảng dữ liệu sử dụng:
Bảng dữ liệu sử dụng
Thuộc tính sử dụng Mức độ sử dụng
MONAN idmon tenmon dongiamon dvt iddmuc
Quy trình, công thức xử lý:
- btnTaoMoi: sau khi kích nút này, thì txtmamon, txttenmon, txtdongia, txtdvt có Enabled=true để người dùng có thể thao tác nhập liệu
- txtTimkiem: sau khi sau khi click và nhập thông tin cần tìm vào TextBox này thì sẽ hiển thị ra thông tin ở bảng gridviewMonAn giống hoặc gần giống nhất với thông tin cần tìm.
- btnSua: sau khi kích nút này, thì txttenmon, txtdongia, txtdvt có Enabled=true để người dùng có thể thao tác nhập liệu.
- btnXoa:sau khi kích nút này, màn hình hiện lên thông báo hỏi bạn chắc chắn muốn xóa hay không, nếu chọn OK dữ liệu được chọn sẽ bị xóa, nếu chọn Cancel thì dữ liệu sẽ không bị mất.
- grid view:sau khi kích vào 1 dòng trên grid view, mọi thông tin trên dòng sẽ hiển thị lên txttenmon, txtdongia, txtdvt tương ứng, kích các btnXoa hay btnSua để phục vụ mục đích.
- btnLuu: được kích vào sau khi thao tác với btnTaoMoi và btnSua, dữ liệu sẽ được cập nhật vào CSDL, đồng thời txttenmon, txtdongia, txtdvt có Enabled= true; txtmamon.Enabled = false.
Nhiệm vụ: Cập nhật thông tin menu đồ ăn
Định dạng kết quả đầu ra:
- Bảng dữ liệu bị thay đổi: MONAN
- Trạng thái hệ thống sau khi thoát giao diện: trở về trạng thái trước khi chọn giao diện
3.5.3 Thiết kế form xử lý nghiệp vụ
Giao diện thanh toán hóa đơn
Tên giao diện: Thanh toán hóa đơn
Người sử dụng: nhân viên bộ phận thanh toán
Nhiệm vụ: lập hóa đơn thanh toán cho khách hàng
Tiền điều kiện: Đã đăng nhập với quyền nhân viên thanh toán
Hậu điều kiện: Trở về màn hình chính
Biểu đồ trình tự hoạt động:
Bảng dữ liệu sử dụng:
Bảng dữ liệu sử dụng Thuộc tính sử dụng Mức độ sử dụng
D_HOADONTT idmon idhoadontt slban dongiaban thanhtien
Quy trình, công thức xử lý:
- Tự động tạo số hóa đơn, cập nhật ngày hóa đơn và thời gian.
- btnThem: sau khi kích nút này, thì txtmamon, txtsoluong có Enabled=true, để người dùng có thể thao tác nhập liệu
- btnSua: sau khi kích nút này, thì txtmamon, txtsoluong có Enabled=true để người dùng có thể thao tác nhập liệu
- btnXoa:sau khi kích nút này, màn hình hiện lên thông báo hỏi bạn chắc chắn muốn xóa hay không, nếu chọn OK dữ liệu được chọn sẽ bị xóa, nếu chọn Cancel thì dữ liệu sẽ không bị mất.
- grid view:sau khi kích vào 1 dòng trên grid view, mọi thông tin trên dòng sẽ hiển thị lên txtmamon, txttenmon, txtsoluong, txtdvt, txtdongia, txtthanhtien tương ứng, kích các btnXoa hay btnSua để phục vụ mục đích.
- btnLuu: được kích vào sau khi thao tác với btnThem và btnSua, dữ liệu sẽ được cập nhật vào CSDL, txtmamon, txtsoluong có Enabled= true Đồng thời txttongtien sẽ hiển thị tổng tiền của hóa đơn( tổng cộng thành tiền của mỗi món).
- btnThanhtoan: sau khi nhập số tiền khách đưa, rồi click vào buttonThanhtoan , máy tính rồi sẽ tự tính số dư để trả cho khách.
- btnInhoadon: sau khi kích nút này, màn hình hiện lên form In hóa đơn( Mẫu biểu hóa đơn thanh toán), chọn OK sẽ được in.
Định dạng kết quả đầu ra:
- Bảng dữ liệu bị thay đổi: HOADONTT
Trạng thái hệ thống sau khi thoát giao diện: trở về trạng thái trước khi chọn giao diện.
3.5.4 Thiết kế báo cáo ( 01 nghiệp vụ, 01 thống kê)
Nghiệp vụ: Thiết kế báo cáo nghiệp vụ: hóa đơn thanh toán
- Tên báo cáo: Hóa đơn thanh toán
- Người lập: Nhân viên bộ phận thanh toán
- Nhiệm vụ: Lập hóa đơn thanh toán cho khách hàng.
- Bảng dữ liệu sử dụng:
Bảng dữ liệu Thuộc tính sử dụng
HOADONTT idhoadontt, ngayhd, thoigian, idnd, tongtien
D_ HOADONTT idhoadontt, idmon , dongiaban, thanhtien, slban
- Trường dữ liệu tính toán: thanhtien = slban*dongia tongtien= Σ thanhtien
Thống kê: Thiết kế báo cáo thống kê: Báo cáo chi tiết doanh thu
- Tên báo cáo: Báo cáo chi tiết doanh thu
- Người lập: Nhân viên thuộc bộ phận quản lý cửa hàng
- Nhiệm vụ: Thống kê trong trong khoảng(Từ ngày…./…/… đến ngày…./
… /……) có tổng số doanh thu là như thế nào cho chủ cửa hàng
- Môi trường: Nội bộ cửa hàng đồ ăn nhanh
- Bảng dữ liệu sử dụng:
Bảng dữ liệu sử dụng Thuộc tính sử dụng
HOADONTT idhoadontt, ngayhd, thoigian, idnd, tongtien
D_ HOADONTT idhoadontt, idmon, dongiaban, thanhtien, slban
- Trường dữ liệu tính toán: ThanhTien= slban*dongiaban