THONG TIN PHIEUTRA DUOC LUU

Một phần của tài liệu BAOCAO QUAN LY THU VIEN.doc (Trang 26 - 51)

i. Người dùng nhấn nút [Thoát] trên form [Tìm kiếm sách]:

THONG TIN PHIEUTRA DUOC LUU

THONG TIN PHIEU TRA CAN SUA

THONG TIN PHIEU TRA CAN XOA

THONG TIN PHIEU TRA DUOC LUU

THONG TIN HIEN THI DE SUA

THONG TIN HIEN THI DE XOA

VIII. Đặc tả giao diện: 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ập củ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óa trong 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.

- 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 form chính và quay trở lại với form Đăng nhập để người dùng khác đăng nhậ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.

- 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ả.

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.

- 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ân viên có dạng NVxxxx (trong đó xxxx là các số từ 0001 đến 9999). (adsbygoogle = window.adsbygoogle || []).push({});

- 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.

- 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ế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 được nhập đúng thì thực hiện Insert thông tin nhân viên xuống DataGridView dgvThongTinNhanVien và

- 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ông tin được sửa đó có hợp lệ với qui định của các textbox, datetimepicker ở trên hay khô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ông bá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 ra thô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”. Khi ngườ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ần nữ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 chọn để xóa từ datagridview và trong cơ sở dữ liệu và đưa ra thông báo việc xóa nhâ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ích chọn 1 ô bất kỳ trong datagridview thì mọi thông tin của dòng đó sẽ được load lại lên các textbox, datetimepicker tương ứng cho người dùng xem và sửa đổi (nếu muốn).

- 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ượn sách có dạng MTxxxxx (trong đó xxxxx là các số từ 00001 đến 99999).

- DateTimePicker: dtpNgayLapThe: cho phép người dùng chọn ngày lập thẻ của độc giả. 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 được mượn sách nữa mà phải làm thẻ mới. Datetimepicker này sẽ từ động load ngày hế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ạng DGxxxxx (trong đó xxxxx là các số từ 00001 đến 99999).

- 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ảng trắ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 tay vào. Khi lưu xuống cơ sở dữ liệu bảng DOCGIA, tên loại độc giả sẽ được lưu xuố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ảng trắ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ệ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ế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 được nhập đúng thì thực hiện Insert thông tin Thẻ mượn và thông tin Độc giả xuống DataGridView dgvTheDG và lưu thông tin Thẻ mượn vào cơ sở dữ liệu trong bảng LAPTHE, lưu thông tin độc giả vào cơ sở dữ liệu trong bảng DOCGIA và đưa ra thông báo Thêm Thẻ mượn thành công.

- Button: btnSửa : cho phép người dùng sửa thông tin thẻ mượn và thông tin của độc giả. Khi người dùng sửa các thông tin của thẻ mượn hoặc của độc giả, chương trình sẽ tiếp tục kiểm tra xem các thông tin được sửa đó có hợp lệ với qui định của các textbox, datetimepicker ở trên hay khô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ông bá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ác bảng tương ứng trong cơ sở dữ liệu và đưa ra thông báo Sửa thẻ mượn thành công.

- Button: btnXóa : cho phép người dùng xóa thông tin thẻ mượn. Nếu người dùng kích vào nút Xóa này mà vẫn chưa chọn thẻ mượn nào để xóa thì hiện thông báo “Không có Thẻ mượn nào để xóa. Đề nghị bạn chọn Thẻ mượn muốn xóa”. Nếu người dùng kích chọn 1 mã thẻ mà đang mượn sách thì chương trình sẽ hiển thị thông báo “Thẻ này đang được mượn sách nên không thể xóa”. Khi người dùng chọn 1 hoặc nhiều thẻ mượn để xóa, chương trình sẽ hiện 1 thông báo hỏi lại 1 lần nữa là “Bạn có thực sự muốn xóa Thẻ mượ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 thẻ mượn được chọn từ datagridview và trong cơ sở dữ liệu của 2 bảng LAPTHE và DOCGIA và đưa ra thông báo việc xóa thẻ mượ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 Lập Thẻ Mượn Sách sẽ được thoát ra và chương trình lúc này sẽ chỉ hiển thị MainForm.

- DataGridView: dgvTheDG: hiển thị thông tin thẻ mượn được tổng hợp từ cơ sở dữ liệu của 2 bảng LAPTHE, DOCGIA để người sử dụng tiện theo dõi. Khi người dùng kích chọn 1 ô bất kỳ trong datagridview thì mọi thông tin của dòng đó sẽ được load lại lên các textbox, datetimepicker, combobox tương ứng cho người dùng xem và sửa đổi (nếu muốn). (adsbygoogle = window.adsbygoogle || []).push({});

6. Form Tìm kiếm sách:

- Textbox: txtTenSach: cho phép người dùng nhập vào tên sách mà độc giả đang cần tìm vào. Textbox này chỉ cho nhập chữ và khoảng trắng.

- Textbox: txtTheLoaiSach: cho phép người dùng nhập vào thể loại sách mà độc giả cần tìm .Textbox này chỉ cho nhập chữ và khoảng trắng.

- Textbox: txtNgonNgu: cho phép người dùng nhập vào ngôn ngữ của sách mà độc giả cần tìm . Textbox này chỉ cho nhập chữ và khoảng trắng.

- Textbox: txtTacGia: cho phép người dùng nhập vào tên tác giả của sách hoặc tên tác giả mà độc giả cần tìm.

- Button: btnTim : cho phép người dùng tìm thông tin của sách theo tên sách ,thể loại sách hay ngôn ngữ và tác giả. Khi người dùng kích vào nút Tìm chương trình sẽ kiểm tra xem các textbox nào được nhập dữ liệu vào, textbox nào không để quyết định việc tìm kiếm theo yêu cầu nào của người dùng. Tiếp theo chương trình sẽ đi vào cơ sở dữ liệu bảng SACH để tìm xem có dữ liệu nào trùng với dữ liệu người dùng nhập vào hay không. Nếu có thì sẽ hiển thị thông tin đầy đủ của sách theo yêu cầu mà người dùng muốn tìm lên DataGridView dgvDanhSach với các cột tương ứng. Nếu không thì hiển thị thông báo “Không có sách theo như yêu cầu tìm kiếm” và không load gì vào trong DataGridView. - Button: btnTìmTatCa : cho phép người dùng tìm thông tin của tất cả các sách hiện có

trong cơ sở dữ liệu bảng SACH nếu nguời dùng muốn xem hết tất cả các sách. Button này sẽ thực hiện load tất cả thông tin của các sách lên DataGridView mà không dựa vào bất kỳ 1 yêu cầu nào được nhập vào của người dùng.

- DataGridview: dgvDanhSach: load thông tin Sách từ cơ sở dữ liệu lên dựa vào các điều kiện tìm kiếm mà người dùng nhập vào.

7. Form Tìm kiếm độc giả:

- Textbox: txtHoTenDG: cho phép người dùng nhập vào tên độc giả mà nhân viên đang cần tìm vào. Textbox này chỉ cho nhập chữ và khoảng trắng.

- ComBoBox:cboLoaiDG: cho phép người dùng kích chọn loại độc giả muốn tìm kiếm.

Một phần của tài liệu BAOCAO QUAN LY THU VIEN.doc (Trang 26 - 51)