Xây Dựng Ứng Dụng Đọc Sách 2 DANH MỤC TỪ VIẾT TẮT 1 CSDL Cơ sở dữ liệu Cơ sở dữ liệu cho ứng dụng 2 API Application Programming Interface Giao diện lập trình ứng dụng 3 MVC Model-Vi
Trang 1BÁO CÁO ĐỒ ÁN 1
ĐỀ TÀI:
Xây dựng ứng dụng quản lý đọc sách
Giảng viên: Huỳnh Hồ Thị Mộng Trinh
Sinh viên thực hiện: Nguyễn Đặng Hữu Phúc 19522035
Thành phố Hồ Chí Minh, năm 2023
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
Trang 2BÁO CÁO ĐỒ ÁN 1
ĐỀ TÀI:
Xây dựng ứng dụng quản lý đọc sách
Giảng viên: Huỳnh Hồ Thị Mộng Trinh
Sinh viên thực hiện: Nguyễn Đặng Hữu Phúc 19522035
Thành phố Hồ Chí Minh, năm 2023
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
Trang 3Mục Lục
Contents
Mục Lục 1
DANH MỤC TỪ VIẾT TẮT 2
LỜI CẢM ƠN 3
ĐỀ CƯƠNG CHI TIẾT 4
3.Phạm vi: 5
4 Đối tượng sử dụng: 5
5 Phương pháp thực hiện: 5
6.Nền tảng công nghệ: 5
7.Kết quả mong đợi: 6
8.Hướng phát triển của đề tài: 6
9.Kế hoạch làm việc: 6
NỘI DUNG 8
CHƯƠNG 1: GIỚI THIỆU CHUNG 8
1.1 Tổng quan đề tài 8
1.2 Lý do chọn đề tài 8
1.3 Đối tượng sử dụng 9
1.4 Phạm vi nghiên cứu 9
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 10
2.1 Android Studio 10
2.2 Java 11
2.3 XML 12
2.4 Firebase 13
2.5 GitHub 14
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 15
3.1 Kiến trúc hệ thống: Mô hình MVC 15
Hình 3.1.1: Sơ đồ mô hình MVC 15
3.2 Chi tiết các thành phần trong hệ thống 16
CHƯƠNG 4: ĐẶC TẢ USE CASE 17
4.1 Sơ đồ Use Case 17
4.2 Danh sách tác nhân 18
4.3 Danh sách Use Case 18
4.4 Mô tả chi tiết Use Case 20
CHƯƠNG 5: THIẾT KẾ CƠ SỞ DỮ LIỆU 33
5.1 Sơ đồ logic 33
Hình 5.1.1: Sơ đồ logic của cơ sở dữ liệu 33
5.2 Danh sách các quan hệ 34
CHƯƠNG 6: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG 35
6.1 Danh sách màn hình 35
6.2 Mô tả chi tiết 36
CHƯƠNG 7: KẾT LUẬN 47
7.1 Tổng kết 47
7.2 Khó khăn 48
7.3 Kết quả thu được 48
7.4 Hạn chế của đồ án 48
7.5 Hướng phát triển đồ án 49
TÀI LIỆU THAM KHẢO 49
Trang 4Xây Dựng Ứng Dụng Đọc Sách
2
DANH MỤC TỪ VIẾT TẮT
1 CSDL Cơ sở dữ liệu Cơ sở dữ liệu cho ứng dụng
2 API Application Programming
Interface Giao diện lập trình ứng dụng
3 MVC Model-View-Controller Mô hình lập trình
Trang 5LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ bản, các kỹ năng thực tế để có thể lần đầu thực hiện Đồ án 1 của mình
Để hoàn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin
Chúng em xin gửi lời cảm ơn chân thành đến cô Huỳnh Hồ Thị Mộng Trinh đã tận tình giúp đỡ, định hướng cách tư duy và cách làm việc khoa học Đó là những góp
ý hết sức quý báu không chỉ trong quá trình thực hiện luận văn này mà còn là hành trang tiếp bước cho chúng em trong quá trình học tập và lập nghiệp sau này
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa, bạn bè, tập thể lớp KTPM2019 là những người luôn sẵn sàng sẻ chia và giúp đỡ trong học tập và cuộc sống Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau
Trong quá trình làm Đồ án này chúng em không tránh khỏi được những sai sót, chúng em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cô để hoàn thiện và phát triển đồ án hơn trong môn học Đồ án 2 cũng như trong Khóa luận tốt nghiệp trong tương lai
Chúng em xin chân thành cảm ơn Xin chúc những điều tốt đẹp nhất sẽ luôn đồng hành cùng mọi người
Thành phố Hồ Chí Minh, 12 tháng 6 năm 2023
Sinh viên
Nguyễn Đặng Hữu Phúc
Trang 6Xây Dựng Ứng Dụng Đọc Sách
4
T P
HCM, ngày 12 tháng 5 năm 2023
ĐỀ CƯƠNG CHI TIẾT
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TÊN ĐỀ TÀI: Xây dựng ứng dụng đọc sách
Cán bộ hướng dẫn: ThS Huỳnh Hồ Thị Mộng Trinh
Thời gian thực hiện: Từ ngày 07/03/2023 đến ngày 30/6/2023
Sinh viên thực hiện:
Một trong những lý do quan trọng nhất để chọn đề tài này là sự tiện lợi và linh hoạt mà ứng dụng đọc sách mang lại Với một ứng dụng đọc sách, người dùng có thể truy cập vào sách điện tử từ bất kỳ đâu và bất kỳ thiết bị nào, bao gồm điện thoại di động, máy tính bảng và máy tính cá nhân Điều này mang lại sự thuận tiện và linh hoạt cho người dùng, cho phép họ đọc sách ở mọi lúc vàmọi nơi theo sở thích cá nhân
Một ứng dụng đọc sách cũng cho phép người dùng tiếp cận đa dạng các loại sách Từ sách văn học, sách giáo trình, sách khoa học đến những thể loại đặc biệt khác, người dùng có cơ hội khám phá và học hỏi từ những tác phẩm văn học nổi tiếng và kiến thức chuyên ngành Điều này tạo
ra một môi trường học tập và giải trí đa dạng, nơi người dùng có thể mở rộng kiến thức và khám phá thế giới của sách một cách dễ dàng
Một lợi ích quan trọng khác của việc xây dựng ứng dụng đọc sách là khả năng tạo ra trải nghiệm đọc sách tương tác và cung cấp các tính năng bổ sung Các tính năng như đánh dấu trang, tìm kiếm nội dung, chia sẻ trích dẫn và ghi chú cá nhân giúp người dùng tương tác và tận hưởng quá trình đọc sách một cách tốt hơn Điều này tạo ra một trải nghiệm đọc sách hiện đại, tiện ích và tương tác, đồng thời mang lại sự tiếp cận và khả năng tương tác với nội dung sách theo cách cá nhân hóa
Trang 7Tóm lại, việc xây dựng ứng dụng đọc sách là một đề tài hấp dẫn và mang lại nhiều lợi ích cho người dùng Nó cung cấp sự tiện lợi và linh hoạt, tiếp cận đa dạng sách, và tạo ra trải nghiệm đọc sách tương tác Thông qua việc xây dựng ứng dụng đọc sách, chúng ta tạo ra một môi trường đọc sách hiện đại và thuận tiện, hỗ trợ người dùng trong việc khám phá và tận hưởng thế giới của sách
2 Mục tiêu: bao gồm 2 mục tiêu chính:
• Phát triển một ứng dụng di động đọc sách chuyên nghiệp và thuận tiện cho người dùng
• Cung cấp một giao diện người dùng hấp dẫn, dễ sử dụng và thân thiện với người dùng
• Tích hợp các tính năng bảo mật và quản lý người dùng, bao gồm đăng ký, đăng nhập và quản
lý tài khoản
• Tối ưu hóa hiệu suất ứng dụng, đảm bảo tốc độ tải trang nhanh chóng và khả năng xử lý dữ liệu mượt mà
• Đảm bảo tính ổn định và tin cậy của ứng dụng, tránh lỗi và sự cố không mong muốn
• Nâng cao trải nghiệm người dùng thông qua giao diện tương tác, thân thiện và dễ sử dụng
• Tạo điểm đặc biệt cho ứng dụng đọc sách của chúng ta, tạo sự khác biệt so với các ứng dụng đọc sách hiện có trên thị trường
Phương pháp nghiên cứu:
− Phân tích nhu cầu sử dụng của đối tượng người dùng
− Nghiên cứu tài liệu các công nghệ liên quan
Phương pháp công nghệ:
− Xây dựng giao diện mobile app để tương tác với người dùng
− Sử dụng Google doc, Drive… để quản lý tiến trình và tài liệu
6.Nền tảng công nghệ:
− Android Studio
Trang 87.Kết quả mong đợi:
− Cả User-side và Admin-side thực hiện được hết các chức năng của mình
− Ứng dụng di động hoạt động ổn định, có thể xử lý thông tin nhanh chóng
8.Hướng phát triển của đề tài:
− Nâng cấp tính năng quản lý của admin
9.Kế hoạch làm việc:
Thời gian thực hiện từ ngày 18/03/2023 đến ngày kết thúc môn Đồ án 1
Nhóm chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Hoàn thiện giao diện người dùng, database và tìm hiểu công nghệ
Sprint 1: Tìm hiểu Android Stutio
Sprint 2: Phân tích yêu cầu và chức năng, chuẩn bị tài liệu, bản vẽ và các diagram liên quan Sprint 3: Tìm hiểu công nghệ Firebase, xây dựng CSDL, xây dựng UI và các chức năng cơ bản
Giai đoạn 2: Hoàn thiện các tính năng năng cơ bản và nâng cao của ứng dụng, kiểm thử và
viết báo cáo
Gồm 4 sprint với thời gian mỗi sprint kéo dài khoảng 2 tuần:
Sprint 4: Hoàn thiện backend ứng với frontend đã thiết kê
Sprint 5: Hoàn thiện và mở rộng frontend(nếu có thể)
Sprint 6: Hoàn thiện và mở rộng back-end(nếu có thể)
Sprint 7: Triển khai kiểm thử và viết báo cáo
Trang 9_ Tiến hành kiểm thử
Sprint 7 08/06/2023-10/06/2023
_ Kiểm tra lại ứng dụng _ Hoàn chỉnh bài báo cáo
Trang 10Trong thời đại kỹ thuật số ngày nay, việc đọc sách trực tuyến và sử dụng các ứng dụng
di động đã trở thành một xu hướng phổ biến Với sự phát triển vượt bậc của công nghệ di động, việc xây dựng một ứng dụng đọc sách đáp ứng nhu cầu của người dùng đã trở thành một cơ hội hấp dẫn
Một trong những lý do quan trọng nhất để chọn đề tài này là sự tiện lợi và linh hoạt mà ứng dụng đọc sách mang lại Với một ứng dụng đọc sách, người dùng có thể truy cập vào sách điện tử từ bất kỳ đâu và bất kỳ thiết bị nào, bao gồm điện thoại di động, máy tính bảng
và máy tính cá nhân Điều này mang lại sự thuận tiện và linh hoạt cho người dùng, cho phép
họ đọc sách ở mọi lúc vàmọi nơi theo sở thích cá nhân
Một ứng dụng đọc sách cũng cho phép người dùng tiếp cận đa dạng các loại sách Từ sách văn học, sách giáo trình, sách khoa học đến những thể loại đặc biệt khác, người dùng có
cơ hội khám phá và học hỏi từ những tác phẩm văn học nổi tiếng và kiến thức chuyên ngành Điều này tạo ra một môi trường học tập và giải trí đa dạng, nơi người dùng có thể mở rộng kiến thức và khám phá thế giới của sách một cách dễ dàng
Một lợi ích quan trọng khác của việc xây dựng ứng dụng đọc sách là khả năng tạo ra trải nghiệm đọc sách tương tác và cung cấp các tính năng bổ sung Các tính năng như đánh dấu trang, tìm kiếm nội dung, chia sẻ trích dẫn và ghi chú cá nhân giúp người dùng tương tác
và tận hưởng quá trình đọc sách một cách tốt hơn Điều này tạo ra một trải nghiệm đọc sách hiện đại, tiện ích và tương tác, đồng thời mang lại sự tiếp cận và khả năng tương tác với nội dung sách theo cách cá nhân hóa
Tóm lại, việc xây dựng ứng dụng đọc sách là một đề tài hấp dẫn và mang lại nhiều lợi ích cho người dùng Nó cung cấp sự tiện lợi và linh hoạt, tiếp cận đa dạng sách, và tạo ra trải
Trang 11nghiệm đọc sách tương tác Thông qua việc xây dựng ứng dụng đọc sách, chúng ta tạo ra một môi trường đọc sách hiện đại và thuận tiện, hỗ trợ người dùng trong việc khám phá và tận hưởng thế giới của sách
1.3 Đối tượng sử dụng
Tất cả các đối tượng muốn có 1 ứng dụng trên di động có thể có các tác vụ cơ
bản với sách như đọc, lưu,…
• Cung cấp một giao diện người dùng hấp dẫn, dễ sử dụng và thân thiện với người dùng
• Tích hợp các tính năng bảo mật và quản lý người dùng, bao gồm đăng ký, đăng nhập
và quản lý tài khoản
• Tối ưu hóa hiệu suất ứng dụng, đảm bảo tốc độ tải trang nhanh chóng và khả năng xử
lý dữ liệu mượt mà
• Đảm bảo tính ổn định và tin cậy của ứng dụng, tránh lỗi và sự cố không mong muốn
• Nâng cao trải nghiệm người dùng thông qua giao diện tương tác, thân thiện và dễ sử dụng
• Tạo điểm đặc biệt cho ứng dụng đọc sách của chúng ta, tạo sự khác biệt so với các ứng dụng đọc sách hiện có trên thị trường
Trang 132.2 Java
Java là một ngôn ngữ lập trình phổ biến và mạnh mẽ được sử dụng rộng rãi trong việc phát triển ứng dụng di động, web và các hệ thống phần mềm Được phát triển bởi Sun Microsystems (hiện nay là Oracle Corporation), Java đã trở thành một trong những ngôn ngữ lập trình quan trọng nhất và được ưa chuộng trong cộng đồng phát triển phần mềm
Với cú pháp dễ hiểu và hướng đối tượng, Java cho phép nhà phát triển tạo ra các ứng dụng có tính module, linh hoạt và dễ bảo trì Một trong những đặc điểm nổi bật của Java là khả năng chạy trên nhiều nền tảng khác nhau mà không cần thay đổi mã nguồn, nhờ vào Java Virtual Machine (JVM) Điều này mang lại sự tiện lợi và tương thích cho việc triển khai ứng dụng trên nhiều hệ điều hành và thiết bị khác nhau
Java cung cấp một loạt các thư viện và công cụ mạnh mẽ để hỗ trợ phát triển phần mềm Các thư viện tiêu chuẩn của Java bao gồm rất nhiều chức năng sẵn có, như
xử lý chuỗi, thao tác tệp, giao tiếp mạng, đồ họa và nhiều hơn nữa Java cũng có cộng đồng lớn và nhiều nguồn tài nguyên học tập và hỗ trợ, giúp nhà phát triển nắm bắt và
áp dụng các công nghệ mới nhất
Trang 14Ngôn ngữ XML (eXtensible Markup Language) là một ngôn ngữ đánh dấu dựa trên văn bản, được sử dụng để mô tả cấu trúc dữ liệu và thông tin Trong Android Studio, XML được sử dụng để định nghĩa giao diện người dùng thông qua các tệp tin giao diện (layout files) Các tệp tin giao diện XML chứa các phần tử và thuộc tính để xác định cách các thành phần UI được sắp xếp và hiển thị trên màn hình thiết bị di động
Sử dụng XML trong Android Studio, bạn có thể định nghĩa các thành phần giao diện như nút bấm (Button), hộp văn bản (EditText), danh sách (ListView), hình ảnh (ImageView) và nhiều thành phần UI khác Bằng cách sắp xếp và thiết lập thuộc tính cho các phần tử UI trong tệp tin XML, bạn có thể tạo ra giao diện người dùng đẹp và tương tác cho ứng dụng Android của mình
Một trong những ưu điểm của việc sử dụng XML trong phát triển giao diện Android là khả năng phân tách giao diện và logic ứng dụng XML cho phép bạn mô tả giao diện một cách độc lập, giúp dễ dàng chỉnh sửa và tái sử dụng các thành phần giao diện Ngoài ra, XML cũng hỗ trợ các tính năng như tạo layout linh hoạt (responsive layout), quản lý ngôn ngữ và bố cục (localization), và tùy chỉnh giao diện theo nhiều màn hình và kích thước khác nhau
Trang 152.4 Firebase
Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud Kèm theo đó
là hệ thống máy chủ cực kỳ mạnh mẽ của Google Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu
Với firebase, ta có thể tạo ra những ứng dụng real-time như app chat, cùng nhiều tính năng như xác thực người dùng, Cloud Messaging, Có thể dùng firebase giống như phần backend của app
Các dịch vụ của firebase hoàn toàn miễn phí, tuy nhiên cần phải trả thêm tiền nếu muốn nâng cấp lên Cần cân nhắc điều này nếu muốn xây dựng một ứng dụng lớn sử dụng phần backend là firebase, vì cái giá khi muốn nâng cấp còn khá đắt đỏ so với việc xây
dựng backend truyền thống
Trang 16Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit.
Trang 17CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
3.1 Kiến trúc hệ thống: Mô hình MVC
Model: Lưu trữ tất cả dữ liệu của ứng dụng Bộ phận này là cầu nối giữa cơ sở
dữ liệu quản lý cả nhân và trình bày giao diện người dùng Cho phép người dùng có thể nhập và xuất đến các cơ sở dữ liệu lần lượt theo quyền của họ khi cần thiết và dữ liệu
sẽ được lưu dữ trên database
View: giao diện người dùng, nơi người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các công thức truy vấn và ghi lại hoạt động của người dùng để tương tác với Controller
Controller: xử lý yêu cầu từ người dùng thông qua View Từ đó, Controller gửi
dữ liệu hợp lý đến người dùng bằng các kết nối đến Model và trưng bày nó trên View cho người dùng
Hình 3.1.1: Sơ đồ mô hình MVC
Trang 18Xây Dựng Ứng Dụng Đọc Sách
16
3.2 Chi tiết các thành phần trong hệ thống
1 Giao diện người dùng Cung cấp một giao diện cho người dùng
thực hiện các thao tác nhập/xuất dữ liệu Đồng thời, trong lúc sử dụng, thông báo cho người dùng nếu có lỗi xảy ra
2 Mô hình MVC Tiếp nhận yêu cầu từ giao diện người
dùng, kiểm tra tính đúng đắn theo ràng buộc và thực thi yêu cầu nếu điều kiện được đáp ứng
3 Cơ sở dữ liệu Lưu trữ toàn bộ dữ liệu liên quan đến
thông tin cửa hàng
Trang 19CHƯƠNG 4: ĐẶC TẢ USE CASE
4.1 Sơ đồ Use Case
Trang 20Xây Dựng Ứng Dụng Đọc Sách
18
4.2 Danh sách tác nhân
1 User Bắt buộc phải có tài khoản để đăng nhập vào ứng
dụng để sử dụng chức năng
2 Admin Người dùng sỡ hữu tài khoản nội bộ, quản lý toàn
hoạt động của ứng dụng và cửa hàng
4.3 Danh sách Use Case
nhập vào ứng dụng
Dành cho người dùng chưa tài khoản đăng nhập vào hệ thống
dùng muốn đổi tài khoản hoặc Admin khi muốn đăng xuất ra khỏi ứng dụng
4 Thêm sách Admin them sách mới vào cơ sở dữ liệu
Xóa sách đã có trong cơ sở dữ liệu
Admin sửa các giá trị thông tin của sách
7 Tạo danh mục sách Tạo các danh mục sách khác nhau để phân loại sách
8 Xem sách trong danh mục Xem các sách nằm trong 1 danh mục nhất định
Trang 219 Đọc sách Hiển thị file Pdf đã lưu của sách
10 Tải sách Tải sách từ cơ sở dữ liệu về máy local
11 Xem thông tin sách Xem các thông tin liên quan của sách
12 Tìm kiếm sách Tìm Kiếm sách trong từng danh mục theo
từ khóa
Trang 22Xây Dựng Ứng Dụng Đọc Sách
20
4.4 Mô tả chi tiết Use Case
Mô tả chi tiết tính năng “Đăng nhập”
Mô tả chi tiết Admin/Người dùng dùng tài khoản đã đăng kí để đăng nhập vào ứng dụng
(3) Không đăng nhập vào tài khoản, hiển thị thông báo “Tài khoản hoặc mật khẩu của bạn không hợp lệ” lên màn hình
Yêu cầu đặc biệt Tài khoản đã đăng kí
Điều kiện trước Tài khoản và mật khẩu nhập vào phải
hợp lệ và chính xác
Điều kiện sau Sử dụng ứng dụng với tư cách Người
dùng/Admin dựa theo vị trí của tài khoản đăng nhập
Trang 23Mô tả chi tiết tính năng “Đăng ký”
Mô tả chi tiết
Người dùng mới hoặc muốn tạo thêm tài khoản khác
(4) Hệ thống tiến hành xử lý xác thực
và tạo tài khoản
Luồng phụ
(1) Thực hiện từ (1) tới (3) (2) Điền thông tin không đúng theo mẫu
(3) Hệ thống yêu cầu người dùng nhập lại
Yêu cầu đặc biệt Không
Điều kiện trước _ Người dùng ấn vào nút “SignUp”
_ Nhập đúng mẫu yêu cầu
Điều kiện sau
Người dùng đăng ký thành công tài khoản
Trang 24Xây Dựng Ứng Dụng Đọc Sách
22
Mô tả chi tiết tính năng “Đăng xuất”
Mô tả chi tiết
Người dùng/Admin muốn đăng xuất khỏi tài khoản của mình
Luồng sự kiện
Luồng chính
(1) Người dùng nhấp nút thoát trên góc trên bên trái của màn hình admin dashboard
Trang 25Mô tả chi tiết tính năng “Thêm sách”
Mô tả chi tiết
Admin them sách mới vào cơ sở dữ liệu
Yêu cầu đặc biệt Không
Điều kiện trước _ Người dùng đã đăng nhập vào tài khoản
_ Người dùng ấn vào icon button “pdf” Điều kiện sau Sách được them vào cơ sở dữ liệu
Mở rộng Không