Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
1,91 MB
Nội dung
TRƢỜNG ĐẠI HỌC SƢ PHẠM ĐẠI HỌC ĐÀ NẴNG KHOA TIN HỌC BÁO CÁO KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG WEBSITE GIỚI THIỆU VÀ ĐÁNH GIÁ VỀ SÁCH CBHD: TS Nguyễn Trần Quốc Vinh Sinh viên thực hiện: Mai Văn Nhật Tiến Mã sinh viên: 312022151151 Lớp sinh hoạt: 15CNTT1 Đà Nẵng, 4/2019 LỜI CẢM ƠN Để hoàn thành đồ án thực tập nổ lực thân, em nhận hướng dẫn giúp đỡ tận tình từ nhiều phía Tất điều trở thành động lực lớn giúp em hoàn thành tốt đợt thực tập Với tất cảm kích em xin gửi lời cảm ơn đến tất người Trước tiên em xin chân thành cảm ơn thầy Ts Nguyễn Trần Quốc Vinh nhiệt tình hỗ trợ, hướng dẫn em việc chọn đề tài, hướng tiếp cận, giúp chúng em chỉnh sửa thiết sót trình nghiên cứu Và em xin gửi lời cảm, tri ân sâu sắc thầy cô Khoa Tin Học- Đại học Sư Phạm Đà Nẵng tận tình dạy bảo, giúp đỡ em thời gian em học trường thời gian em thực tập Em xin gửi lời cảm ơn đến lãnh đạo trường Đại học Sư phạm Đà Nẵng, lãnh đạo khoa Tin học tạo hội điều kiện học tập giúp em có kiến thức bổ ích để hồn thành đồ án nghiên cứu Xin trân trọng cảm ơn! Đà Nẵng, ngày 10 tháng 04 năm 2019 Sinh viên thực Mai Văn Nhật Tiến LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung báo cáo thực hướng dẫn trực tiếp thầy TS Nguyễn Trần Quốc Vinh Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Sinh viên thực Mai Văn Nhật Tiến NHẬN XÉT CỦA CÁN BỘ HƢỚNG DẪN Đà Nẵng, ngày tháng năm 2019 Cán hướng dẫn NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN Đà Nẵng, ngày tháng năm 2019 Hội đồng phản biện MỤC LỤC LỜI MỞ ĐẦU 1 Tính cấp thiết đề tài: Mục tiêu nhiệm vụ nghiên cứu: 2.1 Mục tiêu: 2.2 Nhiệm vụ: Đối tƣợng phạm vi nghiên cứu: 3.1 Đối tƣợng nghiên cứu: 3.2 Phạm vi nghiên cứu: Phƣơng pháp nghiên cứu: 4.1 Về mặt lý thuyết: 4.2 Về mặt lập trình: Phƣơng tiện, công cụ triển khai: Kết dự kiến hƣớng phát triển đề tài: 6.1 Kết dự kiến: 6.2 Hƣớng phát triển đề tài: Bố cục đề tài: CHƢƠNG 1: GIỚI THIỆU TỔNG QUAN 1.1 Lý thuyết tổng quan 1.1.1 Ngôn ngữ ruby 1.1.2 Rails Framework 11 1.1.3 Giới thiệu hệ quản trị sở liệu SQLite 17 1.1.4 Phân lớp văn 18 1.1.5 Thuật toán Naive Bayes Classifier 19 1.2 Triển khai thực 22 1.2.1 Mô tả đề tài 22 1.2.2 Quy trình cần thực 23 1.3 Phân tích website 23 1.3.1 Khảo sát yêu cầu 23 1.3.2 Phân tích yêu cầu 24 CHƢƠNG 2: PHÂN TÍCH THIẾT KẾ 25 2.1 Mục tiêu chức hệ thống 25 2.2 Phân tích thiết kế hệ thống thông tin 26 2.2.1 Biểu đồ Use Case hệ thống 26 2.2.2 Đặc tả Use Case 30 2.2.3 Sơ đồ 39 2.2.4 Thiết kế sơ đồ sở liệu 42 2.2.5 Cấu trúc bảng ràng buộc 43 CHƢƠNG 3: TRIỂN KHAI VÀ KẾT QUẢ ĐẠT ĐƢỢC 47 3.1 Môi trƣờng triển khai 47 3.2 Kết triển khai 47 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 57 TÀI LIỆU THAM KHẢO 58 MỤC LỤC HÌNH ẢNH Hình 1: Mơ hình MVC ruby 13 Hình 2: Kiến trúc tổng quan Ruby on rails 14 Hình 3: Biểu đồ Use Case mô tả chức hệ thống 26 Hình 4: Biểu đồ Use Case mô tả chức khách vãng lai 27 Hình 5: Biểu đồ Use Case mô tả chức thành viên 28 Hình 6: Biểu đồ Use Case mô tả chức quản trị viên 29 Hình 7: Sơ đồ chức đăng kí 40 Hình 8: Sơ đồ chức hiển thị sách 40 Hình 9: Sơ đồ chức đăng nhập 41 Hình 10: Sơ đồ chức thêm đánh giá 41 Hình 11: Sơ đồ chức thêm bình luận 42 Hình 12:Sơ đồ sở liệu quan hệ 42 Hình 13: Giao diện trang đăng ký 47 Hình 14: Giao diện trang đăng nhập 48 Hình 15: Giao diện trang chủ 48 Hình 16: Giao diện trang chi tiết sách 49 Hình 17: Giao diện trang hiển thị sách 50 Hình 18: Giao diện trang đánh giá sách 51 Hình 19: Giao diện trang gửi yêu cầu thêm sách 51 Hình 20: Giao diện trang đổi thông tin người dùng 52 Hình 21: Giao diện trang xem thơng tin bạn bè theo dõi 52 Hình 22: Giao diện trang hoạt động bạn bè 53 Hình 23: Giao diện trang sách yêu thích 53 Hình 24: Giao diện trang quản lý người dùng 54 Hình 25: Giao diện trang quản lý yêu cầu 55 Hình 26: Giao diện gửi mail xác nhận 55 Hình 27: Giao diện trang thống kê 56 MỤC LỤC BẢNG Bảng 1: Bảng đặc tả Use Case đăng nhập 30 Bảng 2: Bảng đặc tả Use Case đăng xuất 30 Bảng 3: Bảng đặc tả Use Case xem thông tin sách 31 Bảng 4: Bảng đặc tả Use Case thêm sách 32 Bảng 5: Bảng đặc tả Use Case xóa sách 32 Bảng 6: Bảng đặc tả Use Case cập nhật sách 33 Bảng 7: Bảng đặc tả Use Case xem thông tin người dùng 33 Bảng 8: Bảng đặc tả Use Case tạo tài khoản 34 Bảng 9: Bảng đặc tả Use Case cập nhật thông tin cá nhân 34 Bảng 10: Bảng đặc tả Use Case cập nhật quyền cho user 35 Bảng 11: Bảng đặc tả Use Case xóa tài khoản 35 Bảng 12: Bảng đặc tả Use Case xem danh sách yêu cầu 36 Bảng 13: Bảng đặc tả Use Case thêm yêu cầu 36 Bảng 14: Bảng đặc tả Use Case xóa yêu cầu 37 Bảng 15: Bảng đặc tả Use Case cập nhật trạng thái yêu cầu 37 Bảng 16: Bảng đặc tả Use Case xem đánh giá 37 Bảng 17: Bảng đặc tả Use Case xóa đánh giá 38 Bảng 18: Bảng đặc tả Use Case xem bình luận đánh giá 38 Bảng 19: Bảng đặc tả Use Case xóa bình luận đánh giá 39 Bảng 20: Bảng đặc tả Use Case thêm yêu thích sách 39 Bảng 21: Bảng người dùng 43 Bảng 22: Bảng sách 43 Bảng 23: Bảng yêu cầu 44 Bảng 24: Bảng thể loại 44 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Bảng SUGGESTS STT Tên trƣờng Kiểu liệu Ràng buộc liệu Mô tả id int PRIMARY KEY Mã yêu cầu user_id int FOREIGN KEY Mã người dùng title nvarchar (255) Tên sách content nvarchar (255) Nội dung sách author nvarchar (50) Tác giả category_name nvarchar(50) Tên thể loại Bảng 23: Bảng yêu cầu Bảng CATEGORIES STT Tên trƣờng Kiểu liệu Ràng buộc liệu Mô tả id int PRIMARY KEY Mã thể loại parent_id int Mã theo thể loại name nvarchar (50) Tên thể loại Bảng 24: Bảng thể loại Bảng FOLLOWS STT Tên trƣờng Kiểu liệu Ràng buộc liệu Mô tả id int PRIMARY KEY Mã theo dõi follower_id int Được theo dõi followed_id int Đang theo dõi Bảng 25: Bảng quan hệ user SVTH: MAI VĂN NHẬT TIẾN 44 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Bảng ACTIVITIES STT Tên trƣờng Kiểu liệu Ràng buộc liệu Mô tả id int PRIMARY KEY Mã hoạt động trackable_id int Mã hành động trackable_type nvarchar (50) Tên hành động owner_id int Mã người dùng key nvarchar(50) View hành đông (create, destroy) Bảng 26: Bảng hoạt động Bảng REVIEWS STT Tên trƣờng Kiểu liệu Ràng buộc liệu Mô tả id int PRIMARY KEY Mã đánh giá book_id int FOREIGN KEY Mã sách user_id int FOREIGN KEY Mã người dùng content text Nội dung đánh giá rate int Số lượng đánh giá Bảng 27: Bảng đánh giá Bảng LIKES STT Tên trƣờng Kiểu liệu Ràng buộc liệu Mô tả id int PRIMARY KEY Mã đánh giá book_id int FOREIGN KEY Mã sách user_id int FOREIGN KEY Mã người dùng Bảng 28: Bảng yêu thích SVTH: MAI VĂN NHẬT TIẾN 45 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Bảng COMMENTS STT Tên trƣờng Kiểu liệu Ràng buộc liệu Mô tả id int PRIMARY KEY Mã đánh giá review_id int FOREIGN KEY Mã đánh giá user_id int FOREIGN KEY Mã người dùng content text Nội dung bình luận Bảng 29: Bảng bình luận SVTH: MAI VĂN NHẬT TIẾN 46 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH CHƢƠNG 3: TRIỂN KHAI VÀ KẾT QUẢ ĐẠT ĐƢỢC 3.1 Môi trƣờng triển khai Công cụ lập trình: Sublime Text Ngơn ngữ lập trình: Ruby dùng framework Rails Thiết bị sử dụng: Localhost máy tính 3.2 Kết triển khai Giao diện trang đăng ký Hình 13: Giao diện trang đăng ký Giao diện trang đăng nhập SVTH: MAI VĂN NHẬT TIẾN 47 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Hình 14: Giao diện trang đăng nhập Giao diện trang chủ Hình 15: Giao diện trang chủ SVTH: MAI VĂN NHẬT TIẾN 48 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện trang chi tiết sách Hình 16: Giao diện trang chi tiết sách SVTH: MAI VĂN NHẬT TIẾN 49 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện trang hiển thị sách Hình 17: Giao diện trang hiển thị sách SVTH: MAI VĂN NHẬT TIẾN 50 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện trang đánh giá sách Hình 18: Giao diện trang đánh giá sách Giao diện trang gửi yêu cầu thêm sách Hình 19: Giao diện trang gửi yêu cầu thêm sách SVTH: MAI VĂN NHẬT TIẾN 51 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện trang đổi thông tin ngƣời dùng Hình 20: Giao diện trang đổi thơng tin người dùng Giao diện trang xem thông tin bạn bè theo dõi Hình 21: Giao diện trang xem thông tin bạn bè theo dõi SVTH: MAI VĂN NHẬT TIẾN 52 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện trang xem hoạt động bạn bè theo dõi Hình 22: Giao diện trang hoạt động bạn bè Giao diện trang sách đƣợc u thích Hình 23: Giao diện trang sách yêu thích SVTH: MAI VĂN NHẬT TIẾN 53 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện trang quản lý ngƣời dùng Hình 24: Giao diện trang quản lý người dùng SVTH: MAI VĂN NHẬT TIẾN 54 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện quản lý yêu cầu Hình 25: Giao diện trang quản lý yêu cầu Giao diện gửi mail xác nhận Hình 26: Giao diện gửi mail xác nhận SVTH: MAI VĂN NHẬT TIẾN 55 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH Giao diện trang thống kê Hình 27: Giao diện trang thống kê SVTH: MAI VĂN NHẬT TIẾN 56 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Đánh giá website: Ƣu điểm: Website có đầy đủ chức để thực đề tài Giao diện dễ sử dụng, thân thiện với người dùng Có mở rộng số chức hướng đến nhu cầu người dùng CSDL bảo mật cao quản lí thơng tin thành viên Hạn chế: Dữ liệu chưa hoàn chỉnh, chưa thực tế Website đơn giản, chưa triển khai tưởng xây dựng hệ thống đề tài Hƣớng phát triển đề tài Cập nhật giao diện rõ ràng chuyên nghiệp Tối ưu hóa hiệu suất cho hệ thống Hồn thiện chức phụ khác chưa làm, tiếp tục mở rộng ý tưởng chức cho hệ thống Có thể áp dụng hệ thống vào thực tế SVTH: MAI VĂN NHẬT TIẾN 57 BÁO CÁO KHÓA LUẬN GVHD: NGUYỄN TRẦN QUỐC VINH TÀI LIỆU THAM KHẢO Tài liệu sách, giáo trình: D Thomas, D H Hansson, “Agile Web Development with Rails”, Pragmatic Bookshelf, 2007 Michael Hartl, “Ruby on Rails Tutorial: Learn Web Development with Rails (4th Edition) (Addison-Wesley Professional Ruby Series)”, 2006 Michael Hartl, “Ruby on Rails Tutorial”, 2012 Nguyễn Quốc đại, “Lý thuyết Bayes, mạng Bayes”, 2009 Website: https://sqlite.org/draft/matrix/index.html https://sqlitebrowser.org/ https://www.railstutorial.org/book/ https://rubygems.org/ https://github.com/plataformatec/devise https://github.com/CanCanCommunity/cancancan https://github.com/activerecord-hackery/ransack https://chartkick.com/ https://github.com/chaps-io/public_activity 10 https://github.com/rubysherpas/paranoia SVTH: MAI VĂN NHẬT TIẾN 58 ... tưởng này, em chọn đề tài: “XÂY DỰNG WEBSITE GIỚI THIỆU, ĐÁNH GIÁ VỀ SÁCH” – hệ thống xây dựng ngơn ngữ ruby on rails có tích hợp gem hỗ trợ tính tự động phân loại đánh giá sách người dùng theo nhiều... đọc sách xem giới thiệu review sách trước mua Tìm hiểu loại sách thị trường nhiều người quan tâm Quản lý thông tin sách Xây dựng chức năng: thị sách hot thị trường, đăng nhập để đánh giá. .. khai thực 1.2.1 Mô tả đề tài Xây dựng website đáp ứng nhu cầu người đọc Tại bạn tìm đánh giá sách người dùng, thống kê đánh giá tốt sách hay cho bạn đọc, Bạn tìm cho sách phù hợp để đọc, giải trí,