Giới thiệu công ty LapTrinhCity
Giới thiệu về công ty LapTrinhCity và hiện trạng của công ty này
Công ty LAPTRINHCITY là trung tâm đào tạo ngắn hạn các khóa tin học theo chuyên đề như Photoshop, Java, Web
Quản lý khóa học, học viên, bảng điểm và doanh thu hiện tại đang được thực hiện qua Excel, nhưng với số lượng học viên ngày càng tăng, trung tâm gặp nhiều khó khăn trong việc quản lý dữ liệu hiệu quả.
Yêu cầu của công ty
Nêu yêu cầu của công ty LapTrinhCity
LapTrinhCity mong muốn xây dựng một phần mềm để giải quyết khó khăn trên.
Đánh giá tính khả thi (năng lực, khả năng của mình có thể thực hiện dự án này)
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.1 Thiết kế mô hình công nghệ
4.1 Xây dựng kịch bảng kiểm thử
2 PHÂN TÍCH YÊU CẦU KHÁCH HÀNG
Tiến hành phân tích yêu cầu khách hàng theo các bước sau đây
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 giúp quản lý thông tin nhân viên hiệu quả Nó yêu cầu liệt kê danh sách nhân viên, xem thông tin chi tiết từng người, thêm nhân viên mới, cũng như cập nhật hoặc xóa thông tin của nhân viên đã có.
Mỗi nhân viên được quản lý thông 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ọ 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.
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 đề Các yêu cầu chính bao gồm liệt kê danh sách chuyên đề, xem thông tin chi tiết từng chuyên đề, thêm chuyên đề mới, cập nhật thông tin hiện có và xóa các chuyên đề không còn cần thiết.
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 giúp quản lý thông tin của người học một cách hiệu quả Nó bao gồm các yêu cầu như 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 mới người học, 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 liên quan đến các khóa học Các yêu cầu chính của chức năng này bao gồm liệt kê danh sách các khóa học hiện có, xem thông tin chi tiết của từng khóa học, thêm khóa học mới, cũng như cập nhật hoặc 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 cho phép quản lý thông tin của học viên một cách hiệu quả Chức năng này bao gồm việc liệt kê danh sách học viên, xem thông tin chi tiết 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 học viên không còn tồn tại.
Mỗi nhân viên được quản lý thông 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ê là công cụ quan trọng để quản lý thông tin nhân viên, cho phép liệt kê danh sách nhân viên và xem thông tin chi tiết của từng người Ngoài ra, chức năng này còn hỗ trợ thêm nhân viên mới, cập nhật thông tin hiện có và xóa những nhân viên không còn tồn tại trong hệ thống.
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 người dùng 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 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 của những nhân viên đã có.
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ủa nhân viên, 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 cho phép quản lý thông tin nhân viên hiệu quả Nó bao gồm các yêu cầu như 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 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 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ọ 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
Dựa vào tài liệu đã phân tích ở mục 2 để phác thảo: 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 từng thực thể, dựa trên các thông tin liên quan được trình bày 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
3 [Sửa] Click Validation, Cập nhật thông tin người học đang xem trên 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
2 Xóa khỏi khóa Click Xóa học viên được chọn ra khỏi khóa học
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
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
Tạo giao diện với Swing
Cửa sổ chính (EduSysJFrame)
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
TEXT Đ ĂNG NHẬP ICON KEY PNG ACCELERATOR CTRL+L
2.2 … JM ENU NAME MNU Q UAN L Y
2.2.1 JM ENU I TEM NAME MNI C HUYEN D E
TEXT C HUYÊN ĐỀ ICON CHUYEN - DE PNG 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
TEXT N GƯỜI HỌC ICON NGUOI PNG 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
TEXT N HÂN VIÊN ICON NV IEN PNG ACCELERATOR CTRL+F5
2.3 JM ENU NAME MNUT HONG K E
2.3.1 JM ENU I TEM NAME MNIB ANG D IEM
TEXT B ẢNG ĐIỂM ICON B ANG D IEM PNG 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 F1 2.4.2 JM ENU I TEM NAME MNIG IOI T HIEU S AN P HAM
TEXT G IỚI THIỆU SẢN PHẨM
Các cửa sổ quản lý
4.1.2.1 Cửa sổ quản lý nhân viên (NhanVienJDialog)
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
2 JT EXTFILED N AME TXT 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)
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.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
TT Đ IỀU KHIỂN T ÊN G IÁ TRỊ
4.1.2.5 Cửa sổ quản lý học viên (HocVienJDialog)
G IAO DIỆN Đ ẶT TÊN CÁC ĐIỀU KHIỂN
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
C ) ÂU LỆNH SQL CƠ BẢN
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ả
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
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 GETDATE () NGÀY ĐĂNG KÝ
CONSTRAINT [PK_NguoiHoc] PRIMARY KEY CLUSTERED
)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
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,
CONSTRAINT [PK_KhoaHoc] PRIMARY KEY CLUSTERED
)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,
CONSTRAINT [PK_HocVien] PRIMARY KEY CLUSTERED
)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)
SELECT nh.MaNH, nh.HoTen, hv.Diem FROM HocVien hv
JOIN NguoiHoc nh ON nh.MaNH=hv.MaNH WHERE hv.MaKH = @MaKH
ORDER BY hv.Diem DESC
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 method XJdbc.query(String sql, Object args) is used to query data from a database, where the sql parameter contains a SELECT statement with placeholders represented by '?' The args parameter provides the values that correspond to these placeholders The outcome of this method is a ResultSet containing the queried data.
The XJdbc.update(String sql, Object args) method is used for executing database operations such as INSERT, UPDATE, and DELETE The 'sql' parameter contains the SQL command with placeholders represented by '?', while the 'args' parameter provides the corresponding values for these placeholders The method returns the number of records affected by the operation.
XJdbc.value(String sql, Object args) là phương thức dùng để truy vấn một giá trị từ cơ sở dữ liệu Tham số sql là câu lệnh SELECT chứa các dấu hỏi (?) để thay thế Các tham số args cung cấp giá trị cho các dấu hỏi trong câu lệnh SQL Kết quả trả về là một đối tượng chứa giá trị đã truy vấn từ cơ sở dữ liệu.
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 cơ bản mà mọi lớp DAO cụ thể cần phải có Các phương thức thực hiện truy xuất cơ sở dữ liệu đượ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, với E đại diện cho lớp Entity và K là kiểu khóa chính Bên cạnh đó, các DAO cũng có thể bổ sung các hoạt động truy xuất đặc thù để đáp ứng nhu cầu riêng của từng DAO.
NhanVien Là lớp thực thể mô tả dữ liệu nhân viên
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ê
5 KIỂM THỬ PHẦN MỀM VÀ SỬA LỖI
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
HocVienJDialog
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
ThongKeJDialog
T H M Ô TẢ TÌNH HUỐNG D Ữ LIỆU MẪU K ẾT QUẢ TRÔNG ĐỢI F IX
6 ĐÓNG GÓI VÀ TRIỂN KHAI
Sản phẩm phần mềm
1 Setup.exe File cài đặt
2 EduSys.sql Cơ sở dữ liệu
3 Readme.txt Hướng dẫn cài đặt
4 Guide.docx Hướng dẫn sử dụng