TRƯỜNG ĐẠI HỌC BÌNH DƯƠNG - PHÂN HIỆU CÀ MAU
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỀ TÀI
PHẦN MỀM QUẢN LÝ THƯ VIỆN
Mơn: Cơng nghệ phần mềm
GVHD: Trần Anh Dũng
Nhóm thực hiện: Nhóm 1
- Cao Huỳnh Bảo
- Bào Đình Văn
- Nguyễn Thị Hồi Thương
Khóa: 2017 – 2019
Nhận xét của Giảng viên
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
Giảng viên hướng dẫn
…………………………
Mục lục
Giới thiệu
Hệ thống thơng tin nào cũng có một đời sống, từ lúc khai sinh đến lúc bị
phế bỏ. Đó là một quá trình trải qua một số giai đoạn nhất định. Các giai đoạn
chính thường là: khảo sát hiện trạng, xác định yêu cầu, phân tích, thiết kế, cài
đặt, kiểm chứng và triển khai.
- Giai đoạn khảo hiện trạng là nhằm làm rõ hệ thống thông tin sẽ được
lập ra phải đáp ứng các nhu cầu gì của người dùng – các nhu cầu trước
mắt và tương lai, các nhu cầu tường minh và tiềm ẩn.
- Giai đoạn phân tích là nhằm đi sâu vào bản chất và chi tiết của hệ
thống cho thấy hệ thống phải thực hiện những việc gì và các dữ liệu
mà nó đề cập là những dữ liệu nào, có cấu trúc ra sao.
- Giai đoạn thiết kế là nhằm đưa ra các quyết định về cài đặt hệ thống,
để sao cho hệ thống thoả mãn được các yêu cầu mà giai đoạn phân tích
đã đưa ra, đồng thời lại thích ứng với các điều kiện ràng buộc trong
thực tế.
Trong đó để xây dựng hoàn thiện một phần mềm quản lý phục vụ cho nhu
cầu thực tế thì điều quan trong đó là xây dựng nên một chương trình đáp ứng
được những nhu cầu cơ bản của người dùng, đồng thời phải đảm bảo được sự tối
ưu về cơ sở dữ liệu như: Lưu trữ đầy đủ và đúng ngữ nghĩa về tổ chức và qui
định có trong nghiệp vụ liên quan, phải tiết kiệm nhất không gian và truy xuất
nhanh nhất thông tin cần thiết .
Sau quá trình tìm hiểu, nghiên cứu, thu thập thông tin tại Thư viện, chúng
em đã hiểu rõ hơn về thực trạng của một hệ thống thông tin trong thực tế. Qua
đó chúng em đã thiết kế và xây dựng một ứng dụng nhỏ đáp ứng các nhu cầu về
quản lý tài nguyên và mượn trả sách tại thư viện.
Chúng em xin chân thành cảm ơn thầy Trần Anh Dũng đã tận tình hướng
dẫn trong quá trình thực hiện đồ án.
Chương I: Phát biểu bài toán
1. Khảo sát hiện trạng
Qua khảo sát nhóm em thấy để có thể quản lý được độc giả và sách trong thư viện, thư
viện ngoài cấp phiếu mượn còn cần các hồ sơ khác để lưu trữ các thông tin.
Các hồ sơ bao gồm sổ thông tin độc giả (lưu trữ các thông tin về tên tuổi, ngày sinh,
địa chỉ, đơn vị… của độc giả); sổ thông tin sách( bao gồm các thông tin về tên sách,
tên tác giả, nhà xuất bản, năm xuất bản, nhà cung cấp, ngày nhập về, số bản…); sổ
mượn trả ( bao gồm các thông tin về độc giả, tên sách, mã sách, ngày mượn, ngày
trả…); Và các qui định về thông tin độc giả, thông tin sách trong quá trình hoạt động
của thư viện.
Chương II: Xác định và phân tích yêu cầu
1. Yêu cầu của hệ thống
Danh sách yêu cầu:
STT Yêu cầu
Người dùng
Phần mềm
Ghi chú
1
Lập thẻ độc giả
Cung cấp thông tin
theo BM1
Kiểm tra QĐ1 và
ghi nhận
Xóa,Cập
nhật
2
Nhận sách mới
Cung cấp thơng tin
theo BM2
Kiểm tra QĐ2 và
ghi nhận
Xóa,
Cập nhật
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
BM1
Xóa,
Cập nhật
THẺ ĐỘC GIẢ
Họ và tên:
Loại độc giải:
Ngày sinh:
Địa chỉ:
Email:
Ngày lập thẻ:
QĐ 1: Có 2 loại độc giải (X,Y). Tuổi độc giải từ 18 đến 35. Thẻ có giá trị 12 tháng
BM2
THƠNG TIN SÁCH
Tên sách:
Thể loại
Tác giả:
Năm xuất bản
Nhà xuất bản
Ngày nhập:
QĐ 2: Có 3 thể loại (A, B, C). Chỉ nhận các sách trong vòng 8 năm
BM3
STT
DANH SÁCH SÁCH
Tên sách
Thể loại Tác giả
Tình trạng
BM4
PHIẾU MƯỢN SÁCH
Tên độc giả:
STT
Sách
Ngày mượn
Thể loại
Tác giả
QĐ 4: Chỉ cho mượn với thẻ cịn hạn và sách khơng người đang mượn. Mỗi độc giả
mượn tối đa 5 quyển sách trong 4 ngày
- QĐ6: Người dùng có thể thay đổi các quy định như sau:
- QĐ1: Thay đổi tuổi tối thiểu, 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.
Chương III: Thiết kế dữ liệu
1. Sơ đồ Logic
2. Mô tả chi tiết các kiểu dữ liệu trong sơ đồ logic
Chương IV: Thiết kế giao diện
1. Danh sách các màn hình
STT
Tên màn hình
Ý nghĩa/Ghi chú
1
Màn hình chính
Form cha chứa các form con và thanh menu
2
Danh sách sách
3
Danh sách độc giả
4
Mượn, trả sách
- Chứa đựng thông tin về sách, tra cứu sách
- Cho phép người dùng thực hiện các lệnh thêm,
xóa, sửa và tìm kiếm sách
- Chứa thơng tin về độc giả
- Cho phép người dùng thực hiện việc thêm xóa, sửa
độc giả, lập thẻ độc giả, tìm thơng tin về độc giả
- Lập phiếu mượn sách, thực hiện việc trả sách
5
Cấu hình
2. Mơ tả chi tiết mỗi màn hình
2.1. Màn hình Form Main
- Thay đổi các qui định về thơng tin sách; tuổi tối
thiểu, tối đa của độc giả; thời hạn giá trị của thẻ;
thay đổi số lượng và tên các thể loại; khoảng cách
năm xuất bản; số lượng sách mượn và số ngày
mượn.
* Biến cố 1: Khi màn hình được hiển thị
- Form main thiết lập chế độ StarPosition= Center Sreen. Form main sẽ xuất
hiện ở giữa màn hình
- Thuộc tính: MaximizeBox= False – Khơng thể phóng to tồn màn hình
- Thuộc tính: IsMdiContainer=True. Thuộc tính cho Form cha.
* Biến cố 2: Khi người dùng nháy chọn menu: Hệ thống
- Menu hiển thị 2 danh mục con là: Cấu hình và Thốt
* Biến cố 3: Khi người dùng nháy chọn menu: Cấu hình
- Form frmcauhinh sẽ được kích hoạt.
* Biến cố 4: Khi người dùng nháy chọn menu: Thoát
- Hệ thống hiển thị hộp thoại hỏi bạn có muốn thốt khỏi ứng dụng hay không
với 3 nút lệnh: Yes, No.
- Khi người dùng nhấn Yes: Thoát khỏi phần mềm
- Khi người dùng nhấn No: Không thực hiện
* Biến cố 5: Khi người dùng nháy chọn menu: Quản lý danh mục
- Menu hiển thị 2 danh mục con là: Danh mục sách và Danh mục độc giả
* Biến cố 6: Khi người dùng nháy chọn menu: Danh mục sách
- Form frmsach sẽ được kích hoạt.
* Biến cố 7: Khi người dùng nháy chọn menu: Danh mục độc giả
- Form frmdocgia sẽ được kích hoạt.
* Biến cố 8: Khi người dùng nháy chọn menu: Quản lý mượn, trả sách
- Form frmmuonsach sẽ được kích hoạt.
Danh sách các thành phần của giao diện
STT
Tên
Kiểu
Ý nghĩa
1
Lblqltv
Label
Làm tiêu đề cho Form
2
menutrip
Menutrip
Làm thanh menu
2.2. Màn hình Form Cấu hình
* Biến cố 1: Khi màn hình sắp được hiển thị
- Đọc cơ sở dữ liệu từ bảng QDTDocGia, QDMuonTra, TheLoai
* Biến cố 2: Khi màn hình được hiển thị
Ghi
chú
- Form frmcauhinh xuất với thuộc tính: ShowDialog.
- Form frmcauhinh thiết lập chế độ StarPosition= Center Sreen. Form
frmcauhinh sẽ xuất hiện ở giữa màn hình
- Thuộc tính: ColtrolBox= False – Tắt chức năng phóng to, thu nhỏ và close của
form
- Đưa dữ liệu vào các NumbericUpdown
- Đưa dữ liệu từ bảng thể loại vào listview
- Sự kiện listView_ItemSelectionChanged sẽ xuất dữ liệu lên Textbox
* Biến cố 3: Khi người dùng click vào các NumbericUpdown
- Sẽ thay đổi các giá trị của từng mục
* Biến cố 4: Khi người dùng click vào các button
- Sẽ thực hiện Thêm loại sách mới
- Xóa đi một loại sách
- Lưu những thiết lập mà người dùng chọn từ các NumbericUpdown
- Thoát khỏi Frmcauhinh.
Danh sách các thành phần của giao diện
STT
Tên
1
Nbtuoithap
2
Nbtuoicao
3
Nbsoluongmuon
4
nbngaymuon
5
Nbhannhap
6
Kiểu
Ý nghĩa
QĐ Tuổi thấp nhất
Txtmaloai
NumbericUpdow
n
NumbericUpdow
n
NumbericUpdow
n
NumbericUpdow
n
NumbericUpdow
n
Textbox
7
Txttenloai
Textbox
QĐ tên loại sách
8
lstloaisach
Listview
Chi tiết thể loại
9
Btnthem
Button
Thêm loại sách
10
Btnxoa
Button
Xóa loại sách
QĐ Tuổi cao nhất
QĐ số lượng sách mượn
QĐ số ngày mượn
QD thời hạn nhập
QĐ mã loại sách
Ghi
chú
11
Btnthietlap
Button
Thiết lập
12
Btnthoat
Button
Thốt
2.3. Màn hình Form Danh sách sách
* Biến cố 1: Khi màn hình sắp được hiển thị
- Đọc cơ sở dữ liệu từ bảng Sach
* Biến cố 2: Khi màn hình hiển thị
- Thuộc tính Controlbox=False
- Đỗ cơ sở dữ liệu vào Listview
- Đưa cơ sở dữ liệu từ Listview lên các Textbox, combobox, DatetimePicker
- Disabled tất cả các Textbox, combobox, DatetimePicker
- Disabled button Lưu, Hủy
* Biến cố 3: Khi người dùng click vào Button Thêm
- Enable tất cả các Textbox, combobox, DatetimePicker
- Textbox mã sách vẫn Disabled
- Chương trình tự động phát sinh mã sách
- Disabled buton Xóa, Sửa, Thốt
- Enabled button Lưu, Hủy
* Biến cố 4: Khi người dùng click vào Button Lưu
- Hệ thống kiểm tra xem Sách nhập có đúng thời hạn hay khơng
- Nếu sai qui định, q thời hạn thì sẽ không lưu
- Ngược lại sẽ lưu vào cơ sở dữ liệu
* Biến cố 5: Khi người dùng click vào Button Hủy
- Chương trình gọi lại Form_Load
* Biến cố 6: Khi người dùng click vào Button Xóa
- Chương trình hiển thị Messabox hỏi bạn có muốn xóa hay khơng
- Chọn Yes, thực hiện xóa và lưu lại. Gọi lại Form_Load
- Chọn No, khơng xóa và khơng lưu
* Biến cố 7: Khi người dùng click vào Button Sửa
- Enable tất cả các Textbox, combobox, DatetimePicker
- Textbox mã sách vẫn Disabled
- Disabled buton Xóa, Thêm, Thốt
- Enabled button Lưu, Hủy
* Biến cố 8: Khi người dùng click Button Tìm kiếm
- Hệ thống sẽ kiểm tra xem người dùng tìm kiếm theo sách hay thể loại sách
- Nếu người dùng không nhập thông tin cần tìm và khơng chọn ( Bằng cách
click chọn RadioButton sách và thể loại). Chương trình sẽ xuất hiện hộp thoại
thơng báo u cầu chọn tìm kiếm.
- Nếu đã chọn 1 trong 2 thì hệ thống sẽ kết nối cơ sở dữ liệu và tiến hành tìm
kiếm
- Nếu tìm khơng có sẽ thơng báo lên TxtTimKiem: Khơng có sách
- Nếu có thì chương trình sẽ xuất những sách tìm gặp lên Listview
* Biến cố 9: Khi người dùng click chọn lên Listview
- Lệnh listView1_ItemSelectionChanged sẽ được thực hiện
- Dữ liệu sẽ được xuất lên Textbox
STT
Tên
Kiểu
Ý nghĩa
1
Txtmasach
Textbox
Thông tin mã sách
2
Txttensach
Textbox
Thông tin tên sách
3
cbotg
Textbox
Thông tin tác giả
4
cbotheloai
Textbox
Thơng tin thể loại sách
5
nbsoluong
Thơng tin số lượng sách
6
Rdtheloai
NumbericUpdow
n
Radiobutton
7
Rdsach
Radiobutton
Chọn tìm theo sách
8
Dtngaynhap
Datetimepicker
Thông tin ngày nhập
9
Dtnnamxb
Datetimepicker
Thông tin năm xuất bản
10
cbonhaxb
Combobox
Thông tin nhà xuất bản
11
txttim
Textbox
Nhập thơng tin tìm kiếm
12
Btntim
Button
Thực hiện lệnh tìm kiếm
13
Btnthem
Button
Thực hiện lệnh thêm
14
Btnxoa
Button
Thực hiện xóa
15
Btnsua
Button
Thực hiện sửa
16
Btnluu
Button
Thực hiện lưu
17
Btnhuy
Button
Thực hiện hủy
18
Btnthoat
Button
Thực hiện thốt
19
lstsách
Listview
Thơng về sách
2.4. Màn hình Form Danh sách độc giả
Chọn tìm theo thể loại
Ghi
chú
* Biến cố 1: Khi màn hình sắp được hiển thị
- Đọc cơ sở dữ liệu từ bảng DocGia
* Biến cố 2: Khi màn hình hiển thị
- Thuộc tính Controlbox=False
- Đỗ cơ sở dữ liệu vào Listview
- Đưa cơ sở dữ liệu từ Listview lên các Textbox, combobox, Radiobutton
DatetimePicker
- Disabled tất cả các Textbox, combobox, DatetimePicker
- Disabled button Lưu, Hủy
* Biến cố 3: Khi người dùng click vào Button Thêm
- Enable tất cả các Textbox, combobox, DatetimePicker
- Textbox mã sách vẫn Disabled
- Chương trình tự động phát sinh mã độc giả
- Disabled buton Xóa, Sửa, Thốt
- Enabled button Lưu, Hủy
* Biến cố 4: Khi người dùng click vào Button Lưu
- Chương trình sẽ tiến hành kiểm tra tuổi độc giả có đúng theo qui định
- Nếu sai qui định chương trình thơng báo và không lưu
- Ngượ lại sẽ lưu vào cơ sở dữ liệu
* Biến cố 5: Khi người dùng click vào Button Hủy
- Chương trình gọi lại Form_Load
* Biến cố 6: Khi người dùng click vào Button Xóa
- Chương trình hiển thị Messabox hỏi bạn có muốn xóa độc giả này hay khơng
- Chọn Yes, thực hiện xóa và lưu lại. Gọi lại Form_Load
- Chọn No, khơng xóa và khơng lưu
* Biến cố 7: Khi người dùng click vào Button Sửa
- Enable tất cả các Textbox, combobox, DatetimePicker
- Textbox mã sách vẫn Disabled
- Disabled buton Xóa, Thêm, Thốt
- Enabled button Lưu, Hủy
* Biến cố 8: Khi người dùng click Button Tìm kiếm
- Hệ thống sẽ kiểm tra xem người dùng có nhập thơng tin tìm kiếm hay chưa
- Nếu chưa chương trình sẽ thơng báo: Bạn chưa nhập thơng tin tìm kiếm
- Nếu có sẽ tiến hành tìm kiếm
- Nếu tìm khơng có sẽ thơng báo lên TxtTimKiem: Khơng có độc giả
- Nếu có thì chương trình sẽ xuất những độc giả tìm gặp lên Listview
* Biến cố 9: Khi người dùng click chọn lên Listview
- Lệnh listView1_ItemSelectionChanged sẽ được thực hiện
- Dữ liệu sẽ được xuất lên Textbox
Danh sách các thành phần của giao diện
STT
Tên
Kiểu
Ý nghĩa
1
Txtmadg
Textbox
Thông tin mã độc giả
2
Txthoten
Textbox
Thông tin họ tên
3
Txtemail
Textbox
Thông tin về email
Ghi
chú
4
Txtdiachi
Textbox
Thơng tin địa chỉ
5
Rdnam
Radiobutton
Thơng tin về giới tính
6
Rdnu
Radiobutton
Thơng tin về giới tính
7
Dtngaysinh
Datetimepicker
Thơng tin ngày sinh
8
Dtngaylapthe
Datetimepicker
Thơng tin ngày lập thẻ
9
txttim
Textbox
Nhập thơng tin tìm kiếm
10
Btntim
Button
Thực hiện lệnh tìm kiếm
11
Btnthem
Button
Thực hiện lệnh thêm
12
Btnxoa
Button
Thực hiện xóa
13
Btnsua
Button
Thực hiện sửa
14
Btnluu
Button
Thực hiện lưu
15
Btnhuy
Button
Thực hiện hủy
16
Btnthoat
Button
Thực hiện thốt
17
lstdocgia
Listview
Thơng về độc giả
2.5. Màn hình Form Mượn
* Biến cố 1: Khi màn hình sắp được hiển thị
- Đọc cơ sở dữ liệu từ bảng Sach, DocGia
* Biến cố 2: Khi màn hình hiển thị
- Thuộc tính Controlbox=False
- Form mượn trả sách có tabcontrol, gồm 2 tab: Mượn sách, trả sách
* Biến cố 3: Khi người dùng chọn Tab Mượn sách
- Đỗ cơ sở dữ liệu vào Listview, Tên độc giả được đưa vào Combobox tên độc
giả
- Màn hình Form mượn sách hiện lên các thơng tin về các sách
- Cho người dùng thực hiện lập phiếu
* Biến cố 4: Click chọn Combobox tên độc giả
- Danh sách các độc giả xuất hiện để người dùng chọn
* Biến cố 5: Click chọn sách cho mượn
- Listview cho phép người dùng chọn sách cho mượn
* Biến cố 6: Click chọn Button lập phiếu
- Chương trình sẽ tiến hành kiểm tra xem số sách mượn có đúng theo qui định,
Thẻ độc giả có cịn thời hạn sử dụng, Quyển sách có được mượn hay chưa.
- Nếu khơng qui định thì chương trình sẽ thơng báo và u cầu thay đổi
- Nếu đáp ứng được yêu cầu chương trình sẽ lưu vào cơ sở dữ liệu.
* Biến cố 7: Click chọn Button thốt
- Chương trình xuất hiện thơng báo hỏi có muốn thốt hay khơng
- Chọn Yes, sẽ thốt
- Chọn No khơng thốt
2.6. Màn hình Form trả sách
* Biến cố 1: Khi màn hình sắp được hiển thị
- Đọc cơ sở dữ liệu từ bảng Sach, MuonSach
* Biến cố 2: Khi màn hình hiển thị
- Thuộc tính Controlbox=False
- Form mượn trả sách có tabcontrol, gồm 2 tab: Mượn sách, trả sách
* Biến cố 3: Khi người dùng chọn Tab Mượn sách
- Đỗ cơ sở dữ liệu Sách vào Listview, Số phiếu được đưa vào Combobox Số
phiếu
- Màn hình Form trả sách hiện lên các thơng tin về các Sách và những sách đã
được mượn
- Cho người dùng thực hiện trả sách
* Biến cố 4: Khi người dùng chọn Combobox tên độc giả
- Danh sách độc giả được hiện lên cho người dùng chọn
- Listview sẽ hiện lên cách sách mà độc giả đã mượn
* Biến cố 5: Click vào Button trả sách
- Thực hiện lệnh xóa độc giả trong bảng muonsach
* Biến cố 6: Click chọn Button thoát
- Chương trình xuất hiện thơng báo hỏi có muốn thốt hay khơng
- Chọn Yes, sẽ thốt
- Chọn No khơng thoát
Chương V: Kết luận
Tài liệu tham khảo