Xây dựng phần mềm quản lý việc đăng ký, mượn và trả sách của các bạn đọc thư viện - Pdf 23

Đại Học Quốc Gia TP.Hồ Chí Minh
Trường Đại Học Công Nghệ Thông Tin
BÁO CÁO ĐỒ ÁN
LẬP TRÌNH TRÊN WINDOWS
ĐỀ TÀI
GVHD: Ngô Thanh Hùng.
Nhóm: Restart.
Thành Viên:
Nguyễn Thành Vinh © MSSV: 08520618.
Cáp Duy Vương MSSV: 08520486.
Nguyễn Thái Nhân MSSV: 08520571.

TP.HCM tháng 6-2010
MỤC LỤC
  
LỜI NÓI ĐẦU
Trong thời đại tri thức ngày nay, với sự phát triển nhanh chóng của công nghệ thông tin góp
phần vào việc nâng cao chất lượng giáo dục ở nước ta. Song song với việc đào tạo, việc quản lý
cũng không kém phần quan trọng mà đại diện là việc
quản lý sách trong các thư viện. Hằng ngày,
một số lượng lớn độc giả vào thư viện để mượn sách phục vụ việc học tập, tra cứu thông tin, và họ
cũng sử dụng một số lượng lớn sách. Việc quản lý sách, độc giả và các vấn đề liên quan bắt đầu
nảy sinh trong suy nghĩ của những người quản lý, thủ thư là làm sao để quản lý tốt hệ thống mạng
lưới nói trên.
Phần mềm quản lý thư vi
ện
này nhằm giải quyết phần nào khó khăn trên. Phần mềm hỗ trợ
các chức năng thông dụng mà nhiệm vụ của thủ thư hay làm và hỗ trợ việc lưu trữ dữ liệu sách. Để
biết rõ về phần mềm hãy cùng tôi đến chương kế.
Qua đây nhóm chúng em cũng gởi lời cảm ơn chân thành đến thầy Ngô Thanh Hùng đã tận
tình giúp đỡ, làm sáng tỏ một số thắc mắc của nhóm trong quá trình thực hiện.

trình sẽ xuất hiện thông tin đầy đủ về quyển sách bạn muốn mượn. Nếu cuốn sách này không thể
mượn được thì chương trình sẽ hiển thị thông báo. Nếu cuốn sách này có thể cho mượn thì cho
mượn và cập nhật lại số lượng sách đó và tình trang mới của phiếu mượn sách của độc giả. Một
quyển sách không thể mượn khi nó chỉ còn duy nhất 1 bản copy trong thư viện, bản này chỉ để
đọc.
b) Trả sách:
Khi bạn đến thư viện trả sách, thủ thư sẽ kiểm tra mã thẻ thư viện của bạn, xem bạn mượn
những quyển sách nào, trả những quyển nào, và nếu quyển sách trễ hạn hoặc bạn làm mất thì bạn
sẽ chịu phạt. Phí phạt khi làm mất sách gấp 4 lần giá bìa của sách đó.
Sau khi bạn trả sách, thông tin trong phiếu mượn sách của bạn sẽ được cập nhật (những
quyển đã trả, ngày trả, tiền phạt (nếu có)…). Và chương trình cũng sẽ update lại thông tin về số
lượng quyển sách bạn đã trả (tăng thêm 1, 2, hoặc 3). Trong trường hợp bạn làm mất sách, thì số
lượng loại sách đó sẽ giảm đi (1, 2 hoặc 3), cùng với đó thì số sách còn lại các độc giả có thể
mượn (sosachconlai) sẽ giảm theo tương ứng.
c) Tìm kiếm:
Chương trình sẽ hỗ trợ độc giả tìm kiếm sách theo các thông tin kèm theo. Hoặc hỗ trợ thủ
thư tìm kiếm thông tin về 1 độc giả nào đó.
d) Thống kê:
Thủ thư cũng có thể thống kê để xem có những quyển sách nào đang được mượn, sách nào
trễ hạn trả, sách đã bị mất, hoặc xem tổng số sách. Ngoài ra, chương tình còn hỗ trợ xem số độc
giả đã mượn sách của thư viện (từ ngày….đến ngày), số độc giả trễ hạn trả sách, cùng với thông
tin phiếu mượn của độc giả đó.
e) Chỉnh sửa thông tin:
Chương trình cũng hỗ trợ đăng ký nhân viên, thêm, chỉnh sửa, xóa nhân viên, độc giả, sách.
II. XÁC ĐỊNH YÊU CẦU.
A) Yêu cầu chức năng:
STT Tên yêu cầu Form trong code Qui
định
Ghi chú
1. Lập thẻ độc giả frmDangkymoi QD1

Qui định
độc giả
- Tuổi độc giả >= 18.
- Thẻ có giá trị 1 năm.
-Tên, địa chỉ, email phải đúng. Khi nhập sai sẽ bị cảnh báo.
- File hình ảnh chỉ được lấy từ thư mục “picture\\” trong Debug
folder.
2
QD
2
Qui định
sách
- Chỉ cho phép các sách xuất bản sau 1900 và trước thời điểm
hiện tại.
- Mỗi lần nhập sách không nhập quá 999 quyển/1 mã.
- Giá bán không là float.
- Mã sách là 1 chuỗi ký tự bất kỳ. Nhưng để tiện lợi thì nên
nhập mã sách với 2 phần (mã thể loại + số thứ tự).
- Thông tin về tác giả phải đúng (không có những ký tự đặc
biệt trong quá trình nhập), sai sẽ bị cảnh báo.
3
QD
3
Qui định
mượn, trả
sách
- Chỉ cho mượn với thẻ còn hạn (hoặc không chứa sách trễ hạn)
và sách còn có thể mượn.
- Mỗi độc giả chỉ được mượn tối đa 3 cuốn sách trong 1 lần
mượn.

Quy định
đăng
nhập
Trước khi đăng nhập vào 1 server mới, vào thư mục Debug xóa
đi file “config.txt”.
Chương II
MÔ HÌNH HÓA YÊU CẦU NGƯỜI SỬ DỤNG
I. Use Case Diagram.
Thủ thư
Đăng
nhập
Thao tác sách
Thao tác hồ sơ
nhân viên
Thống kê độc giả
(đg đã mượn,
đang trễ hạn)
Tìm độc giả
Lập thẻ độc giả
(Đăng ký mới)
Thao tác độc giả
(Sửa, xóa đg)
Thống kê
sách
(sách đang
mượn, bị mất,
trễ hạn, tổng)
Hỗ trợ độc
giả tìm sách
Gia hạn thẻ

- D1: Thủ thư chọn các thao tác trên thông tin sách (thêm, xóa, sửa).
- D2: Kết quả của việc thao tác (update lại thông tin sau khi thao tác
thành công).
- D3: Thông tin của sách mới update (giống D1).
- D4: Các quy định về sách (QD2).
Phần mềm này cài đặt vào máy tính của thư viện hỗ trợ các thủ thư quản lý thư viện hiệu
quả hơn, và thông qua thủ thư trợ giúp độc giả khi đến học tập ở thư viện.
Thủ thư: có quyền sử dụng tất cả các chức năng của phần mềm.
Thủ thư
Lập thẻ
độc giả
Cơ sở dữ liệu
D2
D3
D1
D4
Thủ thư
Thao tác
trên sách
Cơ sở dữ liệu
D2
D3
D1
D4
Thuật toán:
Bước 1: Thủ thư chọn chức năng thao tác sách. Nhận D1 từ người dùng.
Bước 2: Kết nối CSDL.
Bước 3: Đọc D4 từ bộ nhớ phụ.
Bước 4: Kiểm tra các thông tin của sách có hợp lệ không dựa vào QĐ2.
Nếu hợp lệ xuống bước 5, không hợp lệ xuống bước 6.

xuống CSDL. (D3). Đến bước 8.
Nếu không thỏa thì đến bước 9.
Bước 8: Đóng kết nối. Thông báo thành công.
Bước 9: Thông báo chỉnh sửa.
Nếu chỉnh sửa thành công, quay lại bước 7.
Nếu chỉnh sửa không thành công thì đóng kết nối, thông báo không mượn đươc.
Thủ thư
Mượn
sách
Cơ sở dữ liệu
D2
D3
D1
D4
Thiết bị nhập
D5
• Nhận trả sách.
- D1: Mã số thẻ của độc giả.
- D2: Kết quả của Nhận trả sách.
- D3: Thông tin trả sách của độc giả (giống D1).
Tình trạng mới của số lượng sách, số sách
còn lại sau khi trả.
Tình trạng mới phiếu mượn sách của độc
giả.
- D4: Các quy định trả sách (QĐ4).
- D5: Mã số thẻ của độc giả để thủ thư quét từ.
Thuật toán:
Bước 1: Thủ thư chọn chức năng nhận trả sách.
Bước 2: Kết nối CSDL. Đọc vào mã độc giả.
Bước 3: Kiểm tra sách trả có quá hạn hoặc được độc giả báo mất hay không.

Cơ sở dữ liệu
D2
D3
D1
D4
Thiết bị nhập
D5
Thủ thư
Thao tác
nhân
viên
Cơ sở dữ liệu
D2
D3
D1
D4
- D1: Thủ thư chọn các thao tác trên thông tin thể loại sách
(thêm, xóa, sửa).
- D2: Kết quả của việc thao tác (update lại thông tin sau khi
thao tác thành công).
- D3: Thông tin của thể loại sách mới update (giống D1).
Tình trạng mới của các bảng có liên quan đến mã thể
loại.
- D4: Các ràng buộc dữ liệu khi thao tác.
Thuật toán:
Bước 1: Thủ thư chọn chức năng thao tác thể loại sách. Nhận D1 từ người dùng.
Bước 2: Kết nối CSDL.
Bước 3: Kiểm tra các thông tin của thể loại sách có hợp lệ không (chính là sự trùng khóa
chính).
Nếu hợp lệ xuống bước 4, không hợp lệ xuống bước 5.

Cơ sở dữ liệu
D2
D3
D1
D4
Thủ thư
Thao tác
trên NXB
Cơ sở dữ liệu
D2
D3
D1
D4
- D1: Thủ thư chọn chức năng tìm kiếm sách.
Thông tin hỗ trợ tìm kiếm.
- D2: Kết quả của việc tìm kiếm.
- D4: Xuất kết quả theo điều kiện tìm kiếm.
+ QD6.
- D6: Xuất kết quả ra máy in (nếu có).
Thuật toán:
Khi thủ thư hỗ trợ độc giả tra cứu sách.
Bước 1: Chọn chức năng tìm kiếm sách.
Bước 2: Nhập các thông tin hỗ trợ tìm kiếm (theo tên, thể loại, nhà xuất bản, …).
Bước 3: Kết nối CSDL.
Bước 4: Tìm chính xác các sách có thông tin như đã chọn. (QD6).
Bước 5: Nếu tìm thấy: xuất kết quả ra màn hình.
Tìm không thấy: thông báo không tìm thấy.
Bước 6: Đóng kết nối.
• Tìm kiếm độc giả.
- D1: Thủ thư chọn chức năng tìm kiếm độc giả.

Cơ sở dữ liệu
Thiết bị xuất
D6
• Thống kê sách:
- D1: Thủ thư chọn chức năng thống kê sách.
Chọn 1 trong số các thông tin muốn thống
kê.
- D2: Kết quả của việc tìm kiếm.
- D4: Xuất kết quả theo điều kiện tìm kiếm.
- D6: Không có.
Thuật toán:
Bước 1: Chọn chức năng thống kê sách.
Bước 2: Chọn 1 trong số các thông tin hỗ trợ (tổng số sách, sách đang mượn, sách đã trễ
hạn, sách bị mất).
Bước 3: Kết nối CSDL.
Bước 4: Tìm chính xác các sách có thông tin như đã chọn.
Bước 5: Nếu tìm thấy: xuất kết quả ra màn hình (thống kê thông tin đầy đủ của sách).
Tìm không thấy: thông báo.
Bước 6: Đóng kết nối.
• Thống kê độc giả.
- D1: Thủ thư chọn chức năng thống kê độc giả.
Chọn 1 trong số các thông tin muốn thống
kê.
- D2: Kết quả của việc tìm kiếm.
- D4: Xuất kết quả theo điều kiện tìm kiếm.
- D6: Không có.
Thuật toán:
Bước 1: Chọn chức năng thống kê độc giả.
Bước 2: Chọn 1 trong số các thông tin hỗ trợ tìm kiếm (độc giả mượn sách, độc giả đang
trễ hạn trả sách, thời gian từ ngày…. đến ngày… ).

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ẻ (mã độc giả).
Bước 3: Mở kết nối CSDL.
Bước 4: Cập nhật lại ngày hết hạn của thẻ xuống CSDL.
Bước 5: Đóng kết nối, gia hạn thành công.
• Đăng nhập.
- D1: Thủ thư đăng nhập.
Nhập UserName (là mã nhân viên), Password (là password
của nhân viên).
- D2: Kết quả của việc Đăng nhập.
- D4: Thông tin để kiểm tra UserName và Password.
+ QD7.
Thuật toán:
Bước 1: Thủ thư đăng nhập hệ thống.
Bước 2: Mở kết nối CSDL.
Bước 3: Nhập các thông tin đăng nhập.
Bước 4: Kiểm tra thông tin đăng nhập (Tên và mật khẩu có chính xác không).
Kiểm tra thỏa QD7 đối với lần đầu đă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.
Quay lại bước 5 nếu đăng nhập lại. Hoặc đóng kết nối và thoát.
Khi đăng xuất, ta nhận thông báo xác nhận, nếu đồng ý thì đóng chương trình.
Thủ thư
Gia hạn
thẻ
Cơ sở dữ liệu
D2
D3
D1
D4

Độc giả
Tình trạng
thẻ
1 1
1 1
NXB
Cuốn sách
Thể loại
Thống kê sách
1 n
1 1
1 n
Sách mất
 Mô tả từng lớp đối tượng.
TT Tên lớp Thông tin Trách nhiệm
1 Thể loại Mã thể loại, tên thể loại. Thêm, xóa, sửa.
2 NXB Mã NXB, tên NXB, địa chỉ. Thêm, xóa, sửa.
3 Cuốn sách Mã sách, tên sách, mã thể loại, mã NXB,
năm XB, giá bán.
Thêm, xóa, sửa.
4 Thống kê
sách
Mã sách, số lượng, số sách còn lại, số sách
muốn mượn.
Khi đg mượn sách, thì số sách muốn mượn
của mã sách đó được update. Nhưng trong
quá trình mượn nếu xảy ra sự cố và thủ thư
reset, số sách muốn mượn=0. Số sách còn
lại của 1 mã sau khi mượn=(số sách còn lại
trước đó - số sách muốn mượn) của mã đó.

 Thiết kế Logic.
 Danh sách các bảng dữ liệu.
STT Tên bảng Ghi chú
1 theloai Thể loại sách.
2 nhaxuatban Nhà xuất bản.
3 sach Cuốn sách.
4 thongkesach Thống kê sách.
5 sach_bimat Sách mất.
6 phieumuonsach Phiếu mượn.
7 nhanvien Nhân viên.
8 docgia Độc giả.
9 tinhtrangthe Tình trạng thẻ.
 Mô tả chi tiết từng bảng dữ liệu.
P_key: khóa chính. F_key: khóa ngoại.
theloai
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú
1 matheloai nvarchar(10) P_key Không được phép null
2 tentheloai nvarchar(50) Không được phép null
nhaxuatban
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú
1 maNXB nvarchar(10) P_key Không được phép null
2 tenNXB nvarchar(100) Không được phép null
3 diachi nvarchar(200) Không được phép null
sach
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú
1 masach nvarchar(10) P_key Không được phép null
2 tensach nvarchar(100) Không được phép null
3 tacgia nvarchar(50) Không được phép null
4 matheloai nvarchar(10) F_key Không được phép null
5 maNXB nvarchar(10) F_key Không được phép null

4 gioitinh nvarchar(10) Không được phép null
5 diachi nvarchar(MAX) Không được phép null
6 dienthoai varchar(15) Có thể null
7 email nvarchar(50) Có thể null
8 ngayvaolam Datetime Nhỏ hơn ngày hiện tại
9 matkhau nvarchar(20) Không được phép null
10 hinhanh varchar(30) Có thể null
docgia
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú
1 madocgia numeric(18,0) P_key Không được phép null
2 tendocgia nvarchar(100) Không được phép null
3 ngaysinh Datetime Năm sinh- năm hiện tại >=18
4 gioitinh nvarchar(10) Không được phép null
5 email varchar(50) Có thể null
6 diachi nvarchar(MAX) Không được phép null
7 hinhanh varchar(50) Có thể null
tinhtrangthe
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú
1 madocgia numeric(18,0) P_key, F_key Không được phép null
2 ngaydangky datetime Không được phép null
3 ngayhethan datetime Không được phép null
sach_bimat
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú
1 masach nvarchar(10) F_key Có thể không có sách mất.
2 soluong_mat Int Nhỏ nhất là 1.
phieumuonsach
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú
1 madocgia numeric(18,0) P_key, F_key Không được phép null
2 masach nvarchar(10) P_key, F_key Không được phép null
3 tensach nvarchar(100) Không được phép null

 Biến cố click_chọn hình (của button chọn hình ảnh)
 Hiện Open Dialog để chọn hình của độc giả, lưu lại tên file hình ảnh để thêm vào thuộc
tính hình ảnh của bảng độc giả.
 Chú ý: file hình chỉ được lấy từ thư mục “picture\\” của Debug folder.
 Biến cố Keypress của các texbox ( họ tên, địa chỉ, email), comboBox (mã độc giả)
 Kiểm soát việc nhập dữ liệu vào từ bàn phím.
• Họ tên: chỉ được nhập chữ, không được nhập số và các ký tự đặc biệt (~@#$% ).
Họ tên không được quá 100 ký tự.
• Địa chỉ: cho nhập chữ, số tự nhiên, các ký tự thuộc tập {‘.’; ’,’; ‘/’}.
• Email: cho phép nhập chữ, số, và ký tự @,’.’
• Mã độc giả: chỉ cho phép nhập số tự nhiên lớn hơn 0 và không được quá 10 ký tự.
 Nếu người dùng nhập sai thì lập tức được thông báo lỗi từng chi tiết để chỉnh sửa.
 Biến cố Leave của các textBox và ComboBox
 Kiểm soát việc nhập dữ liệu vào bằng chuột (copy, paste), hoặc Ctrl + C và Ctrl +V.
• Các ràng buộc và thông báo lỗi cũng tương tự như ràng buộc của biến cố Keypress
ở trên.
 Biến cố click của button Đăng ký
 Trước khi thêm, kiểm tra thông tin muốn thêm có đầy đủ hay không (đối với thông tin
bắt buộc – tên, mã, địa chỉ, ngày sinh, giới tính).
 Nếu thỏa mãn thì ghi thông tin độc giả mới đăng ký xuống cơ sở dữ liệu.
• Nếu không có email thì thuộc tính email của bảng độc giả là null.
• Nếu không chọn hình ảnh thì thuộc tính hinhanh của bảng độc giả là null.
• Thông báo thành công, update lại bảng dữ liệu, load lại mã độc giả vào ComboBox
mã độc giả, reset (làm sạch) lại các textBox và comboBox.
 Nếu không thỏa (trùng mã độc giả, thiếu thông tin…) thì thông báo lỗi chi tiết để người
dùng điều chỉnh.
 Biến cố click của button Reset
 Gọi hàm reset () để làm sạch các textBox, comBoBox, errorprovider…
 Biến cố click của button Thoát
 Thoát khỏi màn hình đăng ký và trở lại màn hình đã mở trước đó.

• Hiển thị bên listView các sách có thể loại là thể loại được chọn. (với điều kiện
comboBox_theloai.Text !=””).
• Load các mã sách có thể loại được chọn vào comboBox_masach (bên tab thông tin).
 Nếu Enable của comboBox_NXB (bên tab thông tin) là true thì:
• Hiển thị listView các sách có thể loại và nhà xuất bản được chọn. (với điều kiện
comboBox_theloai.Text !=”” và comboBox_NXB.Text !=””).
• Load các mã sách có cùng thể loại và nhà xuất bản vào comboBox_masach (bên tab
thông tin).
 Biến cố SelectedIndexChanged của comboBox_nhaxb (bên tab thông tin).
 Nếu Enable của comboBox_theloai (bên tab thông tin) là false thì:
• Hiển thị bên listView các sách của nhà xuất bản được chọn (với
điều kiện comboBox_nhaxb.Text !=””).
• Load các mã sách có nhà xuất bản được chọn vào
comboBox_masach (bên tab thông tin).
 Nếu thuộc tính Enable của comboBox_theloai (bên tab thông tin) là true thì:
• Hiển thị listView các sách có thể loại và nhà xuất bản được chọn. (với điều kiện
comboBox_theloai.Text !=”” và comboBox_NXB.Text !=””).
• Load các mã sách có cùng thể loại và nhà xuất bản vào comboBox_masach (bên tab
thông tin).
Hai biến cố trên hỗ trợ nhân viên tìm kiếm sách theo thể loại, hoặc nhà xuất bản, hoặc
cả 2 một cách nhanh chóng ngay tại form Danh mục sách mà không cần phải mở form
Tìm kiếm sách (thể hiện tính ưu việt, tiện lợi).
 Biến cố CheckedChange của checkBox_loaisach, comboBox_nxb (bên tab thông tin)
 Nếu thuộc tính checked của checkbox là true thì Enable của comboBox tương ứng là
true, ngược lại thì giá trị Enable là false.
 Biến cố Click của chẹckBox_loaisach và checkBox_nxb (bên tab thông tin)
 Là sự cộng tác của 2 biến cố: Checkedchanged của textbox và SelectedIndexChanged
của comboBox.
 Công dụng giúp tra cứu (xem) sách theo yêu cầu (thể loại, nxb, hoặc cả 2).
 Biến cố Click của button Reset (bên 2 tab thông tin và thao tác).

 Nếu xác nhận thì xóa sách đã chọn, và update lại bảng sách, các bảng có liên quan đến
mã sách bị xóa. Thông báo thành công.
 Biến cố click của button sửa
 Trước khi sửa, kiểm tra sách muốn sửa có tồn tại trong dữ liệu hay không? Các thông
tin muốn sử có hợp lý (thể loại, nhà xuất bản, tác giả, …).
 Nếu thỏa thì update vào bảng sách có mã được chọn (ở comboBox_masach2). Thông
báo update thành công.
 Nếu không thỏa thì thông báo chi tiết lỗi sai để chỉnh sửa.
 Tính năng:
 Form Danh mục sách hiện thị tất cả các thông tin của sách. Thủ thư có thể thực hiện các
thao tác như: nhập sách vào thư viện (button_them), xóa sách ra khỏi thư viện
(button_xoa), chỉnh sửa thông tin của sách (button_sua).
 Trên Danh mục sách tích hợp tính năng tìm kiếm (thống kê) theo thể loại, nhà xuất bản,
hỗ trợ người dùng khi có nhu cầu (mà không cần mở form tìm kiếm sách).
 Màn hình tìm kiếm độc giả:
 Biến cố Load form
 Load lên form mã độc giả (vào comboBox_maDG).
 Khai báo toolStripStatusLabel1.
 Biến cố Activated của form
 Cũng giống như chức năng của biến cố Activated ở form danh mục sách. Sau khi được
active lại thì sẽ update toàn bộ thông tin, load lại mã độc giả vào comboBox_maDG.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status