ĐẠ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ớ[.]
ĐẠ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Ở XÂY DỰNG APP ĐỌC TRUYỆN ONLINE Sinh viên thực : Hoàng Xuân Nhật Lớp : 21NS Giảng viên hướng dẫn : TS.Dương Hữu Ái 21IT569 Đà 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ử ĐỒ ÁN CƠ SỞ XÂY DỰNG APP ĐỌC TRUYỆN ONLINE Sinh viên thực : Hoàng Xuân Nhật Lớp : 21NS Giảng viên hướng dẫn : TS.Dương Hữu Ái 21IT569 Đà nẵng, 04 tháng 05 năm 2023 NHẬN XÉT (Của giảng viên hướng dẫn) Mục Lục LỜI CẢM ƠN MỞ ĐẦU CHƯƠNG : CƠ SỞ LÍ THUYẾT .7 Tổng quan ngôn ngữ lập trình Kotlin 1.1 Tổng quan IDE Android Studio 1.2 Firebase 1.3 Ngôn ngữ thiết kế hệ thống UML Chương PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .10 2.1 Mô tả toán .10 2.2 Phân tích hệ thống 10 2.2.1 Đặc tả yêu cầu người dùng 10 2.2.2 Yêu cầu chức 11 2.2.3 Yêu cầu phi chức .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 : XÂY DỰNG APP ĐỌC TRUYỆN .22 TÀI LIỆU THAM KHẢO .23 Danh Mục Các Bảng LỜ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 thầy cô giáo Khoa khoa học máy tính Trường đại học Cơng nghệ thông tin truyền thông Việt Hàn tận tình giảng dạy, truyền đạt cho chúng em kiến thức, kinh nghiệm quý báu 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 bảo, huớng dẫn em suốt trình thực 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 tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, điều cần thiết cho em q trình học tập cơng tác sau Sau 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 giúp đỡ em q trình học tập, nghiên cứu hoàn thành đồ án sở Em xin chân thành cảm ơn Sinh Viên Hoàng Xuân Nhật MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI Ngày nay, để đáp ứng phát triển kinh tế toàn cầu, người không ngừng học tập, làm việc sáng tạo để đáp ứng tốt mục tiêu đặt Song người sinh để học tập làm việc, nhu cầu giải trí người sau thời gian làm việc căng thẳng vô cần thiết Và đọc truyện thư giãn khơng cịn tuyệt vời Nhưng khơng phải lúc bạn có thời gian để tới hiệu sách để tìm mua đọc sách mà bạn muốn, chúng em định xây dựng “ ứng dụng đọc truyện" để phục vụ cho nhu cầu giải trí tất người Chỉ cần có thiết bị chạy hệ điều hành android kết nối internet bạn đọc truyện lúc nơi, đâu, vào thời điểm 1.2 MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU Mục tiêu : Mục tiêu đề tài xây dựng ứng dụng đọc truyện online miễn phí giúp bạn đọc đọc, tìm kiếm truyện nhanh chóng hiệu quả, tiết kiệm thời gian chi phí khơng phải di chuyển nhiều nơi, qua nhiều hiệu sách để tìm mua chúng mà chưa chắn có tìm thứ mong muốn hay khơng Hơn ứng dụng nơi giúp cho bạn đọc thỏa sức thực đam mê viết truyện Mục đích ứng dụng nhằm phục vụ cho nhu cầu giải trí cho có đam mê đọc truyện tìm hiểu điều thú vị ẩn chứa bên trang truyện Nhiệm vụ : - Nghiên cứu đề tài - Phân tích thiết kế hệ thống - Thiết kế xây dựng ứng dụng đọc truyện CHƯƠNG : CƠ SỞ LÍ THUYẾT Tổng quan ngơn ngữ lập trình Kotlin Kotlin ngơn ngữ lập trình đa năng, thiết kế để chạy tảng Java Virtual Machine (JVM), phát triển JetBrains vào năm 2011 Kotlin có cú pháp đơn giản dễ đọc, hỗ trợ tính Java cải thiện điểm yếu Java null safety, lambda expressions, operator overloading extension functions Kotlin hỗ trợ để phát triển ứng dụng nhiều tảng khác Android, iOS, web, desktop, server, v.v Nhờ tính crossplatform này, việc viết ứng dụng cho nhiều tảng trở nên dễ dàng tiết kiệm thời gian Kotlin đánh giá ngơn ngữ lập trình tương lai Android, Google thức cơng bố hỗ trợ Kotlin làm ngơn ngữ lập trình thức Android từ phiên Android Studio 3.0 trở Vì vậy, việc học Kotlin giúp cho nhà phát triển Android tận dụng tính tảng đáp ứng yêu cầu thị trường phát triển ứng dụng di động ngày cao 1.1 Tổng quan IDE Android Studio Android Studio IDE thức sử dụng phát triển ứng dụng Android dựa IntelliJ IDEA Chức Android Studio cung cấp giao diện giúp người dùng tạo ứng dụng xử lý công cụ file phức tạp sau hậu trường Ngơn ngữ lập trình sử dụng Android Studio Kotlin cài đặt sẵn thiết bị bạn Khi sử dụng Android Studio bạn cần viết, chỉnh sửa lưu trữ chúng dự án file nằm 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 xem Android Studio cho code Kotlin cho phép chạy trơn tru thiết bị Android tận dụng lợi phần cứng gốc Bạn cần sử dụng ngôn ngữ lập trình Kotlin để viết chương trình, Android SDK có nhiệm vụ kết nối phần lại với Khi đó, Android Studio kích hoạt để thực chạy code thơng qua trình giả lập dựa vào phần cứng giúp kết nối với thiết bị Sau đó, bạn gỡ rối cho chương trình chạy nhận phản hồi giúp giải thích cố, Cho đến nay, Google nỗ lực để giúp cho Android Studio trở nên mạnh mẽ hữu ích Khi bạn gõ code, giúp bạn cung cấp danh sách gợi ý hồn thành để giúp người dùng hồn thiện dịng code Đây chức hữu ích đề phịng cho trường hợp người dùng khơng nhớ xác cú pháp giúp bạn tiết kiệm thời gian hiệu 1.2 Firebase Ở góc độ quan điểm người dùng, Firebase định nghĩa theo cách khác Đây hai khái niệm tổng quan Firebase : - Một là, Firebase tảng để phát triển ứng dụng di động trang web Nền tảng bao gồm API đơn giản, không cần backend hay server - Hai là, Firebase dịch vụ hệ thống backend Google cung cấp sẵn cho ứng dụng Dịch vụ giúp bạn phát triển, triển khai mở rộng quy mô ứng dụng Mobile nhanh Dù bạn sử dụng Android hay IOS, Firebase hỗ trợ tốt Dù hiểu theo quan điểm nào, chất Firebase giúp nhà lập trình (developer) tiết kiệm thời gian, đơn giản hóa thao tác với sở liệu 1.3 Ngôn ngữ thiết kế hệ thống UML UML (Unified Modeling Language) ngơn ngữ dành cho việc đặc tả, hình dung, xây dựng làm tài liệu hệ thống phần mềm UML tạo hội để viết thiết kế hệ thống, bao gồm khái niệm tiến trình nghiệp vụ chức hệ thống Cách xây dựng mơ hình UML phù hợp mơ tả hệ thống thông tin cấu trúc hoạt động Cách tiếp cận theo mơ hình UML giúp ích nhiều cho người thiết kế thực hệ thống thông tin người sử dụng nó; tạo nên nhìn bao quát đầy đủ hệ thống thông tin dự định xây dựng Cách nhìn bao quát giúp nắm bắt trọn vẹn yêu cầu người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định kiểm tra sản phẩm ứng dụng công nghệ thông tin UML sử dụng hệ thống ký hiệu thống biểu diễn Phần tử mô hình (model elements) Tập hợp phần tử mơ hình tạo thành Sơ đồ UML (UML diagrams) Có loại sơ đồ UML chủ yếu sau: - Sơ đồ lớp (Class Diagram) - Sơ đồ đối tượng (Object Diagram) - Sơ đồ tình sử dụng (Use Cases Diagram) - Sơ đồ trình tự (Sequence Diagram) - Sơ đồ cộng tác (Collaboration Diagram 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) Chương 2.1 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Mơ tả tốn Tên toán: “Xây dựng ứng dụng di động đọc truyện Online” Đây ứng dụng đọc truyện giúp người vào tìm truyện, lựa chọn truyện để đọc đánh giá cho truyện thích khơng thích Với ứng dụng di động đọc truyện chữ, độc giả 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 truyện, đánh giá đọc truyện muốn mà hồn tồn miễn phí Khi người dùng đăng nhập hệ thống lưu lịch sử đọc truyện giúp cho độc giả dễ dàng đọc tiếp nội dung truyện mà đọc trước mà khơng cần phải nhớ hay tìm lại 2.2 Phân tích hệ thống 2.2.1 Đặc tả yêu cầu người dùng ‐ Độc giả + Với tư cách độc giả, muốn xem truyện ứng dụng(Cần có Use Case xem trang chủ) + Với tư cách độc giả, tơi muốn tìm kiếm truyện thơng qua tên truyện (Cần có Use Case tìm kiếm) + Với tư cách độc giả, tơi muốn tìm truyện loại mà muốn xem (Cần có Use Case chọn thể loại) + Với tư cách độc giả, muốn xem lịch sử truyện mà đọc (Cần có Use Case xem lịch sử) + Với tư cách độc giả, tơi muốn xem xếp hạng truyện có lượt xem cao (Cần có Use Case xem xếp hạng) + Với tư cách độc giả, muốn xem thơng tin truyện 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 độc giả, muốn đánh giá truyện mà u thích chán ghét (Cần có Use Case đánh giá truyện) + Với tư cách độc giả, muốn đọc nội dung truyện (Cần có Use Case xem chương) + Với tư cách độc giả, muốn lưu lịch sử đọc truyện lâu dài tham gia làm thành viên ứng dụng (Cần có Use Case đăng nhập, đăng ký) + Với tư cách độc giả, tơi muốn đăng xuất để tài phiên đăng nhập (Cần có Use Case đăng xuất) 2.2.2 Yêu cầu chức Sau hoàn thiện ứng dụng đáp ứng đầy đủ chức ứ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 - Ứ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 hệ điều hành Android - Phù hợp vớ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 kỹ thuật dùng kỹ thuật phần mềm hệ thống quản lý nhằm nắm bắt yêu cầu chức hệ thống Nó mơ tả thao tác đặc trưng từ người dùng bên (actor) vào hệ thống ‐ ‐ 2.2.5.2 Tác nhân Độc giả: người sử dụng ứng dụng để đọc truyện 2.2.5.3 Ca sử dụng Độc giả + Xem truyện cập nhật + Xem truyện hoàn + Xem truyện đánh giá + Xem truyện xem nhiều + Tìm kiếm + 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 - 2.2.5.4 Biểu đồ use case - a Usecase diagram tổng quát Hình 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 đánh giá truyện Tiền điều kiện Thiết bị sử dụng kết nối Internet Hậu điều kiện Đánh giá thành cơng Luồng kiện Ấn vào truyện mà muốn đánh giá Hệ thống hiển thị trang thông tin truyện Ấn vào nút đánh giá Luồng kiện nhánh Di chuyển chuột đến mà muốn đánh giá ấn vào Đánh giá thành cơng Hiển thị thông báo bạn đánh giá thành công Kết thúc Luồng 1: ‐ Đánh giá không thành công Hiển thị thông báo bạn đánh giá Kết thúc Bảng Đặ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 đăng ký tài khoản Tiền điều kiện Thiết bị sử dụng kết nối Internet Hậu điều kiện Đăng ký thành cơng Luồng kiện Luồng kiện nhánh ‐ Ấn vào nút cá nhân menu phía 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ủ đăng nhập Kết thúc Luồng 1: Đăng ký không thành công Hiển thị hiển thị form đăng ký lại thực đăng ký lại Kết thúc Bảng Đặ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 đăng nhập vào ứng dụng Tiền điều kiện Thiết bị sử dụng kết nối Internet Hậu điều kiện Đăng nhập thành cơng Luồng kiện Ấn vào nút cá nhân menu phía 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ủ đăng nhập Kết thúc ‐ Luồng 1: Luồng kiện nhánh Đăng nhập không thành công Hiển thị trang chủ chưa đăng nhập Kết thúc Bảng Đặ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ả Mục tiêu Tác nhân đă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 kết nối Internet Hậu điều kiện Đăng xuất thành công, quay trang chủ hệ thống chưa đăng nhập Luồng kiện Ấn vào nút cá nhân menu phía hình Hệ thống hiển thị trang cá nhân Nhấn vào nút đăng xuất góc bên phải hình Hệ thống xóa phiên đăng nhập chuyển hướng đến trang cá nhân chưa đăng nhập Kết thúc Bảng Đặ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ả xem nội dung chương truyện(đọc truyện) Tiền điều kiện Thiết bị sử dụng kết nối Internet Hậu điều kiện Xem nội dung chương truyện Luồng kiện Ấn vào truyện muốn đọc Hệ thống hiển thị trang thông tin truyện Nhấn vào nút đọc truyện nhấn vào chương truyện chọn chương muốn đọc Hệ thống hiển thị chương truyện Kết thúc Bảng Đặc tả use case xem truyện 2.3 Thiết kế hệ thống - Thiết kế giao diện Trang chủ Hình Thiết kế trang chủ Trang thể loại Hình Thiết kế trang thể loại Trang tìm kiếm Hình Thiết kế trang tìm kiếm Trang cá nhân