Professional Documents
Culture Documents
1665219799119-2022 G01 PTTK Hoso Template
1665219799119-2022 G01 PTTK Hoso Template
------------------------------------
Hà Nội - 2022
CHƯƠNG 1. GIỚI THIỆU
- Việc ứng dụng Công Nghệ Thông Tin vào đời sống ngày nay đã
không còn xa lạ với chúng ta. CNTT với tốc độ nhanh chóng, chính xác đã
giúp con người trong rất nhiều lĩnh vực, nhất là kinh doanh,…Trong đó kinh
doanh thức ăn nhanh cũng không ngoại lệ. Ngày nay, các hệ thống cửa hàng
thức ăn nhanh đã trở nên khá phổ biến tại Hà Nội. Cửa hàng thức ăn nhanh
xuất hiện ồ ạt khiến cho thói quen tiêu dùng của người dân thành phố có sự
thay đổi. Sản phẩm thức ăn nhanh KFC mang tiêu chí là vệ sinh đảm bảo, gà
sạch, thức ăn phong phú đầy đủ chất dinh dưỡng đã tạo nên chỗ đứng của
KFC tại Việt Nam.
- Một cửa hàng thức ăn nhanh muốn có doanh thu cao thì phải thu hút
được khách hàng, do vậy, nhu cầu về một phần mềm có khả năng quản lý
nhanh và chặt chẽ về mọi mặt như quản lý nhân sự, quản lý thu chi, quản lý
kho, chính sách khuyến mãi, giao hàng tận nơi, … Để giúp cho hệ thống cửa
hàng thức ăn nhanh trở nên gần gũi với người tiêu dùng và tạo nhiều thuận lợi
nhất cho người tiêu dùng, chúng em xin trình bày về đề tài “ Hệ thống quản lý
hoạt động cho nhà hàng KFC tại Siêu thị Thạch Kim, Trần Nguyên Đán, Khu
Đô Thị Mới Định Công, Hoàng Mai, Hà Nội”.
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
§ Sinh viên: Bùi Thị Hằng
§ Đánh giá:
1
- Sinh viên đã trả lời được câu hỏi WHAT (đã tìm hiểu và đặc tả được những
gì mà hệ thống cần phải làm: mô tả bài toán, yêu cầu về chức năng nhiệm vụ
của từng bộ phận, giải quyết vấn đề)
2
được bán nhiều nhất. Cho phép người dùng tra cứu thực đơn, nhân viên. Cho
phép người quản trị xóa hóa đơn.
2.2. Yêu cầu phi chức năng
- Đảm bảo chương trình hoạt động tốt.
- Tốc độ truy xuất dữ liệu nhanh và chính xác.
- Tiện dụng.
3. Phương pháp tiếp cận giải quyết vấn đề
Bài toán được phân tích thiết kế theo phương pháp hướng đối tượng gồm các
bước sau:
- Khảo sát thực tế tại nhà hàng.
- Xây dựng sơ đồ use case và đặc tả use case.
- Xây dựng sơ đồ cơ sở dữ liệu quan niệm và mô tả thuộc tính của bảng.
- Xây dựng sơ đồ tuần tự.
- Xây dựng sơ đồ quan hệ cơ sở dữ liệu.
- Cài đặt cơ sở dữ liệu.
- Cài đặt các ứng dụng, lập trình.
- Kết luận.
- Sinh viên cũng đã trả lời được câu hỏi HOW (đặc tả chi tiết xem từng phần
của hệ thống thông tin cần phải làm như thế nào)
3
4
5
6
7
8
1.3. Mục tiêu của đề tài
9
- Do việc quản lý nhân viên, thực đơn, nguyên liệu, yêu cầu của khách
hàng… ngày càng nhiều và gặp nhiều khó khăn. Không kiểm soát được đầy
đủ thông tin, ảnh hướng đến tiến trình hoạt động của nhà hàng khó khăn và
mất nhiều thời gian.
- Để khắc phục những hạn chế đã nêu ở trên thì việc ứng dụng tin học để xây
dựng một phần mềm quản lý nhà hàng cần thiết và hoàn toàn phù hợp với nhu
cầu hiện nay. Mục tiêu đề tài : quản lý nhân viên, thực đơn, nguyên liệu, yêu
cầu của khách hàng được dễ dàng hơn; rút ngắn được khoảng thời gian giữa
các nghiệp vụ; tạo nên phong cách làm việc nhanh chóng, hiệu quả, chính xác
hơn nhờ vào khả năng lưu trữ thông tin về khách hàng, nhân viên, món ăn...và
khả năng tra cứu, xử lý thông tin tự động
10
1.4. Phân công nhiệm vụ
Phạm
Vũ Trần Trần Nguyễn Trịnh
Nguyễn Thị
Trọng Lan Thị Xuân Chung
NHIỆM VỤ Thu Hà Thu
An Anh Ánh Dương Hiếu
Hiền
CHƯƠNG 1
1.1 P
1.2 P
1.3 P
CHƯƠNG 2
2.1 P
2.2 P
2.3 P S S
2.4 P
CHƯƠNG 3
3.1
3.1.1 S S P S
3.1.2 P
3.1.3 P
3.2
3.2.1 P
3.2.2 P
3.2.3 P
CHƯƠNG 4
4.1 P S
11
4.2 S P
4.3 P
4.4 P
4.5 P S
4.6 S P
4.7
4.7.1 P
4.7.2 P
4.7.3 P
4.7.4 P
4.7.5 P
4.7.6 P
4.7.7 P S
4.7.8 S P
Cơ cấu tổ chức
Giới thiệu về nhà hàng KFC - Siêu thị Thạch Kim, Trần Nguyên Đán, Khu
Đô Thị Mới Định Công, Hoàng Mai, Hà Nội
Tọa lạc tại khu vực đông đúc bậc nhất quận Hoàng Mai, ngay trong siêu thị
sầm uất Thạch Kim, KFC Định Công là một địa chỉ cực dễ tìm với cả những
bạn lần đầu tiên tới khu này. Từ cửa hàng, khách hàng dễ dàng di chuyển tới
bến xe Giáp Bát, hàng loạt trường đại học lớn như Đại học Mở , Đại học Bách
Khoa, Đại học Xây Dựng,...cực nhiều các ngân hàng và công sở lớn,..., giao
thông vô cùng thuận tiện.
12
Thuộc chuỗi nhà hàng đồ ăn nhanh đẳng cấp thế giới, lại tọa lạc tại vị trí đắc
địa, không khó hiểu KFC Định Công là một nhà hàng cực rộng lớn và khang
trang, đem lại cảm giác thoải mái tuyệt vời cho khách hàng tới đây dùng bữa.
Sang trọng, tiện nghi là hai từ ngữ miêu tả chuẩn xác nhất về phong cách bài
trí của KFC Định Công. Sử dụng gam màu đỏ trầm và màu nâu của gỗ làm
chủ đạo, KFC khéo léo tạo nên một không gian cực hài hoà và đẹp mắt, tiết
kiệm và tận dụng không gian tối đa.
Điểm nhấn trong không gian của nhà hàng này chính là hệ thống cửa kính lớn
chắn toàn bộ mặt tiền, khiến không gian ở đây y hệt một không gian mở cực
thoáng đạt. Thêm vào đó, cách thiết kế này mang tới cho khách hàng cơ hội
vừa thưởng thức bữa ăn, vừa ngắm nhìn người, xe qua lại, quá tinh tế phải
không nào!
Nhà hàng bao gồm các bộ phận sau:
- Bộ phận quản lý.
- Bộ phận bếp.
- Bộ phận phục vụ.
- Bộ phận bảo vệ.
- Bộ phận kho
- Bộ phận giao hàng
13
+ Quản lý giấy tờ, tiếp nhận yêu cầu của khách hàng.
+ Quản lý hồ sơ, giấy tờ, các vấn đề của nhân viên.
+ Quản lý cơ sở vật chất của nhà hàng (bàn ghế, trang thiết bị,...)
+ Đưa ra những quyết định phù hợp với những sự cố, trường hợp
đặc biệt xảy ra của nhà hàng.
+ Thống kê số công, ghi chép thưởng phạt cho từng nhân viên.
+ Tính lương hàng tháng cho nhân viên (nhân viên chính của nhà
hàng).
+ Tính giờ, ngày làm việc đối với nhân viên làm part time.
+ Thực hiện trả lương cho nhân viên.
+ Thống kê doanh thu của nhà hàng.
+ Báo cáo doanh thu của nhà hàng.
- Nhiệm vụ của bộ phận bếp:
+ Kiểm tra, thống kê số lượng nguyên liệu trong bếp và báo cáo
cho quản lý của nhà hàng.
+ Chế biến món ăn theo thực đơn của KFC,chuyển thức ăn của
khách cho lễ tân, hoặc cho nhân viên giao hàng tận nơi
+ Đảm bảo thực phẩm nhập vào sạch, an toàn, hợp vệ sinh.
+ Nhận số lượng món ăn mà nhân viên order thông báo.
+ Thực hiện chế biến và đưa ra món ăn ngon khi có yêu cầu.
+ Đưa ra những quyết định phù hợp với những sự cố, trường hợp
đặc biệt xảy ra tại khu bếp.
- Nhiệm vụ của bộ phận phục vụ:
+ Sắp xếp, bố trí bàn ghế, ánh sáng trong nhà hàng theo yêu cầu
của quản lý.
+ Hướng dẫn khách đến chỗ ngồi và tự phục vụ.
+ Tiếp nhận đơn hàng order qua app của khách hàng
14
+ Kiểm tra số lượng món ăn, đồ dùng, xử lý yêu cầu thanh toán,
lưu thông tin khách hàng vào máy tính.
+ Quản lý đơn order tại cửa hàng của khách hàng.
+ In hóa đơn thanh toán và thu ngân
+ Giải quyết thắc mắc của khách hàng khi thanh toán.
+ Giới thiệu menu món ăn, đồ uống, khuyến mãi cho khách hàng.
+ Thực hiện nhập order, thay đổi gọi món ăn theo yêu cầu của
khách hàng.
+ Thống kê số lượng món khách hàng đã gọi và thông báo với nhà bếp.
+ Bưng bê đồ ăn, đồ uống... lên cho khách hàng.
+ Đảm bảo sự hài lòng của khách hàng.
+ Dọn dẹp, lau chùi bàn ghế trong toàn bộ khuôn viên nhà hàng.
+ Thực hiện dọn dẹp, rửa bát đũa, xử lý đồ ăn thừa, nguyên liệu một
cách hiệu quả tại khu bếp…
+ Đảm bảo toàn bộ khuôn viên nhà hàng luôn gọn gàng, sạch sẽ,
thoáng mát.
15
+ Nắm vững số lượng hàng hóa có trong kho, lập phiếu yêu cầu
nhập kho khi cần thiết
+ Quản lý kho căn cứ vào định mức nguyên liệu, hàng hóa đã quy
định trong kế hoạch của nhà hàng để xuất kho.
+ Khi xuất hàng cho bộ phận bếp, bộ phận bếp phải điền đầy đủ
các thông tin vào phiếu nhận nguyên vật liệu và phiếu xuất kho:
bộ phận, mặt hàng cần cấp, số lượng, đơn vị tính…đặc biệt phải
có chữ ký xác nhận của các trưởng bộ phận
+ Quản lý kho phải kiểm tra kỹ các thông số ngày xuất kho (lập
danh sách phiếu xuất kho)
+ Kiểm tra số lượng hàng nhập về, số lượng hàng tồn kho, chất
lượng hàng nhập về, cập nhật hạn sử dụng cho bộ phận quản lý
và xuất cho bộ phận bếp
+ Xuất hàng đúng số lượng, chất lượng loại hàng đã duyệt. Thường
xuyên cập nhập số liệu, sổ sách kho, kiểm kê chu đáo, đúng kỳ
+ Nhận phiếu nhập kho do quản lý lập
Hằng ngày quản lý kho của cửa hàng tiến hành hoạt động kiểm kê thực
phẩm trong kho, kiểm tra lại số lượng và chất lượng của những thực phẩm đó.
Cuối ngày, người quản lý kho cũng sẽ thực hiện công tác kiểm lại kho nguyên
liệu cập nhật hạn sử dụng của nguyên vật liệu. Nếu nguyên liệu bị thiếu,
không đủ dùng cho ngày hôm sau thì lập phiếu yêu cầu nhập nguyên liệu
(biểu mẫu 7)để yêu cầu nhập nguyên vật liệu và gửi lên cho quản lý ký xác
nhận nhập nguyên vật liệu trong bếp đã hết hoặc sắp hết đáp ứng đủ nhu cầu
16
của khách hàng. Những nguyên liệu mà cửa hàng KFC nhập đó là: đùi-cánh
gà, khoai tây, nước ngọt, bột làm kem, bột chiên gà,các loại gia vị, nước sốt,
nước chấm,…
Nếu yêu cầu được phê duyệt (quản lý sẽ ký vào phiếu đề nghị cấp
nguyên vật liệu) rồi gửi đến cho nhà cung cấp nguyên vật liệu. Tiếp theo, bộ
phận kho sẽ lập phiếu nhập nguyên liệu.
Quản lý kho nhận phiếu nhập kho do nhân viên phục vụ lập. Kiểm tra
các hàng hóa theo phiếu nhập kho (biểu mẫu 3), cả về chất lượng và số lương.
Nếu hàng hóa đáp ứng về số lượng và chất lượng thì cho nhập hàng vào kho.
Nhà cung cấp nguyên vật liệu sau khi xem xét, cấp nguyên liệu cho nhà hàng.
Nếu hàng hóa không đáp ứng về số lượng và chất lượng thì không thực hiện
nhập và yêu cầu giải quyết. Sau khi kiểm tra về số lượng và chất lượng hàng
hóa, quản lý kho thực hiện nhập hàng vào kho. Sau đó Quản lý kho sẽ xác
nhận vào phiếu nhập kho chuyển cho nhân viên phục vụ. Sau đó Bộ phận kho
sắp xếp, bảo quản nguyên liệu được nhập về nếu nguyên liệu nhập về đạt yêu
cầu.
- Menu của cửa hàng sẽ được trình chiếu trên màn hình rộng trong cửa
hàng
- Giới thiệu một số phần ăn phù hợp với khách hàng (kèm nước uống,
hoặc combo tiện lợi cho nhóm nhiều người, đang được ưu đãi)
- Thực hiện việc order thay vì nhân viên ghi order rồi mới báo tới nhà
bếp thì nhân viên sẽ có sẵn thiết bị để phục vụ khách hàng. Hệ thống
quản lý sẽ ghi order của khách hàng và các order này sẽ được xử lý dữ
liệu(món gì, số lượng,...) và thông tin được chuyển tới 1 màn hình lớn
đặt ở nhà bếp cũng như cho các nhân viên chạy bàn khác. Nhà bếp sau
17
khi thực hiện xong món ăn sẽ gửi thông điệp báo cho các nhân viên
phục vụ mang lên cho khách hàng.
- Kết thúc việc order, hệ thống sẽ tự tính số tiền mà khách hàng phải trả
và nhân viên phục vụ sẽ in hoá đơn thanh toán cho khách hàng.
Sau khi gọi đồ, khách hàng sẽ thanh toán tại quầy order, nhân viên phục
vụ tiến hành kiểm tra lại danh mục các món ăn - thức uống khách dùng đã đủ
chưa, có thừa - thiếu gì không? Nếu có vấn đề xác nhận lại với khách hàng.
Không có vấn đề gì thì nhân viên phục vụ in hoá đơn order để tiến hành thanh
toán và lấy hoá đơn cho khách.
Nếu khách hàng phát hiện sai sót thì yêu cầu nhân viên phục vụ kiểm tra
lại và in hoá đơn mới.
Sau khi đảm bảo hóa đơn thanh toán đã chính xác, nhân viên phục vụ in
hoá đơn ra cho khách. Khách hàng sẽ thanh toán tại quầy order và đi đến bàn
ăn.
2.1.2.6. Quy trình báo cáo thống kê và trả lương nhân viên
Sau mỗi ngày làm việc bộ phận quản lý kiểm kê, phục vụ tổng hợp báo
cáo doanh thu (biểu mẫu 6), phối hợp với bộ phận kho kiểm kê lượng tiêu thụ
và số lượng thực phẩm còn tồn trong ngày (biểu mẫu 10) rồi gửi cho quản lý
nhà hàng. Việc lập báo cáo diễn ra định kỳ theo tháng hoặc khi có yêu cầu của
quản lý.
Để trả lương cho nhân viên bộ phận quản lý chia ra làm 2 hình thức như
sau
18
- Đối với nhân viên làm part time bộ phận quản lý sẽ tính lương theo
giờ, ngày làm rồi trả cho nhân viên (cũng có thưởng phạt với các trường hợp
làm tốt, dịp lễ tết... hay vi phạm)
- Đối với nhân viên chính thức trong nhà hàng bộ phận quản lý tính
lương dựa vào số công đã làm được trong tháng (cũng có thưởng phạt với các
trường hợp làm tốt, dịp lễ tết... hay vi phạm)
Tất cả các báo cáo thống kê, việc trả lương cho nhân viên đều do bộ
phận quản lý chịu trách nhiệm xử lý, báo cáo.
2.2.1.1. R01: Bộ phận quản lý kho phải lập yêu cầu nhập nguyên liệu.
2.2.1.2. R02: Bộ phận quản lý kho gửi yêu cầu nhập nguyên liệu đến
quản lý rồi chờ quản lý phê duyệt.
2.2.1.3. R03: Bộ phận bếp phải nhập nguyên liệu vào bếp.
2.2.1.4. R04: Bộ phận bếp cần nắm bắt, theo dõi nguyên liệu trong bếp.
2.2.1.5. R05: Bộ phận bếp phải tiếp nhận đơn order món từ bộ phận phục vụ.
2.2.1.6. R06: Bộ phận bếp phải nắm bắt theo dõi được thực đơn, món ăn
trong menu
19
2.2.1.7. R07: Bộ phận phục vụ tiếp nhận đơn hàng order qua app của
khách.
2.2.1.8. R08: Bộ phận phục vụ tìm kiếm thông tin khách hàng để kiểm
tra, xác nhận thông tin của khách hàng.
2.2.1.9. R09: Bộ phận phục vụ cần giới thiệu món ăn cho khách và tiếp
nhận yêu cầu gọi món từ khách hàng.
2.2.1.11. R11: Bộ phận phục vụ phải thực hiện thanh toán, in hóa đơn
cho khách hàng.
2.2.1.12. R12: Bộ phận quản lý có thể xem được báo cáo về tình hình
nhập nguyên liệu, các thông tin về doanh thu, tài chính…
2.2.1.13. R13: Bộ phận quản lý phải quản lý được người dùng trong hệ
thống gồm có:
20
+ Nếu khách hàng order nhầm món thì nhân viên phục vụ có nhiệm vụ
chỉnh sửa lại món cần order rồi gửi lại cho bộ phận bếp để xử lý.
+ Thông tin hệ thống đưa ra phải có tính xác thực được người dùng tin
cậy.
+ Khi xảy ra các sự cố làm ngừng vận hành hệ thống, hệ thống phải đảm
bảo phục hồi 100% trong thời gian ngắn nhất
21
+ Các tài khoản, mật khẩu người dùng như nhân viên được cài đặt trong
hệ thống phải có độ phức tạp cao và thay đổi định kỳ. Mật khẩu phải
được mã hóa và không được phép sao chép.
+ Yêu cầu xác thực khi truy cập dữ liệu.
2.2.2.5.Tính tương thích
+ Hệ thống mới phải tương thích với quy trình thủ công cũ (đặc biệt là
yêu cầu nhập nguyên liệu, lập hóa đơn thanh toán cho khách hàng).
+ Tương thích với hệ điều hành Windows (vì phần lớn các máy tính trong
nhà hàng cài hệ điều hành Windows)
2.2.2.6. Khả năng bảo trì
+ Hệ thống có thể nâng cấp, bảo trì khi gặp sự cố và thời gian nâng cấp,
bảo trì không quá 2 giờ.
2.2.2.7.Tính khả chuyển
+ Dữ liệu của hệ thống phải được thiết kế để có thể chuyển đổi sang hệ
thống mới khi có sự thay đổi mà vẫn hoạt động được bình thường.
2.2.2.8.Tính văn hoá
+ Hệ thống nên thiết kế giao diện dễ nhìn thân thiện với người dùng.
(thiết kế giao diện bằng Visual Studio)
+ Màu sắc: giao diện đơn giản (menu dễ lựa chọn), màu sắc hài hòa (gam
màu lạnh, lấy xanh dương trắng làm chủ đạo)
+ Chữ viết: phổ biến là Times New Roman, tiêu đề in đậm.
+ Ngôn ngữ sử dụng tiếng Việt và tiếng Anh.
+ Các biểu mẫu, quy định đặc biệt là hóa đơn thanh toán đáp ứng đúng yêu
cầu của nhà hàng KFC theo thông tư 39/2013/ TT-BTC của Bộ Tài chính.
+ Hệ thống phải đáp ứng nghị định 85/2016/NĐ-CP về đảm bảo an toàn hệ
thống thông tin của chính phủ theo cấp (cấp độ 2).
22
=> Bên trên là một số yêu cầu phi chức năng của hệ thống mới cũng
như của tổ chức nhà hàng mong muốn. Ngoài ra còn có một số yêu cầu chức
phi chức năng khác từ yêu cầu bên ngoài (ví dụ từ khách hàng, …) mà chưa
được đề cập. Trong lúc vận hành nếu phát sinh các yêu cầu thì hệ thống sẽ
được xem xét và nâng cấp để đáp ứng các nhu cầu đó.
Bộ phận quản lý
Bộ Bộ Bộ Bộ Bộ
phận phận phận phận phận
bếp phục bảo vệ kho giao
vụ hàng
23
24
2.3.2.2. Tiến trình nghiệp vụ order đồ ăn
25
2.3.2.3. Tiến trình nghiệp vụ thanh toán hóa đơn
26
2.3.2.4. Tiến trình nghiệp vụ thống kê và trả lương nhân viên
27
2.3.2.5. Tiến trình nghiệp vụ đăng nhập và xác thực người dùng
28
2.3.3 Các sơ đồ luồng dữ liệu mức logic
2.1.1.1. DFD mức ngữ cảnh
2.1.1.2. DFD từng tiến trình xử lý (cho từng yêu cầu chức năng trong
mục 2.1 ) kèm theo đặc tả tiến trình xử lý theo 1 trong các cách
đã học (lưu ý phải giải thích được tại sao chọn cách đặc tả đó)
2.1.1.2.1. DFD tiến trình nhập nguyên liệu vào kho
29
- Input : Thông tin yêu cầu nhập nguyên liệu
- Output : Thông tin xác nhận, thời gian nguyên liệu được chuyển đến,
nguyên liệu đạt yêu cầu
- Process : Bộ phận kho sẽ kiểm tra nguyên liệu trong bếp xem còn đủ hay
không hay hết, sắp hết. Sau đó, bộ phận kho sẽ thực hiện lập và gửi biên
bản yêu cầu nhập nguyên liệu cho bộ phận quản lý duyệt. Sau khi duyệt
xong bộ phận quản lý lập phiếu nhập nguyên liệu và gửi cho bộ phận cung
cấp. Bộ phận cung cấp gửi nguyên liệu về kho nguyên liệu, bộ phận kho
sẽ kiểm tra xem đã đủ nguyên liệu và chất lượng theo như phiếu nhập hay
ko, nếu đạt yêu cầu thì sẽ xác nhận vào phiếu nhập. Những nguyên liệu
không đủ chất lượng sẽ được gửi trả về bộ phận cung cấp và bộ phận cung
cấp phải gửi lại đủ nguyên liệu đạt yêu cầu.
2.1.1.2.2. DFD tiến trình order đồ ăn cho khách
30
- Output : Đồ ăn khách hàng đã order
- Process : Khách hàng sẽ được nhân viên giới thiệu món ăn và quan sát
màn hình hiển thị menu. Sau khi xem xong menu và nghe giới thiệu của
nhân viên, khách hàng chọn món, nhân viên sẽ tích chọn các món mà
khách order. Sau đó, nhân viên phục vụ kiểm tra lại và chuyển cho bộ
phận bếp. Bộ phận bếp sẽ dựa theo danh sách order hiển thị trên màn hình
để làm món ăn theo yêu cầu. Sau khi hoàn thành món ăn, bộ phận bếp báo
cho nhân viên để nhân viên phục vụ đưa món ăn đến bàn cho khách hàng.
2.1.1.2.3. DFD tiến trình thanh toán
31
- Process: Khi khách hàng xác nhận order, nhân viên phục vụ sẽ thống kê
danh sách món ăn và in hóa đơn, sau đó chuyển cho khách hàng kiểm tra,
nếu có vấn đề nhân viên xử lý.
- Input: Số lượng bán, tồn kho. Số ngày công của nhân viên
- Output : Doanh thu, số tiền lương nhân viên.
- Process: Sau mỗi ngày làm việc bộ phận quản lý kiểm kê, phục vụ tổng
hợp báo cáo doanh thu, phối hợp với bộ phận kho kiểm kê lượng tiêu thụ
và số lượng thực phẩm còn tồn trong ngày rồi gửi cho quản lý nhà hàng.
Việc lập báo cáo diễn ra định kỳ theo tuần, theo tháng, theo quý, theo
năm hoặc khi có yêu cầu của quản lý. Để trả lương cho nhân viên bộ
phận quản lý chia ra làm 2 hình thức như sau. Đối với nhân viên làm part
time bộ phận quản lý sẽ tính lương theo giờ, ngày làm rồi trả cho nhân
viên (cũng có thưởng phạt với các trường hợp làm tốt, dịp lễ tết... hay vi
32
phạm). Đối với nhân viên chính thức trong nhà hàng bộ phận quản lý tính
lương dựa vào số công đã làm được trong tháng (cũng có thưởng phạt với
các trường hợp làm tốt, dịp lễ tết... hay vi phạm). Tất cả các báo cáo
thống kê, việc trả lương cho nhân viên đều do bộ phận quản lý chịu trách
nhiệm xử lý, báo cáo.
2.1.1.2.5 DFD tiến trình đăng nhập và xác thực người dùng
33
2.4 Đánh giá
2.4.1 Ưu điểm
- hệ thống mới đáp ứng được các chức năng cần có.
- Khả năng phối hợp vững chắc giữa quản và các bộ phận
- Khả năng phục vụ đáp ứng được nhu cầu và sự hài lòng của khách hàng
- Phân chia chức năng nhiệm vụ của mỗi bộ phận chưa rõ ràng. VD: bộ phận
nhân viên vừa là thanh toán hóa đơn, vừa phục vụ khách hàng, vừa dọn dẹp
nhà hàng,….
- Mọi hoạt động quản lý nhân viên về giờ giấc làm việc của nhà hàng hiện tại
đều là thủ công. Do vậy quá trình này có thể xảy ra sai sót từ sẽ ảnh hưởng
đến việc trả lương.
34
CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG
35
○ (F31) In hóa đơn (R11)
○ (F32) Đăng xuất (R13)
★ Gom nhóm các chức năng
Lập báo cáo thống kê nhập nguyên liệu (F22) Quản lý báo
36
Lập báo cáo thống kê nguyên liệu (F20) cáo thống kê
37
3.1.2. Rà soát việc đáp ứng các yêu cầu
38
F8 x
F9 x
F10 x
F11 x
F12 x
F13 x
F14 x
F15 x
F16 x
F17 x
F18 x
F19 x
F20 x
F21 x
F22 x
F23 x
F24 x
F25 x
F26 x
F27 x
F28 x
F29 x
F30 x
F31 x
F32 x
39
3.1.3. Mô hình hóa luồng dữ liệu cho các chức năng (theo từng mức)
40
3.1.3.2 Mô hình hóa luồng dữ liệu mức dưới đỉnh
41
3.1.3.2.3 Mô hình quản lý nguyên liệu
42
3.1.3.2.4 Mô hình quản lý báo cáo thống kê
43
3.1.3.2.5 Mô hình quản lý tài khoản
44
3.1.3.2.7 Mô hình quản lý món ăn
45
- Để đáp ứng được nhóm chức năng Quản lý tài khoản, ta cần bổ sung các
thực thể ĐĂNG NHẬP với các thuộc tính Tên đăng nhập, Mật khẩu,
Trạng thái tài khoản
(6) ĐĂNG NHẬP: Tên đăng nhập, Mật khẩu, Trạng thái tài khoản
- Dựa vào (Biểu mẫu 7 ) - Giấy đề nghị cấp nguyên vật liệu, ta xác định
được thực thể NGUYÊN LIỆU và NHẬP NGUYÊN LIỆU
(7) NGUYÊN LIỆU: Tên nguyên liệu, Số lượng, Đơn giá, Đơn vị tính
(8) NHẬP NGUYÊN LIỆU: Tên người yêu cầu, Bộ phận, Lý do sử dụng,
Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng thực
xuất, Đơn vị tính.
→ Bổ sung thuộc tính Trạng thái yêu cầu. Thuộc tính này nhận những giá trị
để mô tả cho bảng NHẬP NGUYÊN LIỆU này đang ở trạng thái nào.
Cụ thể trong bài toán này gồm các trạng thái: Được xác nhận, Chưa được
xác nhận
(8) NHẬP NGUYÊN LIỆU: Tên người yêu cầu, Bộ phận, Lý do sử
dụng, Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng
thực xuất, Đơn vị tính, Trạng thái yêu cầu
(9) PHIẾU ORDER(Biểu mẫu 13): Ngày giờ,Tên nhân viên, Tên món, Số
lượng
(10) MÓN ĂN(Biểu mẫu 11:1 số menu): Tên món, Giá bán, Đơn vị tính,
Hình ảnh món
46
(3) NHÂN VIÊN: họ tên , địa chỉ, ngày sinh, giới tính,CMND số điện
thoại, chức vụ, bộ phận
(4) LƯƠNG : Hệ số lương, lương cơ bản, phụ cấp
(5) CHẤM CÔNG: Ngày vào làm, giờ vào , giờ ra
(6) ĐĂNG NHẬP: Tên đăng nhập, Mật khẩu, Trạng thái tài khoản
(7) NGUYÊN LIỆU: Tên nguyên liệu, Số lượng, Đơn giá, Đơn vị tính
(8) NHẬP NGUYÊN LIỆU: Tên người yêu cầu, Bộ phận, Lý do sử
dụng, Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng
thực xuất, Đơn vị tính, Trạng thái yêu cầu
(9) PHIẾU ORDER: Ngày giờ, Tên nhân viên, Tên món, Số lượng
(10) MÓN ĂN: Tên món, Giá bán, Đơn vị tính, Hình ảnh món
● Xác định mối liên kết giữa các thực thể
47
Kiểu thực thể Khóa chính
ĐĂNG NHẬP Tên đăng nhập
KHÁCH HÀNG Mã khách hàng
NHÂN VIÊN Mã nhân viên
LƯƠNG Mã lương
CHẤM CÔNG Mã chấm công
HÓA ĐƠN Số hóa đơn
PHIẾU ORDER Mã phiếu order
NHẬP NGUYÊN LIỆU Mã nhập nguyên liệu
NGUYÊN LIỆU Mã nguyên liệu
MÓN ĂN Mã món ăn
48
3.2.1.2. Chuyển từ ERD mở rộng về ERD kinh điển
- Chuyển các thuộc tính đa trị về đơn trị
+)HÓA ĐƠN: Số hóa đơn, Ngày giờ, Tên hàng, Số lượng, Đơn
giá, Thành tiền, Tổng cộng, Tiền khách đưa, Tiền trả lại khách,
Nhân viên thanh toán
49
+) ORDER: Ngày giờ, Tên nhân viên, Tên món, Số lượng
50
3.2.1.3. Chuyển từ ERD kinh điển về ERD hạn chế
- Bỏ tên kiểu liên kết, bỏ bản số tối thiểu theo quy tắc 4
Thành
51
- Xử lý kiểu liên kết 1 - 1 theo quy tắc 5
Không có kiểu liên kết 1 - 1
- Xử lý kiểu liên kết m - n theo quy tắc 6
Thành
-Xác định khóa ngoại cho các kiểu thực thể theo quy tắc 7:
Quy ước
Khóa chính :In đậm gạch chân
Khóa ngoại: In đậm gạch chân và in nghiêng
52
CHẤM CÔNG Mã chấm công Mã nhân viên
KHÁCH HÀNG Mã khách hàng
NGUYÊN LIỆU Mã nguyên liệu
NHẬP NGUYÊN LIỆU Mã nhập nguyên liệu
CHI TIẾT NHẬP Mã nhập nguyên liệu
Mã nguyên liệu
PHIẾU ORDER Mã phiếu order Mã khách hàng
CT_PHIẾU ORDER Mã món order
Mã phiếu
MÓN ĂN Mã món
CÔNG THỨC Mã món
Mã nguyên liệu
53
3.3. Mô hình ERD hạn chế
3.3.1. Ma trận rà soát Thực thể - Chức năng: rà soát, đảm bảo sự phù hợp của các Thực
thể và chức năng
(1) KHÁCH HÀNG: Họ tên, Ngày sinh, email, nghề nghiệp, Số điện thoại
(2) HÓA ĐƠN: Số hóa đơn, Ngày giờ, Tên hàng, Số lượng, Đơn giá, Thành
tiền, Tổng cộng, Tiền khách đưa, Tiền trả lại khách, Nhân viên thanh
toán
(3) NHÂN VIÊN: họ tên , địa chỉ, ngày sinh, giới tính,CMND số điện thoại,
chức vụ, bộ phận
(4) LƯƠNG : Hệ số lương, lương cơ bản, phụ cấp
(5) CHẤM CÔNG: Ngày vào làm, giờ vào , giờ ra
(6) ĐĂNG NHẬP: Tên đăng nhập, Mật khẩu, Trạng thái tài khoản
(7) NGUYÊN LIỆU: Tên nguyên liệu, Số lượng, Đơn giá, Đơn vị tính
54
(8) NHẬP NGUYÊN LIỆU: Tên người yêu cầu, Bộ phận, Lý do sử dụng,
Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng thực
xuất, Đơn vị tính, Trạng thái yêu cầu
(9) PHIẾU ORDER: Ngày giờ, Tên nhân viên, Tên món, Số lượng
(10) MÓN ĂN: Tên món, Giá bán, Đơn vị tính, Hình ảnh món
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10
F1 R
F2 R R
F3 R
F4 R
F5 C
F6 R
F7 R C R
F8 R R R
F9 C R
F10 C C
F11 R R
F12 R C
55
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10
F13 R R
F14 R R
F15 C
F16 RU
F17 R
F18 C
F19 RU
F20 R
F21 R
F22 R C
F23 R
F24 R
F25 R
F26 C
F27 R R
F28 R
56
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10
F29 R
F30 R R
F31 C R
F32 R R
57
3.3.2. Từ điển dữ liệu
ID Mục từ Tên khác Ý nghĩa
Khi một nhân viên muốn vào hệ thống sẽ
1
Đăng nhập thực hiện đăng nhập và thông tin này sẽ
được lưu lại
58
ID Mục từ Tên khác Ý nghĩa
Khi khách hàng yêu cầu thanh toán, nhân
8
viên phục vụ sẽ thực hiện lập hoá đơn
Lập hoá đơn
thanh toán, in rồi giao cho khách hàng.
thanh toán
Đồng thời, lưu thông tin vào nơi lưu trữ
của hệ thống
59
ID Mục từ Tên khác Ý nghĩa
Gửi phiếu Bộ phận kho gửi phiếu nhập nguyên liệu
13
nhập nguyên cho nhà cung cấp để nhập nguyên liệu.
liệu
60
ID Mục từ Tên khác Ý nghĩa
Khi nhà hàng bỏ món ăn cần xóa thông tin
20 Xóa món ăn
món trên hệ thống và cập nhật lại menu.
Lập báo cáo Khi nhập nguyên liệu cần lập báo cáo chi
22
thống kê nhập tiết thông tin mỗi lần nhập nguyên liệu cho
nguyên liệu cửa hàng.
61
ID Mục từ Tên khác Ý nghĩa
Cuối tháng, bộ phận quản lý sẽ chốt số
27 Thống kê số
công đi làm của nhân viên fulltime và
công
partime trên hệ thống.
62
CHƯƠNG 4. THIẾT KẾ HỆ THỐNG
Chiến lược
Ưu điểm Nhược điểm
phát triển
- Đáp ứng được mọi - Cần đội ngũ có năng lực hiểu
Tự phát triển
yêu cầu, chức năng biết và kinh nghiệm về hệ
đã đề ra thống(vận hành, bảo trì ..)
- Bảo mật dữ liệu. - Cần nhiều thời gian.
- Chủ động trong mọi - Độ rủi ro cao.
việc, mọi tình huống.
63
Chiến lược
Ưu điểm Nhược điểm
phát triển
- Tốn nhiều kinh phí
Thuê ngoài - Đáp ứng được các
- Không an toàn trong việc
chức năng và yêu cầu
bảo mật dữ liệu
đặt ra
- Phụ thuộc nhiều vào bên
- Không phải tốn ngoài.
nguồn nhân lực trong
việc thiết kế và phát
triển hệ thống
® Từ những ưu nhược điểm của các chiến lược phát triển hệ thống ở bên trên
nhóm chúng em xét thấy chiến lược “Tự phát triển” là phù hợp nhất với dự án
bởi vì nó đáp ứng được các tiêu chí quan trọng như tính bảo mật, tính chủ
động.. cho hệ thống và các nhược điểm của nó có thể giải quyết được. Với các
chiến lược còn lại, chiến lược Sử dụng sản phẩm có sẵn tuy tiết kiệm được
thời gian nhưng do hệ thống có khả năng sẽ còn mở rộng nên không thể áp
dụng, hoặc là chiến lược Tích hợp hệ thống có sẵn - điều kiện tiên quyết là
phải cần một hệ thống sẵn có thì Nhà hàng vẫn chưa đáp ứng được, còn chiến
lược Thuê ngoài rất khả thi tuy nhiên nó lại không đảm bảo các tiêu chí quan
trọng đã đề ra như vấn đề bảo mật và phải phụ thuộc khá nhiều vào bên ngoài.
64
4.2. Kiến trúc hệ thống
4.2.1. Kiến trúc vật lý
Khả năng bảo Khả năng bảo Khả năng bảo mật và Khả năng bảo mật
mật thông tin và mật và an toàn an toàn thông tin kém. và an toàn thông
độ an toàn thông tin cao. Có Phần lớn phụ thuộc tin cao. Có thể điều
thể điều chỉnh vào mức độ quyền chỉnh quyền truy
quyền truy cập được chia sẻ. cập thông tin.
thông tin.
Khả năng cài Cài đặt khá khó Cài đặt dễ dàng. Cài đặt khá khó
đặt. khăn. khăn.
Yêu cầu về Bao gồm: Chỉ cần ít phần cứng Bao gồm:
phần cứng và + Máy chủ bổ sung. Ngoài ra + Máy chủ
phần mềm không cần máy chủ và
+ Hệ điều hành hệ điều hành như 2 mô + Hệ điều hành
+ Phần cứng hình trên. + Phần cứng
Yêu cầu về Cần phải có quản Không cần quản trị Cần phải có quản
quản trị mạng trị mạng mạng trị mạng
Chi phí cài đặt Chi phí cao Chi phí thấp Chi phí thấp
65
- Với những ưu, nhược điểm trên kiến trúc vật lý client - server là phù
hợp với hệ thống.
-Hệ thống thiết kế có sự tương tác giữa người sử dụng trên các thiết bị khác nhau và
vào các thời điểm khác nhau.
-Ưu điểm: có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận
file, tìm kiếm thông tin,…) với nhiều dịch vụ đa dạng. Mô hình client/server cung
cấp một nền tảng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế
hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS)…
-Nhược điểm: Một trong những vấn đề nảy sinh trong mô hình này đó là tính
an toàn và bảo mật thông tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở
2 khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên
mạng bị lộ.
4.2.2. Công nghệ được lựa chọn để phát triển hệ thống
66
● Phần mềm sử dụng:
-Microsoft SQL server 2019
-Microsoft Visual studio 2019
● Công nghệ sử dụng:
-Window Forms App C#: Dễ code, có nhiễu component có sẵn và rất phù hợp để
làm các phần mềm quản lý, tính tiền, thống kê…
-SQL: Cho phép truy cập dữ liệu trong các hệ thống quản lý cơ sở dữ liệu quan hệ.
Cho phép mô tả dữ liệu. Cho phép xác định dữ liệu trong cơ sở dữ liệu và thao tác
dữ liệu đó.
4.2.3. Kiến trúc logic của phần mềm
-Với nhà hàng KFC, nhóm chúng em nhận thấy kiến trúc phần mềm hướng
xử lý (MVC – Model View Controller) là phù hợp nhất.
-Bởi vì, xét thấy hệ thống nhà hàng bao gồm nhiều bộ phận nhưng đều dùng
chung một kho dữ liệu và các bộ phận đó sử dụng , xử lý dữ liệu không hoàn
toàn giống nhau dẫn đến một vấn đề quan trọng cần giải quyết đó là sự độc
lập trong việc thay đổi dữ liệu với việc trình bày dữ liệu. Đặc biệt, trong
tương lai hệ thống còn phát triển mở rộng cho nên yêu cầu đặt ra đó là hệ
thống phải dễ dàng nâng cấp và thay thế. Kiến trúc hướng xử lý có thể đáp
ứng được hai yêu cầu quan trọng như trên, nó giúp cho hệ thống có thể vận
hành một cách ổn định nhất.
● Với MVC, hệ thống được cấu trúc hóa thành ba component logic
tương tác với nhau:
67
- View component: Đảm nhận việc hiển thị thông tin, tương tác với
người dùng, là nơi chứa tất cả các đối tượng GUI như textbox, image … hay
hiểu một cách đơn giản nó tập hợp các form
- Controller component: Giữ nhiệm vụ điều hướng các yêu cầu từ phía
người dùng (đến model và view) và gọi đúng những phương thức xử lý
chúng.
68
NGUYÊN LIỆU tbl_nguyenlieu
MÓN ĂN tbl_monan
LƯƠNG tbl_luong
69
thoại, Email Email)
70
PHIẾU ORDER: Mã phiếu order, Số tbl_phieuorder(MaPhieuOrder,
bàn, Ngày giờ, Tên nhân viên, Số SoBan, NgayGio, TenNV, SoKhach,
khách, Tên món, Số lượng TenMon, SoLuong)
71
4.3.2. Đặc tả Cơ sở dữ liệu
tbl_khachhang
tbl_hoadon
72
DonGia Varchar(255) Đơn giá
tbl_nhanvien
73
tbl_dangnhap
tbl_nguyenlieu
tbl_nhapnguyenlieu
74
NguoiYeuCau Varchar(255) Người yêu cầu
tbl_phieuorder
75
SoLuong Int(11) Số lượng
tbl_monan
tbl_chitietnhap
tbl_nguyenlieu_mon
76
MaMon Int(11) Mã món
tbl_phieuorder_mon
tbl_luong_nv
tbl_congnv
77
SoCong Float Số Ngày Làm
4.3.3. Sơ đồ quan hệ
78
4.4.1 Physical DFD nhập nguyên liệu vào kho
79
4.4.2 Physical DFD order đồ ăn
80
4.4.4 Physical DFD thống kê và trả lương nhân viên
81
+ Tên thuộc tính
+ Tìm kiếm
+ Thoát
82
+ Các biểu tượng (Interface Icons):
Theo thứ tự là : ẩn giao diện, phóng to giao diện và đóng giao diện.
83
4.5.2.2. Giao diện quản lý nhân viên
84
85
4.5.2.2 Giao diện quản lý nguyên liệu
86
4.5.2.4. Giao diện quản lý tài khoản
- Giao diện đăng nhập:
87
- Giao diện cấp tài khoản:
88
4.6. Thiết kế Kiểm soát
4.6.1. Xác định các điểm hở của hệ thống
1) Do con người:
- Đơn đề xuất đặt hàng số lượng hàng đặt quá ít hoặc quá cao
- Trong quá trình nhận hàng bộ phận kho kiểm tra nguyên liệu sai
quy cách hàng hóa ( nguyên liệu lỗi, sai số lượng, bộ phận quản lý
giám sát lỏng lẻo)
- Thông tin trong phiếu nhập không trùng khớp với phiếu thanh
toán (Tên người nhập, tổng số tiền ,…)
- Nếu bị mất một hay nhiều chứng từ như: đơn nhập hàng, phiếu
nhập hàng, phiếu trả hàng nhập, hóa đơn, …
- Nhân viên phục vụ quên không nộp lại tiền thu của khách hoặc
nộp thiếu tiền
2) Do lỗi kỹ thuật:
- Trong quá trình lập đơn hàng hay lập phiếu thanh toán thì máy
tính bị lỗi.
- Máy quét mã vạch của nhân viên phục vụ không hoạt động hay
bị lỗi, quét sai mã vạch,..
- lỗi/sự cố phần cứng. Ví dụ: khi đang hoạt động máy tính bị lỗi
màn hình, RAM đầy hoặc do máy bị nóng lên dẫn đến tình trạng
không thao tác được
89
3) Do thảm họa thiên tai:
- Trong quá trình vận hành xảy ra hỏa hoạn, mất điện…Ví dụ: khi
có những thảm họa tự nhiên không báo trước, dữ liệu cần được
sao lưu để đảm bảo tất cả có thể được khôi phục không cần máy
chủ.
- Do chuột, gián, mối, kiến hoặc hàng hóa hao hụt tự nhiên
(Nguyên liệu …).
4) Do cố ý:
- Nhân viên vô tình hoặc cố tình nhập sai, sau đó thanh toán cho
khách hàng hoặc người quen.
Do con người -Giám sát chặt chẽ các quy trình, phân -Hệ thống hoạt động
công tổ công tác kiểm tra thường chính xác không bị
xuyên. thiếu sót ở các khâu xử
-Có chế độ khen thưởng xử phạt. lý.
-Trước mỗi ca làm việc, yêu cầu -Nghiêm minh, răn đe
nhân viên phục vụ kiểm đếm và thưởng phạt đúng
viết biên bản bàn giao số tiền với người đúng tội.
nhau. Quy định mọi giao dịch bán -Tránh bị hao hụt,sai
hàng phải in ra hóa đơn sót về tài chính
90
Do lỗi kỹ thuật -Tăng cường tính toàn vẹn cho hệ Hệ thống không bị gián
thống đoạn trong quá trình sử
-Tạo các bản sao lưu, thiết lập các dụng hoặc lỗi kỹ thuật
server dự phòng
-Có nhiều hình thức phương án
khác ( thanh toán dưới nhiều hình
thức: tiền mặt, thẻ, quét mã..)
-Cần kiểm tra định kì , bảo dưỡng
các máy móc
Do thảm họa - Tăng cường cơ sở hạ tầng (kiên cố Tránh tối đa hao hụt
thiên tai hóa kho nguyên liệu) nguyên liệu.
-Tăng cường công tác dự báo, dự tính;
cung cấp thông tin dự báo đầy đủ và
tin cậy hơn.
Gian lận thương -Tăng cường tính bảo mật (những Giảm thiệt hại về tài
mại người trực tiếp thực hiện cần cam kết) chính, uy tín của nhà
-Tăng cường kiểm tra, giám sát, rà hàng
soát sửa đổi các quy định
-Khi xảy ra những tin đồn không
hay về cửa hàng thì quản lý cũng
như các bộ phận điều hành ra mặt
giải thích với khách hàng. Bên cạnh
đó cần nhờ sự can thiệp của pháp
luật để tìm và xử lý người tung tin.
91
- Ứng phó rủi ro: Trường hợp tài khoản nào đó được đăng ký trong hệ
thống, khi chưa được admin hay người quản trị phân quyền thì chưa
được phép thực hiện một vài hành động. Ví dụ như quản lý được quyền
thêm, sửa, xóa thông tin. Nhưng với một user mới được tạo ra chưa
phân quyền thì không được phép thay đổi hay thậm chí là đọc nội dung
trong hệ thống. Điều này đảm bảo tính riêng tư, bí mật của hệ thống.
- Hệ thống thêm mục trợ giúp người dùng có tài liệu tham khảo sử dụng
vận hành hệ thống bằng tiếng việt và tiếng anh để đảm bảo người dùng
có thể tiếp cận được dễ dàng.
Thông qua các điểm hở và cách khắc phục hệ thống đã đạt được:
4.7. Thiết kế Chi tiết xử lý (cách bố trí tùy theo từng kiến trúc phần mềm)
-Lúc gọi đến form lập phiếu order món ăn (Order.cs), Nhân viên sẽ chọn món
ăn qua các checkbox(VD: chkFries, chkSalad,…) và số lượng qua
TextBox(VD: txtFries, txtSalad,…) theo yêu cầu của khách hàng.
- Nhân viên cần chọn phương thức thanh toán (Tiền mặt, thẻ ngân hàng, tài
khoản ngân hàng online,…) bằng cách chọn ở combobox
cmbPaymentMethod và Tiền thanh toán của khách hàng tại textbox txtPay
-Khi hoàn thành xong các yêu cầu trên số tiền khách hàng trả sẽ hiện tại text
txtPayment, số tiền dư sẽ hiện tại textbox txtChanges, Giá tiền order tại
92
textbox txtSub, Tổng Tiền tại textbox txtTotal và nhân viên có thể Tính tiền
bằng chọn Button btFinish. Thông Tin sẽ được lưu vào CSDL SQL để cách
bộ phận khác sử dụng.
93
4.7.2 Chức năng: 5.3. Đổi mật khẩu
Các bước xử lý:
- Khi gọi đến form đổi mật khẩu ( DoiMatKhau.cs ), textbox
TenDangNhap phải tự động hiển thị được tên đăng nhập của tài khoản
hiện đang sử dụng chức năng này.
- Sau khi nhập đầy đủ các thông tin về mật khẩu cũ, mật khẩu mới và xác
nhận mật khẩu, nhấn button “Cập nhật” thì thông tin mật khẩu mới sẽ
được cập nhật vào hệ thống và hiển thị thông báo “Đổi mật khẩu thành
công”.
- Nếu dữ liệu về mật khẩu cũ không khớp với mật khẩu hiện tại của tài
khoản thì khi nhấn nút “Cập nhật” hệ thống sẽ hiển thị thông báo “Mật
khẩu cũ không chính xác”.
- Nếu dữ liệu trường mật khẩu mới trống thì khi nhấn nút “Cập nhật” hệ
thống sẽ hiển thị thông báo “Mật khẩu mới không được để trống”.
- Nếu dữ liệu trường xác nhận mật khẩu không khớp với mật khẩu mới
hệ thống sẽ hiển thị thông báo “Mật khẩu xác nhận không khớp”.
- Với các xử lý trên, Model Component cần có các phương thức:
+ String loadTenDangNhap();
+ String checkMatKhauCu();
+ Boolean capNhatMatKhau();
- Controller Component cần có:
94
+ Boolean capNhatMatKhau();
+ =>Hàm này sẽ lần lượt gọi các phương thức Model
Component và kiểm tra các điều kiện đã nêu ở trên.
- View Component có phần giao diện DoiMatKhau.cs như sau:
95
4.7.3 Chức năng: 5.5. Cấp tài khoản
Các bước xử lý:
- Khi load đến form cấp tài khoản(frmCapTaiKhoan.cs), comboBox
TenNV phải được tự động load hiển thị ra danh sách tên nhân viên vào
comboBox TenNV. Lưu ý, trong comboBox TenNV chỉ hiển thị các
nhân viên chưa được cấp tài khoản.
- Sau khi chọn được nhân viên cần cấp tài khoản, nhập đầy đủ các thông
tin về tài khoản, mật khẩu và xác nhận mật khẩu, nhấn button “Lưu” thì
sẽ được cấp được tài khoản cho nhân viên vào hệ thống và hiển thị
thông báo “Cấp tài khoản thành công”.
- Nếu textbox tài khoản bỏ trống, mà nhấn nút button “Lưu” thì hệ thống
hiển thị thông báo “Tài khoản không được để trống”.
- Nếu textbox tài khoản nhập trùng với tên tài khoản đã tồn tại trong
database thì hệ thống hiển thị thông báo “Tài khoản đã tồn tại. Vui lòng
chọn tài khoản khác”.
- Nếu textbox mật khẩu bỏ trống thì hệ thống hiển thị thông báo “Mật
khẩu không được để trống”.
- Nếu textbox xác nhận mật khẩu bỏ trống thì hệ thống hiển thị thông
báo “Xác nhận mật khẩu không được để trống”.
- Nếu textbox xác nhận mật khẩu và textbox mật khẩu không khớp nhau
thì hệ thống hiển thị thông báo “Xác nhận mật khẩu không khớp với
mật khẩu”.
- Trên Model component cần có phương thức:
+ DataTable LoadNhanVien();
+ String CheckTenTaiKhoan();
+ Boolean TaoTaiKhoan();
- Trên Controller component cần có:
void btnLuu_Click(object sender, EventArgs e);
=>Hàm này sẽ lần lượt gọi các phương thức trong Model
Component và kiểm tra các điều kiện đã nêu ở trên.
- View Component có giao diện fmCapTaiKhoan.cs như sau:
96
- Biểu đồ giao tiếp tuần tự giữa các thành phần:
97
- Nếu textbox số lượng bị bỏ trống thì sẽ hiện thông báo “Số lượng
không được để trống”
- Nếu textbox mã nguyên liệu nhập trùng với mã đã tồn tại trong
database thì hệ thống hiển thị thông báo “Nguyên liệu đã tồn tại. Vui
lòng nhập mã nguyên liệu khác”.
- Nếu hạn sử dụng chọn nhỏ hơn ngày hiện tại thì hệ thống sẽ hiển thị
thông báo “hạn sử dụng phải lớn hơn ngày hiện tại”
- Trên Model component cần có phương thức:
+ DataTable LoadNguyenLieu();
+ String CheckMaNguyenLieu();
+ Boolean ThemNguyenLieu();
- Trên Controller component cần có:
void btnThem_Click(object sender, EventArgs e);
=>Hàm này sẽ lần lượt gọi các phương thức trong Model
Component và kiểm tra các điều kiện đã nêu ở trên.
- View Component có giao diện fmQLNguyenLieu.cs như sau:
98
4.7.5 Chức năng: 2.1. Lập hóa đơn thanh toán
99
-Biểu đồ giao tiếp tuần tự giữa các thành phần:
100
- Sau khi nhập các thông tin cần tìm kiếm vào các trường, nhấn button
"Tìm kiếm", Khi nhập thông tin cần tìm kiếm ở các ô textbox sai kiểu dữ
liệu hoặc thông tin không đúng sau khi nhấn nút “Tìm kiếm” hệ thống sẽ
hiện thông báo “Thông tin bạn nhập không đúng mời kiểm tra lại” và con
trỏ chuột sẽ tự động nhảy vào ô textbox có thông tin bị sai.
- Trong trường hợp thông tin không bị sai thì sau khi nhấn nút “tìm
kiếm” thông tin sẽ được tự động lưu vào Data GridView. Sự kiện sẽ trả ra
DataGridView thông tin của nguyên liệu theo thông tin đã nhập.
- Các phương thức của Model Component: không có.
- Controller Component cần có:
+ void btnTimkiemnguyenlieu_Click(object sender, EventArgs e);
® Hàm này sẽ lần lượt gọi các phương thức trong Model Component
+ void btnTimkiem_Click(object sender, EventArgs e);
101
4.7.7 Chức năng: 5.1. Đăng nhập
● Các bước xử lý:
- Để sử dụng hệ thống của nhà hàng, thì bước đầu tiên, tất cả các bộ phận của
nhà hàng cần đăng nhập vào phần mềm trên form đăng nhập (Dangnhap.cs)
- Sau khi nhập đầy đủ thông tin về tài khoản và mật khẩu (đã lưu trên hệ
thống), nhấn button “Đăng nhập”. Nhập đúng dữ liệu đã đăng ký thì sẽ hiện
thông báo “Đăng nhập thành công”.
- Nếu dữ liệu về thông tin đăng nhập và mật khẩu đã lưu trên hệ thống không
đúng, thì khi nhấn vào button “Đăng nhập” sẽ hiện ra thông báo “Sai tên tài
khoản và mật khẩu”.
- Nếu hai trường tài khoản và mật khẩu nhập thiếu hoặc bỏ trống thì khi nhấn
vào button “Đăng nhập” sẽ hiện ra thông báo “Dữ liệu còn trống. Hãy nhập
đủ dữ liệu”.
- Với các xử lý trên, Model Component cần có các phương thức sau:
+ String CheckTenTaiKhoan();
+ String CheckMatKhau();
- Controller Component cần có:
102
+ void btnDangNhap (object sender, EventArgs e)
->Hàm này sẽ lần lượt gọi các phương thức Model Component và kiểm
tra các điều kiện đã được nêu lên ở trên.
- View Component có giao diện đăng nhập:
103
4.7.8 Chức năng: 5.7. Đăng xuất
● Các bước xử lý:
- Sau khi kết thúc phiên làm việc tại nhà hàng, các bộ phận của nhà hàng vào
phần trang quản lý của phần mềm để đăng xuất khỏi hệ thống (Home.cs)
- Người dùng có thể đăng xuất khỏi hệ thống bằng 2 cách:
+ Cách 1: Ấn vào button “Đăng xuất” , hệ thống sẽ hiện ra thông
báo “Bạn có chắc chắn muốn thoát không” rồi ấn OK để thoát.
+ Cách 2: Ấn vào biểu tượng “X” ở góc phải màn hình, hệ thống sẽ
hiện ra thông báo “Bạn có chắc chắn muốn thoát không” rồi ấn
OK để thoát.
- Với các xử lý trên, Model Component cần có các phương thức sau:
+ DataTable LoadNhanVien();
+ String CheckTenTaiKhoan();
+ String CheckDangXuat();
- Controller Component cần có:
+ void btnDangXuat (object sender, EventArgs e)
->Hàm này sẽ lần lượt gọi các phương thức Model Component và kiểm
tra các điều kiện đã được nêu lên ở trên.
- View Component có giao diện đăng xuất:
104
KẾT LUẬN
Qua quá trình học môn phân tích bọn em đã củng cố được nhiều kiến thức
liên quan đến việc tạo ra một sản phẩm, chúng em đã rút ra được nhiều kinh
nghiệm quý báu trong việc phân tích và thiết kế ra phần mềm, các quy trình
để có thể ra được 1 bản thiết kế phần mềm đáp ứng được yêu cầu trong thực
tế.Trong quá trình làm bài do còn ít kinh nghiệm nên em vẫn còn gặp nhiều
sai sót như yêu cầu không cụ thể, thông tin chưa đầy đủ, nhưng chúng em đã
cố gắng khắc phục những sai sót đấy
105
Phụ Lục A:
106
Biểu mẫu 2. Đơn đặt hàng.
107
Biểu mẫu 3. Hoá đơn nhập.
108
Biểu mẫu 4. Hoá đơn xuất.
Biểu mẫu 5.
109
Biểu mẫu 6. Báo cáo doanh thu.
110
Biểu mẫu 7. Giấy đề nghị cung cấp nguyên vật liệu
111
112
Biểu mẫu 9: khảo sát KFC
113
Biểu mẫu 10: Báo cáo tổng hợp tồn kho
114
Biểu mẫu 11:1 số menu
115
Biểu mẫu 12 : hóa đơn
116
Biểu mẫu 13: order
117
TÀI LIỆU THAM KHẢO
[1] Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN của
SV Bùi thị Hằng
[2] Slide bài giảng phân tích và thiết kế hệ thống thông tin của thầy Lê
Hữu Dũng – Khoa Công nghệ thông tin –Đại Học Mở Hà Nội.
118
MỤC LỤC
119
3.1.2. Rà soát việc đáp ứng các yêu cầu.................................................38
3.1.3. Mô hình hóa luồng dữ liệu cho các chức năng (theo từng mức).....40
3.1.3.1 Mô hình hóa luồng dữ liệu mức đỉnh.........................................40
3.1.3.2 Mô hình hóa luồng dữ liệu mức dưới đỉnh................................41
3.1.3.2.1 Mô hình quản lý khách hàng...............................................41
3.1.3.2.2 Mô hình quản lý thanh toán................................................41
3.1.3.2.3 Mô hình quản lý nguyên liệu..............................................42
3.1.3.2.4 Mô hình quản lý báo cáo thống kê......................................43
3.1.3.2.5 Mô hình quản lý tài khoản..................................................44
3.1.3.2.6 Mô hình quản lý nhân viên.................................................44
3.1.3.2.7 Mô hình quản lý món ăn.....................................................45
3.2. Phân tích Hệ thống về Dữ liệu..........................................................45
3.2.1.2. Chuyển từ ERD mở rộng về ERD kinh điển....................49
3.3. Mô hình ERD hạn chế.......................................................................53
CHƯƠNG 4. THIẾT KẾ HỆ THỐNG 62
4.1. Chiến lược phát triển hệ thống..........................................................62
4.2. Kiến trúc hệ thống.............................................................................64
4.3. Thiết kế Cơ sở dữ liệu.......................................................................67
4.4. Physical DFD....................................................................................77
4.5. Thiết kế giao diện người dùng..........................................................80
4.5.2.1. Giao diện quản lý khách hàng...........................................82
4.6. Thiết kế Kiểm soát............................................................................88
4.7. Thiết kế Chi tiết xử lý ......................................................................91
4.7.1. Chức năng 1.3: Lập phiếu order món ăn.......................................91
KẾT LUẬN 104
TÀI LIỆU THAM KHẢO 117
120