Edit bảng DOCGIABảng đọc giả chứa thông tin về mã đọc giả, tên đăng nhập, họtên, giới tính, năm sinh và địa chỉ của mỗi đọc giả trong hệ thống.Thông tin này có thể được cập nhật và quản
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH
ĐỒ ÁN MÔN HỌC:
LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS
QUẢN LÝ THƯ VIỆN
Ngành: CÔNG NGHỆ THÔNG TIN
Lớp: 21DTHD3
Giảng viên hướng dẫn: NGUYỄN HUY CƯỜNG
Sinh viên thực hiện: Kiều Thị Kim Phương Mã SV: 2180607909Sinh viên thực hiện: Phạm Thị Như Ngọc Mã SV: 2180608394Sinh viên thực hiện: Lê Đình Hải Dương Mã SV: 2180607398Sinh viên thực hiện: Mai Thanh Bình Mã SV: 2180608349
Tp.HCM, ngày 1 tháng 11 năm 2023
Trang 2Mục LụcChướng I: Tổng quan, giới thiệu đề
tài 03
I Giới
thiệu 03
II Mục
tiêu 03III Cấu trúc dự
Trang 4viện hiệu quả, chúng tôi đã phát triển một ứng dụng quản lý thư viện sửdụng ngôn ngữ lập trình C# và công nghệ WinForms Đề tài này nhằmmục đích tạo ra một hệ thống quản lý thư viện đơn giản, linh hoạt và dễ
sử dụng
II Mục tiêu
Mục tiêu của đề tài là tạo ra một ứng dụng quản lý thư viện hiệu quảgiúp quản lý tài liệu, thông tin đọc giả, và quá trình mượn/trả sách Ứngdụng sẽ cung cấp các chức năng quản lý chính sau:
Quản lý thông tin sách, bao gồm thêm, xóa, sửa thông tin sách vàkiểm tra tình trạng sách
Quản lý đọc giả, cho phép thêm, xóa, sửa thông tin đọc giả và quản lýthông tin cá nhân của họ
Quản lý phiếu mượn và phiếu trả sách, ghi nhận thông tin mượn/trả,
và kiểm tra tình trạng mượn/trả
Thực hiện thống kê, cho phép tra cứu sách đang mượn và sách đãtrả, cũng như lịch sử mượn trả
III Cấu trúc dự án
BUS (Business Layer): Thư mục này chứa các lớp và logic liênquan đến nghiệp vụ của ứng dụng Nó bao gồm các phần quan trọngcủa logic ứng dụng, bao gồm quản lý sách, đọc giả, phiếu mượn,phiếu trả và thống kê
DAO (Data Access Object): Thư mục DAO chứa các lớp vàlogic liên quan đến truy cập cơ sở dữ liệu Nó đảm bảo tích hợp với
cơ sở
dữ liệu và cung cấp các phương thức để truy vấn dữ liệu từ cơ
sở dữ liệu
4
Trang 5DTO (Data Transfer Object): Thư mục DTO chứa các lớp đạidiện cho các đối tượng dữ liệu Đối tượng DTO là các lớp đơn giảnchỉ định cấu trúc dữ liệu để chuyển thông tin giữa các thành phầnkhác nhau của ứng dụng.
GUI (Graphical User Interface): Thư mục GUI chứa các thànhphần liên quan đến giao diện người dùng của ứng dụng Nó baogồm form, control, và các tài nguyên giao diện
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
I Mô hình SQL
Trang 7Edit bảng DOCGIA
Bảng đọc giả chứa thông tin về mã đọc giả, tên đăng nhập, họtên, giới tính, năm sinh và địa chỉ của mỗi đọc giả trong hệ thống.Thông tin này có thể được cập nhật và quản lý trong hệ thống quản lýthư viện
c Bảng dữ liệu phiếu mượn
Trang 8Thiết kế bảng PHIEUTRA
Edit bảng PHIEUTRA
Bảng phiếu trả chứa thông tin về mã phiếu trả, mã đọc giả, mãsách và ngày trả của mỗi phiếu trả trong hệ thống quản lý thư viện.Thông tin này giúp ghi nhận việc trả sách và theo dõi thời gian trảsách của đọc giả
e Bảng dữ liệu sách
Thiết kế bảng SACH
8
Trang 9Edit bảng sách
Bảng sách chứa thông tin về mã phiếu trả, mã đọc giả, mã sách vàngày trả của mỗi phiếu trả trong hệ thống quản lý thư viện Thông tinnày giúp ghi nhận việc trả sách và theo dõi thời gian trả sách của đọcgiả
Trang 10cho phép lưu trữ thông tin về ngày mượn và các chi tiết khác liênquan đến mượn sách.
Phieumuon và phieutra liên kết với sach cho phép theo dõi việc mượn trả sách Mỗi phiếu trả sẽ được gán cho một phiếu mượn cụthể,
dùng để lưu trữ thông tin về ngày mượn và trả sách và các thông tinkhác liên quan Điều này giúp quản lý thư viện biết chính xác sáchđnag mượn hay đã trả để theo dõi số lượng sách trong kho
Sự liên kết giữa các bảng account, docgia, phieumuon,phieutra, sach được thực hiện thông qua các khóa chính và khóangoại Tạo ra một mô hình quan hệ giữa các thực thể và cho phépquản lý thông tin liên quan đến mượn và trả sách của đọc giả Môhình tạo ra một cấu trúc dữ liệu chặt chẽ và cho phép quản lý thôngtin mượn/trả sách một cách hiệu quả và chính xác
3 Phân tách mô hình 3 lớp
Tạo project mới trong visual studio 2019,
Windows form app (.NET framework Name GUI
Trong solution Explore tạo ra 3 thư mục gồm
BUS, DAO, DTO, GUI
Trong đó:
BUS chứa các class liên quan đến chức năng
của ứng dụng, xử lý các hoạt động trong các
form, tương tác thông qua lớp DAO để lấy
10
Trang 11hoặc ghi dữ liệu từ cơ sở dữ liệu Là nơi thực hiện phần quan trọngcủa logic chức năng
DAO chứa các lớp và logic truy cập dữ liệu từ
database Chứa phương thức kết nối và truy
vấn dữ liệu từ cơ sở dữ liệu, là nơi tương tác
trực tiếp với cơ sở dữ liệu
DTO chứa các class đại diện cho các đối
tượng table trong databse Là các class đơn
giản ko chứa logic, chỉ định cấu trúc dữ liệu
để chuyển thông tin giữa lớp mô hình khác
nhau như BUS, DAO
GUI chứa form giao diện người dùng như
form, control, và các tài tài nguyền liên quan
đến UI (giao diện người dùng) Là nơi xây
dựng và quản lý giao diện người dùng
Trang 12CHƯƠNG III: CHỨC NĂNG THỰC HIỆN, KẾT QUẢ THỰC
NGHIỆM
I Chức năng của đọc giả
Admin phân quyền cho các tài khoản của đọc giả, với vai trò làmột người dùng chỉ được xử dụng các chức năng tìm kiếm, tra cứuthông tin, xem phiếu mượn sách, và lịch sử mượn Nếu đọc giả muốnmượn hoặc trả sách thì liên hệ với admin để tiến hành làm thẻ mượn/trảsách
Trang 13Mỗi đọc giả sẽ có thể sử dụng các chức năng sau của thư viện:
Trang 14Đọc giả có thể xem thông tin cá nhân của mình và có quyền thaythông tin nếu không đúng với dữ liệu đã cung cấp với quản trị hệ thốngtrước đó
Xem lịch sử mượn:
Đọc giả có thể truy cập thông tin về lịch sử mượn sách của họ
14
Trang 15Thông tin này bao gồm danh sách các cuốn sách mà họ đã mượntrong quá khứ, ngày mượn và ngày trả sách.
Điều này giúp đọc giả theo dõi và quản lý mượn sách của họ.Sách đang mượn:
Đọc giả có thể xem danh sách các cuốn sách họ đang mượn hiệntại, bao gồm thông tin về ngày trả dự kiến
Thông tin này giúp họ biết khi nào cần trả sách và tránh mất hạntrả
II Chức Năng Của Admin
1 Đăng nhập
Trang 16Hệ thống được thiết kế và cung cấp cho admin các quyền hạn đặc biệt
để quản lý thông tin về đọc giả, sách và quản lý quá trình mượn/trả sách
2 Các chức năng của admin
Phần người dùng
Quyền hạn của admin bao gồm cả quyền hạn của đọc giả trong hệthống quản lý thư viện, tuy nhiên có một sự khác biệt là admin khôngthể tạo phiếu mượn cho chính mình Điều này có nghĩa là admin không
có quyền tự mượn sách và do đó không thể sử dụng chức năng sáchđnag mượn và lịch sử mượn
Nếu admin muốn mượn sách thì phải đăng kí thông qua tài khoảncủa người dùng hoặc nói cách khác admin cần tạo một tài khoản và sửdụng nó như một đọc giả của thư viện
Phần Admin
16
Trang 17Admin được trao quyền hạn đặc biệt có khả năng thưucj hiện cácchức năng quan trọng liên quan đến quản lý thông tin đọc giả, phiếumượn, và phiếu trả
Phần thống kê
Việc thống kê sách đang mượn và sách đã trả có tác dụng quantrọng trong việc giám sát hoạt động của thư viện
Admin tra cứu thông tin thống kê về các kết quả sách đang mượn
và sách đã trả để giám sát tình trạng sách, quản lý lịch sử mượn trả vàthông báo đến tài đọc giả về ngày trả sách quá hạn, đảm bảo thư việnhoạt động hiệu quả và tránh cảy ra tổn thất lớn
Thêm, xóa, sửa đọc giả
Trang 18Admin có quyền thêm hoặc sửa thông tin đọc giả trong hệ thống
cơ sở dữ liệu và cập nhập thông tin của họ, điều này đồng nghĩa rằngthông tin các nhân của đọc giả được bảo mật và không thể bị thay đổiđược bởi người dùng khác
Admin có khả năng xóa thông tin đọc giả nếu họ không còn sửdụng thư viện hoặc trong các trường hợp cần thiết Điều này giúp quản
lý danh sách đọc giả hiệu quả hơn
Thêm, xóa, sửa sách
18
Trang 19Chức năng này đảm bảo rằng chỉ người quản trị được phép thựchiện các hoạt động liên quan đến quản lý sách như quản lý tài liệu, cậpnhập tình trạng sách, điều này có thể giúp người quản trị dễ dànggiám sát việc xuất nhập của sách và tình trạng sách từ đọc giả.
Quản lý phiếu mượn, trả
Trang 20Admin có quyền truy cập thông tin về phiếu mượn và phiếu trảcủa tất cả đọc giả trong thư viện Điều này giúp họ theo dõi và quản lýquá trình mượn và trả sách, xác định tình trạng sách được mượn và đảmbảo rằng sách được trả đúng hạn
Admin có khả năng tra cứu lịch sử mượn và trả sách của tất cả đọcgiả Giúp xem lại lịch sử hoạt động của một đọc giả cụ thể hoặc quản lýthông tin về sách đã được mượn
Thống kê sách
20
Trang 21Việc theo dõi sách đang được mượn bởi đọc giả, theo dõi thờigian phải trả, và đảm bảo rằng sách được trả đúng hạn Tra cứu lịch
sử mượn và trả sách của tất cả đọc giả giúp xem lại lịch sử hoạtđộng của một đọc giả cụ thể hoặc quản lý thông tin về sách đã đượcmượn Admin có thể quản lý tình trạng sách cũng như xác định vấn
đề mượn/trả và thực hiện các biện pháp cần thiết để giải quyếtchúng
Trang 22CHƯƠNG IV: THIẾT KẾThiết kế Winform
Winform được thiết kế dựa trên việc sử dụng devexpress gồm 2 formchính và 10 form phụ Việc sử dụng devexpress cũng một phần giúp chogiao diện hoạt động của mô hình trở nên đẹp đẽ và bắt mắt hơn
DefaultLookAndfeel , skin name: Xmas 2008 Blue, điều này sẽchỉnh màu và hiệu ứng các form trên winform đẹp hơn (Như hìnhdưới)
1 Form chính
Form đăng nhập dùng để phân quyền hạn cho người dùng hoặc đọc giả
có thể sử dụng các chức năng nào của thư viện sau khi đăng nhập
Form quản lý chứa các chức năng phân quyền sau khi người dùng hoặcđọc giả đăng nhập vào
Giao diện form đăng nhập
- Toolbox: picture, panel, label, textbox, button
Giao diện form quản lý sử dụng Ribbon form
Sử dụng Ribbon form tạo ra các thanh menu chức năng và quản lýcác control trong nó Cho phép các cotrol chức năng chạy cùng lúc vớiform quản lý hoặc form quản lý chứa control chức năng
22
Trang 23Gồm: Button, panel, picture
Trang 242 Form phụ
Control chức năng tìm kiếm
Gồm: label, textbox, groupcontrol, radiobutton, gridcontrol
Control thành viên (thông tin đọc giả)
Gồm: label, textbox, radiobutton, datalayoutcontrol, button
24
Trang 25Control chức năng tra cứu sách đang mượnGồm: label, textbox, gridcontrol
Trang 26Control chức năng tra cứu sách lịch sử mượn
Gồm: label, textbox, gridcontrol
Control chức năng quản lý đọc giả (Admin)
Gồm: label, textbox, radiobutton, button, gridcontrol
26
Trang 27Control chức năng quản lý sách (Admin)Gồm: label, textbox, button, gridcontrol
Control chức năng thẻ mượn (Admin)
Trang 28Gồm: label, textbox, datelayoutcontrol, button, groupcontrol,gridcontrol
Control chức năng thẻ trả (admin)
Gồm: label, textbox, datelayoutcontrol, button, groupcontrol,gridcontrol
28
Trang 29Control chức năng tra cứu sách đang mượn (admin)Gồm: label, textbox, radiobutton, button, gridcontrol
Control chức năng tra cứu sách đã trả (admin)
Gồm: label, textbox, radiobutton, button, gridcontrol
Trang 30CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Tối ưu hóa Hiệu Suất:
Xác định và tối ưu hóa các truy vấn SQL để giảm thời gian phản hồi vàtăng hiệu suất tổng thể
Sử dụng bộ nhớ cache để lưu trữ dữ liệu tạm thời và giảm gánh nặng cho
cơ sở dữ liệu
Sử dụng công nghệ lập chỉ mục và tối ưu hóa cơ sở dữ liệu để cải thiện tốc
độ truy xuất dữ liệu
Phân Quyền và Bảo Mật:
Mở rộng chức năng phân quyền để quản trị viên có thể quản lý quyền truycập của người dùng một cách chi tiết
Áp dụng mã hóa cho dữ liệu nhạy cảm như thông tin độc giả, mật khẩu vàgiao dịch thanh toán
Tích hợp giám sát hoạt động người dùng để phát hiện và ngăn chặn cáchành vi đe dọa
Mở Rộng Chức Năng Quản Lý Sách:
Đánh giá và mở rộng các tính năng quản lý sách bằng việc thêm đánh giásách, đề xuất sách cho độc giả, lịch sử mượn sách và đặt hàng sách mới.Thêm chức năng lựa chọn sách theo thể loại, tác giả hoặc xuất bản để cảithiện trải nghiệm tìm kiếm
31
Trang 31Tích Hợp Thanh Toán Trực Tuyến:
Tích hợp cổng thanh toán trực tuyến để người dùng có thể thanh toán cácphí hoặc phạt trực tuyến
Đảm bảo tính bảo mật của thông tin thanh toán và giao dịch
Tích Hợp Trí Tuệ Nhân Tạo (AI):
Sử dụng trí tuệ nhân tạo để cải thiện hệ thống gợi ý sách cho độc giả dựatrên lịch sử đọc
Theo dõi và dự đoán nhu cầu của độc giả để quản lý tồn kho sách một cáchhiệu quả hơn
Thống Kê Sử Dụng và Phân Tích:
Thu thập dữ liệu sử dụng để phân tích và tạo báo cáo về lượt mượn sách,sách được yêu thích, thời gian sử dụng thư viện, và các dữ liệu liên quankhác
Sử dụng dữ liệu phân tích để cải thiện dịch vụ và đáp ứng nhu cầu của độcgiả
Kết Luận
Báo cáo về hướng phát triển của hệ thống quản lý thư viện bằng C# sửdụng mô hình 3 lớp trong Windows Form đã xem xét các cải tiến và pháttriển tiềm năng để cải thiện hiệu suất, tính bảo mật và trải nghiệm người dùng
Trang 32của hệ thống Những hướng phát triển này có thể giúp hệ thống thư viện trởnên mạnh mẽ, hiệu quả và đáp ứng tốt hơn nhu cầu của người dùng.
33