Tải bản đầy đủ (.pdf) (41 trang)

Báo cáo bài tập lớn đề tài xây dựng ứng dụng đặt đồ ăn online (food app)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.94 MB, 41 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THƠNG VIỆT-HÀN

Khoa Khoa Học Máy Tính

BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐẶT ĐỒ ĂN
ONLINE (FOOD APP)

Sinh viên thực hiện :

HUỲNH PHÚ NHUẬN

Mã: 21IT365

Giảng viên hướng dẫn: ThS. TRỊNH THỊ NGỌC LINH

Đà nẵng, tháng 5 năm 2023
🙢🙢🙢


ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THƠNG VIỆT-HÀN

Khoa Khoa Học Máy Tính

BÁO CÁO BÀI TẬP LỚN


ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐẶT ĐỒ ĂN
ONLINE (FOOD APP)

Sinh viên thực hiện :

HUỲNH PHÚ NHUẬN

Mã: 21IT365

Giảng viên hướng dẫn: ThS. TRỊNH THỊ NGỌC LINH

i


Đà nẵng, tháng 5 năm 2023

ii


MỞ ĐẦU
Ngày nay, việc tìm kiếm thơng tin trở nên thật dễ dàng cho người sử
dụng, chỉ cần có một máy tính kết nối internet và một dịng dữ liệu truy tìm thì
gần như lập tức… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy
đủ thơng tin, hình ảnh và đơi lúc có những âm thanh nếu bạn cần.
Cuộc sống ngày một hiện đại hơn, nhu cầu đặt đồ ăn, thức uống qua các
trang web cũng như ứng dụng ngày càng tăng cao và phổ biển. Từ những kiến
thức học được thì em đã tìm hiểu và thực hiện đề tài “Xây dựng ứng dụng đặt đồ
ăn Online”. Ứng dụng sẽ là nơi cung cấp nguồn thơng tin hữu ích. Tất tần tật
mọi thông tin mà bạn mong muốn truyền tải đến khách hàng đều có thể thơng
qua ứng dụng và website.


ii


LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được
bày tỏ lòng biết ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ,
gúp đỡ em trong suốt quá trình học tập và nghiên cứu đề tài này. Trong suốt
thời gian từ khi bắt đầu học tập tại trường đến nay, em đã nhận được rất nhiều
sự quan tâm, giúp đỡ của quý Thầy cô và bạn bè. Với lòng biết ơn sâu sắc
nhất, em xin gửi đển q thầy cơ khoa Khoa học máy tính đã truyền đạt vốn
kiến thức quý báy cho chúng em trong suốt thời gian học tập tại trường. Nhờ
có những lời hướng dẫn, dạy bảo của các thầy cô nên đề tài nghiên cứu của em
mới có thể hồn thiện tốt đẹp.
Đặc biệt, em xin chân thành cảm ơn cô ThS. Trịnh Thị Ngọc Linh đã hỗ
trợ cho em trong suốt quá trình làm đề tài này. Nhờ có những lời hướng dẫn
tận tình của các thầy nên đề tài nghiên cứu của em mới có thể hồn thành một
cách tốt đẹp.
Trong quá trình xây dựng đề tài, cũng như là trong q trình làm bài
báo cáo, khó tránh khỏi sai sót, rất mong các thầy, các cô bỏ qua. Đồng thời do
trình độ lý luận cũng như kinh nghiệm thực tiễn cịn hạn chế nên bài báo cáo
khơng thể tránh khỏi những thiếu sót, em rất mong nhận được ý kiến đóng góp
thầy, cơ để em học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt hơn các
bài báo cáo đồ án khi học tại trường.
Em xin chân thành cảm ơn!

iii


NHẬN XÉT

(Của giảng viên hướng dẫn)
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
Đà nẵng, ngày … tháng … năm 2023

Chữ kí giảng viên


ThS. Trịnh Thị Ngọc Linh

iv


MỤC LỤC
MỞ ĐẦU..............................................................................................................ii
LỜI CẢM ƠN....................................................................................................iii
NHẬN XÉT........................................................................................................iv
DANH MỤC HÌNH ẢNH................................................................................vii
CHƯƠNG 1: GIỚI THIỆU VỀ DỰ ÁN...........................................................1
1.1 Tên dự án..................................................................................................1
1.2 Người thực hiện........................................................................................1
1.3 Giới thiệu về dự án...................................................................................1
1.4 Lý do chọn đề tài......................................................................................1
1.5 Sự khác biệt..............................................................................................1
1.6 Tổng quan.................................................................................................2
CHƯƠNG 2: KIẾN THỨC TỔNG QUAN......................................................3
2.1 Cơ sở lý luận thực tiễn.............................................................................3
2.1.1 Ứng dụng di động là gì............................................................................3
2.1.2 Lợi ích của ứng dụng di động.................................................................3
2.1.3 Tổng quan về XAMPP............................................................................4
2.1.4 Tổng quan về Firebase............................................................................5
2.1.5 Room Database........................................................................................6

2.2 Ngơn ngữ lập trình di động.....................................................................7
2.2.1 Ngơn ngữ trong lập trình ứng dụng.......................................................7
2.2.2 Tổng quan về IDE Android Studio........................................................9

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.............................11

3.1 Use case diagram....................................................................................11
3.2 Class diagram.........................................................................................12
3.3 Activity diagram.....................................................................................13
3.4 State diagram..........................................................................................14
3.5 Sequence diagram..................................................................................14
3.6 Database..................................................................................................15
CHƯƠNG 4: CHI TIẾT DỰ ÁN.....................................................................17
4.1 Giao diện người dùng.............................................................................17
4.1.1 Giao diện bắt đầu (Splash Screen).......................................................17

v


4.1.2 Giao diện màn hình chính.....................................................................18
4.1.3 Giao diện danh mục...............................................................................19
4.1.4 Giao diện lịch sử mua hàng..................................................................20
4.1.5 Giao diện mục yêu thích........................................................................21
4.1.6 Giao diện cá nhân..................................................................................22
4.1.7 Giao diện giỏ hàng.................................................................................23
4.1.8 Giao diện chọn mã giảm giá.................................................................24
4.1.9 Giao diện thêm địa chỉ..........................................................................25
4.1.10 Giao diện đặt hàng...............................................................................26
4.1.11 Giao diện tìm kiếm...............................................................................27
4.1.12 Giao diện Dialog sản phẩm.................................................................28
4.1.13 Giao diện chi tiết sản phẩm................................................................29
4.1.14 Giao diện chi tiết đơn hàng.................................................................30

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỄN...............................31
5.1 Kết quả đạt được....................................................................................31
5.2 Nhận xét về ưu, nhược điểm của website.............................................31

5.3 Hướng phát triển....................................................................................31
TÀI LIỆU THAM KHẢO................................................................................32

vi


DANH MỤC HÌNH ẢNH
Hình 1: Các ngơn ngữ tạo nên ứng dụng di động.......................3
Hình 2: Logo XAMPP................................................................5
Hình 3: Cơ sở dữ liệu Firebase...................................................5
Hình 4: Logo IDE Android Studio............................................10
Hình 5: Usecase diagram..........................................................11
Hình 6: Class diagram...............................................................12
Hình 7: Activity diagram..........................................................13
Hình 8: State Diagram..............................................................14
Hình 9: Sequence diagram........................................................14
Hình 10: Cơ sở dữ liệu..............................................................15
Hình 11: Mối quan hệ các bảng................................................16
Hình 12: Splash Screen.............................................................17
Hình 13: Giao diện màn hình chính.........................................18
Hình 14: Giao diện danh mục...................................................19
Hình 15: Giao diện lịch sử đặt hàng.........................................20
Hình 16: Giao diện sản phẩm u thích....................................21
Hình 17: Giao diện thơng tin cá nhân.......................................22
Hình 18: Giao diện giỏ hàng.....................................................23
Hình 19: Giao diện nhập mã giảm giá......................................24
Hình 20: Giao diện thêm địa chỉ...............................................25
Hình 21: Giao diện đặt hàng.....................................................26
Hình 22: Giao diện tìm kiếm sản phẩm....................................27
Hình 23: Giao diện Dialog sản phẩm........................................28

Hình 24: Giao diện chi tiết sản phẩm.......................................29
Hình 25: Giao diện chi tiết đơn hàng........................................30
vii


CHƯƠNG 1: GIỚI THIỆU VỀ DỰ ÁN
1.1 Tên dự án
- Xây dựng ứng dụng đặt đồ ăn online (Food App).
1.2 Người thực hiện
- Tên nhóm trưởng: Huỳnh Phú Nhuận
- Mã sinh viên: 21IT365
- Lớp: 21SE5
1.3 Giới thiệu về dự án
Ngày nay, công nghệ thông tin trở thành một tri thức rất quan trọng đối
với mỗi con người chúng ta. Vì vậy chúng ta phải cập nhật chúng một cách
liên tục. Internet là một phần không thể thiếu để hỗ trợ cho việc tìm kiếm. Đó
là một nơi để mỗi cá nhân, đồn thể thơng qua việc thiết kế trang web, ứng
dụng để giới thiệu về lĩnh vực mình, ứng dụng đặt đồ ăn, thức uống do em tìm
hiểu và phát triển với mục tiêu ban đầu là phục vụ cho học tập và mong muốn
sau này có thể ứng dụng vào thực tế. Ứng dụng có thể đáp ứng được các nhu
cầu cơ bản của người dùng, Mang tính chất tham khảo là chủ yếu, em sẽ cố
gắng tiếp tục điều chỉnh trong thời gian sắp tới.
1.4 Lý do chọn đề tài
Nhịp sống hiện đại bận rộn dẫn đến những thay đổi đáng kể trong thói
quen ăn uống của nhiều người, thay vì nấu nướng, hay là ra quan thì họ chọn
giải pháp giao hàng tận nơi. Những bữa ăn tiện lợi nhanh chóng đang là sự lựa
chọn của nhiều người. Tại Việt Nam đã và đang sử dụng các dịch vụ giao đồ
ăn nhanh. Thời gian chủ yếu tập trung vào các bữa trưa, ăn tối trong tuần.sd
1.5 Sự khác biệt
Em đưa ra sản phẩm ứng dụng mà được tìm hiểu, chọn lọc từ những

những cái hay cái mới của các ứng dụng đã có và những yếu tố mà khách hàng
mong muốn để đưa ra một ứng dụng có thể nói là hồn tồn khác biệt với và
đáp ứng các nhu cầu mà những nơi khác chưa thực hiện được. Đặc biệt, đây là
ứng dụng được tạo ra với mục đích phi thương mại.

1


1.6 Tổng quan
Với những nội dung trên em bước đầu đã tạo ra được ứng dụng có các phần
sau:
-

Trang chủ: Nơi giới thiệu chung và tổng quan về ứng dụng.
Trang tìm kiếm: Đưa ra thơng tin các món ăn, thức uống, người dùng có
thể lựa chọn, tìm kiếm các món ăn theo mức giá, danh mục một cách nhanh
chóng.

-

Trang thơng tin món ăn, đồ uống: Là trang cung cấp đầy đủ thông tin về
sản phẩm mà khách hàng lựa chọn như giá, chất lượng, các món tương tự.

-

Trang lịch sử đặt hàng: Là trang sẽ đưa ra các chi tiết đơn chờ duyệt, đơn
đang giao, đơn hoàn thành và đơn hủy.

-


Trang giỏ hàng: Là trang quản lý giỏ hàng của khách hàng, thêm số lượng,
xóa, nhập mã giảm giá.

-

Trang đặt món: Là trang để điền thơng tin, đưa ra các u cầu, thanh tốn
và xác nhận đặt món với nhiều phương thức thanh toán khác nhau như là
chuyển khoản ngân hàng, quét mã QR-Pay, sử dụng thẻ ATM, thẻ Visa,
Master Card, trả sau.

2


CHƯƠNG 2: KIẾN THỨC TỔNG QUAN
2.1 Cơ sở lý luận thực tiễn
2.1.1 Ứng dụng di động là gì

Ứng dụng di động hay còn được biết đến với cái tên App mobile, có thể
được xem như các chương trình phần mềm được thiết kế tương thích trên từng
hệ điều hành khác nhau. Ứng dụng được tạo ra nhằm phục vụ các nhu cầu của
con người như: giải trí, mua sắm hay xem tin tức...Xã hội ngày càng phát triển,
cùng với đó là lượng người sử dụng điện thoại di động tăng lên đáng kể. Nắm
bắt được tình hình đó, các cơng ty chuyênvề lĩnh vực công nghệ tập trung phát
triển về mảng này nhiều hơn để thỏa mãn nhu cầu sử dụng của khách hàng.
Các ứng dụng mobile còn được áp dụng vàocác ngành nghề như: thương mại
điện tử, lĩnh vực làm đẹp, giáo dục, buôn bán và trong hoạt động vận chuyển.
Mỗi hệ điều hành sẽ có riêng một ngơn ngữ để viết các chương trình. Khi sử
dụng đúng loại ngơn ngữ lập trình của nó thì các ứng dụng mới có thể hoạt
động tốt được.
 Ngơn ngữ lập trình cho Android bao gồm: Java, Kotlin.

 Đối với hệ điều hành IOS, sử dụng ngơn ngữ lập trình Swift, Objective-C.

Hình 1: Các ngôn ngữ tạo nên ứng dụng di động
2.1.2 Lợi ích của ứng dụng di động

Ứng dụng di động là một phần không thể thiếu trong cuộc sống hiện
đại, chúng mang lại rất nhiều lợi ích như:

3


 Tiện lợi: Bất cứ ai cũng có thể sử dụng ứng dụng di động bất cứ khi nào
cần thiết, khơng cần phải sử dụng máy tính hoặc điện thoại cổ điển.
 Tăng cường khả năng kết nối: Ứng dụng di động cho phép bạn kết nối với
nhiều người từ khắp nơi trên thế giới, đồng thời cung cấp cho bạn các
công cụ để trao đổi thông tin và tương tác.
 Nâng cao hiệu suất làm việc: Nhiều ứng dụng di động được thiết kế để
giúp người dùng quản lý thời gian và công việc của họ. Chúng cũng cung
cấp các công cụ để theo dõi tiến độ và đạt được các mục tiêu.
 Tăng cường giải trí: Ứng dụng di động mang đến rất nhiều lựa chọn giải
trí như chơi game, nghe nhạc, xem phim và đọc sách, tất cả chỉ trong một
chiếc điện thoại.
 Tiết kiệm thời gian: Việc sử dụng ứng dụng di động giúp tiết kiệm thời
gian và cơng sức của người dùng trong việc tìm kiếm thông tin và thực
hiện các giao dịch trực tuyến.
 Tăng cường an ninh: Nhiều ứng dụng di động được thiết kế để đảm bảo
tính bảo mật và an tồn cho người dùng. Chúng cung cấp các tính năng để
bảo vệ thông tin cá nhân của người dùng và ngăn chặn các hoạt động gian
lận.
Tóm lại, ứng dụng di động có rất nhiều lợi ích và đã trở thành một phần không

thể thiếu trong cuộc sống của chúng ta.
2.1.3 Tổng quan về XAMPP
Phần mềm Xampp là một trong những phần mềm được nhiều lập trình
viên sử dụng để thiết lập website theo ngơn ngữ PHP. XAMPP có cơng dụng
thiết lập web server có cài đặt sẵn các cơng cụ như PHP, Apache, MySQL…
Xampp sở hữu thiết kế giao diện thân thiện với người dùng, cho phép các lập
trình viên có thể đóng mở hoặc reboot các tính năng của server mọi lúc. Ngoài
ra, Xampp cũng được xây dựng theo source code mở. Đánh giá một cách tổng
thể, Xampp được đánh giá là một trong những phần mềm trọng yếu trong việc
xây dựng website dành cho các lập trình viên PHP. Xampp cài đặt các thành tố
trọng yếu, hỗ trợ lẫn nhau bao gồm:

4


 Apache.
 PHP (thiết lập nền tảng để các tập tin script *.php hoạt động).
 MySql (hệ quản trị dữ liệu).
 Perl.

Hình 2: Logo XAMPP

2.1.4 Tổng quan về Firebase
Firebase chính là một dịch vụ cơ sở dữ liệu được hoạt động ở trên nền
tảng đám mây (Cloud). Đi kèm với đó là một hệ thống máy chủ mạnh mẽ của
Google. Hệ thống có chức năng chính là giúp cho người dùng có thể lập trình
ứng dụng thơng qua cách đơn giản hóa những thao tác với các cơ sở dữ liệu.

Hình 3: Cơ sở dữ liệu Firebase


Hoạt động và chức năng hiện tại của Firebase:
 Firebase Authentication

5


Hoạt động nổi trội nhất của Firebase chính là xây dựng những bước xác
dụng người dùng thông qua Email, Facebook, Twitter, GitHub hay Google.
Ngoài ra, hoạt động Firebase Authentication cũng hỗ trợ xác thực nặc danh
cho những ứng dụng. Hoạt động xác thực của Firebase có thể giúp cho thơng
tin cá nhân của những người sử dụng được an toàn hơn. Điều này cũng đảm
bảo tài khoản và các thông tin cá nhân của người dùng không bị đánh cắp.
 Firebase Hosting
Cách thức hoạt động tiếp theo được nhắc đến là Firebase Hosting. Đây
là một hoạt động được phân phối thông qua tiêu chuẩn công nghệ bảo mật SSl
từ hệ thống mạng CDN.
CDN chính là cụm từ viết tắt của Content Delivery Network chính là
một mạng lưới máy chủ giúp lưu giữ lại các bản sao của các nội dung tĩnh,
Những nội dung tĩnh này nằm ở bên trong website và trực tiếp phân phối đến
các máy chủ PoP khác. Mạng lưới của máy chủ CDN được thiết đặt ở khắp nơi
trên thế giới. Từ máy chủ Pop – Points of Presence, nguồn dữ liệu sẽ được gửi
đi đến những người dùng cuối cùng.
 Firebase Realtime Database
Firebase Realtime Database có dạng một JSON đã được đồng bộ thời
gian đến với tất cả các kết nối client. Để có được hoạt động này thì các lập
trình viên cần phải đăng ký tài khoản ở trên Firebase. Dữ liệu ở trong database
sẽ tự động cập nhật một cách liên tục khi phát triển ứng dụng. Sau khi đã được
cập nhật thì những dữ liệu này sẽ được truyền tải thông qua các kết nối SSl có
2048 bit.
2.1.5 Room Database

- Giới thiệu:
Room database được phát triển và cải tiến từ sqlite. Room database giúp đơn
giản hố việc code, và giảm thiểu các cơng đoạn liên quan đến cơ sở dữ liệu. Bản

6


chất Room database là abstract layer gồm cơ sở dữ liệu chuẩn SQLite đượcAndroid
thơng qua với 3 thành phần chính là: Database, DAO (Data Access Object) và entity.
Mỗi thành phần đều có nhiệm vụ và chức năng riêng.
- Đặc điểm:

Framework chính (Sqlite Database) cung cấp các built-in support cho
các trườnghợp làm việc với các nội dung SQL thô. Mặc dù các API này khá
mạnh mẽ nhưng chúnglại tương đối low-level và yêu cầu khá nhiều thời gian
và nỗ lực để sử dụng: Khơng có xác thực các câu truy vấn SQL ở thời điểm
compile-time. Khi data graphthay đổi thì dev sẽ phải cập nhật lại các câu truy
vấn SQL thủ công. Việc này khá mất thờigian và xác suất gặp lỗi trong quá
trình khá lớn.
- Dao (Data Access Objects)

Đây là component đại diện cho lớp hoặc interface như một đối tượng
truy cập dữ liệu (DAO). DAO là thành phần chính của Room là chịu trách
nhiệm trong việc địnhnghĩa các phương thức truy cập CSDL. Các lớp được
chú thích với @Database phải chứa một phương thức trừu tượng có số lượng
đối số truyền vào là 0 và đối tượng trả về là đốitượng của lớp được chú thích
bởi @Dao. Khi code được sinh ra ở thời điểm biên dịch thì Room sẽ tạo một
implementation của class này

2.2 Ngơn ngữ lập trình di động

2.2.1 Ngơn ngữ trong lập trình ứng dụng
 Lập trình Android bằng Kotlin
Trong hướng dẫn lập trình Android cơ bản, Kotlin là ngơn ngữ lập trình
được ưu tiên của Android. Đây là một ngơn ngữ lập trình đa nền tảng được
phát triển bởi đội ngũ lập trình viên Jetbrains.
Ngơn ngữ lập trình này được phát hành năm 2011 và năm 2017, Google đã
tuyên bố sẽ ưu tiên hỗ trợ hàng đầu cho Kotlin.

7


 Lập trình Android bằng Java
Được ra mắt từ sớm, Java trở thành ngơn ngữ phổ biến nhất trong lập
trình Android. Bạn hồn tồn có thể sử dụng Android Studio trong giai đoạn
lập trình.
Android SDK sẽ được tự động cài đặt trong bước cuối cùng của quá trình cài
đặt chương trình. Google khuyến khích cộng đồng Android sử dụng Android
Studio khi lập trình bằng Java.
 Lập trình Android bằng C++
C++ là một ngơn ngữ low- level, tương thích với phần cứng. Việc lập
trình bằng C++ sẽ giúp bạn tốn ít tài nguyên phần cứng hơn. Hiệu suất được
nâng cao và chương trình của bạn sẽ chạy nhanh hơn.
 Lập trình Android bằng Python
Nếu bạn là người mới thì Python là sự lựa chọn dành cho bạn. Ngôn
ngữ này sẽ không yêu cầu bạn cài đặt thêm quá nhiều công cụ và đơn giản các
bước lập trình của bạn.
Việc chạy thử cũng trở nên dễ dàng hơn khi bạn có thể chạy thử ngay trực tiếp
trên thiết bị Android của mình. Khi đã làm quen với ngơn ngữ lập trình
Python, bạn hồn tồn có thể tự thiết kế cho bản thân một phiên bản APK hồn
chỉnh.

 Lập trình Android bằng C#
Được phát triển bởi Microsoft, C# là một ngôn ngữ lập trình hướng đối
tượng đa năng. Các ứng dụng trong Windows truyền thống, mã nguồn của
chương trình được dịch trực tiếp thành mã thực thi của hệ điều hành.
Được ra đời từ những năm 2000, C# trở thành thứ ngôn ngữ lập trình đơn giản
với khoảng 80 từ khóa và một hệ thống dữ liệu được dựng sẵn.
Vì là một ngơn ngữ đơn giản, C# cũng tồn tại một số nhược điểm như: Chỉ
chạy trên nền Windows và có cài .NET Framework, thao tác đối với phần cứng
yếu, phần nhiều phụ thuộc vào Windows

8


 Lập trình Android bằng Draft
Đây là ngơn ngữ lập trình đơn giản được kế thừa và phát triển trên các nền
tảng ngơn ngữ C++, C#. Ít được phổ biến hơn nhưng với những tính năng ưu
việt của Draft rất đáng để bạn tìm hiểu.
 Lập trình Android bằng Lua
Lua – Theo tiếng Bồ Đào Nha cịn có nghĩa là mặt trăng. Ngơn ngữ lập trình
này có đặc điểm nhỏ gọn, đa nền tảng và không phụ thuộc vào phần cứng. Vậy
nên Lua có cấu trúc linh động, ít dư thừa dễ dàng sử dụng và test.
2.2.2 Tổng quan về IDE Android Studio
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.
Khi sử dụng Android Studio thì bạn chỉ cần viết, chỉnh sửa và lưutrữ
chúng trên các dự án của mình và các file nằm trong dự án đó. Đồngthời,
Android Studio cịn cung cấp quyền truy cập vào Android SDK.

Ngồi ra, bạn có thể xem Android Studio là đi cho code Java cho
phép nó chạy trơn tru trên các thiết bị Android rồi tận dụng được lợi thế của
phần cứng gốc. Bạn chỉ cần sử dụng ngôn ngữ lập trình Java để có thể viết
chương trình, khi đó Android SDK sẽ có nhiệm vụ kết nối các phần này lại với
nhau.
Khi đó, Android Studio sẽ kích hoạt để thực hiện chạy code vàthơng
qua trình giả lập hoặc dựa vào bất kỳ phần cứng giúp kết nối với thiết bị. Sau
đó, bạn có thể gỡ rối cho chương trình của mình ngay khi nó chạy và nhận
phản hồi giúp giải thích các sự cố, ...

9


Cho đến hiện nay, Google đã và đang rất nỗ lực để giúp cho Android
Studio sẽ trở nên mạnh mẽ và hữu ích hơn. Khi bạn gõ code, nó sẽ giúp bạn
cung cấp danh sách gợi ý hoàn thành để giúp người dùng cóthể hồn thiện
được dịng code đó. Đây là một trong những chức năng rất hữu ích đề phịng
cho trường hợp người dùng khơng nhớ chính xác cú pháp giúp bạn tiết kiệm
thời gian hiệu quả hơn.

Hình 4: Logo IDE Android Studio

10


CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Use case diagram
+ Actor người dùng: bao gồm các use case như đăng ký, tìm kiếm, xem sản
phẩm, xem lịch sử đặt hàng, đặt hàng,..Khi người dùng muốn thao tác các
chức năng trên ứng dụng thì phải bắt buộc đăng nhập.


Hình 5: Usecase diagram

11


3.2 Class diagram

Hình 6: Class diagram

12


3.3 Activity diagram
- Mô tả activity diagram đăng nhập, đăng ký của người dùng: khi bắt đầu vào
ứng dụng người dùng muốn sử dụng các chức năng của ứng dụng thì phải đăng
nhập hoặc đăng ký.
+ Đăng ký: nếu người dùng khơng có tài khoản thì sẽ phải đăng ký và nếu
đăng ký thành cơng thì sẽ đi tới trang chủ và hiển thị thông tin tài khoản của
người dùng, cịn nếu đăng ký khơng thành cơng thì người dùng sẽ phải đăng
ký lại từ đầu.
+ Đăng nhập: nếu người dùng đã có một tài khoản trước đó thì người dùng
phải đăng nhập và nhập đúng mật khẩu và tài khoản đã đăng ký trước đó. Nếu
mà đăng nhập thành cơng thì sẽ đi tới trang chủ và hiển thị thơng tin tài khoản
của người dùng, cịn nếu đăng nhập thất bại thì người dùng phải thực hiện lại.

Hình 7: Activity diagram

13



3.4 State diagram

Hình 8: State Diagram

3.5 Sequence diagram

Hình 9: Sequence diagram

14


3.6 Database

- Trang web gồm 12 bảng cơ bản
+ Bảng tbl_admin: chứa thông tin tài khoản của admin.
+ Bảng tbl_category: chứa các thông tin về các thể loại.
+ Bảng tbl_coupon: chứa thông tin mã giảm giá.
+ Bảng tbl_customers: chứa thông tin khách hàng.
+ Bảng fee_ship: chứa thơng tin về phí vận chuyển.
+ Bảng tbl_food: chứa thơng tin về món ăn.
+ Bảng tbl_news: chứa thông tin về bài viết.
+ Bảng tbl_order: chứa thông tin về đơn đặt hàng.
+ Bảng tbl_order_details: chứa thông tin về chi tiết đơn hàng.
+ Bảng tbl_payment: chứa thơng tin về hình thức thanh tốn.
+ Bảng tbl_slider: chứa thông tin về thư viện ảnh.
+ Bảng tbl_shipping: chứa thông tin về thơng tin vận chuyển.

Hình 10: Cơ sở dữ liệu


15


Hình 11: Mối quan hệ các bảng

16


×