1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TẬP LỚN MÔN CÔNG NGHỆ JAVA, ĐỀ TÀI Quản Lý Thí Sinh Dự Thi

48 656 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 48
Dung lượng 495,11 KB

Nội dung

BÀI TẬP LỚN MÔN, CÔNG NGHỆ JAVA, ĐỀ TÀI, Quản Lý Thí Sinh Dự Thi

Trang 1

BỘ GIÁO DỤC VÀ ĐẠO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI CƠ SỞ II

KHOA ĐIỆN-ĐIỆN TỬ

BÀI TẬP LỚN MÔN CÔNG NGHỆ JAVA

ĐỀ TÀI : Quản Lý Thí Sinh Dự Thi

GIẢNG VIÊN : Lê Nhật TùngSINH VIÊN : Nguyễn Ngọc TríLớp : CNTT-K55

MSV: 5551074045

Tp.Hồ Chí Minh ,ngày 12 tháng 5 năm 2016

Trang 2

M C L C ỤC LỤC ỤC LỤC

CHƯƠNG I GIỚI THIỆU 3

1 Giới thiệu: 3

2Yêu cầu bài toán: 4

CHƯƠNG II CÔNG NGHỆ SỬ DỤNG 4

1 Java: 4

2MySQL: 5

CHƯƠNG III PHÂN TÍCH BÀI TOÁN 5

1Sơ đồ các lớp: 5

2Sơ đồ cơ sở dữ liệu: 7

CHƯƠNG IV HIỆN THỰC BÀI TOÁN 8

1 Sử dụng: 8

2Source Code: 12

CHƯƠNG 5 KẾT LUẬN 46

5.1 Ưu điểm: 46

5.2 Nhược điểm: 46

Trang 3

CHƯƠNG I GIỚI THIỆU

1 Giới thiệu:

Java làVirtual Machine một nền tảng phát triển các ứng dụng phần mềm có vị trí rất

lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21 Đánh dấu sự trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng trong ngành phần mềm Mô hình máy ảo đã cho phép các ứng dụng viết bằng Java có thể chạy trên nhiều hệ điều hành khác nhau

JAVA là một ngôn ngữ lập trình được lập trình viên (nhà phát triển) sử dụng để viết ứng dụng dành cho máy tính mà chúng ta sử dụng hàng ngày Nếu chỉ đơn thuần là một ngôn ngữ lập trình thì chúng ta không cần quan tâm tới nó nhưng vấn đề là đôi khichúng ta tải một ứng dụng, một phần mềm nào đó mà máy tính yêu cầu thực thi Java, như vậy bắt buộc bạn sẽ phải cài nó trên máy tính Ngoài ra, Java cũng có plug-in cho trình duyệt web để một số ứng dụng có thể hiển thị ngay trong trình duyệt

Hiện nay với sự phát triển của công nghệ thông tin,thì việc áp dụng công nghệ thông tin vào công việc và học tập ngày càng nhiều và đa dạng, phong phú Vì thế nên trong giáo dục hiện nay tăng cường mở các nghành công nghệ thông tin, việc áp dụng công nghệ thông tin giúp quản Java lý thông tin bảo mật tốt hơn, đồng bộ hơn, hiệu quả hơn

và an toàn hơn Trong tuyển sinh, công nghệ thông tin cũng đã được áp dụng triệt để, đem lại hiệu quả to lớn

Trang 4

2Yêu cầu bài toán:

2.1Yêu cầu chức năng:

 Nhập thông tin thí sinh

 Nhập điểm của thí sinh

 Xem thông tin hoặc điểm của thí sinh

 Sửa thông tin hoặc điểm của thí sinh

 Xóa thông tin hoặc điểm của thí sinh

2.2Yêu cầu sử dụng:

 Chương trình có giao diện

 Giao diệm đơn giản và dể sử dụng

 Chương trình có khả năng nâng cấp

CHƯƠNG II CÔNG NGHỆ SỬ DỤNG

1 Java:

Ngôn ngữ Java được tạo ra bởi James Gosling trong dự án Green của Sun

MicroSystems nhằm phát triển phần mềm cho các thiết bị dân dụng Ngôn ngữ hoàn toàn hướng đối tượng Ngôn ngữ an toàn: hạn chế các thao tác nguy hiểm cho máy tínhthật

Khả năng Là một ngôn ngữ bậc cao như C, C++, Perl, SmallTalk, cho nên có thể

được dùng để tạo ra các ứng dụng để giải quyết các vấn đề về số, xử lý văn bản, tạo ra trò chơi, và nhiều thứ khác.Có các môi trường lập trình đồ họa như Visual Java, Symantec Cafe, Jbuilder, Jcreator, Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC (Java DataBase Connectivity)Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket) cũng như truy xuất Web.Hỗ trợ lập trình phân tán

(Remote Method Invocation ) cho phép một ứng dụng có thể được xử lý phân tán trên các máy tính khác nhau

Đặc Điểm Ngôn ngữ hoàn toàn hướng đối tượng.Ngôn ngữ đa nền cho phép một

chương trình có thể thực thi trên các hệ điều hành khác nhau (MS Windows, UNIX,

Linux) mà không phải biên dịch lại chương trình Phương châm của java là "Viết một lần , Chạy trên nhiều nền" (Write Once, Run Anywhere).Ngôn ngữ đa luồng, cho

phép trong một chương trình có thể có nhiều luồng điều khiển được thực thi song songnhau, rất hữu ích cho các xử lý song song.Ngôn ngữ phân tán, cho phép các đối tượng của một ứng dụng được phân bố và thực thi trên các máy tính khác nhau.Ngôn ngữ động, cho phép mã lệnh của một chương trình được tải từ một máy tính về máy của người yêu cầu thực thi chương trình.Ngôn ngữ an toàn, tất cả các thao tác truy xuất

Trang 5

vào các thiết bị vào ra đều thực hiện trên máy ảo nhờ đó hạn chế các thao tác nguy hiểm cho máy tính thật.Ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, trong sáng.

Sử Dụng Sử dụng để xem phim còn nhửng thứ khác thì Java đều tự động, nghỉa là bạn

chỉ cần thực hiện như thường miển là trong máy đả có java

2MySQL:

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được

các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ

sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều

hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử

dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi

lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,

Khả năng: MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương

đương với SQL Server của Microsoft) MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khỏan có quyền sử dụng CSDL đó Nếu không, chúng ta sẽ không làm được gì cả giống như quyền chứng thực người dung trong SQL Server vậy

CHƯƠNG III PHÂN TÍCH BÀI TOÁN

1Sơ đồ các lớp:

Trang 6

 Class: Aboutme

Nội dung: Thông tin về chương trình

Các thư viện: Java.Swing.*, Javax.awt.*

Thiện: Cửa sổ Jframe

Class: ConnectDatabase

Nội dung: Tạo một kết nối với cơ sở dữ liệu

Các thư viện: Java.sql.*

Thể hiện: Kết nối với CSDL, trả về kết quả kết nối: thành công/không thành công, ngắtkết nối với CSDL

 Class: student

Nội dung: Giao diện chính của chương trình

Thư viện: Java.Swing.*, Javax.awt.*, : Java.sql.*

Thể hiện: Cửa sổ Jframe, thao tác với người dùng qua nhấp chuột, nhập text,…

 Class: StudentDAO

Nội dung: Giao diện chính của chương trình

Thư viện: Java.sql.*

Thể hiện: Thao tác đưa dữ liệu vao cơ sở dữu liệu,

Thực hiện các nhiệm vụ xóa, thêm, sửa dữ liệu

 Class: ThiSinh

Nội dung: lớp thí sinh chứa các thuộc tính của thí sinh

Các thuộc tính:

Trang 7

Mathisinh intTenthisinh StringNgaysinh DateGioitinh boolean

Diemtoan doubleDiemly doubleDiemhoa double

Thư viện: Java.sql.*

Thể hiện: Các hàm khởi tạo, get, set

 Class: TinhThanh

Nội dung: lớp tỉnh thành, chứ thông tin mã tỉnh và tên tỉnh

Các thuộc tính: matinh (int), tentinh (String)

Thể hiện: Các hàm khởi tạo, get, set

2Sơ đồ cơ sở dữ liệu:

Trang 9

Giao diện chính của chương trình

-Danh sách các thí sinh ban đầu là các thí sinh đã có sẵn trong CSDL

-Tìm kiếm: nhập tên tỉnh thành/ mã sinh viên vào BirthPlace/StudentID và ấn nút FITLER

Trang 10

-Thêm thí sinh: ấn nút INSERT điền vào các trường

ID,NAME,BIRTHPLACE,DATE,SEX ,MATH,….và nhấn OK

Trang 11

 Xóa thí sinh: Chọn thí sinh cần xóa, ấn nút DELETE

Trang 12

- Sửa thí sinh: Chọn thí sinh, ấn vào EDIT, điền các thông tin mới và ấn OK

Trang 13

import java.awt.Color;

import javax.swing.border.LineBorder;

Trang 14

import javax.swing.border.TitledBorder;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

public class aboutme extends JDialog {

private final JPanel contentPanel = new JPanel();

public static void main(String[] args) {

try {

aboutme dialog = new aboutme();

dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setLocationRelativeTo(null);

Trang 15

2.2 ConnectDatabase:

import java.sql.Connection;

import java.sql.DriverManager;

public class ConnectDatabase {

public static Connection getConnection() {

String dbName = "student";

String url = "jdbc:mysql://" + host + ":" + port + "/" + dbName;String user = "root";

Trang 17

import javax.swing.table.DefaultTableModel;

import org.eclipse.wb.swing.FocusTraversalOnArray;

import java.awt.SystemColor;

public class student extends JFrame{

private JPanel contentPane;

private JTextField textField_BirthPlace;

private JTextField textField_StudentID;

private JTextField textField_ID;

private JTextField textField_Name;

private JTextField textField_Place;

private final ButtonGroup buttonGroup = new ButtonGroup();private JTextField textField_Math;

private JTextField textField_Physical;

private JTextField textField_Chemistry;

private JTextField textField_Total;

double tongDiem;

private JRadioButton rdbtnMale;

private JRadioButton rdbtnFemale;

private JComboBox comboBox_ngay;

private JComboBox comboBox_thang;

private JComboBox comboBox_nam;

private JPanel panel;

private JPanel panel_1;

private JPanel panel_2;

private JPanel panel_3;

private JComboBox comboBox_BirthPlace;

public static void main(String[] args) {

// Look And Feel

Trang 19

JMenuBar menuBar = new JMenuBar();

Trang 20

JMenuItem mnExit = new JMenuItem("Exit");

Trang 22

Integer.parseInt(table.getValueAt(table.getSelectedRow(), 4).toString().substring(8, 10)) - 1);

comboBox_thang.setSelectedIndex(

Integer.parseInt(table.getValueAt(table.getSelectedRow(), 4).toString().substring(5, 7)) - 1);

comboBox_nam.setSelectedIndex(2050

Trang 23

- Integer.parseInt(table.getValueAt(table.getSelectedRow(), 4).toString().substring(0, 4)));

Trang 24

TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 255)));panel_2.setBounds(10, 406, 654, 165);

textField_ID = new JTextField();

textField_ID.setFont(new Font("Times New Roman", Font.PLAIN, 10));textField_ID.setForeground(new Color(0, 0, 139));

textField_ID.setBounds(78, 27, 246, 20);

panel_2.add(textField_ID);

textField_ID.setColumns(10);

textField_Name = new JTextField();

textField_Name.setFont(new Font("Times New Roman", Font.PLAIN, 10));textField_Name.setForeground(new Color(0, 0, 139));

Trang 25

textField_Name.setBounds(78, 52, 246, 20);

panel_2.add(textField_Name);

textField_Name.setColumns(10);

textField_Place = new JTextField();

textField_Place.setFont(new Font("Times New Roman", Font.PLAIN, 12));textField_Place.setForeground(new Color(0, 0, 139));

Trang 28

textField_Total.setColumns(10);

String[] mangNgay = new String[31];

for (int i = 0; i < 31; i++) {

String[] mangThang = new String[12];

for (int i = 0; i < 12; i++) {

String[] mangNam = new String[101];

for (int i = 2050; i > 1950; i ) {

// "03 - Bắc Giang", "04 - Bắc Kạn", "05 - Bạc Liêu", "06 - Bắc Ninh", "07 - Bến Tre", "08 - Bình Định",

// "09 - Bình Dương", "10 - Bình Phước", "11 - Bình Thuận",

"12 - Cà Mau", "13 - Cao Bằng", "14 - Đắk Lắk",

// "15 - Đắk Nông", "16 - Điện Biên", "17 - Đồng Nai", "18 - Đồng Tháp", "19 - Gia Lai", "20 - Hà Giang",

Trang 29

// "21 - Hà Nam", "22 - Hà Tĩnh", "23 - Hải Dương", "24 - Hậu Giang", "25 - Hòa Bình", "26 - Hưng Yên",

// "27 - Khánh Hòa", "28 - Kiên Giang", "29 - Kon Tum", "30 - Lai Châu", "31 - Lâm Đồng", "32 - Lạng Sơn",

// "33 - Lào Cai", "34 - Long An", "35 - Nam Định", "36 - NghệAn", "37 - Ninh Bình", "38 - Ninh Thuận",

// "39 - Phú Thọ", "40 - Quảng Bình\t", "41 - Quảng Nam", "42

- Quảng Ngãi", "43 - Quảng Ninh",

// "44 - Quảng Trị", "45 - Sóc Trăng", "46 - Sơn La", "47 - Tây Ninh", "48 - Thái Bình",

// "49 - Thái Nguyên", "50 - Thanh Hóa", "51 - Thừa Thiên Huế", "52 - Tiền Giang", "53 - Trà Vinh",

// "54 - Tuyên Quang", "55 - Vĩnh Long", "56 - Vĩnh Phúc",

"57 - Yên Bái", "58 - Phú Yên\t",

// "59 - Cần Thơ", "60 - Đà Nẵng", "61 - Hải Phòng", "62 - Hà Nội", "63 -TP HCM" }));

Trang 31

btnDelete.setFont(new Font("Times New Roman", Font.BOLD, 15));btnDelete.setForeground(new Color(0, 0, 255));

Trang 32

String tenThiSinh = textField_Name.getText();

int maTinh = 0;

String tenTinh = textField_Place.getText();

TinhThanh maQueQuan = new TinhThanh(maTinh, tenTinh);

// String maQueQuan = textField_Place.getText();

int ngay = Integer.parseInt(comboBox_ngay.getSelectedItem() + "");

int thang = Integer.parseInt(comboBox_thang.getSelectedItem() + "");

int nam = Integer.parseInt(comboBox_nam.getSelectedItem() + "");

Date ngaySinh = new Date(nam - 1900, thang - 1, ngay);

boolean gioiTinh = rdbtnFemale.isSelected() ? true : false;

double diemToan = Double.parseDouble(textField_Math.getText());

double diemLy = Double.parseDouble(textField_Physical.getText());

double diemHoa = Double.parseDouble(textField_Chemistry.getText());

ThiSinh thiSinh = new ThiSinh(maThiSinh, tenThiSinh, maQueQuan, ngaySinh, gioiTinh, diemToan,

Trang 33

int maThiSinh = Integer.parseInt(textField_ID.getText());

String tenThiSinh = textField_Name.getText();

int maTinh = 0;

String tenTinh = textField_Place.getText();

TinhThanh maQueQuan = new TinhThanh(maTinh, tenTinh);

// String maQueQuan = textField_Place.getText();

int ngay = Integer.parseInt(comboBox_ngay.getSelectedItem() + "");

int thang = Integer.parseInt(comboBox_thang.getSelectedItem() + "");

int nam = Integer.parseInt(comboBox_nam.getSelectedItem() + "");

Date ngaySinh = new Date(nam - 1900, thang - 1, ngay);

boolean gioiTinh = rdbtnFemale.isSelected() ? true : false;

double diemToan = Double.parseDouble(textField_Math.getText());

double diemLy = Double.parseDouble(textField_Physical.getText());

double diemHoa = Double.parseDouble(textField_Chemistry.getText());

ThiSinh thiSinh = new ThiSinh(maThiSinh, tenThiSinh, maQueQuan, ngaySinh, gioiTinh, diemToan,

Trang 34

JOptionPane.showMessageDialog(student.this, "Sua khong thanh cong");

} catch (Exception e2) {

public static void loadThiSinh() {

ArrayList<ThiSinh> danhsach = StudentDAO.getThiSinh();

// DefaultTableCellRenderer centerRenderer = new

DefaultTableCellRenderer();

Trang 35

centerRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);DefaultTableModel model = new DefaultTableModel();

for (ThiSinh thiSinh : danhsach) {

Object[] obj = new Object[] { i, thiSinh.getMaThiSinh(), thiSinh.getTenThiSinh(),thiSinh.getQueQuan().getTenTinh(), thiSinh.getNgaySinh(), thiSinh.getGT(), thiSinh.getDiemToan(),

public static void loadThiSinhTheoID(String ID) {

ArrayList<ThiSinh> danhsach = StudentDAO.getThiSinhTheoID(ID);

DefaultTableModel model = new DefaultTableModel();

Trang 36

for (ThiSinh thiSinh : danhsach) {

Object[] obj = new Object[] { i, thiSinh.getMaThiSinh(), thiSinh.getTenThiSinh(),thiSinh.getQueQuan().getTenTinh(), thiSinh.getNgaySinh(), thiSinh.getGT(), thiSinh.getDiemToan(),

for (ThiSinh thiSinh : danhsach) {

Object[] obj = new Object[] { i, thiSinh.getMaThiSinh(), thiSinh.getTenThiSinh(),thiSinh.getQueQuan().getTenTinh(), thiSinh.getNgaySinh(), thiSinh.getGT(), thiSinh.getDiemToan(),

public static void loadThiSinhTheoNoiSinhVaID(String noiSinh, int ID) {

DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();

Ngày đăng: 28/09/2019, 09:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w