- Luồng sự kiện chính: Hành động của tác nhân Hành động của hệ thống 1.. - Điều kiện sau: Admin, thành viên đã đăng nhập vào tài khoản... - Luồng sự kiện chính: Hành động của tác nhân Hà
Trang 1VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO
ĐỒ ÁN CHUYÊN NGÀNH 1
XÂY DỰNG ỨNG DỤNG ĐỌC TRUYỆN ĐA NỀN TẢNG
Giảng viên hướng dẫn : TS HỒ VĂN PHI
Sinh viên thực hiện : TRẦN MINH ĐỨC
Lớp : 18IT4
Đà Nẵng, ngày 20 tháng 10 năm 2021
Trang 2VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO
ĐỒ ÁN CHUYÊN NGÀNH 1
XÂY DỰNG ỨNG DỤNG ĐỌC TRUYỆN ĐA NỀN TẢNG
Giảng viên hướng dẫn : TS HỒ VĂN PHI
Sinh viên thực hiện : TRẦN MINH ĐỨC
Lớp : 18IT4
Đà Nẵng, ngày 20 tháng 10 năm 2021
Trang 3Để đồ án chuyên ngành này đạt kết quả tốt đẹp, chúng tôi đã nhận được sự hỗ trợ,giúp đỡ của thầy cô Với tình cảm sâu sắc, chân thành, cho phép tôi được bày tỏ lòngbiết ơn sâu sắc đến tất cả quý thầy cô đã tạo điều kiện giúp đỡ trong quá trình học tập
và nghiên cứu và phát triển đề tài
Trước hết tôi xin gửi tới các thầy cô khoa Khoa học máy tính – Trường Đại họcCông nghệ thông tin và Truyền thông Việt - Hàn lời chào trân trọng, lời chúc sứckhỏe và lời cảm ơn sâu sắc Với sự quan tâm, dạy dỗ, chỉ bảo tận tình chu đáo củathầy cô, đến nay tôi đã có thể hoàn thành Đồ án chuyên ngành 1 Đặc biệt chúng tôixin gửi lời cảm ơn chân thành nhất tới giảng viên, tiến sĩ Hồ Văn Phi đã quan tâmgiúp đỡ, hướng dẫn chúng tôi hoàn thành tốt đồ án này trong thời gian qua
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của sinh viên, đồ ánnày không thể tránh được những thiếu sót Chúng tôi rất mong nhận được sự chỉ bảo,đóng góp ý kiến của các thầy cô để tôi có điều kiện bổ sung, nâng cao ý thức củamình, phục vụ tốt hơn công tác thực tế sau này
Tôi xin chân thành cảm ơn!
Trang 4(Của giảng viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
Ký tên
(Giáo viên hướng dẫn)
Trang 6LỜI CẢM ƠN 3
NHẬN XÉT 4
MỤC LỤC 5
MỞ ĐẦU 7
1 Tổng quan 7
2 Công cụ, kết quả 7
3 Cấu trúc đồ án 7
CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 8
1.1 Tìm hiểu về các công cụ 8
1.1.1 Về nền tảng Website 8
1.1.2 Về nền tảng Android 9
1.2 Kết luận 10
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 11
2.1 Mô hình tổng quan 11
2.1.1 Yêu cầu chức năng 11
2.1.2 Yêu cầu phi chức năng 11
2.1.3 Yêu cầu hệ thống 11
2.2.1 Xác định các tác nhân 11
2.2.2 Xác định các trường hợp sử dụng 11
2.2.3 Biểu đồ trường hợp sử dụng 13
2.2.4 Đặc tả các trường hợp sử dụng 14
2.3 Mô hình hóa khái niệm 22
2.3.1 Các lớp biên của hệ thống 22
2.3.2 Các lớp điều khiển của hệ thống 22
Trang 7CHƯƠNG 3: SẢN PHẨM HOÀN THIỆN 24
3.1 Cơ sở dữ liệu 24
3.2 Nền tảng website 25
3.3 Nền tảng Android 30
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 34
Trang 8MỞ ĐẦU
1 Tổng quan
Truyện tranh, là một phương tiện được sử dụng để thể hiện ý tưởng bằng hình ảnh,thường kết hợp với các văn bản hoặc thông tin hình ảnh khác truyện tranh thường có cácdạng chuỗi hình ảnh nối tiếp nhau, thông thường các dạng văn bản như bóng hội thoại(speech balloon), chú thích và từ tượng thanh biểu thị đoạn hội thoại tường thuật, hiệu ứng
âm thanh hoặc thông tin khác Kích thước và sự sắp xếp các khung tranh góp phần tạo nhịp
độ tường thuật
Ngày nay, xã hội ngày càng phát triển, nhu cầu giải trí của con người cũng theo đó tănglên, và một trong những cách giải trí đó là đọc truyện Tuy nhiên có rất ít ứng dụng đọctruyện được xây dựng trên nhiều nền tảng, phần lớn chúng chỉ có trên nền tảng website.Trên cơ sở đó, em quyết định xây dựng một ứng dụng đọc truyện đa nền tảng
2 Công cụ, kết quả
Công cụ: Sublime Text 3, Android studio
Ngôn ngữ: HTML, CSS, Javascript, PHP
Mã nguồn mở: Laravel
Hệ quản trị cơ sở dữ liệu: mySQL
Kết quả: Xây dựng được ứng dụng đọc truyện hoàn thiện có thể chạy trên nhiều nền tảng
3 Cấu trúc đồ án
Cấu trúc của đồ án gồm 4 phần:
- Chương 1: Nghiên cứu tổng quan
- Chương 2: Phân tích thiết kế hệ thống
- Chương 3: Sản phẩm hoàn thiện
- Chương 4: Kết luận và hướng phát triển
Trang 9CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN
để phát triển các ứng dụng phần mềm thông qua lập trình web đặc điểm của ngôn ngữ lập trìnhnày là sử dụng mã nguồn mở, dễ dàng nhúng vào HTML để phát triển website
b) Framework là gì?
Framework là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thưviện lập trình được đóng gói Chúng cung cấp các tính năng có sẵn như mô hình, API và cácyếu tố khác để tối giản cho việc phát triển các ứng dụng web phong phú, năng động Cácframework giống như là chúng ta có khung nhà được làm sẵn nền móng cơ bản, bạn chỉ cầnvào xây dựng và nội thất theo ý mình
c) Laravel là gì?
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi TaylorOtwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiến trúc model-view-controller (MVC) Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng,một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cậpvào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứngdụng
Theo W3Techs, PHP được sử dụng cho 82% website, các tên tuổi lớn có thể kể đến nhưFlickr, Facebook, WordPress, … PHP là ngôn ngữ lập trình phía máy chủ tuyệt vời bởi vì nócho phép bạn tập trung vào các nguyên tắc cơ bản chính, giúp bạn mở rộng bất cứ khi nào cầnthiết, phát triển nhanh chóng dễ dàng hơn với các code dễ bảo trì
d) Ưu và nhược điểm của Laravel
Ưu điểm
- Sử dụng các tính năng mới nhất của PHP
- Tài liệu phong phú
- Giảm chu kỳ phát triển truyện
- Hỗ trợ cache backend phổ biến
- Tích hợp với công cụ mail và dễ sử dụng
Trang 10 Nhược điểm
- Laravel không có những nhược điểm quá rõ ràng, chủ yếu đến từ việc khôngliên kết chặt chẽ giữa các phiên bản dẫn đến việc update gặp khó khăn hayframework này tương đối nặng dẫn tới việc tải trang trên các thiết bị di động sẽchậm đi đôi chút
e) Tính năng của Laravel
Những tính năng tuyệt vời có thể kể đến của Laravel là:
- Composer: sử dụng để nâng cấp, cài đặt…
- Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản
- Restful API: hỗ trợ biến Laravel thành một web service API
- Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng
- View: giúp code sạch sẽ hơn rất nhiều
- Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng,tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu
- Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật
Khi sử dụng Android Studio thì ta 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ềntruy cập vào Android SDK
b) Ưu và nhược điểm của Android Studio
Ưu điểm
- Được phát triển bởi chính Google, cũng là chủ sở hữu hệ điều hành Android
- Các gói công cụ hỗ trợ được cập nhật đầy đủ và mới nhất
- Giao diện và tính năng dễ làm quen và sử dụng của nó là một điểm cộng lớn
Trang 11- Tài liệu tham khảo và hướng dẫn rõ ràng và đầy đủ trên trang chủ, cũng như
và có vô số diễn đàn dành cho các lập trình viên Android
Nhược điểm
- Vì nó là bộ công cụ tích hợp tất cả, nên nó buộc phải tải toàn bộ những dữliệu hỗ trợ cho việc phát triển ứng dụng tối ưu nhất Đó là lượng dữ liệu lớnchiếm dụng không ít không gian bộ nhớ lưu trữ máy tính của bạn
- Android Studio là một phần mềm phát triển ứng dụng mà ở đó bạn có thểkiểm tra cách hoạt động của app ngay trên máy tính thông qua trình giả lậpcủa Android Studio Và nó chính là nguyên nhân gây đơ máy, lag, nóng hayhao pin trên laptop
c) Tính năng của Android Studio
Hệ thống Gradle-based linh hoạt
Xây dựng các biến thể và tạo nhiều tệp APK
Code các mẫu template để hỗ trợ các tính năng app thông thường
Chỉnh sửa bố cục đa dạng với khả năng kéo và thả theme
Công cụ lint giúp nắm bắt hiệu suất, khả năng sử dụng, phiên bản tương thích vàcác vấn đề khác
Trang 12CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Mô hình tổng quan
Sau đây là mô hình tổng quan hệ thống của website thông qua ngôn ngữ UML
2.1.1 Yêu cầu chức năng
2.1.2 Yêu cầu phi chức năng
- Giao diện website thân thiện, phù hợp
2.1.3 Yêu cầu hệ thống
- 200MB dung lượng ổ đĩa ở định dạng NTFS
- NET Framework 4.6 trở lên
- 1GB bộ nhớ RAM
- Hệ điều hành Window 10
2.2 Mô hình hóa yêu cầu
2.2.1 Xác định các tác nhân
- Người xem: Tác nhân chủ yếu vào đọc truyện
- Thành viên: Tác nhân đọc truyện và có thể bình luận truyện
- Admin: Tác nhân quản lý các truyện, hệ thống, thành viên
2.2.2 Xác định các trường hợp sử dụng
- Người xem:
+ Tìm kiếm truyện
+ Đọc truyện
Trang 13- Admin:
+ Đăng nhập tài khoản
+ Đăng xuất tài khoản
+ Chỉnh sửa thông tin tài khoản cá nhân
+ Quản lý tài khoản
+ Quản lý thể loại truyện
+ Quản lý truyện
+ Quản lý slide
+ Bình luận truyện
- Thành viên:
+ Đăng nhập tài khoản
+ Đăng xuất tài khoản
+ Chỉnh sửa thông tin tài khoản cá nhân
+ Đọc truyện
+ Tìm kiếm truyện
+ Bình luận truyện
Trang 142.2.3 Biểu đồ trường hợp sử dụng
Hình 1: Biểu đồ trường hợp sử dụng
Trang 152.2.4 Đặc tả các trường hợp sử dụng
Đăng nhập tài khoản
- Tác nhân: Admin, thành viên
- Mô tả: Cho phép người dùng đăng nhập vào tài khoản
- Điều kiện trước: Đã có tài khoản
- Luồng sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Truy cập link đăng nhập
3 Điền thông tin vào form đăng nhập
4 Chỉnh sửa thông tin đã điền vào form đăng
nhập
5 Xác nhận đăng nhập
2 Hiển thị form đăng nhập
6 Kiểm tra thông tin đã chính xác với yêu cầu của form chưa
7 Kiểm tra thông tin đã điền có tồn tạitrong hệ thống không
8 Đăng nhập tài khoản vào hệ thống
- Luồng sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
4 Điền sai username hoặc mật
khẩu 6 Thông tin đã điền sai với điều kiện form yêu
cầu Thông báo lỗi Hiển thị lại form đăng nhập
- Điều kiện sau: Admin, thành viên đã đăng nhập vào tài khoản
Trang 16Đăng xuất tài khoản
- Tác nhân: Admin, thành viên
- Mô tả: Admin, thành viên đăng xuất khỏi tài khoản
- Điều kiện trước: Đã đăng nhập vào tài khoản
- Luồng sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Admin, nhân viên chọn mục đăng xuất
2 Hệ thống thoát khỏi tài khoản đang được đăng nhập
- Điều kiện sau: Admin, thành viên đăng xuất thành công
Chỉnh sửa thông tin tài khoản cá nhân
- Tác nhân: Admin, thành viên
- Mô tả: Admin, thành viên chỉnh sửa thông tin cá nhân trong tài khoản
- Điều kiện trước: Đã đăng nhập vào tài khoản
- Luồng sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Chọn mục thông tin tài khoản
3 Thay đổi thông tin có trong form theo ý
muốn
4 Chọn sửa thông tin
2 Hiển thị form chỉnh sửa thông tin tài khoản
5 Lưu thông tin chỉnh sửa vào hệ thống
6 Thông báo đã chính sửa thành công
Trang 17- Luồng sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
4 Điền thiếu thông tin, sai thông tin
5 Báo lỗi Hiển thị lại form chỉnh sửa
- Điều kiện sau: Admin, thành viên chỉnh sửa thông tin tài khoản thành công
Chỉnh sửa thông tin tài khoản thành viên
- Tác nhân: Admin
- Mô tả: Admin chỉnh sửa thông tin trong tài khoản thành viên
- Điều kiện trước: Đã đăng nhập vào tài khoản admin
- Luồng sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Chọn mục thông tin tài khoản
3 Thay đổi thông tin có trong form theo ý
muốn
4 Chọn sửa thông tin
2 Hiển thị form chỉnh sửa thông tin tài khoản
5 Lưu thông tin chỉnh sửa vào hệ thống
6 Thông báo đã chính sửa thành công
- Luồng sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
4 Điền thiếu thông tin, sai thông tin
5 Báo lỗi Hiển thị lại form chỉnh sửa
- Điều kiện sau: Admin chỉnh sửa thông tin tài khoản thành công
Trang 18Thêm thành viên
- Tác nhân: Admin
- Mô tả: Admin thêm thông tin cá nhân trong tài khoản
- Điều kiện trước: Đã đăng nhập vào tài khoản admin
- Luồng sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Chọn mục thêm thành viên viên trong
quản lý thành viên
3 Nhập thông tin có trong form theo ý
muốn
4 Chọn thêm thành viên
2 Hiển thị form thêm thành viên
5 Lưu thông tin thành viên vào hệ thống
6 Thông báo đã thêm thành công
- Luồng sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
4 Điền thiếu thông tin, sai thông tin
5 Báo lỗi Hiển thị lại form thêm thành viên
- Điều kiện sau: Admin thêm tài khoản thành viên thành công
Tìm kiếm truyện
- Tác nhân: Người xem, thành viên
- Mô tả: Người xem muốn tìm kiếm một tin tức bất kì có trong website
- Điều kiện trước: Người xem đã vào trang web
- Luồng sự kiện chính:
Trang 19Hành động của tác nhân Hành động của hệ thống
Hành động của tác nhân Hành động của hệ thống
4 Thay đổi ý định Hủy bỏ tìm kiếm
6 Không có tin nào có một phần tên trùngvới từ khóa Thông báo không tìm thấy tintức tìm kiếm
- Điều kiện sau: Hiển thị các tin tức có trong website mà người xem muốn tìm
Xem truyện
- Tác nhân: Người xem, thành viên
- Mô tả: Người xem muốn xem truyện
- Điều kiện trước: Website đang hiển thị các truyện
- Luồng sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Chọn mục truyện muốn xem
2 Hiển thị trang web có đầy đủ thông tin truyện đã chọn
- Điều kiện sau: Xem được đầy đủ thông tin truyện
Trang 20Thêm truyện
- Tác nhân: Admin
- Mô tả: Admin thêm được truyện vào hệ thống
- Điều kiện trước: Đã đăng nhập vào tài khoản
2 Hiển thị form thêm truyện
6 Thêm truyện vào trong hệ thống
- Luồng sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
5 Thay đổi ý định, hủy thêm tin và bấm
quay lại
- Điều kiện sau: Admin, nhân viên thêm thành công truyện vào trong hệ thống
Xóa truyện
- Tác nhân: Admin
- Mô tả: Admin xóa được truyện có trong hệ thống
- Điều kiện trước: Đã đăng nhập vào tài khoản
- Luồng sự kiện chính:
Trang 21Hành động của tác nhân Hành động của hệ thống
1 Chọn truyện muốn xóa trên website
2 Chọn mục xóa trong trang web của tin
3 Xóa truyện ra khỏi hệ thống
- Điều kiện sau: Admin xóa thành công truyện ra khỏi hệ thống
Sửa truyện
- Tác nhân: Admin
- Mô tả: Admin chỉnh sửa được truyện trong hệ thống
- Điều kiện trước: Đã đăng nhập vào tài khoản
2 Hiển thị form sửa truyện
6 Lưu truyện đã chỉnh sửa vào trong hệ thống
- Luồng sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
5 Thay đổi ý định, hủy sửa và bấm quay lại
- Điều kiện sau: Admin sửa thành công truyện vào trong hệ thống
Trang 22Sửa danh mục truyện
- Tác nhân: Admin
- Mô tả: Admin chỉnh sửa được danh mục truyện vào hệ thống
- Điều kiện trước: Đã đăng nhập vào tài khoản
- Luồng sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Chọn mục sửa danh mục truyện
4 Điền thông tin muốn chỉnh sửa
5 Nhấn nút sửa
2 Hiển thị form sửa danh mục truyện
6 Lưu thông tin đã chỉnh sửa vào trong hệthống
- Luồng sự kiện phụ
Hành động của tác nhân Hành động của hệ thống
5 Thay đổi ý định, hủy sửa và bấm quay
lại
Điều kiện sau: Admin sửa thành công danh mục truyện vào trong hệ thống
Trang 232.3 Mô hình hóa khái niệm
Trang 24Hình 4: Các lớp đối tượng.
2.3.4 Biểu đồ lớp
Hình 5: Biểu đồ lớp
Trang 25CHƯƠNG 3: SẢN PHẨM HOÀN THIỆN 3.1 Cơ sở dữ liệu
Gồm 8 bảng:
- Users: Chứa các dữ liệu về id, tên tài khoản, email, mật khẩu và quyền của tài khoản
- Password_resets: Chứa id, email, token
- Slide: Chứa dữ liệu về id, tên, hình ảnh, nội dung và id truyện của slide
- Truyen: Chứa id, tiêu đề truyện, tóm tắt, nội dung, id thể loại và số lượt xem
- Theloai: Chứa id thể loại truyện, tên thể loại và tên không dấu của thể loại
- Chap: Chứa id chap, id truyện, thứ tự chap và tiêu đề
- Trang: Chứa id trang truyện, id chap, thứ tự trang truyện
- Comment: Chứa id bình luận, id chap và thứ tự bình luận