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

Báo cáo cuối kì lập trình nâng cao đại học bách khoa Hà Nội

36 8 0

Đ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

Tiêu đề Thiết Kế Ứng Dụng Đặt Đồ Ăn Trên Thiết Bị Android
Tác giả Đinh Hữu Đức Hiếu, Nguyễn Văn Quyền, Đặng Văn Tuấn, Bùi Hoàng Hiệp, Nguyễn Bá Huy
Người hướng dẫn ThS. Nguyễn Thanh Bình
Trường học Học viện Điện tử - Viễn thông, Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Lập Trình Nâng Cao
Thể loại Báo cáo cuối kì
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 36
Dung lượng 3,55 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI (6)
    • 1.1 Đặt vấn đề (6)
    • 1.2 Đề xuất hệ thống (6)
    • 1.3 Phân tích tính khả thi (7)
      • 1.3.1 Khả thi về kỹ thuật (7)
    • 1.4 Các công cụ và ngôn ngữ sử dụng (8)
      • 1.4.1 Java (8)
      • 1.4.2 Andorid Studio (9)
      • 1.4.3 Fire Base (13)
  • CHƯƠNG 2. PHÂN TÍCH HỆ THỐNG (17)
    • 2.1 Phân tích hệ thống (17)
      • 2.1.1 Yêu cầu chức năng (17)
      • 2.1.2 Yêu cầu phi chức năng (17)
    • 2.2 Sơ đồ Use Case tổng quan hệ thống (18)
    • 2.3 Mô tả các Use Case trong hệ thống (18)
      • 2.3.1 Use case quản lý danh sách sản phẩm (18)
      • 2.3.2 Use case quản lý đơn hàng (21)
      • 2.3.3 Use case đăng nhập (22)
      • 2.3.4 Use case đăng ký (22)
      • 2.3.5 Use case đặt món (23)
      • 2.3.6 Use case Cập nhật thông tin cá nhân (23)
    • 2.4 Sơ đồ Class diagram (24)
  • CHƯƠNG 3. THIẾT KẾ HỆ THỐNG (25)
    • 3.1 Thiết kế tổng thể (25)
    • 3.2 Thiết kế các lớp (25)
    • 3.3 Thiết kế cơ sở dữ liệu (26)
      • 3.3.1 Thực thể khách hàng (26)
      • 3.3.2 Thực thể chi tiết đơn hàng (27)
      • 3.3.3 Thực thể món ăn (27)
      • 3.3.4 Thực thể đơn hàng (27)
      • 3.3.5 Sơ đồ ERD (28)
    • 3.4 Thiết kế giao diện (29)

Nội dung

Hiện nay, đời sống của con người ngày càng cao, các dịch vụ tiện ích ngày mới ngày càng được sinh ra. Hơn thế nữa trong tình hình dịch bệnh căng thẳng thì các dịch vụ, tiện ích làm hạn chế con người tiếp xúc nơi đông người lại càng được đặt lên hàng đầu dịch vụ đặt đồ ăn trực tuyến là một trong số đó. Không những giải quyết bài toán mùa dịch của toàn nhân loại, mà đây có thể coi như một sàn thương mai ẩm thực giúp các quán ăn, nhà hàng có thể về đồ ăn giúp quảng bá những món ăn đến gần với khách hàng hơn. Với những kiến thức mà thầy Nguyễn Thanh Bình đã chỉ dạy, nhóm chúng em đã phát triển ứng dụng “Đặt đồ ăn” trên thiết bị android. Vì kinh nghiệm còn hạn chế nên phần mềm chưa được hoàn chỉnh, mong thầy sẽ giúp đỡ và cho chúng em thêm những ý kiến để chúng em tiếp tục phát triển thêm

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

BÁO CÁO LẬP TRÌNH NÂNG CAO

Đề tài:

THIẾT KẾ ỨNG DỤNG ĐẶT ĐỒ ĂN TRÊN THIẾT BỊ

ANDROID

Giảng viên hướng dẫn: ThS Nguyễn Thanh Bình

Sinh viên thực hiện:

1 Đinh Hữu Đức Hiếu 20182508

Trang 2

LỜI MỞ ĐẦU

Hiện nay, đời sống của con người ngày càng cao, các dịch vụ tiện ích ngàymới ngày càng được sinh ra Hơn thế nữa trong tình hình dịch bệnh căng thẳngthì các dịch vụ, tiện ích làm hạn chế con người tiếp xúc nơi đông người lại càngđược đặt lên hàng đầu dịch vụ đặt đồ ăn trực tuyến là một trong số đó

Không những giải quyết bài toán mùa dịch của toàn nhân loại, mà đây có thểcoi như một sàn thương mai ẩm thực giúp các quán ăn, nhà hàng có thể về đồ ăngiúp quảng bá những món ăn đến gần với khách hàng hơn Với những kiến thức

mà thầy Nguyễn Thanh Bình đã chỉ dạy, nhóm chúng em đã phát triển ứng dụng

“Đặt đồ ăn” trên thiết bị android Vì kinh nghiệm còn hạn chế nên phần mềmchưa được hoàn chỉnh, mong thầy sẽ giúp đỡ và cho chúng em thêm những ýkiến để chúng em tiếp tục phát triển thêm

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 2

DANH MỤC BẢNG 5

DANH MỤC HÌNH VẼ 5

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 6

1.1 Đặt vấn đề 6

1.2 Đề xuất hệ thống 6

1.3 Phân tích tính khả thi 7

1.3.1 Khả thi về kỹ thuật 7

1.4 Các công cụ và ngôn ngữ sử dụng 8

1.4.1 Java 8

1.4.2 Andorid Studio 9

1.4.3 Fire Base 13

CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 17

2.1 Phân tích hệ thống 17

2.1.1 Yêu cầu chức năng 17

2.1.2 Yêu cầu phi chức năng 17

2.2 Sơ đồ Use Case tổng quan hệ thống 18

2.3 Mô tả các Use Case trong hệ thống 18

2.3.1 Use case quản lý danh sách sản phẩm 18

2.3.2 Use case quản lý đơn hàng 20

2.3.3 Use case đăng nhập 21

2.3.4 Use case đăng ký 21

2.3.5 Use case đặt món 22

2.3.6 Use case Cập nhật thông tin cá nhân 22

2.4 Sơ đồ Class diagram 23

CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 24

3.1 Thiết kế tổng thể 24

3.2 Thiết kế các lớp 24

3.3 Thiết kế cơ sở dữ liệu 25

3.3.1 Thực thể khách hàng 25

3.3.2 Thực thể chi tiết đơn hàng 26

3.3.3 Thực thể món ăn 26

3.3.4 Thực thể đơn hàng 26

3.3.5 Sơ đồ ERD 27

3.4 Thiết kế giao diện 28

Trang 4

3.4.2 Đối với cửa hàng 31

KẾT LUẬN 34 TÀI LIỆU THAM KHẢO 35

Trang 5

DANH MỤC BẢNG

Bảng 1 Use case quản lý danh sách sản phẩm

Bảng 2 Use case quản lý đơn hàng

Bảng 3 Use case đăng nhập

Bảng 4 Use case đăng ký

Bảng 5 Use case đặt món

Bảng 6 Use case Cập nhật thông tin cá nhân

Bảng 7 Thiết kế các lớp

DANH MỤC HÌNH VẼ

Hình 1 Cấu trúc project Android studio

Hình 2 Thư mục quản lý file giao diện đồ họa

Hình 3 Sơ đồ use case của hệ thống

Hình 4 Sơ đồ Class diagram

Hình 5 Sơ đồ ERD

Hình 6 Giao diện khi mở ứng dụng

Hình 7 Giao diện đăng nhập đối với khách hàng

Hình 8 Giao diện đăng ký đối với khách hàng

Hình 9 Giao diện danh sách món ăn

Hình 10 Giao diện danh sách món ăn đang đặt

Hình 11 Giao diện danh sách món ăn đã giao

Hình 12 Giao diện thông tin của khách hàng

Hình 13 Giao diện đăng nhập với cửa hàng

Hình 14 Giao diện quản lý danh sách món ăn được đặt

Hình 15 Giao diện danh sách món ăn đã giao

Hình 16 Giao diện quản lý danh sách món ăn trong menu

Trang 6

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

1.1 Đặt vấn đề

− Hiện nay, đời sống của con người ngày càng cao, các dịch vụ tiện ích ngàymới ngày càng được sinh ra Hơn thế nữa trong tình hình dịch bệnh căngthẳng thì các dịch vụ, tiện ích làm hạn chế con người tiếp xúc nơi đôngngười lại càng được đặt lên hàng đầu ,dịch vụ đặt đồ ăn trực tuyến là mộttrong số đó

− Không những giải quyết bài toán mùa dịch của toàn toàn cầu, mà đây có thểcoi như một sàn thương mai ẩm thực giúp các quán ăn, nhà hàng có thể về đồ

ăn giúp quảng bá những món ăn đến gần với khách hàng hơn

1.2 Đề xuất hệ thống

− Từ những khảo sát ban đầu đề xuất hệ thống được đưa ra như sau:

 Tên dự án: Ứng dụng đặt đồ ăn trên thiết bị android

 Tính cấp thiết: Như tình hình dịch bệnh hạn chế tụ tập nơi đôngngười, phần mềm sẽ hỗ trợ các khác hàng đặt đồ ăn, hỗ trợ các cửahàng mở rộng thị trường, phạm vi bán hàng hơn

 Người dùng: Khách hàng (người đặt đồ ăn), Cửa hàng( Đơn vị cungcấp đồ ăn và giao đồ ăn)

− Các chức năng:

+ Đối với khách hàng:

 Đăng kí tài khoản

 Đăng nhập tài khoản

 Cập nhật thông tin cá nhân

 Các chức năng: đặt, hủy đơn hàng, xác nhận nhận đồ ăn thành công.+ Đối với cửa hàng:

 Đăng nhập tài khoản

 Quản lí đơn hàng:

Trang 7

 Xem danh sách đơn hàng đang chờ xác nhận.

 Xác nhận đơn hàng được đặt

 Xem danh sách đơn hàng đã hoàn thành

 Quản lí danh sách món ăn :

 Xem danh sách các món ăn trong cửa hàng

 Chỉnh sửa thông tin các món ăn có trong danh sách

 Thêm món ăn mới vào danh sách món ăn

1.3 Phân tích tính khả thi

1.3.1 Khả thi về kỹ thuật

− Việc phân tích tính khả thi về kỹ thuật nhằm giúp nhóm đảm bảo việc mởrộng hay xây dựng hệ thống mới có thể được thiết kế, phát triển và cài đặtthành công Tính khả thi về mặt kỹ thuật được xác định dựa trên các yếu tốsau:

 Hệ thống hoàn toàn khả thi với các công nghệ hiện tại do các công cụ

và phần mềm phát triển ứng dụng trên các nền tảng Mobile là hoàntoàn có sẵn để tận dụng

− Quy mô dự án:

 Nhóm phát triển gồm 5 thành viên, mỗi thành viên đều được giaonhiệm vụ phân tích, phát triển cho các chức năng phục vụ hệ thống đểhoàn thành dự án

Trang 8

1.4.1.2 Java là gì?

Là một ngôn ngữ lập trình huớng đối tượng (OOP) và dựa trên các lớp(class).Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mãnguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế đểbiên dịch mã nguồn thành bytecode,bytecode sau đó sẽ được môi trường thực thi(runtime environment) chạy

 Tính đa hình (Polymorphism): cho phép một phương thức có các tác độngkhác nhau trên nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùngmột phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nóđưa đến những kết quả khác nhau Bản chất của sự việc chính là phương thứcnày bao gồm cùng một số lượng các tham số

 Tính kế thừa (Inheritance): Điều này cho phép các dối tượng chia sẻ hay mởrộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại

 Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chitiết của một đối tượng với người sử dụng đối tượng ấy

Trang 9

 Bên cạnh đó java còn có nột số đặc tính khác:

 Độc lập nền (Write Once, Run Anywhere):Không

 Giống như nhiều ngôn ngữ lập trình khác như C và C++, khi Java được biêndịch, nó không được biên dịch sang mã máy cụ thể, mà thay vào dó là mãbytecode chạy trên máy ảo Java (JVM) Điều này đồng nghĩa với việc bất cứthiết bị nào có cài đặt JVM sẽ có thể thực thi được các chương trình Java

 Đơn giản:học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quen vớicác ngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dàng hơn.Java trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa vàphép toán con trỏ từ C/C++

 Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóamột chiều (oneway hasing) hoặc mã hóa công cộng (public key)

 Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thựcthi nhiều task cùng lúc Tính năng này thường được xử dụng rất nhiều tronglâp trình game

 Hiêu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng bộnhớ đối với các đối tượng không được dùng đến

 Linh hoạt: Java được xem là linh hoạt hơn C,C++ vì nó được thiết kế để thíchứng với môi trường phát triển

1.4.2 Andorid Studio

1.4.2.1 Giới thiệu

Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vàonăm2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bảnbeta khác nhau Trước khi được phát hành, các nhà phát triển Android thường sửdụng các công cụ như Eclipse IDE, một IDE Java chung cũng hỗ trợ nhiều ngônngữ lập trình khác

Có nhiều công cụ để phát triển Android nhưng đến nay công cụ chínhthức vàmạnh mẽ nhất là Android Studio Đây là IDE (Môi trường phát triển tích

Trang 10

hợp) chính thức cho nền tảng Android, được phát triển bởi Google và được sửdụng để tạo phần lớn các ứng dụng mà bạn có thể sử dụng hàng ngày

1.4.2.2 Các thành phần

 Test Modules:

Những modules này chứa mã để kiểm tra ứng dụng và xây dựng bên trongứng dụng kiểm tra mà nó chạy trên thiết bị Mặc định, Android studio tạo raandroidTest module chèn trong JUnit tests

 Library Modules:

Những modules này chứa các mã nguồn có thể chia sẻ trong ứng dụngAndroid và nguồn tài nguyên đó ta có thể tham chiếu đến dự án Android.Điều này rất hữu ích khi chúng ta muốn sử dụng lại mã nguồn Librarymodules không được cài đặt trên thiết bị, tuy nhiên chúng được nhúng trongtập tin apk tại thời điểm build tập tin apk

 App Engine Module:

Dùng để hêm thuộc tính điện toán đám mây đến Thuộc tính này cho phépchúng ta áp dụng các chức năng như sao lưu dữ liệu người dùng tới điện toánđám mây, nội dung máy chủ tới thiết bị di động, tương tác thời gian thực

- Các tập tin trong ứng dụng android:

 idea: Thư mục cái đặt IntelliJ IDEA.

 app :Thư mục chứa các modules và các tệp tin

 build :Thư mục lưu trữ đầu ra khi build cho tất cả các modules của dự

án

 gradle : Chứa các tệp tin gradler-wrapper.

 gitigrone :Sẽ bỏ qua các tệp tin mà Git nên bỏ qua

 build.gradle :Cho phép chỉnh sửa các thuộc tính cho hệ thống build các

Trang 11

+gramdlew.bat :Khởi động cài đặt các tệp tin gradle cho Window

+ local.properties :Tùy chỉnh các thuộc tính cụ thể trong máy tính cho hệ

thống build, như đường dẫn SDK Không nên duy trì khi thay đổi mã nguồn

 iml :Tệp tin module được tạo bởi IntelliJ IDEA để lưu thông tin

module

+ settings.gradle :Cài đặt cụ thể các sub-projects để build

Hình 1 Cấu trúc project Android studio

- Android Application Modules

Các modules của ứng dụng Android được bao gồm trong tệp tin apk tệp tin

cơ sở trên việc cài đặt hệ thống build Chúng chứa các thứ của ứng dụng như mãnguồn, các tệp tin nguồn Hầu hết mã nguồn và các tệp tin nguồn được sinh rabởi mặc định, trong ứng dụng android gồm các thư mục và tệp tin như sau:

+libs/ :Chứa các thư việc chỉ được dùng trong ứng dụng, lưu trữ module

chính của ứng dụng

Trang 12

+src/ :Chứa mã nguồn của ứng dụng như các tệp tin Activity, fragment mà

nó sẽ lưu dưới dạng src/main/java/ActivityName>.java và các tệp tin khácnhư java hoặc aidl

main/java/com.>project<.>app< :Chứa mã nguồn java của ứng dụng +main/jni :Chứa mã nguyên thủy sử dụng Java Native Interface (JNI).

+main/gen/ :Chứa các tệp tin java được sinh ra bởi Android Studio, như tệp

tin R.java và các giao diện được tạo từ tệp tin AIDL

+main/assets/ :Thư mục này rỗng, bạn có thể sử dụng để lưu trữ các tệp tin

như Font, xml, mp3, và sử dụng AssetManager để đọc các tệp tin này

+main/res/ :Chứa nguồn tài nguyên của ứng dụng như các tệp

tin Drawable, các tệp tin layout, và giá trị

+string.anim/ :Chứa các tệp tin XML biên dịch các đối tượng animation +color/ :Chứa tệp tin XML mô tả color.

+drawable/ :Chứa các tệp tin hình ảnh (PNG, JPEG, GIF), và các tệp tin

XML là các đối tượng Drawable chứa các trạng thái khác nhau

+mimap/ :Chứa icon launcher của ứng dụng.

+layout/ :Chứa các tệp tin về giao diện màn hình.

+menu/ :Chứa tệp tin XML định nghĩa menu của ứng dụng

+raw/ : Chứa các tệp tin tương tự như trong thư mục assets/ Các tệp tin như

MP3, Ogg

+values/ :Chứa các tệp tin XML định nghĩa nguồn tài nguyên các kiểu

phầntử XML Không giống như các nguồn tài nguyên khác trong thư mụcres/,nguồn tài nguyên trong thư mục values/ không tham chiếu bởi các tệp tinmặc định Thay vì các phần tử XML điều khiển làm thế nào các nguồn tàinguyên định nghĩa trong tệp tin XML đặt trong lớp R

+xml/ :Chứa các tệp tin cấu hình của ứng dụng, các tệp tin

như PreferenceScreen, AppWidgetProviderInfo

Trang 13

+AndroidManifest.xml :Tệp tin điều khiển mô tả các thành phần của ứng

dụng, nó mô tả các activities, service, intent receivers và thành phần providers.Các quyền ứng dụng yêu cầu truy cập

Hình 2 Thư mục quản lý file giao diện đồ họa

 Firebase là một dịch vụ hệ thống backend được Google cung cấp sẵn trênnền tảng Android , IOS , Website

Lịch sử phát triển.

Firebase phát triển từ Envolve, một công ty khởi nghiệp trước đó doJames Tamplin và Andrew Lee thành lập vào năm 2011 Họ thành lậpFirebase như một công ty vào tháng 9 - 2011 Đến tháng 4 năm 2012

Trang 14

Firebase đã lần đầu tiên được ra mắt công chúng Sản phẩm đầu tiên củaFirebase là Cơ sở dữ liệu thời gian thực (Firebase realtime database), mộtAPI đồng bộ hóa dữ liệu ứng dụng trên các thiết bị iOS, Android và Web,đồng thời lưu trữ trên đám mây của Firebase Sản phẩm hỗ trợ các nhà pháttriển phần mềm trong việc xây dựng các ứng dụng cộng tác, theo thời gianthực

1.4.3.2 Những tính năng chính của Firebase

Firebase Authentication

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ụngngườ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âncủ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ộthoạ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 Networkchí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 dungtĩ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ắpnơi trên thế giới Từ máy chủ Pop – Points of Presence, nguồn dữ liệu sẽ đượcgử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 đếnvớ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ầnphải đăng ký tài khoản ở trên Firebase Dữ liệu ở trong database sẽ tự động cậpnhậ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. 

Trang 15

Firebase Cloud Storage

Firebase Cloud Storage là một không gian lưu trữ dữ liệu, nó giống như mộtchiếc ổ cứng Bạn có thể upload và download các loại file bạn muốn Đó có thể

là một file ảnh, hay file văn bản, zip, …Phân biệt Firebase cloud storage vớiFirebase realtime database.Câu trả lời rất đơn giản, Firebase là một cơ sở dữliệu- nơi bạn có thể lưu trữ các thông tin về tài khoản người dùng, hay các thôngtin về một mặt hàng nếu bạn xây dựng một app bán hàng.Còn với Firebase cloudstorage, chúng là nơi lưu trữ những file, đó có thể là những hình ảnh về một mặthàng chẳng hạn Bạn có thể lưu trữ link tới file hình ảnh trong database, còn fileảnh đặt trong cloud storage Vậy là client có thể dễ dàng truy vấn và sử dụng

1.4.3.3 Ưu điểm và Nhược điểm

Ưu điểm

Nền tảng Firebase được sử dụng rộng khắp nơi không chỉ là điều ngẫu nhiên.Bởi lẽ ứng dụng này sở hữu riêng cho mình nhiều ưu điểm vô cùng nổi bật Điểnhình: 

Sử dụng dễ dàng: Những người dùng có thể đăng ký một tài khoản

Firebase thông qua tài khoản Google Đồng thời, người cùng cũng có thể

sử dụng nền tảng này trong quá trình phát triển ứng dụng một cách đơngiản nhất. 

Tốc độ phát triển nhanh: Ưu điểm tiếp theo chính là Firebase hỗ trợ cho

việc phát triển ứng dụng rất nhanh chóng Điều này sẽ giúp lập trình viêngiảm bớt được thời gian để phát triển cũng như tiếp thị ứng dụng. 

Cung cấp nhiều dịch vụ: Firebase còn cung cấp đa dịch vụ cho mục đích

phát triển trang web Người dùng có thể lựa chọn database Firestore hoặcRealtime theo đúng ý muốn của mình. 

Nền tảng cho Google phát triển: google firebase là gì? Firebase được

Google mua lại và trở thành một phần của Google Ứng dụng này sẽ khaithác được triệt để sức mạnh cũng như các dịch vụ hiện đang sẵn có củaGoogle. 

Trang 16

Giao diện người dùng được chú trọng: Firebase sẽ cho phép các lập

trình viên tập trung hơn vào việc phát triển giao diện của người dùngthông qua kho Backend mẫu vô cùng đa dạng. 

Học máy: Ứng dụng Firebase sẽ cung cấp học máy cho các lập trình viên

để hỗ trợ tốt nhất cho việc phát triển ứng dụng. 

Tạo lưu lượng truy cập: Firebase App sẽ hỗ trợ việc tạo lập các chỉ mục.

Đồng thời, Firebase cũng sẽ giúp nâng cao thứ hạng của ứng dụng ở trênbảng xếp hạng của Google Nhờ vậy mà lượt traffic sẽ tăng lên

 Nhược điểm

Firebase không là mã nguồn mở: Điều này sẽ giúp cho ứng dụng trở

thành một lựa chọn không quá tối ưu đối với nhiều nhà phát triển Ngườidùng không thể sửa đổi được mã nguồn Firebase. 

Người dùng không truy cập được mã nguồn: Đối với những ứng dụng

lớn thì việc chuyển đổi sang các nhà cung cấp khác thực sự không dễdàng Để làm được điều này thì toàn bộ Backend cần phải được xây dựnglại từ đầu. . 

Firebase chỉ hoạt động với CSDL NoSQL: Người dùng sẽ không thể xử

lý được dữ liệu một cách nhanh chóng Firebase chỉ sử dụng JSON và hầunhư không có SQL Chính vì vậy, để di chuyển từ cơ sở dữ liệu sẽ không

hề dễ dàng. 

Firebase chỉ chạy trên Google Cloud: Firebase trở thành một phần của

Google và tất cả cơ sở hạ tầng của ứng dụng đều hoạt động trên GoogleCloud Người dùng không thể chạy ứng dụng trên những đơn vị cung cấpđám mây khác. 

Truy vấn khám chậm: Không phải các cơ sở dữ liệu đều phù hợp cho

mọi trường hợp và tất nhiên Cloud Firestore cũng không là ngoại lệ Điềunày khiến bạn rất mất thời gian khi sử dụng ứng dụng

Trang 17

 Cập nhập thông tin các nhân

 Tìm kiếm , đặt hàng, chọn phương thức thanh toán

 Xem danh sách lịch sử đặt hàng

− Đối với cửa hàng:

 Cập nhập thông tin cửa hàng

 Quản lí danh sách món ăn trong gian hàng

 Nhận ,hủy đơn hàng

 Xem danh sách đơn hàng

2.1.2 Yêu cầu phi chức năng

− Về giao diện: giao diện đơn giản, dễ tiếp cận với người dùng

− Về bảo mật: đảm bảo an toàn bảo mật dữ liệu;

− Đáp ứng được khả năng truy xuất và xử lý phục vụ nhu cầu đặt hàng, giaohàng

Trang 18

2.2 Sơ đồ Use Case tổng quan hệ thống

Hình 3 Sơ đồ use case của hệ thống 2.3 Mô tả các Use Case trong hệ thống

2.3.1 Use case quản lý danh sách sản phẩm

Use Case Name: Quản lý danh sách

Primary Actor: Cửa hàng Use Case Type: Chi tiết, cần thiết

Stakeholders and Interests:

- Cửa hàng muốn quản lí thông tin của danh sách món ăn

- Cửa hàng có thể thêm mới món ăn, chỉnh sửa thông tin món ăn cũ

Brief Description: Use case mô tả cách quản lý danh sách món ăn trong hệ

thống

Normal Flow of Events:

1 Cửa hàng vào mục quản lý danh sách món ăn

Ngày đăng: 14/05/2023, 22:55

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w