TRƢỜNG ĐẠI HỌC VINH
VIỆN KỸ THUẬT VÀ CƠNG NGHỆ
--------------------------
HỒNG VĂN TUẤN
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CAFE
Nghệ An, tháng 5 năm 2017
TRƢỜNG ĐẠI HỌC VINH
VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
--------------------------
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CAFE
Sinh viên thực hiện: Hoàng Văn Tuấn
Mã số sinh viên: 1251071558
Lớp:
53K1 - CNTT
Giáo viên hướng dẫn: TS. Phan Lê Na
Nghệ An, tháng 5 năm 2017
Đồ án tốt nghiệp Đại học
LỜI CẢM ƠN
Đƣợc sự phân công của Viện Kỹ Thuật và Công nghệ Trƣờng Đại học Vinh, và
sự đồng ý của giáo viên hƣớng dẫn TS. Phan Lê Na, em Hoàng Văn Tuấn đã thực
hiện đề tài “Xây dựng phần mềm Quản lý Quán Cafe”.
Để có thể hồn thiện đồ án, em xin chân thành cảm ơn các Thầy giáo, Cơ giáo
đã tận tình hƣớng dẫn, giảng dạy trong suốt quá trình học tập, nghiên cứu và rèn luyện
dƣới mái trƣờng Đại học Vinh thân yêu.
Xin chân thành cảm ơn giáo viên hƣớng dẫn TS. Phan Lê Na đã hết sức tận
tình, chu đáo hƣớng dẫn em thực hiện đồ án này, đi từ một cách cụ thể đến từng chi
tiết trong đồ án.
Xi n chân thành cảm ơn các thầy, cô giáo trong Ban Chủ nhiêm khoa Công
nghệ thông tin trƣờng Đại học Vinh đã hết sức tạo điều kiện cho chúng em trong
những ngày tháng học tập, nghiên cứu tại trƣờng.
Mặc dù đã rất cố gắng hoàn thành đề tài tốt nhất nhƣng do thời gian và kiến
thức cịn có hạn nên khơng thể tránh khỏi những thiếu sót nhất định, rất mong nhận
đƣợc sự cảm thông từ các thầy cô.
Xin chân thành cảm ơn!
Sinh viên thực hiện
Hoàng Văn Tuấn
Hoàng Văn Tuấn - 53K1 - CNTT
1
Đồ án tốt nghiệp Đại học
LỜI MỞ ĐẦU
Hiện nay, sự bùng nổ công nghệ thông tin đang thực sự mạnh mẽ với việc triển
khai rộng rãi các ứng dụng tin học cho các tổ chức và xã hội. Vai trò của Công nghệ
thông tin trong đời sống xã hội, trong khoa học kỹ thuật, trong kinh doanh, thƣơng mại
và mặt hàng hiện nay là rất lớn. Công nghệ thông tin góp phần to lớn trong sự nghiệp
cơng nghiệp hóa, hiện đại hóa đất nƣớc.
Trong nền kinh tế của đất nƣớc, lĩnh vực dịch vụ du lịch nƣớc ta đang trên
đƣờng phát triển mạnh mẽ, việc triển khai các ứng dụng công nghệ thông tin trong các
tổ chức, doanh nghiệp sẽ giúp cho tổ chức tiết kiệm nhiều chi phí, nâng cao năng suất
hoạt động, đem lại sự tin cậy của khách hàng đối với doanh nghiệp. Việc triển khai
ứng dụng tin học mang lại sự chuyên nghiệp, khoa học cho doanh nghiệp.
Sau đây em xin giới thiệu tới các thầy cô và các bạn một ứng dụng tin học nhỏ
trong lĩnh vực dịch vụ: PHẦN MỀM QUẢN LÝ QUÁN CAFE
Mục đích của việc phát triển phần mềm quản lý bán hàng của em đó là trợ giúp
cho doanh nghiệp cải thiện khả năng quản lý hoạt động trong các quầy hàng, siêu thị
thơng qua việc lƣu trữ số hóa các thơng tin về hàng hóa, thơng tin phịng nhân viên,
thơng tin hóa đơn và thơng tin khách hàng, tính tốn các hóa đơn chính xác nhất, đem
lại sự tin cậy của khách hàng đối với doanh nghiệp. Bên cạnh đó phần mềm cũng giúp
doanh ghiệp quản lý nhân sự tính toán tiền lƣơng cho nhân viên.
Phần mềm quản lý bán hàng phát triển dựa trên nền tảng ngôn ngữ C# kết hợp
với hệ quản trị cơ sở dữ liệu SQL server 2008.
Xin trân trọng cảm ơn!
Hoàng Văn Tuấn - 53K1 - CNTT
2
Đồ án tốt nghiệp Đại học
MỤC LỤC
LỜI CẢM ƠN ..................................................................................................................1
LỜI MỞ ĐẦU .................................................................................................................2
MỤC LỤC .......................................................................................................................3
CHƢƠNG 1 TỔNG QUAN ĐỀ TÀI ..............................................................................4
1.1. Lí do chọn đề tài ......................................................................................... 4
1.2. Nội dung của đề tài ..................................................................................... 4
1.3. Lựa chọn công cụ cài đặt và ngơn ngữ lập trình ............................................ 5
1.3.1. Visual Studio 2010 Ulimate ......................................................................5
1.3.2. Microsoft SQL 2008..................................................................................5
CHƢƠNG 2 KHẢO SÁT BÀI TOÁN QUẢN LÝ QUÁN CAFE .................................6
2.1. Khảo sát hiện trạng .............................................................................................6
2.2. Xác định yêu cầu ................................................................................................7
2.3. Phân tích .............................................................................................................9
2.3.1. Sơ đồ phân ra chức năng ...........................................................................9
2.3.2. Mô tả các chức năng..................................................................................9
2.3.3. Danh sách các thƣc thể ..............................................................................9
CHƢƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG ....................................................12
3.1 Thiết kế CSDL ...................................................................................................12
3.1.1 Các ràng buộc toàn vẹn ............................................................................12
3.1.2 Danh sách các quan hệ .............................................................................12
3.2 Mô tả chi tiết các mối quan hệ ..........................................................................13
3.3 Mơ hình dữ liệu quan hệ (Relationship) ............................................................14
CHƢƠNG 4 THIẾT KẾ GIAO DIỆN QUÁN CAFE ..................................................15
4.1 Thiết kế giao diện ....................................................................................... 15
4.2 Cài đặt code .......................................................................................................17
KẾT LUẬN .................................................................................................................. 27
I. Kết quả đạt đƣợc của đề tài ................................................................................. 27
II. Hạn chế của đề tài .............................................................................................. 27
III. Hƣớng khắc phục và phát triển đề tài............................................................... 27
IV. Kinh nghiệm thu đƣợc...................................................................................... 27
TÀI LIỆU THAM KHẢO ............................................................................................ 28
Hoàng Văn Tuấn - 53K1 - CNTT
3
Đồ án tốt nghiệp Đại học
CHƯƠNG 1
TỔNG QUAN ĐỀ TÀI
1.1. Lí do chọn đề tài
Trong xã hội ngày nay, việc ứng dụng Công nghệ thông tin vào đời sống thực
tiễn khơng cịn là một cơng việc mới mẻ. Cơng nghệ thơng tin đã xâm nhập vào đời
sống của tồn xã hội, nhu cầu thu nhận, lƣu trữ và xử lý thông tin ngày càng cao. Đặc
biệt là trong lĩnh vực quản lý kinh tế, giáo dục, tin học đã góp phần tạo ra sự thay đổi
nhanh chóng cho bộ mặt xã hội. Nhất là khi việc tin học hóa vào công tác quản lý
trong các quán cafe, việc chọn và thanh tốn hàng nhanh chóng là một trong những
u cầu cần thiết hiện nay.
Từ những phần mềm quản lý giúp cho cơng việc đặt bàn,gọi món,thanh tốn,..
trong các qn cafe trở nên nhanh chóng và dễ dàng, ngày nay Cơng nghệ thông tin đã
phát triển mạnh mẽ hơn nữa, các phần mềm ra đời không chỉ đáp ứng cho quán cafe,
quản lý dễ dàng hơn mà còn giảm bớt đƣợc cơng việc so với làm thủ cơng khi tính và
thanh tốn.
Chính vì lợi ích phần mềm mang lại mà các thƣ viện đã áp dụng nó để sử dụng
trong việc quản lý quán cafe. Do vậy, em lựa chọn đề tài “Xây dựng phần mềm quản
lý quán cafe” nhằm phục vụ nhu cầu của các quán café quản lý thực đơn, thanh toán,
khách hàng, nhân viên.
Cách tiếp cận đề tài
Đề tài hƣớng đến các quán cafe quy mô vừa và nhỏ. Yêu cầu về nghiệp vụ của
phần mềm là không cao.
Đặc biệt là sự giúp đỡ của TS. Phan Lê Na.Viện kỹ thuật và công nghệ –
Trƣờng Đại học Vinh đã hƣớng dẫn, giúp đỡ em rất nhiều để tìm hiểu và thực hiện về
đề tài này.
1.2. Nội dung của đề tài
Ứng dụng những kiến thức đã học và qua quá trình khảo sát thực tế, em quyết
định chọn đề tài “Xây dựng phần mềm quản lý quán cafe” áp dụng thực tiễn giúp
ngƣời dùng có cách tiếp cận dễ dàng, thuận tiện hơn, tiết kiệm thời gian quản lý và tra
cứu sách thủ công.
Đề tài gồm 4 phần:
Tổng quan đề tài.
Khảo sát hiện trạng và xác định yêu cầu.
Hoàng Văn Tuấn - 53K1 - CNTT
4
Đồ án tốt nghiệp Đại học
Phân tích và thiết kế hệ thống.
Thiết kế giao diện và chƣơng trình.
Kết luận và hƣớng phát triển.
1.3. Lựa chọn công cụ cài đặt và ngơn ngữ lập trình
1.3.1. Visual Studio 2010 Ulimate
Microsoft Visual Studio 2010 Ultimate là phiên bản đầy đủ tính năng nhất.
Microsoft Visual Studio 2010 Ultimate cung cấp bộ cơng cụ tích hợp đa chức năng để
phát triển phần mềm của doanh nghiệp, tổ chức. Hệ thống công cụ này giúp đơn giản
hóa tồn bộ quy trình phát triển của ứng dụng. Với mơi trƣờng tích hợp cho phép sử
dụng tốt và nâng cao những kỹ năng hiện có nhƣ là mơ hình hóa, viết mã nguồn, gõ
lỗi, kiểm thử, Visual Studio 2010 Ultimate đơn giản hóa các cơng việc chung giúp các
nhóm cộng tác và giao tiếp một cách hiệu quả hơn.
Microsoft Visual Studio 2010 Ultimate đảm bảo chất lƣợng phần mềm và đồng
thời có cái nhìn trực quan về chu trình phát triển ứng dụng.
1.3.2. Microsoft SQL 2008
SQL Server là một hệ thống quản lý cơ sở dữ liệu hoạt động theo mơ hình
khách chủ cho phép đồng thời cùng lúc nhiều ngƣời dùng truy xuất đến dữ liệu, quản
lý việc truy nhập hợp lệ và các quyền hạn của từng ngƣời dùng trên mạng. Ngôn ngữ
truy vấn quan trọng là Transact-SQL để trao đổi dữ liệu giữa Client và SQL Server.
SQL Server 2008 có nhiều cải thiện hữu dụng và thiết thực nhƣ:
- Mã hóa dữ liệu: cho phép toàn bộ cơ sở dữ liệu, các bảng và dữ liệu có thể
đƣợc mã hóa mà khơng cần phải lập trình ứng dụng mà đều có thể đƣợc mã hóa bằng
SQL Engine.
- Backup Encryption: SQL Server 2008 có một phƣơng pháp mã hóa các
backup dùng để tránh lộ và can thiệp của ngƣời khác vào dữ liệu. Thêm vào đó việc
phục hồi backup có thể đƣợc hạn chế với từng ngƣời dùng cụ thể.
- Sự thay đổi và truy cập dữ liệu có thể đƣợc thẩm định. Thêm vào việc thẩm
định chuẩn cho logon/ logoff và các thay đổi đƣợc phép, SQL Server 2008 cho phép
kiểm tra sự thay đổi hay truy cập dữ liệu.
- Nén dữ liệu với hiệu suất cao, tài nguyên đƣợc bảo đảm an toàn.
Hoàng Văn Tuấn - 53K1 - CNTT
5
Đồ án tốt nghiệp Đại học
CHƯƠNG 2
KHẢO SÁT BÀI TOÁN QUẢN LÝ QUÁN CAFE
2.1. Khảo sát hiện trạng
Hiện nay, công nghệ thông tin đƣợc xem là một ngành mũi nhọn của quốc gia,
đặc biệt là các nƣớc đang phát triển, tiến hành cơng nghiệp hóa hiện đại hóa nhƣ nƣớc
ta. Sự bùng nổ thông tin và sự phát triển mạnh mẽ của cơng nghệ kỹ thuật số, muốn
phát triển thì phải áp dụng tin học hóa vào tất cả các ngành các lĩnh vực.
Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần mềm
càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con ngƣời.
Các phần mềm hiện nay ngày càng hỗ trợ cho ngƣời dùng thuận tiện sử dụng, thời gian
xử lý nhanh chóng, và một số nghiệp vụ đƣợc tự động hóa cao.
Do vậy mà trong việc phát triển phần mềm, sự địi hỏi khơng chỉ là sự chính
xác, xử lý đƣợc nhiều nghiệp vụ thực tế mà còn phải đáp ứng yêu cầu khác nhƣ về tốc
độ, giao diện thân thiện, mơ hình hóa đƣợc thực tế vào máy tính để ngƣời dùng sử
dụng tiện lợi, quen thuộc, tính tƣơng thích cao, bảo mật cao,… .Các phần mềm giúp
tiết kiệm một lƣợng lớn thời gian, công sức của con ngƣời, tăng độ chính xác và hiệu
quả trong công việc.
Cụ thể, việc quản lý quán cà phê. Nếu khơng có sự hỗ trợ của tin học, việc quản
lý phải cần khá nhiều ngƣời, chia thành nhiều khâu mới có thể quản lý quán cà phê
nhƣ: Quản lý nhân viên (nhân viên làm việc theo ca hay làm cả ngày), quản lý hóa đơn
thanh tốn,… Các cơng việc này địi hỏi nhiều thời gian và cơng sức, mà sự chính xác
và hiệu quả khơng cao, nếu làm bằng thủ cơng khơng mang tính tự động. Một số
nghiệp vụ nhƣ tra cứu, thống kê và hiệu chỉnh thông tin khá vất vả. Ngồi ra cịn có
một số khó khăn về việc lƣu trữ khá đồ sộ, dễ bị thất lạc, tốn kém,…. Trong khi đó các
nghiệp vụ này có thể tin học hóa một cách đơn giản hơn. Với sự giúp đỡ của tin học,
việc quản lý sẽ trở nên thuận tiện, nhanh chóng và hiệu quả hơn rất nhiều. Đó là một
hiện trạng cần đƣợc giải quyết.
Tại các quán cà phê hiện nay với lƣợng khách ngày càng tăng, để phục vụ
khách đƣợc tốt hơn, chính xác hơn và nhanh chóng hơn thì cửa hàng đã tin hoc hóa các
khâu quản lý. Đặt biệt là trong công tác kế tốn và quản lý hàng hóa. Bởi vì cơng tác
thủ công mà quán đang thực hiện đã bộc lộ nhiều hạn chế:
- 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 về 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à khơng có hiệu quả
Hồng Văn Tuấn - 53K1 - CNTT
6
Đồ án tốt nghiệp Đại học
- 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 thực hiện báo cáo thống kê, nhất là khi có sự cố đột
xuất.
Trƣớc tình hình đó vấn đề đặt ra là cần xây dựng một hệ thống thông tin đáp
ứng đƣợc nhu cầu cơ bản sau:
- Lƣu trữ khối lƣợng lớn thông tin hợp lý giảm ghi chép lƣu trữ file giấy.
- Cập nhật dữ liệu nhanh chóng:
+ Thêm món ăn mới trong thực đơn.
+ Xóa món ăn trong thực đơn.
+Sửa món ăn trong thực đơn.
- Quản lý nhân viên.
- In hóa đơn bán hàng một cách nhanh chóng.
- Có khả năng lƣu trữ thơng tin lâu dài, đảm bảo tìm kiếm nhanh khi cần thiết.
- Thêm bàn (khi đơng khách, thời vụ)
- Phân quyền .
- Báo cáo.
- Tính tiền.
2.2. Xác định yêu cầu
Yêu cầu của phần mềm đó là bao quát đƣợc tất cả các hoạt động của quán.Phần
mềm quản lý bán hàng sẽ hỗ trợ việc quản lý lƣu trữ các thông về sản phẩm, thông tin
các mặt hàng, hóa đơn thanh tốn. Tự động hóa quy trình cập nhật trạng thái mặt hàng,
quản lý hàng hóa, Tính tốn hóa đơn chính xác nhất. Báo cáo thống kê doanh thu hàng
tháng.
Yêu cầu 1:
- Tên yêu cầu: Phần mềm Quản lý quán cafe.
- Dạng thể hiện: Màn hình nhập liệu.
Yêu cầu 2:
- Tên yêu cầu: Quản lý cafe.
- Dạng thể hiện: Màn hình nhập liệu.
o Cập nhật danh sách các loại đồ uống.
o Cập nhật thông tin các loại đồ uống: mã đồ uống, tên đồ uống, đơn vị tính, giá
bán.
Hồng Văn Tuấn - 53K1 - CNTT
7
Đồ án tốt nghiệp Đại học
Yêu cầu 3:
- Tên yêu cầu: Hóa đơn thanh tốn.
- Dạng thể hiện: Báo biểu.
o Trên hóa đơn thanh tốn ghi đầy đủ các thơng tin: số hóa đơn, mã hóa
đơn,danh sách các mặt hàng, thành tiền mặt hàng và tổng số tiền thanh toán.
o In hóa đơn thanh tốn.
u cầu 4:
- Tên u cầu: Gọi món
- Dạng thể hiện: Màn hình nhập liệu.
u cầu 5:
- Tên yêu cầu: Quản lý nhân viên.
- Dạng thể hiện: Màn hình nhập liệu.
Yêu cầu 6:
- Tên yêu cầu: Quản lý bàn
- Dạng thể hiện: Màn hình nhập liệu
o Thêm bàn mới
o Hiện thị bàn có ngƣời
o Hiện thị bàn chƣa có ngƣời
o Hiển thị tất cả các bàn
Yêu cầu 6:
-
Tên yêu cầu: Sao lƣu và khôi phục cơ sở dữ liệu.
Dạng thể hiện: màn hình nhập liệu.
Quy định:
Ghi chú:
o Tự động sao lƣu dữ liệu sau mỗi lần thốt chƣơng trình.
o Sao lƣu và phục hồi dữ liệu khi cần.
Yêu cầu 7:
- Tên yêu cầu: Yêu cầu phần mềm.
- Dạng thể hiện: Màn hình nhập liệu.
- Quy định:
- Ghi chú:
o Giao diện ngƣời dùng thân thiện, bắt mắt.
o Phần mềm hoạt động ổn định, chính xác.
o Đáp ứng đƣợc số lƣợng dịch vụ lớn.
Hoàng Văn Tuấn - 53K1 - CNTT
8
Đồ án tốt nghiệp Đại học
o Hệ quản trị cớ sở dữ liệu SQL.
o Ngơn ngữ lập trình C#.
2.3. Phân tích
2.3.1. Sơ đồ phân ra chức năng
Quản lý
Quản lý bàn
DS
bàn
Hiển
thị
T/tin
bàn
Quản lý thực
đơn
DS
Thực
đơn
Thêm,
sửa
xóa
thực
đơn
Quản lý
nhân viên
viên
T.tin
nv
Thêm,
sửa,
xóa nv
Hóa đơn
T/tốn
HĐ
In HĐ
2.3.2. Mơ tả các chức năng
- Quản lý: Quản lý trực tiếp quán cà phê, mọi vấn đề của quán điều phải thông
qua quản lý và quản lý có quyền quyết định mọi thơng tin trong quán
- Quản lý bàn: Hiện thị các bàn trống, các bàn đã có khách, quản lý số lƣợng
khách,...
- Quản lý thực đơn: Hiện thị thực đơn của quán, số lƣợng,t hêm, xóa thực
đơn,...
- Quản lý nhân viên: Hiển thị thơng tin nhân viên, có thể thêm, sửa xóa thơng
tin của nhân viên
- Hóa đơn: In hóa đơn cho khách để thanh toán,hiện thị số tiền,…
2.3.3. Danh sách các thưc thể
a. Thực thể bàn
- Tên thực thể: Bàn
- Ký hiệu: ban
Hoàng Văn Tuấn - 53K1 - CNTT
9
Đồ án tốt nghiệp Đại học
maban
tenban
soluongkhach
checkban
ban
- Diễn giải chi tiết:
+ Mã bàn (maban): Đây là thuộc tính khóa phân biệt các bàn khác nhau
+ Tên bàn (tenban): Tên gọi của bàn
+ Số lƣợng khách (soluongkhach): Hiện thị số lƣợng khách của mỗi bàn
+ Check bàn (checkban): Kiểm tra bàn trống hay đã có ngƣời
b. Thực thể hóa đơn
hoadon
mahd
manv
maban
thanhtien
- Diễn giải chi tiết
+ mahd (Mã hóa đơn): Đây là thuộc tính khóa phân biệt hóa đơn khác nhau
+ manv (Mã nhân viên): Đây là thuộc tính khóa phân biệt nhân viên khác nhau
+ maban(Mã bàn): Đây là thuộc tính khóa phân biệt các bàn khác nhau
+ thanhtien (Thành tiền): Tổng tiền thanh tốn
c. Thực thể Menu
menu
mamon
Hồng Văn Tuấn - 53K1 - CNTT
tenmon
giatien
donvtinh
10
Đồ án tốt nghiệp Đại học
- Diễn giải chi tiết:
+ mamon (Mã món): Đây là thuộc tính khóa phân biệt các món khác nhau
+ tenmon (Tên món): Tên gọi các loại đồ uống
+ giatien (Giá tiền): Giá tiền các loại đồ uống
+ donvtinh (Đơn vị tính): Đơn vị tính của của các loại đồ uống
d. Thực thể món đã gọi
mondagoi
tenmon
giatien
maban
soluong
- Diễn giải chi tiết:
+ tenmon (tên món): Tên đồ uống
+ giatien (giá tiền): Giá tiền đồ uống đã gọi
+ maban (Mã bàn): Thuộc tính khóa phân biệt các bàn với nhau
+ soluong (Số lƣợng): Số lƣợng các loại đồ uống đã gọi
e. Thực thể nhân viên
nhanvienn
e
manv
hoten
ngaysinh
gtinh
chucvu
- Diễn giải chi tiết:
+ manv (Mã nhân viên): Đây là thuộc tính khóa phân biệt các nhân viên khác
nhau
+ hoten (Họ tên): Họ tên của nhân viên
+ ngaysinh (Ngày sinh): Ngày sinh của nhân viên
+ gtinh (Giới tính): Giới tính của nhân viên
+ chucvu (Chức vụ): Chức vụ của nhân viên
Hoàng Văn Tuấn - 53K1 - CNTT
11
Đồ án tốt nghiệp Đại học
CHƯƠNG 3
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 Thiết kế CSDL
3.1.1 Các ràng buộc toàn vẹn
- KHĨA CHÍNH
Maban: mã bàn xác định trong CSDL khơng có hai bàn có mã giống nhau.
Mahd: Mã hóa đơn xác định trong CSDL, khơng có hai hóa đơn có mã giống
nhau
Mamon: Mã món xác định trong CSDL, khơng có hai món có mã giống nhau
Manv: Mã nhân viên xác định trong CSDL, khơng có hai nhân viên có mã
giống nhau
- RÀNG BUỘC KHÓA NGOẠI:
Ban(maban) ->Mondagoi(maban)
Hoadon(manv) -> Nhanvien(manv)
Hoadon(maban) -> Ban(maban)
- RÀNG BC UNIQUE:
Ban (Tenban): Trong CSDL khơng tồn tại hai bàn có tên giống nhau
Menu (Tenmon): Trong CSDL khơng tồn tại hai món có tên giống nhau
Nhanvien (Hoten): Trong CSDL khơng tồn tại hai nhân viên có tên giống nhau
3.1.2 Danh sách các quan hệ
Ban (Maban,tenban,soluong,checkban)
Hoadon (Mahd,manv,maban,thanhtienhd)
Menu (Mamon,tenmon,giatien,donvtinh)
Mondagoi (tenmon,giatien,maban,soluong)
Nhanvien (manv,hoten,ngaysinh,gtinh,chucvu)
Hoàng Văn Tuấn - 53K1 - CNTT
12
Đồ án tốt nghiệp Đại học
3.2 Mô tả chi tiết các mối quan hệ
Quan hệ ban (Bàn):
STT
Thuộc tính
Diễn giải
Độ dài
Kiểu dữ liệu
Ràng buộc
1
Maban
Mã bàn
Nvarchar
20
Khóa chính
2
Tenban
Tên bàn
Nvarchar
20
UNIQUE
3
Soluong
Số lƣợng
int
4
Checkban
Kiểm tra bàn
int
Quan hệ hoadoan (Hóa đơn):
STT
Thuộc tính
Diễn giải
Độ dài
Kiểu dữ liệu
Ràng buộc
1
Mahd
Mã hóa đơn
Nvarchar
10
Khóa chính
2
Manv
Mã nhân viên
Nvarchar
20
Khóa ngoại
3
Maban
Mã bàn
Nvarchar
20
Khóa ngoại
4
Thanhtienhd Thành tiền
Decimal
18,0
Kiểu dữ liệu
Độ dài
Quan hệ Menu (Menu)
STT
Thuộc tính
Diễn giải
Ràng buộc
1
Mamon
Mã món
Nvarchar
20
Khóa chính
2
Tenmon
Tên món
Nvarchar
400
UNIQUE
3
Giatien
Giá tiền
decimal
18,0
4
Donvitinh
Đơn vị tính
Nvarchar
15
Quan hệ mondagoi (Món đã gọi):
STT
Thuộc tính
Diễn giải
Độ dài
Kiểu dữ liệu
1
tenmon
Tên món
2
giatien
Giá tiền
decimal
18,0
3
maban
Mã bàn
Nvarchar
20
4
soluong
Số lƣợng
int
Hồng Văn Tuấn - 53K1 - CNTT
Nvarchar
Ràng buộc
300
Khóa ngoại
13
Đồ án tốt nghiệp Đại học
Quan hệ nhanvien (Nhân viên)
STT
Thuộc tính
Diễn giải
Độ dài
Kiểu dữ liệu
Ràng buộc
1
manv
Mã nhân viên
Nvarchar
20
Khóa chính
2
hoten
Họ tên
Nvarchar
50
UNIQUE
3
ngasinh
Ngày sinh
Nvarchar
15
4
gioitinh
Giới tính
Nvarchar
3
5
chucvu
Chức vụ
Nvarchar
30
3.3 Mơ hình dữ liệu quan hệ (Relationship)
Hồng Văn Tuấn - 53K1 - CNTT
14
Đồ án tốt nghiệp Đại học
CHƯƠNG 4
THIẾT KẾ GIAO DIỆN QUẢN LÝ QUÁN CAFE
4.1 Thiết kế giao diện
- Giao diện quản lý bàn
- Giao diện gọi món
Hồng Văn Tuấn - 53K1 - CNTT
15
Đồ án tốt nghiệp Đại học
- Giao diện Menu
- Giao diên hóa đơn
Hồng Văn Tuấn - 53K1 - CNTT
16
Đồ án tốt nghiệp Đại học
- Giao diện quản lý nhân viên
4.2 Cài đặt code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace Qly_BanCF
{
public partial class Ftinhtien: Form
{
public Ftinhtien()
Hoàng Văn Tuấn - 53K1 - CNTT
17
Đồ án tốt nghiệp Đại học
{
InitializeComponent();
}
public void ht()
{
SqlConnection connect = new SqlConnection("Initial
Catalog=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial
Catalog=QLBCF;Data Source=."); //kiem tra dong/mo server
if (connect.State == ConnectionState.Closed)
connect.Open();
SqlCommand command = new SqlCommand("select * from ban", connect);
SqlCommand command2 = new SqlCommand("select * from ban b,mondagoi g where
b.maban=g.maban", connect);
SqlDataAdapter dapter = new SqlDataAdapter(command);
SqlDataAdapter da2 = new SqlDataAdapter(command2);
DataTable dt = new DataTable();
DataTable d2 = new DataTable();
dapter.Fill(dt);
listView1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
ListViewItem item = new ListViewItem(dt.Rows[i]["maban"].ToString());
ListViewItem khach = new ListViewItem(dt.Rows[i]["checkban"].ToString());
if (khach.Text == "1")
{
item.ImageIndex = 0;
listView1.Items.Add(item);
}
else
{
// item.SubItems.Add(dt.Rows[i]["maban"].ToString());
item.ImageIndex = 1;
listView1.Items.Add(item);
}
}
}
Hoàng Văn Tuấn - 53K1 - CNTT
18
Đồ án tốt nghiệp Đại học
public void banconguoi()
{
SqlConnection connect = new SqlConnection("Initial
Catalog=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial
Catalog=QLBCF;Data Source=."); //kiem tra dong/mo server
if (connect.State == ConnectionState.Closed)
connect.Open();
// SqlCommand command = new SqlCommand("select * from ban", connect);
SqlCommand command = new SqlCommand("select distinct b.maban,tenban,soluongkhach
from ban b,mondagoi g where b.maban=g.maban", connect);
SqlDataAdapter dapter = new SqlDataAdapter(command);
// SqlDataAdapter da2 = new SqlDataAdapter(command2);
DataTable dt = new DataTable();
//DataTable d2 = new DataTable();
dapter.Fill(dt);
listView1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
ListViewItem item = new ListViewItem(dt.Rows[i]["maban"].ToString());
item.SubItems.Add(dt.Rows[i]["maban"].ToString());
item.ImageIndex = 0;
listView1.Items.Add(item);
}
}
public void banchuaconguoi()
{
SqlConnection connect = new SqlConnection("Initial
Catalog=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial
Catalog=QLBCF;Data Source=."); //kiem tra dong/mo server
if (connect.State == ConnectionState.Closed)
connect.Open();
// SqlCommand command = new SqlCommand("select * from ban", connect);
SqlCommand command = new SqlCommand("select * from ban", connect);
SqlDataAdapter dapter = new SqlDataAdapter(command);
// SqlDataAdapter da2 = new SqlDataAdapter(command2);
DataTable dt = new DataTable();
Hoàng Văn Tuấn - 53K1 - CNTT
19
Đồ án tốt nghiệp Đại học
//DataTable d2 = new DataTable();
dapter.Fill(dt);
listView1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
ListViewItem item = new ListViewItem(dt.Rows[i]["maban"].ToString());
item.SubItems.Add(dt.Rows[i]["maban"].ToString());
item.ImageIndex = 1;
listView1.Items.Add(item);
}
}
public void ht_luoi()
{
ketnoi kn = new ketnoi();
SqlCommand mycm = new SqlCommand();
mycm.Connection = kn.mycn;
mycm.CommandText = "exec xemgoimon @mamon";
mycm.Parameters.Add("@mamon", SqlDbType.NVarChar, 20).Value = thongtin.Text;
kn.connect();
DataTable dt = new DataTable();
SqlDataReader dr = mycm.ExecuteReader();
dt.Load(dr);
luoi.DataSource = dt;
kn.mycn.Close();
}
public void nhung(Form frm)
{
panel2.Controls.Clear();//Xõa các control trong form cũ
frm.FormBorderStyle = FormBorderStyle.None;
frm.TopLevel = false;
frm.Visible = true;
frm.Dock = DockStyle.Fill;
panel2.Controls.Add(frm);//thêm form mới vào panel
panel2.Show();
Hoàng Văn Tuấn - 53K1 - CNTT
20
Đồ án tốt nghiệp Đại học
}
private void Ftinhtien_Load(object sender, EventArgs e)
{
ht();
ht_luoi();
txttongtien.Text = "";
// tinhtien();
Finthanhtoan thanhtoan = new Finthanhtoan(this);
nhung(thanhtoan);
this.Text += " - Hoàng Tuấn";
}
private void listView1_Click(object sender, EventArgs e)
{
try
{
string a = listView1.SelectedItems[0].Text;
thongtin.Text = a.ToString();
ketnoi kn = new ketnoi();
SqlCommand mycm = new SqlCommand();
mycm.Connection = kn.mycn;
mycm.CommandText = "exec xemgoimon @mamon";
mycm.Parameters.Add("@mamon", SqlDbType.NVarChar, 20).Value = a.ToString();
kn.connect();
DataTable dt = new DataTable();
SqlDataReader dr = mycm.ExecuteReader();
dt.Load(dr);
luoi.DataSource = dt;
kn.mycn.Close();
//tính tổng tiền khi click
tinhtien();
}
catch (Exception)
{
}
Hoàng Văn Tuấn - 53K1 - CNTT
21
Đồ án tốt nghiệp Đại học
}
public void tinhtien()
{
int tien = luoi.Rows.Count;
float thanhtien = 0;
for (int i = 0; i < tien; i++)
{
thanhtien += float.Parse(luoi.Rows[i].Cells["Thành tiền"].Value.ToString());
}
txttongtien.Text = thanhtien.ToString() + " VND";
}
private void menu_themban_Click(object sender, EventArgs e)
{
Fban ban = new Fban(this);
ban.ShowDialog();
}
private void btnGoimon_Click(object sender, EventArgs e)
{
Fgoimon goimon = new Fgoimon(this);
//if (goimon.ctenmon.Text == "")
//{
//
MessageBox.Show("Hiện tại menu chưa có dữ liệu, Bạn hãy mở Menu để thêm menu
vào nhé!", "Thông báo");
//}
//else
//{
//
goimon.ShowDialog();
//}
goimon.ShowDialog();
}
public void sualaiban()
{
ketnoi kn = new ketnoi();
SqlCommand mycm = new SqlCommand();
mycm.Connection = kn.mycn;
mycm.CommandText = "exec sualaiban @maban,@tenban,@soluongkhach,@checkban";
mycm.Parameters.Add("@maban", SqlDbType.NVarChar, 20).Value = thongtin.Text;
mycm.Parameters.Add("@tenban", SqlDbType.NVarChar, 20).Value = thongtin.Text;
Hoàng Văn Tuấn - 53K1 - CNTT
22
Đồ án tốt nghiệp Đại học
mycm.Parameters.Add("@soluongkhach", SqlDbType.Int).Value = "1";
mycm.Parameters.Add("@checkban", SqlDbType.Int).Value = "0";
kn.connect();
int kq = mycm.ExecuteNonQuery();
if (kq > 0)
{
ht();
}
else
{
}
kn.mycn.Close();
}
private void btnTinhtien_Click(object sender, EventArgs e)
{
DialogResult ok = new DialogResult();
ok = MessageBox.Show("Bạn có muốn tính tiền " + thongtin.Text + " khơng ?",
"Thơng báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (DialogResult.Yes == ok)
{
ketnoi kn = new ketnoi();
SqlCommand mycm = new SqlCommand();
mycm.Connection = kn.mycn;
mycm.CommandText = "exec xoagoimon @maban";
mycm.Parameters.Add("@maban", SqlDbType.NVarChar, 20).Value = thongtin.Text;
kn.connect();
int kq = mycm.ExecuteNonQuery();
if (kq > 0)
{
ht_luoi();
sualaiban();
}
Hoàng Văn Tuấn - 53K1 - CNTT
23