PHẦN MỀM QUẢN LÝ THƯ VIỆN
Trang 1Khoa Công Nghệ Thông Tin MMM
Đồ á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
GVGD : Trần Minh TriếtSVTH : Phan Thi Hồng PhấnMSSV : 02HC372
LỚP : 02HCB
Trang 22
Trang 3Yê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
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
Trang 5Chương 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU
SVTH:Phan Thị Hồng Phấn – 02HC372
5
Trang 61 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.
SVTH:Phan Thị Hồng Phấn – 02HC372
6
Trang 7QĐ-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.
SVTH:Phan Thị Hồng Phấn – 02HC372
7
Trang 82 Yêu cầu chức năng
Danh sách các yêu cầu nghiệp vụ:
Trang 9Danh sách các quy định:
STT MÃ SỐTÊN QUY ĐỊNHMÔ TẢ CHI TIẾTGHI CHÚ
1 QĐ1 Quy định thẻ độc giả -Có 2 loại độc giả (Người 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 đang mượn.
-Mỗi độc giả mượn tối đa 5 quyển sách trong 4 ngày.
các quy định sau:
- 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 tối đa, số ngày mượn tối đa.
SVTH:Phan Thị Hồng Phấn – 02HC372
9
Trang 10Yê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ờ
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
11 Giờ mượn sách nhiều nhất Xử lý ngay
thiết khi gia hạn
Trang 11Bả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.
10 Thời gian trung
bình mượn sách Tính thời gian trung bình mượn 12 Gia hạn thẻ Cung cấp thông tin độc
giả, thẻ đọc giả Kiểm tra và ghi nhận 13 Đăng nhập Nhập tên và mật khẩu
đăng nhập Kiểm tra quyền đăng nhập
3 Yêu cầu chất lượng:
Trang 12Danh sách các biểu mẫu:
SVTH:Phan Thị Hồng Phấn – 02HC372
12
Trang 13Chương 2: PHÂN TÍCH
SVTH:Phan Thị Hồng Phấn – 02HC372
13
Trang 14Bướ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ì :
Trang 15Nhậ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
Tra cứu sách:
SVTH:Phan Thị Hồng Phấn – 02HC372
15
Trang 16Thuậ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:
SVTH:Phan Thị Hồng Phấn – 02HC372
16
Trang 17Thuậ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.
SVTH:Phan Thị Hồng Phấn – 02HC372
17
Trang 18Nhậ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
SVTH:Phan Thị Hồng Phấn – 02HC372
18
Trang 19Thay đổ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
SVTH:Phan Thị Hồng Phấn – 02HC372
19
Trang 20Thuậ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 6: Đóng kết nối CSDL.
Số lượng sách nhiều nhất mà một người đã mượn:
SVTH:Phan Thị Hồng Phấn – 02HC372
20
Trang 21Thuật toán:
Bước 1: Người sử dụng chọn mục thống kê số lượng sách nhiều nhất mà một người đã mượn
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.
SVTH:Phan Thị Hồng Phấn – 02HC372
21
Trang 22Tỷ 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:
SVTH:Phan Thị Hồng Phấn – 02HC372
22
Trang 23Thuậ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
SVTH:Phan Thị Hồng Phấn – 02HC372
23
Trang 24Giờ 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:
SVTH:Phan Thị Hồng Phấn – 02HC372
24
Trang 25Thuậ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.
SVTH:Phan Thị Hồng Phấn – 02HC372
25
Trang 26Gia 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.
SVTH:Phan Thị Hồng Phấn – 02HC372
26
Trang 272 Sơ đồ lớp
Sơ đồ lớp ở mức phân tích - vẽ sơ đồ:
SVTH:Phan Thị Hồng Phấn – 02HC372
27
Trang 28Danh 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
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ả
SVTH:Phan Thị Hồng Phấn – 02HC372
28
Trang 29Mô tả từng lớp đối tượng:
STTTÊN LỚPDANH SÁCH CÁC THÔNG TINTRÁCH NHIỆM
Tình trạng Một đầu sách đượcnhân thành nhiều cuốn khác nhau gọi
6 Ngôn ngữ Tên ngôn ngữ
8 Nhà xuất bản Tên nhà xuất bản 9 Thể loại Tên thể loại
Trang 30giả muốn mượn trước sẽ được ưu tiên nếu cuốn sách thông tin tạm thời khi độc giả mượn
Trang 31Phần 3: THIẾT KẾ
SVTH:Phan Thị Hồng Phấn – 02HC372
31
Trang 321 Thiết kế dữ liệu
Sơ đồ logic
Danh sách các bảng dữ liệu
STTTÊN LỚPDANH SÁCH CÁC THÔNG TINTRÁ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
Trang 33Ngaysinh datetime
Ma_dgnl char(10) khóa ngoại Loaidg char(10) khóa ngoại 3 Tacgia Ma_tacgia char(10) khóa chính
Ten_tacgia char(50) -Là sách cho độc giả mượn -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
-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
Ghichu char(255)
-Một thể loại của sách
10 Dangnhap User char(20) khóa chính
Pass char(8) -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 13 loaidg Maloai char(2) khóa chính -Cho biết số loại độc
SVTH:Phan Thị Hồng Phấn – 02HC372
33
Trang 342 Thiết kế giao diện
Nếu không trùng thì thông báo
Nếu trùng thì cho hiển các nút enable=true Biến cố 1:
Khi người dùng chọn nút lập thẻ độc giả Mở form lập thẻ độc giả.
Biến cố 2:
Khi người dùng chọn nút lập phiếu mượn Mở form Lập phiếu mượn sách.
Biến cố 3:
Khi người dùng chọn nút tra cứu sách Mở form tra cứu sách.
Trang 35Biến cố 5:
Khi người dùng chọn nút thay đổi quy định Mở form thay đổi quy định
Biến cố 6:
Khi người dùngl chọn nút nhập sách mới Mở form nhập sách mới
Biến cố 7:
Khi người dùng chọn nút đăng ký giữ chỗ Mở form đăng ký giữ chỗ
Biến cố 8:
Khi người dùng chọn nút xin gia hạn Mở form xin gia hạn thẻ.
Biến cố 9:
Khi người dùng chọn nút thoát
Thoát khỏi chương trình quản lý thư viện
Màn hình lập thẻ độc giả:
Biến cố 0:
Khi màn hình sắp được hiển thị
Lấy ngày hiện hành gán vào textbox ngày lập thẻ
Tính ngày hết hạn của thẻ dựa trên ngày lập thẻ và đưa vào textbox ngày hết hạn Enable = false các textbox ngày lập thẻ, ngày hết hạn, mã độc giả, mã đgnl Tự phát sinh mã độc giả tự động.
Biến cố 1:
Khi người dùng chọn nút lưu
Kiểm tra các thông tin đã nhập đầy đủ chưa, nếu chưa thông báo lỗi
Trang 36Reset lại màn hình: cho các text box bằng rỗng Biến cố 2:
Khi người dùng chọn nút bỏ
Reset lại màn hình: xóa các textbox Đưa con trỏ về textbox họ độc giả Biến cố 3:
Khi người dùng chọn nút thoát Đóng form lại
Biến cố 5:
Khi người dùng nhập xong ngày sinh của độc giả và lostfocus thì chương trình tự động kiểm tra xem tuổi của độc giả có hợp lệ hay không
Nếu không hợp lệ thì cho nhập lại
Nếu hợp lệ thì kiểm tra xem độc giả là loại độc giả nào Nếu là độc giả trẻ em thì enable = true textbox mã đgnl Biến cố 6:
Khi người dùng nhập mã độc giả người lớn và lostfocus thì chương trình tự động kiểm tra xem có tồn tại mã độc giả người lớn này hay không
Nếu không có thì báo lỗi và nhập lại Biến cố 7:
Khi người dùng nhập xong số điện thoại, kiểm tra có phải là số hay không Nếu không thì báo lỗi.
Màn hình nhập sách mới:
SVTH:Phan Thị Hồng Phấn – 02HC372
36
Trang 37Biến cố 0:
Khi màn hình chuẩn bị hiển thị.
Lấy dữ liệu đưa vào các combobox: nhà xuất bản, thể loại, ngôn ngữ, tác giả, bìa Lấy ngày hiện hành đưa vào textbox ngày nhập.
Biến cố 1:
Khi người dùng chọn chọn nút Thêm NXB Mở form Thêm nhà xuất bản.
Biến cố 2:
Khi người dùng chọn nút Thêm Thể loại Mở form Thêm thể loại
Biến cố 3:
Khi người dùng chọn nút Thêm Ngôn ngữ Mở form Thêm ngôn ngữ
Biến cố 4:
Khi người dùng chọn nút Thêm tác giả Mở form Thêm tác giả
Biến cố 5:
Khi người dùng chọn nút Thêm bìa Mở form Thêm màu bìa.
Biến cố 6:
Khi người dùng nhập vào năm xuất bản.
Khi lostfocus thì chương trình sẽ kiểm tra xem năm nhập vào có thỏa quy định 3 hay