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 0 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

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 ĐẠIHỌC PHENIKAA

Khoa CôngNghệ Thông Tin

BÀI TẬP LỚN KẾT THÚC HỌC PHẦN LẬPTRÌ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ềnMã sinh viên: 22014071

Lớp: Lập trình hướng đối tượng N01.TH2Giảng viên hướng dẫn : Trần Đình Tân

Trang 2

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

Trang 3

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ượngtài liệu, cùng với sự phát triển không ngừng của công nghệ, đã tạo ra nhucầ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ă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ờ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

 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

 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 đếngiao 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ầuhọ 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ậpthô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ếtrằng cuốn sách đã được xóa thành công hoặc không tìm thấy cuốn sách trongthư 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áctrườ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ùngbiết rằng cuốn sách đã được cập nhật thành công.

 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

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

 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áovà đợ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ểnthị 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

đượ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ếucó 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ậnbằ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à giaodiệ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ợpsự 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ằngdự á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ÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w