Score management function will allow administrators to enter grades for students and also provide tools that allow them to correct and update grades for students when needed.. Build a pr
Trang 1
UNIVERSITY OF ECONOMY - FINANCE
HO CHI MINH CITY
FACULTY OF INFORMATION TECHNOLOGY
JAVA TECHNOLOGY -000 -
UEF UNIVERSITY OF ECONOMICS & FINANCE
FINAL REPORT
TOPIC: STUDENT INFORMATION SYSTEM
Students perform
O Doan Duy Tan - 195050834
Ho Nhu Phuong - 195050811 Nguyen Van Tuyen - 195013656 Tran Vo Thien - 195050247 Tran Quang Nghi - 195050810
Lecturers
O Nguyen Minh Tuan
Ho Chi Minh City, 6/2022
Trang 2
UNIVERSITY OF ECONOMY - FINANCE
HO CHI MINH CITY
FACULTY OF INFORMATION TECHNOLOGY
JAVA TECHNOLOGY -000 -
UEF UNIVERSITY OF ECONOMICS & FINANCE
FINAL REPORT
TOPIC: STUDENT INFORMATION SYSTEM
Students perform
O Doan Duy Tan - 195050834
Ho Nhu Phuong - 195050811 Nguyen Van Tuyen - 195013656 Tran Vo Thien - 195050247 Tran Quang Nghi - 195050810
Lecturers
O Nguyen Minh Tuan
Ho Chi Minh City, 6/2022
Trang 3TEACHER'S COMMENTS
Instructors
Nguyen Minh Tuan
Trang 4TABLE OFCONTENTS
I QUESTION ì 2rhrrerrrrrrrrrrrerrrrree 6
2 DESIGN ii 6 3 US ORGANIZATION REQUIREMENTồS 2222252222222 tre 9
4 FUNCTIONAL PROCESSING REQUIREMENTS 5s ssrrirrrerreee 10 T990 eo 10 9c ẽ 21
Trang 5PREFACE
The rapid development of IT has strongly and greatly affected all aspects of socio- economic life Today, IT has become one of the most important drivers of development With the ability to digitize all kinds of information (numeric, graph, text, image, voice, sound.), the computer becomes a unified and versatile information processing means, performing many functions different capabilities on all forms of information in all fields: research, management, business The applications of Information Technology in the field of management are extremely important applications It not only frees up effort for managers but also brings accuracy and agility in management As a student of the Faculty of Information Technology, I am very happy when I have developed an application project of Student System Management Student information will be managed and sorted by name, date of birth, depending on the manager's choice In addition, the function of searching students by name, class and key will help administrators easily get the necessary information Score management function will allow administrators to enter grades for students and also provide tools that allow them to correct and update grades for students when needed Reward/Disciplinary Administration, allowing administrators to decide whether to reward or discipline a student attending the school Student statistics, allowing administrators to get information about students in the most intuitive and complete way Search student information, allowing management to get information about students quickly
Stemming from the above benefits with the permission and enthusiastic help of Mr Nguyen Minh Tuan, I would like to choose the topic "Student system management"
With this topic, I want to apply the knowledge I have learned in school along with the study of programming languages and environments to build an effective management system
Due to limited time and inexperience in research and practice, the report has many shortcomings I look forward to receiving suggestions from teachers to improve the topic Sincerely thank!
Trang 61 QUESTION
The University of Economics and Finance uses a professional training software to manage students and their learning process Build a program to simulate simple functions of the school's professional training program with the following requirements:
O The program has a login function
O_ Users are divided into two categories: trainers and trainers
O When logging in to the faculty user, if the login is successful, the score management function will appear, allowing to enter grades, edit scores, delete scores, update scores for existing students in the school and can find students by student code
O When logging in to the training staff user, the student management function will appear, including the functions, add a new student, delete a student and update
O_ Every time the lecturer updates the student's score, the program will recalculate the average score of each student, and display a list of the 3 students with the highest total score of each subject
2 DESIGN THE THEME
O_ Loading interface: is the page where when the user opens the software, a waiting page will be displayed, after loading to 100%, he will proceed to open the login form,
in order to create a more civilized and humane software
MANAGER STUDENTS
es
6
Figure 2 Login interface
Trang 7O Login interface: is the security layer of the software to prevent unauthorized users from accessing and destroying data, if the login fails, an error will be reported until you enter the correct information and log in successfully will be redirected to the student management page (for training staff) and student score management (for
DANG NHAP QUAN LY
USER NAME
USER TYPE
Cán bộ đào tao
# LOGIN
Đào tạo: admindt | 123
Giảng viên: admingv | 123
lecturers)
O Forgot password interface: when the user forgets the password of the account, requires entering the correct email before clicking submit, the software will automatically randomize the 6-digit password and send it to you by email
Trang 8QUÊN MẬT KHẨU
YOUR EMAIL:
⁄ SUBMIT
Figure 3 Forgot password interface
4 Management system: is a place to manage personal information and students' scores under the control of training staff and lecturers in the school
(J QUẦN LÝ ĐIỂM SINH VIÊN
- 3 sinh viên có điểm cao nhất:
@ san
KHIỂN CC
Figure 5 Student score management system interface
8
Trang 93 US ORGANIZATION REQUIREMENTS
O_In the organizational structure of the application, there is the use of interfaces, models, tools, and packages to facilitate the implementation of program settings in the most reasonable way and easy to correct if there are small errors
O Such organization helps us to solve problems quickly and optimize the time to create this application
4, FUNCTIONAL PROCESSING REQUIREMENTS
O Each time the Login button is clicked, the program must check whether the login information is correct, if it is correct, the message is successful, if it is incorrect, the login message is incorrect
O Instructors can only enter grades and cannot add new students Every time the lecturer updates the student's score, the program will recalculate the average score of each student, and display a list of the 3 students with the highest overall score
O Training staff can only add new students, cannot enter grades
5 ADVANCED FUNCTIONS
Trang 10O Manage Student Points: lecturers (trainers) can add, delete, save, update scores for students and when clicking on a row on the table, the student's detailed data will be displayed on the tables respective components
public void loadDbTable (
try {
model.setRowCount (0);
conn = JDBCUtils.getConnection();
st = conn.createStatement ();
String sql = "SELECT TOE
+ " FROM STUDENTS,
+ " ORDER BY TBM D
GRADES WHERE STUDENTS.MAS GRADES.MASV "
executeQuery (sql);
if (rs.isBeforeFirst() false)
JoptionPane.showMessageDialog(this, "Chua cé sinh vién nao!");
return;
n =.qetString (“HOTEN”) ) ¿
row.add (Double parseDoubls |rs.getString ("TIENGANK")});
rs.getString ("TINHOC")});
e(rs.getstring("
ouble|rs.getString |
oub
e.rarseDa
double DTB = (TA + TH + GDTC) / 3;
String diemTb = String.£ormat("$.2f", DTB) ;
mode 1 addRow (row) ¿
thLOLD setModel (model) ;
conn.close();
O Refresh form: to reset the Hipwe fofedescdefaede wisent setting has been entered and the total number of records is empty
public void addGrade() {
txtHoTen.setText("");
txtMaSV.setText("");
txtTA.setText("");
txtTH.setText("");
txtGD.setText("");
1blDiemTB.setText("");
Figure 7 The code refreshes the form
10
ENTS.MASV AS MASV, HOTEN, TIENCANH, TINHOC, GDTC, (TIENGANH+TINHOC+GDTC) /3 AS TBM "
Trang 11O_ Save scores: to save data when adding new student scores if there is no student code
on the list Using the test when entering incorrect data on the form will report an error and ask the user to re-enter it until it is correct
O Update scores: to update student scores on the input form and display the information again after updating the list
public void saveGrade() (
try
model.setRowCount (0) ;
conn = JDBCUtils.getConnection();
ERT INTO GRADES (MASV, TIENGANH, TINHOC, GDTC) VALUES
ps = conn.prepareStatement (sql) ;
String sql = "IN
ps.setString(1, txtMaSV.getText());
ps.setDouble (4, Double parseDouble (txtGD.getText()));
ps.executeUpdate();
JOptionPane showMessa eDialog(this, "Luu diém sinh vién thanh céng!");
conn.close();
loadDbTable();
JOptionPane showMessageDialog(this, i: "” + e.getMessage());
JOptionPane.showMessageDialog(this, "That bai!");
Figure 8 Code to save points
11
Trang 12public void updateGrade ()
try
conn = JDBCUtils.getConnection();
String sql = "UPDATE GRADES SET TIENGANH = ?, TINHOC = ?, GDTC = ? WHERE MASV = ? "
ps = conn.prepareStatement (sql);
ps.setDouble(1, Double.parseDouble (txtTA.getText()));
ps.setDouble(2, Double.parseDouble (txtTH.getText()));
ps.setDouble(3, Double.parseDouble (txtGD.getText()));
ps.executeUpdate ();
nhật điểm sinh viên thành dông!"); conn.close();
loadDbTable ();
} catch (Exception e) {
Figure 9 The code to update the score
O Delete points: to delete student scores on the list, when deleting a confirmation message, no staff in the list will also return a message
O Search: to search for students when the list has too many employees and search by
try
conn = JDBCUtils.getConnection();
String sql = "DELETE FROM GRADES WHERE MASV = ?";
if (JOptionPane.showConfirmDialog(this, "Ban co muốn xoá điểm của sinh viên này không?",
"THONG BAO", JOptionPane YES NO_OPTION) == JOptionPane YES OPTION
Pps = conn.prepareStatement (sql);
ps.setString (1, txtMaSV.getText()) ;
ps.executeUpdate () ;
list.remove (index) ;
JOptionPane showMessageDialog(this, "Xóa điểm sinh viên thành cũng!");¿
conn.close ();
loadDbTable ();
catch (Exception e) {
JOptionPane.showMessageDialog(this, "Loi: " + e.getMessage());
JOptionPane.showMessageDialog(this, "That bai!");
Figure 10 Code to remove points student code when finding an employee will display a message and when there is no such employee code will also return a message
12
Trang 13public void searchGrade ()
conn = JDBCUtils.getConnection();
String sql = "SELECT * FROM STUDENTS WHERE MASV = ?";
ps = conn.prepareStatement (sql);
boolean isOk = false;
while (rs.next()) {
txtMaSV.setText (rs.getString (1));
txtHoTen.setText (rs.getString(2));
isok = true;
}
}
conn.close();
loadDbTable();
System.out.printin(e);
Figure 11 The search code
O Export excel: used to save the score list into an excel file to save time when sending grades to students
public void exGrade (|)
JFileChooser fc = new JPileChooser("D:\\")7
£c.setDialogTit1e ("Lưu bảng điểm sinh viên");
FileNameExtonsionFilter £filter = new FileNameExtensionFilter("Fwcel Files", "xls", "xlsx", “xlsm");
fc.setFileFilter (filter) ;
int choose = fc.showSaveDialog(null) ;
System out.printin("Selecting a location ");
if (choose == JPileChooser.APPROVE_OPTION) {
try {
Trang 14+ " ORDER BY TBM DESC";
rs = st.executeQuery (sql);
XSSFWorkbook wb = new XSSFWorkbaok();
XSSFSheet sheet = wbh.createSheet ("LIST GRADES")?
XSSFCel1Sty16 cs = wh.createCellStyle();
XSSFFont font = wb.createFont ();
font.setFontHeightiInPoints((short) 12);
font.sstColor (IndsxedColors YELLOW gstIndoex()) 7
font.setBold (true);
cs.setFillForegroundColor (IndexedColors.GREEN.getIndex());
try {
conn = JDBCUtils.getConnection();
st = conn.createStatement ();
rs = st.executeQuery("SELECT * FROM STUDENTS");
return;
}
Vector row = new Vector();
row.add(rs.getString(i));
row.add(rs.getString(2));
row.add(rs.getString(3));
row.add(rs.getString(4));
String gt;
gt = "Nam";
} else
gt = "Nk";
}
row.add(gt);
row.add(rs.getString(6));
row.add(rs.getString(7));
model addRow (row);
}
tb1QLSV setMode1l (model) ;
conn.close();
Figue 12 Student management code
O Refresh form: to reset the input form to default when nothing has been entered and the total number of records is empty
Trang 15public void addStudent() {
txtMaSV.setText("");
txtHoTen.setText ("");
txtEmail.setText("");
txtSoDT.setText("");
txtDiaChi.setText("");
bgGT.clearSelection();
tblQLSV.clearSelection () ;
lblimage.setIcon (null);
Figure 14 The code refreshes the form
O Save students: to save data when adding new students if there is no student code on the list Using the test when entering incorrect data on the form will report an error and ask the user to re-enter it until it is correct
public void saveStudent ()
try {
conn = JDBCUtils getConnection ();
SinhVien sv = new SinhVien ();
if (Valdidate())
svï setMaSV (txtMaSV.getText () ) ¿
svï setHoTen (txtHoTen.getText ()) ;
SV.SEtSODT (txtSoDI.getText());
boolean gt;
if (rdoNam.isSelected())
gt = true;
else
gt = false;
sv.setGioiTinh (gt);
sv.setDiaChi (txtDiaChi.getText());
Sv.setHinh (imgName) ;
String sql = "INSERT INTO STUDENTS VALUES (?,?,?,?,2?,2?, 2?) "2%
ps = conn.prepareStatement (sql);
ps.setString(1, sv.getMaSV());
ps.setString(2, sv.getHoTen());
ps.setString(3, sv.getEmail());
pe.setString(4, sv.getSoDT());
ps.setBoolean(S, sv.isGioiTinh());
ps.setString(6, sv.getDiaChi());
ps.setString(7, imgName) ;
int row = ps.executeUpdate();
if (row !=0
JOptionPane showMessageDialogithis, "Thém s
1isr.add (sv) ;
conn.close();
loadDbTable ( | ;
} catch (Exception e) {
JOptionPane showMessageDialog (this, "Lỗi! Trùng Mã SV không thể lưu |sinh viên mới ") ;
Figure Heo Ue eRe code
15