K ILO B O O K S .C O M Yêu cầu hiệu quả 1 Lập thẻ độc giả 100 thẻ / 1 giờ Hẹn ngày cấp thẻ độc giả 2 Nhận sách mới 100 sách / 1 giờ 3 Tra cứu sách Xử lý ngay 4 Lập phiếu mượn Xử lý ngay
Trang 1Đồ án môn học Xây Dựng Phần Mềm Hướng Đối Tượng
PHẦN MỀM QUẢN LÝ THƯ VIỆN
Tháng 1 năm 2005
GVGD : Trần Minh Triết SVTH : Phan Thi Hồng Phấn MSSV : 02HC372
LỚP : 02HCB
Trang 2K IL
O B
O O
K S C O
M
Mục lục:
Chương 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 4
1 Khảo sát hiện trạng 5
2 Yêu cầu chức năng 7
Danh sách các quy định: 8
Yêu cầu hiệu quả 9
Bảng trách nhiệm yêu cầu nghiệp vụ: 10
3 Yêu cầu chất lượng: 10
Danh sách các biểu mẫu: 11
Chương 2: PHÂN TÍCH 12
1 Mô hình dòng dữ liệu: 13
Lập thẻ độc giả: 13
Nhận sách mới: 13
Tra cứu sách: 14
Lập phiếu mượn: 14
Nhận trả sách: 15
Thay đổi quy định: 15
Số lượng sách nhiều nhất mà một người đã mượn: 16
Tỷ lệ những phiếu mượn trả quá hạn: 17
Thời gian trung bình mượn sách: 17
Giờ bạn đọc mượn sách nhiều nhất: 18
Đăng nhập: 18
Gia hạn thẻ: 19
2 Sơ đồ lớp 20
Sơ đồ lớp ở mức phân tích - vẽ sơ đồ: 20
Danh sách các lớp đối tượng: 21
Mô tả từng lớp đối tượng: 22
Phần 3: THIẾT KẾ 24
1 Thiết kế dữ liệu 25
Sơ đồ logic 25
Danh sách các bảng dữ liệu 25
2 Thiết kế giao diện 27
Màn hình chính : 27
Màn hình lập thẻ độc giả: 28
Màn hình nhập sách mới: 29
Màn hình mượn sách: 30
Màn hình trả sách: 32
Màn hình thay đổi quy định: 32
Màn hình thêm tác giả: 33
Màn hình thêm thể loại: 34
Màn hình thêm ngôn ngữ: 34
Màn hình thêm màu bìa: 35
3 Thiết kế xử lý (sequence) 36
Trang 3K IL
O B
O O
K S C O
M
Phần 4: Cài đặt và thử nghiệm 39
Hệ thống: 40
Những chức năng đã cài đặt: 40
Phần 5: Kết luận 41
Kết luận: 42
Hướng phát triển: 42
Trang 4K IL
O B
O O
K S C O
M
Chương 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU
CẦU
Trang 5K IL
O B
O O
K S C O
M
1 Khảo sát hiện trạng
Một thư viện cần quản lý việc đăng ký, mượn và trả sách của các bạn đọc thư viện Sau
đây là phần mô tả theo các nghiệp vụ hàng ngày của thư viện:
Thủ thư gọi sách là đầu sách (dausach) Mỗi đầu sách có một ISBN để phân biệt với các
đầu sách khác Các đầu sách có cùng tựa (tuasach) sẽ có ISBN khác nhau nếu chúng được
dịch ra nhiều thứ tiếng (ngonngu) khác nhau và được đóng thành bìa (bia) khác nhau
Mỗi tựa sách có một mã tựa sách để phân biệt với các tựa sách khác (Mã số được đáng
số tự động, bắt đầu từ 1,2,3,…) Mỗi đầu sách có thể có nhiều bản sao (cuonsach) ứng với
đầu sách đó Mỗi tựa sách của một tác giả (tacgia) và có một bản tóm tắt nội dung
(tomtat) của sách (có thể là một câu hay vài trang) Khi bạn đọc muốn biết nội dung của
cuốn sách nào, thì thủ thư sẽ xem phần tóm tắt của tựa sách đó và trả lời bạn đọc
Để trở thành đọc giả (docgia)của thư viện, thì bạn đọc phải đăng ký và cung cấp thông
tin cá nhân cũng như địa chỉ và điện thoại của mình Thủ thư sẽ cung cấp cho bạn đọc
một thẻ điện tử, trên đó có mã số thẻ chính là mã số bạn đọc để phân biệt các bạn đọc
khác (Mã số được đánh số tự động, bẳt đầu từ 1,2,3,…) Thẻ này có giá trị trong 6 tháng
kể từ ngày đăng ký Một tháng trước ngày hết hạn thẻ, thủ thư sẽ thông báo cho bạn đọc
biết để đến gia hạn thêm
Có 2 loại đọc giả (X,Y) Tưổi đọc giả từ 18 đến 55
Đăng ký:
Nếu bạn đọc muốn mượn một cuốn sách, nhưng cuốn này đang được một bạn đọc khác
đang mượn, thì người này có thể đăng ký chờ Khi cuốn sách đó được trả về thì thủ thư sẽ
thông báo đến người đăng ký trước nhất đến mượn
Phát sinh báo cáo thống kê:
Có bao nhiêu phiếu mượn sách trong năm qua?
Tỷ lệ một độc giả mượn ít nhất một cuốn sách?
Số lượng sách nhiều nhất mà một người đã mượn?
Tỷ lệ sách được mượn ít nhất một lần năm ngoái?
Tỷ lệ những phiếu mượn nào trả sách quá hạn?
Thời gian trung bình mượn một cuốn sách là bao nhiêu?
Bạn đọc mượn sách nhiều nhất lúc mấy giờ?
Các quy định hoạt động của hệ thống:
QĐ1: Thay đổi tuổi tối thiểu, tuổi tối đa, thời hạn có giá trị của thẻ
QĐ2: Thay đổi số lượng và tên các thể loại Thay đổi khoảng cách năm xuất bản
QĐ4: Thay đổi số lượng sách mượn tối đa, số ngày mượn tối đa
QĐ-1: Mã tựa sách là số thứ tự của các tựa sách có trong hệ thống bắt đầu từ 1 Khi thêm
mới phải kiểm tra có những số thứ tự bị xoá thì bổ sung vào những số thứ tự bị trống này
Nếu không có (nghĩa là những số thứ tự liên tục với nhau) thì thêm với số tự nhiên tiếp
theo Trong trường hợp xoá thì không phải chỉnh sửa lại số thứ tự của các tựa sách ở phía
sau
Trang 6K IL
O B
O O
K S C O
M
QĐ-2: Mã độc giả là số thứ tự của các độc giả có trong hệ thống bắt đầu từ 1 Khi thêm
mới phải kiểm tra có những số thứ tự bị xoá thì bổ sung vào những số thứ tự bị trống này
Nếu không có (nghĩa là những số thứ tự liên tục với nhau) thì thêm với số tự nhiên tiếp
theo Trong trường hợp xoá thì không phải chỉnh sửa lại số thứ tự của các tựa sách ở phía
sau
QĐ-3: Nếu độc giả mượn những đầu sách không còn trong thư viện thì hệ thống sẽ
chuyển qua bảng dữ liệu đăng ký
QĐ-4: Nếu độc giả trả sách thì thông tin mượn sẽ chuyển sang quá trình mượn
Trang 7K IL
O B
O O
K S C O
M
2 Yêu cầu chức năng
Danh sách các yêu cầu nghiệp vụ:
Trang 8K IL
O B
O O
K S C O
M
Danh sách các quy định:
STT MÃ SỐ TÊN QUY ĐỊNH MÔ TẢ CHI TIẾT GHI CHÚ
1 QĐ1 Quy định thẻ độc giả -Có 2 loại độc giả (Người
-QĐ-1
3 QĐ4 Quy đinh phiếu mượn
sách -Chỉ cho mượn với thẻ còn hạn và sách không có người
- QĐ2: Thay đổi số lượng
và tên các thể loại Thay đổi khoảng cách năm xuất bản
- QĐ4: Thay đổi số lượng sách tối đa, số ngày mượn tối đa
Trang 9K IL
O B
O O
K S C O
M
Yêu cầu hiệu quả
1 Lập thẻ độc giả 100 thẻ / 1 giờ Hẹn ngày cấp thẻ
độc giả
2 Nhận sách mới 100 sách / 1 giờ
3 Tra cứu sách Xử lý ngay
4 Lập phiếu mượn Xử lý ngay Các thông báo cần
thiết
5 Nhận trả sách Xử lý ngay Tính tiền phạt nếu
trả sách quá hạn
6 Thay đổi quy định Xử lý ngay Độc giả không có
quyền thay đổi quy định
7 Số phiếu mượn sách trong
11 Giờ mượn sách nhiều nhất Xử lý ngay
12 Gia hạn thẻ Xử lý ngay Các thông báo cần
thiết khi gia hạn
có quyền đăng nhập vào hệ thống
Độc giả chỉ có quyền tra cứu sách
Trang 10K IL
O B
O O
K S C O
M
Bảng trách nhiệm yêu cầu nghiệp vụ:
1 Lập thẻ độc giả Cung cấp thông tin
theo BM1
Kiểm tra QĐ1 và ghi nhận
2 Nhận sách mới Cung cấp thông tin
theo BM2
Kiểm tra QĐ2 và ghi nhận
3 Tra cứu sách Cung cấp tên sách hay
thể loại sách
Tìm và xuất theo BM3
4 Lập phiếu mượn Cung cấp thông tin
theo BM4
Kiểm tra QĐ4 và ghi nhận
5 Nhận trả sách Cung cấp mã số sách
trả Ghi nhận sách đã trả
6 Thay đổi quy
định Thay đổi các quy định theo QĐ6 Cập nhật quy định
7 Số phiếu mượn
sách trong năm
Tính số phiếu mượn trong năm
9 Tỷ lệ những phiếu
mượn trả sách
quá hạn
Tính tỷ lệ phiếu mượn sách trả quá hạn
10 Thời gian trung
bình mượn sách
Tính thời gian trung bình mượn sách
11 Giờ bạn đọc
mượn sách nhiều
nhất
Thống kê giờ bạn đọc mựơn sách nhiều nhất
12 Gia hạn thẻ Cung cấp thông tin độc
Trang 11K IL
O B
O O
K S C O
M
Danh sách các biểu mẫu:
Trang 12K IL
O B
O O
K S C O
M
Chương 2: PHÂN TÍCH
Trang 13K IL
O B
O O
K S C O
Bước 4: Kiểm tra loại độc giả có thuộc danh sách các loại độc giả không
Bước 5: Kiểm tra tuổi
Bước 6: Nếu thoả các quy định thì :
Tính ngày hết hạn của thẻ Lưu D3 xuống CSDL Bước 7: Đóng kết nối CSDL
Nhận sách mới:
Thuật toán:
Bước 1: Thủ thư chọn chức năng nhận sách mới
Nhập thông tin sách cần nhập
Bước 2: Kiểm tra các thông tin của sách có hợp lệ không dựa vào QĐ2
Bước 3: Nếu hợp lệ thì nhập thông tin của sách và lưu xuống CSDL
Bước 4: Nếu không hợp lệ thì không nhận sách và thông báo không thành công
Trang 14K IL
O B
O O
K S C O
M
Tra cứu sách:
Thuật toán:
Bước 1: Người sử dụng chọn chức năng tra cứu sách
Bước 2: Nhập các thông tin cần tra cứu
Bước 3: Có thể tra cứu chính xác hoặc gần đúng
Bước 4: Nếu người sử dụng là thủ thư thì có thêm quyền cập nhật sách
Bước 5: Xuất kết quả tra cứu cho người sử dụng xem
Lập phiếu mượn:
Thuật toán:
Bước 1: Thủ thư chọn chức năng lập phiếu mượn
Bước 2: Kiểm tra thẻ độc giả có còn hạn sử dụng
Bước 3: Kiểm tra sách có còn được cho mượn không
Bước 4: Nếu thỏa thì lập phiếu mượn cho độc giả, ghi xuống CSDL
Bước 5: Nếu không thì có các thông báo cần thiết, không cho độc giả mượn sách
Trang 15K IL
O B
O O
K S C O
M
Nhận trả sách:
Thuật toán:
Bước 1: Thủ thư chọn chức năng nhận trả sách
Bước 2: Kiểm tra sách được mượn có quá hạn hay không
Bước 3: Nếu sách quá hạn, tính tiền phạt, thông báo cho độc giả
Bước 4: Ghi nhận việc trả sách, lưu xuống CSDL
Bước 5: Kiểm tra thẻ độc giả có hết hạn sử dụng chưa, thông báo cần thiết
Bước 6: Đóng CSDL
Thay đổi quy định:
Thuật toán:
Bước 1: Thủ thư chọn chức năng thay đổi quy định
Bước 2: Nhập các quy định cần thay đổi
Bước 3: Kiểm tra các quy đinh cần thay đổi có thỏa các quy đinh của thư viện hay không
Bước 4: Nếu thỏa thì ghi xuống CSDL và thông báo thay đổi thành công
Bước 5: Nếu không thỏa thì thông báo thay đổi không thành công
Trang 16K IL
O B
O O
K S C O
M
Số phiếu mượn sách trong năm:
Thuật toán:
Bước 1: Người sử dụng chọn chức năng tính số phiếu mượn sách trong năm
Bước 2: Chọn năm cần tính số phiếu mượn sách
Bước 3: Mở CSDL ứng với năm truyền vào
Bước 4: Tính số phiếu mượn sách
Bước 5: Xuất kết quả của việc tính toán ra bên ngoài
Bước 2: Chọn năm cần thống kê
Bước 3: Mở CSDL ứng với năm truyền vào
Bước 4: Duyệt CSDL tìm số lượng sách nhiều nhất mà một người đã mượn
Bước 5: Xuất ra kết quả thống kê
Bước 6: Đóng CSDL
Trang 17K IL
O B
O O
K S C O
M
Tỷ lệ những phiếu mượn trả quá hạn:
Thuật toán:
Bước 1: Người sử dụng chọn chức năng tính toán tỷ lệ những phiếu mượn trả quá hạn
Bước 2: Chọn năm cần tính toán
Bước 3: Mở kết nối CSDL ứng với năm truyền vào
Bước 4: Tính toán tỷ lệ những phiếu mượn trả quá hạn
Bước 5: Xuất kết quả tính toán
Bước 6: Đóng kết nối CSDL
Thời gian trung bình mượn sách:
Thuật toán:
Bước 1: Người sử dụng chọn chức năng tính thời gian trung bình mượn sách của độc giả
Bước 2: Chọn năm cần tính toán
Bước 3: Mở kết nối CSDL ứng với năm truyền vào
Bước 4: Tính toán thời gian trung bình mượn sách của một độc giả
Bước 5: Xuất kết quả tính toán
Bước 6: Đóng kết nối CSDL
Trang 18K IL
O B
O O
K S C O
M
Giờ bạn đọc mượn sách nhiều nhất:
Thuật toán:
Bước 1: Người sử dụng chọn chức năng thống kê giờ bạn đọc mượn sách nhiều nhất
Bước 2: Chọn năm thống kê
Bước 3: Mở kết nối CSDL ứng với năm truyền vào
Bước 4: Duyệt CSDL thống kê được giờ bạn đọc mượn sách nhiều nhất
Bước 5: Xuất kết quả thống kê được
Bước 6: Đóng kết nối CSDL
Đăng nhập:
Thuật toán:
Bước 1: Thủ thư chọn chức năng đăng nhập hệ thống
Bước 2: Nhập các thông tin đăng nhập
Bước 3: Mở kết nối CSDL
Bước 4: Kiểm tra thông tin đăng nhập
Bước 5: Nếu đăng nhập thành công, cho vào hệ thống
Bước 6: Nếu đăng nhập thất bại, thông báo đăng nhập thất bại
Bước 7: Đóng kết nối CSDL
Trang 19K IL
O B
O O
K S C O
M
Gia hạn thẻ:
Thuật toán:
Bước 1: Người sử dụng chọn chức năng gia hạn thẻ
Bước 2: Nhập các thông tin gia hạn thẻ
Bước 3: Mở kết nối CSDL
Bước 4: Kiểm tra việc gia hạn thẻ
Bước 5: Nếu gia hạn thành công, thông báo, cập nhật lại CSDL
Bước 6: Nếu gia hạn không thành công, thông báo
Bước 7: Đóng kết nối CSDL
Trang 20K IL
O B
O O
K S C O
Nhà xuất bảnTác giả
Trang 21K IL
O B
O O
K S C O
M
Danh sách các lớp đối tượng:
1 Tựa sách Các đầu sách có cùng tựa gọi là tựa sách nếu chúng
được dịch ra nhiều ngôn ngữ khác nhau
2 Đầu sách Thủ thư gọi sách là đầu sách
3 Cuốn sách Cuốn sách là các bản sao của đầu sách
5 Quá trình mượn Bảng ghi nhận việc mượn trả sách của độc giả, chỉ
được ghi khi độc giả trả sách
6 Ngôn ngữ Là nhiều thứ tiếng khác nhau khi dịch 1 đầu sách
thành các tựa sách khác nhau
7 Tác giả Người viết sách
8 Nhà xuất bản Nhà in sách
9 Thể loại
10 Đăng ký Độc giả mượn không có sách có thể đăng ký để khi
nào cuốn sách được trả thì độc giả được ưu tiên cho mượn trước
11 Mượn Cho biết độc giả mượn sách nào vào ngày nào
Record này sẽ bị xoá khi độc giả này trả sách và dữ liệu này sẽ được ghi vào bảng quá trình mượn
12 Người lớn Một loại độc giả
13 Trẻ em Một loại độc giả
Trang 22K IL
O B
O O
K S C O
M
Mô tả từng lớp đối tượng:
STT TÊN LỚP DANH SÁCH CÁC THÔNG TIN TRÁCH NHIỆM
1 Tựa sách Tựa sách
Tác giả Năm xuất bản Nhà xuất bản Thể loại Tóm tắc
Chứa các thong tin
về sách (tựa,tác giả, năm xuất bản, nhà xuất bản, thể loại, tóm tắc)
2 Đầu sách Mã tựa sách
Ngôn ngữ Bìa Trạng thái
Mỗi đầu sách có một trạng thái cho biết sách đó đã được mượn hay chưa
3 Cuốn sách Mã cuốn sách
Tình trạng Một đầu sách được nhân thành nhiều
cuốn khác nhau gọi
là cuốn sách để có thể cho nhiều độc giả khác nhau mượn cùng một đầu sách.Tình trạng của sách cho biết sách đã được mượn hay chưa
Tên lót Tên
Người thực hiện chức năng đi mượn sách
5 Quá trình mượn Sách
Độc giả Ngày mượn Ngày hết hạn Ngày trả Tiền phạt Tiền đã trả Tiền đặt cọc Ghi chú
Lưu tất cả thông tin mượn sách của độc giả
6 Ngôn ngữ Tên ngôn ngữ
7 Tác giả Tên tác giả
8 Nhà xuất bản Tên nhà xuất bản
9 Thể loại Tên thể loại
Độc giả Nếu sách không còn trong thư viện,
Trang 23K IL
O B
O O
K S C O
M
giả muốn mượn trước sẽ được ưu tiên nếu cuốn sách
đó được trả
Độc giả Ngày mượn Ngày hết hạn
Chỉ là bảng lưu thông tin tạm thời khi độc giả mượn sách Thông tin này sẽ xoá đi khi độc giả trả sách
12 Người lớn Số nhà
Đường Quận Điện thoại Hạn sử dụng
Một người lớn có thể bảo lãnh tối đa
2 trẻ em
13 Trẻ em Độc giả người lớn
Ngày sinh
Trang 24K IL
O B
O O
K S C O
M
Phần 3: THIẾT KẾ
Trang 25K IL
O B
O O
K S C O
M
1 Thiết kế dữ liệu
Sơ đồ logic
Danh sách các bảng dữ liệu
STT TÊN LỚP DANH SÁCH CÁC THÔNG TIN TRÁCH NHIỆM
1 Sach Ma_tuasach smallint khóa chính
Isbn smallint khóa chính Ma_cuonsach smallint khóa chính Tuasach char(63)
Tacgia char(10) khóa ngoại Tomtat char(100)
Ngonngu char(10) khóa ngoại Theloai char (10) khóa ngoại Nxb char(10) khóa ngoại Bia char(10) khóa ngoại Trangthai char(1)
-Các đầu sách có cùng tựa phân biệt bởi bìa và ngôn ngữ
-Cho biết sách có thể cho bạn đọc hay không
Trang 26K IL
O B
O O
K S C O
-Cho biết sách có thể cho bạn đọc hay không
4 Nxb Ma_nxb char(10) khóa chính
Ten_nxb char(50) -Người đọc và mượn sách ở thư viện
5 Ngonngu Ma_ngonngu char(10) khóa chính
Ten_ngonngu char(50)
-Cho biết ngày mượn
và trả sách của độc giả -Cho biết tiền phạt nếu trả sách trể hạn
6 Theloai Ma_theloai char(10) khóa chính
Ten_theloai char(50)
7 muon isbn smallint khóa chính
ma_cuonsach smallint khóa chính ma_docgia char(10) khóa ngoại ngay_muon datetime
ngay_hethan datetime
-Cho biết tác giả của cuốn sách nào
8 Qtrinhmuon Isbn smallint khóa chính
Ma_cuonsach smallint khóa chính Ma_docgia char(10) khóa ngoại Ngay_hethan datetime
Ngay_tra datetime Tien_muon money Tien_datra money Tien_datcoc money Ghichu char(255)
-Cho biết nhà xuất bản của cuốn sách nào
9 Dangky Isbn int khóa chính
Ma_docgia char(10) khóa chính Ngay_dk datetime
-Một thể loại của sách
12 Bia Mabia char(10) khóa chính
Tenbia char(20) -Một thể loại của sách