Bao cao Quan ly thu vien
Trang 1Khoa Công nghệ thông tin
- -BÁO CÁO ĐỒ ÁN MÔN PHÂN TÍCH THIẾT KẾ HỆ THỐNG THEO
HƯỚNG ĐỐI TƯỢNG
Trang 21 Lời nói đầu :
- Chúng em xin cảm ơn thầy đã hỗ trợ và hướng dẫn tận tình trong suốt quá trình
làm đồ án Giúp chúng em hiểu rõ hơn về lý thuyết học trên lớp
Trang 32 Đặc tả bài toán:
Trên thế giới nói chung và ở Việt Nam nói riêng, ngành Công nghệ thông tin đã và đang
là một ngành mũi nhọn Ta có thể dễ dàng nhận thấy điều này qua các ngành nghề trong xã hội Ở các cơ quan, cửa hàng, siêu thị, người ta đã thay thế dần các phương thức Quản lý và thanh toán cũ kỹ, lạc hậu, thay vào đó họ trang bị những hệ thống máy tính hiện đại, cài đặt các chương trình Quản lý tiện ích, nhằm thực hiện các công việc một cách nhanh chóng, chính xác tiết kiệm được thời gian và nhân lực cho công việc của mình.
Cùng với tốc độ phát triển và sử dụng rộng rãi đó, các trường Đại học ở Việt Nam đã và đang đẩy cao việc sử dụng hệ thống máy tính được cài đặt các chương trình Quản lý tiện ích để Quản lý trong nhiều bộ phận, trong đó việc Quản lý thư viện của trường là việc cần thiết, nhằm phục vụ được bạn đọc một cách nhanh chóng, chính xác và giúp cho người quản lý theo dõi được tình hình công việc thường xuyên.
Phần mềm Quản lý thư viện
Trang 43 ERD:
Trang 64.1.Danh sách Actor :
1 số quyền quản lý
4.2.Danh sách Use Case :
Trang 74.3.Quản lý phiếu mượn :
Trang 101 1 *
update() delete() checkMaPhieuTra() getTTPhieuTra() load()
update() delele()
1
1 *
NGONNGU
pk_MaNgonNgu : String TenNgonNgu : String insert()
update() delete() load()
THELOAISACH
pk_MaTheLoaiSach : String TenTheLoai : String insert()
update() delete() load()
SACH
pk_MaSach : String TenSach : String fk_MaTheLoai : String TenTacGia : String NhaXB : String NamXB : Integer fk_MaNgonNgu : String TinhTrang : String insert() update() delete() checkMaSach() getTTSach() load()
1 *
1
1 *
1 1 *
1 *
1 1 *
Trang 114.1.1 \\KiemTraDangNhap()
Kiem tra Username, trong Database khong?
4.1.1.1 \\ThongBaoDangNhapThanhCong() [Thong tin hop le]
Username, Password co trong Database
co trong Database
Phần mềm Quản lý thư viện
Trang 121.2.4 \\HienThiDanhSachNgonNguLen() 1.2.2.1 \\LayThongTinTheLoaiSachDuocChon()
TongSoBan, SoTrang, NamXuatBan,
9.1.1 \\ThemSachVaoBangSach() [Du Lieu Nhap Vao Dung]
9.1.1.1 \\ThemSachThanhCong()
TongSoBan, SoTrang, NamXuatBan
la so
9.1.1.1.1 \\TroVeManHinhCapNhatSach()
9 \\NhanNutThem()
Trang 136.2.2 Sửa sách:
: NhanVien : ManHinhChinh : ManHinhCapNhatSach : XuLyThongTinSach :
ThongTinTheLoaiSach : ThongTinTheLoaiSach : ThongTinNgonNgu : XuatHienThongBao : ThongTinSach
[Du Lieu Nhap Vao Khong Dung]
TongSoBan, SoTrang, NamXuatBan, MaSach
[Du Lieu Nhap Vao Dung]
la so
va MaSach co trong DataBase
Trang 14[Du Lieu Nhap Vao Dung] 2.1.1 \\XoaSachTrongBangSach()
2.1.1.1 \\XoaSachThanhCong()
2.1.2 \\XuatHienThongBaoLoi() [Du Lieu Nhap Vao Khong Dung]
2.1.2.1 \\TroVeManHinhCapNhatSach()
MaSach co ton tai trong DataBase
2.1.1.1.1 \\TroVeManHinhCapNhatSach()
Trang 156.3 Phiếu mượn:
6.3.1 Thêm phiếu mượn:
: NhanVien : M anHinhChinh : M anHinhThemPhieuM uon : XuLyThemPhieuMuon : XuLyThemPhieuMuon : BangSach : BangSach : BangTheLoaiSach : BangTheDocGia : BangTheDocGia : BangDocGia : BangDocGia : BangNhanVien : BangNhanVien : BangPhieuMuon : BangPhieuMuon :
BangChiTietPhieuMuon : BangChiTietPhieuMuon ManHinhThongBaoThemThan ManHinhThongBaoThemThan : :
1 \\ChonHienThiManHinhThemPhieuMuon( )
1.1 \\HienThiManHinhThemPhieuMuon()
1.1.1 \\TaiDuLieuBanDau()
1.1.1.1 \\LayDanhSachSach() 1.1.1.2 \\LayDanhSachTheLoaiSach() 1.1.1.3 \\LayDanhSachTheDocGia() 1.1.1.4 \\LayDanhSachDocGia() 1.1.1.6 \\HienThiCacDanhSach()
Hien thi cac danh sach Sach, TheDocGia, DocGia
4 \\NhanNutThemPhieuMuon()
4.1 \\NhanThongTin()
4.1.1 \\ThemPhieuM uon() 4.1.2 \\ThemChiTietPhieuMuon() 4.1.3 \\HienThiManHinhThongBaoThemThanhCong()
5 \\NhanNutDongY() 5.1 \\HienThiLaiM anHinhThemPhieuM uon() 1.1.1.5 \\LayThongTinNhanVien()
Phần mềm Quản lý thư viện
Trang 166.3.2 Sửa phiếu mượn
: NhanVien : ManHinhChinh : ManHinhSuaPhieuMuon : XuLySuaPhieuMuon : XuLySuaPhieuMuon : BangSach : BangSach : BangTheDocGia : BangTheDocGia : BangDocGia : BangDocGia : BangNhanVien : BangNhanVien : BangPhieuMuon : BangPhieuMuon :
ManHinhThongBaoSuaThanhCong : ManHinhThongBaoSuaThanhCong
Hien thi thong tin muon), DocGia, TheDocGia
2 \\ChonSach()
2.1 \\KiemTraSoLuongSachMuon()
2.1.1 \\CapNhatPhieuMuon() 2.1.2 \\HIenThiManHinhThongBaoSuaThanhCong()
3 \\NhanNutDongY() 3.1 \\HienThiLaiManHinhChinh()
Trang 177 ERD:
DOCGIA
MaDocGia MaLoaiDocGia HoTenDG CMND DiaChi DienThoai NgaySinh GioiTinh Email
LOAIDOCGIA
MaLoaiDocGia TenLoaiDocgia
NGONNGU
MaNgonNgu TenNgonNgu
NHANVIEN
MaNhanVien HoTenNV CMND DiaChi DienThoai NgaySinh GioiTinh Email
PHIEUMUON
MaPhieuMuon MaNhanVien NgayMuon NgayTra
PHIEUTRA
MaPhieuTra MaNhanVien NgayMuon NgayTra
SACH
MaSach TenSach MaTheLoaiSach TenTacGia NhaXB NamXB TongSoBan MaNgonNgu TinhTrang SoTrang
THEDOCGIA
MaThe MaDocGia NgayLapThe NgayHetHan
THELOAISACH
MaTheLoaiSach TenTheLoai
THONGKEPHIEUMUON
MaPhieuMuon HoTenNV HoTenDG TenSach NgayThucThi HanhDong
CHITIETPHIEUTRA
MaPhieuTra MaSach MaDocGia
Trang 188 Giao diện:
8.1.Form Đăng nhập:
- TextBox: txtTaiKhoan: cho phép người dùng nhập tên tài khoản của mình vào (ở
đây là nhập mã nhân viên)
- TextBox: txtMatKhau: cho phép người dùng nhập mật khẩu vào Các ký tự nhập
vào textbox này sẽ được đặt ở chế độ password
- Button: btnDangNhap: Khi người dùng kích vào button này, chương trình sẽ
kiểm tra xem thông tin tài khoản và mật mã đã đúng với cơ sở dữ liệu hay chưa?Nếu đúng chương trình sẽ thông báo “Đăng nhập thành công” Ngược lại sẽthông báo nhập sai tài khoản hay mật mã, đồng thời nhắc nhở số lần đăng nhậpcủa người dùng không được vượt quá 3 lần, nếu không tài khoản sẽ bị khóatrong 5s
- Button: btnThoat: khi người sử dụng kích vào button này, chương trình sẽ đưa ra
thông báo với 2 button OK và Cancel để hỏi lại 1 lần nữa là người dùng có thực
sự muốn thoát khỏi chương trình hay không Nếu nhấn OK, chương trình sẽđược tắt Nếu nhấn Cancel, form Đăng nhập sẽ được giữ nguyên
Trang 198.2 Form Chính :
- MenuStrip: quảnLýHệThốngToolStripMenuItem: khi kích vào menu này nó sẽ
xổ xuống các menu con gồm: Đổi mật khẩu, Quản lý nhân viên, Lập thẻ trả sách,Đăng xuất, Thoát Trong đó:
o Đổi mật khẩu: cho phép nhân viên được đổi mật khẩu
o Quản lý nhân viên: quản lý việc thêm, xóa, sửa nhân viên trong thư viện
o Lập thẻ trả sách: thêm, xóa , sửa các thẻ trả sách của độc giả
o Đăng xuất: khi kích vào menu này, chương trình sẽ thoát khỏi formchính và quay trở lại với form Đăng nhập để người dùng khác đăngnhập vào hệ thống
o Thoát: khi kích vào menu này, chương trình sẽ hiển thị 1 message gồm
2 nút Yes/No hỏi người dùng có muốn thoát khỏi chương trình không.Nếu nhấn Yes, chương trình sẽ được tắt Nếu nhấn No, chương trình sẽvẫn được giữ nguyên ở form chính
Phần mềm Quản lý thư viện
Trang 20- MenuStrip: tìmKiếmToolStripMenuItem: khi kích vào menu này nó sẽ xổ xuống
các menu con gồm: Tìm kiếm Độc giả, Tìm kiếm Sách Trong đó:
o Tìm kiếm độc giả: thực hiện việc tìm kiếm độc giả thông qua: họ tên vàloại độc giả
o Tìm kiếm Sách: thực hiện việc tìm sách trong kho thông qua: Tên sách,thể loại sách, ngôn ngữ, tác giả
- MenuStrip: quảnLýSáchToolStripMenuItem: khi kích vào menu này nó sẽ xổ
xuống các menu con gồm: Cập nhật sách, Trả sách, Trả sách Trong đó:
o Cập nhật sách: thực hiện việc thêm, xóa, sửa thông tin sách trong thưviện
o Trả Sách: thực hiện việc cho trả sách
o Trả sách: thực hiện việc cho trả sách
- MenuStrip: thốngKêToolStripMenuItem: khi kích vào menu này nó sẽ xổ xuống
các menu con gồm: Danh sách sách trả, Danh sách sách trả
- MenuStrip: trợGiúpToolStripMenuItem: khi kích vào menu này nó sẽ xổ xuống
các menu con gồm: Hướng dẫn sử dụng, Nhóm thực hiện
Trang 218.3 Form Đổi mật khẩu :
- TextBox: txtTaiKhoan: được đặt ở chế độ Disable Hiển thị mã nhân viên đang
đăng nhập được lấy từ form Đăng nhập sang
- TextBox: txtMatKhauCu: yêu cầu người sử dụng nhập mật khẩu đang dùng của
mình vào
- TextBox: txtMatKhauMoi: yêu cầu người sử dụng nhập mật khẩu mới muốn đổi
vào
- TextBox: txtNhapLaiMKMoi: yêu cầu người sử dụng nhập lại mật khẩu mới
đúng với mật khẩu mới vừa nhập ở trên
- Button: btnDongY: khi người sử dụng kích vào nút này, chương trình sẽ kiểm tra
các dữ liệu về mật khẩu cũ có khớp với cơ sở dữ liệu hay không, sau đó sẽ kiểm tra mật khẩu mới được nhập lại có trùng với mật khẩu mới ở textbox trên hay không Nếu dữ liệu nhập bị sai, chương trình sẽ đưa ra thông báo về lỗi nhập sai mật khẩu cũ hoặc mật khẩu mới được nhập lại không đúng và xóa trắng các textbox ở trên để người dùng nhập lại Nếu mọi dữ liệu được nhập vào là đúng, chương trình sẽ thực hiện việc thay đổi mật khẩu cho người dùng và đưa ra thông báo việc đổi mật khẩu mới đã thành công
- Button: btnHuyBo: nếu người dùng kích vào nút này, chương trình sẽ không
thực hiện việc đổi mật khẩu và thoát ra khỏi form Đổi mật khẩu
Phần mềm Quản lý thư viện
Trang 228.4 Form Quản lý nhân viên :
- TextBox: txtMaNhanVien: được đặt ở chế độ Disable, hiển thị mã nhân viên
được cấp phát tự động khi thêm mới 1 nhân viên vào cơ sở dữ liệu Mã nhânviên có dạng NVxxxx (trong đó xxxx là các số từ 0001 đến 9999)
- TextBox: txtHoTen: cho phép người dùng nhập vào họ tên của nhân viên muốn
thêm vào cơ sở dữ liệu Textbox này chỉ cho nhập vào các dữ liệu là chữ vàkhoảng trống, không cho nhập số và các ký tự đặc biệt
- TextBox: txtMatKhau: cho phép người dùng nhập mật mã đăng nhập của nhân
viên đang được thêm vào
- TextBox: txtCMND: cho phép người dùng nhập vào số chứng minh nhân dân của
nhân viên đang được thêm vào TextBox này chỉ cho nhập số và không cókhoảng trắng
Trang 23- RadioButton: gồm 2 radiobutton rdNam và rdNu Cho phép người dùng kích
chọn giới tính của nhân viên đang được thêm vào là Nam hay Nữ
- Textbox: txtDienThoai: cho phép người dùng nhập vào số điện thoại liên lạc của
nhân viên đang được thêm vào Textbox này chỉ cho nhập số và không cókhoảng trắng
- Textbox: txtEmail: cho phép người dùng nhập vào địa chỉ email của nhân viên.
Bắt buộc phải nhập với định dạng của email gồm: xxxx@xxxx.xxxx.xxxx (trong
đó các ký tự được gạch dưới là định dạng bắt buộc phải có đối với 1 địa chỉemail)
- Textbox: txtDiaChi: cho phép người dùng nhập vào địa chỉ của nhân viên đang
được thêm vào
- DateTimePicker: dtpNgaySinh: cho phép người dùng chọn ngày sinh của nhân
viên Ngày sinh phải lớn hơn hoặc bằng 18 tuổi, nếu nhỏ hơn không chấp nhận
- Button: btnThêm : cho phép người dùng thêm thông tin nhân viên mới vào Nếu
nhân viên đã có thì không được thêm vào Kiểm tra các thông tin được nhập vào
có đầy đủ theo yêu cầu của cơ sở dữ liệu hay không và các dữ liệu nhập vào cóhợp lệ theo quy định của các textbox, datetimepicker ở trên hay không? Nếungười dùng chưa nhập hoặc nhập sai thì đưa ra thông báo cho người dùng biết đểsửa lỗi Nếu mọi thông tin đều được nhập đúng thì thực hiện Insert thông tinnhân viên xuống DataGridView dgvThongTinNhanVien và lưu vào cơ sở dữ liệubảng NHANVIEN và đưa ra thông báo Thêm nhân viên thành công
- Button: btnSửa : cho phép người dùng sửa thông tin nhân viên Khi người dùng
sửa các thông tin của nhân viên, chương trình sẽ tiếp tục kiểm tra xem các thôngtin được sửa đó có hợp lệ với qui định của các textbox, datetimepicker ở trên haykhông? Nếu thông tin nhập vào không hợp lệ hoặc nhập thiếu thì đưa ra thôngbáo cho người dùng biết lỗi ở đâu để sửa lại Nếu mọi thông tin đều hợp lệ thìthực hiện Update các thông tin đó xuống datagridview và cơ sở dữ liệu và đưa rathông báo Sửa nhân viên thành công
- Button: btnXóa : cho phép người dùng xóa thông tin nhân viên Nếu người dùng
kích vào nút Xóa này mà vẫn chưa chọn nhân viên nào để xóa thì hiện thông báo
“Không có nhân viên nào để xóa Đề nghị bạn chọn nhân viên muốn xóa” Khingười dùng chọn 1 hoặc nhiều nhân viên để xóa, chương trình sẽ hỏi lại 1 lầnnữa là “Bạn có thực sự muốn xóa nhân viên này không?”, cùng 2 nút Yes và No.Nếu chọn Yes, chương trình sẽ thực hiện Delete thông tin của nhân viên được
Phần mềm Quản lý thư viện
Trang 24chọn để xóa từ datagridview và trong cơ sở dữ liệu và đưa ra thông báo việc xóanhân viên thành công Nếu chọn No, chương trình sẽ không làm gì.
- Button: btnThoat: khi người dùng kích vào button này, form Quản Lý Nhân Viên
sẽ được thoát ra và chương trình lúc này sẽ chỉ hiển thị MainForm
- DataGridView: dgvThongTinNhanVien: hiển thị thông tin nhân viên tương tự
như trong cơ sở dữ liệu để người sử dụng tiện theo dõi Khi người dùng kíchchọn 1 ô bất kỳ trong datagridview thì mọi thông tin của dòng đó sẽ được loadlại lên các textbox, datetimepicker tương ứng cho người dùng xem và sửa đổi(nếu muốn)
Trang 258.5 Form Lập thẻ :
- TextBox: txtMaTheMuon: được đặt ở chế độ Disable, hiển thị mã thẻ được cấp
phát tự động khi thêm mới 1 thẻ mượn sách vào cơ sở dữ liệu Mã thẻ mượnsách có dạng MTxxxxx (trong đó xxxxx là các số từ 00001 đến 99999)
- DateTimePicker: dtpNgayLapThe: được đặt ở chế độ Disable Ngày lập thẻ
phải là ngày hiện tại mà độc giả đến để lập thẻ ,nếu không phải thì không chấp nhận
- DateTimePicker: dtpNgayHetHan: được đặt ở chế độ Disable, quy định sau
1năm kể từ ngày lập thẻ thì thẻ độc giả hết hạn khi đó độc giả sẽ không đượcmượn sách nữa mà phải làm thẻ mới Datetimepicker này sẽ từ động load ngàyhết hạn lên form mà không cho người dùng nhập vào để tránh sai sót
- TextBox: txtMaDocGia: được đặt ở chế độ Disable, hiển thị mã độc giả được
cấp phát tự động khi thêm mới 1 độc giả vào cơ sở dữ liệu Mã Độc giả có dạngDGxxxxx (trong đó xxxxx là các số từ 00001 đến 99999)
Phần mềm Quản lý thư viện
Trang 26- TextBox: txtHoTen: cho phép người dùng nhập vào họ tên của độc giả muốn
thêm vào cơ sở dữ liệu Textbox này chỉ cho nhập vào các dữ liệu là chữ vàkhoảng trống, không cho nhập số và các ký tự đặc biệt
- TextBox: txtCMND: cho phép người dùng nhập vào số chứng minh nhân dân của
độc giả đang được thêm vào TextBox này chỉ cho nhập số và không có khoảngtrắng
- RadioButton: gồm 2 radiobutton rdNam và rdNu Cho phép người dùng kích
chọn giới tính của Độc giả đang được thêm vào
- ComBoBox: cboLoaiDocGia: chứa tên các loại độc giả được lưu trong cơ sở dữ
liệu, cho phép người dùng chọn loại độc giả phù hợp với độc giả đang đăng kýlập thẻ Combobox này chỉ cho người dùng kích chọn chứ không cho nhập tayvào Khi lưu xuống cơ sở dữ liệu bảng DOCGIA, tên loại độc giả sẽ được lưuxuống thành mã loại độc giả tương ứng
- Textbox: txtDienThoai: cho phép người dùng nhập vào số điện thoại liên lạc của
độc giả đang được thêm vào Textbox này chỉ cho nhập số và không có khoảngtrắng
- Textbox: txtEmail: cho phép người dùng nhập vào địa chỉ email của độc giả Bắt
buộc phải nhập với định dạng của email gồm: xxxx@xxxx.xxxx.xxxx (trong đó
các ký tự được gạch dưới là định dạng bắt buộc phải có đối với 1 địa chỉ email,
ví dụ: minh@gmail.com)
- Textbox: txtDiaChi: cho phép người dùng nhập vào địa chỉ của độc giả đang
được thêm vào
- DateTimePicker: dtpNgaySinh: cho phép người dùng chọn ngày sinh của độc
giả Ngày sinh phải lớn hơn hoặc bằng 18 tuổi, nếu nhỏ hơn không chấp nhận
- Button: btnThêm : cho phép người dùng thêm thông tin thẻ mượn và thông tin
độc giả mới vào Nếu thẻ mượn hoặc độc giả đã có thì không được thêm vào.Kiểm tra các thông tin được nhập vào có đầy đủ theo yêu cầu của cơ sở dữ liệuhay không và các dữ liệu nhập vào có hợp lệ theo quy định của các textbox,datetimepicker ở trên hay không? Nếu người dùng chưa nhập hoặc nhập sai thìđưa ra thông báo cho người dùng biết để sửa lỗi Nếu mọi thông tin đều đượcnhập đúng thì thực hiện Insert thông tin Thẻ mượn và thông tin Độc giả xuốngDataGridView dgvTheDG và lưu thông tin Thẻ mượn vào cơ sở dữ liệu trong