Phần mềm quản lý thư viện với Java | Học phần lập trình hướng đối tượng với Java giúp sinh viên năm được phương pháp lập trình hướng đối tượng (OOP) và ngôn ngữ lập trình Java cơ bản. Bài tập lớn môn học là tổng hợp kiến thức, kỹ năng về phương pháp lập trình hướng đối tượng và ngôn ngữ lập trình Java. Nội dung bài tập lớn gồm: Phân tích bài toán, giới thiệu tông quan về phương pháp lập trình hướng đối tượng, đặc trưng của ngôn ngữ lập trình Java, cài đặt phần mềm với ngôn ngữ Java trong đó sử dụng các lớp kế thừa, lớp trừu tượng vào giao diện (interface) của lập trình hướng đối tượng. Bài tập lớn là tài liệu tham khảo hữu ích cho SV ngành CNTT. Lập trình Java, bài tập lớn, đồ án môn học, lập trình hướng đối tượng
Trang 1HÀ NỘI, NĂM 2021
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA CÔNG NGHỆ THÔNG TIN Danh sách thành viên nhóm sinh viên thực hiện
Stt Họ tên Ngày sinh Mã sinh viên Tham gia hoàn thiện
BTL (%)
1 Bùi Giang Nam 23/01/1999 1752480201039 50%
2 Ngô Quang Minh 18/10/1998 1752480201158 50%
TÊN BÀI TẬP LỚN: HỆ THỐNG QUẢN LÝ THƯ VIỆN
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 4
MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
DANH MỤC HÌNH VẼ 4
Lời nói đầu 5
Chương 1: Phát biểu bài toán 6
1.1 Hoạt động nghiệp vụ thư viện: 6
1.2Yêu cầu hệ thống: 6
a) Hệ thống thư viện sách được xây dựng nhằm mục đích giải quyết các yêu cầu chức năng sau: 6
b) Yêu cầu phi chức năng: 7
1.3 Sơ đồ phân cấp chức năng 7
1.3.1Xác định các chức năng hệ thống: 7
1.4 Các hồ sơ 8
Chương 2:TỔNG QUAN VỀ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 10
2.1 Mô hình hóa nghiệp vụ với biểu đồ hoạt động 10
2.2 Mô hình hóa nhu cầu với biều đồ use case hoạt động của thư viện 12
2.3 Mô hình hóa nhu cầu với biều đồ lớp hoạt động của thư viện 13
Chương 3 :Thiết kế 14
3 Thiết kế cơ sở dữ liệu 14
3.1 Lớp chi tiết 14
3.2 Thiết kế giao diện 15
3.3 Hướng dẫn sử dụng phần miềm 22
Tài liệu tham khảo 23
Trang 5DANH MỤC HÌNH VẼ
Hình 1: Sơ đồ phân cấp chức năng 7
Hình 2: Biểu đồ hoạt động mượn sách 10
Hình 3: Biểu đồ hoạt động trả sách 10
Hình 4: Biểu đồ hoạt động thêm mới sách 11
Hình 5: Biểu đồ hoạt động thanh lý sách 11
Hình 6: Biểu đồ use case mức tổng quát 12
Hình 7: Biểu đồ use case mức mượn sách 13
Hình 8: Biểu đồ lớp hoạt động của thư viện 14
Hình 9: Biểu đồ Diagram của quản lý thư viện 15
Hình 10:Giao diện đăng nhập với chức năng độc giả 15
Hình 11: Giao diện tìm sách với quyền truy cập độc giả 16
Hình 12: Giao diện đăng nhập với chức năng admin 16
Hình 13: Giao diện đổi mật khẩu 17
Hình 14: Giao diện menu các chức năng 17
Hình 15: Giao diện quản lý nhân viên 18
Hình 16: Giao điện chức năng cập nhật thông tin nhà xuất bản, kho, thể loại, sách cá biệt, sách, độc giả, quyền truy cập, loại độc giả 18
Hình 17: Giao điện chức năng tác vụ gồm lập phiếu mượn, chi tiết phiếu mượn, phiếu trả 19
Hình 18: Giao diện chức năng tìm kiếm gồm tìm sách, độc giả, phiếu mượn, phiếu tra, thanh lý Công cụ tìm kiếm gần đúng có thể tìm kiếm theo mọi thuộc tính 19
Hình 19: Giao diện thanh lý gồm chức năng quản lý đại lý, lập phiếu thanh lý, chi tiết thah lý 20
Hình 20: Giao diện chọn sách bán trong thanh lý, với các ràng buộc điều kiện 20
Hình 21: Giao diện thống kê với chức năng in báo cáo 21
Trang 6Lời nói đầu
Trên thế giới cũng như ở Việt Nam, công nghệ thông tin đã trở thành một công nghệ mũi nhọn, nó là ngành khoa học kỹ thuật không thể thiếu trong việc áp dụng vào các hoạt động xã hội như: quản lý hệ thống thư viện sách, kinh tế, thông tin, kinh doanh, và mọi hoạt động trong lĩnh vực nghiên cứu…
Ở nước ta hiện nay, việc áp dụng vi tính hóa trong quản lý tại các cơ quan, xí nghiệp, tổ chức đang rất phổ biến và trở nên cấp thiết, bởi ngành nghề nào cũng đòi hỏi con người phải xử lý khối lượng công việc khổng lồ,
và những kiến thức, những suy nghĩ, những đào tạo chuyên sâu Một vấn đề cấp thiết đặt ra trong quản lý là làm thế nào để chuẩn hóa cách xử lý dữ liệu
ở trường học, chính vì thế chúng em chọn đề tài “Phân tích thiết kế hệ thống quản lý thư viện sách”
Mặc dù đã rất cố gắng để hoàn thành công việc, nhưng do thời gian có hạn và thiếu kinh nghiệm cũng như kỹ năng chưa cao nên việc phân tích, thiết kế và phát triển phần mềm còn nhiều thiếu sót, kính mong thầy và các bạn góp ý, bổ sung để chúng em hoàn thiện cho bài tập tốt hơn nữa Chúng
em xin chân thành cảm ơn!
Hà nội, tháng 10 năm 2021
Trang 7Chương 1: Phát biểu bài toán
1.1 Hoạt động nghiệp vụ thư viện:
Các hoạt động nghiệp vụ của một thư viện sách thông thường có thể được tóm tắt như sau:
Thư viện tạo các sách cá biệt gồm các thông tin: mã sách cá biệt, tên sách, tên tác giả, tên nhà xuất bản, tên loại, đơn giá, số lượng Các sách có thể được phân theo tầng hoặc loại
Mỗi độc giả được cấp một mã độc giả, gồm các thông tin: mã độc giả, tên độc giả, năm sinh, địa chỉ, giới tính, số điện thoại
Độc giả muốn mượn sách thì tra cứu sách rồi thông báo với thủ thư, sau đó thủ thư sẽ lấy sách và ghi vào phiếu mượn
Sau khi kiểm tra đầy đủ thông tin phiếu mượn, thủ thư kiểm tra điều kiện mượn của độc giả và xác nhận cho phép mượn sách Một số thông tin trong phiếu mượn được lưu lại để quản lý
Khi độc giả trả sách: xác nhận độc giả, xác định phiếu mượn, việc trả sách được ghi nhận vào dòng ngày trả và tình trạng Phiếu mượn được lưu lại để quản lý và theo dõi
Trang 8nhận lại sách khi độc giả trả sách
Hỗ trợ quản lý các thông tin về độc giả dựa trên danh sách độc giả, thông tin phiếu mượn
Hỗ trợ chức năng quản trị chung hệ thống, trong đó người quản trị sẽ
có chức năng thêm bớt các thủ tục
b) Yêu cầu phi chức năng:
Độc giả có thể tra cứu thông tin sách trên môi trường mạng nội
bộ của thư viện
Tuy nhiên, việc mượn và trả sách phải thực hiện trực tiếp trên
thư viện Thủ thư sử dụng hệ thống để cập nhật và quản lý quá
trình mượn trả sách
Thông tin thống kê phải đảm bảo tính chính xác, khách quan
Các hình thức phạt đối với độc giả quá hạn sẽ được lưu lại và
thông báo cho độc giả biết
1.3 Sơ đồ phân cấp chức năng
1.3.1Xác định các chức năng hệ thống:
Trang 9Hình 1: Sơ đồ phân cấp chức năng
Mô tả chức năng:
Quản trị hệ thống: admin sử dụng chức năng quản trị hệ thống để quản lý thông tin người dùng và phân quyền sử dụng cho người dùng: thủ thư, thủ kho
Quản lý kho sách: hệ thống cho phép quản lý toàn bộ thông tin của tất cả sách của thư viện, cho phép thêm , xóa, thay đổi thông tin của sách
Quản lý độc giả: hệ thống cho phép quản lý thông tin cá nhân của từng độc giả, thêm, xóa, sửa thông tin của độc giả
Quản lý mượn trả: hệ thống cho phép quản lý việc mượn trả sách của độc giả, hỗ trợ tạo phiếu mượn, gia hạn sách
Thống kê: hệ thống cho phép thống kê số lượng sách đã được mượn, số lượng sách chưa được mượn trong 1 năm giúp người quản lý thư viện nắm rõ tình hình mượn trả sách của thư viện
Trang 10a) Thẻ sách
b) Phiếu mượn sách
Trang 11Chương 2: TỔNG QUAN VỀ PHÂN TÍCH VÀ
THIẾT KẾ HỆ THỐNG
2.1 Mô hình hóa nghiệp vụ với biểu đồ hoạt động
Hình 2: Biểu đồ hoạt động mượn sách
Trang 12Hình 3: Biểu đồ hoạt động trả sách
Hình 4: Biểu đồ hoạt động thêm mới sách
Hình 5: Biểu đồ hoạt động thanh lý sách
Trang 132.2 Mô hình hóa nhu cầu với biều đồ use case hoạt động của thư viện
Hình 6: Biểu đồ use case mức tổng quát
Hình 7: Biểu đồ use case mức mượn sách
Trang 142.3 Mô hình hóa nhu cầu với biều đồ lớp hoạt động của thư viện
Hình 8: Biểu đồ lớp hoạt động của thư viện
Trang 15Chương 3 :Thiết kế
3 Thiết kế cơ sở dữ liệu
3.1 Lớp chi tiết
Hình 9: Biểu đồ Diagram của quản lý thư viện.
1 Lớp KHO (kho): makho(Mã kho), tenkho( Tên kho)
2 Lớp THELOAI (thể loại): matl( Mã thể loại), tentl( tên thể loại)
3 Lớp NXB (nhà xuất bản): manxb ( Mã nhà xuất bản), tennxb, diachi, sdt
4 Lớp SACHCABIET ( sách cá biệt): mascb, tensach, manxb, maloai, soluong, giatien, makho
5 Lớp SACH (sách): masach, mascb, tinhtrang
6 Lớp LOAIDOCGIA (loại độc giả): maloaidg (mã loại), tenloaidg ( tên loại)
7 Lớp DOCGIA (độc giả): madg ,maloaidg, tendg, gioitinh, diachi, sdt, ngaysinh
8 Lớp QUYENTRUYCAP (quyền truy cập): matruycap, tentruycap
9 Lớp NHANVIEN ( nhân viên): manv, maloaitc, tennv, gioitinh, sdt,
namsinh, diachi
10.Lớp DAILY ( đại lý): madl, tendl, diachi, sdt
Trang 1610 Lớp THANHLY ( thanh lý): matl, madl, manv, ngayban
12.Lớp CTTHANHLY (chi tiết thanh lý): matl, mascb, dongia, soluong, thanhtien
13.Lớp PHIEUMUON ( phiếu mượn): mapm, madg, ngaymuon, manv 14.Lớp CTPHIEUMUON ( chi tiết phiếu mượn): mapm, masach, hantra 15.Lớp PHIEUTRA ( chi tiết phiếu trả): mapt, mapm, masach, ngaytra, phat, ghichu, manv
3.2 Thiết kế giao diện
a Truy cập với chức năng độc giả:
Hình 10:Giao diện đăng nhập với chức năng độc giả
Trang 17Hình 11: Giao diện tìm sách với quyền truy cập độc giả
b Truy cập với chức năng Admin
Trang 18Hình 12: Giao diện đăng nhập với chức năng admin
Hình 13: Giao diện đổi mật khẩu
Trang 19Hình 14: Giao diện menu các chức năng
Hình 15: Giao diện quản lý nhân viên
Trang 20Hình 16: Giao điện chức năng cập nhật thông tin nhà xuất bản, kho, thể loại,
sách cá biệt, sách, độc giả, quyền truy cập, loại độc giả
Hình 17: Giao điện chức năng tác vụ gồm lập phiếu mượn, chi tiết phiếu mượn,
phiếu trả
Trang 21Hình 18: Giao diện chức năng tìm kiếm gồm tìm sách, độc giả, phiếu mượn, phiếu tra, thanh lý Công cụ tìm kiếm gần đúng có thể tìm kiếm theo mọi thuộc
tính
Hình 19: Giao diện thanh lý gồm chức năng quản lý đại lý, lập phiếu thanh lý,
chi tiết thah lý
Trang 22Hình 20: Giao diện chọn sách bán trong thanh lý, với các ràng buộc điều kiện
Hình 21: Giao diện thống kê với chức năng in báo cáo
Trang 233.3 Hướng dẫn sử dụng phần miềm
Sau khi khởi động phần miềm sẽ có 2 chức năng để đăng nhập
1 Đăng nhập với chức năng độc giả
Khi đăng nhập với chức năng độc giả thì sẽ xuất hiện giao diện tìm sách Trong giao diện này sẽ có nút chức năng là resert và tìm kiếm Với nút
resert thì toàn bộ dữ liệu sẽ được cập nhật và dòng text tìm kiếm sẽ về null Với nút tìm kiếm thì ta cần nhập nội dung cần tìm vào dòng text rồi bấm nút tìm Chế độ tìm kiếm này cho phép tìm gần đúng (vd mã sách SCB001001
ta tìm kiếm gần đúng SCB00100 rồi chọn nút tìm kiếm ), tìm mọi thuộc tính
có nghĩa là khi nhập thuộc tính mã sẽ tìm theo mã, nhập tên nhà xuất bản sẽ tìm theo tên nhà xuất bản, …
2 Đăng nhập với chức năng admin
Trước khi đăng nhập với chức năng admin sẽ có chức năng đổi mật khẩu Khi đăng nhập với chức năng admin thì sẽ xuất hiện giao diện menu Trong giao diện này sẽ có các nút chức năng là Admin, Cập nhật, Tác vụ, Tìm kiếm, Thanh lý, Báo cáo, Thống kê
- Trong chức năng Admin sẽ có chức năng thêm sửa xóa nhân viên , không sửa được mật khẩu ở chức năng này Trước khi thêm thì chọn nút tạo mới để bắt đầu thêm mới Nút quay lại để trở lại giao diện menu
- Trong chức năng Cập nhật có chức năng thêm sửa xóa nhà xuất bản, kho, thể loại, sách cá biệt ( là 1 loại sách được lưu trong thư viên có thuộc tính số lượng), sách ( là 1 thành phần trong sách cá biệt có mã riêng biệt), độc giả, quyền truy cập, loại độc giả.Chức năng thêm mới ở sách cá biệt khi thêm mới sẽ tự sinh sách mới với mã sách cá biệt và mã sách = mã sách cá biệt + số lượng (vd: mã sách cá biệt SCB001 với số lượng 15 thì mã sách
sẽ sinh trong khoảng SCN001001 dến SCB001015).Trong các giao diện có
sử dung các Jcombobox để load dữ liệu từ các table khác Khi kích vào các jTable dữ liệu tại jTable đó sẽ load lên các jTextFied và jCombobox Chức năng thêm cần chọn nút thêm mới trước để tiếp tục Ở chức nắng sách nếu bạn muốn xóa 1 sách hoặc thêm mới 1 sách mà không thêm bằng chức năng sách cá biệt thì số lượng sách trong sách cá biệt tự cập nhật, sửa lại tình trạng của sách Chức năng phiếu trả, nếu hạn trả < ngày hiện tại sẽ có
1 thông báo là sách đã mượn quá hạn
- Trong chức năng Tác vụ ( thao tác mượn trả sách) gồm có các chức năng thêm sửa xóa phiếu mượn, chi tiết phiếu mượn, phiếu trả Chức năng các nút tương tự chức năng Cập nhật Trong chức năng lập chi tiết phiếu mượn sẽ có chức năng xem sách giống chức năng tìm kiếm sách của độc giả
Trang 24- Trong chức năng Tìm kiếm sẽ có chức năng tìm kiếm sách ( sách cá biệt), độc giả, phiếu mượn, phiếu trả, thanh lý Chức năng tìm kiếm gần đúng và tìm theo mọi thuộc tính giống chức năng tìm sách của độc giả
- Trong chức năng Thanh lý có chức năng tìm kiếm, thêm sửa xóa đại lý, phiếu thanh lý, chi tiết thanh lý Tại jTable của phiếu thanh lý khi chọn vào 1 loại thanh lý thì bên chi tiết thanh lý sẽ load dữ liệu của phiếu thanh lý đó lên jTable chi tiết thanh lý Chức năng chi tiết thanh lý khi chọn sách thì sẽ hiển thị lên thông báo số lượng sách còn lại Khi bán nếu số lượng bán băng với
số lượng sách đã thông báo trước đó thì hoàn thành thao tác, ngược lại nếu
số lượng bán nhỏ hơn số lượng sách thông báo thì sẽ mở qua giao diện chọn sách Trong giao diện này nếu bạn chọn ít hơn hoặc nhiều hơn thì hệ thống sẽ thông báo Sau khi bán thì số lượng sách sẽ được cập nhật lại
- Trong chức năng Thông báo, Thống kê sẽ hiển thị ra tổng số độc giả đã đăng ký, tổng số sách, số phiếu mượn, tổng số khách đang mượn, tổng số phiếu mượn quá hạn, danh sách phiếu mượn, nút in báo cáo sẽ in ra file và lưu trữ lại
Tài liệu tham khảo
Trong quá trình nghiên cứu và phát triền phần miềm nhóm đã tham khảo một số tài liệu:
Sách Phân tích thiết kế hướng đối tượng
Sách Lập trình Java
Và nhiều nguồn trên mạng