Source code xây dựng chương trình quản lý thư viện bằng java

Khoa Tin học – Trường Đại Học Sư Phạm<Quản Lý Thư Viện >BÁO CÁO TỔNG KẾTPhiên bản <1.0><Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Revision HistoryNgày Phiên bảnMô tả Tác giả10/12/2013 1.0 Tổng hợp tài liệu thành bài báo cáo hoàn chỉnh.Nhóm A8Khoa tin, 2012Trang 2<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>BẢNG ĐÁNH GIÁ STT Tên thành viên Công việc được giaoTỉ lệ hoàn thành (%)Tinh thần, thái độ hợp tác (Kém, Trung bình, Khá, Tốt)Mức đóng góp cho dự án (Tổng cộng 100%)1Thái Thị Anh Nga-Xây dựng CSDL.-Xây sơ đồ class.-Nhập dữ liệu.-Thiết kế giao diện.-Viết tài liệu javadoc, usecase tổng quát.-Lập trình formThemDocGia, viewLapTheDocGia, formSuaDocGia, viewSuaDocGia, formXoaDocGia, viewXoaDocGia, viewThongKeQuaHan, ChucNangThuThu, ChucNangThuKho90 Tốt 202Nguyễn Thị Diễm-Viết tài liệu phát biểu vấn đề.-Viết tài liệu CSDL-Nhập dữ liệu.-Lập trình formThemTaiLieu, viewThemTaiLieu, formXoaTaiLieu80 Tốt 153 Nguyễn Phước Phúc-Nhập dữ liệu.-Viết tài liệu usecase Tìm kiếm.-Lập trình formHuongDan, viewThongKeTaiLieuCon, viewThongKeTaiLieuMuo80 Tốt 10Khoa tin, 2012Trang 3<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>n4Khổng Thanh Dũng-Vẽ sơ đồ usecase tổng quát.-Nhập dữ liệu.-Viết tài liệu usecase Quản lý Tài liệu.-Lập trình formSuaTaiLieu, viewSuaTaiLieu, viewXoaTaiLieu, viewTaiLieuHongMat80 Tốt 155Trần Tuấn Nguyên-Nhập dữ liệu.-Viết tài liệu usecase Quản lý mượn trả.-Lập trình formMuonTaiLieu, viewDanhSachMuon80 Tốt 156Đinh Xuân Bách-Tìm hiểu quy trình làm việc của thư viện.-Viết tài liệu usecase Quản lý độc giả.-Lập trình formTraTaiLieu, viewDanhSachTra.-Nhập dữ liệu.80 Tốt 107Trần Thị Phong -Nhập dữ liệu.-Tìm hiểu quy trình làm việc của thư viện.-Viết tài liệu đặc tả usecase Đăng Nhập.-Lập trình formTrangChu, formTimKiem80 Tốt 15Khoa tin, 2012Trang 4<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Mục lục1. Phát biểu vấn đề 72. Usecase & Đặc tả Usecase 82.1 Sơ đồ Usecase 82.2 Đặc tả Usecase 82.2.1 Usecase Đăng nhập. 82.2.2 Usecase Tìm kiếm. 9 2.2.3 Usecase Quản lý độc giả. 10 2.2.4 Usecase Quản lý tài liệu 10 2.2.5 Usecase Quản lý mượn trả. 113. Phân tích & Thiết kế chương trình 123.1 Các Class trong chương trình 123.1.1 Class TrangChu. 123.1.2 Class TimKiem. 123.1.3 Class ChucNangThuThu. 123.1.4 Class ChucNangThuKho. 123.1.5 Class formThemDocGia. 133.1.6 Class formChinhSuaDocGia. 133.1.7 Class formXoaDocGia. 133.1.8 Class viewLapTheDocGia. 133.1.9 Class viewSuaDocGia. 143.1.10 Class viewXoaDocGia. 143.1.11 Class formThemTaiLieu. 143.1.12 Class formChinhSuaTaiLieu. 143.1.13 Class formXoaTaiLieu. 153.1.14 Class viewThemTaiLieu. 153.1.15 Class viewChinhSuaTaiLieu. 153.1.16 Class viewXoaTaiLieu. 153.1.17 Class formMuonTaiLieu. 153.1.18 Class formTraTaiLieu. 163.1.19 Class viewDanhSachMuon. 163.1.20 Class viewDanhSachTra. 173.1.21 Class viewThongKeTaiLieuMuon. 173.1.22 Class viewThongKeTaiLieuCon. 173.1.23 Class viewTaiLieuHongMat. 173.2 Sơ đồ Class 174. Phân tích & Thiết kế cơ sở dữ liệu 214.1 Sơ đồ thực thể quan hệ 214.2 Các lược đồ quan hệ 214.2.1 Đăng nhập 214.2.2 Độc giả 224.2.3 Tài liệu 23 4.2.4 Chi tiết mượn trả 245. Kết quả thực hiện 265.1 Form Trang chủ. 26Khoa tin, 2012Trang 5<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>5.2 Form Tìm kiếm. 275.3 Form Chức năng thủ thư. 275.4 Form Chức năng thủ kho. 285.5 Form Lập thẻ độc giả. 295.6 Form Xem dữ liệu độc giả sau khi lập. 295.7 Form Chỉnh sửa độc giả. 305.8 Form Xem dữ liệu độc giả sau chỉnh sửa. 305.9 Form Xóa độc giả. 315.10 Form Xem dữ liệu độc giả sau khi xóa. 315.11 Form Cho mượn tài liệu. 325.12 Form Xem danh sách mươn tài liệu. 325.13 Form Nhận trả tài liệu. 335.14 Form Xem Danh sách trả tài liệu. 345.15 Form Thống kê tài liệu quá hạn. 345.16 Form Nhập tài liệu mới. 35 5.17 Form Xem danh sách tài liệu. 36 5.18 Form Chỉnh sửa tài liệu. 37 5.19 Form Xem danh sách tài liệu sau khi chỉnh sửa. 381.1 Form Xóa tài liệu. 39 5.21 Form Xem danh sách tài liệu sau khi xóa. 39 5.22 Form Thống kê tài liệu hỏng – mất. 40 5.23 Form Thống kê tài liệu đã cho mượn. 40 5.24 Form Thống kê tài liệu còn trong thư viện. 41 5.25 Form Hướng dẫn. 416. Kết luận 41Khoa tin, 2012Trang 6<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>1. Phát biểu vấn đềGiả sử một khách hàng là quản lý thư viện trường đại học Sư Phạm Đà Nẵng yêu cầu nhóm xây dựng một phần mềm hỗ trợ việc quản lý thư viện được thuận tiện hơn. Thông tin về thư viện như sau:• Trong thư viện có nhiều loại tài liệu gồm: giáo trình, sách tham khảo, luận văn, báo cáo nghiên cứu khoa học, tạp chí, tuyện, thơ….• Mỗi độc giả muốn đăng ký mượn sách thì phải đăng ký làm thẻ thư viện gồm các thông tin: họ tên, ngày sinh, mã số sinh viên (mã cán bộ), lớp (phòng ban), khoa, ngày làm thẻ, ngày hết hạn.• Sau khi đăng ký thẻ thư viện thì thông tin độc giả gồm: mã độc giả, họ tên, ngày sinh, mã số sinh viên (mã cán bộ), lớp (phòng ban), khoa, ngày đăng ký, ngày hết hạn thẻ.• Hằng ngày có các độc giả đến mượn và trả sách.• Thủ thư cần phải kiểm tra xem trong thư viện có tài liệu như độc giả cần không để cho mượn.• Hằng tháng, thủ kho sẽ lập báo cáo thống kê tình trạng tài liệu trong thư viện. Hệ thống quản lý cho phép:• Thủ kho: - Tiếp nhận tài liệu mới.- Thanh lý tài liệu cũ.- Lập báo cáo thống kê:+ Số tài liệu hiện có trong thư viện.+ Số tài liệu đã cho mượn.+ Số tài liệu mượn quá hạn.• Thủ thư:- Tìm kiếm tài liệu:+ Theo tên tài liệu.- Quản lý độc giả:+ Tiếp nhận làm thẻ độc giả, nhập thông tin vào dữ liệu quản lý.+ Cập nhật thông tin độc giả.+ Xóa thông tin độc giả.- Quản lý mượn, trả tài liệu:+ Cập nhật, thống kê thông tin độc giả mượn tài liệu quá hạn, làm hỏng hay mất tài liệu. • Độc giả: sử dụng hệ thống để tìm kiếm tài liệu mà không cần đăng nhập. (Chức Khoa tin, 2012Trang 7<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>năng này giống thủ thư).• Chỉ có thủ kho và thủ thư mới được cấp quyền đăng nhập hệ thống và thực hiện các chức năng quản lý.• Số tài liệu được mượn tối đa 1 lần là: 3 quyển.• Độc giả chưa trả đủ sách mượn lần trước thì không được mượn tiếp.• Tài liệu đọc chưa xong, nhưng muốn giữ lại đọc tiếp thì phải mang đến thư viện làm thủ tục gia hạn thêm. (tức là mang đến làm thủ tục mượn lại.)• Tài liệu mượn quá hạn bị phạt tiền 2000 đồng/1 ngày quá hạn.• Tài liệu bị hỏng hay làm mất bị phạt tiền gấp đôi giá trên bìa sách. 2. Usecase & Đặc tả Usecase 2.1 Sơ đồ Usecase 2.2 Đặc tả Usecase2.2.1 Usecase Đăng nhập.2.2.2.1. Mô tả:Use case này cho phép người sử dụng đăng nhập vào hệ thống quản lý thư viện, tùy theo đối tượng người dùng mà hệ thống sẽ cho phép người dùng thực hiện các form chức năng khác nhau.2.2.2.2. Luồng cơ sở.Khoa tin, 2012Trang 8<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Use case này bắt đầu khi người dùng mở phần mềm.1. Hệ thống yêu cầu người dùng nhập Tên và Mật khẩu. Sau đó lựa chọn Đăng nhập.2. Hệ thống sẽ kiểm tra trong CSDL người dùng để xác thực các thông tin nhập vào.3. Tùy theo đối tượng người dùng, hệ thống sẽ dẫn đến trang chủ với những chức năng phù hợp.4. Đăng nhập thành công hay không thành công đều có một dialog thông báo.2.2.2.3. Luồng thay thế.Sai thông tin đăng nhập:Nếu, trong luồng cơ sở, người dùng đăng nhập với những thông tin không có trong cơ sở dữ liệu người dùng, thì hệ thống sẽ thông báo lỗi và yêu cầu đăng nhập lại.2.2.2.4. Điều kiện đặc biệtChỉ có thủ thư và thủ kho mới được cấp quyền đăng nhập.2.2.2.6. Điều kiện trước.Không.2.2.2.6. Điều kiện sau.Không.2.2.2 Usecase Tìm kiếm.2.2.2.1. Mô tả:Use case này cho phép người dùng có thể tìm kiếm tài liệu mà không cần phải đăng nhập vào hệ thống.2.2.2.2. Luồng cơ sở.- Use case này bắt đầu khi người dùng chọn chức năng “Tìm kiếm”.- Hệ thống sẽ kiểm tra trong CSDL (table TAILIEU) và xuất ra kết quả.- Kết quả tìm thấy sẽ hiện ra các thông tin liên quan đến tài liệu cần tìm: tên, giá, nhà xuất bản, tác giả, vị trí v v - Sau khi nhấn nút “Tìm ” hệ thống kiểm tra trong CSDL và hiện ra thông báo tìm thấy bao nhiêu kết quả, nếu không tìm thấy thì hiện thông báo “Tìm thấy 0 kết quả”.2.2.2.3. Luồng thay thế.Không.2.2.2.4. Điều kiện đặc biệtChức năng này có thể thực hiện không cần đăng nhập.2.2.2.5. Điều kiện trước.Không2.2.2.6. Điều kiện sau.Khoa tin, 2012Trang 9<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Không.2.2.3 Usecase Quản lý độc giả.2.2.3.1. Mô tả:Use case này cho phép người làm chức năng thủ thư quản lý việc tạo và cập nhật thông tin độc giả.2.2.3.2. Luồng cơ sở.Use case này bắt đầu khi thủ thư chọn quản lý độc giả với các chức năng:1. Lập thẻ độc giả: - Nhân viên sẽ nhập thông tin độc giả vào hệ thống.- Chọn button “Thêm” thì hệ thống sẽ kiểm tra, nếu thông tin phù hợp sẽ cho phép thêm vào CSDL (table DOCGIA).2. Chỉnh sửa thông tin độc giả:- Nhân viên sẽ chỉnh sửa một số thông tin nếu cần thiết.- Chọn button “Sửa” thì hệ thống sẽ kiểm tra và cập nhật lại trong CSDL (table DOCGIA).3. Xóa thông tin độc giả:- Nhân viên chọn mã độc giả cần xóa.- Chọn button “Xóa” thì hệ thống sẽ kiểm tra và xóa khỏi CSDL (table DOCGIA).2.2.3.3. Luồng thay thế.- Nếu thông tin nhập vào không đảm bảo yêu cầu hay không đúng với định dạng của hệ thống thì hệ thống sẽ thông báo nhập lại.2.2.2.4. Điều kiện đặc biệtChỉ có độc giả là sinh viên, nghiên cứu sinh, giảng viên, cán bộ trong nội bộ trường mới được yêu cầu lập thẻ thư viện.2.2.3.5. Điều kiện trước.Người làm chức năng thủ thư đăng nhập mới được sử dụng chức năng này.2.2.3.6. Điều kiện sau.2.2.4 Usecase Quản lý tài liệu2.2.4.1. Mô tả:Usecase này cho phép người làm chức năng thủ kho quản lý việc tạo và cập nhật thông tin tài liệu.2.2.4.2. Luồng cơ sở.Usecase này bắt đầu khi người dùng là thủ kho đăng nhập vào hệ thống, chọn các chức năng thêm, sửa, xóa thông tin tài liệu.1. Nếu chọn chức năng “Nhập tài liệu mới” thì sẽ chuyển đến form nhập tài liệu mới. Sau khi nhập đủ thông tin, chọn “Thêm” thì hệ thống sẽ lưu thông tin vào CSDL.Khoa tin, 2012Trang 10<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>2. Nếu chọn chức năng “Chỉnh sửa tài liệu” thì hệ thống sẽ chuyển đến form chỉnh sửa tài liệu. Người dùng sẽ chọn 1 mã tài liệu để sửa. Sau khi chọn nút “Sửa” thì hệ thống sẽ update lại CSDL.3. Nếu chọn chức năng “Xóa tài liệu” thì hệ thống chuyển đến form xóa tài liệu. Người dùng chọn 1 mã tài liệu cần xóa, sau khi nhấn nút “Xóa” thì sẽ xóa khỏi CSDL.4. Nếu chọn chức năng “Thống kê danh sách mượn tài liệu” thì hệ thống sẽ hiện ra form danh sách các độc giả và tài liệu đã mượn.5. Nếu chọn chức năng “Thống kê tài liệu còn” thì hệ thống sẽ hiện ta form chứa danh sách các độc giả và tài liệu đã trả.6. Nếu chọn chức năng “Xem tài liệu hỏng mất” thì hệ thống sẽ hiện ra form chứa danh sách các tài liệu đã báo hỏng – mất.2.2.4.3. Luồng thay thế.Nếu trong chức năng nhập thêm tài liệu mới người dùng nhập thông tin không đúng định dạng hoặc bỏ trống thì hệ thống sẽ có thông báo yêu cầu nhập lại.2.2.2.4. Điều kiện đặc biệt.Không.2.2.4.5. Điều kiện trước.Người làm chức năng thủ kho phải đăng nhập mới thực hiện được chức năng này.2.2.4.6. Điều kiện sau. Không.2.2.5 Usecase Quản lý mượn trả.2.2.5.1. Mô tả:Use case này cho phép người thủ thư quản lý việc mượn, trả tài liệu trong thư viện một cách dễ dàng như cập nhập thông tin mượn, trả tài liệu, thống kê tài liệu mượn, và độc giả mượn tài liệu quá hạn. 2.2.5.2. Luồng cơ sở.1. Nếu chọn chức năng “Cho mượn tài liệu” trong form chức năng thủ thư thì hệ thống sẽ chuyển tới form mượn tài liệu. Sau khi nhập đầy đủ thông tin và chọn nút “Mượn” thì sẽ cập nhật thông tin vào CSDL bảng chitietmuontra, số lượng còn của tài liệu đó sẽ tự động giảm xuống theo số lượng mượn.2. Nếu chọn chức năng “Nhận trả tài liệu” trong form chức năng thủ thư thì hệ thống sẽ chuyển tới form trả tài liệu. Sau khi chọn mã phiếu thì sẽ xuất hiện các mã tài liệu của phiếu đó, chọn mã tài liệu để trả. Sau khi chọn nút “Trả” thì hệ thống cập nhật lại thông tin trong CSDL bảng chitietmuontra, nếu tài liệu hỏng mất thì vẫn điền đủ các thông tin, nhưng số lượng trả điền là 0. Hệ thống tự động tăng số lượng còn nếu tài liệu trả nguyên vẹn chứ k hỏng mất.3. Nếu chọn chức năng “Thống kê tài liệu hỏng mất” thì sẽ xuất hiện form chứa danh sách các tài liệu đã báo là hỏng – mất.2.2.5.3. Luồng thay thế.Khoa tin, 2012Trang 11<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Không.2.2.2.4. Điều kiện đặc biệtKhông.2.2.5.5. Điều kiện trước.Thủ khư phải đăng nhập mới thực hiện được chức năng này.2.2.5.6. Điều kiện sau.Không.3. Phân tích & Thiết kế chương trình3.1 Các Class trong chương trình3.1.1 Class TrangChu.Gồm 1 form chính, chứa hình nền, các button “Đăng nhập”, “Tìm kiếm”, Hướng Dẫn”.- Chứa phương thức đề đăng nhập gọi bởi button “Đăng nhập”.- Gọi tới form TimKiem.- Gọi tới form HuongDan.3.1.2 Class TimKiem.Gồm 1 form chứa textbox để nhập tên tài liệu cần tìm, button “Tìm”, “Trở về”.- Chứa phương thức Search() để tìm kiếm tài liệu gọi bởi button “Tìm”.- Quay trở về TrangChu bằng button “Trở về”.3.1.3 Class ChucNangThuThu.Gồm 1 form chính chứa 1 ảnh thủ thư, các button chức năng của thủ thư.- Button “Lập thẻ độc giả” gọi đến form Lập thẻ độc giả.- Button “Chỉnh sửa độc giả” gọi đến form Chỉnh sửa độc giả.- Button “Xóa độc giả” gọi đến form Xóa độc giả.- Button “Cho mượn tài liệu” gọi đến form Mượn tài liệu.- Button “Nhận trả tài liệu” gọi đến form Trả tài liệu.- Button “Thống kê tài liệu quá hạn” gọi đến form Thống kê quá hạn.- Button “Trở về” quay lại form Trang chủ.- Button “Thoát” thoát chương trình.3.1.4 Class ChucNangThuKho.Gồm form chính chứa các button chức năng của thủ kho.- Button “Nhập tài liệu mới” gọi đến form Thêm tài liệu.- Button “Chỉnh sửa tài liệu” gọi đến form Sửa tài liệu.- Button “Xóa tài liệu” gọi đến form Xóa tài liệu.- Button “Tài liệu hỏng mất” gọi đến form Tài liệu hỏng - mất.- Button “Thống kê tài liệu mượn” gọi đến form Thống kê tài liệu mượn.- Button “Thống kê tài liệu còn” gọi đến form Thống kê tài liệu còn.- Button “Trở về” quay lại Trang Chủ.- Button “Thoát” thoát chương trình.Khoa tin, 2012Trang 12<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>3.1.5 Class formThemDocGia.Gồm form chứa các ô textbox để nhập dữ liệu độc giả và các button chức năng.- Phương thức themdocgia(DocGia docgia) để thêm độc giả vào CSDL.- Phương thức nhan_btnThem(DocGia dg) để lấy dữ liệu tên textbox, gọi phương thức themdocgia(DocGia docgia) để lưu vào CSDL. Phương thức này được thực hiện khi nhấn button “Thêm”.- Phương thức kiemtra() để kiêm r tra các dữ liệu trên textbox.- Button “Xem” gọi tới form view Lập thẻ độc giả.- Button “Trở về” để trở về form Chức năng thủ thư.- Button “Thoát” để thoát chương trình.3.1.6 Class formChinhSuaDocGia.Gồm form chứa các ô textbox để xem dữ liệu độc giả và các button chức năng.- Phương thức DocGia(JComboBox cbbMaDG) để lấy dữ liệu là Mã độc giả đưa vào combobox.- Phương thức hien_dulieu() để hiện dữ liệu theo combobox. Phương thức này được đặt trong sự kiện cho combobox.- Phương thức nhan_btnLuu(DocGia docgia) để lấy dữ liệu từ textbox, gọi phương thức chinhsuadocgia(DocGia docgia) để lưu dữ liệu vào CSLD. Phương thức này đặt trong sự kiện của button “Sửa”.- Phương thức xoatrang() để xóa dữ liệu trên textbox khi lưu thành công.- Button “Xem” gọi đến form view Thông tin độc giả.- Button “Trở về” quay lại form Chức năng thủ thư.- Button “Thoát” để thoát chương trình.3.1.7 Class formXoaDocGia.Gồm form chứa các ô textbox để xem dữ liệu độc giả và các button chức năng.- Phương thức DocGia(JComboBox cbbMaDG) để lấy dữ liệu là Mã độc giả đưa vào combobox.- Phương thức hien_dulieu() để hiện dữ liệu theo combobox. Phương thức này được đặt trong sự kiện cho combobox.- Phương thức nhan_btnLuu(DocGia docgia) để lấy dữ liệu từ textbox, gọi phương thức chinhsuadocgia(DocGia docgia) để lưu dữ liệu vào CSLD. Phương thức này đặt trong sự kiện của button “Xóa”.- Phương thức xoatrang() để xóa dữ liệu trên textbox khi lưu thành công.- Button “Xem” gọi đến form view Thông tin độc giả.- Button “Trở về” quay lại form Chức năng thủ thư.- Button “Thoát” để thoát chương trình.3.1.8 Class viewLapTheDocGia.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initDG() để tạo table chứa kết quả.Khoa tin, 2012Trang 13<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>- Phương thức DuLieuDocGia() để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Thêm độc giả.- Button “Thoát” để thoát chương trình.3.1.9 Class viewSuaDocGia.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initDG() để tạo table chứa kết quả.- Phương thức DuLieuDocGia() để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Chỉnh sửa độc giả.- Button “Thoát” để thoát chương trình.3.1.10 Class viewXoaDocGia.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initDG() để tạo table chứa kết quả.- Phương thức DuLieuDocGia() để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Xóa độc giả.- Button “Thoát” để thoát chương trình.3.1.11 Class formThemTaiLieu.Gồm form chứa các ô textbox để nhập dữ liệu tài liệu và các button chức năng.- Phương thức themtailieu(TaiLieu tailieu) để thêm tài liệu vào CSDL.- Phương thức nhan_btnThem(TaiLieu tl) để lấy dữ liệu tên textbox, gọi phương thức themtailieu(TaiLieu tailieu) để lưu vào CSDL. Phương thức này được thực hiện khi nhấn button “Thêm”.- Phương thức kiemtra() để kiểm tra các dữ liệu trên textbox.- Button “Xem” gọi tới form view Thêm tài liệu.- Button “Trở về” để trở về form Chức năng thủ kho.- Button “Thoát” để thoát chương trình.3.1.12 Class formChinhSuaTaiLieu.Gồm form chứa các ô textbox để xem dữ liệu và các button chức năng.- Phương thức TaiLieu(JComboBox cbbMaTL) để lấy dữ liệu là Mã tài liệu đưa vào combobox.- Phương thức hien_dulieu() để hiện dữ liệu theo combobox. Phương thức này được đặt trong sự kiện cho combobox.- Phương thức nhan_btnLuu(TaiLieu tailieu) để lấy dữ liệu từ textbox, gọi phương thức chinhsuatailieu(TaiLieu tailieu) để lưu dữ liệu vào CSLD. Phương thức này đặt trong sự kiện của button “Sửa”.- Phương thức xoatrang() để xóa dữ liệu trên textbox khi lưu thành công.Khoa tin, 2012Trang 14<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>- Button “Xem” gọi đến form view Thông tin tài liệu.- Button “Trở về” quay lại form Chức năng thủ kho.- Button “Thoát” để thoát chương trình.3.1.13 Class formXoaTaiLieu.Gồm form chứa các ô textbox để xem dữ liệu tài liệu và các button chức năng.- Phương thức TaiLieu(JComboBox cbbMaTL) để lấy dữ liệu là Mã tài liệu đưa vào combobox.- Phương thức hien_dulieu() để hiện dữ liệu theo combobox. Phương thức này được đặt trong sự kiện cho combobox.- Phương thức nhan_btnLuu(TaiLieu tailieu) để lấy dữ liệu từ textbox, gọi phương thức chinhsuatailieu(TaiLieu tailieu) để lưu dữ liệu vào CSLD. Phương thức này đặt trong sự kiện của button “Xóa”.- Phương thức xoatrang() để xóa dữ liệu trên textbox khi lưu thành công.- Button “Xem” gọi đến form view Thông tin độc giả.- Button “Trở về” quay lại form Chức năng thủ kho.- Button “Thoát” để thoát chương trình.3.1.14 Class viewThemTaiLieu.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initTL() để tạo table chứa kết quả.- Phương thức DuLieuTaiLieu() để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Thêm tài liệu.- Button “Thoát” để thoát chương trình.3.1.15 Class viewChinhSuaTaiLieu.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initTL() để tạo table chứa kết quả.- Phương thức DuLieuTaiLieu() để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Chỉnh sửa tài liệu.- Button “Thoát” để thoát chương trình.3.1.16 Class viewXoaTaiLieu.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initTL() để tạo table chứa kết quả.- Phương thức DuLieuTaiLieu() để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Xóa tài liệu.- Button “Thoát” để thoát chương trình.3.1.17 Class formMuonTaiLieu.Gồm form chứa các ô textbox để xem dữ liệu tài liệu và các button chức năng.Khoa tin, 2012Trang 15<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>- Phương thức TaiLieu(JComboBox cbbMaTL) để lấy dữ liệu là Mã tài liệu đưa vào combobox.- Phương thức DocGia(JComboBox cbbMaDG) để lấy dữ liệu là Mã độc giả đưa vào combobox.- Phương thức hien_TenDG() để hiện dữ liệu theo combobox mã độc giả. Phương thức này được đặt trong sự kiện cho combobox cbbMaDG.- Phương thức hien_TenTL() để hiện dữ liệu theo combobox mã tài liệu. Phương thức này được đặt trong sự kiện cho combobox cbbMaTL.- Phương thức nhan_btnLuu(ChiTietMuonTra mt) để lấy dữ liệu từ textbox, gọi phương thức muon(ChiTietMuonTra muon) để lưu dữ liệu vào CSLD. Phương thức này đặt trong sự kiện của button “Mượn”.- Phương thức xoatrang() để xóa dữ liệu trên textbox khi lưu thành công.- Button “Xem” gọi đến form view Danh sách mượn.- Button “Trở về” quay lại form Chức năng thủ thư.- Button “Thoát” để thoát chương trình.3.1.18 Class formTraTaiLieu.Gồm form chứa các ô textbox để xem dữ liệu tài liệu và các button chức năng.- Phương thức TaiLieu(JComboBox cbbMaTL) để lấy dữ liệu là Mã tài liệu đưa vào combobox.- Phương thức DocGia(JComboBox cbbMaDG) để lấy dữ liệu là Mã độc giả đưa vào combobox.- Phương thức MaPhieu(JComboBox cbbMaPhieu) để lấy dữ liệu là Mã phiếu đưa vào combobox.- Phương thức hien_dulieuDG() để hiện dữ liệu theo combobox mã độc giả. Phương thức này được đặt trong sự kiện cho combobox cbbMaDG.- Phương thức hien_dulieu () để hiện dữ liệu theo combobox mã tài liệu. Phương thức này được đặt trong sự kiện cho combobox cbbMaTL.- Phương thức nhan_btnLuu(ChiTietMuonTra mt) để lấy dữ liệu từ textbox, gọi phương thức muon(ChiTietMuonTra muon) để lưu dữ liệu vào CSLD. Phương thức này đặt trong sự kiện của button “Mượn”.- Phương thức xoatrang() để xóa dữ liệu trên textbox khi lưu thành công.- Button “Xem” gọi đến form view Danh sách trả.- Button “Trở về” quay lại form Chức năng thủ thư.- Button “Thoát” để thoát chương trình.3.1.19 Class viewDanhSachMuon.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initMT() để tạo table chứa kết quả.- Phương thức TaiLieuChoMuon() để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Mượn tài liệu.Khoa tin, 2012Trang 16<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>- Button “Thoát” để thoát chương trình.3.1.20 Class viewDanhSachTra.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initMT() để tạo table chứa kết quả.- Phương thức TraTaiLieu () để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Trả tài liệu.- Button “Thoát” để thoát chương trình.3.1.21 Class viewThongKeTaiLieuMuon.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initMT() để tạo table chứa kết quả.- Phương thức TraTaiLieu () để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Chức năng thủ kho.- Button “Thoát” để thoát chương trình.3.1.22 Class viewThongKeTaiLieuCon.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initCon() để tạo table chứa kết quả.- Phương thức TaiLieuCon () để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Chức năng thủ kho.- Button “Thoát” để thoát chương trình.3.1.23 Class viewTaiLieuHongMat.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initHM() để tạo table chứa kết quả.- Phương thức TaiLieuHongMat () để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Chức năng thủ kho.- Button “Thoát” để thoát chương trình.3.1.24 Class viewThongKeTaiLieuQuaHan.Gồm form chứa 1 table để hiển thị kết quả và các button chức năng.- Phương thức initQH() để tạo table chứa kết quả.- Phương thức TaiLieuQuâHn () để hiển thị dữ liệu lên table. Được thực hiện khi nhấn button “Hiển thị”.- Button “Trở về” để quay về form Chức năng thủ thư.- Button “Thoát” để thoát chương trình.3.2 Sơ đồ ClassĐăng nhậpKhoa tin, 2012Trang 17<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Tìm kiếmQuản lý tài liệuKhoa tin, 2012Trang 18<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Quản lý độc giả.Khoa tin, 2012Trang 19<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>Quản lý mượn trả.Khoa tin, 2012Trang 20<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>4. Phân tích & Thiết kế cơ sở dữ liệu4.1 Sơ đồ thực thể quan hệ4.2 Các lược đồ quan hệ4.2.1 Đăng nhập• Lược đồ quan hệdangnhap(ID, Password)• Ràng buộc toàn vẹn dữ liệu:Toàn vẹn thực thể: ID là khóa chính.Thuộc tính Ý nghĩa Kiểu dữ liệuKích thướcKhuôn dạngDuy nhấtPhạm viGiá trị cho phépGiá trị mặc địnhNullID Tên người dùngVarchar10×Password Mật khẩu Varchar15• Phụ thuộc hàm:ID → ID, Password• Dạng chuẩn: Boyce-Codd. Khoa tin, 2012Trang 21<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>• Dữ liệu ví dụ:ID Passwordthukhothukhothuthu thuthu4.2.2 Độc giả• Lược đồ quan hệdocgia(MaDG, TenDG, GioiTinh, NgaySinh, ChucVu, DonVi, NgayLamThe, NgayHetHan)• Ràng buộc toàn vẹn dữ liệu:Toàn vẹn thực thể: MaDG là khóa chính.Toàn vẹn tham chiếu: Toàn vẹn giá trị:Thuộc tính Ý nghĩa Kiểu dữ liệuKích thướcKhuôn dạngDuy nhấtPhạm viGiá trị cho phépGiá trị mặc địnhNullMaDG Mã độc giả Varchar10×TenDG Tên độc giả Varchar50GioiTinh Giới tính Varchar5 “Nam” hoặc “Nữ”NULL xNgaySinh Ngày sinh Date yyyy/mm/ddNULL xChucVu Chức vụ Varchar50 xDonVi Đơn vị Varchar50 xNgayLamTheNgày làm thẻDate yyyy/mm/ddNgayHetHan Ngày hết hạnDate yyyy/mm/dd• Phụ thuộc hàm:MaDG → TenDG, GioiTinh, NgaySinh, ChucVu, DonVi, NgayLamThe, Khoa tin, 2012Trang 22<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>NgayHetHan• Dạng chuẩn: Boyce-Codd. • Dữ liệu ví dụ:MaDGTenDG GioiTinh NgaySinhChucVuDonVi NgayLamThe NgayHetHanDG001 Thái Anh NgaNữ 1993-01-02Sinh viênLớp 11CNTT1, Khoa Tin2011-01-09 2015-01-09DG004 Trần Tuấn NguyênNam 1993-07-06Sinh viênLớp 11CNTT2, Khoa Tin2011-12-09 2015-12-094.2.3 Tài liệu• Lược đồ quan hệtailieu(MaTL, TenTL, NgayNhap, Gia, ViTri, TacGia, NXB, TheLoai, SLco, SLcon)• Ràng buộc toàn vẹn dữ liệu:Toàn vẹn thực thể: MaTL là khóa chính.Toàn vẹn tham chiếu: Toàn vẹn giá trị:Thuộc tính Ý nghĩa Kiểu dữ liệuKích thướcKhuôn dạngDuy nhấtPhạm viGiá trị cho phépGiá trị mặc địnhNullMaTL Mã tài liệu Varchar10×TenTL Tên tài liệu Varchar50NgayNhap Ngày nhập tài liệuDate yyyy/mm/ddGia Giá của tài liệuInt 10Vitri Vị trí đặt tài liệuVarchar50 Giá x, tầng y, ngăn zNULL xTacGia Tên tác giả của tài liệuVarchar50 NULL xNXB Nhà xuất bản Varchar50 NULL xTheLoai Thể loại tài Varcha 50 NULL xKhoa tin, 2012Trang 23<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>liệu rSLco Số lượng tài liệu cóInt 10SLcon Số lượng tài liệu hiện cònInt 10 NULL• Phụ thuộc hàm:MaTL→ TenTL, NgayNhap, Gia, ViTri, TacGia, NXB, TheLoai, SLco, SLcon• Dạng chuẩn: Boyce-Codd. • Dữ liệu ví dụ:MaTL TenTL NgayNhapGia ViTri TacGia NXB TheLoai SLco SLconTL001 Phương pháp tính2005-01-0750000 Giá 1, tầng 2, ngăn 3Tạ Văn ĐĩnhNhà Xuất Bản Giáo DụcGiáo trình1000 999TL002 Kính Vạn Hoa2005-05-0650000 Giá 3, tầng 3, ngăn 1Nguyễn Nhật ÁnhThanh NiênTruyện ngắn100 1004.2.4 Chi tiết mượn trả• Lược đồ quan hệchitietmuontra(MaPhieu, MaDG, TenDG, MaTL, TenTL, Gia, NgayMuon, SLmuon, HanTra, NgayTra, SLtra, PhatQuaHan, PhatHongMat)• Ràng buộc toàn vẹn dữ liệu:Toàn vẹn thực thể: (MaPhieu , MaDG , MaTL) là khóa chính.Toàn vẹn tham chiếu: MaDG tham chiếu đến MaDG của bảng docgia MaTL tham chiếu đến MaDG của bảng tailieuToàn vẹn giá trị:Thuộc tính Ý nghĩa Kiểu dữ liệuKích thướcKhuôn dạngDuy nhấtPhạm viGiá trị cho phépGiá trị mặc địnhNullKhoa tin, 2012Trang 24<Quản lý thư viện> Phiên bản: <1.0>Báo cáo tổng kết Ngày: 10/12/2013<08_A8_PT07_FinalReport>MaPhieu Mã phiếu mượn tài liệuVarchar10×MaDG Mã độc giả mượn tài liệuVarchar10TenDG Tên độc giả mượn tài liệuVarchar50 NULL xMaTL Mã tài liệu được mượnVarchar10TenTL Tên tài liệu được mượnVarchar50Gia Giá tài liệu được mượnInt 11 NULL xNgayMuon Ngày mượn tài liệuDate yyyy/mm/ddNULL xSLmuon Int Int 11 NULL xHanTra Hạn trả tài liệuDate yyyy/mm/ddNULL xNgayTra Ngày trả tài liệuDate yyyy/mm/ddNULL xSLtra Số lượng tài lieu trảInt 11 0PhatQuaHan Tiền phạt tài liệu trả quá hạnInt 11 0PhatHongMatTiền phạt tài liệu hỏng hoặc làm mấtInt 11 0• Phụ thuộc hàm:(MaPhieu , MaDG , MaTL) là → MaDG, TenDG, MaTL, TenTL, Gia, NgayMuon, SLmuon, HanTra, NgayTra, SLtra, PhatQuaHan, PhatHongMat MaDG.docgia → MaDG.chitietmuontraMaTL.tailieu → MaTL.chitietmuontra• Dạng chuẩn: Boyce-Codd. • Dữ liệu ví dụ:MaPhieMaDGTenDGMaTLTenTLGia NgaySLmuHanTraNgay SLtraPhatPhatHoKhoa tin, 2012Trang 25