IV. THỰC HIỆN DỰ ÁN
2. TẠO CSDL VỚI SQL SERVER
3.3. ENTITY CLASS VÀ DAO
3.3.2. EduSysDAO
EduSysDAO là lớp trừu tượng, tổng quát (Generic) đặc tả những hành động truy xuất CSDL cơ bản nhất mà một lớp DAO cụ thể phải có. Các phương thức thực hiện truy xuất CSDL được mô tả như sau
T
T P
HƯƠNGTHỨC MÔTẢHOẠTĐỘNG
1 insert(E) Thêm mới một bản ghi với dữ liệu là entity E 2 update(E) Cập nhật một bản ghi với dữ liệu là entity E
3 delete(K) Xóa một bản ghi với mã K
4 selectById(K): E Truy vấn một bản ghi với mã là K 5 selectAll(): List<E> Truy vấn tất cả các bản ghi
6 selectBySql (String,
Object…): List<E> Truy vấn các bản ghi tùy vào sql và args
Trên đây chỉ là các hoạt động truy xuất CSDL cơ bản. Trong một lớp DAO cụ thể, các DAO con sẽ viết mã cho các phương thức này với E là lớp Entity và K là kiểu khóa chính cụ thể đồng thời có thể bổ sung thêm các hoạt động truy xuất đặc thù riêng của từng DAO cần thiết.
3.3.3. NhanVien và NhanVienDAO
Diễn giải:
THÀNHPHẦN MÔTẢ
NhanVien Là lớp thực thể mô tả dữ liệu nhân viên
NhanVienDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng NhanVien
E được cụ thể hóa là NhanVien K được cụ thể hóa là String
3.3.4. ChuyenDe và ChuyenDeDAO
Diễn giải:
THÀNHPHẦN MÔ TẢ
ChuyenDe Là lớp thực thể mô tả dữ liệu chuyên đề ChuyenDeDA
O Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng ChuyenDe E được cụ thể hóa là ChuyenDe
K được cụ thể hóa là String
3.3.5. NguoiHoc và NguoiHocDAO
Diễn giải:
THÀNHPHẦN MÔTẢ
NguoiHoc Là lớp thực thể mô tả dữ liệu chuyên đề NguoiHocDA
O Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng NguoiHoc E được cụ thể hóa là NguoiHoc
K được cụ thể hóa là String
3.3.6. KhoaHoc và KhoaHocDAO
Diễn giải:
THÀNHPHẦN MÔTẢ
KhoaHoc Là lớp thực thể mô tả dữ liệu chuyên đề KhoaHocDA
O Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng KhoaHoc E được cụ thể hóa là KhoaHoc
K được cụ thể hóa là int
3.3.7. HocVien và HocVienDAO
Diễn giải:
THÀNHPHẦN MÔTẢ
HocVien Là lớp thực thể mô tả dữ liệu chuyên đề HocVienDA
O Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng HocVien E được cụ thể hóa là HocVien
K được cụ thể hóa là int
3.3.8. ThongKeDAO
Diễn giải:
THÀNHPHẦN MÔTẢ
ThongKeDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất các thủ tục lưu trữ ở lớp JdbcHelper
4. THƯ VIỆN TIỆN ÍCH4.1. DateHelper 4.1. DateHelper
Mô tả:
DateHelper là lớp mô tả tiện ích hỗ trợ lập trình về ngày trong Java. Lớp này gồm 6 phương thức được mô tả trong phần hướng dẫn sử dụng sau đây.
Hướng dẫn sử dụng:
DateHelper. toDate(String date, String...pattern): Date o Chuyển ngày từ kiểu chuỗi sang kiểu Date o Tham số date: là ngày ở kiểu chuỗi
o Tham số pattern: là mảng định dạng ngày o Kết quả: Date
DateHelper. toString(Date date, String...pattern): String o Chuyển ngày từ kiểu Date sang kiểu chuổi o Tham số date: là ngày ở kiểu Date
o Lấy ngày giờ hiện tại o Kết quả: Date
DateHelper. addDays(Date date, int days): Date o Bổ sung ngày bào thời gian
o Tham số date: là ngày ở kiểu Date o Tham số days: là sô ngày bổ sung vào o Kết quả: Date
DateHelper. add(int days): Date
o Bổ sung ngày vào thời gian hiện tại o Tham số days: là số ngày bổ sung vào o Kết quả: Date
4.2. ShareHelper
Mô tả:
ShareHelper là lớp mô tả tiện ích hổ trợ lập trình về Image. Lớp này gồm 2 phương thức được mô tả trong phần hướng dẫn sau đây.
Hướng dẫn sử dụng:
ShareHelper.saveLogo(File file): boolean o Lưu ảnh vào thư mục logos
o Tham số file: là file ảnh cần lưu o Kết quả: boolean
ShareHelper.readLogo(String fileName): ImageIcon o Đọc ảnh từ thư mục logos
o Tham số fileName: là tên file file ảnh cần đọc o Kết quả: ImageIcon
4.3. AutherHelper
Mô tả:
AutherHelper là lớp mô tả tiện ích hỗ trợ lập trình về lưu thông tin của người đăng nhập vào hệ thông. Lớp này gồm 2 phương thức được mô tả trong phần hướng dẫn dưới đây.
Hướng dẫn sử dụng:
AutherHelper.logOut(): void
o Xóa phiên đăng nhập hiện tại o Kết quả: void
4.4. DialogHelper
Mô tả:
DialogHelper là lớp mô tả tiện ích hỗ trợ lập trình thông báo. Lớp này gồm 3 phương thức được mô tả trong phần hướng dẫn dưới đây.
Hướng dẫn sử dụng:
DialogHelper.alert(Component parent, String message): void o Hiển thị thông báo Alert
o Kết quả: void
DialogHelper.aconfirm(Component parent, String message): void o Hiển thị thông báo cần xác nhận
o Kết quả: void
DialogHelper.prompt(Component parent, String message): void o Hiển thị thông báo lấy thông tin
o Kết quả: void
5. LẬP TRÌNH NGHIỆP VỤ 5.1. Cửa sổ chính
TT PHƯƠNGTHỨC MÔTẢ
1 init() Mở cửa sổ chào
Mở cửa sổ đăng nhập
Bắt đầu hiển thị đồng hồ hệ thống 2 openDoiMatKhau() Mở cửa sổ đổi mật khẩu
3 Login() Mở cửa sổ đăng nhập
4 LogOut() Đăng xuất chương trình và mở cửa sổ đăng nhập
5 Exit() Kết thúc chương trình
6 openChuyenDe() Mở cửa sổ chuyên đề 7 openNguoiHoc() Mở cửa sổ người học 8 openHocVien() Mở cửa sổ học viên 9 openKhoaHoc() Mở cửa sổ khóa học 10 openNhanVien() Mở cửa sổ nhân viên
14 openThongKe(4) Mở cửa sổ thống kê tdoanh thu từng chuyên đề 15 openAbout() Mở cửa sổ giới thiệu
16 openTutorial() Mở website hướng dẫn
5.2. CÁC CỬA SỔ HỔ TRỢ TỔ CHỨC
5.2.1. Cửa sổ chào
TT PHƯƠNG THỨC
MÔTẢ
1 init() Hiển thị cửa sổ ở giữa màn hình
Tăng giá trị ProgressBar, đóng cửa sổ khi giá trị bằng max
5.2.2. Cửa sổ đăng nhập
TT PHƯƠNG THỨC
MÔTẢ
1 init() Hiển thị cửa sổ ở giữa màn hình Khởi tạo NhanVienDAO
2 logIn() Đăng nhập vào hệ thống Hiện thị thông báo tương ứng 3 Exit() Kết thúc chương trình
5.2.3. Cửa sổ đổi mật khẩu
TT PHƯƠNG THỨC
MÔTẢ
1 init() Hiển thị cửa sổ ở giữa màn hình Khởi tạo NhanVienDAO
2 changePass() Đổi mật khẩu
Hiển thị thông báo tương ứng 3 Exit() Đóng cửa sổ
1 init() Hiển thị cửa sổ ở giữa màn hình 2 Exit() Đóng cửa sổ
5.3. CÁC CỬA SỔ CHỨC NĂNG QUẢN LÝ
5.3.1. Cửa sổ quản lý nhân viên
TT PHƯƠNG THỨC
MÔTẢ
1 init() Được gọi khi cửa sổ được khởi tạo
Dùng để khởi tạo các lớp cần thiết, loadIcon app, định cửa sổ ở giữa
2 Insert() Được gọi khi người dùng nhấn thêm nhân viên
Dụng để thêm nhân viên vào hệ thông, cập nhật bảng, xóa form 3 Update() Được gọi khi người dùng nhấn cập nhật nhân viên
Dùng đề cập nhật nhân viên, cập nhật bảng, xóa form 4 Delete() Được gọi khi người dùng nhân xóa nhân viên
Dùng đề xóa sinh viên ra khỏi hệ thống
5 getForm() Được gọi khi thực hiện các chức năng thêm, cập nhật nhân viên Dùng để lấy thông tin nhân viên từ cửa sổ nhập
6 setForm() Được gọi khi thực hiện chức năng hiển thị nhân viên khi chọn, điều hướng
Dùng để hiển thị thông tin nhân viên lên form
7 clearForm() Dược gọi sau khi thực hiện các chức năng thêm, sửa, xóa. Và khi nhấn Thêm mới
Dùng để xóa trắng thông tin trên form 8 Edit() Được gọi sau nhấn các nút điều hướng
Dùng để lấy mã nhân viên trên bảng và hiển thị lên form 9 fillTable() Được gọi khi cửa sổ được khởi tạo và khi cập nhật bảng
Dùng để hiển thị danh sách nhân viên lên bảng 10 updateStatus() Được gọi khi thực hiện các chức năng trên
Dùng để lấy nhân viên đầu bảng 12 Prev() Được gọi khi người dùng nhấn <<
Dùng để lấy nhân viên trước đó 13 Next() Được gọi khi người dùng nhấn >>
Dùng để lấy nhân viên tiếp theo 14 Last() Được gọi khi người dùng nhấn >|
Dùng để lấy nhân viên cuối cùng
5.3.2. Cửa sổ quản lý chuyên đề
TT PHƯƠNG THỨC
MÔTẢ
1 init() Được gọi khi cửa sổ khởi tạo
Dùng để khởi tạo lớp DAO, index, định chính giữa, … 2 Insert() Được gọi khi nhấn Thêm chuyên đề
Dùng để thêm chuyên đề vào hệ thống 3 Update() Được gọi khi nhấn sửa chuyên đề
Dùng để cập nhật chuyên đề đang chọn 4 Delete() Được gọi khi nhấn xóa chuyên đề
Dùng để xóa chuyên đề đang chọn 5 getForm() Được gọi khi thêm, sửa chuyên đề Dùng để lấy chuyên đề trên form
6 setForm() Được gọi khi load bảng, hiển thị chuyên đề Dùng để hiển thị chuyên đề lên form 7 clearForm() Được gọi khi xóa, thêm mới form
Dùng để xóa trắng form trên cửa sổ 8 Edit() Được gọi khi điều hướng chuyên đề
Dùng để cập nhật trạng thái các button 11 First() Được gọi khi nhấn First
Dùng để chuyển đến chuyên đề đầu tiên 12 Prev() Được gọi khi nhấn Prev
Dùng để quay lại chuyên đề trước đó 13 Next() Được gọi khi nhấn Next
Dùng để chuyển đến chuyên đề tiếp theo 14 Last() Được gọi khi nhấn Last
Dùng để chuyển đến chuyên đề cuối cùng 15 selectImage() Được gọi khi người dùng nhấn label hình
Dùng đẻ chọn hình, lưu và hiển thị lên cửa sổ
5.3.3. Cửa sổ quản lý người học
TT PHƯƠNG THỨC
MÔTẢ
1 init() Được gọi khi cửa sổ khởi tạo
Dùng để khởi tạo lớp DAO, index, định chính giữa, … 2 Insert() Được gọi khi nhấn Thêm người học
Dùng để thêm người học vào hệ thống 3 Update() Được gọi khi nhấn sửa người học
Dùng để cập nhật người học đang chọn 4 Delete() Được gọi khi nhấn xóa người học
Dùng để xóa người học đang chọn 5 getForm() Được gọi khi thêm, sửa người học Dùng để lấy người học trên form
6 setForm() Được gọi khi load bảng, hiển thị người học Dùng để hiển thị người học lên form 7 clearForm() Được gọi khi xóa, thêm mới form
Dùng để lấy mã, hiển thị người học và cập nhật các button 9 fillTable() Được gọi khi cửa sổ hiển thị
Dùng để đổ dữ liệu vào bảng hoặc theo người dùng tìm kiêm 10 updateStatus() Được gọi sau khi nhấn các button
Dùng để cập nhật trạng thái các button 11 First() Được gọi khi nhấn First
Dùng để chuyển đến người học đầu tiên 12 Prev() Được gọi khi nhấn Prev
Dùng để quay lại người học trước đó 13 Next() Được gọi khi nhấn Next
Dùng để chuyển đến người học tiếp theo 14 Last() Được gọi khi nhấn Last
Dùng để chuyển đến người học cuối cùng
5.3.4. Cửa sổ quản lý khóa học
TT PHƯƠNG THỨC
MÔTẢ
1 init() Được gọi khi cửa sổ khởi tạo
Dùng để khởi tạo lớp DAO, index, định chính giữa, … 2 Insert() Được gọi khi nhấn Thêm khóa học
Dùng để thêm khóa học vào hệ thống 3 Update() Được gọi khi nhấn sửa khóa học
Dùng để cập nhật khóa học đang chọn 4 Delete() Được gọi khi nhấn xóa khóa học
Dùng để xóa khóa học đang chọn 5 getForm() Được gọi khi thêm, sửa khóa học Dùng để lấy khóa học trên form
Dùng để xóa trắng form trên cửa sổ 8 Edit() Được gọi khi điều hướng khóa học
Dùng để lấy mã, hiển thị khóa học và cập nhật các button 9 fillTable() Được gọi khi cửa sổ hiển thị
Dùng để đổ dữ liệu vào bảng 10 updateStatus() Được gọi sau khi nhấn các button
Dùng để cập nhật trạng thái các button 11 First() Được gọi khi nhấn First
Dùng để chuyển đến khóa học đầu tiên 12 Prev() Được gọi khi nhấn Prev
Dùng để quay lại khóa học trước đó 13 Next() Được gọi khi nhấn Next
Dùng để chuyển đến khóa học tiếp theo 14 Last() Được gọi khi nhấn Last
Dùng để chuyển đến khóa học cuối cùng 15 fillComboBox Được gọi khi cửa sổ khởi tạo
Dùng đề hiển thị danh sách khóa học lên combobox 16 openStudent() Được gọi khi nhấn học viên
Dùng để mở cứa sổ quản lý học viên theo mã khóa học
5.3.5. Cửa sổ quản lý học viên
TT PHƯƠNGTHỨC MÔTẢ
1 init() Được gọi khi cửa sổ khởi tạo
Dùng để định cửa sổ chính giữa, set icon app 2 Insert() Được gọi khi nhấn thêm học viên
Dùng để thêm học viên vào khóa học 3 Update() Được gọi khi nhấn cập nhật
Dùng để đổ người học vào combobox
5 fillTable() Được gọi khi mở cửa sổ, sau khi thêm, cập nhật học viên Dùng để đổ danh sách học viên của khóa học vào bảng
5.4. Cửa sổ thống kê
TT PHƯƠNGTHỨC MÔTẢ
1 init() Được gọi khi cửa sổ khởi tạo
Dùng để định cửa sổ chính giữa, set icon app 2 fillComboBoxCourse(
) Được gọi khi cửa sổ khởi tạoDùng để đổ danh sách khóa học vào combobox khóa học 3 fillComboBoxyear() Được gọi khi cửa sổ khởi tạo
Dùng để đổ danh sách năm của khóa học 4 fillLearner() Được gọi khi cửa sổ khởi tạo
Dùng để đổ danh sách thống kê người học vào bảng 5 FillMark() Được gọi khi cửa sổ khởi tạo, sau khi chọn khóa học
Dùng để đổ danh sách thống kê điểm theo khóa học vào bảng
6 fillTotalMark() Được gọi khi cửa sổ khởi tạo
Dùng để đổ danh sách thống kê điểm theo chuyên đề vào bảng
7 fillMoney() Được gọi khi cửa sổ khởi tạo, sau khi chọn năm
Dùng để đổ danh sách thống kê doanh thu theo năm vào bảng
V. KIỂM THỬ PHẦN MỀM VÀ SỬA LỖI
1. Đăng nhập
2 Đăng nhập sai tên Duong123, 123 Sai tên đăng nhập OK 3 Đăng nhập sai mật khẩu DuongNH, 123 Sai mật khẩu OK 4 Đăng nhập đúng DuongNH, 123 Đóng cửa sổ
2. Đổi mật khẩu T
H MÔTẢTÌNHHUỐNG DỮLIỆUMẪU KĐỢIẾT QUẢ TRÔNG
FIX
1 Để trống các trường Yêu cầu nhập OK
2 Nhập sai tài khoản, mật khẩu Duong123, 123 Sai tài khoản OK 3 Nhập sai mật khẩu mới DuongNH, 123 Sai mật khẩu mới OK 4 Nhập đúng thông tin DuongNH, 123 Đóng cửa sổ OK
3. Quản lý nhân viên T
H MÔTẢTÌNHHUỐNG DỮLIỆUMẪU KĐỢIẾT QUẢ TRÔNG
FIX
1 Để trống các trường Yêu cầu nhập OK
2 Nhập trùng mã nhân viên DuongNH Mã nhân viên đã tồn
tại OK
3 Nhập mật khẩu ít hơn 3 ký tự Ab Mật khẩu phải từ 3
ký tự OK
4 Nhập xác nhận mật khẩu không
khớp Ab, ba Xác nhận mật khẩukhông đúng OK 5 Nhập họ tên chưa ký tự sô Ngô Văn 3 Họ tên không được
chứa ký tự số OK 6 Nhập đúng thông tin ThaiNV, 123,
123, Ngô Văn Thái
Thêm thành công OK
7 Xóa với quyên Quản lý DuongNH Xóa thành công OK 8 Xóa với quyền nhân viên ToanNV Bạn không được xóa OK 9 Xóa chính bản thân DuongNH Bạn không được xóa
11 Nhấn điều hướng |< Đưa về nhân viên đầu
tiên OK
12 Nhấn điều hướng << Đưa về nhân viên
trước đó OK
13 Nhấn điều hướng >> Chuyển đến nhân viên tiếp theo OK 14 Nhấn điều hướng >| Chuyển đến nhân
viên cuối cùng OK
4. Quản lý chuyên đề T
H MÔTẢTÌNHHUỐNG DỮLIỆUMẪU KĐỢIẾT QUẢ TRÔNG
FIX
1 Để trống các trường Yêu cầu nhập OK
2 Nhập trùng mã chuyên đề JAVA1 Mã chuyên đề đã tồn
tại OK
3 Nhập tên chuyên đề chứa ký tự số Lập trình JAVA Tên chuyên đề không được chứa ký tự số OK 4 Nhập thời lượng là số âm -20 Thời lượng phải lớn
hơn 0 OK
5 Nhập học phí là số âm -400 Học phí phải lớn hơn
0 OK
6 Chưa chọn hình Bạn chưa chọn hình OK
7 Nhập đúng thông tin JAVA1, Lập trình JAVA, 40, 400, hình
Thêm thành công OK
8 Xóa với quyền nhân viên ToanNV Bạn không được xóa OK 9 Xóa với quyền quản lý DuongNH Xóa thành công OK