ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN Khoa Kỹ Thuật Máy Tính & Điện Tử ĐỒ ÁN CƠ SỞ 3 XÂY DỰNG APP ĐỌC TRUYỆN ONLINE Sinh viên thực hiện Hoàng Xuân Nhật 21IT569 Lớ[.]
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT HÀN Khoa Kỹ Thuật Máy Tính & Đ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 &
TRUYỀN THÔNG VIỆT HÀN
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 5
Mục Lục
LỜI CẢM ƠN 5
MỞ ĐẦU 6
CHƯƠNG 1 : CƠ SỞ LÍ THUYẾT 7
1 Tổng quan về ngôn ngữ lập trình Kotlin 7
1.1 Tổng quan về IDE Android Studio 7
1.2 Firebase 8
1.3 Ngôn ngữ thiết kế hệ thống UML 8
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 10
2.1 Mô tả bài toán 10
2.2 Phân tích hệ thống 10
2.2.1 Đặc tả yêu cầu của người dùng 10
2.2.2 Yêu cầu chức năng 11
2.2.3 Yêu cầu phi chức năng 11
2.2.4 Yêu cầu hệ thống 11
2.2.5 Biểu đồ ca sử dụng 11
2.3 Thiết kế hệ thống 16
CHƯƠNG 3 : XÂY DỰNG APP ĐỌC TRUYỆN 22
TÀI LIỆU THAM KHẢO 23
Trang 6Danh Mục Các Bảng
Trang 7LỜI CẢM ƠN
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 trongKhoa khoa học máy tính Trường đại học Công nghệ thông tin và truyền thông ViệtHàn đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức, kinh nghiệmquý 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ìnhgiúp đỡ, trực tiếp chỉ bảo, huớ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ácsau này
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ànhbà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 8MỞ ĐẦU
1.1 LÝ DO CHỌN ĐỀ TÀI
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 chỉ sinh ra để học tập và làm việc, nhu cầu giảitrí 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 giờ thư giãn thì không còn gì tuyệt vời hơn Nhưngkhông phải lúc nào bạn cũng có thời gian để tới hiệu sách để tìm mua và đọcnhững cuốn sách mà bạn muốn, vì vậy chúng em đã quyết định xây dựng “ ứngdụ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ể đọctruyệ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.2MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU
Mục tiêu :
Mục tiêu của đề tài này là xây dựng một ứng dụng đọc truyện onlinemiễn phí giúp bạn đọ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ềuhiệ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 chocá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à chonhững ai có đam mê đọc truyện và tìm hiểu những điều thú vị còn ẩn chứabên trong những trang truyện
Trang 9CHƯƠNG 1 : CƠ SỞ LÍ THUYẾT
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ềntảng Java Virtual Machine (JVM), được phát 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ảithiện các điểm yếu của Java như null safety, lambda expressions, operatoroverloading và extension functions
Kotlin cũng được hỗ trợ để phát triển các ứng dụng trên nhiều nền tảngkhá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ễ dàng và tiết kiệmthờ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ứccủa Android từ phiên bản Android Studio 3.0 trở đi Vì vậy, việc học Kotlin sẽ giúpcho 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ềntả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àycà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ụngAndroid 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ụ file 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ẽ đượccà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
Trang 10Ngoà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ứnggốc Bạn chỉ cần sử dụng ngôn ngữ lập trình Kotlin để 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 quatrì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ồigiú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 AndroidStudio sẽ trở nên mạnh mẽ và hữu ích hơn Khi bạn gõ code, nó sẽ giúp bạncung 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òngcho 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ệmthời gian hiệu quả hơn
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 gian, đơ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ìnhdung, 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ếntrình nghiệp vụ và các chức năng của hệ thống
Trang 11Cá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í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ốngthông tin dự định xây dựng Cách nhìn bao quát này giúp nắm bắt trọn vẹn cácyê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) Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML(UML diagrams) Có các loại sơ đồ UML chủ yếu sau:
- Sơ đồ lớp (Class Diagram)
- Sơ đồ đối tượng (Object Diagram)
- Sơ đồ tình huống sử dụng (Use Cases Diagram)
- Sơ đồ trình tự (Sequence Diagram)
- Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram)
- Sơ đồ trạng thái (State Machine Diagram)
- Sơ đồ thành phần (Component Diagram)
- Sơ đồ hoạt động (Activity Diagram)
- Sơ đồ triển khai (Deployment Diagram)
- Sơ đồ gói (Package Diagram)
- Sơ đồ liên lạc (Communication Diagram)
- Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)
- Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0)
Trang 12Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
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 giá 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,tình trạng, lượt xem nhiều hay lượt đánh giá, xem thông tin về các bộ truyện, đánhgiá và đọc truyện mình muốn mà hoàn toàn miễn phí
Khi người dùng đăng nhập hệ thống sẽ lưu lịch sử đọc truyện giúp cho độcgiả có thể dễ dàng đọc tiếp nội dung truyện mà mình đang đọc trước đó mà khôngcần phải nhớ hay đi tìm lại
+ 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, tác giả, thể loại, tình trạng truyện, ngày cập nhật (Cần có Use Case xem chi 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ý)
+ Với tư cách là một độc giả, tôi muốn đăng xuất để thoát tài phiên đăngnhập của mình (Cần có Use Case đăng xuất)
Trang 132.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, đánhgiá
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 đồ ca sử dụng
- 2.2.5.1 Khái niệm use case
Use case là một kỹ thuật được dùng trong kỹ thuật phần mềmcủ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
+ Chọn thể loại+ Xem lịch sử+ Xem xếp hạng+ Xem chi tiết truyện+ Đánh giá truyện+ Xem chương+ Đăng ký+ Đăng nhập+ Đăng xuất
Trang 14- 2.2.5.4 Biểu đồ use case
- a Usecase diagram tổng quát
Hình 1 Usecase diagram tổng quát
- 2.2.5.5 Đặc tả use case
- a Đánh giá truyện
Tên use case Đánh giá truyện
Mô tả Cho phép tác nhân đánh giá truyện
Tác nhân Độc giả
Mục tiêu Tác nhân có thể đánh giá truyện
Tiền điều kiện Thiết bị sử dụng được kết nối Internet
Hậu điều kiện Đánh giá thành công
Luồng sự kiện
chính
1 Ấn vào truyện bất kỳ mà mình muốn đánh giá
Trang 152 Hệ thống hiển thị trang thông tin truyện
4 Đánh giá không thành công
5 Hiển thị thông báo bạn đã đánh giá rồi
6 Kết thúc
Bảng 1 Đặc tả use case đánh giá truyện
- b Đăng ký
Tên use case Đăng ký
Mô tả Cho phép tác nhân đăng ký tài khoản
Tác nhân Độc giả
Mục tiêu Tác nhân có thể đăng ký tài khoản
Tiền điều kiện Thiết bị sử dụng được kết nối Internet
Hậu điều kiện Đăng ký thành công
Luồng sự kiện chính 1 Ấn vào nút cá nhân ở thanh menu phía dưới màn hình
2 Hệ thống hiển thị trang cá nhân
3 Nhấn vào nút đăng ký
4 Hệ thống hiển thị trang đăng ký
5 Nhập thông tin đăng ký
6 Ấn nút đăng ký
7 Đăng ký thành công
8 Hiển thị trang chủ khi đã đăng nhập
9 Kết thúcLuồng sự kiện nhánh ‐ Luồng 1:
7 Đăng ký không thành công
Trang 168 Hiển thị hiển thị form đăng ký lại và thực hiện đăng ký lại
9 Kết thúc
Bảng 2 Đặc tả use case đăng ký
- c Đăng nhập
Tên use case Đăng nhập
Mô tả Cho phép tác nhân đăng nhập vào website
Tác nhân Độc giả
Mục tiêu Tác nhân có thể đăng nhập vào ứng dụng
Tiền điều kiện Thiết bị sử dụng được kết nối Internet
Hậu điều kiện Đăng nhập thành công
Luồng sự kiện chính 1 Ấn vào nút cá nhân ở thanh menu phía dưới màn hình
2 Hệ thống hiển thị trang cá nhân
3 Nhấn vào nút đăng nhập
4 Hệ thống hiển thị trang đăng nhập
5 Nhập thông tin đăng nhập
6 Ấn nút đăng nhập
7 Đăng nhập thành công
8 Hiển thị trang chủ khi đã đăng nhập
9 Kết thúc
Luồng sự kiện nhánh ‐ Luồng 1:
5 Đăng nhập không thành công
6 Hiển thị trang chủ chưa đăng nhập
7 Kết thúc
Bảng 3 Đặc tả use case đăng nhập
- d Đăng xuất
Tên use case Đăng xuất
Mô tả Cho phép tác nhân đăng xuất tài khoản
Tác nhân Độc giả
Trang 17Mụ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 chưa
đăng nhập
Luồng sự kiện
chính
1 Ấn vào nút cá nhân ở thanh menu phía dưới màn hình
2 Hệ thống hiển thị trang cá nhân
3 Nhấn vào nút đăng xuất trên góc trên bên phải màn hình
4 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
5 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
Mô tả Cho phép tác nhân xem danh sách truyện
Tác nhân Độc giả
Mục tiêu Độc giả có thể xem nội dung chương truyện(đọc truyện)
Tiền điều kiện Thiết bị sử dụng được kết nối Internet
Hậu điều kiện Xem được nội dung chương truyện
Luồng sự kiện
chính
1 Ấn vào truyện mình muốn đọc
2 Hệ thống hiển thị trang thông tin truyện
3 Nhấn vào nút đọc truyện hoặc nhấn vào chương truyện và chọn chương mình muốn đọc
4 Hệ thống hiển thị chương truyện
5 Kết thúc
Bảng 5 Đặc tả use case xem truyện
Trang 19Hình 3 Thiết kế trang thể loại
Trang tìm kiếm
Trang 20Hình 4 Thiết kế trang tìm kiếm
Trang cá nhân
Trang 21Hình 5 Thiết kế trang cá nhân
Trang thông tin truyện
Trang 22Hình 6 Thiết kế trang thông tin truyện
Chương truyện
Trang 23Hình 7 Thiết kế trang chương truyện
Trang 24CHƯƠNG 3 : XÂY DỰNG APP ĐỌC TRUYỆN
Trang 25TÀI LIỆU THAM KHẢOCác tài liệu tiếng việt
[1] Giáo trình Phân tích thiết kế hướng đối tượng băng UML, Nhà xuất bản giáodục, 2001
Tác giả : Đăng Văn Đức
Tài liệu tiếng anh
[3] https://www.w3schools.com/
Và còn nhiều tài liệu liên quan khác