III. THIẾT KẾ ỨNG DỤNG
3. GIAO DIỆN
3.3.2. Cửa sổ quản lý khách hàng
EduSysDAO EduSysDAO<E,K> 4- insert(E) + update(E) 4- delete(K) + selectByld(K): E + selectAll(): List<E>
4-selectBySqllString, object,...): List<E>
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
PHƯƠ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 EduSysDAO<E,K> NhanVienDAO - insertSql: String - updateSql: String - deleteSql: String - selectByldSql: String - selectAIISql: String + insert(NhanVien): NhanVien + update(NhanVien) + delete(String): NhanVien + selectByld(String): NhanVien + selectAllị): List<NhanVien>
+ selectBySqlịString, Object...): List<NhanVien>
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
J E được cụ thể hóa là NhanVien
J K được cụ thể hóa là String
J SQL là các câu lệnh thao tác dữ liệu trên bảng NhanVien
NhanVien - maNV: String □se - hoTen: String - matKhau: String - vaiTro: boolean + getters + setters
3.3.4. ChuyenDe và ChuyenDeDAO - insertSql: String - updateSql: string - deleteSql: String - selectByldSql: string - selectAIISql: String + insert(ChuyenDe): ChuyenDe + update(ChuyenDe) + delete(string): ChuyenDe + selectByld(String): ChuyenDe + selectAllị): List<ChuyenDe>
+ selectBySql(String, object...}: List<ChuyenDe>
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
J E được cụ thể hóa là ChuyenDe
J K được cụ thể hóa là String
J SQL là các câu lệnh thao tác dữ liệu trên bảng ChuyenDe
JdbcHelper ChuyenDe - maCD: String -tenCO: string - hocPhi: double - thoiLuong: int - hinhAnh: string - moTa: String + getters + setters
3.3.5. NguoiHoc và NguoiHocDAO EduSysDAO<E,K> NguoiElocDAO - insertSql: String - updateSql: String - deleteSql: String - selectByldSql: String - selectAIISql: String --- + insert(NguoiHoc): NguoiHoc + update(NguoiHoc) Use + delete(String): NguoiHoc L- + selectByld(String): NguoiHoc + selectAIH): Ust<NguoiHoc>
+ selectBySqlịString, Object...): List<NguoiHoc>
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
J E được cụ thể hóa là NguoiHoc
J K được cụ thể hóa là String
J SQL là các câu lệnh thao tác dữ liệu trên bảng NguoiHoc LI se JdbcElelper NguoiHoc - maNH: string - hoTen: string - gioiĩình: boolean - ngaySinh: Date - dienThoai: string - email: string - ghiChu: string - nhanVien: NhanVien - ngayDK: Date + getters + setters
3.3.6. KhoaHoc và KhoaHocDAO EduSysDAO<E,K> A J--- Use- 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
J E được cụ thể hóa là KhoaHoc
J K được cụ thể hóa là int
J SQL là các câu lệnh thao tác dữ liệu trên bảng KhoaHoc
JdbcHelper * insertSql: string - updateSql: string - deleteSql: string - selectByldSql: string - selectAllSql: string + insert(KhoaHoc): KhoaHoc + update(KhoaHoc) + delete(string): KhoaHoc + selectByld(String): KhoaHoc + selectAll(): ListcKhoaHoo
+ selectBySql(String, object...): ListcKhoaHoo
KhoaHoc - maKH: int - chuyenDe: ChuyenDe - hocPhi: double u!ĩ- thoiLuong: int - ngayKG: Date - ghiChu: String - nhanVien: NhanVien - ngaýĩao: Date + getters + setters
3.3.7. HocVien và HocVienDAO
EduSysDAO<E,K>
ElocVienDAO - insertSql: String - updateSql: string - deleteSql: string - selectByldSql: string - selectAllSql: string + insert(HocVien): HocVien + update(HocVien) + delete(string): HocVien + selectByld(String): HocVien + selectAllị): Ust<HocVien>
+ selectBySql(String, Object...): List<HocVien>
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ảngHocVien
J E được cụ thể hóa là HocVien
J K được cụ thể hóa là int
J SQL là các câu lệnh thao tác dữ liệu trên bảng HocVien
ElocVien
- maHV: int
Use - khoaHoc: KhoaHoc
- nguoiHoc: NguoiHoc - diem: float
+ getters + setters
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 ÍCH
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:
J 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
J 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 Tham số pattern: là mảng định dạng ngày
o Kết quả: String
o Lấy ngày giờ hiện tại
o Kết quả: Date
J 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
J 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:
J 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
J ShareHelper.readLogo(String fileName): Imagelcon
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ả: Imagelcon
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:
J AutherHelper.logOut(): void
o Xóa phiên đăng nhập hiện tại
o Kết quả: void
J AutherHelper.authenticated(): boolean
o Kiểm tra có người đăng nhập hay không
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:
J DialogHelper.alert(Component parent, String message): void
o Hiển thị thông báo Alert
o Kết quả: void
J 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
J 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
11 openThongKe(1) Mở cứa sổ thống kê người học từng năm
12 openThongKe(2) Mở cửa sổ thống kê bảng điểm từng khóa
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ổ
5.2.4. Cửa sổ giới thiệu
TT PHƯƠNG
THỨC
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
T T
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 để khóa mở khóa các button trên cửa sổ 11 First() Được gọi khi người dùng nhấ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 đề
T T
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 để lấy mã, hiển thị chuyên đề 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 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
T T
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 để xóa trắng form trên cửa sổ
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
T T
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
6 setForm() Được gọi khi load bảng, hiển thị khóa học Dùng để hiển thị khóa học 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 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 để cập nhật điểm, xóa học viên trong khóa học 4 fillComboBox() Được gọi khi mở cửa sổ, sau khi thêm học viên
Dùng để đổ người học vào combobox