Báo Cáo Phát Triển Ưng Dụng Di Động

34 0 0
Báo Cáo Phát Triển Ưng Dụng Di Động

Đ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

Ứng dụng Android bán đồ ăn nhanh là một ứng dụng di động giúp người dùng dễ dàng đặt hàng và mua sắm đồ ăn nhanh từ các nhà hàng, quán ăn, cửa hàng tiện lợi. Với giao diện thân thiện và tính năng đa dạng, người dùng có thể duyệt qua danh sách các món ăn, xem thông tin chi tiết, chọn món, thêm vào giỏ hàng và thanh toán trực tuyến. Ứng dụng cũng cung cấp tính năng tìm kiếm và lọc món ăn theo loại, giá cả và vị trí địa lý, giúp người dùng dễ dàng tìm kiếm món ăn yêu thích hoặc gần nhất. Đồng thời, ứng dụng cũng có thể cung cấp thông tin về khuyến mãi, đánh giá của người dùng và địa chỉ, giúp người dùng có trải nghiệm mua sắm đồ ăn nhanh thuận tiện và tiết kiệm thời gian.

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN -

🙞🙞🙞🙞🙞 -BÁO CÁO THỰC NGHIỆM THUỘC HỌC PHẦNPHÁT TRIỂN ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG

ĐỀ TÀI:

XÂY DỰNG ỨNG DỤNG ANDROID BÁN ĐỒ ĂN NHANH

Sinh viên : Lê Văn Dương

Hoàng Văn Hiệp Phùng Thị Hồng

Nhóm : 21

Hà Nội - 2023

Trang 2

MỤC LỤC

DANH MỤC BẢNG BIỂU 3

DANH MỤC HÌNH ẢNH 4

LỜI CẢM ƠN 5

LỜI NÓI ĐẦU 6

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16

3.1 Các yêu cầu chức năng 16

3.1.1 Các yêu cầu chức năng 16

3.1.2 Các yêu cầu phi chức năng 16

3.2 Biểu đồ use case 17

3.3 Mô tả chi tiết use case 18

3.3.1 Mô tả use case Đăng nhập 18

Trang 3

3.3.2 Mô tả use case Đăng Ký 19

3.3.3 Mô tả use case Tìm kiếm sản phẩm 20

3.3.4 Mô tả use case Đặt hàng 21

3.3.5 Mô tả use case Quản lý sản phẩm 22

3.3.6 Mô tả use case Quản lý đơn hàng 23

3.3.7 Mô tả use case Thống kê 24

3.4 Biểu đồ cơ sở dữ liệu 25

Trang 4

DANH MỤC BẢNG BIỂU

Biểu đồ 3.1: Biểu đồ use case tổng quát 17 Biểu đồ 3.2: Biểu đồ cơ sở dữ liệu 25

DANH MỤC HÌNH ẢN

Trang 5

Hình 4.1: Màn hình đăng nhập ứng dụng 26

Hình 4.2: Màn hình đăng ký tài khoản 26

Hình 4.3: Màn hình đổi mật khẩu 27

Hình 4.4: Màn hình tìm kiếm sản phẩm 27

Hình 4.5: Màn hình thêm sản phẩm 28

Hình 4.6: Màn hình chức năng thống kê 28

Trang 6

LỜI CẢM ƠN

Để thực hiện và hoàn thành tốt bài tập lớn môn học phát triển ứng dụng trên thiết bị di động, chúng em đã nhận được sự giúp đỡ và hướng dẫn rất tận tình của thầy giáo Tiến Sỹ Hà Mạnh Đào thuộc Khoa Công nghệ thông tin, trường Đại học Công Nghiệp Hà Nội Với tình cảm sâu sắc và chân thành, xin phép chúng em được bày tỏ lòng biết ơn đến thầy

Sự giúp đỡ và sự đồng hành của thầy đã đóng vai trò vô cùng quan trọng trong quá trình nghiên cứu của chúng em Cả nhóm rất mong muốn nhận được ý kiến đóng góp từ thầy để đề tài được hoàn thiện hơn Sự phản hồi và góp ý từ thầy sẽ giúp chúng em nắm bắt được các khía cạnh cần cải thiện và phát triển thêm ý tưởng mới Chúng em rất trân trọng mọi đóng góp và mong được học hỏi thêm từ sự chuyên môn và kinh nghiệm của thầy Chúng em xin chúc thầy luôn dồi dào sức khoẻ, vui vẻ và thành công trong cuộc sống.

Chúng em xin chân thành cảm ơn!

Nhóm sinh viên thực hiện

Nhóm 21

Trang 7

LỜI NÓI ĐẦU

Trong thời đại số hóa ngày nay, các ứng dụng di động đã trở thành một yếu tố quan trọng không thể thiếu trong cuộc sống hàng ngày của chúng ta Sự phổ biến của các thiết bị di động như điện thoại thông minh và máy tính bảng đã tạo ra một thị trường lớn cho các ứng dụng di động Từ việc mua sắm trực tuyến, học tập, giải trí, đến việc quản lý công việc, ứng dụng di động đã mang lại sự tiện lợi và hiệu quả cho người dùng Chúng giúp chúng ta kết nối với thế giới xung quanh một cách dễ dàng hơn, giúp chúng ta tiếp cận với thông tin nhanh chóng và thuận tiện hơn.

Do đó, việc nắm vững kiến thức và kỹ năng phát triển ứng dụng di động là rất cần thiết cho sinh viên ngành Công nghệ thông tin Việc này không chỉ giúp sinh viên hiểu rõ hơn về công nghệ hiện đại, mà còn giúp họ có thể tạo ra những sản phẩm phần mềm hữu ích, đáp ứng nhu cầu của xã hội Hơn nữa, với kỹ năng này, sinh viên có thể mở rộng cơ hội nghề nghiệp của mình, không chỉ trong lĩnh vực công nghệ thông tin, mà còn trong nhiều lĩnh vực khác như kinh doanh, giáo dục, y tế,…

Trong bài tập lớn môn Phát triển ứng dụng trên thiết bị di động, chúng ta sẽ tìm hiểu về quy trình phát triển ứng dụng từ giai đoạn thiết kế đến triển khai

Để làm được điều đó, bài tập lớn này sẽ được chia thành bốn chương: Chương 1: Tổng quan về đề tài Chương này sẽ giới thiệu về lý do chọn đề tài, mục tiêu cũng như ý nghĩa của đề tài.

Chương 2: Trình bày cơ sở lý thuyết về phát triển ứng dụng di động, bao gồm giới thiệu về android, phần mềm android studio và ROOMDB.

Chương 3: Phân tích và thiết kế hệ thống Chương này sẽ trình bày chi tiết về quy trình phân tích yêu cầu, đặc tả các use case và cơ sở dữ liệu.

Trang 8

Chương 4: Kết quả thực hiện Chương này sẽ trình bày về kết quả thực hiện được, bao gồm các giao diện của ứng dụng.

Qua bài tập lớn này, hy vọng rằng chúng ta sẽ có cái nhìn sâu hơn về quy trình phát triển ứng dụng di động, từ đó nắm vững kiến thức và kỹ năng cần thiết để có thể tự tin tham gia vào thị trường công nghệ đang phát triển nhanh chóng này.

Trang 9

CHƯƠNG 1 TỔNG QUAN

1.1 Lý do chọn đề tài

Trong bối cảnh kinh tế thị trường phát triển, nhu cầu tiêu dùng đồ ăn nhanh ngày càng tăng cao Thói quen ăn uống và lối sống bận rộn khiến đồ ăn nhanh trở thành sự lựa chọn thuận tiện và phổ biến Các nhà hàng, quán ăn nhỏ lẻ ra đời ngày càng nhiều Song song với xu hướng đó, thị trường ứng dụng di động cũng phát triển mạnh mẽ Người dùng có xu hướng lựa chọn các giải pháp mua sắm, giao dịch trực tuyến thay vì trực tiếp để tiết kiệm thời gian Do đó, các ứng dụng giao đồ ăn trực tuyến được ra đời và nhanh chóng trở nên phổ biến.

Xu hướng này mở ra cơ hội lớn cho các doanh nghiệp nhỏ bán đồ ăn có thể mở rộng thị trường tiêu thụ sản phẩm của mình thông qua kênh ứng dụng Vì vậy, xây dựng ứng dụng Android bán đồ ăn nhanh là hướng đi có tiềm năng lớn, đáp ứng xu thế thị trường và có thể ứng dụng thực tiễn Với những lý do này, nhóm chúng em xin chọn đề tài “XÂY DỰNG ỨNG DỤNG ANDROID BÁN ĐỒ ĂN NHANH”.

1.2 Mục tiêu đề tài

Mục tiêu của đề tài là xây dựng ứng dụng Android bán đồ ăn nhanh với các tiêu chí như sau:

- Xây dựng được ứng dụng Android bán đồ ăn nhanh có giao diện thân thiện, dễ sử dụng cho người dùng.

- Ứng dụng cho phép khách hàng đặt món ăn trực tiếp từ ứng dụng, thanh toán đơn hàng bằng các phương thức trực tuyến.

- Ứng dụng hỗ trợ quản lý các đơn hàng, thống kê doanh số bán hàng cho cửa hàng/ nhà hàng.

Trang 10

1.3 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu: Người tiêu dùng có nhu cầu đặt hàng đồ ăn nhanh Phạm vi nghiên cứu: Thị trường đồ ăn nhanh trong khu vực quanh trường Đại Học Công Nghiệp Hà Nội.

- Các chức năng chính của ứng dụng: + Đặt món ăn

+ Thanh toán đơn hàng

+ Quản lý tài khoản người dùng + Quản lý thực đơn của cửa hàng + Quản lý các đơn hàng

+ Thống kê doanh thu

- Người dùng: Khách hàng đặt món, nhân viên và quản lý cửa hàng/nhà hàng.

- Công nghệ sử dụng:

+ Ngôn ngữ lập trình: Java trên nền tảng Android + Cơ sở dữ liệu: ROOMDB

+ Môi trường phát triển: Android Studio

+ Tích hợp chụp ảnh và sử dụng ảnh trong thiết bị - Phạm vi triển khai: Mô hình demo ứng dụng trên máy thật

1.4 Ý nghĩa thực tiễn

Ý nghĩa khoa học và thực tiễn của đề tài "Xây dựng ứng dụng Android bán đồ ăn nhanh" bao gồm:

- Nghiên cứu và áp dụng công nghệ: Xây dựng ứng dụng Android bán đồ ăn nhanh đòi hỏi việc nghiên cứu và áp dụng các công nghệ liên quan như lập trình Android, giao diện người dùng Điều này đóng góp vào việc phát triển kiến thức và kỹ năng trong lĩnh vực công nghệ thông tin.

Trang 11

- Tích hợp kiến thức về quản lý và kinh doanh: Xây dựng ứng dụng bán đồ ăn nhanh đòi hỏi hiểu biết về quản lý đơn hàng, quản lý thực đơn, thống kê doanh số và tương tác với khách hàng.

- Đáp ứng nhu cầu thực tế của người dùng: Ứng dụng Android bán đồ ăn nhanh giúp đáp ứng nhu cầu tiêu dùng và mua sắm hàng ngày của người dùng thông qua cách thức đơn giản và thuận tiện Điều này mang lại giá trị thực tiễn và cải thiện trải nghiệm mua sắm và giao dịch của người dùng.

Tóm lại, đề tài "Xây dựng ứng dụng Android bán đồ ăn nhanh" không chỉ mang ý nghĩa khoa học trong việc nghiên cứu và áp dụng công nghệ, mà còn có ý nghĩa thực tiễn trong việc đáp ứng nhu cầu thực tế của người dùng, mở rộng thị trường và tối ưu hóa kinh doanh.

Trang 12

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Tổng quan về Android

2.1.1Giới thiệu về HĐH Android

Android là một hệ điều hành di động dựa trên nền tảng linux dành cho các dòng điện thoại SmartPhone Đầu tiên được ra đời bởi công ty liên hợp Android, sau đó được Google mua lại và phát triển từ năm 2005 và trở thành một hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ và được ưa chuộng cao trên thế giới Hệ điều hành Android một hệ điều hành rất mạnh mạnh, có bảo mật cao, hỗ trợ được nhiều công nghệ tiên tiến như 4G, 5G, Bluetooth, Wifi tương thích với nhiều phần cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch và trackball Android là hệ điều hành di động nên có khả năng kết nối cao với các mạng không dây, hỗ trợ công nghệ OpenGL nên có khả năng chơi các phương tiện media, hoạt hình cũng như trình diễn các khả năng đồ họa khác cực tốt, là tiền đề để phát triển các ứng dụng có giao diện phức tạp chẳng hạn như là các trò chơi

Android liên tục được phát triển, mỗi bản cập nhật từ google là mỗi lần android được tối ưu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm công nghệ mới Chẳng hạn như theo một đánh giá thì android phiên bản 2.2 hoạt động nhanh hơn bản 2.1 tới 450% Hiện nay, phiên bản mới nhất Android 14 phát hành ngày 4/10/2023 và đang tiếp tục được cập nhật

Năm 2008, hệ điều hành android đã chính thức mở toàn bộ mã nguồn, điều đó cho phép các hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kế lại sao cho phù hợp với mỗi mẫu mã điện thoại của họ và điều quan trọng nữa là hệ điều hành mở này hoàn toàn miễn phí, không phải trả tiền nên giúp họ tiết kiệm khá lớn chi phí phát triển hệ điều hành Những điều đó là cực kỳ tốt không chỉ đối với các hãng sản xuất điện thoại nhỏ mà ngay cả với những hãng lớn như Samsung, HTC, Vì android hoàn toàn miễn phí, Google không thu tiền từ những hãng sản xuất điện thoại, tuy không trực tiếp hưởng

Trang 13

lợi từ Android nhưng bù lại, những dịch vụ của hãng như Google Search, Google Maps, nhờ có android mà có thể dễ dàng xâm nhập nhanh vào thị trường di động vì mỗi chiếc điện thoại được sản xuất ra đều được tích hợp hàng loạt dịch vụ của Google Từ đó hãng có thể kiếm bội, chủ yếu là từ các nguồn quảng cáo trên các dịch vụ đó Với các nhà phát triển ứng dụng (developers), việc hệ điều hành android được sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụng trên nền Android với sự tin tưởng là ứng dụng đó sẽ có thể chạy được ngay trên nhiều dòng điện thoại của các hãng khác nhau Họ ít phải quan tâm là đang phát triển cho điện thoại nào, phiên bản bao nhiêu vì nền tảng Android là chung cho nhiều dòng máy, máy ảo Java đã chịu trách nhiệm thực thi những ứng dụng phù hợp với mỗi dòng điện thoại mà nó đang chạy

Một số hãng sản xuất điện thoại có sử dụng hệ điều hành android tiêu biểu: - SAMSUNG với các dòng máy Samsung Galaxy S10, Galaxy A50,

Galxaxy Note 8, Galaxay A30,…

- SONY: XPERIA X10, XPERIA X10 mini, XPERIA X8,…

2.1.2Kiến trúc Android

Kiến trúc Android chứa nhiều thành phần khác nhau để hỗ trợ mọi nhu cầu của thiết bị Android Phần mềm Android chứa Linux Kernel mã nguồn mở có bộ sưu tập các thư viện C/C++ được tiếp cận thông qua các framework ứng dụng.

Trong số tất cả các thành phần, Linux Kernel cung cấp chức năng chính của các chức năng hệ điều hành cho điện thoại thông minh và máy ảo Dalvik (DVM) cung cấp nền tảng để chạy ứng dụng Android.

Các thành phần chính của kiến trúc Android bao gồm:

- Nhân Linux (Linux Kernel): Android sử dụng lõi hạt nhân Linux làm lõi của hệ điều hành Lõi hạt nhân cung cấp các chức năng cơ bản như quản lý bộ nhớ, quản lý tác vụ, điều khiển phần cứng và giao tiếp với các tầng cao hơn trong kiến trúc

Trang 14

- Thư viện nền tảng (Platform Libraries): Android cung cấp một số thư viện được viết bằng ngôn ngữ C/C++ như libc (thư viện chuẩn của C), libm (thư viện toán học), libz (thư viện nén/giải nén dữ liệu), libwebcore (trình duyệt web), và nhiều thư viện dựa trên Java như Media, Graphics, Surface Manager, OpenGL, v.v Các thư viện này cung cấp các chức năng cần thiết để phát triển ứng dụng Android.

- Môi trường thực thi (Android Runtime): Môi trường thực thi Android Runtime (ART) là một môi trường thực thi ứng dụng chạy trên các thiết bị Android ART sử dụng ngôn ngữ Java để phát triển ứng dụng Android Mã nguồn Java được biên dịch thành mã bytecode Dalvik hoặc mã máy (JIT - Just-in-Time) trước khi chạy trên thiết bị.

- Khung ứng dụng (Application Framework): Framework ứng dụng Android cung cấp các lớp và API để phát triển ứng dụng Android Nó bao gồm các thành phần như Activity Manager (quản lý hoạt động), Content Providers (cung cấp dữ liệu), Resource Manager (quản lý tài nguyên), Notification Manager (quản lý thông báo), và nhiều thành phần khác Framework ứng dụng cung cấp một cách tiếp cận dễ dàng và phổ biến cho việc xây dựng các ứng dụng Android.

- Ứng dụng (Application): Android hỗ trợ việc phát triển và chạy các ứng dụng di động Người phát triển có thể viết các ứng dụng Android bằng Java, Kotlin hoặc C++ Ứng dụng Android có thể được cài đặt và chạy trên các thiết bị Android khác nhau.

2.2 Tổng quan về Android Studio

Android Studio là một môi trường phát triển tích hợp (IDE) được phát triển bởi Google, được sử dụng để phát triển ứng dụng di động dựa trên nền tảng Android Đây là công cụ chính thức và mạnh mẽ nhất cho việc xây dựng ứng dụng Android.

Một số đặc điểm nổi bật của Android Studio bao gồm:

Trang 15

- Dựa trên IntelliJ IDEA của JetBrains, cung cấp giao diện thân thiện, tính năng tự động hoàn thiện mã nguồn tiên tiến.

- Tích hợp trực tiếp các công cụ phát triển Android như máy ảo thiết bị, trình xây dựng Gradle, máy đo lường hiệu suất, framework nhắm mục tiêu nhiều thiết bị và phiên bản Android.

- Hỗ trợ viết và debug ứng dụng Android bằng các ngôn ngữ Java, Kotlin và C/C++ Cho phép xây dựng giao diện ứng dụng bằng cả XML và Jetpack Compose.

- Tích hợp GitHub để quản lý mã nguồn, xem lịch sử thay đổi và đưa ứng dụng lên GitHub.

- Dễ dàng triển khai, kiểm tra và phân phối ứng dụng Android đến các cửa hàng ứng dụng khác nhau.

- Cập nhật liên tục các phiên bản và tính năng mới của Android SDK, hỗ trợ tối đa quá trình phát triển ứng dụng.

2.3 Tổng quan về ROOMDB

RoomDB (Room Database) là một thư viện được cung cấp bởi Google trong Android Jetpack, được sử dụng để làm việc với cơ sở dữ liệu SQLite trong ứng dụng Android RoomDB cung cấp một lớp trừu tượng hóa và dễ sử dụng để quản lý cơ sở dữ liệu SQLite và tạo lớp truy cập dữ liệu (Data Access Object - DAO) để thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên dữ liệu cơ sở dữ liệu.

Các lợi ích chính của RoomDB bao gồm:

 Sáng sủa và dễ dàng sử dụng: RoomDB giúp giảm đáng kể số lượng mã phải viết để tương tác với cơ sở dữ liệu SQLite Nó cung cấp cú pháp dễ đọc và hiểu, giúp cho việc quản lý dữ liệu trong ứng dụng trở nên dễ dàng hơn.

 Tự động tạo bảng và quản lý schema: RoomDB tự động tạo và quản lý schema cơ sở dữ liệu SQLite, không cần phải viết mã

Trang 16

SQL tạo bảng hoặc nâng cấp phiên bản cơ sở dữ liệu Điều này giúp giảm rủi ro lỗi do quản lý cơ sở dữ liệu thủ công.

 Hỗ trợ LiveData và RxJava: RoomDB tích hợp tốt với các thành phần kiến trúc kiểu dữ liệu tự động như LiveData và RxJava, giúp bạn xây dựng ứng dụng có khả năng quản lý dữ liệu và cập nhật giao diện người dùng một cách hiệu quả.

 Kiểm tra thời gian biên dịch: RoomDB cung cấp lợi ích của kiểm tra thời gian biên dịch, cho phép bạn phát hiện lỗi trong truy vấn SQL hoặc tên cột cơ sở dữ liệu tại thời điểm biên dịch thay vì phải chờ đến thời gian chạy ứng dụng.

Với RoomDB, việc làm việc với cơ sở dữ liệu trong ứng dụng Android trở nên hiệu quả và dễ dàng hơn, giúp giảm thời gian phát triển và nâng cao tính ổn định của ứng dụng.

Trang 17

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1 Các yêu cầu chức năng

3.1.1Các yêu cầu chức năng

3.1.2Các yêu cầu phi chức năng

- Hiệu năng hoạt động: Hiệu năng liên quan đến tài nguyên được sử dụng trong các điều kiện nhất định.

- Tính tương thích: Thực thi các chức năng cần thiết của người dùng.

- Tính khả dụng: Dễ sử dụng, giao diện bố cục rõ ràng, khả năng truy cập nhanh

- Tính tin cậy: Thực hiện các chức năng nhanh chóng và chính xác.

- An toàn thông tin: Mức độ hệ thống có thể bảo vệ thông tin, dữ liệu và đảm bảo các cá nhân, hệ thống khác có thể truy cập dữ liệu trong phạm vi được cho phép

Ngày đăng: 09/04/2024, 19:28

Tài liệu cùng người dùng

Tài liệu liên quan