Professional Documents
Culture Documents
1
NHẬN XÉT & ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN
Qua quá trình học tập:
Giáo viên hướng dẫn có một số nhận xét, đánh giá như sau:
1/- Quá trình học tập
ThS.
2
MỤC LỤC
LỜI CẢM ƠN.................................................................................................................i
NHẬN XÉT & ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN.............................ii
MỤC LỤC.....................................................................................................................iii
DANH MỤC HÌNH ẢNH.............................................................................................v
LỜI MỞ ĐẦU................................................................................................................1
CHƯƠNG 1: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT............................................2
1.1 Khảo sát hiện trạng 2
1.2 Nhiệm vụ của việc nghiên cứu 2
1.3 Đối tượng và khách thể nghiên cứu 2
1.4 Phương pháp và phạm vi nghiên cứu 2
1.4.1 Phương pháp nghiên cứu 2
1.4.2 Phạm vi nghiên cứu 2
1.5 Giới thiệu ngôn ngữ, framework, thư viện, nền tảng 3
1.5.1 Khái niệm ngôn ngữ lập trình Dart 3
1.5.2 Tìm hiểu Framework flutter 4
1.5.3 Tìm hiểu thư viện trên Pub.dev 4
1.5.4 Tìm hiểu sử dụng firebase của google 5
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ................................................................6
2.1 Quan hệ giữa các bảng 6
2.2 Thiết kế các bảng 6
2.2.1 Bảng lưu thông tin người dùng 6
2.2.2 Bảng lưu thông tin giỏ hàng 6
2.2.3 Bảng lưu thông tin sản phẩm 7
2.2.4 Bảng lưu danh mục sản phẩm 7
2.2.5 Bảng lưu danh sách hoá đơn đã được lập 7
2.2.6 Bảng lưu chi tiết hoá đơn đã được lập 7
2.3 Các mô hình dữ liệu 8
2.3.1 Mô hình UseCase tổng quát 8
2.3.2 Mô hình UseCase quản lý 9
2.3.3 Mô hình UseCase mua hàng 9
2.4 Sơ đồ ClassDiagram 10
3
2.5 Sơ đồ ERD 10
2.6 Thiết kế giao diện website 11
2.6.1 Giao diện trang chủ 11
2.6.2 Giao diện trang đăng nhập 11
2.6.3 Giao diện trang đăng ký tài khoản 12
2.6.4 Giao diện trang danh sách sản phẩm 12
2.6.5 Giao diện trang thông tin tài khoản 13
2.6.6 Giao diện trang lịch sử mua hàng 13
2.6.7 Giao diện trang giỏ hàng 14
2.6.8 Giao diện trang đổi mật khẩu 14
2.6.9 Giao diện trang quản lý danh sách đơn hàng 15
2.6.10 Giao diện trang quản lý người dùng 15
2.6.11 Giao diện trang quản lý sản phẩm 16
2.6.12 Giao diện trang thêm sản phẩm 16
2.6.13 Giao diện trang sửa thông tin sản phẩm 17
CHƯƠNG 3: KẾT LUẬN...........................................................................................18
3.1 Ưu điểm 18
3.2 Nhược điểm 18
3.3 Hướng phát triển toàn diện 18
4
DANH MỤC HÌNH ẢNH
Hình 2.1: Diagram trong SQL Mô hình quan niệm dữ liệu (thực thể - kết hợp) 6
Hình 2.2 Bảng lưu thông tin người dùng 6
Hình 2.3 Bảng lưu thông tin giỏ hàng 7
Hình 2.4 Bảng lưu thông tin sản phẩm 7
Hình 2.5 Bảng lưu danh mục sản phẩm 7
Hình 2.6 Bảng lưu danh sách hoá đơn đã được lập 7
Hình 2.7 Bảng lưu chi tiết hoá đơn đã được lập 8
Hình 2.8 Mô hình UseCase tổng quát 8
Hình 2.9 Mô hình UseCase quản lý 9
Hình 2.10 Mô hình UseCase quản lý 9
Hình 2.11 Sơ đồ ClassDiagram 10
Hình 2.12 Sơ đồ ERD 10
Hình 2.13 Giao diện trang chủ 11
Hình 2.14 Giao diện trang đăng nhập 11
Hình 2.15 Giao diện trang đăng ký tài khoản 12
Hình 2.16 Giao diện trang danh sách sản phẩm 12
Hình 2.17 Giao diện trang thông tin tài khoản 13
Hình 2.18 Giao diện trang lịch sử mua hàng 13
Hình 2.19 Giao diện trang giỏ hàng 14
Hình 2.20 Giao diện trang đổi mật khẩu 14
Hình 2.21 Giao diện trang quản lý danh sách đơn hàng 15
Hình 2.22 Giao diện trang quản lý người dùng 15
Hình 2.23 Giao diện trang quản lý sản phẩm 16
Hình 2.24 Giao diện trang thêm sản phẩm 16
Hình 2.25 Giao diện trang sửa thông tin sản phẩm 17
5
LỜI MỞ ĐẦU
1. Lý do chọn đề tài
Đại dịch Covid 19 diễn ra phức tạp và đã khiến hàng loạt quán sá bắt buộc phải
đóng cửa, từ các quán cà phê, nhà hàng, tiệm bán thức ăn nhanh, trường học và căn tin,
đến văn phòng làm việc.... Dẫn đến xu hướng nấu ăn tại nhà hiện nay đang cực kỳ phổ
biến vì nguyên nhân chính là do dịch bệnh Covid 19. Tuy nhiên không phải ai cũng
đều biết nấu ăn hay đều nấu ngon và chuẩn.
Đó là một trong những lý do lớn nhất mà phần mềm hướng dẫn nấu ăn của
chúng em ra đời nhằm đáp ứng cho việc nấu ăn của cá nhân hoặc tổ chức thuận lợi và
tiết kiệm thời gian hơn. Ngoài ra, giúp lưu giữ truyền thống nấu ăn của người Việt
Nam ta suốt bao đời qua.
2. Mục đích nghiên cứu
App hỗ trợ người dùng với các chức năng sau:
− LỜI MỞ ĐẦU
7
1 CHƯƠNG 1: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT
1.1 Khảo sát hiện trạng
Cuộc sống hiện đại ngày càng hối hả khiến cả chỉ ngày ngày quay trong guồng
quay công việc mà lỡ mất những bữa ăn đầm ấm bên gia đình. Ngoài ra do tình hình
dịch bệnh hiện nay cũng ảnh hưởng không nhỏ đến nhu cầu nấu ăn tại nhà.
Hiện nay có nhiều website, hay youtube hướng dẫn về cách nấu ăn. Khi người
dùng có nhu cầu tự nấu ăn tại nhà, muốn nấu được bất kỳ món nào và để thực hiện các
bước nhanh chóng hỗ trợ cho việc nấu ăn đó thì phần mềm hướng dẫn nấu ăn của
chúng em đáp ứng được rất nhiều yếu tố: tìm nhiều món mới, chuẩn bị bữa ăn ngon và
chất lượng, các bí quyết, ý tưởng nấu ăn, khám phá nhiều món lạ,…
1.2 Nhiệm vụ của việc nghiên cứu
Phần mềm này được tạo ra với hy vọng quảng bá nhiều món ăn ngon từ các
miền của Việt Nam, đem đến cho người dùng một sự trải nghiệm phong phú, thích thú,
tiện dụng và nhanh nhất.
Phần mềm còn mang đến lợi ích về kinh tế khi các người dùng nâng cấp gói
nâng cấp cao hơn để trải nghiệm tốt hơn.
1.3 Đối tượng và khách thể nghiên cứu
+ Người có nhu cầu nấu ăn tại nhà và tìm hiểu nhiều món ngon, lạ.
− Tham khảo, nghiên cứu thêm các tài liệu trên trang web, youtube, tìm hiểu
− Tìm xem các đồ án khoá luận của các anh, chị khoá trước đã làm
8
1.4.2 Phạm vi nghiên cứu
Phạm vi xoay quanh các các phần mềm hướng dẫn nấu ăn, đảm bảo đầy đủ các
thành phần chính của phần mềm cũng như các chức năng cơ bản của phần mềm đó.
1.5 Giới thiệu ngôn ngữ, framework, thư viện, nền tảng
1.5.1 Khái niệm ngôn ngữ lập trình Dart
Dart là một ngôn ngữ lập trình web do Google phát triển. Nó được chính thức
công bố tại Hội thảo GOTO ngày 10-12 tháng 10 năm 2011 tại Aarhus. Mục đích của
Dart không phải để thay thế JavaScript như là ngôn ngữ kịch bản chính bên trong trình
duyệt web, mà là cung cấp sự lựa chọn hiện đại hơn.
Mục đích của Dart là để giải quyết các vấn đề của JavaScript (mà theo như một
tài liệu bị rò rỉ không thể được giải quyết bằng cách cải tiến ngôn ngữ) trong khi cung
cấp hiệu năng tốt hơn, khả năng “có thể dễ dàng trở thành công cụ trong các dự án
lớn” và an ninh tốt hơn.
Năng suất Cú pháp Dart rõ ràng và súc tích, công cụ của nó đơn giản nhưng
mạnh mẽ. Type-safe giúp bạn xác định sớm các lỗi tinh tế. Dart có các thư viện cốt lõi
và một hệ sinh thái gồm hàng ngàn package.
Nhanh Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được dự
đoán hiệu suất cao và khởi động nhanh trên các thiết bị di động và web.
Di động Dart biên dịch thành mã ARM và x86, để các ứng dụng di động của
Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa. Đối với các ứng dụng
web, chuyển mã từ Dart sang JavaScript.
9
Dễ gần Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và
định hướng đối tượng không gây ngạc nhiên của nó. Nếu bạn đã biết C ++, C # hoặc
Java, bạn có thể làm việc hiệu quả với Dart chỉ sau vài ngày.
Reactive Dart rất phù hợp với lập trình Reactive, với sự hỗ trợ để quản lý các
đối tượng tồn tại trong thời gian ngắn, chẳng hạn như các widget UI, thông qua phân
bổ đối tượng nhanh và GC. Dart hỗ trợ lập trình không đồng bộ thông qua các tính
năng ngôn ngữ và API sử dụng các đối tượng Future và Stream.
1.5.2 Tìm hiểu Framework flutter
Flutter là một SDK phát triển ứng dụng di động nguồn mở được tạo ra bởi
Google. Nó được sử dụng để phát triển ứng ứng dụng cho Android và iOS, cũng là
phương thức chính để tạo ứng dụng cho Google Fuchsia
Fast Development: Tíng năng Hot Reload hoạt động trong milliseconds để
hiện thị giao diện tới bạn. Sử dụng tập hợp các widget có thể customizable để xây
dựng giao diện trong vài phút. Ngoài ra Hot Reload còn giúp bạn thêm các tính năng,
fix bug tiết kiệm thời gian hơn mà không cần phải thông qua máy ảo, máy android
hoặc iOS.
Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giao
diện của Flutter vô cùng đẹp mắt theo phong cách Material Design và Cupertino, hỗ
trợ nhiều các APIs chuyển động, smooth scrolling...
Native Performance: Các widget của fluter kết hợp các sự khác biệt của các
nền tảng ví dụ như scrolling, navigation, icons, font để cung cấp một hiệu năng tốt
nhất tới iOS và Android.
10
1.5.3 Tìm hiểu thư viện trên Pub.dev
Pub là trình quản lý gói cho ngôn ngữ lập trình Dart, chứa các thư viện & gói có
thể tái sử dụng cho các chương trình Flutter, AngularDart và Dart nói chung.
11
- Nhiều dịch vụ trong một nền tảng
- Được cung cấp bởi Google
- Tập trung vào phát triển giao diện người dùng
- Firebase không có máy chủ
- Học máy (Machine Learning)
- Tạo lưu lượng truy cập
- Theo dõi lỗi
- Sao lưu
2 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ
3.1 Quan hệ giữa các bảng
Hình 2.1: Diagram trong SQL Mô hình quan niệm dữ liệu (thực thể - kết hợp)
3.2 Thiết kế các bảng
3.2.1 Bảng lưu thông tin người dùng
Sử dụng Email để làm khoá
12
Hình 2.2 Bảng lưu thông tin người dùng
3.2.2 Bảng lưu thông tin giỏ hàng
Lưu thông tin các sản phẩm đã được cho vào giỏ hàng
Hình 2.7 Bảng lưu chi tiết hoá đơn đã được lập
3.3 Các mô hình dữ liệu
3.3.1 Mô hình UseCase tổng quát
14
Hình 2.8 Mô hình UseCase tổng quát
3.3.2 Mô hình UseCase quản lý
15
3.4 Sơ đồ ClassDiagram
16
3.6 Thiết kế giao diện website
3.6.1 Giao diện trang chủ
17
3.6.3 Giao diện trang đăng ký tài khoản
18
3.6.5 Giao diện trang thông tin tài khoản
19
3.6.7 Giao diện trang giỏ hàng
20
3.6.9 Giao diện trang quản lý danh sách đơn hàng
Hình 2.21 Giao diện trang quản lý danh sách đơn hàng
3.6.10 Giao diện trang quản lý người dùng
21
3.6.11 Giao diện trang quản lý sản phẩm
22
3.6.13 Giao diện trang sửa thông tin sản phẩm
Hình 2.25 Giao diện trang sửa thông tin sản phẩm
23
4 CHƯƠNG 3: KẾT LUẬN
4.1 Ưu điểm
− Giao diện thân thiện gần gũi với người dùng nhằm tăng hiệu suất công việc
− Dữ liệu đưa vào được kiểm tra và chuẩn hóa đảm bảo sự đúng đắn và chặt
chẽ
− Cung cấp đầy đủ, chính xác các thông tin về sản phẩm: tên, mức giá, mô tả
− Hệ thống tin cậy và chính xác, giao diện thân thiện để sử dụng hệ thống linh
− Hệ thống đảm bảo bảo mật cho người sử dụng, đảm bảo người dùng thực
− Thiếu nhiều chức năng quản lý, thanh toán trực tuyến
− Tối ưu website với các phương thức đặt hàng online qua mạng
24