Lập kế hoạch dự án
Lập kế hoạch kế hoạch dự án theo mẫu sau
TT H ẠNG MỤC B ẮT ĐẦU K ẾT THÚC K ẾT QUẢ
1 Phân tích yêu cầu khách hàng 1.1 Vẽ sơ đồ use cases
2 … Thiết kế ứng dụng 2.1 Thiết kế mô hình công nghệ
3 … Thực hiện dự án 3.1 Tạo giao diện
4 … Kiểm thử 4.1 Xây dựng kịch bảng kiểm thử
5 … Đóng gói & triển khai 5.1 Đóng gói sản phẩm
2 PHÂN TÍCH YÊU CẦU KHÁCH HÀNG
Sơ đồ Use Case
Vẽ sơ đồ use case để phác họa phạm vị của ứng dụng cũng như vai trò sử dụng Nên chia nhiều mức để tránh rối sơ đồ
Đặc tả yêu cầu hệ thống (SRS)
Quản lý nhân viên
Chức năng quản lý nhân viên được sử dụng để quản lý thông tin nhân viên.
Chức năng này yêu cầu liệt kê danh sách nhân viên, cho phép xem thông tin chi tiết từng nhân viên, thêm nhân viên mới, cập nhật thông tin hiện có hoặc xóa nhân viên đã tồn tại.
Mỗi nhân viên được xác định qua các thông tin quan trọng như mã nhân viên, họ và tên, mật khẩu đăng nhập và vai trò, bao gồm trưởng phòng và nhân viên bình thường.
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này,ngoại trừ xóa thì chỉ có trưởng phòng mới sử dụng được.
Quản lý chuyên đề
Chức năng quản lý chuyên đề cho phép người dùng quản lý thông tin liên quan đến các chuyên đề Chức năng này bao gồm việc liệt kê danh sách các chuyên đề hiện có, xem chi tiết thông tin của từng chuyên đề, thêm mới chuyên đề, cũng như cập nhật hoặc xóa các chuyên đề đã tồn tại.
Thông tin của mỗi nhân viên gồm: mã chuyên đề, tên chuyên đề, học phí, thời lượng, hình, mô tả.
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này,ngoại trừ xóa thì chỉ có trưởng phòng mới sử dụng được.
Quản lý người học
Chức năng quản lý người học được sử dụng để quản lý thông tin người học.
Chức năng này yêu cầu liệt kê danh sách người học, cho phép xem thông tin chi tiết của từng người, thêm mới người học, cập nhật thông tin và xóa người học đã tồn tại.
Thông tin của mỗi nhân viên gồm: mã người học, họ và tên, ngày sinh, giới tính, điện thoại, email, ghi chú, mã nhân viên, ngày đăng kí.
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này,ngoại trừ xóa thì chỉ có trưởng phòng mới sử dụng được.
Quản lý khóa học
Chức năng quản lý khóa học được sử dụng để quản lý thông tin khóa học.
Chức năng này yêu cầu liệt kê danh sách các khóa học, cho phép người dùng xem thông tin chi tiết của từng khóa học, thêm khóa học mới, cập nhật thông tin và xóa các khóa học đã tồn tại.
Thông tin của mỗi nhân viên gồm: Mã khóa học, mã chuyên đề, học phí, thời lượng, ngày khai giảng, ghi chú, mã nhân viên, ngày tạo.
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này,ngoại trừ xóa thì chỉ có trưởng phòng mới sử dụng được.
Quản lý học viên
Chức năng quản lý học viên được sử dụng để quản lý thông tin học viên.
Chức năng này yêu cầu liệt kê danh sách học viên, cho phép xem thông tin chi tiết của từng học viên, thêm học viên mới, cập nhật thông tin hiện tại hoặc xóa học viên đã tồn tại.
Mỗi nhân viên được xác định bởi các thông tin quan trọng như mã nhân viên, họ và tên, mật khẩu đăng nhập, và vai trò của họ, bao gồm trưởng phòng và nhân viên bình thường.
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này,ngoại trừ xóa thì chỉ có trưởng phòng mới sử dụng được.
Quản lý tổng hợp – thống kê
Chức năng quản lý tổng hợp - thống kê giúp quản lý thông tin nhân viên hiệu quả Chức năng này bao gồm việc liệt kê danh sách nhân viên, xem chi tiết thông tin của từng nhân viên, thêm mới nhân viên, cập nhật thông tin hiện có và xóa nhân viên không còn tồn tại.
Thông tin của mỗi nhân viên gồm: Bảng điểm, người học, điểm chuyên đề, doanh thu. Đ ỐI TƯỢNG SỬ DỤNG :
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này.
Đăng nhập
Chức năng quản lý nhân viên được sử dụng để quản lý thông tin nhân viên.
Chức năng này yêu cầu liệt kê danh sách nhân viên, cho phép xem thông tin chi tiết của từng nhân viên, thêm nhân viên mới, cập nhật thông tin hiện có và xóa nhân viên không còn làm việc.
Mỗi nhân viên được quản lý thông qua các thông tin cơ bản như mã nhân viên, họ và tên, mật khẩu đăng nhập, cùng với vai trò cụ thể, bao gồm trưởng phòng và nhân viên bình thường.
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này,ngoại trừ xóa thì chỉ có trưởng phòng mới sử dụng được.
Đổi mật khẩu
Chức năng quản lý nhân viên được sử dụng để quản lý thông tin nhân viên.
Chức năng này yêu cầu liệt kê danh sách nhân viên, cho phép xem thông tin chi tiết của từng nhân viên, thêm nhân viên mới, cập nhật thông tin hiện có hoặc xóa nhân viên không còn tồn tại.
Thông tin của mỗi nhân viên bao gồm mã nhân viên, họ và tên, mật khẩu đăng nhập, và vai trò của nhân viên, trong đó có trưởng phòng và nhân viên bình thường.
Sau khi đăng nhập thì nhân viên nào cũng có thể sử dụng chức năng này,ngoại trừ xóa thì chỉ có trưởng phòng mới sử dụng được.
Sơ đồ triển khai và yêu cầu hệ thống
Sơ đồ triển khai
Đưa ra mô hình triển khai của ứng dụng trong thực tế
Yêu cầu hệ thống
Liệt kê các phần cứng, phần mềm cần thiết để hệ thống thực hiện được
3 THIẾT KẾ ỨNG DỤNG o Mô hình công nghệ o Giao diện o Thực thể
Mô hình công nghệ ứng dụng
Phác thảo mô hình công nghệ ứng dụng của hệ thống phần mềm Giải thích rõ các thành phần trong mô hình
Thực thể
Sơ đồ quan hệ thực thể (ERD)
Vẽ sơ đồ thể hiện mối quan hệ giữa các thực thể Nên chia thành 2 mức (tổng quát và chi tiết) để dễ đọc, dễ hiểu.
Chi tiết thực thể
Thiết kế chi tiết thực thể là quá trình xác định và thiết kế các thuộc tính cần thiết cho mỗi thực thể, dựa trên các dữ liệu liên quan được cung cấp trong tài liệu yêu cầu phần mềm (SRS).
MaNV String Mã nhân viên
HoTen String Họ và tên nhân viên VaiTro Boolean Vai trò gồm trưởng phòng và nhân viên bình thường
Giao diện
Sơ đồ tổ chức giao diện
Phác thảo sơ đồ liên kết giữa các giao diện chức năng trong ứng dụng
Giao diện cửa sổ chính
Phác thảo giao diện cho cửa sổ chính và mô tả các hoạt động trên giao diện
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize Đưa cửa sổ ra giữa màn hình
2 [Đăng xuất] Click Đăng xuất và hiển thị DangNhapJDialog
3 [Đổi mật khẩu] Click Hiển thị DoiMatKhauJDialog
4 [Chuyên đề] Click Hiển thị ChuyenDeJDialog
5 [Bảng điểm] Click Hiển thị ThongKeJDialog.Tabs[0]
Giao diện chức năng
Phác thảo giao diện cho tất cả các cửa sổ chức năng và các cửa sổ hỗ trợ tổ chức
3.3.3.1 Cửa sổ quản lý nhân viên
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize Hiển thị tất cả nhân viên lên bảng
2 [Thêm] Click Validation, Thêm vào CSDL một nhân viên mới với dữ liệu nhập từ form
3 [Sửa] Click Validation, Cập nhật thông tin nhân viên đang xem trên form vào CSDL
4 [Xóa] Click Xóa nhân viên có mã đang xem trên form
5 [Mới] Click Xóa trắng form
6 Bảng Click Hiển thị thông tin của nhân viên trên hàng được chọn của bảng lên form để xem
7 [||] Click Hiển thị thông tin của nhân viên của hàng cuối cùng của bảng lên form để xem
3.3.3.2 Cửa sổ quản lý chuyên đề
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize Hiển thị tất cả chuyên đề lên bảng
2 [Thêm] Click Validation, Thêm vào CSDL một chuyên đề mới với dữ liệu nhập từ form
3 [Sửa] Click Validation, Cập nhật thông tin chuyên đề đang xem trên form vào CSDL
4 [Xóa] Click Xóa chuyên đề có mã đang xem trên form
5 [Mới] Click Xóa trắng form
6 [||] Click Hiển thị thông tin của chuyên đề của hàng cuối cùng của bảng lên form để xem
3.3.3.3 Cửa sổ quản lý người học
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize Hiển thị tất cả thông tin người học lên bảng
2 [Thêm] Click Validation, Thêm vào CSDL một người học mới với dữ liệu nhập từ form form vào CSDL
4 [Xóa] Click Xóa người học có mã đang xem trên form
5 [Mới] Click Xóa trắng form
6 [Tìm] Click Tìm thông tin người học
7 [||] Click Hiển thị thông tin của người học của hàng cuối cùng của bảng lên form để xem
3.3.3.4 Cửa sổ quản lý khóa học
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize Hiển thị tất cả khóa học lên bảng
2 [Thêm] Click Validation, Thêm vào CSDL một khóa học mới với dữ liệu nhập từ form
3 [Sửa] Click Validation, Cập nhật thông tin khóa học đang xem trên form vào CSDL
4 [Xóa] Click Xóa khóa học có mã đang xem trên form
5 [Mới] Click Xóa trắng form
6 [||] Click Hiển thị thông tin của khóa học của hàng cuối cùng của bảng lên form để xem
3.3.3.5 Cửa sổ quản lý học viên
3 Cập nhập học điểm Click Chỉnh sửa điểm của học viên.
4 Thêm vào khóa học Click Thêm người học vào khóa học đã đăng ký
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize Hiển thị tất cả thống kê lên bảng
3.3.4 C ÁC GIAO DIỆN HỖ TRỢ KHÁC
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize G IAO DIỆN LOAD
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Đ ĂNG NHẬP C LICK N HÂN VIÊN NHẬP THÔNG TIN VÀ BẤM ĐĂNG NHẬP THÌ
2 K ẾT THÚC C LICK K ẾT THÚC QUÁ TRÌNH ĐĂNG NHẬP VÀ THOÁT RA NGOÀI
3.3.4.3 Cửa sổ đổi mật khẩu
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Đ ỒNG Ý C LICK Đ ỒNG Ý THAY ĐỔI MẬT KHẨU SAU KHI NHẬP ĐẦY ĐỦ THÔNG TIN
2 H ỦY BỎ C LICK H ỦY BỎ HOẠT ĐỘNG ĐỔI MẬT KHẨU VÀ THOÁT
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize G IAO DIỆN GIỚI THIỆU
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize G IAO DIỆN GIỚI THIỆU
4 THỰC HIỆN DỰ ÁN 4.1 T ẠO GIAO DIỆN VỚI S WING
Mỗi cửa sổ chức năng cần được làm rõ với các mục sau: hình giao diện của cửa sổ chức năng và bảng mô tả các điều khiển cùng với tên của chúng.
4.1.1 C ỬA SỔ CHÍNH (E DU S YS JF RAME )
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
1 JF RAME NAME E DU S YS JF RAME
TITLE HỆ THỐNG QUẢN LÝ
I CON I MAGE FPT - LOGO PNG
2 JM ENU B AR NAME MENU B AR
2.1 JM ENU NAME MNU H E T HONG
2.1.1 JM ENU I TEM NAME MNI D ANG N HAP
ACCELERATOR CTRL+F1 2.2.2 JM ENU I TEM NAME MNIK HOA H OC
TEXT K HÓA H ỌC ICON HOC PNG
ACCELERATOR CTRL+F2 2.2.3 JM ENU I TEM NAME MNIN GUOI H OC
ACCELERATOR CTRL+F3 2.2.4 JM ENU I TEM NAME MNIH OC V IEN
TEXT H ỌC V IÊN ICON HV IEN PNG
ACCELERATOR CTRL+F4 2.2.5 JM ENU I TEM NAME MNIN HAN V IEN
2.3 JM ENU NAME MNUT HONG K E
2.3.1 JM ENU I TEM NAME MNIB ANG D IEM
ACCELERATOR S HIFT +F1 2.3.2 JM ENU I TEM NAME MNIL UONG N GUOI H OC
ACCELERATOR S HIFT +F2 2.3.3 JM ENU I TEM NAME MNID IEM C HUYEN D E
ACCELERATOR S HIFT +F3 2.3.4 JM ENU I TEM NAME MNID OANH T HU
ICON D THU PNG ACCELERATOR S HIFT +F4
2.4 JM ENU NAME MNUT RO G IUP
2.4.1 JM ENU I TEM NAME MNIHDSD
TEXT H ƯỚNG DẪN SỬ DỤNG
ACCELERATOR F12.4.2 JM ENU I TEM NAME MNIG IOI T HIEU S AN P HAM
Các cửa sổ quản lý
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
3 JT EXTFILED N AME TXT X AC N HAN MK
4 JT EXTFILED N AME TX T H O T EN
5 JR ADIO B UTTON N AME RDO TP
6 JR ADIO B UTTON N AME RDO NV
7 JB UTTON NAME BTN T HEM
8 JB UTTON NAME BTNS UA
9 JB UTTON NAME BTNX OA
10 JB UTTON NAME BTNM OI
11 JB UTTON NAME BTNF IST
12 JB UTTON NAME BTNB ACK
13 JB UTTON NAME BTNN EXT
14 JB UTTON NAME BTNL AST
15 JT ABLE N AME TBL N HAN V IEN
4.1.2.2 Cửa sổ quản lý chuyên đề (ChuyenDeJDialog)
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
1 J LABLE NAME LBL H INH Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
4.1.2.4 Cửa sổ quản lý khóa học (KhoaHocJDialog)
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
4.1.2.5 Cửa sổ quản lý học viên (HocVienJDialog)
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
Cửa sổ tổng hợp thống kê (ThongKeJDialog)
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
Các giao diện hỗ trợ khác
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
4.1.4.2 Cửa sổ giới thiệu (GioiThieuJDialog)
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
4.1.4.3 Cửa sổ đăng nhập (DangNhapJDialog)
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
4.1.4.4 Cửa sổ đổi mật khẩu (DoiMatKhauJDialog)
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
Tạo CSDL với SQL Server
Sơ đồ quan hệ
Hình: Sơ đồ quan hệ
Ràng buộc: Mô tả ràng buộc của các quan hệ
Chi tiết các bảng
Mỗi bảng cần viết theo hướng dẫn sau đây:
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
MaNV NVARCHAR(20) PK, NOT NULL Mã nhân viên
MatKhau NVARCHAR(50) NOT NULL Mật khẩu
HoTen NVARCHAR(50) NOT NULL Họ và tên
VaiTro BIT DEFAULT 0 1 là trưởng phòng, 0 là nhân viên
CREATE TABLE NhanVien ( MaNV NVARCHAR(50) NOT NULL, MatKhau NVARCHAR(50) NOT NULL, HoTen NVARCHAR(50) NOT NULL, VaiTro BIT NOT NULL,
INSERT INTO NhanVien (MaNV, MatKhau, HoTen, VaiTro) VALUES (?, ?, ?, ?) UPDATE NhanVien SET MatKhau = ?, HoTen = ?, VaiTro = ? WHERE MaNV = ? DELETE FROM NhanVien WHERE MaNV = ?
SELECT * FROM NhanVien WHERE MaNV = ?
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
MaCD Nchar(5) PK, NOT NULL Mã chuyên đề
TenCD Nvarchar(50) NOT NULL Tên chuyên đề
HocPhi Float NOT NULL Học phí
ThoiLuong Int NOT NULL Thời lượng
Hinh Nvarchar(50) NOT NULL Hình ảnh
MoTa Nvarchar(255) NOT NULL Mô tả
The SQL command creates a table named "ChuyenDe" with several columns: "MaCD" (a 5-character non-null identifier), "TenCD" (a 50-character non-null name), "HocPhi" (a non-null floating-point fee), "ThoiLuong" (a non-null integer duration), "Hinh" (a 50-character non-null image reference), and "MoTa" (a 255-character non-null description) The "MaCD" column is designated as the primary key, ensuring each entry is unique.
C ) ÂU LỆNH SQL CƠ BẢN
INSERT INTO ChuyenDe (MaCD,TenCD, TenCD, ThoiLuong, Hinh, Mota) VALUES (?, ?, ?, ?,?,?)
UPDATE ChuyenDe SET MaCD = ?, TenCD = ?,ThoiLuong = ? , Hinh = ? , Mota = ? WHERE MaCD = ?
DELETE FROM ChuyenDe WHERE MaCD = ? SELECT * FROM ChuyenDe WHERE MaCD = ?
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
M A NH Nchar(7) PK, NOT NULL M Ã NGƯỜI HỌC
H O T EN Nvarchar(50) NOT NULL H Ọ VÀ TÊN
G IOI T INH Bit DEFAULT 1 G IỚI TÍNH
N GAY S INH Date NOT NULL N GÀY SINH
I Nvarchar(24) NOT NULL Đ IỆN THOẠI
E MAIL Nvarchar(50) NOT NULL E MAIL
G HI C HU Nvarchar(255) NULL G HI CHÚ
M A NV Nvarchar(20) PK, NOT NULL M Ã NHÂN VIÊN NHẬP
The article outlines the structure of a database table for student records, which includes essential fields such as MaNH (student ID), HoTen (full name), NgaySinh (date of birth), GioiTinh (gender), DienThoai (phone number), Email, GhiChu (notes), MaNV (employee ID), and NgayDK (registration date) The MaNH field serves as the primary key, ensuring each record is unique The table is designed to store critical information about students, supporting efficient data management and retrieval.
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
C ÂU LỆNH SQL CƠ BẢN
INSERT INTO Nguoihoc (MaNH,HoTen, NgaySinh, GioiTinh, DienThoai, Email, GhiChu, MaNV, NgayDK) VALUES (?, ?, ?, ?,?,?)
UPDATE Nguoihoc SET MaNH = ?, HoTen = ?, NgaySinh = ? , GioiTinh = ? , DienThoai
= ? WHERE MaNH = ?, DELETE FROM ChuyenDe WHERE MaCD = ? SELECT * FROM ChuyenDe WHERE MaCD = ?
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
MaKH Int PK, tự tăng Mã khóa học
MaCD Nchar(5) FK, not null Mã chuyên đề
HocPhi Float Not null Học phí
ThoiLuong Int Not null Thời lượng(giờ)
NgayKG Date Not null Ngày khai giảng
GhiChu Nvarchar(255) Null Ghi chú về khóa học
MaNV Nvarchar(20) FK, not null Mã nhân viên nhập
[MaKH] [int] IDENTITY(1,1) NOT NULL, [MaCD] [nchar](5) NOT NULL,
[HocPhi] [float] NOT NULL,[ThoiLuong] [int] NOT NULL,[NgayKG] [date] NOT NULL,[GhiChu] [nvarchar](50) NULL,
( [MaKH] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
C ÂU LỆNH SQL CƠ BẢN
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
MaHV Int PK, tự tăng Mã học viên
MaKH Int FK, not null Mã khóa học
MaNH Nchar(7) FK, not null Mã người học
Diem Float Default -1 Điểm cuối môn
[MaHV] [int] IDENTITY(1,1) NOT NULL, [MaKH] [int] NOT NULL,
[MaNH] [nchar](7) NOT NULL, [Diem] [float] NOT NULL, CONSTRAINT [PK_HocVien] PRIMARY KEY CLUSTERED ( [MaHV] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
C ÂU LỆNH SQL CƠ BẢN
Thủ tục lưu
Mỗi thủ tục lưu cần làm rõ các vấn đề sau đây: o Mô tả, mục đích sử dụng o Tham số vào o Kết quả ra
M Ã NGUỒN CREATE PROC sp_BangDiem(@MaKH INT)
AS BEGINSELECT nh.MaNH,nh.HoTen,hv.DiemFROM HocVien hvJOIN NguoiHoc nh ON nh.MaNH=hv.MaNHWHERE hv.MaKH = @MaKH
M Ô TẢ END Proc này được sử dụng để truy vấn bảng điểm của khóa học
T HAM SỐ @MaKH là mã khóa học cần truy vấn bảng điểm
K ẾT QUẢ [MaNH, TenNH, Diem]
Lập trình CSDL
Mô hình tổ chức lập trình CSDL
Hình và mô tả (DAO+JdbcHelper+Entity+CSDL)
JdbcHelper (XJdbc)
Hướng dẫn sử dụng các phương thức tiện ích của XJdbc
XJdbc là lớp tiện ích hỗ trợ lập trình JDBC Lớp này gồm 3 phương thức được mô tả trong phần hướng dẫn sử dụng sau đây.
The XJdbc.query method allows for data retrieval from a database using a SQL SELECT statement that includes placeholders (?) The method accepts parameters, where 'sql' is the query string and 'args' are the values provided for the placeholders The result of this operation is a ResultSet Additionally, the method can execute SQL statements such as INSERT, UPDATE, or DELETE that also contain placeholders, with 'args' supplying the necessary values In this case, the outcome is the number of affected records.
XJdbc.value(String sql, Object…args): Object o Phương thức này cho phép truy vấn một giá trị từ cơ sở dữ liệu o Tham số sql là câu lệnh SELECT chứa dấu hỏi (?) để đại diện cho các tham số o Tham số args là các giá trị sẽ thay thế cho các dấu hỏi trong câu lệnh SQL o Kết quả trả về là một đối tượng chứa giá trị đã được truy vấn.
Entity Class và DAO
Mỗi mục cần làm rõ 2 vấn đề sau o Mô hình và mô tả lớp thực thể o Mô hình và mô tả lớp DAO
EduSysDAO là một lớp trừu tượng tổng quát, định nghĩa các hành động truy xuất cơ sở dữ liệu (CSDL) cơ bản mà bất kỳ lớp DAO cụ thể nào cũng cần có Các phương thức thực hiện truy xuất CSDL được mô tả chi tiết trong lớp này.
TT P HƯƠNG THỨ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 Truy vấn tất cả các bản ghi
6 selectBySql(String, Object…): List Truy vấn các bản ghi tùy vào sql và args
Trong một lớp DAO cụ thể, các DAO con sẽ triển khai mã cho các phương thức truy xuất cơ sở dữ liệu cơ bản, trong đó E đại diện cho lớp Entity và K là kiểu khóa chính Ngoài ra, các DAO cũng có thể thêm các hoạt động truy xuất đặc thù cần thiết cho từng DAO.
NhanVien Là lớp thực thể mô tả dữ liệu nhân viên NhanVienDA
O 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
SQL là các câu lệnh thao tác dữ liệu trên bảng NhanVien
Thư viện tiện ích
Mô tả các lớp tiện ích sau tương tự JdbcHelper(XJdbc) ở mục 4.3.2 o XImage o XDate o MsgBox o Auth
Lập trình nghiệp vụ
Cửa sổ chính EduSysJFrame
1 init() Phương thức này được gọi khi ứng dụng bắt đầu chạy để
Mở cửa sổ đăng nhập
Bắt đầu hiển thị đồng hồ hệ thống
2 openDoiMatKhau() Phương thức này được gọi khi click vào mục trong menu và nút trên toolbar để mở cửa sổ đổi mật khẩu.
Các cửa sổ hỗ trợ tổ chức
1 init() Phương thức này được gọi để thực hiện các việc sau:
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
Các cửa sổ chức năng quản lý
Cửa sổ chức năng tổng hợp - thống kê
DangNhapJDialog
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
1 Đăng nhập để trống tên và mật khẩu Yêu cầu nhập ok
2 Đăng nhập sai tên TeoVN, songsong Sai tên đăng nhập not
3 Đăng nhập sai mật khẩu TeoNV, 123 Sai mật khẩu 95%
4 Đăng nhập đúng TeoNV, songlong Đóng cửa sổ
DoiMatKhauJDialog
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
NhanVienJDialog
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
ChuyenDeJDialog
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
NguoiHocJDialog
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX