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 cho phép quản lý thông tin nhân viên hiệu quả, bao gồm việc liệt kê danh sách nhân viên, 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 tại và xóa nhân viên không còn hoạt động.
Mỗi nhân viên trong hệ thống đượ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ông việc, 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 chuyên đề, xem chi tiết thông tin từng chuyên đề, thêm mới chuyên đề, cập nhật thông tin, và 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 cho phép quản lý thông tin của người học một cách hiệu quả Nó bao gồm việc liệt kê danh sách người học, xem thông tin chi tiết của từng người, thêm người học mới, cập nhật thông tin hiện có và xóa người học không còn cần thiết.
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 cho phép người dùng quản lý thông tin về các khóa học một cách hiệu quả Nó bao gồm việc liệt kê danh sách các khóa học, xem thông tin chi tiết của từng khóa học, thêm mới khóa học, cập nhật thông tin hiện có và xóa các khóa học không còn cần thiết.
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 cho phép quản lý thông tin học viên hiệu quả Nó bao gồm việc liệt kê danh sách học viên, xem chi tiết thông tin 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 có và xóa những học viên không còn tồn tại.
Mỗi nhân viên trong hệ thống đượ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, cùng với 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 yêu cầu liệt kê danh sách nhân viên, xem thông tin chi tiết của từng nhân viên, thêm nhân viên mới, cũng như cập nhật hoặc xóa thông tin nhân viê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 cho phép quản lý thông tin nhân viên hiệu quả, bao gồm việc liệt kê danh sách nhân viên, xem chi tiết thông tin từng nhân viên, thêm mới, cập nhật hoặc xóa nhân viên đã có.
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, cùng với vai trò của nhân viên, được phân thành 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 cho phép quản lý thông tin nhân viên một cách hiệu quả Nó yêu cầu các thao tác như liệt kê danh sách nhân viên, 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ó và xóa nhân viên không còn hoạt động.
Mỗi nhân viên được xác định bằng 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ọ trong tổ chức, 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.
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ể đề cập đến việc 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 thông tin từ phần dữ liệu liên quan trong 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
TT Đ IỀU KHIỂN S Ự KIỆN M Ô TẢ HOẠT ĐỘNG
1 Cửa sổ Initialize Hiển thị tất cả học viên lên bảng
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 làm rõ hình giao diện và bảng mô tả các điều khiển cùng 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
2.2 … JM ENU NAME MNU Q UAN L Y
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Ị
1 JL ABEL N AME LBL MNV
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Ị
4.1.2.3 Cửa sổ quản lý người học (NguoiHocJDialog) Đ Ặ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
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
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 code that cannot be null), "TenCD" (a name up to 50 characters, also not null), "HocPhi" (a floating-point number representing the tuition fee), "ThoiLuong" (an integer indicating the duration), "Hinh" (a string for the image filename up to 50 characters), and "MoTa" (a description with a maximum of 255 characters) The "MaCD" column serves as the primary key for the table, ensuring unique identification of each record.
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
NgayDK Date DEFAULT () NGÀY ĐĂNG KÝ
The database schema defines a table for student information, including 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 is designated as the primary key, ensuring unique identification for each student record All fields except GhiChu are marked as NOT NULL, indicating that they must contain values.
)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,[MaNV] [nvarchar](50) NOT NULL,[NgayTao] [date] NOT 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 querying from a database using a SQL SELECT statement that includes placeholders The method takes a SQL command as its first parameter and additional values as arguments to replace the placeholders in the query The result of this operation is returned as a ResultSet.
Hàm XJdbc.update(String sql, Object…args) cho phép thực hiện các câu lệnh SQL như INSERT, UPDATE, DELETE, trong đó tham số sql chứa câu lệnh và tham số args cung cấp giá trị cho các dấu ? trong câu lệnh Kết quả trả về là số lượng bản ghi bị ảnh hưởng bởi thao tác thực hiện.
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 có chứa dấu hỏi ? để đại diện cho các tham số o Tham số args chứa các giá trị tương ứng 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ị đã 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à lớp DAO cụ thể 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
Các hoạt động truy xuất cơ sở dữ liệu (CSDL) cơ bản được thực hiện trong lớp DAO Mỗi DAO con sẽ triển khai mã cho các phương thức này, trong đó E đại diện cho lớp Entity và K là kiểu khóa chính cụ thể Ngoài ra, các DAO có thể bổ sung các hoạt động truy xuất đặc thù cần thiết cho từng trường hợp cụ thể.
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
KhoaHocJDialog
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