Tải bản đầy đủ (.docx) (34 trang)

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

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 (469.29 KB, 34 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b> KHOA CÔNG NGHỆ THÔNG TIN</b>

<b>---</b>

<b>🙞🙞🙞🙞🙞---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</b>

<b>ĐỀ TÀI:</b>

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

<b>Sinh viên : Lê Văn Dương</b>

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

<b>Nhóm</b> : 21

Hà Nội - 2023

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

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

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>DANH MỤC BẢNG BIỂU</b>

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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>LỜI CẢM ƠN</b>

Để 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 q 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

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>LỜI NÓI ĐẦU</b>

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 u cầu, đặc tả các use case và cơ sở dữ liệu.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>CHƯƠNG 1. TỔNG QUAN</b>

<b>1.1 Lý do chọn đề tài</b>

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”.

<b>1.2 Mục tiêu đề tài</b>

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.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

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

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

<b>1.4 Ý nghĩa thực tiễn</b>

Ý 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.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>CHƯƠNG 2. CƠ SỞ LÝ THUYẾT</b>

<b>2.1 Tổng quan về Android</b>

<b>2.1.1Giới thiệu về HĐH Android</b>

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ã ng̀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ã ng̀n, điều đó cho phép các hãng điện thoại có thể đem mã ng̀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

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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,…

<b>2.1.2Kiến trúc Android</b>

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ã ng̀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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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.

<b>2.2 Tổng quan về Android Studio</b>

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:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="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ã ng̀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.

<b>2.3 Tổng quan về ROOMDB</b>

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ã

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG</b>

<b>3.1 Các yêu cầu chức năng</b>

<b>3.1.1Các yêu cầu chức năng </b>

<b>3.1.2Các yêu cầu phi chức năng</b>

- 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

</div>

×