LỜI NÓI ĐẦU
Khoa học kỹ thuật ngày nay phát triển một cách mạnh mẽ. đi kèm với sự
vận động của xã hội không ngừng nghỉ. Nền tri thức là điều không thể thiếu. Đối
với giới trẻ ngày nay, nguồn tài liệu thiếu sẽ ảnh hưởng đến công việc học tập
cũng như nghiên cứu.
Tri thức là một nguồn vô hạn nhưng không phải lúc nào cũng có đủ và ở
bất cứ nới đâu. Thời xưa, sự tư hữu lao động sản xuất đã giúp các nước phương
tây phát triển mạnh mẽ về kinh tế cũng như xã hội hơn các nước phương đông.
Tại các nước phương đông. Do thiếu tài liệu sản xuất dẫn đến nền kinh tế bị ảnh
hưởng nghiêm trọng. Dẫn đễn sự suy thoái. Đi kèm với việc đó, sự đô hộ của chế
độ phong kiến đã ngăn cản sự phát triển tri thức của người dân. Chỉ con trai mới
được đi học.
Vào thời điểm đó. Tại các nước phương tấy. Họ chú trọng cho việc đào
tạo, mở trường học xây dựng những thư viện của nhân loại. Mỗi trường học có
một thư viện dành cho học sinh học tập và nghiên cứu. Mỗi thành phố lại có từ
một đến nhiều thư viện lớn giúp người dân học hỏi. Chính vì vậy mà tri thức của
người dân được phát triển. Tư liệu sản xuất nhờ đó mà gia tăng nhanh chóng
giúp nền kinh tế nước nhành phát triển.
Ngày nay ở nước ta. Cũng đã hình thành nhiều thư viện. Mỗi trường học
có một thư viên riêng. Không chỉ có trường đại học mà trường THPT hay THCS
và tiểu học cũng đã có thư viện riêng nhằm cung cấp tri thức phù hợp với độ tuổi
của người đọc và người học.
Một số nơi, tổ dân phố hay ngõ xóm đã có tủ sách nhân dân do người
dân ủng hộ tài liệu, tư liệu sản xuất. Đến các thành phố lớn có thư viện của
thành phố.
1
1
Tuy đã có như vậy nhưng không phải không có hạn chế của nó. Thư viện
vối hình thức truyền thống đọc sách đã được in ra giấy thành văn bản và đóng
thành quyển giúp người đọc sâu sắc và nhập tâm hơn. Tuy nhiên, với khối lượng
kiến thức mà con người muốn tìm hiểu là một vùng bao la rộng lớn vượt xa số
lượng đầu sách mà các thư viện đang có. Không những vậy, thư viện đòi hỏi một
lượng kinh phí rất lớn cho việc duy trì gồm nhân lực và tài nguyên là sách in.
Thời đại công nghệ thông tin bùng nổ như hiện nay. Hầu hết mọi nơi đều
có internet và máy tính cá nhân rất phát triển. Lợi dụng ưu thế đó, chúng em đưa
ra ý tưởng phát triển đề tài: “Xây dựng website thư viện trực tuyến” để nghiên
cứu và có thêm kiến thức về lĩnh vực xây dựng website cho bản thân, giúp ích
cho quá trình học tập và làm việc.
Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên đồ án không
tránh khỏi những thiếu xót. Rất mong được sự đóng góp của quý thầy cô trong
bộ môn công nghệ thông tin trường Cao đẳng Kinh Tế Kỹ Thuật và bạn bè đồng
nghiệp.
Cuối cùng, tôi xin chân thành cảm ơn cô giáo Nguyễn Thị Hạnh cùng toàn
thể các thầy cô đã trực tiếp hướng dẫn em thực hiện đồ án này
Thái Nguyên, ngày 19 tháng 05 năm 2014
Người thực hiện
2
2
CHƯƠNG I: KHẢO SÁT YÊU CẦU
1.1 ĐẶT VẤN ĐỀ
Khoa học công nghệ ngày nay đang phát triển như vũ bão, xâm nhập và
làm cải thiện đáng kể tới sự thay đổi tiến bộ của xã hội trong tất cả các lĩnh vực
của đời sống. Đặc biệt là công nghệ thông tin, internet với sự bùng nổ thông tin.
Tất cả thông tin luôn luôn được cập nhật thay đổi liên tục và đầy đủ một cách
nhanh nhất thông qua mạng truyền thông và internet, mà phổ biến là thông qua
các trang website.
Hiện nay nhu cầu tìm kiếm thông tin là rất cần thiết nhất là với học sinh,
sinh viên về các kiến thức về xã hội, chính trị, văn hóa, công nghệ, kỹ thuật Mà
các tài liệu, giáo khoa, giáo trình còn đang khó khăn với các học sinh, sinh viên.
Nhằm đáp ứng nhu cầu đó, mà các website phục vụ cho việc trao đổi tài
liệu, hỏi đáp thắc mắc, trao đổi kiến thức trên internet trở nên thiết thực và
phổ biến. Dựa trên những lý do đó em thực hiện đồ án tốt nghiệp của mình với
đề tài “Xây dựng website thư viện trực tuyến” để nghiên cứu và có thêm kiến
thức về lĩnh vực xây dựng website cho bản thân, giúp ích cho quá trình học
tập và làm việc.
1.2 Ý TƯỞNG XÂY DỰNG WEBSITE
Với mục đích để mọi người có thể truy cập vào và tìm kiếm cho mình
những thông tin, tài liệu, chia sẻ upload tài liệu lên cho những thành viên khác
cùng học tập và trao đổi kiến thức, tạo thành một sân chơi có ích cho các học
sinh, sinh viên những người đang tìm tòi tài liệu về các lĩnh vực trong cuộc sống.
Chức năng chính của Website
Chức năng của thành viên cấp 1 (thuộc nhóm: user)
+ Đăng nhập
+ Tìm kiếm ( tìm theo mục, tìm theo tên sách)
+ Download tài liệu
+ Upload tài liệu vào bảng (tài liệu user)
+ Thay đổi thông tin tài khoản user
3
3
+ Thay đổi mật khẩu đăng nhập
Quyền của Quản trị (Admin)
Quản lý chung:
+ Thêm, sửa, xóa đề mục
+ Sửa, xóa, cập nhật thông tin sách được đăng tải
+ Kiểm tra những tài liệu user mới upload
. xem, sửa chi tiết về tài liệu( tên sách, chuyên đề, kích thước, số trang,
nguồn sách, tác giả, tóm tắt nội dung, )
. Nếu nội dung đảm bảo: chuyển tài liệu vào bảng tài liệu
. Nếu nội dung không đảm bảo: xóa tài liệu, gửi tin nhắn khuyến cáo đến
hộp tin nhắn của user đã upload tài liệu đó, cập nhật số lần khuyến cáo tới user
đó. Nếu số lần khuyến cáo vượt quá quy định tự động hủy chức năng upload đối
với thành viên đó.)
+ Upload tài liệu trực tiếp vào bảng tài liệu
+ Xóa tài liệu của mình đưa lên
+ Sửa tài liệu của mình đưa lên
Quản lý từng thành viên
+ Chỉnh sửa thông tin thành viên
+ Xóa thành viên
+ Cấp mật khẩu mới cho thành viên ( nếu user quên mật khẩu)
1.3 YÊU CẦU HỆ THỐNG
Yêu cầu hệ thống phải nhẹ. Linh hoạt và dễ dàng sử dụng cũng như phát
triển và sửa chữa nâng cấp về sau.
Sử dụng trình thuật sỹ cài sẵn XAMPP 1.7.7.9 để chạy Apache 2.21, PHP
5.3.8 và MySQL 5.1. Trình soạn thảo code Dreamweaver CS6, Notepad++ để
soạn thảo lệnh php/html
4
4
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích thiết kế hệ thống sử dụng cấu trúc Top-down. Với kiểu phân tích
này. Rất thich hợp cho những dự án quy mô vừa phải, nguồn nhân lực eo hẹp
hoặc không đủ người để thiết kế chi tiết.
Với kiểu thiết kế này. Các modules mức cao sẽ được viết và kiểm thử
trước. Sau đó mới đi đến các modules nhỏ hơn trong hệ thống.
Người thiết kế nói chung liên lạc rất ít với phân tích viên hệ thống và cả
hai chẳng có liên hệ nào với người sử dụng => Quá trình phân tích và thiết kế
gần như là tách ra thành hai pha độc lập.
- Phương pháp này bao gồm 9 hoạt động: Khảo sát, phân tích, thiết kế, bổ
sung, tạo sinh, kiểm thử xác nhận, bảo đảm chất lượng, mô tả thủ tục, biến đổi
cơ sở dữ liệu, cài đặt.
- Các hoạt động có thể thực hiện song song. Chính khía cạnh không tuần
tự này mà thuật ngữ “pha” được thay thế bởi thuật ngữ “hoạt động” (“pha” chỉ
một khoảng thời gian trong một dự án trong đó chỉ có một hoạt động được tiến
hành). Mỗi hoạt động có thể cung cấp những sửa đổi phù hợp cho một hoặc
nhiều hoạt động trước đó.
Một số phương pháp phân tích có cấu trúc:
Các phương pháp hướng chức năng:
- Phương pháp SADT (Structured Analysis and Design Technie) của Mỹ dựa
theo phương pháp phân rã một hệ thống lớn thành các hệ thống con đơn giản hơn.
- Nó có hệ thống trợ giúp theo kiểu đồ hoạ để biểu diễn các hệ thống và
việc trao đổi thông tin giữa các hệ con. Kỹ thuật chủ yếu của SADT là dựa trên
sơ đồ luồng dữ liệu, từ điển dữ liệu (Data Dictionnary), ngôn ngữ mô tả có cấu
trúc, ma trận chức năng. Nhưng SADT chưa quan tâm một cách thích đáng đối
với mô hình chức năng của hệ thống.
- Phương pháp MERISE (MEthod pour Rassembler les Idees Sans Effort)
của Pháp dựa trên các mức bất biến (còn gọi là mức trừu tượng hoá) của hệ
thống thông tin như mức quan niệm, mức tổ chức, mức vật lý và có sự kết hợp
với mô hình.
5
5
- CASE (Computer-Aided System Engineering) - phương pháp phân tích
và thiết kế tự động nhờ sự trợ giúp của máy tính.
Từ kinh nghiệm và nghiên cứu trong quá trình xây dựng hệ thống, hãng
Oracle đã đưa ra một tiếp cận công nghệ mới - Phương pháp luận phân tích và
thiết kế hệ thống CASE*Method. Đây là một cách tiếp cận theo hướng
"topdown" và rất phù hợp với yêu cầu xây dựng một hệ thống thông tin trong
các doanh nghiệp sản xuất kinh doanh thương mại.
Các phương pháp hướng đối tượng:
- Phương pháp HOOD (Hierarchical Object Oriented Design) là một
phương pháp được lựa chọn để thiết kế các hệ thống thời gian thực. Những
phương pháp này lại yêu cầu các phần mềm phải được mã hoá bằng ngôn ngữ
lập trình ADA (Ada Augusta). Do vậy phương pháp này chỉ hỗ trợ cho việc thiết
kế các đối tượng mà không hỗ trợ cho các tính năng kế thừa và phân lớp.
- Phương pháp RDD (Responsibility Driven Design) dựa trên việc mô hình
hoá hệ thống thành các lớp. Các công việc mà hệ thống phải thực hiện được phân
tích và chia ra cho các lớp của hệ thống. Các đối tượng trong các lớp của hệ
thống trao đổi các thông báo với nhau nhằm thực hiện công việc đặt ra. Phương
pháp RDD hỗ trợ cho các khái niệm về lớp, đối tượng và kế thừa trong cách tiếp
cận hướng đối tượng.
- Phương pháp OMT (Object Modelling Technique) là một phương pháp
được xem là mới nhất trong cách tiếp cận hướng đối tượng. Phương pháp này đã
khắc phục được một số nhược điểm của các phương pháp tiếp cận hướng đối
tượng trước mắc phải. Trên mặt lý thuyết ta thấy cách tiếp cận hướng đối tượng
có các bước phát triển hơn so với tiếp cận hướng chức năng. Nhưng trong thực tế
việc phân tích và thiết kế hệ thống theo cách tiếp cận hướng đối tượng gặp rất
nhiều khó khăn và chưa có nhiều các công cụ phát triển hỗ trợ cho việc thiết kế
hướng đối tượng.
6
6
2.1 PHÂN TÍCH
2.1.1 XÂY DỰNG BIỂU ĐỒ USECASE
a. Biểu đồ UseCase dành cho User
Hình2.1: Biểu đồ UseCase dành cho User
7
7
b. Biểu đồ UseCase dành cho Admin
Hình 2.2: Biểu đồ UseCase dành cho Mod
Các UseCase Quản lý tài liệu User Upload, Quản lý bình luận, Quản lý tài
liệu được phân rã thành các UseCase nhỏ hơn.
8
8
- Phân rã use case quản lý tài liệu user upload
Hình 2.3: Phân rã UseCase Quản lý tài liệu User Upload
- Phân rã Usecase Quản lý tài liệu
Hình 2.4: Phân rã UseCase Quản lý tài liệu
9
9
- Phân rã Usecase Quản lý chung
Hình 2.5: Biểu đồ UserCase Quản lý chung
- Phân rã Usecase Quản lý thành viên
Hình 2.6: Biểu đồ UserCase Quản lý thàn viên
10
10
2.1.2 KỊCH BẢN – Scenario
a. Đăng nhập
Bảng 2.1: Kịch bản Đăng nhập
Tên USECASE Đăng nhập
Tác nhân chính Admin, User
Tiền điều kiện Chưa đăng nhập
Đảm bảo tối thiểu Yêu cầu đăng nhập lại
Đảm bảo thành công Đăng nhập trên trang hiện hành
Kích hoạt Khi thành viên đăng nhập
Chuỗi sự kiện chính
1. Lựa chọn chức năng đăng nhập bên phải website, nhập tên User và
mật khẩu Pass
2. Hệ thống kiểm tra và lưu vào cookie
3. Trở lại trang hiện hành trước khi đăng nhập
11
11
b. Thay đổi thông tin tài khoản
Bảng 2.2: Kịch bản thay đổi thông tin tài khoản
Tên USECASE Thay đổi thông tin
Tác nhân chính Admin, User
Tiền điều kiện Thành viên đã đăng nhập
Đảm bảo tối thiểu Thông tin được giữ nguyên
Đảm bảo thành công Thông tin được thay đổi
Kích hoạt Khi thành viên chọn chức năng thông tin
Chuỗi sự kiện chính
1. Hệ thống hiển thị form thông tin tài khoản, và lựa chọn thay đổi
thông tin được thay đổi như: Họ tên, hình ảnh thành viên, địa chỉ,
website, Ghi chú.
2. Hệ thống kiểm tra, nếu thông tin hợp lệ xuất hiện nút cập nhật
3. Click nút cập nhật để cập nhật thay đổi thông tin tài khoản
4. Thông tin được thay đổi và lưu trong cơ sở dữ liệu
5. Trở lại form Thay đổi thông tin tài khoản và hiện thị kết quả đã thay
đổi
12
12
d. Tìm kiếm tài liệu
Bảng 2.4: Kịch bản sách hay của tôi
Tên USECASE Tìm kiếm tài liệu
Tác nhân chính Admin, User
Tiền điều kiện Đăng nhập thành viên
Đảm bảo tối thiểu Không tìm thấy
Đảm bảo thành công Lưu tên và id của sách ưu thích
Kích hoạt Khi thành viên chọn thêm vào bộ sưu tập
Chuỗi sự kiện chính
1. Thành viên chọn nút Thêm vào bộ sưu tập
2. Hệ thống thực hiện kiểm tra đăng nhập rồi lưu thông tin sách(Nếu
đã đăng nhập)
c. download tài liệu
Bảng 2.5: Kịch bản download tài liệu
Tên USECASE Download tài liệu
Tác nhân chính thành viên
Tiền điều kiện
Đảm bảo tối thiểu
Đảm bảo thành công Tài liệu được download
Kích hoạt Khi thành viên chọn chức năng Tải về
Chuỗi sự kiện chính
1. Sau khi chọn được tài liệu cần tìm, chọn chức năng tải về
2. Nếu đã đăng nhập tài liệu được tải về, nếu chưa đăng nhập chuyển
đến form đăng nhập.
3. Tự động tăng biến cho số lượt tải về của tài liệu
f. Upload tài liệu
13
13
Bảng 2.6: Kịch bản Upload tài liệu
Tên USECASE Upload tài liệu
Tác nhân chính Admin, User
Tiền điều kiện Thành viên đã đăng nhập
Đảm bảo tối thiểu Tài liệu không được upload
Đảm bảo thành công Tài liệu đã được upload
Kích hoạt Khi thành viên chọn chức năng Up tài liệu
Chuỗi sự kiện chính
1. Hệ thống hiển thị form Thành viên upload tài liệu, yêu cầu nhập
các thông tin chi tiết về tài liệu như: tên tài liệu, tác giả, ảnh bìa, giới
thiệu ngắn, chi tiết sách, uplink sách
2. Nếu chọn upload, chọn đường dẫn đến file tài liệu ( với định
dạng được hỗ trợ cho phép upload là các kiểu file thuộc: pdf, doc, rar,
zip, xls, ppt, prc, chm, txt), chọn đường dẫn đến file ảnh minh họa về
tài liệu ( với định dạng cho phép là: gif, jpg, png)
3. Nếu chọn uplink, nhập link của tài liệu, link của ảnh minh họa
về tài liệu
4. Hệ thống kiểm tra nếu thông tin hợp lệ xuất thông báo thông tin
hợp lệ và click vào nút Upload để thực hiện
5. Trở lại trang Upload để tiếp tục Upload tài liệu khác.
14
14
g. Sửa tài liệu
Bảng 2.7: Kịch bản sửa chữa tài liệu
Tên USECASE Sửa tài liệu
Tác nhân chính Admin, User
Tiền điều kiện Admin, User đã đăng nhập
Đảm bảo tối thiểu Tài liệu giữ nguyên
Đảm bảo thành công Tài liệu đã được sửa
Kích hoạt Admin hoặc User sửa tài liệu của mình
Chuỗi sự kiện chính
1. Admin và user sẽ sửa thông tin tài liệu của mình. Riêng admin có
quyền sửa tất cả tài liệu
2. Hệ thống hiển thị Form sửa tài liệu và yêu cầu nhập các thông tin
chi tiết viề tài liệu, và chọn nút sửa để kết thúc
3. Trở lại Form sửa tài liệu và hiển thị thông tin đã sửa, để tiếp tục sửa
nếu cần thiết.
h. Cấp quyền cho thành viên
Bảng 2.8: Kịch bản Cấp quyền cho thành viên
Tên USECASE Cấp quyền
Tác nhân chính Admin
Tiền điều kiện Admin đã đăng nhập
Đảm bảo tối thiểu Quyền thành viên không thay đổi
Đảm bảo thành công Quyền thành viên đã thay đổi
Kích hoạt Admin chọn chức Cấp quyền
Chuỗi sự kiện chính
1. Khi admin vào phần quản lý user sẽ có thông tin của user. Khi chọn
được user cần sửa chọn hành động Sửa.
2. Click chọn nút đồng ý và quyền mới đã được gán cho user
i. Quản lý chung
Bảng 2.14: Kịch bản Quản lý chung
Tên USECASE Quản lý chung
15
15
Tác nhân chính Admin
Tiền điều kiện Admin đã đăng nhập
Đảm bảo tối thiểu
Đảm bảo thành công Các chức năng chung được thay dổi
Kích hoạt Admin chọn chức Quản lý chung
Chuỗi sự kiện chính
1. Khi Admin chọn chức năng Quản lý chung, form quản lý chung hiện
ra , yêu cầu admin chọn các thay đổi cho phép hay không Click chọn
nút Thực hiện và các chức năng đối với Website được thay đổi
16
16
2.1.3 SƠ ĐỒ PHÂN TÍCH LỚP
Hình 2.7: Sơ đồ lớp phân tích
17
17
Giải thích các phương thức của các lớp
a, Lớp ebook_process
book_insert(): Thêm tài liệu
get_document(): Lấy thông tin tài liệu
valid_book(): Kiểm tra thông tin tài liệu
book_query: Cập nhật sửa đổi, Xóa tài liệu
b, Lớp member_init
user_login(): Đăng nhập và chọn quyền cho user như trong cơ sở dữ liệu
get_info_user(): Lấy thông tin của thành viên
valid_user(): Kiểm tra thành viên trong dữ liệu
user_query(): Thực hiện các hành động đối với thành viên(Thêm, sửa, Xóa
thành viên)
register_user(): Đăng ký thành viên vào hệ thống
set_per(): Phân quyền thành viên trong hệ thống
c, Lớp bookmark_init
get_mark(): Kiểm tra bộ sưu tập của thành viên
mark_query(): thêm, xóa tài liệu khỏi bộ sưu tập
book_info(): Lấy thông tin sách
d, Lớp download_process_secu
get_download(): Lấy tài liệu dạng stream trả về cho người dùng download
make_key_by_time(): Thay đổi API key sau mỗi lần user tải về để trách
bị lộ link thật và tránh bị bulk load
download_query(): Lấy key và đường dẫn thực trả về rồi cập nhật API
key mới
e, Lớp category_preview
get_cat(): Lấy danh mục để hiển thị ra menu và bảng quản lý
cat_query(): Thêm, sửa, xóa danh mục
18
18
2.2 THIẾT KẾ LỚP
2.2.1 CÁC BIỂU ĐỒ TUẦN TỰ
a. Biểu đồ tuần tự cho chức năng đăng nhập
Hình 2.8: Biểu đồ tuần tự cho chức năng đăng nhập
19
19
b. Biểu đồ tuần tự cho chức năng thay dổi thông tin
Hình 2.9: Biểu đồ tuần tự cho chức năng thay đổi thông tin
20
20
c. Biểu đồ tuần tự cho chức năng gửi tin nhắn
Hình 2.10: Biểu đồ tuần tự cho chức năng gửi tin nhắn
21
21
d. Biểu đồ tuần tự cho chức năng tìm kiếm tài liệu
Hình 2.11: Biểu đồ tuần tự cho chức năng tìm kiếm tài liệu
22
22
e. Biểu đồ tuần tự cho chức năng download tài liệu
Hình 2.12: Biểu đồ tuần tự cho chức năng download tài liệu
23
23
f. Biểu đồ tuần tự cho chức năng upload tài liệu
Hình 2.13: Biểu đồ tuần tự cho chức năng upload tài liệu
24
24
g. Biểu đồ tuần tự cho chức năng cấp quyền cho thành viên
Hình 2.14: Biểu đồ tuần tự cho chức năng cấp quyền cho thành viên
25
25