1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn Đề tài xây dựng ứng dụng Đặt Đồ ăn

40 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 6,48 MB

Nội dung

Nhờ những gì cô đã giảng dạy thì chúng em có đủ kiến thức để bắt tay vô hoàn thành một đồ án, màn hình bị cho mình những hành trang vô cùng đắt giá này và tin rằng môn học Lập trình trên

Trang 1

ĐẠ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

Sinh viên thực hiện : PHẠM VĂN TOẢN Mã sv: 21IT112

LÊ ĐĂNG THÀNH Mã sv: 21IT654

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

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

Trang 2

ĐẠ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 : PHẠM VĂN TOẢN Mã sv: 21IT112

LÊ ĐĂNG THÀNH Mã sv: 21IT654

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

Trang 3

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

Trang 4

MỞ ĐẦU

Ngày nay, công nghệ thông tin càng ngày càng phát triển cùng với thị trường thương mại điện tử đang ngày càng nở rộ, cạnh tranh hơn, khốc liệt hơn Với mong muốn phát triển một ứng dụng thương mại điện tử với những công nghệ tân tiên nhất

so với mặt bằng thị trường bấy giờ Với mục tiêu trên thì trọng tâm của đồ án này sẽ đi sâu phát triển một ứng dụng android đặt

đồ ăn online Với xu hướng hiện tại thì người với sự tiện nghi và nhanh của nhiều dịch vụ giao hàng nhanh , người người, nhà nhà đều muốn một dịch vụ nhanh gọn và không phải đi ra ngoài để

có thể có một bữa ăn ngon Vì thế nên việc ra đời một ứng dụng

để đặt đồ ăn online như này càng là một việc hết sức cần thiết Vì

lí do đó nên nhóm chúng em đã bắt tay vào và cùng nhau xây dựng lên ứng dụng này với mong muốn có thể giúp ích được một phần nào đó cho thị trường kinh tế ngày nay…

Trang 5

LỜI CẢM ƠN

Xin cảm ơn ThS Trịnh Thị Ngọc Linh hướng dẫn, truyền đạt những kiến thức bổ ích liên quan tới ngành học một cách hiệu quả và dể tiếp cận trong thời gian qua, giúp chúng em nhìn

ra cũng như hiểu ra được rất nhiều điều đã thắc mắc trong những lần đã được thầy hướng dẫn Nhờ những gì cô đã giảng dạy thì chúng em có đủ kiến thức để bắt tay vô hoàn thành một

đồ án, màn hình bị cho mình những hành trang vô cùng đắt giá này và tin rằng môn học Lập trình trên thiết bị di động này sẽ giúp rất nhiều cho việc phát triển các phần mềm di động sau này một cách hiện đại, tiên tiến, nhanh chóng, hiệu quả Cô là một người có nhiệt huyết với nghề, cô đã không tiếc chia sẽ những kinh nghiệm quý báu của mình, những kinh nghiệm được rút ra từ thành công lẫn thất bại cho những sinh viên mà thầy đã từng giảng dạy Chúng em xin chân thành cảm ơn cô rất nhiều!

Trang 6

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

Trang 7

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

Trang 8

4.1 Giới thiệu về đề tài 17

4.1.1 Môi Trường Cài Đặt 17

CHƯƠNG 5: Mô TẢ VÀ HƯỚNG DẪN SỬ DỤNG ỨNG DỤNG 18

4.1.3 Màn hình danh mục và màn hình sản phẩm 19

4.1.4 Màn hình chi tiết sản phẩm 20

4.1.5 Màn hình giỏ hàng 21

4.1.7 Màn hình thanh toán 23

4.1.9 Màn hình thông báo 25

4.1.11 Màn hình giới thiệu chung 26

4.1.12 Màn hình liên hệ 27

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỄN 30

5.1 Kết quả đạt được 30

TÀI LIỆU THAM KHẢO 31

Trang 9

DANH MỤC HÌNH ẢNH

Hình 3: Các ngôn ngữ tạo nên ứng dụng di động 3

Hình 4: Logo XAMPP 5

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

Hình 6: Logo IDE Android Studio 10

Hình 7: Usecase diagram 11

Hình 8: Class diagram 12

Hình 9: Activity diagram 13

Hình 10: State Diagram 14

Hình 11: Sequence diagram 14

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

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

Hình 14: Giao diện màn hình chủ 18

Hình 15 19

Hình 16: Giao diện danh mục và màn hình sản phẩm 19

Hình 17: Giao diện màn hình chi tiết sản phẩm 20

Hình 18: Giao diện màn hình giỏ hàng và thao tác với giỏ hàng 21

Hình 19: Xóa trống giỏ hàng 22

Hình 20: Yêu cầu chọn món trước khi thanh toán 23

Hình 21: Giao diện màn hình thanh toán và báo lỗi nhập liệu 24 Hình 22:Màn hình thông báo thành công 25

Hình 23: Cơ sở dữ liệu khi thanh toán thành công 26

Hình 24: Màn hình giới thiệu chung 26

Hình 25: Màn hình liên hệ 27

Hình 26: Màn hình liên hệ 28

Hình 27: Nhắn gửi thành công và hiển thị 29

Trang 10

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 đốivớ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áchliê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, đoàn thể thông qua việc thiết kế trang web, ứngdụng để giới thiệu về lĩnh vực mình, ứng dụng đặt đồ ăn, thức uống do em tìmhiể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ốnsau này có thể ứng dụng vào thực tế Ứng dụng có thể đáp ứng được các nhucầ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óiquen ăn uống của nhiều người, thay vì nấu nướng, hay là ra quan thì họ chọngiả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ựachọ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ữngnhữ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àngmong muốn để đưa ra một ứng dụng có thể nói là hoàn toà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

Trang 11

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ầnsau:

- 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 nhanhchó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 yêu cầu, thanh toá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

Trang 12

CHƯƠNG 2: KIẾN THỨC TỔNG QUAN

2.1 Cơ sở lý luận thực tiễn

 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ư:

Trang 13

 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àocầ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ớinhiều người từ khắp nơi trên thế giới, đồng thời cung cấp cho bạn cáccô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 cungcấ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ảitrí như chơi game, nghe nhạc, xem phim và đọc sách, tất cả chỉ trong mộtchiế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ờigian và công sức của người dùng trong việc tìm kiếm thông tin và thựchiệ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ảotính bảo mật và an toà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 gianlậ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ôngthể 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ìnhviên sử dụng để thiết lập website theo ngôn ngữ PHP XAMPP có công dụngthiế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ậptrì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ổngthể, Xampp được đánh giá là một trong những phần mềm trọng yếu trong việcxâ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:

Trang 14

 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)

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

Trang 15

Hoạt động nổi trội nhất của Firebase chính là xây dựng những bước xácdụ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 danhcho những ứng dụng Hoạt động xác thực của Firebase có thể giúp cho thôngtin cá nhân của những người sử dụng được an toàn hơn Điều này cũng đảmbả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 đếncác máy chủ PoP khác Mạng lưới của máy chủ CDN được thiết đặt ở khắp nơitrê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ờigian đến với tất cả các kết nối client Để có được hoạt động này thì các lậptrì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 đã đượccậ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ó

Trang 16

chất Room database là abstract layer gồm cơ sở dữ liệu chuẩn SQLite đượcAndroidthô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 chocá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ểmcompile-time Khi data graphthay đổi thì dev sẽ phải cập nhật lại các câu truyvấ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ượngtruy cập dữ liệu (DAO) DAO là thành phần chính của Room là chịu tráchnhiệm trong việc địnhnghĩa các phương thức truy cập CSDL Các lớp đượcchú 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íchbởi @Dao Khi code được sinh ra ở thời điểm biên dịch thì Room sẽ tạo mộtimplementation của class này

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

Trang 17

 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ậptrình Android Bạn hoàn toàn có thể sử dụng Android Studio trong giai đoạnlậ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 AndroidStudio 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ậptrì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 đượcnâ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ônngữ 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ácbướ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ếptrên thiết bị Android của mình Khi đã làm quen với ngôn ngữ lập trìnhPython, bạn hoàn toàn có thể tự thiết kế cho bản thân một phiên bản APK hoànchỉ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 đốitượng đa năng Các ứng dụng trong Windows truyền thống, mã nguồn củachươ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ảnvớ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ứngyếu, phần nhiều phụ thuộc vào Windows

Trang 18

 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ềntảng ngôn ngữ C++, C# Ít được phổ biến hơn nhưng với những tính năng ưuviệ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ìnhnà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ậynê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 ứngdụ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áccông cụ file phức tạp sau hậu trường Ngôn ngữ lập trình được sử dụng trongAndroid 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

Ngoài ra, bạn có thể xem Android Studio là đuôi cho code Java chophé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ủaphần cứng gốc Bạn chỉ cần sử dụng ngôn ngữ lập trình Java để có thể viếtchương trình, khi đó Android SDK sẽ có nhiệm vụ kết nối các phần này lại vớinhau

Khi đó, Android Studio sẽ kích hoạt để thực hiện chạy code vàthôngqua 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ậnphản hồi giúp giải thích các sự cố,

Trang 19

Cho đến hiện nay, Google đã và đang rất nỗ lực để giúp cho AndroidStudio sẽ trở nên mạnh mẽ và hữu ích hơn Khi bạn gõ code, nó sẽ giúp bạncung cấp danh sách gợi ý hoàn thành để giúp người dùng cóthể hoàn thiệnđược dòng code đó Đây là một trong những chức năng rất hữu ích đề phòngcho 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ệmthời gian hiệu quả hơn.

Hình 4: Logo IDE Android Studio

Trang 20

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG3.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ảnphẩm, xem lịch sử đặt hàng, đặt hàng, Khi người dùng muốn thao tác cácchức năng trên ứng dụng thì phải bắt buộc đăng nhập

Hình 5: Usecase diagram

Ngày đăng: 20/12/2024, 17:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN