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
1
Mục lục 1
Chương 1 Tổng quan 2
 
 
  ! 
 "# !$%& 
Chương 2. Phân tích thiết kế 2
'()*+ ,-
 '().& /
 0 ! 1,2
3(456 7
Chương 3. Chương trình phần mềm 8
-8 7,9
- :;+<=) 9,>
Kết luận 17
2
Chương 1 Tổng quan
1. 1Giới thiệu đề tài
'?@@AB!CD@*EDAB!C#
*E*D@F8*E@#.G%.H
AB!CIJ=@*$%$D@F8*E=@#
K
1.2Các kiến thức sử dụng trong bài
  !
LMN*O&:4PQR
S<B*!E 8B:4PQR
S(!4*O6B.T
o P=!=TLD!O4 !U !
o V=TLD !* !
o W%8=TLD$%$#@;B
 !
o X=!==TLDJY8@;B !
o (!=!=E@Z==D
!K !
 "# !$%&
S.*D+*:4PQR
S8.&
S8[*5
.\6.T
o ]D^!!!E8!=
_8*8
o 0E@!U8*!U=
_8*8
3
Chương 2. Phân tích thiết kế
2.1 Phân tích và thiết kế hệ thống
'().&
'?@@AB!CD@*E`@6T
QB!C*ETQB!C#*E=!%*
8
QB!CD@TQB!CD@F8*E=@#
K
QB!C!%KTQB!C!%*E
QB!C8TQB!C8F8.H
QB!C.HaTQB!C#.Ha
+

0 !
4
5
0 !
Sb"cd]ef
Mã khoa Tên khoa
"00 ##
Q0dX QB^8
d0 d
"" "# f
BẢNG 2 – LỚP
Mã lớp Tên lớp Mã khoa
0g ## "00
0g ## "00
dXg QB^8 Q0dX
d0g d d0
BẢNG 3 – SINHVIEN
Mã SV Tên SV Ngày sinh Giới tính Quê quán Mã lớp
Phgg
"4I
h6f
gg/,g1, "8@ ]"; 0g
Phgg RE0^S gg/,g2,- " L"i 0g
Phgg- 0?h6 gg-,g9,g "8@ ]B'j dXg
Phgg/ '<@0^X gg/,g-,1 " ?0 d0g
6
Sb"/c:e"]e
Mã MH Tên môn học Số tín chỉ
:]gg  ! -
:]gg R$%&_8*8 /
:]gg- dK -
:]gg/ " %%f
:]gg1 d) -
Sb"1cXVk:
Mã SV Mã MH Lần thi Điểm
Phgg :]gg 71
Phgg :]gg 2g
Phgg- :]gg- >1
Phgg/ :]gg1 9g
Phgg1 :]gg/ 7g
2.2 Xây dựng các chức năng
:#BlJ(456%?@@AB!C
D@*E
XH8Y<E%?4=@$%*
-6)F8%?@@`@Tm
Quản lý sinh viên:
o RE8*E*D^!!E
8!=
o 0E@@@;*E8`@#T:M
*E[]K*E[4[)[!%
*E[^8l
o $%$#@;*EMY
!
o 3Y8@;*ET3Y8#**E
7
Quản lý người dùng
o RE8.Ha*D^!!E
8!=
o 0E@@@;.Ha8`@#TE
6$%[@$n[E.Ha
o $%$#@;.HaMY
 !
o 3Y8@;.HaT3Y8#*.Ha
Quản lý điểm sinh viên
o RE8*Eo@D@=@#*
D^!E8!=
o 0E@@@;D@@;*E=@#K
o $%$#D@Y8JY
o 3Y8@;@;D@?
"8[6AB!C8[AB!C!%*AB
!C8@#=@$%5%!UPQR
P=*=
8
Chương 3. Chương trình phần mềm
3.1 Giao diện
L6$%+
8.&
9
3.2 Một số đoạn code chính
d+A!
@%p8*8A!=q
@%p8*8A!X*=:88=q
@%p8*8A!PQRkJ=%q
%!!8=PQRr
%!8===str
=u!!q
4r
!8v"8@=sw@@vA!=*=pPQRP=
*=X*=wtq

P!uwpTA!=*=Txx!8!T/--qw
yw888="8@=u0=X888=qwxxzE
XSF8<
yw=4%uv8!=qwqxx{PPR
P=uw8wqxx=8@=PQR
P=*=
P%8uw-/1>279wqxx@$n

uX*=:88===s![=[%8tq
P4=@%!swd+#|wtq
}8s!8"~kJ=%•PQRkJ=%=tr
=%P808=stq
10
}
=q
}
%!8*@8sP€•8tr
==stq
}
}
 =!.[8[JY8
=X=v8!!=e%=8sp8*8JZ‚Z8k3
V0ƒe"ƒRePktq
=0!=sw].&AB!C*Ewtq
pR8=!=~s=Z p8*88Z~sw08@8w[ [ ->ttq xx
"eV7"
pR8=!=0=Jsw]„…" 0†‡"] QWb" PV"]
hV‰"wtq
p8*8JZ%R84 p'8=!R84 u =Z
p8*8JZ%R84sp'8=!tq
p'8=!=R84sp'8=!R84tq
p'8=!R84=]Š8!%s
p'8=!R84=8='88!!=!%sp8*8JZ%R84
f!@=RkfXV"t
8%sp8*8JZ%R84f!@=0†fVRV"
[p'8=!R84=8=P=A=8!%st
11
88=8%s9[P:f3ƒhfRWkt
8@%=spR8=![
p8*8JZ%R84'†k~k††kXƒPV‹k[ 27[
p8*8JZ%R84'†k~k††kXƒPV‹kt
88%s-1[-1[-1tt
tq
p'8=!R84=h=8!%s
p'8=!R84=8='88!!=!%sp8*8JZ%R84
f!@=RkfXV"t
8%sp8*8JZ%R84f!@=0†fVRV"
[p'8=!R84=8=P=A=8!%st
88=8%s/-[P:f3ƒhfRWkt
8@%=spR8=!t
88%s/[/[/tt
tq
JVX=~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
pR8=!=~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
pR8=!=0=Jsw:M*Ewtq
pR8=!-=~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
pR8=!-=0=Jsw0z*Ewtq
12
Jf==~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
J"8@==~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
pR8=!/=~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
pR8=!/=0=Jsw]KE*Ewtq
f=~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
f=0=Jsw0E@wtq
f8fR==s=Z
p8*88Z=*=fR==str
%!*8'=v@=sp8*88Z=*=fk*=
=*tr
ff'=v@=s=*tq
}
}tq
k=~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
k=0=JswP8wtq
k8fR==s=Z
p8*88Z=*=fR==str
13
%!*8'=v@=sp8*88Z=*=fk*=
=*tr
kf'=v@=s=*tq
}
}tq
X=!===~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
X=!===0=Jsw3Y8wtq
X=!==8fR==s=Z
p8*88Z=*=fR==str
%!*8'=v@=sp8*88Z=*=fk*=
=*tr
X=!==f'=v@=s=*tq
}
}tq
P8*==~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
P8*==0=JswR.wtq
P8*=8fR==s=Z
p8*88Z=*=fR==str
%!*8'=v@=sp8*88Z=*=fk*=
=*tr
P8*=f'=v@=s=*tq
}
}tq
14
8=!=~s=Z p8*88Z~sw08@8w[ g[ /ttq xx
"eV7"
8=!=0=Jsw]F4Œwtq
8=!8fR==s=Z
p8*88Z=*=fR==str
%!*8'=v@=sp8*88Z=*=fk*=
=*tr
8=!f'=v@=s=*tq
}
Kết luận
0E(4!;`!$%&p8*8*AB!C
D@*EF8=@XH8*&;j<E
.&j.8.\k@O@$.\
CYY%F8?4#D=@YDD*
`8m
k@J(B@?4#|
15

Preview text:

TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

🙣🙜🕮🙞🙡

logo hubt

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

Chương 1 Tổng quan 2

1.1. Giới thiệu đề tài 2

1.2. Các kiến thức sử dụng trong bài 2

1.2.1. Cơ sở dữ liệu 2

1.2.2. Ngôn ngữ lập trình 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

2.2. Xây dựng các chức năng 8

Chương 3. Chương trình phần mềm 8

3.1 Giao diện 8-9

3.2 Một số đoạn code chính 9-16

Kết luận 17

Chương 1 Tổng quan

  1. 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

    1. 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
      1. 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();

}

}

  1. 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ô !