0
MỤC LỤC
DANH MỤC CÁC BẢNG...............................................................................................0
DANH SÁCH CÁC HÌNH ẢNH VÀ BIỂU ĐỒ...........................................................1
LỜI CẢM ƠN....................................................................................................................3
MỞ ĐẦU
.......................................................................................................................4
1.
Tên đề tài........................................................................................................4
2.
Lý do chọn và tính cấp thiết của đề tài.........................................................4
3.
Mục tiêu nghiên cứu.....................................................................................5
4.
Nội dung nghiên cứu.....................................................................................5
5.
Đối tượng và phạm vi nghiên cứu................................................................5
6.
Bố cục đồ án..................................................................................................5
CHƯƠNG 1. KHẢO SÁT VÀ ĐẶC TẢ HỆ THỐNG HỖ TRỢ NẤU ĂN
TƯƠNG TÁC......................................................................................................................
6
1.1.
Khảo sát sơ bộ hệ thống................................................................................6
1.2.
Xác định yêu cầu hệ thống............................................................................6
1.3.
Kết quả khảo sát sơ bộ...................................................................................7
1.4.
Phân quyền người dùng................................................................................8
1.4.1
Quản trị hệ thống (Admin)..........................................................................8
1.4.2
Các nhân viên..............................................................................................9
1.4.3
Các chuyên gia ẩm......................................................................................9
1.4.4
Người dùng internet (Thành viên/ người chưa có tài khoản)......................9
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG...............................................10
2.1.
Biểu đồ ca sử dụng chính............................................................................10
1
2.2.
Các tác nhân của hệ thống..........................................................................11
2.3.
Đặc tả ca sử dụng........................................................................................12
2.3.1
Usecase Login...........................................................................................12
2.3.2
Usecase Xem công thức............................................................................13
2.3.3
Usecase Comment.....................................................................................13
2.3.4
Usecase Quản lý User...............................................................................14
2.3.5
UseCase Đăng công thức..........................................................................15
2.3.6
Usecase Quản lý Công thức......................................................................16
2.3.7
Usecase Hỗ trợ nấu ăn tương tác..............................................................18
2.4
Tìm lớp lĩnh vực của hệ thống....................................................................19
2.4.1
Xác định các lớp dựa vào các khái niệm của lĩnh vực ứng dụng..............19
2.4.2
Mô hình hóa sự tương tác.........................................................................22
2.5. Thiết kế cơ sở dữ liệu......................................................................................39
2.5.1
Bảng cơ sở dữ liệu chung..........................................................................39
2.5.2
Chi tiết các bảng........................................................................................41
2.6.
Phác thảo giao diện.....................................................................................47
2.6.1 Trang đăng nhập...........................................................................................47
2.6.2 Trang đăng ký thành viên.............................................................................48
2.6.3 Trang chủ.....................................................................................................49
2.6.4 Trang quản trị...............................................................................................50
2.6.5 Trang xem công thức...................................................................................51
2.6.6 Trang hỗ trợ nấu ăn tương tác......................................................................52
CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH...................................53
3.1.
3.1.1
Cài đặt và lập trình.....................................................................................53
Framework Laravel...................................................................................53
3.1.2 Vue Js...........................................................................................................54
3.1.3
PHP...........................................................................................................55
3.1.4 Cấu trúc Project............................................................................................56
2
3.2.
Kết quả đạt được.........................................................................................57
3.2.1
Giao diện Trang chủ..................................................................................57
3.2.2
Giao diện trang Đăng nhập.......................................................................59
3.2.3
Giao diện trang Đăng ký...........................................................................60
3.2.4
Giao diện trang Quản trị...........................................................................61
3.2.5
Giao diện trang Xem công thức................................................................62
3.2.6
Giao diện trang Hỗ trợ nấu ăn tương tác...................................................64
3.2.7
Giao diện trang Thêm mới thể loại...........................................................65
3.2.8
Giao diện trang Quản lý món ăn (dish).....................................................66
3.2.9
Giao diện trang Thêm mới món ăn...........................................................68
3.2.10 Giao diện trang Quản lý công thức nấu.....................................................69
3.2.11 Giao diện trang Thêm công thức mới........................................................70
3.2.12 Giao diện trang Cập nhật công thức...........................................................71
3.2.13 Giao diện trang Quản lý user...................................................................72
3.2.14 Giao diện trang Thêm mới user...............................................................73
3.2.15 Giao diện trang Cập nhật thông tin user...................................................74
3.2.16 Giao diện trang Thông tin cá nhân...........................................................75
3.2.17 Giao diện trang Đăng công thức..............................................................76
KẾT LUẬN .....................................................................................................................78
1.
Đánh giá kết quả..........................................................................................78
2.
Hướng phát triển đề tài...............................................................................79
3.
Tổng kết........................................................................................................79
TÀI LIỆU THAM KHẢO.............................................................................................80
PHỤ LỤC .....................................................................................................................81
0
DANH MỤC CÁC BẢNG
Bảng 1: Bảng users...............................................................................41
Bảng 2: Bảng category..........................................................................42
Bảng 3: Bảng dish.................................................................................42
Bảng 4: Bảng recipes............................................................................43
Bảng 5: Bảng messages.........................................................................45
Bảng 6: Bảng Comment........................................................................45
Bảng 7: Bảng TuKhoa...........................................................................45
Bảng 8: Bảng Slide...............................................................................46
1
DANH SÁCH CÁC HÌNH ẢNH VÀ BIỂU ĐỒ
Hình 1.1: Sơ đồ quy trình hệ thống.........................................................7
Hình 1.2: Sơ đồ phân quyền người dùng................................................8
Hình 2.1 : Biểu đồ ca sử dụng chính.....................................................10
Hình 2.2: Biểu đồ trình tự đăng nhập....................................................24
Hình 2.3: Biểu đồ trình tự đăng ký tài khoản........................................25
Hình 2.4: Biểu đồ trình tự xem công thức............................................26
Hình 2.5: Biểu đồ trình tự bình luận (comment)...................................27
Hình 2.6: Biểu đồ trình tự tính nguyên liệu (count material)...............28
Hình 2.7: Biểu đồ trình tự đăng công thức............................................29
Hình 2.8: Biểu đồ trình tự thêm mới user.............................................30
Hình 2.9: Biểu đồ trình tự cập nhật user...............................................31
Hình 2.10: Biểu đồ trình tự xóa user.....................................................32
Hình 2.11: Biểu đồ trình tự thêm mới công thức..................................33
Hình 2.12: Biểu đồ trình tự duyệt công thức........................................34
Hình 2.13: Biểu đồ trình tự update recipe.............................................35
Hình 2.14: Biểu đồ trình tự xóa công thức............................................36
Hình 2.15: Biểu đồ trình tự Tìm kiếm công thức..................................37
Hình 2.16: Biểu đồ trình tự chat real-time............................................38
Hình 2.17:Lược đồ Cơ sở dữ liệu.........................................................39
Hình 2.18: Phác thảo giao diện trang đăng nhập..................................47
Hình 2.19: Phác thảo giao diện trang đăng ký thành viên....................48
Hình 2.20: Phác thảo giao diện trang chủ.............................................49
Hình 2.21: Phác thảo giao diện trang quản trị......................................50
2
Hình 2.22: Phác thảo giao diện trang xem công thức..........................51
Hình 2.23: Phác thảo giao diện trang hỗ trợ nấu ăn tương tác..............52
Hình 3.1: Mô hình MVC.......................................................................55
Hình 3.2: Cấu trúc Project.....................................................................56
Hình 3.3: Giao diện trang chủ...............................................................58
Hình 3.4: Giao diện trang đăng nhập....................................................59
Hình 3.5: Giao diện trang đăng ký........................................................60
Hình 3.6: Giao diện trang quản trị........................................................61
Hình 3.7: Giao diện trang xem công thức.............................................63
Hình 3.8: Giao diện trang hỗ trợ nấu ăn tương tác...............................64
Hình 3.9: Giao diện trang thêm mới thể loại........................................65
Hình 3.10: Giao diện trang Quản lý món ăn (dish)...............................67
Hình 3.11: Giao diện trang thêm mới món ăn.......................................68
Hình 3.12: Giao diện trang quản lý công thức......................................69
Hình 3.13: Giao diện trang thêm mới công thức..................................70
Hình 3.14: Giao diện trang update công thức.......................................71
Hình 3.15: Giao diện trang quản lý user...............................................72
Hình 3.16: Giao diện trang thêm mới user............................................73
Hình 3.17: Giao diện trang cập nhật thông tin user..............................74
Hình 3.18: Giao diện trang thông tin cá nhân.......................................75
Hình 3.19: Giao diện trang đăng công thức..........................................77
3
LỜI CẢM ƠN
Em xin cảm ơn trường Đại học Công Nghiệp Hà Nội và khoa Công
Nghệ Thông Tin đã cho em cơ hội được làm đồ án tốt nghiệp.
Em xin chân thành cảm ơn sự giúp đỡ của thầy giáo T.S Phạm Văn Hà
đã tận tình giúp đỡ em trong suốt thời gian làm đồ án và thời gian thực tập tốt
nghiệp.
Em cũng rất mong nhận được sự góp ý của thầy cô và các bạn, giúp sản
phẩm của em ngày càng hoàn thiện hơn, đáp ứng được nhu cầu thực tiễn của
người sử dụng.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Trưởng
Nguyễn Văn Trưởng
4
MỞ ĐẦU
1.
Tên đề tài
“ Xây dựng hệ thống hỗ trợ nấu ăn tương tác sử dụng Laravel
FrameWork và Vue.js”
2.
Lý do chọn và tính cấp thiết của đề tài
Chế biến thức ăn là việc làm cần thiết cho sự sống của con người, được
thực hiện ở nơi công cộng hay trong từng hộ gia đình. Chính vì thế, nấu ăn là
một hoạt động không thể thiếu được. Muốn có thức ăn ngon, phải có người
nấu ăn giỏi. Xã hội càng phát triển, cuộc sống ngày càng sung túc và văn
minh, nhu cầu ăn ngon mặc đẹp ngày càng được nâng cao.
Hiện nay, nhiều trường lớp đào tạo nấu ăn được phát triển mạnh mẽ, từ
hệ sơ cấp đến hệ đại học hoặc tổ chức dưới dạng các trường lớp chuyên
nghiệp, chính quy, không chính quy, các lớp dạy nấu ăn ngắn hạn. Tuy nhiên,
không phải ai cũng có nhiều thời gian cho việc đi học nấu ăn để về nấu cho
gia đình, thay vào đó là sử dụng Internet để hỗ trợ việc nấu ăn. Với nhiều ưu
điểm và tiện ích vượt trội, Internet từ khi ra đời đến nay luôn đóng một vai
trò quan trọng trong đời sống xã hội, có ảnh hưởng và tác động đến mọi mặt,
lĩnh vực của cuộc sống. Vì thế em thấy rằng việc xây dựng một hệ thống hỗ
trợ nấu ăn tương tác trực tuyến là phù hợp và cần thiết trong bối cảnh hiện
nay, giúp cho việc nấu ăn của các bà nội chợ trở lên đơn giản hơn, tăng chất
lượng của mỗi bữa ăn cũng như chất lượng sức khỏe cho các thành viên trong
gia đình.
Với lí do đó, được sự hướng dẫn và giúp đỡ của thầy giáo T.S Phạm
Văn Hà, em đã chọn đề tài :”Xây dựng hệ thống hỗ trợ nấu ăn tương tác sử
dụng Laravel FrameWork và Vue.js” làm đề tài luận án tốt nghiệp của mình.
5
3.
Mục tiêu nghiên cứu
Vận dụng các kiến thức đã được học, triển khai phân tích, thiết kế
website hỗ trợ nấu ăn tương tác trực tuyến, nghiên cứu và ứng dụng Laravel
FrameWork và Vue.js vào xây dựng phần mềm đã thiết kế.
Người dùng: Giúp cho công việc nấu ăn của các bà nội chợ trở nên dễ
dàng hơn, tiết kiệm thời gian và tiền bạc, đảm bảo chất lượng cho bữa ăn gia
đình và những bữa tiệc chỉ với một chiếc máy tính hoặc smartphone có kết
nối Internet.
Người quản trị: giúp việc quản lý dữ liệu hệ thống một cách dễ dàng và
phục vụ việc nghiên cứu nhu cầu , thói quen ăn uống của người dùng.
4.
Nội dung nghiên cứu
Khảo sát, phân tích, thiết kế xây dựng hệ thống.
Tìm hiểu về Framework Laravel và Vue.js.
Thiết kế và xây dựng theo mô hình MVC.
Tính năng chat real-time và các tính năng tương tác cho người dùng.
5.
Đối tượng và phạm vi nghiên cứu
Phạm vi nghiên cứu: những bà nội chợ, người có sở thích học và dạy
nấu ăn trên Internet.
Đối tượng nghiên cứu: các món ăn và những công thức nấu ăn.
6.
Bố cục đồ án
Nội dung chính của đề tài gồm 3 chương :
CHƯƠNG 1: KHẢO SÁT VÀ ĐẶC TẢ HỆ THỐNG NẤU ĂN
TƯƠNG TÁC
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH
6
CHƯƠNG 1. KHẢO SÁT VÀ ĐẶC TẢ HỆ THỐNG HỖ TRỢ NẤU ĂN
TƯƠNG TÁC
1.1.
Khảo sát sơ bộ hệ thống
Hệ thống hỗ trợ nấu ăn monngon365.com là website giúp cho công
việc nấu ăn trở nên dễ dàng hơn, tại đây mọi người sẽ được biết hàng ngàn
công thức nấu ăn ngon, đơn giản và vô cùng hấp dẫn.
Tại đây mọi người sẽ được tham khảo các công thức chế biến món ăn
từ các đầu bếp nổi tiếng, các bạn cũng có thể chia những cách nấu ăn của
mình lên cho mọi người biết.
Một số tính năng của hệ thống:
Tìm kiếm cách chế biến các món ăn từ những chuyên gia ẩm thực của
hệ thống.
Để lại bình luận, đánh giá dưới mỗi công thức, like công thức.
Chat trực tiếp với người làm ra món ăn để hỏi công thức.
Hệ thống hỗ trợ trực tiếp người dùng khi cần hỗ trợ .
Chia sẻ công thức nấu ăn riêng của bản thân.
1.2.
Xác định yêu cầu hệ thống
Xây dựng hệ thống hỗ trợ nấu ăn tương tác trên nền tảng Web cần đáp
ứng được những yêu cầu sau:
Giao diện đẹp mắt, thân thiện với người dùng.
Chia sẻ các công thức nấu ăn tới người dùng.
Cho phép tra cứu công thức khi người sử dụng có nhu cầu tìm công
thức.
Các thành viên tương tác với các chuyên gia ẩm thực trực tuyến, giúp
người dùng tính toán nguyên liệu nấu nướng. Like công thức và để lại lời bình
dưới mỗi công thức.
7
Người quản trị/nhân viên cập nhật: thể loại, món ăn, công thức, thành
viên, thông tin khác…
Các chuyên gia ẩm thực có thể phê duyệt các công thức của các thành
viên đưa lên hệ thống và tư vấn cho các thành viên trong phần hỗ trợ nấu ăn
trực tuyến.
1.3.
Kết quả khảo sát sơ bộ
Nắm rõ được các nghiệp vụ chức năng và cách tổ chức của hệ thống.
Phân quyền người dùng, người quản trị thì sẽ quản lý người dùng, quản
lý thể loại, món ăn, công thức, quản lý quyền người dùng. Người dùng có thể
đăng công thức, tìm kiếm công thức, để lại bình luận dưới công thức, like
công thức, thảo luận trên diễn đàn Hỗ trợ nấu ăn tương tác trực tuyến.
Quy trình hoạt động của hệ thống hỗ trợ nấu ăn tương tác được thực
hiện theo mô tả sau đây:
Hình 1.1: Sơ đồ quy trình hệ thống
8
1.4.
Phân quyền người dùng
Hệ thống hỗ trợ nấu ăn thực hiện hỗ trợ độc giả nấu các món ăn ngon.
Và như vậy dựa vào quy trình hoạt động của hệ thống ta có sơ đồ phân quyền
ngươi dùng như sau:
Hệ thống hỗ trợ nấu ăn tương tác thực hiện hỗ trợ độc giả nấu các món
ăn ngon. Và như vậy dựa vào quy trình hoạt động của hệ thống ta có sơ đồ
phân quyền ngươi dùng như sau:
Hình 1.2: Sơ đồ phân quyền người dùng
1.4.1 Quản trị hệ thống (Admin)
Hệ thống hỗ trợ nấu ăn được xây dựng trên Internet, việc thực thi và
vận hành quản lý các dữ liệu trên một phạm vi quy mô lớn nên cần phải có sự
phân chia quyền hạn rõ ràng. Do đó vai trò của người quản trị hệ thống thể
hiện như sau:
Quản lý quyền thực thi hệ thống của người sử dụng
Quản trị người sử dụng ( Thêm, sửa, xóa người dùng)
1.4.2 Các nhân viên
Người thu thập dữ liệu, tìm kiếm và biên tập các công thức, phân loại,
các công thức được gửi từ các thành viên trên hệ thống. Đảm bảo tính chính
9
xác về mặt thông tin và từng công thức được đưa lên trên hệ thống. Luôn luôn
đảm bảo những công thức được đưa lên phải hoàn toàn đạt tiêu chuẩn và có
lợi cho sức khỏe, từ đó giúp người dùng an tâm và học theo những công thức
trên hệ thống.
1.4.3 Các chuyên gia ẩm
Những người chuyên gia về ẩm thực đóng góp 1 phần không nhỏ trong
việc hỗ trợ và tư vấn cho tất cả người dùng. Đóng vai trò cực kì quan trọng để
giữ chân người dùng cho hệ thống. Giúp cho các bà nội trợ có thể tự tin nấu
những món ăn ngon và bổ dưỡng cho gia đình mình. Họ là những người phê
duyệt các công thức của các thành viên đưa lên hệ thống.
1.4.4 Người dùng internet (Thành viên/ người chưa có tài khoản)
Hệ thống hỗ trợ nấu ăn tương đối phong phú và đa dạng về thể loại các
món ăn, vì vậy đối tượng độc giả trên Internet cũng phong phú và đa dạng.
Các độc giả có thể đăng kí tài khoản trên website để có thể để lại những
bình luận, nhận xét của mình đối với từng món ăn, like các công thức nấu ăn.
Ngoài ra, mỗi độc giả có thể trở thành những đầu bếp cung cấp những
công thức món ngon của bản thân. Phía hệ thống sẽ có các chuyên gia ẩm
thực phụ trách việc kiểm duyệt để xuất lên hệ thống.
10
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1.
Biểu đồ ca sử dụng chính
Biểu đồ ca sử dụng chính của hệ hỗ trợ nấu ăn tương tác được thể hiện
như hình vẽ dưới đây.
Hình 2.1 : Biểu đồ ca sử dụng chính
Từ biểu đồ ca sử dụng chính trên, ta lần lượt mô tả ý nghĩa các ca sử
dụng trong đó như sau:
Xem công thức :Người dùng có thể xem công thức món ngon trên
Internet mà không cần đăng nhập vào hệ thống.
Đăng nhập (Login): Người dùng đăng nhập vào hệ thống để thực hiện
các chức năng khác.
Đăng công thức :Người dùng có thể đăng công thức của mình lên hệ
thống và chờ xét duyệt.
11
Bình luận (comment): Người dùng sau khi xem các công thức có thể
gửi ý kiến của mình bên dưới công thức.
Like công thức: Người dùng có thể like công thức trên hệ thống.
Quản lý công thức: Các nhân viên/ Admin có thể dễ dàng quản lý cũng
như kiểm soát các công thức được hiển thị trên hệ thống. Đảm bảo tính đúng
đắn, chính xác và uy tín về mặt dữ liệu trên hệ thống.
Duyệt công thức: Các chuyên gia ẩm thực sẽ đóng vai trò là người đánh
giá cũng như phê duyệt công thức của người dùng đăng lên hệ thống.
Quản lý từ khóa tìm kiếm: Giúp người quản trị có thể nắm bắt và đáp
ứng được nhu cầu thị hiếu của người dùng.
Quản lý người dùng hệ thống (Quản lý User): Người dùng là toàn thể
các thành viên thuộc trên mọi miền của tổ quốc. Do đó cần phải sắt sao trong
việc giám sát người dùng.
2.2.
STT
1
Các tác nhân của hệ thống
Tên tác nhân Ý nghĩa nhiệm vụ
Chủ hệ thống
Là chủ của hệ thống, quản lý được các hoạt động
(Admin)
trong hệ thống của mình, Quản lý tài khoản nhân viên,
Xem bình luận, theo dõi toàn bộ hệ thống.
2
Nhân viên
Là người quản lý cập nhật danh sách thể loại, món ăn
và công thức, chính sửa công thức nấu ăn của các
3
Thành viên
thành viên.
Là người sử dụng hệ thống, bình luận đánh giá, chat
nhóm tương tác với những thành viên khác, đăng bài.
4
Chuyên gia ẩm Là những chuyên gia ẩm thực của hệ thống, hỗ trợ
thực
2.3.
việc nấu ăn cho các user. Duyệt công thức người dùng
đăng lên.
Đặc tả ca sử dụng
2.3.1 Usecase Login
Tên Usecase
Login (Đăng nhập)
12
Mô tả
Usecase này cho phép người dùng truy cập vào hệ
thống để thực hiện các chức năng.
Luồng sự kiện
Luồng cơ bản
Usecase bắt đầu khi người dùng click vào nút “Đăng
nhập” trên trang web.
Hệ thống hiển thị form đăng nhập, yêu cầu nhập tên
đăng nhập và mật khẩu , rồi nhấn nút “Đăng nhập”.
Hệ thống kiểm tra thông tin đăng nhập, nếu đúng thì
Luồng rẽ nhánh
cho phép truy cập, sai thì hiển thị thông báo.
Nếu người dùng chưa có tài khoản thì sẽ phải nhấn
vào link “Đăng ký” để tạo tài khoản mới.
Người dùng nhập đầy đủ thông tin rồi nhấn nút đăng
ký để tạo tài khoản mới. Hệ thống sẽ hiển thị thông
báo nếu thất bại, nếu thành công sẽ chuyển về màn
hình đăng nhập
Các yêu cầu đặc biệt
Tiền điều kiện
Hậu điều kiện
Không có
Tài khoản đã được tạo trước đó
Chuyển hướng sang trang chính hoặc hiển thị thông
báo nếu thất bại.
Điểm mở rộng
Không có
2.3.2 Usecase Xem công thức
Tên Usecase
Mô tả
Xem công thức
Usecase này cho phép người dùng xem công thức nấu
ăn trên hệ thống
Luồng sự kiện
Luồng cơ bản
Usecase bắt đầu khi người dùng click vào một công
thức nấu món ăn. Hệ thống hiển thị thông tin : công
thức chế biến của món ăn,khẩu phần ăn,hình ảnh minh
Luồng rẽ nhánh
họa cũng như nguyên liệu cần thiết.
Không có
13
Các yêu cầu đặc biệt Không có
Tiền điều kiện
Không có
Hậu điều kiện
Không có
Điểm mở rộng
Không có
2.3.3 Usecase Comment
Tên Usecase
Mô tả
Comment
Usecase này cho phép người dùng bình luận ngay bên
dưới công thức đang xem.
Luồng sự kiện
Luồng cơ bản
Usecase bắt đầu khi người dùng click vào một công
thức nấu món ăn. Sau đó click vào “Nội dung thảo
luận” và nhập sau đó click “Gửi bình luận”.
Hệ thống sẽ lưu bình luận vào bảng Comment và hiển
thị lại trang Công thức đang xem cùng với bình luận
Luồng rẽ nhánh
vừa gửi.
Không có
Các yêu cầu đặc biệt
Tiền điều kiện
Hậu điều kiện
Điểm mở rộng
Không có
Người dùng đã đăng nhập được vào hệ thống.
Không có
Không có
2.3.4 Usecase Quản lý User
Tên Usecase
Mô tả
Quản lý User
Usecase này cho phép người quản trị hệ thống chỉnh
sửa thông tin, thêm, xóa tài khoản người dùng.
Luồng sự kiện
Luồng cơ bản
Usecase bắt đầu khi Admin nhấn vào tab “Quản lý
users” .Hệ thống hiển thị trang “Quản lý users”.
Admin nhập thông tin vào các ô như “Email”,
“PassWord” và 1 số thông tin khác .Sau đó nhấn nút
“Thêm” thì hệ thống sẽ kiểm tra nếu thỏa mãn sẽ lưu
14
giá trị vừa nhập vào hệ thống.
Hoặc nhấn nút “Cập nhật” thì hệ thống sẽ chuyển
sang trang Cập nhật User sau đó nhập lại các thông
tin. Hệ thống sẽ kiểm tra các thông tin vừa nhập lại
nếu thỏa mãn sẽ cập nhật giá trị vừa nhập trong hệ
thống.
Hoặc nhấn nút “Xóa” thì hệ thống xóa tài khoản dựa
Luồng rẽ nhánh
trên thông tin trong hệ thống.
Admin không nhập thông tin vào các ô bắt buộc thì hệ
thống sẽ báo lỗi và yêu cầu nhập lại.
Các yêu cầu đặc biệt Không có
Tiền điều kiện
Admin đã đăng nhập được vào hệ thống.
Hậu điều kiện
Refresh lại trang hoặc hiển thị thông báo nếu thất bại.
Điểm mở rộng
Không có
2.3.5 UseCase Đăng công thức
Tên Usecase
Mô tả
Đăng công thức
Usecase này cho phép người dùng gửi công thức chế
biến của mình lên hệ thống và chờ phê duyệt.
Luồng sự kiện
Luồng cơ bản
Usecase bắt đầu khi người nhấn chọn “Đăng công
thức”.Hệ thống hiển thị các trường cho người dùng
nhập thông tin.
Người dùng nhập thông tin vào các ô như “Nguyên
liệu”, “Phần ăn”, “Thời gian thực hiện”,”Độ
khó”,”Cách thực hiện”,”Hình ảnh minh họa”. Sau đó
người dùng nhấn nút “Đăng bài” để gửi bài.
Hệ thống kiểm tra dữ liệu.Nếu thỏa mãn Hệ thống sẽ
phê duyệt và giúp người dùng share công thức trên
trang chủ.
15
Luồng rẽ nhánh
Nếu người dùng không nhập thông tin vào các ô bắt
Các yêu cầu đặc biệt
Tiền điều kiện
Hậu điều kiện
Điểm mở rộng
buộc thì hệ thống sẽ báo lỗi và yêu cầu nhập lại.
Không có
Người dùng đã đăng nhập được vào hệ thống.
Refresh lại trang hoặc hiển thị thông báo nếu thất bại.
Không có
16
2.3.6 Usecase Quản lý Công thức
Tên Usecase
Mô tả
Quản lý công thức
Usecase này cho phép Admin/Nhân viên có thể thêm,
sửa, xóa hoặc duyệt công thức được gửi trên hệ thống.
Luồng sự kiện
Luồng cơ bản
Usecase bắt đầu khi Admin/Nhân viên nhấn vào tab
“Quản lý công thức”.Hệ thống hiển thị các trường
công thức từ CSDL.
Admin/Nhân viên có thể tìm kiếm công thức theo các
danh mục. Admin/Nhân viên click nút “Thêm” thì hệ
thống sẽ hiển thị trang Thêm công thức sau đó nhập
thông tin, Admin/Nhân viên click nút “Thêm” thì hệ
thống sẽ kiểm tra nếu thỏa mãn lưu lại trong CSDL.
Admin/Nhân viên chọn một dòng công thức sau đó
nhập mới thông tin ,nhấn nút “Cập nhật” thì hệ thống
sẽ hiển thị trang Update công thức sau đó nhập thông
tin. Hệ thống kiểm tra nếu thỏa mãn sẽ cập nhật giá trị
vừa nhập lưu lại trong CSDL .
Hoặc nhấn nút “Xóa” thì hệ thống update trạng thái
công thức về “Đang chờ duyệt”
Hoặc Người biên tập nhấn nút “Duyệt” thì hệ thống
Luồng rẽ nhánh
update trạng thái công thức về “Đã duyệt”.
Không có
Các yêu cầu đặc biệt
Tiền điều kiện
Không có
Người dùng đã đăng nhập được vào hệ thống xác thực
Hậu điều kiện
Điểm mở rộng
thuộc “Admin/Nhân viên.”
Không có
Không có
17
2.3.7 Usecase Hỗ trợ nấu ăn tương tác
Tên Usecase
Mô tả
Hỗ trợ nấu ăn tương tác
Usecase này cho phép người dùng có thể trò truyện
trực tiếp với các chuyên gia ẩm thực của hệ thống và
những người dùng khác
Luồng sự kiện
Luồng cơ bản
Usecase bắt đầu khi người dùng nhấn vào tab “Hỗ trợ
nấu ăn tương tác”. Hệ thống hiển thị khung chat cho
người dùng để có thể trò truyện.
Người dùng nhập vào ô input sau đó ấn “Gửi đi” hệ
thống sẽ ngay lập tức hiển thị thông điệp của người
dùng cho tất cả mọi người.
Luồng rẽ nhánh
Các yêu cầu đặc biệt
Tiền điều kiện
Không có
Không có
Người dùng đã đăng nhập trước đó.
Hậu điều kiện
Điểm mở rộng
Không có
Trò truyện trực tiếp thời gian thực.
18
2.4Tìm lớp lĩnh vực của hệ thống
2.4.1 Xác định các lớp dựa vào các khái niệm của lĩnh vực ứng dụng
Dựa vào các khái niệm của lĩnh vực ứng dụng và dựa vào văn bản mô
tả bài toán, ta xác định được các lớp thực thể như sau:
2.3.1.1
Lớp Users gồm có:
Mã người dùng (id)
Quyền người dùng (role)
Ảnh đại diện (avatar)
Địa chỉ người dùng (address)
Tên người dùng (name)
Số điện thoại người dùng
Tên đầy đủ (fullname)
(phone)
Giới tính người dùng (sex)
Level người dùng (level)
Email người dùng (email)
Trạng
Mật
(status)
khẩu
người
dùng
thái
người
dùng
Ngày khởi tạo (created_at)
(password)
Ngày update (updated_at)
2.3.1.2
Lớp Category gồm có:
Mã thể loại (id)
Chú thích (note)
Tên thể loại (name)
Trạng thái thể loại (status)
Tên
không
(unsigned_name)
dấu
Ngày khởi tạo (created_at)
Ngày update (updated_at
Icon thể loại (icon)
2.3.1.3
Lớp Dish gồm có:
Mã món ăn (id)
Tên
không
Tên món ăn (name)
(unsigned_name)
dấu
19
Hình ảnh món ăn (image)
Trạng thái món ăn (status)
Mã thể loại (id_category)
Ngày khởi tạo (created_at)
Chú thích (note)
Ngày cập nhật (updated_at)
2.3.1.4
Lớp Recipes gồm có:
Mã công thức (id)
Bước 4 (step_4)
Tên công thức (name)
Hình ảnh bước 4 (image_4)
Mã món ăn (id_dish)
Bước 5 (step_5)
Mã người dùng (id_user)
Hình ảnh bước 5 (image_5)
Số
lượng
nguyên
liệu
Bước 6 (step_6)
(amount)
Hình ảnh bước 6 (image_6)
Nguyên liệu (materials)
Bước 7 (step_7)
Phần ăn (eater)
Hình ảnh bước 7 (image_7)
Thời gian thực hiện (time)
Độ khó (level)
Bước 1 (step_1)
Trạng thái công thức (status)
Hình ảnh bước 1 (image_1)
Số like (number_like)
Bước 2 (step_2)
Số lượt xem (number_view)
Hình ảnh bước 2 (image_2)
Ngày khởi tạo (created_at)
Bước 3 (step_3)
Ngày cập nhật (updated_at)
Hình ảnh bước 3 (image_3)
2.3.1.5
Lớp Comment gồm có:
Mã comment (id)
Nội dung (content)
Mã người dùng (id_user)
Trạng thái (status)
Mã công thức (id_recipe)
Ngày khởi tạo (created_at)
20
Ngày cập nhật (updated_at)
2.3.1.6
Lớp Messages gồm có:
Mã messages (id)
Mã người gửi (id_user)
Ngày khởi tạo (created_at)
Nội dung gửi (message)
Ngày cập nhật (updated_at)
2.3.1.7
Lớp TuKhoa gồm có:
Mã từ khóa (id)
Từ khóa (tukhoa)
Ngày khởi tạo (created_at)
Ngày cập nhật (updated_at)
2.3.1.8
Lớp Slide gồm có:
Mã slide(id)
Tên slide (name)
Hình ảnh (image)
Nội dung (content)
Đường dẫn (link)
Trạng thái (status)
Ngày khởi tạo (created_at)
Ngày cập nhật (updated_at)
2.4.2 Mô hình hóa sự tương tác
Từ những chức năng tìm được, ta gộp những chức năng nhỏ thành
Usecase của hệ thống:
STT Tên Usecase
Tên chức năng
1
Đăng nhập (Login)
2
Xem công thức
3
4
Đăng công thức
Quản lý User
5
Quản lý công thức
Login (Đăng nhập)
Register (Đăng ký)
Xem công thức
Like công thức
Bình luận
Tính nguyên liệu
Đăng công thức
Thêm User
Cập nhật User
Xóa User
Tìm kiếm User
Thêm công thức
Cập nhật công thức
6
Quản lý món ăn
7
Hỗ trợ nấu tương tác
8
Quản lý thể loại
Duyệt công thức (update trạng
thái)
Xóa công thức (update trạng
thái )
Tìm kiếm công thức
Xóa bình luận
Thêm món ăn
Cập nhật món ăn
Xóa món ăn (update trạng
thái)
Tìm kiếm món ăn
Chat real-time
Thêm thể loại
Cập nhật thể loại
Xóa thể loại
Tìm kiếm thể loại