BỘ CÔNG THƯƠNG
TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN LẬP TRÌNH WINDOWS NÂNG CAO
ĐỀ TÀI: Phần mềm quản lý quán Cafe
Giảng Viên Hướng Dẫn: Bùi Công Danh
Sinh viên thực hiện:
1. 2001140202 – Đặng Ái Quốc
2. 2001140293 - Nguyễn Thanh Tùng
TP.HỒ CHÍ MINH - 2017
Đồ án áp dụng mô hình thác nước
Bảng chi tiết phân công
Công việc
Khảo sát
Phân Tích
Thiết Kế Hệ Thống
Thiết Kế Giao Diện
Viết Code
Thực Thi Và Kiểm Thử
Hoàn Thiện Và Làm Báo Cáo
Người làm
Quốc, Tùng
Quốc, Tùng
Tùng
Tùng
Quốc
Quốc, Tùng
Quốc, Tùng
LỜI CẢM ƠN
Trong quá trình làm để tài, chân thành cảm ơn giảng viên đã cung cấp kiến thức nền
tảng cho nhóm em hoàn thành phần mềm.
Chúng em cũng xin cảm ơn sự giúp đỡ của các nhân viên trong quán cafe Aeon. Các
nhân viên đã cung cấp những thông tin mà nhóm em muốn. Mọi người khá vui vẻ và nhiệt
tình nên công đoạn khảo sát không gặp nhiều khó khăn.
Với lượng kiến thức chưa cao, nếu có thiếu sót mong thầy đóng góp ý kiến để nhóm em
làm tốt hơn.
MỤC LỤC
CHƯƠNG 1
TỔNG QUAN................................................................................................................4
1.1.
GIỚI THIỆU.............................................................................................................................4
1.2.
MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI.........................................................................................4
1.2.1.
Mục tiêu.............................................................................................................................4
1.2.2.
Phạm vi đề tài....................................................................................................................5
1.3.
KHẢO SÁT HỆ THỐNG.........................................................................................................5
1.3.1.
Giới thiệu hệ thống đã khảo sát.........................................................................................5
1.3.2.
Quy trình nghiệp vụ quản lý danh mục món:....................................................................5
1.3.3.
Mô hình diễn tả quy trình nghiệp vụ( BPM )....................................................................7
1.4.
KẾT CHƯƠNG........................................................................................................................9
CHƯƠNG 2
PHÂN TÍCH HỆ THỐNG...........................................................................................11
2.1.
GIỚI THIỆU...........................................................................................................................11
2.2.
PHÂN TÍCH DỮ LIỆU..........................................................................................................11
2.2.1.
Giới thiệu mô hình erd....................................................................................................11
2.2.2.
Mô hình ERD..................................................................................................................12
2.3.
PHÂN TÍCH XỬ LÝ..............................................................................................................12
2.3.1.
Giới thiệu mô hình DFD.................................................................................................12
2.3.2.
Mô hình DFD..................................................................................................................13
2.4.
KẾT CHƯƠNG......................................................................................................................13
CHƯƠNG 3
THIẾT KẾ HỆ THỐNG..............................................................................................14
3.1.
GIỚI THIỆU...........................................................................................................................14
3.2.
MÔ HÌNH QUAN HỆ............................................................................................................14
3.2.1.
Giới thiệu mô hình..........................................................................................................14
3.2.2.
Mô hình trong SQL Server..............................................................................................14
3.2.3.
Xác định bảng, kiểu dữ liệu, khóa chính, khóa ngoại.....................................................15
3.3.
MÔ HÌNH PHÂN CẤP CHỨC NĂNG.................................................................................17
3.3.1.
Giới thiệu BFD................................................................................................................17
3.3.2.
Mô hình BFD..................................................................................................................17
3.4.
RÀNG BUỘC TOÀN VẸN....................................................................................................17
3.4.1.
Ràng buộc toàn vẹn miền giá trị......................................................................................18
3.4.2.
Ràng buộc toàn vẹn liên bộ.............................................................................................19
3.4.3.
Ràng buộc toàn vẹn liên thuộc tính.................................................................................22
3.4.4.
Ràng buộc toàn vẹn liên bộ - liên quan hệ......................................................................22
3.4.5.
Ràng buộc toàn vẹn do thuộc tính tổng hợp....................................................................23
3.5.
THIẾT KẾ GIAO DIỆN.........................................................................................................24
3.5.1.
Form đăng nhập...............................................................................................................24
3.5.2.
Form cấu hình..................................................................................................................25
3.5.3.
Form Quản Lý.................................................................................................................26
3.5.4.
Form nghiệp vụ order bàn...............................................................................................31
3.5.5.
Form quản lý nhân viên...................................................................................................41
3.5.6.
Phân quyền nhân viên.....................................................................................................46
3.5.7.
Form quản lý bàn.............................................................................................................48
3.5.8.
Form quản lý danh mục món...........................................................................................50
3.5.9.
Form quản lý món...........................................................................................................50
3.5.10.
Form thống kê.............................................................................................................51
3.5.11.
Form quay số khách hàng may mắn............................................................................53
3.5.12.
Form ghi chú:...............................................................................................................53
CHƯƠNG 4
KẾT LUẬN.................................................................................................................55
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Viết tắt
Tiếng Anh
Tiếng Việt
CNTT
ERD
BFD
DFD
CSDL
Infomation Technoly
Entity-Relationship Diagram
Business Function Diagram
Data Flow Diagram
DataBase
Công Nghệ Thông Tin
Mô hình thực thể kết hợp
Mô hình quy trình nghiệp vụ
Mô hình dòng dữ liệu
Cơ sở dữ liệu
Trang 1
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ T
Hình 1. 1: Quy trình nghiệp vụ chức năng oder......................................................................................7
Hình 1. 2: Quy trình nghiệp vụ chức năng thay đổi món........................................................................8
Hình 1. 3: Quy trình nghiệp vụ chức năng chuyển/gộp bàn...................................................................8
Hình 1. 4: Quy trình nghiệp vụ tính tiền.................................................................................................9
Y
Hình 2. 1: Mô hình thực thể kết hợp ERD............................................................................................12
Hình 2. 2: Mô hình DFD cấp 0..............................................................................................................13
Hình 2. 3: Mô hình DFD cấp 1..............................................................................................................13
Hình 3. 1: Mô hình lược đồ quan hệ....................................................................................................14
Hình 3. 2: Mô hình BFD......................................................................................................................17
Hình 3. 3: Giao diện đăng nhập............................................................................................................24
Hình 3. 4: Giao diện cấu hình..............................................................................................................25
Hình 3. 5: Giao diện quản lý................................................................................................................26
Hình 3. 6: Thanh tác vụ........................................................................................................................27
Hình 3. 7: MenuStrip Hệ Thống...........................................................................................................27
Hình 3. 8: MenuStrip Quản Lý Bán Hàng...........................................................................................27
Hình 3. 9: MenuStrip Admin................................................................................................................28
Hình 3. 10: MenuStrip Công Cụ...........................................................................................................29
Hình 3. 11: MenuStrip Giải Trí.............................................................................................................29
Hình 3. 12 MenuStrip Giúp Đỡ.............................................................................................................30
Hình 3. 13: ToolStrip nghiệp vụ thường làm........................................................................................30
Hình 3. 14: Giao diện nghiệp vụ order bàn...........................................................................................31
Hình 3. 15: Giao diện thêm món hoàn thành........................................................................................33
Hình 3. 16: Giao diện giảm món hoàn thành........................................................................................34
Hình 3. 17: Giao diện xóa món hoàn thành...........................................................................................36
Hình 3. 18: Giao diện in hóa đơn..........................................................................................................37
Hình 3. 19: Giao diện chuyển bàn thành công......................................................................................40
Hình 3. 20: Giao diện gộp bàn thành công............................................................................................41
Hình 3. 21: Giao diện quản lý nhân viên...............................................................................................41
Hình 3. 22: Giao diện sau khi thêm nhân viên......................................................................................43
Hình 3. 23: Giao diện sửa thông tin hoàn thành....................................................................................44
Hình 3. 24: Giao diện xóa hoàn thành...................................................................................................45
Hình 3. 25: Giao diện quản lý nhóm người dùng..................................................................................46
Hình 3. 26: Giao diện thêm người dùng vào nhóm...............................................................................47
Hình 3. 27: Giao diện phân quyền theo màn hình.................................................................................48
Hình 3. 28: Giao diện quản lý bàn........................................................................................................49
Hình 3. 29: Giao diện quản lý món.......................................................................................................51
Hình 3. 30: Giao diện thống kê.............................................................................................................51
Hình 3. 31: Giao diện in hóa đơn báo cáo.............................................................................................52
Hình 3. 32: Giao diện quay số khách hàng may mắn............................................................................53
Hình 3. 33: Giao diện ghi chú...............................................................................................................53
Hình 3. 34: Giao diện phạt đăng nhập...................................................................................................54
Trang 2
MỞ ĐẦU
Ngày nay, CNTT được áp dụng một cách triệt để vào trong các mô hình, ứng dụng
trong hầu hết cách lĩnh vực. Đóng vai trò rất quan trọng, là nhu cầu cần thiết trong đời
sống hiện nay. Việc áp dụng các thành tựu về CNTT đã giúp thay thế các phương pháp thủ
công bằng các chương trình máy tính. Các phần mềm được ra đời ngày càng nhiều đáp
ứng được các nhu cầu thiết yếu.
Lập trình ra những phần mềm đó là các lập trình viên. Nhờ có các phần mềm mà
mọi người làm việc dễ dàng, tiết kiệm thời gian, nhân lực và bảo mật tốt hơn. Tuy nhiên
cần phải có vốn hiểu biết về thực tế về khách hàng thì mới có thể thiết kế phần mềm đạt
hiệu quả. Các chương trình được thiết kế phải có độ chính xác cao và đáp ứng tốt các nhu
cầu của khách hàng. Vừa phù hợp với túi tiền lại phù hợp với khả năng của khách hàng
chính là yếu tố đảm bảo sự bền vững lâu dài.
Trong tương lai, những phần mềm quản lý là công cụ không thể thiếu cho bất kỳ
doanh nghiệp nào. Để thấy được tầm quan trọng của CNTT, nhiều sinh viên đã áp dụng
công nghệ thông tin để thiết kế các phần mềm quản lý. Chính vì thế nhóm em đã lựa chọn:
“Phần mềm quản lý quán Cafe” làm đề tài môn “Lập trình Windows nâng cao”.
Trang 3
CHƯƠNG 1 TỔNG QUAN
1.1. GIỚI THIỆU
Các quán cà phê hiện nay có số lượng khách hàng ngày càng tăng. Công đoạn phục
vụ khách hàng cần ngày một tốt hơn, chính xác và nhanh chóng. Tuy nhiên công tác thủ
công mà nhiều quán thực hiện vẫn còn nhiều hạn chế như:
Tra cứu thông tin về hàng hóa mất nhiều thời gian và không chính xác.
Lưu trữ thông tin nhâp xuất hàng hóa về thu, chi cần nhiều loại giấy tờ cồng
kềnh và kém hiệu quả.
Cập nhật thông tin hàng ngày tốn nhiều thời gian.
Khó khăn trong quá trình hiện báo cao thống kê, nhất là khi có sự đột xuất.
Nhân viên có thể vô tình tính nhầm làm hóa đơn bị sai khác so với thực tế.
Nhận thấy có thể áp dụng CNTT vào có thể giải quyết được những vấn đề thiếu sót
trên nên nhóm em đã lựa chọn thiết kế phần mềm Quản Lý quán cafe.
Lý do chọn đề tài này vì nhóm em muốn vấn đề quản lý công việc bán hàng sẽ trở
nên dễ dàng hơn, Ngoài ra mong muốn của nhóm là giúp các nhân viên giảm bớt những
khó khăn trong quá trình làm việc.
1.2. MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI
1.2.1. Mục tiêu
Phần mềm cho phép quản lý các quy trình nghiệp vụ cần thiết của một quán
cafe bao gồm:
Gọi món mới, đổi món.
Chuyển vị trí bàn, gộp các bàn.
Tính tiền, xuất hóa đơn.
Thêm, xóa, sửa thông tin nhân viên.
Phân quyền nhân viên.
Quản lý đăng nhập vào phần mềm.
In báo cáo thống kê theo thời gian cố định.
1.2.2. Phạm vi đề tài
Được thực hiện trong phạm vi giới hạn của môn lập trình windows nâng cao,
được khảo sát dựa trên các quán cafe trên địa bàn quận Tân Phú. Phần mềm có thể áp
dụng cho nhiều quán cá nhân với quy mô nhỏ.
1.3. KHẢO SÁT HỆ THỐNG
1.3.1. Giới thiệu hệ thống đã khảo sát
Trang 4
Bộ phận phục vụ sẽ giao MENU khi khách vào quán. Khách có quyền tùy ý lựa
chọn đồ uống.
Sau khi chọn xong sẽ có 2 phiếu gửi đi 2 nơi. 1 phiếu chuyển cho quầy pha
chế, phiếu còn lại chuyển xuống quầy thu ngân nhập vào máy tính.
Bộ phận pha chế có nhiệm vụ pha đồ uống căn cứ vào phiếu yêu cầu của khách.
Sau đó nhân viên phục vụ sẽ mang đồ uống lên cho khách.
Trong trường hợp đồ uống của khách chưa mang lên mà khách có nhu cầu đổi
đồ uống khác thì nhân viên phục vụ sẽ thông báo cho bộ phận pha chế ngừng làm và
viết lại yêu cầu mới. Đưa yêu cầu mới cho pha chế và thu ngân.
Khi khách hàng có nhu cầu thanh toán, nhân viên phục vụ sẽ lấy hóa đơn thanh
toán từ thu ngân và giao cho khách. Khách sẽ đến quầy thu ngân để thanh toán và
nhận được phiếu thanh toán. Bộ phận thanh toán sẽ lưu thông tin khách hàng và máy
tính để theo dõi độ thường xuyên.
Công việc cần làm vào cuối ngày đó là thống kê số lượng khách và doanh thu
của ngày hôm đó và giao cho quản lý.
1.3.2. Quy trình nghiệp vụ quản lý danh mục món:
Nhân viên sẽ tiến hành thêm nhóm món ăn mới, sửa hoặc xóa món ăn tùy vào
yêu cầu bằng phần mềm. Sau khi hoàn thành, công đoạn tiếp theo đó là phân loại lại
danh mục các món ăn.
Quản lý món ăn:
Những món ăn mới sẽ được thêm vào đúng với danh mục. Có thể xóa hay sửa
món ăn trong các danh mục. Sau khi hoàn thành cần phân loại món ăn.
Quản lý bàn:
Áp dụng trong trường hợp khách hàng có nhu cầu gộp bàn, chuyển bàn hoặc
hủy bàn. Nhân viên sẽ tiến hành tương tác với phần mềm để xử lý. Bàn sẽ được phân
chia theo từng khu vực để tiện quản lý.
Quản lý nhân viên
Khi có nhân viên mới thì q uản trị viên sẽ thêm một tài khoản nhân viên. Sau đó
sẽ phân quyền truy cập cho tài khoản đó. Với những tài khoản đã tạo rồi và cần thay
đổi thông tin cũng phải do quản trị viên tiến hành thao tác trên phần mềm. Nếu nhân
viên nghỉ việc thì quản trị viên sẽ xóa tài khoản nhân viên khỏi CSDL.
Quản lý order bàn
Trang 5
Sau khi khách bước vào. Nhân viên sẽ tiến hành hỏi khách dùng đổ uống gì.
Nhân viên sẽ nhân viên sẽ thông báo cho quầy thu ngân sau khi biết yêu cầu từ
khách. Quầy thu ngân sẽ tiến hành nhập liệu vào phần mềm. Nhân viên tiếp tục đến
quầy pha chế và thông báo thức uống khách gọi. Bộ phận pha chế sẽ tiến hành pha
chế theo đúng yêu cầu của khách. Sau khi pha xong, nhân viên phục vụ sẽ mang lên
cho khách.
Trong quá trình pha chế chưa làm xong, khách có thể yêu cầu đổi món thông
qua nhân viên phục vụ. Nhân viên phục vụ yêu cầu quầy pha chế ngưng làm để biết
yêu cầu mới của khách. Nhân viên phục vụ sẽ tiếp nhận yêu cầu đổi món của khách
và thông báo cho quầy pha chế. Quầy pha chế sẽ thay đổi món theo yêu cầu của
khách. Sau đó nhân viên phục vụ sẽ thông báo cho quầy thu ngân. Quầy thu ngân sẽ
chỉnh sửa thông tin yêu cầu vào phần mềm.
Khi khách có nhu cầu chuyển bàn, nhân viên sẽ kiểm tra bàn cần chuyển đến đã
có khách sử dụng hay chưa. Nếu chưa có thì thực hiện chuyển bàn cho khách. Ngược
lại thì thông báo cho khách để khách chọn bàn mới.
Nếu khách có nhu cầu gộp bàn, nhân viên sẽ kiểm tra bàn cần gộp đã có khách
sử dụng hay chưa. Nếu có thì gộp bàn cho khách. Ngược lại thì thông báo bàn không
tồn tại.
Khi khách muốn tính tiền, nhân viên phục vụ sẽ tiến lại quầy thu ngân để lấy
hóa đơn tính tiền cho khách. Phần mềm sẽ tiến hành in hóa đơn của đúng bàn khách
muốn trả tiền. Khách sẽ tiến lại quầy thu ngân để trả tiền và lấy phiếu thanh toán.
Ngoài ra để kiểm tra độ thường xuyên của khách hàng, nhân viên thu ngân sẽ lưu
thông tin khách vào CSDL của máy tính.
Quản lý thống kê
Theo kỳ (Cuối mỗi ngày, mỗi tháng,..) nhân viên sẽ tiến hành truy cập vào
CSDL của máy tính và in ra số lượng khách kèm doanh thu để làm báo cáo thống kê.
Sau đó nhân viên sẽ giao lại cho quản lý.
1.3.3. Mô hình diễn tả quy trình nghiệp vụ( BPM )
Trang 6
Hình 1. 1: Quy trình nghiệp vụ chức năng oder
Hình 1. 2: Quy trình nghiệp vụ chức năng thay đổi món
Trang 7
Hình 1. 3: Quy trình nghiệp vụ chức năng chuyển/gộp bàn
Hình 1. 4: Quy trình nghiệp vụ tính tiền
Trang 8
1.4. KẾT CHƯƠNG
Với sự giúp đỡ của các nhân viên trong quán đã cung cấp khá nhiều thông tin cho
nhóm em trong quá trình khảo sát đề tài. Nhóm chúng em thấy được các công tác mà quán
đã áp dụng khá tốt. Đã có phần mềm riêng giúp các công đoạn diễn ra suôn sẻ.
Tuy nhiên vẫn còn nhiều nhược điểm mà quán chưa khắc phục được:
Đầu tiên là việc phân chia các nhân viên vẫn chưa hợp lý. Có lẽ do bị giới hạn
bởi số người nên 1 người không bao giờ làm 1 việc cố định.
Vì có thể làm nhiều việc cùng lúc cho nên sẽ dễ dẫn đến sai sót trong 1 số
trường hợp (khách đông tiếp khách hay pha chế không kịp).
Phần mềm còn yếu nên khả năng bảo mật chưa cao.
Phần mềm mà quán sử dụng đã lỗi thời, có nhiểu điểm chưa cập nhật mới.
Nếu phàn mềm xảy ra sự cố phải mất thời gian liên hệ với bộ phận sửa chữa.
Bất tiện trong nhiều trường hợp (Khách muốn đổi bàn, tính tiền,...)
Từ đó nhóm em đã quyết định tạo nên 1 phần mềm để khắc phục những nhược điểm
mà nhóm em đã khảo sát được tại quán.
Giai đoạn Chương I đã kết thúc với nhiều thông tin hữu ích. Để áp dụng các thông
tin đó hợp lý cần phải tiến hành đi qua bước tiếp theo đó là Chương II: Phân Tích Hệ
Thống.
Trang 9
CHƯƠNG 2
PHÂN TÍCH HỆ THỐNG
2.1. GIỚI THIỆU
Giai đoạn khảo sát ở Chương I khá quan trọng bởi vì mọi dữ liệu có được để làm ra
phần mềm đều phụ thuộc vào công đoạn này.
Đây là giai đoạn đầu tiên của quá trình thiết kế một phần mềm. Mọi thông tin khảo
sát được đều sử dụng vào thiết kế hệ thống.
Chỉ một phần sai thì dễ rơi vào tình trạng sai toàn bộ cả hệ thống. Tuy nhiên nếu
khảo sát tốt thì hệ thống sẽ hoạt động tốt.
Càng nhiều ràng buộc thì phần mềm càng ổn định, tuy nhiên sai một phần sẽ ảnh
hưởng đến những phần liên quan.
Nhờ có giai đoạn này mà có thể biết được những ưu, nhược điểm từ đó đề ra các giải
pháp khắc phục và tạo ra phần mềm hoàn thiện.
2.2. PHÂN TÍCH DỮ LIỆU
2.2.1. Giới thiệu mô hình erd
Mô hình thực thể kết hợp (ERD) bao gồm có các thực thể, danh sách thuộc tính
và những mối kết hợp. Mô hình này chủ yếu dùng để biểu diễn sự kết hợp giữa các
thực thể dưới dạng sơ đồ. Nhóm em đã phân tích được mô hình ERD thành các bảng
như sau:
FoodCategory (IdFC, NameFC)
Food (IdF, NameF, DVTF, PriceF)
BiiiInfo (IdBI, CountBI)
Bill (IdB, DateCheckInB, DateCheckOutB, TennvB, DisPriceB, TotalPriceB,
statusB)
TableFood (IdTF, NameTF)
Lobby (IdL, NameL)
Account (UserName, PlayName, PassWord, Sdt, Type)
ND_nhomND (IdND, GhiChuND)
NhomNguoidung (IdNND, TenNND, GhiChuND)
PhanQuyen (IdPQ, CoQuyenPQ)
Trang 10
ManHinh (IdMH, TenMH)
2.2.2. Mô hình ERD
Hình 2. 1: Mô hình thực thể kết hợp ERD
2.3. PHÂN TÍCH XỬ LÝ
2.3.1. Giới thiệu mô hình DFD
Mô hình dòng dữ liệu (DFD) là loại mô hình được thiết kế để hiển thị sự trao
đổi về dữ liệu giữa các đối tượng chạy trong phần mềm. Dữ liệu vào cần những gì,
dữ liệu ra sẽ có những gì.
2.3.2. Mô hình DFD
Hình 2. 2: Mô hình DFD cấp 0
Trang 11
Hình 2. 3: Mô hình DFD cấp 1
2.4. KẾT CHƯƠNG
Trong chương này nhóm em đã có được mô hình ERD, DFD. Đây là 2 mô hình rất
quan trọng cần phải có để tiến đến công đoạn tiếp theo. Công đoạn này sẽ là sự kết hợp
của 2 mô trình trên, đó là công đoạn Thiết Kế Hệ Thống.
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG
3.1. GIỚI THIỆU
Sau quá trình phân tích hệ thống ở bước 2, chúng ta đã có gần nh ư đ ầy đ ủ thông
tin để đến với bước 3. Đây là bước thiết kế hệ thống cho phần mềm. Hệ th ống sẽ được
thiết kế dựa trên mô hình quan hệ.
3.2. MÔ HÌNH QUAN HỆ
3.2.1. Giới thiệu mô hình
Mô hình quan hệ là loại mô hình được thiết kế sau khi đã có dữ liệu. Mô hình
này khá phổ biến và hiện nay thường được áp dụng trong Microsoft Access, SQL
Server,...
Mô hình này khá giống với ERD, tuy nhiên mô hình ERD không có khóa ngoại,
ngoài ra ERD bắt buộc phải có loại liên kết giữa 2 thực thể (1-1, 1-n, n-1, n-n).
Trong 1 bảng có ít nhất 1 thuộc tính để làm khóa chính. Ngoài ra khi 2 bảng liên
kết với nhau thì 1 trong 2 bảng sẽ lấy thuộc tính khóa chính của bảng kia để làm khóa
ngoại cho bảng này.
Trang 12
3.2.2. Mô hình trong SQL Server
Hình 3. 1: Mô hình lược đồ quan hệ
3.2.3. Xác định bảng, kiểu dữ liệu, khóa chính, khóa ngoại
a. Bảng DM_ManHinh
Tên trường
MaManHinh
TenManHinh
Diễn giải
Mã Màn Hình
Tên Màn Hình
Null
Kiểu DL
char
nvarchar
Khóa Chính
Tham chiếu
Kiểu DL
char
char
bit
Khóa Chính
Tham chiếu
b. Bảng QL_PhanQuyen
Tên trường
id
MaMH
CoQuyen
Diễn giải
ID Phân Quyền
Mã Màn Hình
Có Quyền
MaNhom
Mã Nhóm
Null
DM_ManHinh
QL_NhomNguo
iDung
int
c. Bảng QL_NhomNguoiDung
Tên trường
MaNhom
TenNhom
GhiChu
Diễn giải
Mã Nhóm
Tên Nhóm
Ghi Chú
Null
Kiểu DL
char
nvarchar
nvarchar
Khóa Chính
Tham chiếu
Khóa Chính
Tham chiếu
d. Bảng QL_NguoiDungNhomNguoiDung
Tên trường
UserName
Diễn giải
Tên Tài Khoản
Null
Kiểu DL
nvarchar
Account
Trang 13
MaNhom
Mã Nhóm
GhiChu
Ghi Chú
char
QL_NhomNguo
iDung
nvarchar
Diễn giải
Tên Tài Khoản
Tên Người
Mật Khẩu
Hoạt Động
Null
Kiểu DL
nvarchar
nvarchar
nvarchar
bit
Khóa Chính
Tham chiếu
Diễn giải
ID Hóa Đơn
Thời Gian Vào
Thời Gian Ra
ID Tên Bàn
Tên Nhân Viên
Giảm Giá
Tổng Tiền
Null
Khóa Chính
Tham chiếu
Kiểu DL
int
datetime
datetime
int
nvarchar
int
float
Null
Kiểu DL
Khóa Chính
int
e. Bảng Account
Tên trường
UserName
PlayName
PassWord
HoatDong
f. Bảng Bill
Tên trường
id
DateCheckIn
DateCheckOut
IdTable
Tennv
DisPrice
TotalPrice
TableFood
Account
g. Bảng BillInfo
Tên trường
Id
IdBill
IdFood
count
Diễn giải
ID Chi Tiết Hóa
Đơn
ID Hóa Đơn
ID Món Gọi
Số Lượng
int
int
int
Tham chiếu
Bill
Food
h. Bảng Food
Tên trường
IdFood
Name
DVT
IdCategory
price
Diễn giải
ID Món Gọi
Tên Món
Đơn Vị Tính
ID Loại Món
Giá
Null
Kiểu DL
int
nvarchar
nvarchar
int
float
Khóa Chính
Kiểu DL
int
Khóa Chính
Tham chiếu
FoodCategory
i. Bảng FoodCategory
Tên trường
Id
Diễn giải
ID Loại Món
Null
Tham chiếu
Trang 14
name
Tên Loại Món
nvarchar
j. Bảng TableFood
Tên trường
Id
idlobby
name
Diễn giải
ID Loại Món
ID Sảnh
Tên Loại Món
Null
Kiểu DL
int
int
nvarchar
Khóa Chính
Kiểu DL
int
nvarchar
Khóa Chính
Tham chiếu
Lobby
k. Bảng Lobby
Tên trường
Id
name
Diễn giải
ID Sảnh
Tên Sảnh
Null
Tham chiếu
3.3. MÔ HÌNH PHÂN CẤP CHỨC NĂNG
3.3.1. Giới thiệu BFD
Mô hình phân cấp chức năng cho biết được một cách tổng quát các chức năng
cơ bản bên trong hệ thống. Mỗi chức năng sẽ có nhiệm vụ khác nhau. Ngoài ra một
chức năng sẽ được chia thành nhiều chức năng con.
3.3.2. Mô hình BFD
Quản Lý Quán CaFe
3.4.
Quản Lý Hệ Thống
RÀNG BUỘC TOÀN VẸN
Quản Lý Thống Kê
Quản Lý Tài Khoản
3.4.1. Ràng buộc toàn vẹn miền giá trị
Báo Cáo
Quản
Lý Bàn
Thông
Tin Nhân Viên
3.4.1.1.
Trong lược đồ quan
hệ Bill
R1= “Mọi hóa đơn đều có thời gian vào nhỏ hơn thời gian hiện tại.”
Quản Lý
Món
Phân
Nhân Viên
t Bill: t.DateCheckIn
getdate()
Thống Kê
Bối cảnh: Bill
Quản Lý
Oder
Bảng tầm ảnh hưởng:
R1
Bill
Thêm
Xóa
Sửa
+
-
+
Hình 3. 2: Mô hình BFD
R2= “Mọi hóa đơn đều có thời gian ra nhỏ hơn thời gian hiện tại.”
Trang 15
t Bill: t.DateCheckOut < getdate()
Bối cảnh: Bill
Bảng tầm ảnh hưởng:
R2
Thêm
Xóa
Sửa
Bill
+
-
+
R3 = “Mọi hóa đơn có giảm giá phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc
bằng 100”
t Bill: t. DisPrice=< 100 and t. DisPrice>= 0
Bối cảnh: Bill
Bảng tầm ảnh hưởng:
R3
Thêm
Xóa
Sửa
Bill
+
+
+
3.4.1.2. Trong lược đồ quan hệ BillInfo
R4 = “Mọi chi tiết hóa đơn có sô lượng phải lớn hơn 0”
b BillInfo: b.count > 0
Bối cảnh: BillInfo
Bảng tầm ảnh hưởng:
R4
Thêm
Xóa
Sửa
BillInfo
+
+
+
3.4.1.3. Trong lược đồ quan hệ Food
R5 = “Mọi món ăn có giá tiền phải lớn hơn 0”
c Food: c.price > 0
Bối cảnh: Food
Bảng tầm ảnh hưởng:
R5
Thêm
Xóa
Sửa
Food
+
+
+
Trang 16
3.4.2. Ràng buộc toàn vẹn liên bộ
3.4.2.1. Trong lược đồ quan hệ DM_ManHinh
R6:”Mỗi màn hình phải có mã là duy nhất”
Mô tả: mh1 , mh2 DM_ManHinh: mh1≠ mh2, mh1.MaManHinh ≠
mh2.MaManHinh
Bối cảnh: DM_ManHinh
Bảng tầm ảnh hưởng:
R6
Thêm
Xóa
Sửa
DM_ManHinh
+
-
+
3.4.2.2. Trong lược đồ quan hệ QL_NhomNguoiDung
R7:”Mỗi nhóm phải có mã là duy nhất”
Mô tả: nh1 , nh2 QL_NhomNguoiDung: nh1≠ nh2, nh1.MaNhom ≠
nh2.MaNhom
Bối cảnh: QL_NhomNguoiDung
Bảng tầm ảnh hưởng:
R7
Thêm
Xóa
Sửa
QL_NhomNguoiDun
g
+
-
+
3.4.2.3. Trong lược đồ quan hệ Account
R8:”Mỗi nhân viên phải có username là duy nhất”
Mô tả: nv1 ,nv2 Account: nv1 ≠ nv2, nv1.UserName ≠ nv1.UserName
Bối cảnh: Account
Bảng tầm ảnh hưởng:
R8
Thêm
Xóa
Sửa
Account
+
-
+
3.4.2.4. Trong lược đồ quan hệ Bill
R9:”Mỗi hóa đơn phải có số hóa đơn là duy nhất”
Mô tả: hd1 ,hd2 Bill: hd1 ≠ hd2, hd1.id ≠ hd1.id
Trang 17
Bối cảnh: Bill
Bảng tầm ảnh hưởng:
R9
Thêm
Xóa
Sửa
Bill
+
-
+
3.4.2.5. Trong lược đồ quan hệ TableFood
R10:”Mỗi bàn phải có mã bàn là duy nhất”
Mô tả: b1 ,b2 TableFood: b1 ≠ b2, b1.id ≠ b1.id
Bối cảnh: TableFood
Bảng tầm ảnh hưởng:
R10
Thêm
Xóa
Sửa
TableFood
+
-
+
3.4.2.6. Trong lược đồ quan hệ lobby
R11:”Mỗi sảnh phải có mã sảnh là duy nhất”
Mô tả: s1 ,s2 lobby: s1 ≠ s2, s1.id ≠ s1.id
Bối cảnh: lobby
Bảng tầm ảnh hưởng:
R11
Thêm
Xóa
Sửa
lobby
+
-
+
3.4.2.7. Trong lược đồ quan hệ Food
R12:”Mỗi món ăn phải có mã món ăn là duy nhất”
Mô tả: m1 ,m2 Food: m1 ≠ m2, m1.id ≠ m1.id
Bối cảnh: Food
Bảng tầm ảnh hưởng:
R12
Thêm
Xóa
Sửa
Food
+
-
+
Trang 18
3.4.2.8. Trong lược đồ quan hệ FoodCategory
R13:”Mỗi danh mục món ăn phải có mã danh mục là duy nhất”
Mô tả: dm1 , dm2 FoodCategory: dm1 ≠ dm2, dm1.id ≠ dm1.id
Bối cảnh: FoodCategory
Bảng tầm ảnh hưởng:
R13
Thêm
Xóa
Sửa
FoodCategory
+
-
+
3.4.3. Ràng buộc toàn vẹn liên thuộc tính
3.4.3.1. Trong lược đồ quan hệ Bill
R14= “Mọi hóa đơn đều có thời gian vào nhỏ hơn thời gian ra và nhỏ hơn
thời gian hiện tại.”
t Bill: t.DateCheckIn < t. DateCheckOut and t. DateCheckOut < getdate()
Bối cảnh: Bill
Bảng tầm ảnh hưởng:
R14
Thêm
Xóa
Sửa
Bill
+
-
+
R15 = “Mọi hóa đơn có tổng tiền phải lớn 0 và lớn hơn số tiền giảm giá”
t Bill: t. TotalPrice >= 0 and t. TotalPrice > ( t. DisPrice* t. TotalPrice)
Bối cảnh: Bill
Bảng tầm ảnh hưởng:
R15
Thêm
Xóa
Sửa
Bill
-
-
+
3.4.4. Ràng buộc toàn vẹn liên bộ - liên quan hệ
R16 = “Mỗi hóa đơn phải có ít nhất 1 chi tiết hóa đơn”
t Bill, c BillInfo : t.id = c.idBill
Bối cảnh: Bill, BillInfo
Trang 19
Bảng tầm ảnh hưởng:
R16
Thêm
Xóa
Sửa
Bill
-
+
+
BillInfo
+
-
+
R17 = “Mỗi món ăn phải thuộc 1 danh mục món ăn”
t Food, c FoodCategory: t.idCategory = c.id
Bối cảnh: Food, FoodCategory
Bảng tầm ảnh hưởng:
R17
Thêm
Xóa
Sửa
Food
-
+
+
FoodCategory
+
-
+
R18 = “Mỗi bàn phải thuộc 1 sảnh”
t TableFood, c lobby: t.idlobby = c.id
Bối cảnh: TableFood, lobby
Bảng tầm ảnh hưởng:
R18
Thêm
Xóa
Sửa
TableFood
-
+
+
lobby
+
-
+
3.4.5. Ràng buộc toàn vẹn do thuộc tính tổng hợp
R19 = “Tổng thành tiền bằng số lượng*đơn giá”
t Bill, c BillInfo, d Food: t.TotalPrice= c.count*d.price
Bối cảnh: Bill, BillInfo, Food
Bảng tầm ảnh hưởng:
R19
Thêm
Xóa
Sửa
Bill
-
+
+
BillInfo
+
+
+
Food
+
+
+
Trang 20
3.5. THIẾT KẾ GIAO DIỆN
3.5.1. Form đăng nhập
Sau khi nhập vào Tên Đăng Nhập và Mật Khẩu, người dùng nhấn vào Button
Đăng Nhập. Đây là form sử dụng code Ado.net. Phần mềm sẽ tiến hành kiểm tra các
trường hợp và trả về kết quả.
Nếu nhập đúng: Load Form quản lí với quyền tương ứng với tài khoản.
Nếu nhập sai: Thông báo nhập sai và bắt đăng nhập lại. Đồng thời tính vào 1 lần
nhập sai, nếu nhập sai liên tục quá 3 lần thì sẽ bị thông báo khóa và phạt không thao
tác bất kỳ thứ gì trên form theo số giây quy định (thông báo lần 1 thì 10s, lần 2 thì
20s,...)
Nếu chuỗi cấu hình sai: Xuất cấu lệnh sai chuỗi cấu hình và chuyển sang form
cấu hình.
3.5.2. Form cấu hình
Hình 3. 3: Giao diện đăng nhập
Hình 3. 4: Giao diện cấu hình
Tại đây người dùng sẽ tiến hành chỉnh sửa lại chuỗi cấu hình cho đúng. Đây là
form sử dụng code Ado.net. Nhấn OK sẽ lưu lại chuỗi cấu hình và quay về form
Đăng Nhập. Người dùng vẫn sẽ Tiến hành lại các bước đăng nhập.
Sau khi đăng nhập thành công, phần mềm sẽ chuyển sang form Quản Lý
Trang 21