














Preview text:
TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
🙣🙜🕮🙞🙡

BÁO CÁO MÔN HỌC
ĐỒ ÁN LẬP TRÌNH JAVA
Đề tài:
XÂY DỰNG PHẦN MỀN QUẢN LÝ SINH VIÊN
Sinh viên thực hiện : Lê Ngọc Khánh
Mã sinh viên : 2924112112
Lớp : TH29.19
Hà Nội – 2025
Mục lục 1
1.2. Các kiến thức sử dụng trong bài 2
Chương 2. Phân tích thiết kế 2
2.1. Phân tích và thiết kế hệ thống 2-3
2.1.1. Phân tích chương trình 4
2.1.2. Thiết kế cơ sở dữ liệu 5-7
Chương 3. Chương trình phần mềm 8
3.2 Một số đoạn code chính 9-16
Kết luận 17
Chương 1 Tổng quan
- 1Giới thiệu đề tài
Phần mềm quản lý điểm sinh viên để quản lý thông tin sinh viên và điểm của sinh viên các môn tương ứng. Giúp cho người quản lý dễ dàng xem và cập nhật điểm của sinh viên theo môn học.
1.2Các kiến thức sử dụng trong bài
- 2.1Cơ sở dữ liệu
- Đã biết cách cài đặt và cấu hình MySQL
- Biết cách tạo bảng và liên kết giữa các bảng trong MySQL.
- Biết sử dụng các câu lệnh truy vấn căn bản như:
- Select : Để lấy dữ liệu từ cơ sở dữ liệu
- Insert: Để ghi dữ liệu vào cơ sở dữ liệu
- Update: Để cập nhật thông tin một bản ghi trong cơ sở dữ liệu
- Delete: Để xóa một bản ghi trong cơ sở dữ liệu
- Câu lệnh select sử dụng thêm các điều kiện where để lọc dữ liệu
- Ngôn ngữ lập trình
- Biết cách sử dụng thư viện để kết nối với MySQL.
- Biết cách thiết kế giao diện chương trình.
- Biết cách khai báo biến, sử dụng các biến và thực hiện được các chức năng như:
- Hiển thị dữ liệu trong cơ sở dữ liệu lên table trong Java
- Thêm dữ liệu từ giao diện vào cơ sở dữ liệu từ code Java
Chương 2. Phân tích thiết kế
2.1 Phân tích và thiết kế hệ thống
2.1.1Phân tích chương trình
Phần mềm quản lý điểm sinh viên gồm các chức năng:
- Quản lý sinh viên: Quản lý thông tin sinh viên theo lớp và khoa.
- Quản lý điểm: Quản lý điểm của các sinh viên theo môn học.
- Quản lý lớp học: Quản lý lớp sinh viên.
- Quản lý khoa: Quản lý các khoa của trường.
- Quản lý người dùng: Quản lý thông tin người dùng hệ thống.
2.1.2 Thiết kế cơ sở dữ liệu

Thiết kế chi tiết cơ sử dữ liệu
BẢNG 1 – KHOA
Mã khoa | Tên khoa |
CNTT | Công nghệ thông tin |
QTKD | Quản trị kinh doanh |
KT | Kế toán |
NN | Ngôn ngữ Anh |
BẢNG 2 – LỚP
Mã lớp | Tên lớp | Mã khoa |
CT01 | Công nghệ thông tin 1 | CNTT |
CT02 | Công nghệ thông tin 2 | CNTT |
KD01 | Quản trị kinh doanh 1 | QTKD |
KT01 | Kế toán 1 | KT |
BẢNG 3 – SINHVIEN
Mã SV | Tên SV | Ngày sinh | Giới tính | Quê quán | Mã lớp |
SV001 | Nguyễn Văn A | 2004-05-12 | Nam | Hà Nội | CT01 |
SV002 | Lê Thị B | 2004-07-23 | Nữ | Đà Nẵng | CT01 |
SV003 | Trần Văn C | 2003-09-01 | Nam | Hải Phòng | KD01 |
SV004 | Phạm Thị D | 2004-03-15 | Nữ | Cần Thơ | KT01 |
BẢNG 4 – MONHOC
Mã MH | Tên môn học | Số tín chỉ |
MH001 | Cơ sở dữ liệu | 3 |
MH002 | Lập trình Java | 4 |
MH003 | Kinh tế học | 3 |
MH004 | Ngữ pháp tiếng Anh | 2 |
MH005 | Kế toán tài chính | 3 |
BẢNG 5 – DIEM
Mã SV | Mã MH | Lần thi | Điểm |
SV001 | MH001 | 1 | 8.5 |
SV002 | MH002 | 1 | 7.0 |
SV003 | MH003 | 1 | 6.5 |
SV004 | MH005 | 1 | 9.0 |
SV005 | MH004 | 1 | 8.0 |
2.2 Xây dựng các chức năng
Mô tả chỉ tiết xây dựng các chức năng trong phần mềm quản lý điểm sinh viên.
Do thời gian có hạn nên trong phần này em tập trung vào thiết kế 3 chức năng chính của phần mềm gồm:
- Quản lý sinh viên:
- Liệt kê danh sách sinh viên và hiển thị dữ liệu lên table.
- Thêm mới một sinh viên bao gồm các thông tin: Mã sinh viên, Họ và tên, ngày sinh, giới tính, lớp sinh viên, địa chỉ.
- Cập nhật thông tin một sinh viên đã có trong cơ sở dữ liệu.
- Xóa một sinh viên: Xóa thông tin về sinh viên
- Quản lý người dùng
- Liệt kê danh sách người dùng và hiển thị dữ liệu lên table.
- Thêm mới một người dùng bao gồm các thông tin: tên đăng nhập, mật khẩu, tên người dùng.
- Cập nhật thông tin một người dùng đã có trong cơ sở dữ liệu.
- Xóa một người dùng: Xóa thông tin về người dùng
- Quản lý điểm sinh viên
- Liệt kê danh sách sinh viên kèm điểm theo môn và hiển thị lên table.
- Thêm mới một điểm cho một sinh viên theo môn học.
- Cập nhật thông tin điểm nếu có sai xót.
- Xóa một một điểm nếu cần.
- Ngoài ra, chức năng quản lý khoa, quản lý lớp và quản lý danh sách môn em nhập trực tiếp dữ liệu từ SQL Server..
Chương 3. Chương trình phần mềm
3.1 Giao diện
- Đăng nhập hệ thống

Giao diện chương trình

3.2 Một số đoạn code chính
1.Kết nối sql
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectSQL {
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;"
+ "databaseName=TenDatabase;" // đổi tên DB của bạn
+ "encrypt=false;"; // tắt SSL
String user = "sa"; // username SQL Server
String pass = "123456789"; // mật khẩu
conn = DriverManager.getConnection(url, user, pass);
System.out.println("Kết nối thành công!");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
getConnection();
}
}
- Code lưu ,sửa ,xóa
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("CHương trình quản lý sinh viên");
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jLabel1.setText("CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(192, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 718, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(135, 135, 135))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(43, Short.MAX_VALUE)
.addComponent(jLabel1)
.addGap(41, 41, 41))
);
txtID.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel2.setText("Mã sinh viên");
jLabel3.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel3.setText("Tuổi sinh viên");
txtAge.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
txtName.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel4.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel4.setText("Họ tên sinh viên");
btnAdd.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
btnAdd.setText("Thêm");
btnAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddActionPerformed(evt);
}
});
btnEdit.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
btnEdit.setText("Sửa");
btnEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnEditActionPerformed(evt);
}
});
btnDelete.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
btnDelete.setText("Xóa");
btnDelete.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDeleteActionPerformed(evt);
}
});
btnSave.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
btnSave.setText("Lưu");
btnSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSaveActionPerformed(evt);
}
});
btnCancel.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
btnCancel.setText("Hủy bỏ");
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCancelActionPerformed(evt);
}
Kết luận
Trên đây là nội dung đồ án lập trình java với đề tài quản lý điểm sinh viên của em. Do thời gian và trình độ còn hạn chế nên chương trình còn chưa được hoàn thiện. Em rất mong nhận được ý kiến đóng góp của thầy cô để em có thể hiểu hơn và hoàn thiện hơn cho các đồ án sau.
Em xin trân thành cảm ơn thầy cô !