Professional Documents
Culture Documents
Order Food
Order Food
---🙠🕮🙢---
NHÓM: 7
Hà Nội, 2023
MỤC LỤC
MỤC LỤC 1
LỜI CẢM ƠN 3
LỜI MỞ ĐẦU 1
1
2.3. SƠ ĐỒ CHỨC NĂNG 12
2.3.1 Chức năng đăng nhập 15
2.3.2 Chức năng đăng ký 15
2.3.3 Chức năng thêm sản phẩm vào giỏ hàng 15
2.3.4 Chức năng sửa số lượng sản phẩm 15
2.3.5 Chức năng xóa sản phẩm trong giỏ hàng 15
2.3.6 Chức năng đặt hàng 16
2.3.7 Chức năng thêm, sửa, xóa của admin 16
2.4 PHÂN TÍCH CA SỬ DỤNG 18
2.4.1 Ca sử dụng đăng nhập 18
2.4.2 Ca sử dụng đăng ký 18
2.4.3 Ca sử dụng thêm sản phẩm vào giỏ hàng 18
2.4.4 Ca sử dụng xóa sản phẩm khỏi giỏ hàng 19
2.4.5 Ca sử dụng đặt hàng 19
2.4.6 Ca sử dụng thêm/sửa/xóa của Admin 20
2.5. XÂY DỰNG CƠ SỞ DỮ LIỆU 21
2.5.1 Xây dựng cơ sở dữ liệu 21
2.5.2 Bảng user_role 22
2.5.3 Bảng shop 23
2.5.4 Bảng user 23
2.5.5 Bảng categories 25
2.5.6 Bảng products 25
2.5.7 Bảng oders 25
KẾT LUẬN 42
3
LỜI CẢM ƠN
Nhóm chúng em xin chân thành cảm ơn các thầy cô trường Học viện Kỹ
thuật mật mã nói chung, quý thầy cô của khoa Công nghệ thông tin nói riêng đã
tận tình dạy bảo, truyền đạt kiến thức cho em trong suốt quá trình học.
Kính gửi đến thầy Lê Bá Cường lời cảm ơn chân thành và sâu sắc, cảm ơn
cô đã tận tình theo sát và chỉ dẫn cho nhóm em trong quá trình thực hiện đề tài
này.
Trong quá trình tìm hiểu nhóm chúng em xin cảm ơn các bạn cùng lớp đã
góp ý, giúp đỡ nhóm em rất nhiều trong quá trình tìm hiểu và làm đề tài.
Nhóm xin cam đoan bài báo cáo “Xây dựng ứng dụng Order Food trên thiết
bị di động” là công trình nghiên cứu của nhóm trong thời gian qua, không sao
chép lại từ cá nhân hoặc tổ chức nào khác. Những kết quả đạt được do nhóm tự
nghiên cứu, các số liệu kết quả đúng với thực tế. Các kết quả này chưa từng công
bố trong bất kỳ tài liệu nào khác. Nhóm xin hoàn toàn chịu trách nhiệm trước
nhà trường về lời cam đoan này.
4
DANH SÁCH HÌNH ẢNH
Hình 1. 1. Hình ảnh cấu trúc Android 4
Hình 1. 2. Hình ảnh về Google Maps 6
Hình 1. 3. Hình ảnh về MySQL 7
Hình 1. 4. Hình ảnh Android Studio 9
Hình 1. 5. Hình ảnh hướng dẫn sử dụng Android Studio 10
5
Hình 3. 1. Hình ảnh chức năng chọn bài tập theo mức độ 34
Hình 3. 2. Hình ảnh chức năng chọn bài tập theo từng vùng 34
Hình 3. 3. Hình ảnh chức năng tập luyện 35
Hình 3. 4. Hình ảnh chức năng luyện tập từng ngày 36
Hình 3. 5. Hình ảnh kiểm thử chức năng thống kê 37
Hình 3. 6. Hình ảnh kiểm thử chức năng thống kê calo 38
Hình 3. 7. Hình ảnh kiểm thử chức năng thống kê cân nặng 39
Hình 3. 8. Hình ảnh kiểm thử chức năng thống kê chỉ số BMI 40
Hình 3. 9. Hình ảnh kiểm thử cài đặt 41
6
LỜI MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, Công nghệ
Thông tin là một trong những ngành có vị thế dẫn đầu và có vai trò rất lớn trong sự
phát triển chung đó. Các ứng dụng của công nghệ thông tin được áp dụng trong mọi
lĩnh vực nghiên cứu khoa học cũng như trong mọi lĩnh vực của đời sống. Là một
phần của Công nghệ Thông tin, Công nghệ app đang có được sự phát triển mạnh mẽ
và phổ biến rất nhanh bởi những lợi ích mà nó mang lại cho cộng đồng là rất lớn.
Bên cạnh đó, việc mua sắm online đang trở thành xu hướng mới là điều
không thể tránh khỏi. Hiện nay ta có thể mua gần như mọi thứ thông qua chiếc điện
thoại thông minh của mình. Đồ ăn cũng không phải ngoại lệ. Ứng dụng này sẽ đóng
vai trò như công cụ kết nối giữa người bán và người mua, tận dụng nền tảng vận
chuyển của công ty nhằm mở rộng thị trường. Hai đối tượng được nhắm tới là chủ
cửa hàng và người muốn đặt đồ ăn. Chủ cửa hàng có thể đăng ký với công ty để
đăng bán các món ăn của mình trên app, còn người dùng có thể tìm kiếm và đặt đồ
ăn thuận tiện.
Nội dung đề tài gồm các chương:
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
KẾT LUẬN
1
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1.1 Tổng quát về hệ điều hành di động
Hệ điều hành di động (tiếng Anh "mobile operating system") là một hệ điều
hành dành cho các thiết bị điện thoại di động, máy tính bảng, đồng hồ thông minh,
laptop 2 trong 1 (laptop có thể chuyển giữa chế độ máy tính và máy tính bảng), hoặc
các thiết bị di động khác. Trong khi đa phần các máy tính xách tay (laptop) cũng có
tính "di động", nhưng các hệ điều hành thường được sử dụng trên chúng không
được xem là hệ điều hành di động, vì các hệ điều hành này được thiết kế ban đầu
cho máy tính để bàn và không có hoặc không cần các tính năng di động cụ thể.
Ngày nay, sự phân biệt giữa hệ điều hành cho máy tính để bàn và hệ điều hành di
động càng trở nên mờ dần, khi một số hệ điều hành mới hoặc các phiên bản mới cho
phép hỗ trợ cả hai nền tảng di động và cố định.
Hệ điều hành di động kết hợp các tính năng của một hệ điều hành cho máy
tính cá nhân với các tính năng khác hữu ích cho việc sử dụng di động hoặc cầm tay;
thường bao gồm hầu hết các chức năng được coi là cần thiết trong các hệ thống di
động hiện đại như: màn hình cảm ứng, mạng thiết bị di động, Bluetooth, Wi-Fi
Protected Access, Wi-Fi, Hệ thống Định vị Toàn cầu (GPS), máy ảnh số cho phép
chụp ảnh và quay video, nhận dạng tiếng nói, thu âm, chơi nhạc, kết nối trường gần,
và đèn hồng ngoại điều khiển từ xa. Đến cuối năm 2016, hơn 430 triệu điện thoại
thông minh đã được bán với 81,7 % chạy nền tảng Android, 17.9 % chạy iOS, 0.3 %
chạy Windows 10 Mobile (hiện các thiết bị chạy nền tảng này không còn được bán
trên thị trường) và các hệ điều hành khác chiếm 0.1%.Android còn phổ biến hơn so
với hệ điều hành Windows, hệ điều hành phổ biến nhất trên máy tính để bàn. Lượng
sử dụng điện thoại thông minh (thậm chí chưa bao gồm máy tính bảng) đã nhiều
hơn cả lượng máy tính để bàn đang sử dụng (nhu cầu sử dụng máy tính tổng thể đã
giảm xuống 44,9% trong quý I năm 2017).
2
1.2 Tổng quan về JAVA ANDROID NATIVE
+ Là hệ điều hành có mã nguồn mở nên khả năng tùy biến cao, có thể tùy ý
chỉnh sửa mà không có sự can thiệp hay cấm cản từ Google.
+ Đa dạng sản phẩm, rất nhiều hãng điện thoại, thiết bị công nghệ đã ưu ái
chọn Android cho thiết bị của họ, giá cả thì hợp lý từ bình dân đến cao cấp.
+ Kho ứng dụng Google Play Store đồ sộ.
+ Thân thiện và dễ sử dụng.
+ Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao.
3
Hình 1. 1. Hình ảnh cấu trúc Android
●APPLICATIONS: Lớp trên cùng của kiến trúc là Application. Các ứng dụng
bạn tạo ra sẽ được cài đặt trên lớp này. Ví dụ như: Danh bạ, nhắn tin, trò
chơi…
●APPLICATIONS FRAMEWORK: Lớp Android Framework cung cấp các
dịch vụ cấp độ cao hơn cho các ứng dụng dưới dạng các lớp Java. Các nhà
phát triển ứng dụng được phép sử dụng các dịch vụ này trong ứng dụng của
họ. Android Framework bao gồm các dịch vụ chính sau:
❖ Activity Manager - Kiểm soát tất cả khía cạnh của vòng đời ứng dụng
và ngăn xếp các Activity.
❖ Content Providers - Cho phép các ứng dụng chia sẽ dữ liệu với các ứng
dụng khác.
❖ Resource Manager - Cung cấp quyền truy cập vào các tài nguyên như
các chuỗi, màu sắc, các layout giao diện người dùng...
❖ Notifications Manager - Cho phép các ứng dụng hiển thị cảnh báo và
các thông báo cho người dùng.
❖ View System - Tập các thành phần giao diện (view) được sử dụng để
tạo giao diện người dùng.
4
● LIBRARIES: Ở trên lớp nhân Linux là tập các thư viện bao gồm WebKit -
trình duyệt Web mã nguồn mở, được biết đến như thư viện libc, cơ sở dữ liệu
SQLite - hữu dụng cho việc lưu trữ và chia sẻ dữ liệu ứng dụng, các thư viện
chơi và ghi âm audio, video, hay các thư viện SSL chịu trách nhiệm bảo mật
Internet…
●ANDROID RUNTIME: Đây là phần thứ 3 của kiến trúc và nằm ở lớp thứ 2 từ
dưới lên. Phần này cung cấp 1 bộ phận quan trọng là Dalvik Virtual Machine
- là 1 loại Java Virtual Machine được thiết kế đặc biệt để tối ưu cho Android.
Dalvik VM sử dụng các đặc trưng của nhân Linux như quản lý bộ nhớ và đa
luồng, những thứ mà đã có sẵn trong Java. Dalvik VM giúp mọi ứng dụng
Android chạy trong tiến trình riêng của nó, với các thể hiện (instance) riêng
của Dalvik virtual Machine. Android Runtime cũng cung cấp 1 tập các thư
viện chính giúp các nhà phát triển ứng dụng Android có thể viết ứng dụng
Android bằng Java.
●LINUX KERNEL: Dưới cùng là lớp Linux - Linux 3.6 cùng với khoảng 115
bản vá. Lớp này cung cấp 1 cấp độ trừu tượng giữa phần cứng của thiết bị và
các thành trình điều khiển phần cứng thiết yếu như máy ảnh, bàn phím, màn
hình hiển thị... Đồng thời, hạt nhân (kernel) còn xử lý tất cả các thứ mà Linux
có thể làm tốt như mạng kết nối và 1 chuỗi các trình điều khiển thiết bị, giúp
cho giao tiếp với các thiết bị ngoại vi dễ dàng hơn.
1.2.4. Google maps
Google Maps là một dịch vụ bản đồ trực tuyến được cung cấp bởi
Google. Nó cung cấp thông tin chi tiết về địa điểm, địa chỉ, tìm kiếm địa điểm,
chỉ đường, thời gian di chuyển và nhiều tính năng khác. Google Maps sử dụng
công nghệ bản đồ và hình ảnh vệ tinh để hiển thị thông tin địa lý trên toàn thế
giới.
5
Hình 1. 2. Hình ảnh về Google Maps
Dịch vụ Google Maps cung cấp các chức năng quan trọng sau đây:
Xem bản đồ: Người dùng có thể xem bản đồ của các địa điểm khác
nhau trên toàn thế giới, bao gồm cả chế độ xem đường phố và chế độ
xem vệ tinh.
Tìm kiếm địa điểm: Người dùng có thể tìm kiếm địa điểm cụ thể,
như nhà hàng, khách sạn, bệnh viện, cửa hàng và nhiều hơn nữa.
Google Maps cung cấp kết quả tìm kiếm chi tiết, bao gồm cả đánh
giá, số điện thoại, địa chỉ và hướng dẫn chỉ đường.
Chỉ đường: Google Maps cho phép người dùng tìm kiếm và nhận chỉ
đường từ vị trí hiện tại đến địa điểm mong muốn. Nó cung cấp các
tùy chọn đường đi khác nhau, bao gồm cả đi bộ, lái xe, xe buýt và xe
đạp, và cung cấp thông tin về khoảng cách và thời gian di chuyển
ước tính.
Xem thông tin lưu lượng giao thông: Google Maps cung cấp thông
tin về lưu lượng giao thông trên các tuyến đường khác nhau. Người
dùng có thể xem thông tin về tình trạng giao thông hiện tại, các tai
nạn hoặc công trình đường sắp tới và các tuyến đường thay thế.
Khám phá và đánh dấu địa điểm yêu thích: Người dùng có thể khám
phá các địa điểm quanh khu vực và đánh dấu địa điểm yêu thích để
lưu trữ và truy cập sau này.
Google Maps cung cấp các ứng dụng di động cho iOS và Android,
cho phép người dùng truy cập và sử dụng dịch vụ trên điện thoại di
6
động. Ngoài ra, Google Maps API cung cấp các công cụ và tài
nguyên cho nhà phát triển để tích hợp và tùy chỉnh
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS)
lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan
hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với
ngôn ngữ SQL. MySQL được phát hành từ thập niên 90s.
7
MySQL linh hoạt về flatform với tất cả các phiên bản của Windows, Unix và
Linux đang được hỗ trợ. Và đương nhiên, tính chất mã nguồn mở của MySQL cho
phép tùy biến theo ý muốn để thêm các yêu cầu phù hợp cho database server. Với
kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ
sở dữ liệu MySQL đặc trưng cho các ứng dụng chuyên biệt. Dù ứng dụng là website
dung lượng lớn phục vụ hàng triệu người/ngày hay hệ thống xử lý giao dịch tốc độ
cao thì MySQL đều đáp ứng được khả năng xử lý khắt khe của mọi hệ thống.
MySQL đưa ra những engine giao dịch cơ sở dữ liệu tốt. Các đặc trưng bao gồm,
khóa mức dòng không hạn chế, hỗ trợ giao dịch ACID hoàn thiện, khả năng giao
dịch được phân loại và hỗ trợ giao dịch đa dạng (multi-version) mà người đọc
không bao giờ cản trở cho người viết và ngược lại. Dữ liệu được đảm bảo trong suốt
quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, khi
phát hiện có lỗi khóa chết ngay tức thì.
1.4. Công cụ Android Studio
1.4.1 Khái niệm
Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụng
Android dựa trên IntelliJ IDEA. Chức năng chính của Android Studio là cung cấp
các giao diện giúp người dùng có thể tạo các ứng dụng và xử lý các công cụ file
phức tạp sau hậu trường. Ngôn ngữ lập trình được sử dụng trong Android Studio là
Java và nó sẽ được cài đặt sẵn trên thiết bị của bạn.
8
Hình 1. 4. Hình ảnh Android Studio
1.4.2 Lịch sử hình thành
Android Studio đã được công bố vào năm 2013 tại hội nghị Google I/O và
được phát hành vào năm 2014 sau nhiều phiên bản khác nhau. Trước đó, thì các nhà
phát triển của Android thường sử dụng các công cụ như Eclipse IDE hoặc một IDE
Java chung để hỗ trợ cho nhiều ngôn ngữ lập trình khác. Android Studio giúp cho
việc tạo ứng dụng dễ dàng hơn so với các phần mềm chuyên dụng. Với người mới,
sẽ có rất nhiều thứ phải học và nhiều thông tin có sẵn. Thậm chí, chúng còn thông
qua nhiều kênh chính thức hoặc có thể có lỗi khiến người dùng hoang mang.
Việc thiết lập Android Studio tương đối đơn giản vì nó đã được phát triển trình
cài đặt. Khi bạn tải Android Studio sẽ được nhận thêm Android SDK, SDK manager
và rất nhiều công cụ kèm theo khác. Một trong những công cụ duy nhất mà bạn cần
phải có chính là Java Development Kit.
9
Hình 1. 5. Hình ảnh hướng dẫn sử dụng Android Studio
Với hiện trạng sự phát triển của các nhà hàng ngày càng nhiều và quy mô
ngày lớn theo thời gian và sự phát triển nhanh chóng của công nghệ điện thoại thông
minh, nên nhóm họp và đưa ra ý tưởng về một ứng dụng đặt món ăn từ xa, hoạt
động trên thiết bị di động cá nhân để có thể giúp các nhà hàng linh hoạt hơn trong
khâu vận hành cho doanh nghiệp của mình.
2.1.2 Hướng giải quyết
Nhóm đề xuất xây dựng một ứng dụng đặt đồ ăn, cho phép người dùng tìm
kiếm, chọn, đặt đồ ăn và được giao hàng tận nơi. Ứng dụng này có ưu điểm giảm
thiểu tối đa việc ghi nhớ đơn đặt hàng trong quá trình vận hành một nhà hàng, kết
10
hợp với công nghệ mới sẽ mang lại cho thực khách một trải nghiệm hiện đại, linh
hoạt hơn, nó còn giúp cho nhà hàng vận hành được chính xác hơn.
2.2. Mô hình tổng quát
Tổng quát các chức năng của app Order Food sẽ có các phần :
Đăng ký và đăng nhập
Đặt hàng
11
Hình 2. 1. Hình ảnh sơ đồ usecase tổng quát app Order Food
Tổng quát các chức năng của web admin sẽ có các phần :
Sửa thông tin shop
Thêm, sửa, xoá sản phẩm
Thêm, sửa, xoá danh mục
Quản lý user (thêm, sửa, xoá)
Quản lý đơn hàng (thêm, sửa, xoá, hiển thị trạng thái đơn)
12
Hình 2. 2. Hình ảnh sơ đồ usecase tổng quát web admin
2.3. Sơ đồ chức năng
2.3.1 Chức năng đăng nhập
Khi đã có tài khoản Order Food, user có thể đăng nhập bằng các phương thức tương
ứng mà Order Food hỗ trợ. Sau đó hệ thống sẽ kiểm tra xem thông tin đăng nhập có khớp
với dữ liệu không. Nếu khớp thì sẽ trả về màn hình trang chủ của Order Food, nếu không
khớp sẽ có thông báo đăng nhập không thành công.
13
Hình 2. 3. Hình ảnh sơ đồ chức năng đăng nhập
Khi muốn tạo mới một tài khoản Order Food, user hãy nhấn vào đăng ký, chọn
phương thức đăng ký tài khoản mới. Sau đó điền đầy đủ thông tin theo yêu cầu của hệ
thống. Sau khi hệ thống xác nhận thành công thông tin thì sẽ tạo mới được một tài khoản
Order Food, nếu không thành công thì user có thể out ra hay tiếp tục tạo cho tới khi thành
công.
14
Hình 2. 4. Hình ảnh sơ đồ chức năng đăng ký
Sau khi chọn được sản phẩm, user nhấn “+” để thêm sản phẩm. Sản phẩm được
thêm giỏ hàng của người dùng, hiển thị thông tin về sản phẩm trong giỏ hàng.
Hình 2. 5. Hình ảnh sơ đồ chứa năng thêm sản phẩm vào giỏ hàng
15
2.3.4 Chức năng sửa số lượng sản phẩm trong giỏ hàng
Người dùng thực hiện thao tác sửa số lượng sản phẩm, ví dụ như nhấn vào
nút "+" hoặc "-" để tăng hoặc giảm số lượng, hoặc nhập số lượng mới vào một
trường dữ liệu. Khi số lượng sản phẩm được sửa đổi, ứng dụng cập nhật thông tin
trong giỏ hàng. Số lượng sản phẩm mới được lưu trữ hoặc cập nhật trong danh sách
sản phẩm trong giỏ hàng. Sau khi số lượng sản phẩm được sửa đổi, tổng giá trị của
giỏ hàng cần được cập nhật để hiển thị cho người dùng
Người dùng chọn sản phẩm cần xoá bằng cách nhấn vào một nút hoặc lựa chọn
từ danh sách sản phẩm trong giỏ hàng. Sau khi người dùng chọn sản phẩm để xoá,
ứng dụng hiển thị một hộp thoại xác nhận để xác định rõ rằng người dùng muốn xoá
sản phẩm này khỏi giỏ hàng. Sau khi xoá sản phẩm, tổng giá trị của giỏ hàng cần
được cập nhật để hiển thị cho người dùng. Giao diện người dùng cần được cập nhật
để hiển thị danh sách sản phẩm mới sau khi xoá.
16
Hình 2. 7. Hình ảnh sơ đồ chức năng xóa sản phẩm trong giỏ hàng
Trước khi đặt hàng, ứng dụng hiển thị thông tin về giỏ hàng của người dùng.
Người dùng cung cấp thông tin liên quan đến địa chỉ giao hàng, thông tin liên hệ và
các yêu cầu đặc biệt khác. Trước khi hoàn tất quá trình đặt hàng, người dùng được
yêu cầu xác nhận thông tin đơn hàng. Sau khi xác nhận đặt hàng, ứng dụng thực
hiện xử lý đơn hàng. Quá trình này bao gồm xác nhận thông tin, tạo đơn hàng trong
hệ thống và cập nhật trạng thái đơn hàng. Giao diện người dùng được cập nhật để
hiển thị thông báo đặt hàng thành công và thông tin đơn hàng liên quan.
17
Hình 2. 8. Hình ảnh sơ đồ chức năng đặt hàng
Chức năng "Thêm, Sửa, Xóa" của admin thường được sử dụng để quản lý và
điều chỉnh thông tin liên quan đến người dùng, sản phẩm, danh mục, đơn hàng.
Giúp quản lý hệ thống dễ dàng và linh hoạt, cho phép thay đổi và điều chỉnh các
thông tin theo nhu cầu và yêu cầu của hệ thống.
18
Hình 2. 9. Hình ảnh sơ đồ chức năng thêm, sửa, xóa của admin
Actor User
Pre-condition Thiết bị được kết nối wifi và đã có tài khoản Order Food
19
2.4.2 Ca sử dụng đăng ký
Actor User
Pre-condition Thiết bị được kết nối wifi và chưa có tài khoản Order Food
hoặc đã có tài khoản mà muốn đăng ký thêm một tài khoản
mới.
Actor User
Description Thêm sản phẩm vào giỏ hàng khi muốn mua hàng
Flows 1. Người dùng xem thông tin chi tiết về sản phẩm và
quyết định thêm vào giỏ hàng
20
2. Hệ thống hiển thị giao diện giỏ hàng cho người dùng
3. Người dùng xem lại thông tin sản phẩm trong giỏ
hàng và kiểm tra chi tiết đơn hàng
4. Hệ thống thêm sản phẩm vào giỏ hàng
5. Hệ thống cập nhật thông tin giỏ hàng.
Actor User
Description Người dùng muốn xoá một sản phẩm khỏi giỏ hàng trong
ứng dụng đặt đồ ăn.
21
Bảng 2. 5. Bảng ca sử dụng đặt hàng
Actor User
Description Người dùng muốn đặt hàng và giao đồ ăn thông qua ứng
dụng giao đồ ăn.
Flows 1. User xem thông tin chi tiết về giỏ hàng và chọn tiếp
tục đặt hàng
5. Hệ thống gửi thông tin đơn hàng đến nhân viên giao
hàng
Actor Shipper
Description Shipper nhận đơn hàng và tiến hành giao đồ ăn cho khách
hàng.
22
Pre-condition Shipper đã đăng nhập app giao đồ ăn
Có ít nhất một đơn hàng đang chờ được giao
Flows 1. Nhân viên giao hàng đăng nhập vào ứng dụng giao
đồ ăn
2. Hệ thống hiển thị danh sách các đơn hàng đang chờ
giao cho shipper.
5. Nhân viên giao hàng xem thông tin chi tiết về đơn
hàng, bao gồm địa chỉ giao hàng và chi tiết sản phẩm.
8. Nhân viên giao hàng cập nhật trạng thái giao hàng
trên ứng dụng.
Actor Admin
23
Description Quản lý thông tin bằng cách thêm/sửa/xoá
5. Thông báo thành công, hiển thị thông tin được cập
nhật
App sẽ sử dụng cơ sở dữ liệu phi quan hệ, cơ sở dữ liệu được thiết kế sẵn
và tùy theo mỗi chức năng của app mà các bảng được thiết kế với những trường
chứa những thuộc tính khác nhau:
24
Hình 2. 10. Hình ảnh mô hình quan hệ cơ sở dữ liệu
25
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
28
2.5.7 Bảng orders
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
2 comment Varchar(255)
30
● Màn hình Shop
Màn hình shop chủ gồm:
- Danh sách cửa hàng:
Hình 2. 12. Hình ảnh giao diện danh sách cửa hàng
+ Hiện thông tin của mỗi cửa hàng : Đánh giá (sao), số điện thoại, địa chỉ.
- Nhấn chọn vào một cửa hàng:
31
Hình 2. 13. Hình ảnh giao diện danh sách món ăn
+ Hiển thị danh sách món ăn : Cho phép người dùng thêm món ăn vào giỏ hàng
- Nhấn vào giao hàng:
32
Hình 2. 14. Hình ảnh giao diện thông tin đơn hàng
+ Hiển thị thông tin đơn hàng: Số lượng sản phẩm, đơn giá, phương thưc thanh
toán.
33
Hình 2. 15. Hình ảnh giao diện danh sách đơn hàng
34
Hình 2. 16. Hình ảnh giao diện thông tin đơn hàng
35
Hình 2. 17. Hình ảnh giao diện màn hình tôi
Màn hình tôi cho phép: Sửa thông tin, thay đổi password, đăng xuất.
3.3.2. Giao diện app Ship
36
Hình 2. 18. Hình ảnh giao diện màn hình chính
Màn hình chính được thể hiện trong hình bao gồm các lựa chọn về:
- Đơn hàng đã hoàn thành
- Đơn hàng đang được giao
- Vào phiên làm việc
- Edit profile
- Đăng xuất
Màn hình đơn hàng đã hoàn thành
Hiển thị danh sách đơn hàng đã hoàn thành
37
Hình 2. 19. Hình ảnh giao diện danh sách đơn hoàn thành
38
Hình 2. 20. Hình ảnh giao diện đơn hàng đang giao
39
Hình 2. 21. Hình ảnh giao diện khi nhấn vào đơn hàng
Khi nhấn giao tới app sẽ tự động chuyển sang app Google Maps
Khi nhấn vào hoàn thành đơn hàng sẽ được chuyển vào đơn hàng đã hoàn
thành
40
Hình 2. 22. Hình ảnh giao diện bản đồ phiên làm việc
- Khi nhấn vào biểu tượng mũi tên màu cam sẽ hiện ra giao diện địa chỉ khách hàng
41
Hình 2. 23. Hình ảnh giao diện khi nhấn vào địa chỉ khách hàng
- Khi nhấn vào nút chỉ đường sẽ chuyển sang app Google Maps
42
KẾT LUẬN
1. Kết quả đạt được
● Sau một thời gian tập trung triển khai đề tài, nhóm đã hoàn thành được app
Order Food với giao diện đẹp, các thao tác sử dụng dễ dàng, thân thiện với người
dùng.
● Phần mềm có thể ứng dụng thực tiễn đối với tất cả mọi người.
● Nắm được các bước xây dựng một app đặt đồ ăn đúng quy trình.
● Bên cạnh đó, nhóm cũng được mở rộng thêm các kiến thức chuyên ngành
mới nhờ việc tìm hiểu một số kiến thức lập trình để áp dụng vào việc phát triển ứng
dụng này. Nhờ vậy, kỹ năng tự học và vận dụng các kỹ năng mới của nhóm được
nâng cao hơn.
● Khi thực hiện và hoàn thành dự án, nhóm cũng đã biết thêm được nhiều kinh
nghiệm quý giá khi xây dựng app nói riêng và lập trình android. Những kỹ năng này
sẽ nền tảng để giúp nhóm em nâng cao trình độ bản thân, kinh nghiệm trong thực tế
để có thể làm việc ngoài các doanh nghiệp sau này.
2. Hạn chế của đề tài
Phần mềm xây dựng app Order Food tuy đã hoàn thành xong vẫn không tránh
khỏi những thiếu sót cũng như những hạn chế nhất định:
● Tiếp tục bổ sung những chức năng mà app chưa có để app có thể ứng dụng
rộng rãi trong mọi cửa hàng.
● Tiếp tục hoàn thiện chương trình hi vọng có thể đáp ứng được mọi nhu cầu
của người sử dụng.
43
TÀI LIỆU THAM KHẢO
Các trang web tham khảo:
[1] https://docs.oracle.com/en/java/
[2] https://www.sqlite.org/docs
[3] http://wab-component.com/cong-cu-tao-ung-dung-android/
[4] https://snapcraft.io/android-studio
44