1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mai văn nhật tiến

69 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Giới Thiệu Và Đánh Giá Về Sách
Tác giả Mai Văn Nhật Tiến
Người hướng dẫn TS. Nguyễn Trần Quốc Vinh
Trường học Trường Đại Học Sư Phạm Đà Nẵng
Chuyên ngành Khoa Tin Học
Thể loại Báo Cáo Khóa Luận Tốt Nghiệp
Năm xuất bản 2019
Thành phố Đà Nẵng
Định dạng
Số trang 69
Dung lượng 1,9 MB

Cấu trúc

  • 1. Tính cấp thiết của đề tài (12)
  • 2. Mục tiêu và nhiệm vụ nghiên cứu (12)
    • 2.1 Mục tiêu (12)
    • 2.2 Nhiệm vụ (13)
  • 3. Đối tƣợng và phạm vi nghiên cứu (13)
    • 3.1 Đối tƣợng nghiên cứu (13)
    • 3.2 Phạm vi nghiên cứu (13)
  • 4. Phương pháp nghiên cứu (14)
    • 4.1 Về mặt lý thuyết (14)
    • 4.2 Về mặt lập trình (14)
  • 5. Phương tiện, công cụ triển khai (14)
  • 6. Kết quả dự kiến và hướng phát triển của đề tài (14)
    • 6.1 Kết quả dự kiến (15)
    • 6.2 Hướng phát triển của đề tài (15)
  • 7. Bố cục của đề tài (15)
  • CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN (15)
    • 1.1 Lý thuyết tổng quan (17)
      • 1.1.1 Ngôn ngữ ruby (17)
      • 1.1.2 Rails Framework (22)
      • 1.1.3 Giới thiệu về hệ quản trị cơ sở dữ liệu SQLite (28)
      • 1.1.4 Phân lớp văn bản (29)
      • 1.1.5 Thuật toán Naive Bayes Classifier (30)
    • 1.2 Triển khai thực hiện (33)
      • 1.2.1 Mô tả đề tài (33)
    • 1.3 Phân tích website (34)
      • 1.3.1 Khảo sát yêu cầu (34)
      • 1.3.2 Phân tích yêu cầu (35)
  • CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ (36)
    • 2.1 Mục tiêu và chức năng của hệ thống (36)
    • 2.2 Phân tích thiết kế hệ thống thông tin (37)
      • 2.2.1 Biểu đồ Use Case của hệ thống (37)
      • 2.2.2 Đặc tả Use Case (41)
      • 2.2.3 Sơ đồ tuần tự (50)
      • 2.2.4 Thiết kế sơ đồ cơ sở dữ liệu (53)
      • 2.2.5 Cấu trúc bảng và ràng buộc (54)
  • CHƯƠNG 3: TRIỂN KHAI VÀ KẾT QUẢ ĐẠT ĐƯỢC (16)
    • 3.1 Môi trường triển khai (58)
    • 3.2 Kết quả triển khai (58)
  • TÀI LIỆU THAM KHẢO (69)

Nội dung

Tính cấp thiết của đề tài

Ngày nay, việc ứng dụng công nghệ thông tin và tin học hóa đã trở thành yếu tố quyết định trong hoạt động của chính phủ, tổ chức và doanh nghiệp Công nghệ thông tin đóng vai trò quan trọng, giúp tạo ra những bước đột phá mạnh mẽ trong mọi lĩnh vực.

Nhu cầu đọc và mua sách tại Việt Nam ngày càng tăng, nhưng cuộc sống bận rộn khiến nhiều người không có thời gian tìm kiếm sách phù hợp Do đó, việc xây dựng một website chuyên giới thiệu và review sách hay sẽ giúp tiết kiệm thời gian và giúp độc giả dễ dàng lựa chọn những quyển sách bổ ích cho bản thân.

Việc xem các bình luận và đánh giá của người dùng trên các trang sách thường gặp khó khăn do sự lộn xộn và thiếu phân loại rõ ràng Điều này khiến người dùng khó khăn trong việc tìm kiếm những cuốn sách phù hợp với nhu cầu của mình Hơn nữa, hiện nay có rất ít website chuyên cung cấp đánh giá sách với tính năng tự động phân loại các nhận xét, điều này hạn chế trải nghiệm của người dùng trong việc khám phá và chọn lựa sách Xuất phát từ thực tế này, tôi đã quyết định chọn đề tài: “XÂY DỰNG WEBSITE GIỚI THIỆU, ĐÁNH GIÁ SÁCH”.

Hệ thống "VỀ SÁCH" được phát triển bằng ngôn ngữ Ruby on Rails, tích hợp nhiều gem hỗ trợ, giúp tự động phân loại các đánh giá sách của người dùng theo nhiều tiêu chí khác nhau.

Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu

 Website được sắp xếp bố cục một cách hợp lý thân thiện với người dùng, tạo điều kiện cho người đọc dễ định hướng trong website

SVTH: MAI VĂN NHẬT TIẾN 2

 Website có hình thức đẹp phù hợp với chủ đề, có đầy đủ nội dung người dùng quan tâm, thân thiện và thích hợp với mọi lứa tuổi.

Nhiệm vụ

Để đạt được những mục tiêu trên thì nhiệm vụ đặt ra của đề tài là:

 Khảo sát nhu cầu của mọi người về việc đọc sách và xem giới thiệu review về sách trước khi mua

 Tìm hiểu các loại sách trên thị trường được nhiều người quan tâm

 Quản lý thông tin sách

Xây dựng các chức năng như hiển thị sách mới và hot trên thị trường, cho phép người dùng đăng nhập để đánh giá và bình luận về sách, hiển thị đánh giá và phê bình từ người dùng khác, cùng thông tin về tác giả và thể loại Hệ thống cũng hỗ trợ người dùng tìm kiếm và đánh giá sách theo thang điểm, đề xuất thêm sách cho quản trị viên, đánh dấu sách yêu thích, và theo dõi các hoạt động của bản thân cũng như của người dùng khác trên trang cá nhân.

 Tự động phân lớp những bình luận tích cực và tiêu cực của người dùng

 Thống kê sách được yêu thích nhất và xem các loại sách được yêu thích

 Liên kết với tài khoản gmail và facebook của người dùng.

Đối tƣợng và phạm vi nghiên cứu

Đối tƣợng nghiên cứu

 Các công ty, doanh nghiệp về sách và các hiệu sách trên cả nước

 Những người quan tâm và có sở thích về sách muốn tìm hiểu và xem những đánh giá khách quan về sách trước khi mua

 Hướng đến người dùng ở mọi lứa tuổi.

Phạm vi nghiên cứu

 Đề tài nghiên cứu xây dựng hệ thống giới thiệu, đánh giá sách trong một phạm vi nhỏ, trong một vài thể loại cụ thể

SVTH: MAI VĂN NHẬT TIẾN 3

 Giới hạn về thời gian của dữ liệu trong vòng 3 năm gần đây.

Phương pháp nghiên cứu

Về mặt lý thuyết

 Nghiên cứu các tài liệu về ngôn ngữ lập trình ruby on rails

 Khảo sát nhu cầu thực tế, sử dụng các phương pháp phỏng vấn, điều tra, phân tích, thống kê

 Tìm hiểu, tham khảo các ứng dụng sử dụng ngôn ngữ Ruby on Rails và các website giới thiệu về sách, nghiên cứu và ứng dụng vào đề tài

 Tìm hiểu về khai phá dữ liệu và thuật toán Machine Learning

 Tìm hiều về các gem hỗ trợ trong rails.

Về mặt lập trình

 Sử dụng những kỹ thuật thiết kế website để đưa website giới thiệu về sách vào thực tiễn ngày nay

 Nghiên cứu sử dụng các nền tảng Gem hổ trợ của rails và áp dụng vào đề tài

 Nghiên cứu về thuật toán phân lớp văn bản K-nearest neighbor và các module hỗ trợ.

Phương tiện, công cụ triển khai

 Xây dựng hệ thống trên hệ điều hành Ubuntu

 Ngôn ngữ lập trình được sử dụng là Ruby viết trên nền tảng của rails

 Trình soạn thảo biên dịch Sublime text

 Công cụ lưu trữ mã nguồn: Git

 Cơ sở dữ liệu: SQLite

 Công cụ kiểm thử: Rspec, Rubocop

Kết quả dự kiến và hướng phát triển của đề tài

Kết quả dự kiến

Kết quả đạt đƣợc là một website có những yếu tố sau :

 Hình ảnh đăng tải với chất lượng cao

 CSDL bảo mật cao về quản lí thông tin thành viên

 Hiển thị tất cả hình ảnh về thông tin sách được giới thiệu

 Chức năng bình luận, đánh giá của khách hàng với sách

 Thống kê lượt sách thường được yêu thích, bình luận và đánh giá về chất lượng của sách

 Phân quyền truy cập đối với người quản trị hệ thống và người dùng

 Hiển thị các hoạt động của người dùng lên trang chủ

 Cho phép người dùng đề xuất thêm mới sách Đánh dấu sách theo sở thích

 Chức năng cho phép người dùng tìm kiếm theo thể loại sách, tiêu đề, theo yêu thích của sách

 Chức năng tự động phân loại nhận xét, đánh giá của người dùng dựa trên nội dung nhận xét.

Hướng phát triển của đề tài

Có thể áp dụng vào thực tế.

Bố cục của đề tài

Trong bài viết này, chúng tôi sẽ trình bày lý do lựa chọn đề tài, xác định khách thể và đối tượng nghiên cứu, đồng thời giới hạn phạm vi nghiên cứu Ngoài ra, chúng tôi cũng sẽ nêu rõ nhiệm vụ nghiên cứu và phương pháp được áp dụng trong quá trình thực hiện đề tài.

GIỚI THIỆU TỔNG QUAN

Lý thuyết tổng quan

Ruby được tạo ra bởi Yukihiro Matsumoto (hay cònđược gọi là Matz),người Nhật Bản, vào ngày 24 tháng 2, 1993 và đưa ra bản chính thức vào năm 1995

Ruby chịu ảnh hưởng lớn từ Perl, và khi hoàn thành ngôn ngữ này, Matz đã đùa rằng nên đặt tên cho nó giống như một loại đá quý Bạn của anh đã gợi ý cái tên Ruby, mà sau này Matz nhận ra rằng Ruby tượng trưng cho những người sinh tháng 7, trong khi Pearl tượng trưng cho tháng 6 Anh cho rằng tên Ruby rất phù hợp vì nó kế thừa và phát triển nhiều đặc tính từ Perl.

Hiện nay, có nhiều ngôn ngữ lập trình cho lập trình viên lựa chọn, nhưng việc chọn ngôn ngữ phù hợp có thể khó khăn, đặc biệt với lập trình viên mới Ruby là một lựa chọn tuyệt vời cho những người mới bắt đầu, vì đây là ngôn ngữ mã nguồn mở, hướng đối tượng thuần túy, trong đó mọi giá trị đều là đối tượng Ruby được thiết kế với mục tiêu đơn giản và hiệu suất cao, lấy cảm hứng từ các ngôn ngữ như Lisp, Perl và Smalltalk Ngoài việc hỗ trợ lập trình hướng đối tượng, Ruby còn cho phép lập trình theo kiểu thủ tục và chức năng.

1.1.1.3 Ruby có thể làm đƣợc những gì?

Ruby đã tạo nên những nét đặc biệt nhất của những ngôn ngữ lập trình Những nét chính đó là:

SVTH: MAI VĂN NHẬT TIẾN 7

Ruby là một ngôn ngữ lập trình mạnh mẽ, kết hợp hoàn hảo giữa sức mạnh của lập trình hướng đối tượng và tính tiện lợi của ngôn ngữ kịch bản như Perl Chương trình Ruby có cấu trúc nhỏ gọn và dễ đọc, giúp lập trình viên dễ dàng phát triển và bảo trì mã nguồn.

Cú pháp của ngôn ngữ này rất đơn giản, trực quan và dễ đọc, không có những trường hợp đặc biệt phức tạp cần ghi nhớ Các khái niệm như instance, số nguyên và lớp tương tự như trong các ngôn ngữ khác, giúp người học dễ dàng hình dung và dự đoán cách thực hiện các khái niệm mới từ những kiến thức cơ bản.

Ruby giúp lập trình viên giảm bớt gánh nặng khi làm việc với các trình biên dịch, cho phép họ tập trung vào việc khắc phục lỗi một cách thủ công nhờ vào tính chất vô hình và khả năng kiểm soát của ngôn ngữ này.

Ruby là một ngôn ngữ lập trình mã nguồn mở, cho phép người dùng và nhà phát triển sử dụng miễn phí mà không bị ràng buộc về hệ điều hành hay các vấn đề pháp lý Ngôn ngữ này có thể hoạt động trên nhiều nền tảng, bao gồm Unix, Linux và Microsoft Windows.

1.1.1.4 So sánh với các ngôn ngữ lập trình khác

Giống nhƣ Java, Ruby cũng có:

 Bộ nhớđược quản lý thông qua bộ thu dọn rác (garbage collector)

 Đối tượng là chủ đạo

 Đều có những method public, private, protected

Không giống nhƣ Java, trong Ruby:

 Không cần biên dịch code, ta có thể chạy trực tiếp

 Sử dụng từ khóa “end” sau khi định nghĩa một cái gì đó, ví dụ như class, thay vì đặt dấu ngoặc quanh khối lệnh

SVTH: MAI VĂN NHẬT TIẾN 8

 Sử dụng “require” thay vì “import” ở Java

 Tất cả các biến thành viên là private Từ bên ngoài, ta có thể truy xuất mọi thứ qua các method

 Mọi thứ đều là đối tượng, bao gồm cả số, ví dụ như 5 và 3.14

 Tên biến chỉ là một cái nhãn, không một kiểu đi kèm với nó

 Contructor luôn luôn có tên là “initialize” thay vì có tên của class

Trong Ruby, phép so sánh == và equal?() có cách xử lý khác nhau Sử dụng == để kiểm tra sự tương đương giữa các giá trị, tương tự như equal() trong Java Ngược lại, equal?() được dùng để xác định xem hai đối tượng có phải là cùng một thực thể hay không, tương đương với phép so sánh == trong Java.

Giống nhƣ C++, Ruby cũng có:

 Đều có những method public, protected, privated

 Cú pháp kế thừa(inheritance) chỉ có một kí tự (với Ruby là “

Ngày đăng: 09/05/2022, 11:40

HÌNH ẢNH LIÊN QUAN

Hình 2: Kiến trúc tổng quan của Ruby on rails - Mai văn nhật tiến
Hình 2 Kiến trúc tổng quan của Ruby on rails (Trang 25)
Hình 3: Biểu đồ Use Case mơ tả chức năng của hệ thống - Mai văn nhật tiến
Hình 3 Biểu đồ Use Case mơ tả chức năng của hệ thống (Trang 37)
Hình 4: Biểu đồ Use Case mơ tả chức năng của khách vãng lai - Mai văn nhật tiến
Hình 4 Biểu đồ Use Case mơ tả chức năng của khách vãng lai (Trang 38)
Hình 5: Biểu đồ Use Case mơ tả chức năng của thành viên - Mai văn nhật tiến
Hình 5 Biểu đồ Use Case mơ tả chức năng của thành viên (Trang 39)
Hình 6: Biểu đồ Use Case mơ tả chức năng của quản trị viên - Mai văn nhật tiến
Hình 6 Biểu đồ Use Case mơ tả chức năng của quản trị viên (Trang 40)
Bảng 6: Bảng đặc tả Use Case cập nhật sách Mã Usecase US07 - Mai văn nhật tiến
Bảng 6 Bảng đặc tả Use Case cập nhật sách Mã Usecase US07 (Trang 44)
Bảng 8: Bảng đặc tả Use Case tạo tài khoản mới Mã Usecase US09 - Mai văn nhật tiến
Bảng 8 Bảng đặc tả Use Case tạo tài khoản mới Mã Usecase US09 (Trang 45)
Bảng 10: Bảng đặc tả Use Case cập nhật quyền cho user Mã Usecase US11 - Mai văn nhật tiến
Bảng 10 Bảng đặc tả Use Case cập nhật quyền cho user Mã Usecase US11 (Trang 46)
Bảng 12: Bảng đặc tả Use Case xem danh sách yêu cầu Mã Usecase US13 - Mai văn nhật tiến
Bảng 12 Bảng đặc tả Use Case xem danh sách yêu cầu Mã Usecase US13 (Trang 47)
Bảng 14: Bảng đặc tả Use Case xĩa yêu cầu Mã Usecase US15 - Mai văn nhật tiến
Bảng 14 Bảng đặc tả Use Case xĩa yêu cầu Mã Usecase US15 (Trang 48)
Bảng 19: Bảng đặc tả Use Case xĩa bình luận của đánh giá Mã Usecase US20 - Mai văn nhật tiến
Bảng 19 Bảng đặc tả Use Case xĩa bình luận của đánh giá Mã Usecase US20 (Trang 50)
Hình 7: Sơ đồ tuần tự chức năng đăng kí - Mai văn nhật tiến
Hình 7 Sơ đồ tuần tự chức năng đăng kí (Trang 51)
Hình 10: Sơ đồ tuần tự chức năng thêm đánh giá - Mai văn nhật tiến
Hình 10 Sơ đồ tuần tự chức năng thêm đánh giá (Trang 52)
Hình 9: Sơ đồ tuần tự chức năng đăng nhập - Mai văn nhật tiến
Hình 9 Sơ đồ tuần tự chức năng đăng nhập (Trang 52)
Hình 12:Sơ đồ cơ sở dữ liệu quan hệ - Mai văn nhật tiến
Hình 12 Sơ đồ cơ sở dữ liệu quan hệ (Trang 53)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w