1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập lớn kết thúc học phần lập trình hướng đối tượng đề bài xây dựng một ứng dụng quản lý thư viện

19 8 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 một ứng dụng quản lý thư viện
Tác giả Dương Thị Thu Hiền
Người hướng dẫn Trần Đình Tân
Trường học Trường Đại Học Phenikaa
Chuyên ngành Lập Trình Hướng Đối Tượng
Thể loại Bài Tập Lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 3,22 MB

Nội dung

Ứng dụng này cung cấp một loạt các tính năngtừ việc thêm, xóa, tìm kiếm sách đến quản lý mượn và trả sách, cung cấpmột phương tiện tiện lợi và hiệu quả cho việc quản lý thư viện trong th

Trang 1

TRƯỜNG ĐẠI

HỌC PHENIKAA

Khoa Công

Nghệ Thông Tin

⸎⸎⸎⸎⸎

BÀI TẬP LỚN KẾT THÚC HỌC PHẦN LẬP

TRÌNH HƯỚNG ĐỐI TƯỢNG

Đề bài: “Xây dựng một ứng dụng quản lý thư viện”

Họ và tên: Dương Thị Thu Hiền

Mã sinh viên: 22014071

Lớp: Lập trình hướng đối tượng N01.TH2

Giảng viên hướng dẫn : Trần Đình Tân

Trang 2

HÀ NỘI, THÁNG 2/2023

Trang 3

MỤC LỤC

MỞ ĐẦU ………

NỘI DUNG………

I.GIỚI THIỆU CHUNG ………

1.1 MỤC TIÊU………

1.2 CHỨC NĂNG CƠ BẢN………

1.3 GIAO DIỆN NGƯỜI DÙNG………

1.4 LƯU TRỮ DỮ LIỆU………

II PHÂN TÍCH THIẾT KẾ 2.1 SƠ ĐỒ THỰC THỂ LIÊN KẾT………

2.2 QUÁ TRÌNH THỰC HIỆN……….

2.3 GỈAI THÍCH, THỐNG KÊ CHỨC NĂNG………

2.3.1 LOGIN………

2.3.2 THÊM SÁCH………

2.3.3 XÓA SÁCH ………

2.3.4 CẬP NHẬT SÁCH………

2.3.5 TÌM KIẾM ………

2.3.6 LOAD DỮ LIỆU……….

2.3.7 SHOW THÔNG BÁO ………

2.3.8 ĐỔI TAB……….

2.3.9 TẠO FILE………

2.3.10 ĐỌC FILE……….

2.3.11 LOG OUT ……….

III.GIAO DIỆN SỬ DỤNG 3.1 MÀN HÌNH ĐĂNG NHẬP………

3.2 MÀN HÌNH QUẢN LÝ SÁCH………

3.3 MÀN HÌNH QUẢN LÝ ĐỌC GIẢ ………

IV TỔNG KẾT ………

Trang 4

MỞ ĐẦU Trong thời đại số hóa ngày nay, việc quản lý thông tin và tài liệu trong các thư viện đang trở nên ngày càng quan trọng Sự gia tăng về số lượng tài liệu, cùng với sự phát triển không ngừng của công nghệ, đã tạo ra nhu cầu cấp thiết cho các ứng dụng quản lý thư viện hiện đại và tiện ích.Bài báo cáo này nhằm giới thiệu về một ứng dụng quản lý thư viện, một công cụ đa năng được thiết kế để hỗ trợ quản lý và tổ chức tài liệu trong một môi trường thư viện Ứng dụng này cung cấp một loạt các tính năng

từ việc thêm, xóa, tìm kiếm sách đến quản lý mượn và trả sách, cung cấp một phương tiện tiện lợi và hiệu quả cho việc quản lý thư viện trong thời đại số hóa.Trong lời mở đầu này, chúng tôi sẽ trình bày về ý nghĩa và mục tiêu của việc phát triển ứng dụng quản lý thư viện, cùng với những tính năng và lợi ích mà ứng dụng này mang lại cho người dùng.

Trang 5

NỘI DUNG

CHƯƠNG I:GIỚI THIỆU CHUNG

1.1 : Mục tiêu

 Xây dựng một ứng dụng quản lý thư viện hiệu quả và dễ sử dụng

 Hỗ trợ thủ thư quản lý thông tin sách, độc giả và quá trình mượn/trả sách 1.2 : Chức năng cơ bản:

 Quản lý thông tin sách: Thêm sách, sửa thông tin sách, xóa sách, tìm kiếm sách

 Quản lý thông tin độc giả: Thêm độc giả, sửa thông tin độc giả, xóa độc giả, tìm kiếm độc giả

 Quản lý quá trình mượn/trả sách: Mượn sách, trả sách

1.3 :Giao diện người dùng:

 Thiết kế giao diện cho các chức năng trên

 Tạo menu chính với các tùy chọn quản lý sách, độc giả và mượn/trả sách 1.4 :Lưu trữ dữ liệu :

 Sử dụng file nhị phân để lưu thông tin sách và độc giả

 Khi người dùng thêm, sửa đổi hoặc xóa thông tin, cập nhật dữ liệu trong file nhị phân

CHƯƠNG 2 :PHÂN TÍCH THIẾT KẾ

2.1 Sơ đồ thực thể liên kết

Trang 6

2.2 Qúa trình thực hiện:

 Xác định yêu cầu và mục tiêu: Bước đầu tiên là hiểu rõ yêu cầu và mục tiêu của ứng dụng

 Thiết kế: Sau khi hiểu rõ yêu cầu, lập trình viên sẽ bắt đầu thiết kế cấu trúc

và giao diện của ứng dụng Đây là giai đoạn quan trọng để xác định cách tổ chức mã nguồn, quản lý dữ liệu và cung cấp trải nghiệm người dùng tốt nhất

 Phát triển: Trong quá trình này, lập trình viên sẽ bắt đầu viết mã nguồn dựa trên thiết kế đã được xác định trước đó Công việc này bao gồm việc lập trình, kiểm thử và sửa lỗi để đảm bảo rằng ứng dụng hoạt động một cách đúng đắn và hiệu quả

 Kiểm thử và Debugging: Sau khi phát triển, ứng dụng cần được kiểm thử để xác định và sửa các lỗi hoặc vấn đề có thể phát sinh Quá trình kiểm thử này thường bao gồm kiểm tra tính năng, hiệu suất và bảo mật của ứng dụng 2.3 Giaỉ thích thống kê chức năng

2.3.1: Login

Trang 7

Gỉai thích :

 Phương thức login là một phần của quy trình xác thực trong ứng dụng đăng nhập Khi người dùng nhập tên người dùng và mật khẩu vào các trường tương ứng trên giao diện, phương thức này được gọi để kiểm tra xem thông tin đăng nhập có chính xác không

 Nếu tên người dùng và mật khẩu khớp với giá trị "thu hiền" và "123456" đã được xác định trước, phương thức sẽ tải trang mainPage.fxml để chuyển đến giao diện chính của ứng dụng Điều này thường xảy ra trong trường hợp đăng nhập thành công

 Tuy nhiên, nếu thông tin đăng nhập không chính xác, phương thức sẽ hiển thị một hộp thoại cảnh báo thông báo lỗi Thông điệp trong hộp thoại này thông báo với người dùng rằng thông tin đăng nhập không hợp lệ và yêu cầu

họ nhập lại thông tin đăng nhập chính xác

2.3.2 Thêm sách

Trang 8

Giaỉ thích :

 Phương thức addBook được sử dụng để thêm một cuốn sách mới vào danh sách sách hiện tại Trước hết, nó tạo một bản sao của danh sách sách hiện có

để thêm sách mới mà không làm thay đổi danh sách gốc Sau đó, nó thu thập thông tin về cuốn sách mới từ các trường nhập trên giao diện người dùng, chẳng hạn như ID, loại sách, tiêu đề, tác giả, tình trạng và số lượng

 Sau khi thu thập thông tin, phương thức kiểm tra xem các trường thông tin

có được điền đầy đủ và hợp lệ không Nếu bất kỳ trường nào bị bỏ trống hoặc các giá trị số âm cho số lượng hoặc giá tiền, phương thức sẽ hiển thị một cảnh báo lỗi

 Nếu mọi thông tin nhập vào đều hợp lệ, một đối tượng Book mới sẽ được tạo và thêm vào danh sách sách Nếu tiêu đề của cuốn sách mới không tồn tại trong danh sách các tiêu đề sách đã lưu trữ, tiêu đề sẽ được thêm vào danh sách và cập nhật lên giao diện người dùng Sau đó, danh sách sách sẽ được cập nhật với sách mới và dữ liệu sẽ được lưu trữ

 Cuối cùng, các trường nhập sẽ được xóa và một thông báo thành công sẽ được hiển thị Điều này đảm bảo rằng người dùng được thông báo khi sách mới đã được thêm thành công vào hệ thống

2.3.3 Xóa sách :

Trang 9

Giaỉ thích :

 Phương thức deleteBook được sử dụng để xóa một cuốn sách từ danh sách sách hiện tại Đầu tiên, nó tạo một bản sao của danh sách sách hiện có để thực hiện các thao tác xóa mà không làm thay đổi danh sách gốc

 Nếu danh sách sách trống, phương thức sẽ hiển thị một cảnh báo lỗi thông báo rằng không có sách nào có thể xóa

 Nếu danh sách sách không trống, phương thức sẽ tạo một danh sách các tiêu

đề sách và tạo một hộp thoại lựa chọn cho người dùng chọn cuốn sách muốn

Trang 10

xóa từ danh sách đã có.

 Khi người dùng chọn một cuốn sách từ danh sách, phương thức sẽ kiểm tra xem cuốn sách đó có tồn tại trong danh sách sách không Nếu có, nó sẽ xác định vị trí của cuốn sách trong danh sách và xóa nó Sau đó, danh sách sách

sẽ được cập nhật và dữ liệu sẽ được lưu trữ

 Cuối cùng, một thông báo sẽ được hiển thị để thông báo cho người dùng biết rằng cuốn sách đã được xóa thành công hoặc không tìm thấy cuốn sách trong thư viện

2.3.4 Cập nhật sách

Giaỉ thích :

 Phương thức updateBook được sử dụng để cập nhật thông tin của một cuốn sách trong danh sách sách hiện tại Đầu tiên, nó tạo một bản sao của danh sách sách hiện có để thực hiện các thao tác cập nhật mà không làm thay đổi danh sách gốc

Trang 11

 Sau đó, nó lấy ra đối tượng Book mà người dùng đã chọn từ bảng sách Nếu không có cuốn sách nào được chọn, phương thức sẽ hiển thị một cảnh báo lỗi yêu cầu người dùng chọn một cuốn sách

 Nếu một cuốn sách được chọn, phương thức sẽ thu thập thông tin mới từ các trường nhập liệu trên giao diện người dùng, bao gồm ID, tác giả, loại sách, tình trạng, tiêu đề, số lượng và giá tiền

 Sau đó, nó tạo ra một đối tượng Book mới với thông tin đã được cập nhật Nếu tiêu đề mới của cuốn sách không tồn tại trong danh sách các tiêu đề sách, phương thức sẽ cập nhật danh sách các tiêu đề sách và lưu trữ chúng

 Cuối cùng, nó sẽ cập nhật đối tượng sách trong danh sách sách và lưu trữ dữ liệu Một cảnh báo thành công sẽ được hiển thị để thông báo cho người dùng biết rằng cuốn sách đã được cập nhật thành công

2.3.5 Tìm kiếm

Giaỉ thích :

 Phương thức search được sử dụng để tìm kiếm sách trong danh sách hiện tại dựa trên các từ khóa nhập vào thanh tìm kiếm

 Đầu tiên, nó tạo một FilteredList với danh sách sách hiện có và một điều kiện mặc định để hiển thị tất cả các sách

 Sau đó, nó theo dõi sự thay đổi trong nội dung của thanh tìm kiếm bằng cách

sử dụng phương thức textProperty().addListener() Mỗi khi nội dung của thanh tìm kiếm thay đổi, phương thức này được gọi và nó cập nhật điều kiện lọc dựa trên từ khóa tìm kiếm mới Điều kiện lọc này so sánh từng trường thông tin của cuốn sách với từ khóa tìm kiếm và trả về true nếu bất kỳ trường nào chứa từ khóa tìm kiếm

 Sau đó, một SortedList được tạo để sắp xếp lại danh sách sách dựa trên thứ

tự hiển thị của bảng sách (Book_tableVIew) Điều này đảm bảo rằng danh

Trang 12

sách sách được hiển thị theo thứ tự đúng khi tìm kiếm được thực hiện.

 Cuối cùng, danh sách sách được cập nhật để chỉ hiển thị các cuốn sách đã được lọc và sắp xếp dựa trên kết quả tìm kiếm

2.3.6 Load dữ liệu

Giaỉ thích :

 Phương thức loadDataBook được sử dụng để nạp dữ liệu từ danh sách sách (listBooks) vào bảng hiển thị sách (Book_tableVIew)

 Đầu tiên, nó thiết lập cách mà mỗi cột trong bảng sẽ lấy dữ liệu từ các trường của đối tượng Book Cụ thể, nó thiết lập các CellValueFactory của từng cột để lấy dữ liệu từ các trường bookID, bookTitle, bookType, bookStatus, bookAuthor, bookNumber, và bookPrice của đối tượng Book

 Sau đó, nó thiết lập danh sách dữ liệu của bảng (Book_tableVIew) bằng cách gọi phương thức setItems và truyền vào danh sách sách đã được chuẩn

bị trước đó (listBooks)

 Khi phương thức này được gọi, bảng sẽ hiển thị dữ liệu của các cuốn sách từ danh sách sách đã được nạp vào

2.3.7 Show thông báo

Giaỉ thích :

 Phương thức showAlert được sử dụng để hiển thị một cửa sổ thông báo cho người dùng với nội dung và kiểu cảnh báo được chỉ định

 Đầu tiên, nó tạo một đối tượng Alert với loại cảnh báo được chỉ định (như ERROR, INFORMATION, vv.), sau đó đặt nội dung của cảnh báo thành thông điệp được truyền vào phương thức

 Tiếp theo, nó đặt tiêu đề của cửa sổ thông báo thành "Thông báo" và xóa tiêu đề của cảnh báo để tránh sự lặp lại của thông báo

 Cuối cùng, nó gọi phương thức showAndWait() để hiển thị cửa sổ thông báo

và đợi cho đến khi người dùng đóng nó đi

Trang 13

2.3.8 Đổi tab

 Giaỉ thích:

Phương thức switchPane được sử dụng để chuyển đổi giữa hai giao diện (inputPane và board hoặc inputPane1 và board1) khi người dùng nhấp chuột vào các nút tương ứng (btnBook hoặc btnReader)

 Trong sự kiện nhấp chuột của btnBook, inputPane và board sẽ được hiển thị lên (setVisible(true)) trong khi inputPane1 và board1 sẽ được ẩn đi (setVisible(false)) Ngoài ra, nút btnBook sẽ được làm nổi bật bằng cách thay đổi màu nền (setStyle("-fx-background-color: #0398fc")), còn nút btnReader sẽ không thay đổi màu nền

 Trong sự kiện nhấp chuột của btnReader, inputPane1 và board1 sẽ được hiển thị lên (setVisible(true)) trong khi inputPane và board sẽ được ẩn đi (setVisible(false)) Tương tự, nút btnReader sẽ được làm nổi bật bằng cách thay đổi màu nền (setStyle("-fx-background-color: #0398fc")), còn nút btnBook sẽ không thay đổi màu nền

2.3.9 Tạo file

Trang 14

Giaỉ thích :

 Phương thức createFile được sử dụng để tạo một tệp mới tại đường dẫn đã được chỉ định (this.pathFile) Nếu tệp đã tồn tại, phương thức sẽ in ra thông báo "file already exits" Nếu tệp chưa tồn tại, phương thức sẽ tạo một tệp mới và in ra thông báo "file create successfully"

 Tương tự, phương thức createReaderFile cũng được sử dụng để tạo một tệp mới tại đường dẫn đã được chỉ định (this.readerFile) Nó hoạt động tương tự như createFile, nếu tệp đã tồn tại thì in ra thông báo "file already exits", còn nếu chưa tồn tại thì tạo một tệp mới và in ra thông báo "file create

successfully"

2.3.10 Đọc file

Trang 15

Giaỉ thích :

 Phương thức readData được sử dụng để đọc dữ liệu từ tệp đã được chỉ định (this.pathFile) và trả về một danh sách các đối tượng Book

 Đầu tiên, nó tạo một ArrayList mới để lưu trữ dữ liệu đọc được

 Sau đó, nó sử dụng một ObjectInputStream để đọc dữ liệu từ tệp Dữ liệu được đọc và ép kiểu về một ArrayList<Book>

 Nếu quá trình đọc dữ liệu không gặp vấn đề, nó sẽ trả về danh sách data, nếu

có lỗi xảy ra, nó sẽ in ra thông báo lỗi

 Tương tự, phương thức readReaderFile cũng được sử dụng để đọc dữ liệu từ tệp đã được chỉ định (this.readerFile) và trả về một danh sách các đối tượng Reader Phương thức này hoạt động tương tự như readData, chỉ khác về kiểu đối tượng đọc và tên tệp

2.3.11 Log out

Giaỉ thích :

 Phương thức logout được sử dụng để đăng xuất người dùng khỏi ứng dụng Khi người dùng nhấp vào nút đăng xuất, một hộp thoại xác nhận sẽ xuất hiện

Trang 16

để yêu cầu người dùng xác nhận việc đăng xuất.

 Hộp thoại xác nhận (Alert) sẽ được tạo với tiêu đề "Log out" và nội dung

"Are you sure to log out?" Tiêu đề của hộp thoại sẽ được thiết lập thành null

 Sau đó, hộp thoại xác nhận sẽ được hiển thị và chờ đợi người dùng xác nhận bằng cách sử dụng phương thức showAndWait() Nếu người dùng chọn

"OK", thì kết quả sẽ là ButtonType.OK

 Nếu kết quả là ButtonType.OK, tức là người dùng đã xác nhận đăng xuất, thì ứng dụng sẽ chuyển đến giao diện đăng nhập (login.fxml) bằng cách tải

nó thông qua FXMLLoader Sau đó, cửa sổ hiện tại sẽ được đóng lại và giao diện đăng nhập mới sẽ được hiển thị

 Điều này đảm bảo rằng người dùng sẽ được xác nhận trước khi đăng xuất khỏi ứng dụng

CHƯƠNG 3: GIAO DIỆN SỬ DỤNG

3.1 Màn hình đăng nhập:

3.2 Màn hình quản lý sách :

Trang 17

3.3 Màn hình quản lý đọc giả :

CHƯƠNG 4 : TỔNG KẾT

Dự án Quản lý Thư viện đã mở ra một cánh cửa mới đầy tiềm năng trong việc tổ chức và quản lý tài liệu trong các cơ sở học thuật và cộng đồng Bằng cách kết hợp

sự linh hoạt của công nghệ với sự sáng tạo trong thiết kế, tôi đã tạo ra một ứng

Trang 18

dụng đáng tin cậy và dễ sử dụng, mang lại lợi ích to lớn cho cả người quản lý và người sử dụng.Với những tính năng quan trọng như quản lý sách, quản lý độc giả, tìm kiếm nhanh chóng và thuận tiện, cũng như các chức năng mượn sách, trả sách

và thanh toán, dự án đã tạo ra một nền tảng đa dạng và toàn diện cho việc quản lý thông tin trong thư viện.Tính năng tạo báo cáo doanh thu cũng giúp cải thiện quá trình quản lý tài chính và đánh giá hiệu suất hoạt động của thư viện, đồng thời cung cấp cái nhìn tổng quan về hoạt động của thư viện.Trong quá trình thực hiện

dự án, tôi không chỉ học được những kỹ năng kỹ thuật cần thiết để phát triển một ứng dụng đầy đủ tính năng và quá trình học hỏi liên tục trong quá trình phát triển phần mềm

Với sứ mệnh tạo ra một môi trường quản lý tài liệu hiệu quả và tiện lợi, tôi tin rằng

dự án này sẽ góp phần nâng cao chất lượng dịch vụ thư viện và tạo ra một trải nghiệm tuyệt vời cho cả người quản lý và người sử dụng

Trang 19

LỜI CẢM ƠN Lời cuối cùng , xin trân trọng cảm ơn thầy Trần Đình Tân đã tận tình chỉ dạy và hướng dẫn em trong quá trình học tập cũng như trong quá trình hoàn thành bài tiểu luận Do giới hạn kiến thức và khả năng lý luận của bản thân còn nhiều thiếu sót và hạn chế, kính mong sự hướng dẫn và đóng góp của Thầy , Cô để bài tiểu luận của

em có thể hoàn thiện hơn em xin chân thành cảm ơn !

Ngày đăng: 23/07/2024, 17:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w