Tải bản đầy đủ (.doc) (42 trang)

Đồ án quản lý thư viện bằng java [Kèm theo Code]

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.14 MB, 42 trang )

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ẾT
Phiê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 History
Ngày Phiên
bản
Mô 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, 2012
Trang 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 giao
Tỉ 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%)
1
Thá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,
ChucNangThuKho
90 Tốt 20
2
Nguyễ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,
formXoaTaiLieu
80 Tốt 15
3 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,
viewThongKeTaiLieuMuo
80 Tốt 10
Khoa tin, 2012
Trang 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>
n
4
Khổ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,
viewTaiLieuHongMat
80 Tốt 15
5
Trầ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,
viewDanhSachMuon
80 Tốt 15
6
Đ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 10

7
Trầ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,
formTimKiem
80 Tốt 15
Khoa tin, 2012
Trang 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ục
1. Phát biểu vấn đề 7
2. Usecase & Đặc tả Usecase 8
2.1 Sơ đồ Usecase 8
2.2 Đặc tả Usecase 8
2.2.1 Usecase Đăng nhập. 8
2.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ả. 11
3. Phân tích & Thiết kế chương trình 12
3.1 Các Class trong chương trình 12
3.1.1 Class TrangChu. 12
3.1.2 Class TimKiem. 12
3.1.3 Class ChucNangThuThu. 12

3.1.4 Class ChucNangThuKho. 12
3.1.5 Class formThemDocGia. 13
3.1.6 Class formChinhSuaDocGia. 13
3.1.7 Class formXoaDocGia. 13
3.1.8 Class viewLapTheDocGia. 13
3.1.9 Class viewSuaDocGia. 14
3.1.10 Class viewXoaDocGia. 14
3.1.11 Class formThemTaiLieu. 14
3.1.12 Class formChinhSuaTaiLieu. 14
3.1.13 Class formXoaTaiLieu. 15
3.1.14 Class viewThemTaiLieu. 15
3.1.15 Class viewChinhSuaTaiLieu. 15
3.1.16 Class viewXoaTaiLieu. 15
3.1.17 Class formMuonTaiLieu. 15
3.1.18 Class formTraTaiLieu. 16
3.1.19 Class viewDanhSachMuon. 16
3.1.20 Class viewDanhSachTra. 17
3.1.21 Class viewThongKeTaiLieuMuon. 17
3.1.22 Class viewThongKeTaiLieuCon. 17
3.1.23 Class viewTaiLieuHongMat. 17
3.2 Sơ đồ Class 17
4. Phân tích & Thiết kế cơ sở dữ liệu 21
4.1 Sơ đồ thực thể quan hệ 21
4.2 Các lược đồ quan hệ 21
4.2.1 Đăng nhập 21
4.2.2 Độc giả 22
4.2.3 Tài liệu 23
4.2.4 Chi tiết mượn trả 24
5. Kết quả thực hiện 26
5.1 Form Trang chủ. 26

Khoa tin, 2012
Trang 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. 27
5.3 Form Chức năng thủ thư. 27
5.4 Form Chức năng thủ kho. 28
5.5 Form Lập thẻ độc giả. 29
5.6 Form Xem dữ liệu độc giả sau khi lập. 29
5.7 Form Chỉnh sửa độc giả. 30
5.8 Form Xem dữ liệu độc giả sau chỉnh sửa. 30
5.9 Form Xóa độc giả. 31
5.10 Form Xem dữ liệu độc giả sau khi xóa. 31
5.11 Form Cho mượn tài liệu. 32
5.12 Form Xem danh sách mươn tài liệu. 32
5.13 Form Nhận trả tài liệu. 33
5.14 Form Xem Danh sách trả tài liệu. 34
5.15 Form Thống kê tài liệu quá hạn. 34
5.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. 38
1.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. 41

6. Kết luận 41
Khoa tin, 2012
Trang 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, 2012
Trang 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ả Usecase
2.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, 2012
Trang 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ệt
Chỉ 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ệt
Chứ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ông
2.2.2.6. Điều kiện sau.
Khoa tin, 2012
Trang 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ệt
Chỉ 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ệu
2.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, 2012
Trang 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, 2012
Trang 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ệt
Khô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ình
3.1 Các Class trong chương trình
3.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, 2012
Trang 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, 2012
Trang 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, 2012
Trang 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, 2012
Trang 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, 2012
Trang 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, 2012
Trang 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ếm
Quản lý tài liệu
Khoa tin, 2012

Trang 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, 2012
Trang 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, 2012
Trang 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ệu
4.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ệu

Kích
thướ
c
Khuôn
dạng
D
uy
nh
ất
Phạ
m
vi
Giá
trị
cho
phép
Giá
trị
mặc
định
Null
ID Tên người
dùng
Varc
har
10
×
Password Mật khẩu Varc
har
15

• Phụ thuộc hàm:
ID → ID, Password
• Dạng chuẩn: Boyce-Codd.
Khoa tin, 2012
Trang 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 Password
thukh
o
thukho
thuthu thuthu
4.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ệu
Kíc
h
thư
ớc

Khuôn
dạng
D
uy
nh
ất
Phạ
m vi
Giá
trị
cho
phép
Giá
trị
mặc
định
Null
MaDG Mã độc giả Varc
har
10
×
TenDG Tên độc giả Varc
har
50
GioiTinh Giới tính Varc
har
5 “Na
m”
hoặc
“Nữ


NULL x
NgaySinh Ngày sinh Date yyyy/mm/
dd
NULL x
ChucVu Chức vụ Varc
har
50 x
DonVi Đơn vị Varc
har
50 x
NgayLamTh
e
Ngày làm
thẻ
Date yyyy/mm/
dd
NgayHetHan Ngày hết
hạn
Date yyyy/mm/
dd
• Phụ thuộc hàm:
MaDG → TenDG, GioiTinh, NgaySinh, ChucVu, DonVi, NgayLamThe,
Khoa tin, 2012
Trang 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ụ:
Ma
DG
TenDG GioiTinh NgaySin
h
ChucV
u
DonVi NgayLamThe NgayHetHan
DG001 Thái
Anh
Nga
Nữ 1993-01-
02
Sinh
viên
Lớp
11CNTT1,
Khoa Tin
2011-01-09 2015-01-09
DG004 Trần
Tuấn
Nguyê
n
Nam 1993-07-
06
Sinh
viên
Lớp
11CNTT2,

Khoa Tin
2011-12-09 2015-12-09
4.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ệu
Kíc
h
thư
ớc
Khuôn
dạng
D
uy
nh
ất
Phạ
m
vi
Giá
trị
cho
phép
Giá trị

mặc
định
Null
MaTL Mã tài liệu Varcha
r
10
×
TenTL Tên tài liệu Varcha
r
50
NgayNhap Ngày nhập tài
liệu
Date yyyy/mm/
dd
Gia Giá của tài
liệu
Int 10
Vitri Vị trí đặt tài
liệu
Varcha
r
50 Giá x, tầng
y, ngăn z
NULL x
TacGia Tên tác giả
của tài liệu
Varcha
r
50 NULL x
NXB Nhà xuất bản Varcha

r
50 NULL x
TheLoai Thể loại tài Varcha 50 NULL x
Khoa tin, 2012
Trang 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 r
SLco Số lượng tài
liệu có
Int 10
SLcon Số lượng tài
liệu hiện còn
Int 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 NgayNha
p
Gia ViTri TacGia NXB TheLoai SLco SLcon
TL001 Phương
pháp
tính
2005-01-
07
50000 Giá

1,
tầng
2,
ngăn
3
Tạ Văn
Đĩnh
Nhà
Xuất
Bản
Giáo
Dục
Giáo
trình
1000 999
TL002 Kính
Vạn
Hoa
2005-05-
06
50000 Giá
3,
tầng
3,
ngăn
1
Nguyễ
n Nhật
Ánh
Than

h
Niên
Truyện
ngắn
100 100
4.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 tailieu
Toàn vẹn giá trị:
Thuộc tính Ý nghĩa Kiểu
dữ
liệu
Kíc
h
thư
ớc
Khuôn
dạng
D
uy
nh
ất
Phạm
vi
Giá

trị
cho
phép
Giá
trị
mặc
định
Null
Khoa tin, 2012
Trang 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ệu
Varc
har
10
×
MaDG Mã độc giả
mượn tài
liệu
Varc
har
10
TenDG Tên độc giả
mượn tài
liệu

Varc
har
50 NULL x
MaTL Mã tài liệu
được mượn
Varc
har
10
TenTL Tên tài liệu
được mượn
Varc
har
50
Gia Giá tài liệu
được mượn
Int 11 NULL x
NgayMuon Ngày mượn
tài liệu
Date yyyy/mm/
dd
NULL x
SLmuon Int Int 11 NULL x
HanTra Hạn trả tài
liệu
Date yyyy/mm/
dd
NULL x
NgayTra Ngày trả tài
liệu
Date yyyy/mm/

dd
NULL x
SLtra Số lượng tài
lieu trả
Int 11 0
PhatQuaHan Tiền phạt tài
liệu trả quá
hạn
Int 11 0
PhatHongMa
t
Tiền phạt tài
liệu hỏng
hoặc làm
mất
Int 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.chitietmuontra
MaTL.tailieu → MaTL.chitietmuontra
• Dạng chuẩn: Boyce-Codd.
• Dữ liệu ví dụ:
Ma
Phie
Ma
DG
TenD
G
Ma

TL
TenT
L
Gia Nga
y
SL
mu
Han
Tra
Nga
y
SL
tra
Ph
at
Pha
tHo
Khoa tin, 2012
Trang 25

×