Xây dựng website quản lý thư viện trường Đại học Điện Lực dựa trên ngôn ngữ mã nguồn mở PHP cùng với hệ quản trị cơ sở dữ liệu MySQL

MỤC LỤC

LỜI NÓI ĐẦU 1

MỤC LỤC 2

HÌNH ẢNH 3

DANH MỤC BẢNG 4

KÍ HIỆU VÀ VIẾT TẮT 4

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 6

1.1 GIỚI THIỆU : 6

1.2 KHẢO SÁT HIỆN TRẠNG 6

1.3 YÊU CẦU HỆ THỐNG 7

CHƯƠNG II : PHÂN TÍCH HỆ THỐNG VÀ XÂY DỰNG CƠ SỞ DỮ LIỆU 9

2.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 9

2.1.1 Mô tả hệ thống 9

2.1.2 Mô hình dữ liệu quan niệm (CDM): 10

2.1.3 Sơ đồ dòng dữ liệu ( DFD ): 11

2.2 XÂY DỰN CƠ SỞ DỮ LIỆU 14

CHƯƠNG III : XÂY DỰNG CHƯƠNG TRÌNH VÀ THỬ NGHIỆM 19

3.1 LỰA CHỌN NGÔN NGỮ VÀ MYSQL 19

3.1.1 GIỚI THIỆU VỀ PHP 19

3.1.2 GIỚI THIỆU VỀ MYSQL 19

3.2 MÔI TRƯỜNG CÀI ĐẶT 20

3.3 CÁC THÀNH PHẦN CHÍNH CỦA WEBSITE 20

3.3.1. Trang điều khiển cho quản trị viên (admin control panel): 20

3.3.2. Giao diện người dùng cuối: 26

Lưu đồ một số chức năng: 29

TỔNG KẾT 32

KẾT LUẬN 32

HẠN CHẾ: 32

HƯỚNG PHÁT TRIỂN WEBSITE 32

PHỤ LỤC 33

TÀI LIỆU THAM KHẢO 33

 

 

doc33 trang | Chuyên mục: PHP | Chia sẻ: dkS00TYs | Lượt xem: 5127 | Lượt tải: 1download
Tóm tắt nội dung Xây dựng website quản lý thư viện trường Đại học Điện Lực dựa trên ngôn ngữ mã nguồn mở PHP cùng với hệ quản trị cơ sở dữ liệu MySQL, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
hập các thông tin đăng nhập xác thực, một session php sẽ được tạo ra đánh dấu bắt đầu phiên làm việc của họ và tự động chuyển đến trang điều khiển.
Menu chính: 
Menu trỏ đến cách thành phần bằng cách truyền biến “GET” (như đã đề cập trong phần PHP và Form). Trong menu còn có các menu con, sẽ được hiển thị khi ta click vào. Sau đây là danh mục các chức năng trong menu:
Trang chủ: Hiển thị thông tin các sách mới nhất.
Cấu hình chung: hiển thị và cập nhật các tham số sử dụng trong trang web.
Quản lý sách: bộ tra cứu thông tin sách.
Thể loại: hiển thị và cập nhật thông tin thể loại.
Thông tin sách: Bảng kê danh mục sách và công cụ cập nhật thông tin sách.
Hình 3.7. Menu điều khiển
Thông tin nhà xuất bản: hiển thị và cập nhật thông tin nhà xuất bản.
Thông tin tác giả: hiển thị và cập nhật thông tin tác giả.
Quản lý mượn sách: lập phiếu mượn sách cho các yêu cầu đặt sách của độc giả.
Danh sách mượn sách: danh mục phiếu mượn sách và xác nhận trả sách.
Lịch sử mượn sách: các phiếu mượn sách cũ và chức năng xóa các phiếu mượn sách lập trước mốc thời gian chọn trước.
Quản lý độc giả: Thống kê sơ lược số độc giả.
Tài khoản sinh viên: cấp tài khoản cho sinh viên.
Tài khoản giảng viên: cấp tài khoản cho giảng viên.
Thông tin độc giả: tra cứu thông tin tài khoản.
Quản trị viên: quản lý mật khẩu hoặc cấp tài khoản quản trị mới.
Danh mục lớp: quản lý danh mục lớp và ngành của khoa.
Danh mục phòng/khoa: quản lý danh mục phòng và khoa của trường.
Trang thông báo: viết thông báo mới và quản lý các thông báo cũ.
Vào thư viện: liên kết đến trang người dùng.
Đăng xuất: kết thúc phiên làm việc.
Khai báo một liên kết trong menu:
Nếu menu đó có các con, ta sẽ kiểm tra biến “content”, và nếu phù hợp ta sẽ cho các menu con hiển thị
Khi một menu được gọi, ta sẽ thay đổi class của nó thành “active”, và menu đó sẽ nhận một lớp định dạng khác trong CSS. 
Các chức năng chính:
Xin được tập trung giới thiệu vào các chức năng chính của trang điều khiển, đó là cập nhật sách, tạo tài khoản độc giả và giải quyết đặt mượn, trả sách.
Cập nhật sách: 
	Trang cập nhật cung cáp các chức năng như quản lý danh mục sách, các liên kết tới trang sửa và xóa sách, form thêm sách mới.
Sau đây là một đoạn code ví dụ đã được rút gọn của form thêm sách mới html
Hình 3.8. Trang quản lý thông tin sách
Đầu trang là danh mục sách chứa các thông tin, cùng với liên kết tới các chức năng sửa thông tin hay xóa đầu sách đó. Nếu số lượng của sách hiện tại là 0, một thông báo “Hết sách” sẽ được xuất ra. Quản trị viên có thể xem chi tiết đầu sách qua liên kết ở tên sách.
Form nhập sách mới bao gồm các thông tin cần thiết để thêm một đầu sách vào thư viện. Tuy nhiên, ảnh bìa và giới thiệu là hai trường dữ liệu không bắt buộc. Nếu không chọn ảnh, hệ thống sẽ tự gán cho đầu sách này ảnh đại diện mặc định
Hình 3.9. Ảnh bìa mặc định
Tạo tài khoản mới:
Hình 3.10. Form tạo tài khoản
 Ta sẽ lấy ví dụ về tạo tài khoản sinh viên. Sau khi tạo thông tin ngành và lớp, ta đã có thể thêm sinh viên thuộc lớp đó vào hệ thống. Đối với gảng viên thì thông tin lớp sẽ được thay bằng thông tin phòng/khoa.
Sau khi nhập thông tin, các trường input sẽ được kiểm tra và lưu vào CSDL nếu hợp lệ
Quản lý đặt mượn:
Khi mở trang quản lý mượn sách, quản trị viên sẽ thấy thông tin các yêu cầu đặt mượn hiện tại :
Hình 3.11. Yêu cầu mượn sách
Thông tin đặt mượn sẽ được nhóm lại theo từng độc giả, nếu không thể giải quyết cho độc giả mượn một số trong các yêu cầu, quản trị có thể hủy chúng. Thao tác lập phiếu sẽ tạo cho các yêu cầu trên một phiếu mượn sách với trạng thái là chưa trả.
Ngày hết hạn không được lưu cố định vào CSDL mà được tính toán tại thời điểm duyệt web dựa trên các thông số cấu hình website.
Nếu ngày hết hạn đã vượt quá ngày hiện tại, ô ghi chú sẽ xuất hiện dòng chữ “hết hạn”. Nhưng điều này không làm mất khả năng lập phiếu cho các yêu cầu đó. Quyền quyết định vẫn nằm ở quản trị viên, thông báo đó chỉ đóng vai trò nhắc nhở.
Xác nhận trả sách:
Khi độc giả đến trả sách, quản trị viên sẽ vào chức năng danh sách mượn sách để tìm phiếu mượn sách đó:
Hình 3.12. Xác nhận trả sách
Người quản trị có thể vào liên kết ở số phiếu để xem chi tiết phiếu, bao gồm các quyển sách được mượn. Nếu ngày hết hạn đã vượt quá ngày hiện tại, ô ghi chú sẽ xuất hiện dòng chữ “hết hạn”. Nhưng cũng tương tự như trên, thông báo này chỉ mang tính nhắc nhở. Một khi quản trị viên click vào “xác nhận trả” thì trạng thái của phiếu sẽ chuyển sang “Đã trả” và thuộc danh mục phiếu cũ.
Hình 3.13. Danh mục phiếu cũ.
Giao diện người dùng cuối:
Khác với trang điều khiển, trang người dùng khômg mang nhiều chức năng xử lý dữ liệu mà chú trọng đến giao diện thân thiện, nhiều hình ảnh trực quan sinh động, bố cục rõ ràng và sơ đồ website dễ nắm bắt. 
Giao diện trang chủ:
 Hình 3.14. Giao diện trang chủ.
Bố cục của website được chia thành nhiều phần với các thẻ . Mỗi thẻ thể hiện một module include từ một file php khác. Phần header (đầu trang) và thư viện hàm sẽ được include trước:
Kịch bản sử dụng: 
Khi người dùng nhập tên đăng nhập và mật khẩu xác thực, module thông tin tài khoản sẽ được hiển thị.
Hình 3.15. Module thông tin đăng nhập.
Module này liên kết tới những chức năng mà chỉ có độc giả sau khi đăng nhập mới có thể truy cập. Đồng thời các dòng yêu cầu đăng nhập như trong hình 3.23 cũng được thay thế bằng thao tác “Đặt mượn”.
Hình 3.16. Chức năng đặt mượn được mở.
Tùy theo nhóm độc giả và các tham số và người quản trị đã áp dụng, độc giả sẽ được hưởng những chính sách khác nhau khi mượn sách, ví dụ số sách tối đa một sinh viên có thể mượn được định trước là 3, vậy khi tổng số sách bạn đã đặt và số sách bạn đã mượn nhưng chưa trả đã đạt đến 3, bạn không thể mượn thêm nữa. Thời gian hết hạn cho các yêu cầu cũng khác nhau tùy theo quy định mà quản trị đặt ra. 
Ngoài ra, độc giả còn có thể sử dụng chức ăng tra cứu trong thư viện, cũng như module thể loại để dễ dàng tìm ra quyển sách mình cần.
Hình 3.17. Chức năng tra cứu.
Độc giả có thể kiểm tra các yêu cầu đặt mượn của mình hay hủy bỏ chúng.
Hình 3.18. Chức năng kiểm tra sách đã đặt.
Nếu click vào link Hủy, một biến “act” sẽ được gửi lên URL và có giá trị là “huy”. Khi gặp điều kiện này hệ thống sẽ tiến hành hủy mượn sách và update lại số lượng sách đang rảnh.
Các thành phần trong module thông tin đăng nhập cũng chỉ có thể truy cập khi độc giả đã bắt đầu một phiên làm việc với thao tác đăng nhập. Khi độc giả thoát khỏi tài khoản, phiên làm việc bị hủy và mọi cố gắng gọi tới module này đều sẽ được chuyển tới trang đăng nhập.
Các độc giả của website sẽ cảm thấy an toàn hơn khi biết rằng mình có thể dễ dàng tìm lại mật khẩu nếu chẳng may làm mất nó, nhưng dĩ nhiên chỉ khi bạn đã cung cấp email cho hệ thống. Khi độc giả yêu cầu, mật khẩu của họ sẽ được gửi thẳng đến email, thông qua phpmailer và server SMTP của gmail.com. Chỉ cần download mã nguồn phpmailer từ trang chủ  là ta đã có xây dựng cho mình một chức năng gửi mail tự động.Trong file class.smtp.php ta khai báo server của gmail.
Sau đó ta khai báo trong trang php của mình các thông tin tài khoản gmail để có thể sử dụng server gmail.
Cuối cùng là các thông tin mà ta cần gửi, như email nhận thư, tiêu đề, nội dung v.v…
Một module hữu ích khác là module sách mượn nhiều nhất, được trình bày theo dạng cuốn (scroll) nhằm thu hút sự chú ý của người dùng. 
Nội dung của module này gồm 5 đầu sách được mượn nhiều nhất do hệ thống xuất ra.
Hình 3.19. Module sách mượn nhiều nhất	
Lưu đồ một số chức năng:
Cập nhật thông tin sách:
Đăng nhập trang quản trị
Kiểm tra \
sai
đúng
Truy cập module quản lý thông tin sách
Nhập thông tin vào form thêm sách 
Truy cập trang sửa thông tin sách
Hủy thông tin sách
Kiểm tra tính hợp lệ dữ liệu
sai
đúng
Lưu vào CSDL
Nhập thông tin vào form sửa sách
Kiểm tra tính hợp lệ dữ liệu
sai
đúng
Lưu vào CSDL
Kiểm tra khả năng xóa bỏ
đúng
Khóa khỏi CSDL
sai
Đăng xuất
Đặt mượn sách:
Đăng nhập độc giả
Kiểm tra \
sai
đúng
Tra cứu sách
Đặt mượn 
Xem chi tiết
 thông tin sách
Kiểm tra số lượng, các quy định đặt sách
sai
đúng
Lưu thông tin đặt sách
Đăng xuất
TỔNG KẾT
KẾT LUẬN
Sau một thời gian quá trình học tập tìm hiểu xây dựng website, em đã:
Củng cố kiến thức và sử dụng thành thạo HTML, CSS.
Nắm được cấu trúc và một số kỹ thuật lập trình PHP, cũng như sự ưu việt của ngôn ngữ này.
Có được những kiến thức mới về XML.
Thêm kinh nghiệm khi phân tích, thiết kế cơ sở dữ liệu.
	HẠN CHẾ: 
Sau khi đánh giá khách quan về website, em nhận thấy vẫn còn các hạn chế sau:
Vẫn còn ít chức năng dành cho độc giả, hiện tại website chỉ mới thỏa mãn được những yêu cần thiết yếu nhất.
Giao diện theo kiểu thiết kế grid (dạng lưới) quen thuộc, chưa bắt kịp các kiểu thiết kế mới, hiện đại.
Cách sắp xếp code, khai báo v.v… còn thiếu gọn gàng, khoa học.
HƯỚNG PHÁT TRIỂN WEBSITE
PHP thực sự là một công cụ lý tưởng để xây dựng website, nhưng với một khối lượng công việc khá nặng trong một khoảng thời gian hạn chế, vẫn còn nhiều vấn đề mà sinh viên thực hiện chưa thể giải quyết hoàn thiện. Nếu đề tài này có thể được tiếp tục phát triển, trước hết cần phải khắc phục các điểm sau:
Xây dựng thêm nhiều công cụ tìm kiếm cho quản trị viên để giúp họ làm việc dễ dàng hơn một khi cơ sở dữ liệu đã “phình to”.
Thay vì ghi trực tiếp thông tin liên hệ trên website, nên tạo một hộp tin nhắn để khách vãng lai và độc giả có thể góp ý với quản trị viên.
Xây dựng chức năng tự gởi mail nhắc nhở khi gần hết hạn mượn sách, trả sách.
Cân nhắc sự cần thiết của tính năng theo dõi các thể loại sách ưa thích của độc giả để đề xuất cho họ những quyển sách phù hợp, cũng như ghi nhận sự tuân thủ các quy định mượn trả sách của các độc giả.
PHỤ LỤC
TÀI LIỆU THAM KHẢO
[1] Phạm Hữu Khang. Xây dựng ứng dụng Web bằng PHP & MySQL. Nhà xuất bản Lao động - Xã hội. Hà Nội, 2003.
[2] Steven Holzner - Dịch giả: Gia Việt. Thiết Kế Web Động Với PHP5. Nhà xuất bản Thống Kê. Hà Nội, 2003.
[3] PHP Language Reference.  .
[4] PHP Vietnam Tutorials.  .
[5] PHP Tutorial  .

File đính kèm:

  • docXây dựng website quản lý thư viện trường Đại học Điện Lực dựa trên ngôn ngữ mã nguồn mở PHP cùng với hệ quản trị cơ sở dữ liệu MySQL.doc
Tài liệu liên quan