1.2 MỤC TIEU VÀ NHIỆM VỤ NGHIÊN CỨU e® Mục tiêu: Mục tiêu của đề tài này là xây dựng một ứng dung đọc truyện online miễn phí giúp ban đọc có thể đọc, tìm kiếm truyện nhanh chóng và hiệ
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYEN THONG VIET HAN
Khoa Kỹ Thuật Máy Tinh & Điện Tử
Trang 2Đà nẵng, 04 tháng 05 năm 2023
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYEN THONG VIET HAN
Khoa Kỹ Thuật Máy Tính & Điện Tử
Trang 3Đà nẵng, 04 tháng 05 năm 2023
Trang 4NHẬN XÉT
(Của giảng viên hướng dẫn)
Trang 5MỤC LỤC
1 Tong quan vé ng6n ngir lap trinh Kotliin 00.000 eeeeeees 8
1.1 Téng quan vé IDE Android Studio - 5-5522 1211 1.2112 2 xe 8
2.2.4 Yêu cầu hệ thống - S1 S121111111111 7111121172111 ra 12 2.2.5 Biểu đồ ca sử dụng S222 E211 1121212121 etrrerree 12 2.3 Thiết kế hệ thống SỰ 121111211211 711112111121 171 tru 18
1 KẾtQuả 0 SE nH HH HH ng ng 25
1.1 Giao diện khởi động ứng dụng - 0 222222122122 26 1.2 Giao diện Đăng nhập, đăng ký 20 2 22 22a 27 1.3 _ Giao diện trang chủ -. c1 2221112112112 11821 H2 ng re 28 1.4 _ Giao diện chi tiết chức năng Admim 5-2 5c 222222 *+22 2252 30 1.5 _ Giao diện chức năng quản lý truyện c2 22 222222 31 1.6 _ Giao diện chức quản lý tài khoản 2222222222 xsss2 32 1.7 _ Giao diện chỉ tiết người dùng 2-22 S EEE2121121E1222xe 33 1.8 _ Giao diện chi tiết truyỆn - ccc 201112011121 111211 151111511 34 1.9 Giao diện đọc truyỆn 2 22201120 1121111211115 1 1512111 sey 35
Trang 62 Đánh giá và thử nphiệm chương trình 22 222221322222 2zx+zzs2 36
2.1 _ Thực nghiệm L1 2 2 122112211211 121111111211 171 1811118 ke rg 36
2.2 Kết quả đạt được - 5 5s TỰ 2 11212121211 g ng te 36 2.3 Hạn chế 55 S122 2111111171121121121 1 11211121111 re 36
3 Kết chương 3 - 2c 2T 2 H2 2121 1g re 36
1.Kết h0 N1 012 37 2.Hướng nghiên cứu - L1 2022211211121 1 27112 1122110111 10111 1111111111111 1c reg 37
TÀI LIỆU THAM KHẢO Đ S2 1212252511215 1515212115121211551121111E5 1E nrnrxey 38
Trang 7DANH MỤC HÌNH ẢNH
Hinh 1 Use case đặc tả điapram - 2 2 120 22111211 12112111111111111 111211821181 ng ray 15
Hình 2 Thiết kế trang chủ 5 se SE E15 122127121121111111121111 11111211 x0 16
Hình 3 Thiết ké naviagtion drawet c.cccccccccccccescesessessessesessesessesesseseeseeseees 17
Hình 4 Thiết ké trang d6i mat Kha ccc ccc eceeceeseesessesseseessssessseseeees 18 Hình 5 Thiết kế trang cá nhân - + 5s 1EEE121121121E71112111111121 21 re 19
Hình 6 Thiết kế trang thông tin truyện - 5 se EE22E1E711512E215 21122 2e 20 Hình 7 Thiết kế trang chương truyỆn - 5s 1S 2E 1211115121121 1x te 21 Hình 9 Giao diện khởi động ửng dụng - 2 0 2.22212221122212 rerre 23 Hinh 10 Giao diện đăng ký 0 20 1 HS 11 221211111111111 11111 1tr 24 Hình 11 Giao diện đăng nhập - 22221221211 11121 1112221111111 128 12kg 25 Hinh 12 Giao diện trang chủ - - 1 2c 2111211221121 1 1511111121115 811 12251218 xe 26 Hình 13 Giao diện chi tiết chức năng của Admin - 5-52 S2 se 27 Hinh 14 Giao diện chức năng quản Ïý truyện 20 2c S222 28
Hinh 15 Giao diện quản lý tài khoản ác 2c 2.2212 212122112122 12c 29
Hình 16 Giao diện chi tiết người dùng 52 ST EE1211112121 122 cre 30 Hình 17 Giao diện chi tiết truyện - cc 2 2222222 1112211 1121112111111 112221x+2 31 Hình 18 Giao diện chi tiết đọc truyện 2 - 2 2222221111 1112211111222xx+2 32
Trang 8LOI CAM ON
Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc tới các thầy cô giáo trong Khoa khoa học máy tính Trường đại học Công nghệ thông tin và truyền thông Việt Hàn đã tận tinh giang dạy, truyền đạt cho chúng em những kiến thức, kinh nghiệm quý báu trong suốt thời gian vừa qua
Đặc biệt em xin gửi lời cảm ơn đến thầy giáo TS Dương Hữu Ái đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình thực hiện học phần Đồ
án Trong thời gian làm việc, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích
mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và công tác sau nay
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bẻ đã động viên,
đóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu và hoàn thành bài đồ án cơ sở 3 này
Em xin chân thành cảm ơn
Sinh Viên Hoàng Xuân Nhật
Trang 9MỞ ĐẦU
1.1 LY DO CHON DE TAI
Ngày nay, để đáp ứng được sự phát triển kinh tế toàn cầu, con người đã không ngừng học tập, làm việc và sáng tạo để đáp ứng tốt các mục tiêu đã đặt ra
Song con người cũng không phải chi sinh ra dé học tập và làm việc, nhu cầu giải
trí của con người sau những thời gian làm việc căng thắng đó là vô cùng cần thiết
Và đọc truyện trong những p1ờ thư giãn thì không còn gi tuyệt vời hơn Nhưng
không phải lúc nào bạn cũng có thời gian để tới hiệu sách để tìm mua va đọc
những cuốn sách mà bạn muốn, vỉ vậy chúng em đã quyết định xây dựng “ứng dụng đọc truyện" để phục vụ cho nhu cầu giải trí của tất cả mọi người Chỉ cần có thiết bị chạy hệ điều hành android và được kết nối internet thì bạn có thể đọc truyện mọi lúc mọi nơi, ở bắt cứ đâu, vào bất kì thời điểm nào
1.2 MỤC TIEU VÀ NHIỆM VỤ NGHIÊN CỨU
e® Mục tiêu:
Mục tiêu của đề tài này là xây dựng một ứng dung đọc truyện online miễn phí giúp ban đọc có thể đọc, tìm kiếm truyện nhanh chóng và hiệu quả,
tiết kiệm thời gian vả chi phí vì không phải di chuyển nhiều nơi, qua nhiều
hiệu sách để tìm và mua chúng mà chưa chắc chắn răng có tìm được thứ mình mong muốn ở đó hay không Hơn thế nữa ứng dụng còn là nơi giúp cho các bạn đọc có thê thỏa sức thực hiện đam mê viết truyện của mình
Mục đích của ứng dụng nhằm phục vụ cho nhu cầu giải trí và cho những ai có đam mê đọc truyén va tim hiểu những điều thú vị còn ân chứa bên trong những trang truyện
Trang 10CHUONG 1: CO SO LI THUYET
1 Tổng quan về ngôn ngữ lập trình Kotlin Kotlin là một ngôn ngữ lập trình đa năng, được thiết kế để chạy trên nền tang Java Virtual Machine (JVM), duoc phat triển bởi JetBrains vào năm 2011 Kotlin có cú pháp đơn giản và dễ đọc, hỗ trợ các tính năng của Java nhưng cũng cải thiện các điểm yếu của Java như null safety, lambda expressions, operator overloading va extension functions
Kotlin cũng được hỗ trợ để phát triển các ứng dụng trên nhiều nền tảng khác nhau như Android, IOS, web, desktop, server, v.v Nhờ tính năng cross- platform này, việc viết ứng dụng cho nhiều nền tảng trở nên đễ dàng và tiết kiệm thời gian hơn
Kotlin cũng được đánh giá là một ngôn ngữ lập trình tương lai của Android,
vì Google đã chính thức công bố hỗ trợ Kotlin làm ngôn ngữ lập trình chính thức cua Android từ phiên bản Android Studio 3.0 trở đi Vì vậy, việc học Kotlin sẽ p1úp cho các nhà phát triển Android có thể tận dụng được các tính năng mới nhất của nền tảng này và đáp ứng được yêu cầu của thị trường phát triển ứng dụng di động ngày cảng cao
1.1 Tổng quan về IDE Android Studio
Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụ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ác công cụ fñle phức tạp sau hậu trường
Ngôn ngữ lập trình được sử dụng trong Android Studio là Kotlin 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ưu trữ chúng trên các dự án của mình và các file nằm trong dự án đó Đồng thờ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 Kotlin cho phé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ủa phần cứng
Trang 11sốc Bạn chỉ cần sử dụng ngôn ngữ lập trình Kotlin dé có thê viết chương trình, khi đó Android SDK sẽ có nhiệm vụ kết nối các phần này lại với nhau Khi đó, Android Studio sẽ kích hoạt để thực hiện chạy code và thông qua 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ận phản hồi
giúp giải thích các sự có,
Cho đến hiện nay, Google đã và đang rất nỗ lực để giúp cho Android Studio sẽ trở nên mạnh mẽ và hữu ích hơn Khi bạn gõ code, nó sẽ giup ban cung 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òng
cho 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ệm thời øian hiệu qua hon
vẫn có thê hỗ trợ tốt
Dù hiểu theo quan điểm nảo, bản chất của Firebase vẫn là giúp các nhà lập trình
(developer) tiết kiệm thời p1an, đơn giản hóa các thao tác với cơ sở dữ liệu
1.3 Ngôn ngữ thiết kế hệ thống UML
UML (Unified Modeling Language) là ngôn ngữ dành cho việc đặc tả, hình dung, xây dựng và làm tài liệu của các hệ thống phần mềm
UML tạo cơ hội để viết thiết kế hệ thống, bao gồm những khái niệm như tiễn
trình nghiệp vụ và các chức năng của hệ thống
Cách xây dựng các mô hỉnh trong UML phù hợp mô tả các hệ thống thông tin
cả về cấu trúc cũng như hoạt động Cách tiếp cận theo mô hình của UML giúp
Trang 12ích rất nhiều cho những người thiết kế và thực hiện hệ thông thông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng Cách nhìn bao quát này ø1úp nắm bắt trọn vẹn các yêu cầu của người dùng: phục vụ từ giai đoạn phân tích đến việc thiết kế, thâm định và kiểm tra sản phâm ứng dụng công nghệ thông tin
UML sử dụng một hệ thông ký hiệu thống nhất biểu diễn các Phần tử mô hình (model elements) Tap hop các phần tử mô hình tạo thành các Sơ đồ UML (UML diasrams) Có các loại sơ đồ UML chủ yếu sau:
- Sơ đồ lớp (Class Diagram)
- So dé déi trong (Object Diagram)
- So dé tinh huéng str dung (Use Cases Diagram)
- Sơ đồ trình ty (Sequence Diagram)
- Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram)
- So dé trang thai (State Machine Diagram)
- So dé thanh phan (Component Diagram)
- So dé hoat déng (Activity Diagram)
- So đồ trién khai (Deployment Diagram)
- So dé g6i (Package Diagram)
- So dé lién lac (Communication Diagram)
- So dé trong tac (Interaction Overview Diagram - UML 2.0)
- So dé phéi hop thoi gian (Timing Diagram - UML 2.0)
Trang 13Chương 2: PHAN TỊCH VA THIET KE HE THONG
2.1 Mô tả bài toán
Tên bài toán: “Xây dựng ứng dụng di động đọc truyện Online”
Đây là một ứng dụng đọc truyện giúp mọi người có thê vào đó tìm truyện, lựa chọn truyện để đọc và đánh 1á cho những truyện mình thích hoặc không thích Với ứng dụng di động đọc truyện chữ, độc giả có thê tìm truyện theo thể loại, tinh trang, luot xem nhiéu hay lượt đánh gia, xem thong tin về các bộ truyện, đánh giá và đọc truyện mình muốn mà hoàn toàn miễn phi
Khi người dùng đăng nhập hệ thông sẽ lưu lịch sử đọc truyện giúp cho độc giả có thế đễ đàng đọc tiếp nội dung truyện mà mình đang đọc trước đó mà không
cần phải nhớ hay đi tìm lại
+Với tư cách là một độc giả, tôi muốn tìm những truyện có thể loại mà mình muốn
xem (Cần có Use Case chọn thẻ loại)
Với tư cách là một độc giả, tôi muốn xem lịch sử truyện mà mình đã đọc (Cần có Use Case xem lich sw)
Với tư cách là một độc giả, tôi muốn xem thông tin về truyện đó như số chương, giới thiệu truyện, tac gia, thể loại, tình trạng truyện, ngày cập nhật (Cần có Use Case xem chí tiết truyện)
Với tư cách là một độc giả, tôi muốn đánh giá những truyện mà mình yêu thích hoặc chán ghét (Cần có Use Case đánh giá truyện)
Với tư cách là một độc giả, tôi muốn đọc nội dung của truyện (Cần có Use Case xem chương)
Với tư cách là một độc giả, tôi muốn lưu lịch sử đọc truyện của mỉnh lâu dài và tham gia làm thành viên của ứng dụng (Cần có Use Case đăng nhập, đăng ký)
Trang 14Với tư cách là một độc giả, tôi muốn đăng xuất đề thoát tài phiên đăng nhập của mình (Cần có Use Case đăng xuất)
2.2.2 Yêu cầu chức năng
Sau khi hoàn thiện ứng dụng đáp ứng đầy đủ các chức năng cơ bản của một ứng dụng đọc truyện như: tìm kiếm truyện, xem thông tin truyện, đọc truyện, đánh giá
2.2.3 Yêu cầu phi chức năng
Ứng dụng chạy 24/7
Có thể truy cập đồng thời 1000 người dùng
Đẹp, thân thiện, dễ sử dụng
2.2.4 Yêu cầu hệ thống
Ứng dụng hoạt động được trên hệ điều hành Android
Phủ hợp với mọi loại điện thoại
2.2.5 Biéu do ca sir dung
- 2.2.5.1, Khai niém use case
Use case la mét ky thuật được dùng trong kỹ thuật phần mềm của hệ thống quản lý nhằm nắm bắt yêu cầu chức năng của hệ thống Nó mô tả các thao tác đặc trưng từ người dùng bên ngoài (actor) vào hệ thông
- 2.2.3.2 Túc nhân
Độc giả: là người sử dụng ứng dụng đề đọc truyện
- 2.2.5.3 Ca sứ dụng
Độc giả
Xem truyện mới cập nhật
Xem truyện đã hoàn
Trang 15- 2.2.5.4 Biéu dé use case
a Usecase diagram tong quat
Chon thế loại Cin >)
Xem truyện
đã hoàn
Xem truyện
Xem chỉ tiết truyện
đánh giá
Xem truyện xem nhiêu
Trang 16- 2.2.5.5, Dac ta usecase
a Đánh ø1á truyện
Tén use case Danh gia truyén
Mô tả Cho phép tác nhân đánh ø1á truyện
Tác nhân Độc giả
Mục tiêu Tác nhân có thể đánh 1á truyện
Tiền điều kiện Thiết bị sử dụng được kết nối Internet
Luéng sự kiện Luong 1:
nhanh 4 Danh gia không thành công
5 Hiển thị thông báo bạn đã đánh gia roi
Trang 17
Tên use case Dang ky
Mô tả Cho phép tác nhân đăng ký tài khoản
Ấn vào nút cá nhân ở thanh menu phía dưới màn hình
Hệ thống hiển thị trang cá nhân Nhân vào nút đăng ký
Hệ thống hiến thị trang đăng ký Nhập thông tin đăng ký
Ấn nút đăng ký Đăng ký thành công Hiến thị trang chủ khi đã đăng nhập Kết thúc
Luéng sự kiện nhánh Luong 1:
7 Đăng ký không thành công
8 Hién thi hién thị form đăng ký lại và thực hiện đăng ký
Trang 18Mô tả Cho phép tác nhân đăng nhập vào website
An vao nut cá nhân ở thanh menu phía dưới màn hình
.| Hệ thống hiển thị trang cá nhân | Nhắn vào nút đăng nhập
| Hệ thống hiễn thị trang đăng nhập | Nhập thông tin đăng nhập
| Ấn nút đăng nhập
.| Đăng nhập thành công
| Hiển thị trang chủ khi đã đăng nhập
| Kết thúc
Luéng sự kiện nhánh Luong 1:
5 Dang nhap khong thanh céng
6 Hiến thị trang chủ chưa đăng nhập
7 Kếtthúc
Trang 19Tác nhân Độc 214
Mục tiêu Tác nhân có thể đăng xuất tài khoản khỏi ứng dụng
Tiên điêu kiện Tác nhân đã đăng nhập tài khoản vào ứng dụng
Thiết bị sử dụng được kết nối Internet
Hậu điêu kiện Đăng xuất thành công, quay về trang chủ của hệ thống khi
.| Ân vào nút cá nhân ở thanh menu phía đưới màn hình
.| Hệ thống hiển thị trang cá nhân
Nhân vào nút đăng xuất trên góc trên bên phải màn hình
.| Hệ thống sẽ xóa phiên đăng nhập và chuyền hướng đến trang
cá nhân khi chưa đăng nhập | Kết thúc
Bảng 4 Đặc tả use case đăng xuất
e Xem chương
Tên use case Xem chương