GIỚI THIỆU ĐỀ TÀI
Lý do chọn đề tài
Với sự tiến bộ không ngừng của công nghệ máy tính và mạng điện tử, công nghệ thông tin đã đạt được nhiều thành tựu vượt bậc Internet trở thành một công cụ thiết yếu, đóng vai trò quan trọng trong việc truyền tải và trao đổi thông tin toàn cầu.
Hiện nay, việc truy cập thông tin trở nên dễ dàng hơn bao giờ hết; chỉ cần một máy tính có kết nối Internet, bạn có thể nhanh chóng tìm thấy mọi thông tin liên quan đến chủ đề quan tâm Toàn bộ thế giới thông tin, hình ảnh và thậm chí âm thanh sẽ xuất hiện ngay lập tức, đáp ứng nhu cầu của người dùng.
Internet đã giúp chúng ta thực hiện công việc nhanh chóng và tiết kiệm chi phí hơn so với phương pháp truyền thống, từ đó thúc đẩy sự phát triển của thương mại điện tử và chính phủ điện tử trên toàn cầu Sự chuyển mình này đã làm thay đổi đáng kể văn hóa và nâng cao chất lượng cuộc sống của con người.
Thương mại điện tử đã chứng minh vai trò quan trọng trong việc thúc đẩy sự phát triển của doanh nghiệp trong hoạt động sản xuất và kinh doanh Đồng thời, website cũng là nguồn tài nguyên quý giá, đóng góp lớn vào các hoạt động phục vụ cộng đồng, mang lại lợi ích cho tất cả mọi người.
Hiện nay, sự phát triển mạnh mẽ của công nghệ thông tin và Internet đã giúp hầu hết mọi người tiếp cận và sử dụng mạng Điều này dẫn đến sự gia tăng đáng kể số lượng website của các doanh nghiệp, tổ chức và cá nhân.
Nhiều website đã ra đời nhằm mục đích phục vụ cộng đồng và chia sẻ tài nguyên kiến thức, bao gồm các diễn đàn và trang web cung cấp tài liệu miễn phí Những nền tảng này được xây dựng với sự đóng góp tích cực từ các thành viên độc giả, mang lại lợi ích cho cộng đồng.
Hiện nay, nhiều trang web đã được xây dựng và phát triển thành công dựa trên ý tưởng này, điển hình như Wikipedia, ebook.edu.vn và violet.com.vn.
Với những lợi ích to lớn từ các trang web chia sẻ trực tuyến, tôi đã lấy cảm hứng để tạo ra một website sách trực tuyến Nơi đây, mọi người có thể chia sẻ kiến thức quý báu của mình với cộng đồng, từ đó cùng nhau phát triển và nâng cao tri thức chung.
1.3 Website sách trực tuyến và lợi ích cộng đồng
Website được thiết kế nhằm mục đích giúp mọi người và các thành viên chia sẻ tài liệu và kiến thức, đồng thời hỗ trợ nhau phát triển Do đó, giao diện ban đầu cần phải đơn giản và dễ hiểu để phù hợp với đa số thành viên.
Khi thành viên đóng góp tài liệu và chia sẻ kiến thức, họ có quyền truy cập vào các tài liệu hiện có trên Website Website ghi nhận những đóng góp này để bảo vệ quyền lợi của các thành viên, vì sự phát triển và tồn tại của Website phụ thuộc vào sự đóng góp từ cộng đồng độc giả.
Các thành phần chính của Website
- Là giao diện chính của Website dành cho các đối tượng là khách viếng thăm và tất cả các thành viên của Website
- Yêu cầu giao diện đơn giản, dễ sử dụng, phù hợp với tất cả đối tượng người dùng
2.2 Giao diện ban quản trị
Phần này dành cho ban quản trị và các thành viên có quyền quản lý, cho phép họ dễ dàng quản lý mọi hoạt động của website.
- Giao diện đơn giản đáp ứng được yêu cầu sử dụng.
Yêu cầu chức năng của người dùng
3.1 Chức năng tìm kiếm tài liệu
- Cho phép người dùng của hệ thống và các khách viếng thăm tìm kiếm tài liệu theo các tùy chọn khác nhau
- Tài liệu tìm kiếm được hiển thị dưới dạng danh sách cho người dùng lựa chọn
3.2 Chức năng hiển thị tài liệu, chuyên mục, bài viết
- Hiển thị các tài liệu hiện có trong thư viện khi người dùng lựa chọn vào thư viện đó
- Yêu cầu hiển thị tương ứng đối với mỗi loại tài liệu bao gồm: Tên tài liệu, ngày đăng, hình ảnh, người đăng, nội dung chính
- Ở giao diện trang chủ, tương ứng với mỗi thư viện chỉ hiển thị 3 tài liệu mới nhất
- Khi chọn vào xem nội dung thư viên thì mới hiển thị danh sách các tài liệu hiện có trong thư viện theo các trang
- Chỉ hiển thị nội dung cụ thể của tài liệu và một số thông tin khác khi người dùng chọn vào một tài liệu cụ thể
- Hiển thị các chuyên mục hiện có của Website hiện có
Hiển thị các chuyên mục dưới dạng danh sách cho phép người dùng dễ dàng lựa chọn từng chuyên mục và xem các bài viết liên quan.
- Hiển thị một số bài viết mới nhất của tất cả các chuyên mục trên giao diện trang chủ
- Hiển thị tất cả các bài viết của mỗi chuyên mục khi người dùng chọn vào chuyên mục nào đó
- Chỉ hiển thị tiêu đề bài viết, ngày gửi bài, người gửi và một phần nội dung bài viết dưới dạng danh sách
- Chỉ hiển thị nội dung của toàn bộ bài viết khi người dùng lựa chọn vào một bài viết cụ thể nào đó
3.3 Chức năng đăng, tải tài liệu
- Chức năng cho phép người dùng tải tài liệu hiện tại họ đang xem
- Cho phép đánh giá bình chọn tài liệu, góp ý hoặc thông báo tình trạng tài liệu nếu có vấn đề
- Thống kê cho người dùng danh sách tài liệu đã tải
- Cho phép người dùng là thành viên của hệ thống đăng, tải tài liệu của mình lên hệ thống
- Tính điểm cho người dùng khi họ có đóng góp tài liệu vào hệ thống
- Thống kê cho người dùng danh sách tài liệu họ đã đưa lên
3.4.Chức năng trưng cầu ý kiến
- Hiển thị câu hỏi trưng cầu do quản trị hệ thống đề ra
- Cho phép người dùng lựa chọn ý kiến của mình cho câu hỏi đặt ra
- Cho phép người dùng xem tỷ lệ bình chọn cho câu hỏi hiện tại
3.5.Chức năng thông tin cá nhân
- Cho phép người dùng xem thông tin cá nhân của bản thân, sửa đổi và bổ sung một số thông tin mở rộng nếu muốn
- Cho phép người dùng chọn đến các chức năng như gửi tin nhắn, xem tin nhắn, hoặc thay đổi mật khẩu
- Cho phép người dùng gửi tin nhắn đến các thành viên trong hệ thống
- Lựa chọn người dùng gửi tin nhắn trong danh sách hoặc tìm kiếm người dùng theo tài khoản
- Cho phép người dùng xem danh sách các tin nhắn đến và các tin đã gửi đi
- Xem trực tiếp nội của tin nhắn và trả lời lại người gửi tin
- Xem được tình trạng của tin nhắn đến và đã gửi (đã đọc tin nhắn hay chưa)
3.6.Chức năng đăng nhập, đăng ký
- Cho phép khách viếng thăm có thể đăng ký làm thành viên của hệ thống
- Yêu cầu không được chung địa chỉ email và tên đăng nhập
- Cho phép người dùng bổ sung một số thông tin cá nhân nếu muốn
-Cho phép người dùng đã đăng ký thành viên đăng nhập vào hệ thống để đăng tải tài liệu
- Cho phép người dùng đã đăng ký lấy lại mật khẩu nếu quên dựa vào email đã đăng ký của tài khoản
- Thông báo cho người dùng nếu mail không tồn tại
3.7.Chức năng hiển thị SiteMap
- SiteMap là cấu trúc của Website
- Hỗ trợ người dùng về cấu trúc Website
- Cho phép người dùng chuyển nhanh đến các thư viện hoặc chuyển mục khi được lựa chọn
3.8.Chức năng liên hệ ban quản trị
- Cho phép người dùng gửi ý kiến đóng góp tới quản trị hệ thống
3.9.Chức năng liên kết Website RSS
- RSS dùng để lấy tin tự động từ các trang Website về Website của mình
- Hiển thị danh sách các Website liên kết RSS với hệ thống
- Cho phép lựa chọn các chuyên mục của Website liên kết để xem nội dung các bài viết hiện có
4.Yêu cầu chức năng của ban quản trị
4.1.Chức năng quản lý thư viện
- Cho phép người quản trị và thành viên có quyền quản trị tạo mới một thư viện
- Số thư viện cấp cha bị hạn chế bởi quản trị
- Cho phép người quản trị quản lý các thư viện hiện có của Website
Khi chọn vào tài liệu trong thư viện, bạn có thể xem danh sách các tài liệu hiện có và danh sách người quản trị hiện tại Từ danh sách này, bạn cũng có khả năng gỡ bỏ quyền của người dùng một cách trực tiếp.
- Cho phép người quản trị và thành viên có quyền quản trị quản lý các tài liệu do người dùng đăng tải
- Người quản trị có quyền quản lý tài liệu ở tất cả các thư viện
- Thành viên có quyền quản trị chỉ quản lý được tài liệu trong thư viện mà họ được người quản trị cấp quyền
4.2.Chức năng quản lý chuyên mục
- Cho phép người quản trị và thành viên có quyền quản trị tạo mới chuyên mục để viết bài theo đúng chủ đề
- Số chuyên mục được tạo bị giới hạn bởi người quản trị
- Chức năng này cho phép người quản trị quản lý các chuyên mục hiện có của Website
- Cho phép người quản trị và thành viên có quyền quản trị được cấp quyền quản lý các bài viết có trong từng chuyên mục
- Người quản trị quản trị bài viết ở tất cả các chuyên mục
- Thành viên có quyền quản trị quản trị bài viết trong các chuyên mục mà họ được cấp quyền
Chức năng này cho phép quản trị viên và các thành viên có quyền quản trị đăng bài viết mới vào chuyên mục mà họ phụ trách.
4.3.Chức năng quản lý người dùng
- Người quản trị cấp quyền quản lý cho các thành viên trong hệ thống
- Xem và gỡ bỏ quyền đối với từng người dùng cụ thể
- Cho phép người quản trị quản lý tất cả các thành viên của hệ thống, có thể khóa tài khoản, cảnh báo hoặc sửa đổi quyền người dùng
- Đưa ra danh sách thống kê các thành viên đang online (trực tuyến) của hệ thống
4.4.Chức năng quản lý bình chọn
- Cho phép người quản trị thêm các câu hỏi trưng cầu và các phương án trả lời Mỗi lần xuống dòng là một phương án trả lời
- Đưa ra danh sách các câu hỏi trưng cầu đã được thêm của hệ thống
- Cho phép người quản trị lựa chọn một câu hỏi để trưng cầu ý kiến bạn đọc
- Cho phép sửa đổi hoặc xem tỷ lệ trưng cầu tương ứng với mỗi câu hỏi
4.5.Chức năng quản lý cài đặt
- Cho phép người quản trị thêm danh sách các kiểu tệp mở rộng
- Quy định điểm số được cộng cho các kiểu tệp mở rộng tương ứng
Chức năng cho phép quản trị viên tùy chỉnh các lựa chọn nâng cao cho hệ thống, bao gồm số lượng tài liệu hiển thị trên trang chủ, số thư viện và chuyên mục được tạo, cũng như thứ tự sắp xếp hiển thị của các bài viết.
4.6 Chức năng quản lý thùng rác
Chứa tài liệu và bài viết đã bị xóa, hệ thống hỗ trợ người quản trị hoặc thành viên có quyền quản trị khôi phục lại những nội dung này khi cần thiết.
- Nếu xóa ở đây sẽ không lấy lại được nữa
4.7 Chức năng quản lý tin nhắn
- Hiển thị các góp ý của người dùng tới ban quản trị hệ thống
- Cho phép người quản trị lựa chọn trả lời cho một người dùng hoặc phát tán tin nhắn đến toàn bộ thành viên trong hệ thống.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Chức năng hệ thống
1.1 Mô hình mức khung cảnh
THÀNH VIÊN QUẢN TRỊ Đăng tài liệu lên hệ thống
Tải tài liệu từ hệ thống
Xem tin tức, bài viết
1.2 Mô hình mức đỉnh Đăng ký thành viên hệ thống
Xem thông tin tài liệu Đăng tải tài liệu
Gửi trưng cầu Xem kêt quả bầu chọn TÌM KIẾM TÀI LIỆU
Xem bài viết Xem tin tức từ báo khác
Thêm mới Quản lý Trưng cầu
Thêm mới Quản lý Thư viện/ tài liệu
Thêm mới Quản lý Chuyên mục Bài viết
Quản lý Cấp quyền Người dùng
Chỉnh sửa thông tin cá nhân
Nhận và gửi tin nhắn
Cài đặt cấu hình website
T h ô n g t in c á n h â n C ấ u t rú c s it e N ộ i d u n g t à i liệ u T h ô n g t in t a i liệ m ớ i Y ê u c ầ u / k ế t q u ả Ý kiến / kết quả
Xóa tài liệu Bài viết
Thiết lập cấu hình Thêm/xóa
Người dùng Thông tin đăng ký
Thông tin cấu hình Thông tin chuyên mục và bài viết
Tin nhắn đến quản trị Tin nhắn đến quản trị
- Một số chức năng trong hệ thống a Chức năng đăng ký người dùng
NGƯỜI DÙNG MỚI ĐĂNG KÝ NGƯỜI DÙNG
Thông tin người dùng Thông tin người dùng
Thông báo b Chức năng đăng tài liệu
THÀNH VIÊN ĐÃ ĐĂNG NHẬP ĐĂNG TÀI LIỆU LÊN HỆ THỐNG
Thông tin tài liệu Thông tin tài liệu
Thông báo c Xem thông tin và tải tài liệu
THÀNH VIÊN ĐÃ ĐĂNG NHẬP
XEM VÀ TẢI TÀI LIỆU
Yêu câu người dùng Thông tin tài liệu
Nội dung, file tài liệu d Cấp quyền người dùng
Người dùng lựa chọn Quyền người dùng
Thiết kế cơ sở dữ liệu
Bảng tin nhắn người dùng
Bảng tin nhắn quản trị
Thiết kế xử lý
Sử dụng các thủ tục (procedure) lưu trữ trong cơ sở dữ liệu sẽ giúp tăng hiệu năng của cơ sở dữ liệu, mang lại các lợi ích sau:
- Đơn giản hoá các thao tác trên cơ sở dữ liệu nhờ vào khả năng module (tiêu chuẩn) hoá các thao tác này
Thủ tục lưu trữ được tối ưu hóa và phân tích, giúp việc thực thi nhanh chóng hơn so với việc thực hiện các câu lệnh SQL riêng lẻ theo cách truyền thống.
Thủ tục lưu trữ giúp thực hiện yêu cầu chỉ bằng một câu lệnh đơn giản, thay vì nhiều dòng lệnh SQL, từ đó giảm thiểu lưu lượng truy cập trên mạng.
Thay vì cấp quyền trực tiếp cho người dùng trên các câu lệnh SQL và đối tượng cơ sở dữ liệu, chúng ta có thể sử dụng các thủ tục lưu trữ để cấp quyền, từ đó nâng cao tính bảo mật cho hệ thống.
Một số thủ tục sử dụng trong hệ thống
- Thủ tục đăng ký thành viên mới của hệ thống create procedure RegisterUser
@point int as begin insert into tbl_User
([user_name],password,email,avatar,Status,Point,warm) values (@user_name,@password,@email,@avatar,1,@point,0)
- Thủ tục tìm kiếm tài liệu create procedure SearchFiles
The provided SQL query retrieves file information from the database based on specific filtering criteria It selects various attributes such as file ID, name, creation time, status, view count, download count, library name, user name, file URL, and content The results are filtered by library ID, user ID, file status, and a keyword search within the file name, library name, or user name Depending on the order parameter, the results can be sorted either by creation time in descending order or by file name in ascending order The query ensures that only files with a status other than 4 are included in the results.
- Thủ tục đăng tài liệu lên hệ thống create procedure UpLoadFile
@url_file nvarchar(1000) as begin insert into tbl_Files values
(@name_file,@source_file,@id_user,@time_create,1,0,0,@content_file,@im age_file,@id_library,@url_file,0,0)
Trigger là một loại thủ tục đặc biệt trong cơ sở dữ liệu, được sử dụng để tự động phản hồi khi có sự kiện cụ thể xảy ra liên quan đến thao tác dữ liệu.
- Trigger là một đoạn mã được gắn vào bảng dữ liệu, chúng được thực hiện khi có một sự kiện ứng với trigger gán với sự kiện ấy
Một số trigger sử dụng trong hệ thống
- Trigger tự động tạo đường dẫn khi thêm một thư viện mới
SET NOCOUNT ON added to prevent extra result sets from
SET NOCOUNT ON; exec GeneratePath – trigger tự động gọi một thủ tục khi có sự kiện
Thiết kế giao diện
- Thiết kế một khung chính để các trang thành viên chạy theo
Lấy ý tưởng từ mẫu website, bạn có thể xây dựng bộ khung chính cố định cho trang, trong khi các trang thành viên chỉ cần thay đổi phần nội dung.
- Thiết kế đơn giản mọi đối tượng người dùng dễ dàng thao tác
- Giao diện trang chủ hiển thị các tài liệu mới nhất
- Phần nội dung tương tự phần khung chính đã thiết kế
- Cho phép người dùng lựa chọn tài liệu, xem nội dung, cảnh báo hoặc tải tài liệu về
- Giao diện thiết kế sẽ chạy theo phân khung chính ở trên
- Đơn giản, dễ thao tác, phù hợp với nhiều người dùng
- Giao diện trang đăng tài liệu tương tự như trang chủ Cho phép người dùng đăng, tải tài liệu của mình lên hệ thống
- Giao diện thiết kế đơn giản, dễ thao tác, phù hợp với nhiều đối tượng người dùng
- Sử dụng ý tưởng của một số Website template miễn phí
- Thiết kế một bộ khung chung cho các trang khác chạy theo
- Thiết kế đơn giản để người dùng dễ thao tác nhưng vẫn đáp ứng đầy đủ yêu cầu quản lý
- Giao diện phần quản trị tương tự nhau
- Dễ thao tác, đảm bảo đầy đủ chức năng hệ thống.
CÀI ĐẶT VÀ THỬ NGHIỆM
Chuẩn bị
Lập đề cương chi tiết cho đồ án
Nghiên cứu, tham khảo các tài liệu về:ASP.Net, SQL Server
Cơ chế mã hóa thông tin trên cơ sở dữ liệu
Cách sử dụng templates kết hợp ASP.Net
Tìm hiểu mục đích và những nội dung chính của Website sách
Tìm hiểu, tổng hợp thông tin, chuẩn bị nội dung cho trang web.
Thực hiện
Xây dựng sơ đồ chức năng, tương tác giữa các trang trong Website Xây dựng cơ sở dữ liệu và mô hình quan hệ dữ liệu
Thiết kế giao diện Website
Tạo các template theo cấu trúc đã đưa ra
Lập trình hiển thị nội dung Website sử dụng các template đã tạo
Lập trình hỗ trợ việc tìm kiếm tài liệu
Mã hóa thông tin cập nhật đối với các thông tin nhạy cảm
Lập trình phần cập nhật động nội dung Website
Lập trình phân quyền người quản trị trang web
Nhập dữ liệu vào cơ sở dữ liệu thông qua các giao diện cập nhật.
Hoàn tất
Kiểm tra tính chính xác của việc lập trình hiển thị nội dung Website Kiểm tra việc tìm kiếm thông tin
Kiểm tra việc thực hiện cập nhật động
Kiểm tra phân quyền người quản trị
Kiểm tra thông tin mã hóa cơ sở dữ liệu và độ bảo mật Website
Kiểm tra toàn diện và hoàn tất Website.