Báo cáo đồ án lập trình Java
1
Mục lục
I. 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
2.1. Phân tích và thiết kế hệ thống.....................................................................3
2.1.1. Phân tích chương trình...........................................................................3
2.1.2. Thiết kế cơ sở dữ liệu..............................................................................4
2.2. Xây dựng các chức năng.............................................................................6
2.3. Giao diện chương trình...............................................................................7
2.4. Một số đoạn code chính.............................................................................14
III. Kết luận.........................................................................................................20
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
2
I.
1.1.
Tổng quan
Giới thiệu đề tài
Phần mềm quản lý khách hàng sử dụng các dịch vụ giá trị gia tăng của Viettel.
1.2.
Các kiến thức sử dụng trong bài
1.2.1. Cơ 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ư:
o Select : Để lấy dữ liệu từ cơ sở dữ liệu
o Insert: Để ghi dữ liệu vào cơ sở dữ liệu
o Update: Để cập nhật thông tin một bản ghi trong cơ sở dữ liệu
o Delete: Để xóa một bản ghi trong cơ sở dữ liệu
o Câu lệnh select sử dụng thêm các điều kiện where để lọc dữ liệu
1.2.2. 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ư:
o Hiển thị dữ liệu trong cơ sở dữ liệu lên table trong Java
o Thêm dữ liệu từ giao diện vào cơ sở dữ liệu từ code Java
o Cập nhật thông tin của bản ghi trong cơ sở dữ liệu từ code Java
o Xóa một bản ghi trong cơ sở dữ liệu từ code Java
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
3
II.
Nội dung
2.1.
Phân tích và thiết kế hệ thống
2.1.1. Phân tích chương trình
Phần mềm quản lý dịch vụ viễn thông bao gồm các chức năng:
- Quản lý dịch vụ: Quản lý các dịch vụ của nhà mạng.
- Quản khách hàng: Quản lý thông tin khách hàng
- Quản lý nhân viên: Quản lý nhân viên của nhà mạng.
- Quản lý đăng ký dịch vụ: Quản lý các dịch vụ mà khách hàng đăng ký.
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
4
2.1.2. Thiết kế cơ sở dữ liệu
- Diagram cơ dử dữ liệu:
NHAN_ VIEN
MA_NHAN_VIEN
TEN_NHAN_VIEN
DIEN_THOAI
TEN_DANG_NHAP
MAT_KHAU
KHACH_ HANG_ DICH_ VU
DICH_ VU
MA_KHACH_HANG
MA_DICH_VU
MA_DICH_VU
TEN_DICH_VU
MA_NHAN_VIEN
MO_TA
NGAY_DK_DICH_VU
LOAI_DICH_VU
NGAY_KET_THUC
GIA_DICH_VU
TRANG_THAI
VAT
ID_KHACH_HANG_DICH_VU
KHACH_ HANG
MA_KHACH_HANG
TEN_KHACH_HANG
DIA_CHI
SO_DIEN_THOAI
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
5
- Thiết kế chi tiết cơ sử dữ liệu
o Bảng nhân viên – NHAN_VIEN
Tên trường dữ liệu
Kiểu dữ liệu
Mô tả
MA_NHAN_VIEN
varchar(30)
Mã nhân viên
TEN_NHAN_VIEN
Nvarrchar(50)
Tên nhân viên
DIEN_THOAI
Nvarrchar(15)
Điện thoại
TEN_DANG_NHAP
Nvarrchar(50)
Tên đăng nhập
MAT_KHAU
Nvarrchar(50)
Mật khẩu
o Bảng dịch vụ - DICH_VU
Tên trường dữ liệu
Kiểu dữ liệu
Mô tả
MA_DICH_VU
varchar(30)
Mã dịch vụ
TEN_DICH_VU
nvarchar(150)
Tên dịch vụ
MO_TA
nvarchar(250)
Mô tả
LOAI_DICH_VU
nvarchar(50)
Loại dịch vụ
GIA_DICH_VU
numeric(18, 0)
Giá dịch vụ
VAT
numeric(18, 0)
Thuế
o Bảng khách hàng – KHACH_HANG
Tên trường dữ liệu
Kiểu dữ liệu
Mô tả
MA_KHACH_HANG
varchar(30)
Mã khách hàng
TEN_KHACH_HANG
nvarchar(50)
Tên khách hàng
DIA_CHI
nvarchar(50)
Địa chỉ
SO_DIEN_THOAI
varchar(15)
Số điện thoại
o Bảng khách hàng – dịch vụ - KHACH_HANG_DICH_VU
Tên trường dữ liệu
Kiểu dữ liệu
Mô tả
MA_KHACH_HANG
varchar(30)
Mã khách hàng
MA_DICH_VU
varchar(30)
Mã dịch vụ
MA_NHAN_VIEN
varchar(30)
Mã nhân viên
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
6
NGAY_DK_DICH_VU
varchar(15)
Ngày đăng ký
NGAY_KET_THUC
varchar(15)
Ngày kết thúc
TRANG_THAI
Bit
Trạng thái
ID_KHACH_HANG_DICH_VU
int
ID
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ý dịch vụ viễn thông.
- Quản lý dịch vụ
o Liệt kê danh sách dịch vụ và hiển thị dữ liệu lên table.
o Thêm mới một dịch vụ bao gồm các thông tin: Mã dịch vụ, tên dịch
vụ, mô tả, loại dịch vụ, giá dịch vụ, thuế
o Cập nhật thông tin một dịch vụ đã có trong cơ sở dữ liệu.
o Xóa một dịch vụ: Xóa thông tin về dịch vụ
- Quản lý nhân viên
o Liệt kê danh sách nhân viên và hiển thị dữ liệu lên table.
o Thêm mới một nhân viên bao gồm các thông tin: Mã nhân viên, tên
nhân viên, điện thoại, tên đăng nhập, mật khẩu
o Cập nhật thông tin một nhân viên đã có trong cơ sở dữ liệu.
o Xóa một nhân viên: Xóa thông tin về nhân viên
- Quản lý điểm khách hàng
o Liệt kê danh sách khách hàng và hiển thị lên table.
o Thêm mới một khách hàng bao gồm: Mã khách hàng, tên khách hàng,
địa chỉ, số điện thoại.
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
7
o Cập nhật thông tin khách hàng.
o Xóa một một khách hàng.
- Quản lý khách hàng dịch vụ
o Thêm mới một dịch vụ mà khách hàng đăng ký
o Liệt kê các dịch vụ mà khách hàng đang sử dụng
o Hủy dịch vụ mà khách hàng không muốn sử dụng nữa.
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
8
2.3.
Giao diện chương trình
- Đăng nhập hệ thống
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
9
- Giao diện chương trình
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
10
- Giao diện quản lý dịch vụ
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
11
- Giao diện quản lý khách hàng
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
12
- Giao diện quản lý nhân viên
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
13
- Giao diện quản lý dịch vụ giá trị gia tăng của từng khách hàng
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
14
2.4.
Một số đoạn code chính
- Load dữ liệu lên table:
private DefaultTableModel dtm_KHACH_HANG = new DefaultTableModel();
private void loadData_KHACH_HANG() {
dtm_KHACH_HANG = new DefaultTableModel();
try {
String sql = "select * from KHACH_HANG";
DBConnect conn = new DBConnect();
ResultSet rs = conn.Query_Db(sql);
//Create colum for table
dtm_KHACH_HANG.addColumn("MA_KHACH_HANG");
dtm_KHACH_HANG.addColumn("TEN_KHACH_HANG");
dtm_KHACH_HANG.addColumn("DIA_CHI");
dtm_KHACH_HANG.addColumn("SO_DIEN_THOAI");
while (rs.next()) {
String str_MA_KHACH_HANG=rs.getString(1);
String str_TEN_KHACH_HANG=rs.getString(2);
String str_DIA_CHI=rs.getString(3);
String str_SO_DIEN_THOAI=rs.getString(4);
Vector row = new Vector();
row.addElement(str_MA_KHACH_HANG);
row.addElement(str_TEN_KHACH_HANG);
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
15
row.addElement(str_DIA_CHI);
row.addElement(str_SO_DIEN_THOAI);
dtm_KHACH_HANG.addRow(row);
}tbl_KHACH_HANG.setModel(dtm_KHACH_HANG);
conn.closeConnection();
} catch (Exception e) {
e.printStackTrace();
}
}
- Thêm mới một bản ghi
private void InsertData_KHACH_HANG() {
String sql = null;
DBConnect conn = new DBConnect();
String var_MA_KHACH_HANG=txt_MA_KHACH_HANG.getText();
String var_TEN_KHACH_HANG=txt_TEN_KHACH_HANG.getText();
String var_DIA_CHI=txt_DIA_CHI.getText();
String var_SO_DIEN_THOAI=txt_SO_DIEN_THOAI.getText();
sql
=
"INSERT
INTO
KHACH_HANG(MA_KHACH_HANG,TEN_KHACH_HANG,DIA_CHI,SO
_DIEN_THOAI)
VALUES
(N'"+var_MA_KHACH_HANG+"',N'"+var_TEN_KHACH_HANG+"',N'"+var
_DIA_CHI+"',N'"+var_SO_DIEN_THOAI+"')";
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
16
try {
conn.ExecuteQuery(sql);
JOptionPane.showMessageDialog(this, "Them thanh cong!");
ResetControl();
conn.closeConnection();
} catch (Exception e) {
e.printStackTrace();
}
}
- Cập nhật một bản ghi
private void UpdateData_KHACH_HANG() {
String sql = null;
DBConnect conn = new DBConnect();
String var_MA_KHACH_HANG=txt_MA_KHACH_HANG.getText();
String var_TEN_KHACH_HANG=txt_TEN_KHACH_HANG.getText();
String var_DIA_CHI=txt_DIA_CHI.getText();
String var_SO_DIEN_THOAI=txt_SO_DIEN_THOAI.getText();
sql
=
"UPDATE
KHACH_HANG
SET
MA_KHACH_HANG=N'"+var_MA_KHACH_HANG+"',TEN_KHACH_HA
NG=N'"+var_TEN_KHACH_HANG+"',DIA_CHI=N'"+var_DIA_CHI+"',SO_
DIEN_THOAI=N'"+var_SO_DIEN_THOAI+"'
MA_KHACH_HANG=N'"+var_MA_KHACH_HANG+"'";
Sinh viên: ab – 13106666 – Lớp
WHERE
Báo cáo đồ án lập trình Java
17
try {
conn.ExecuteQuery(sql);
JOptionPane.showMessageDialog(this,
"Cap
nhat
thanh
cong!");
ResetControl();
conn.closeConnection();
} catch (Exception e) {
e.printStackTrace();
}
}
- Xóa một bản ghi
private void DeleteData_KHACH_HANG() {
String sql = null;
DBConnect conn = new DBConnect();
String var_MA_KHACH_HANG=txt_MA_KHACH_HANG.getText();
sql
=
"DELETE
FROM
KHACH_HANG
WHERE
MA_KHACH_HANG=N'"+var_MA_KHACH_HANG+"'";
try {
conn.ExecuteQuery(sql);
JOptionPane.showMessageDialog(this, "Xoa thanh cong!");
ResetControl();
conn.closeConnection();
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
18
} catch (Exception e) {
e.printStackTrace();
}
}
Sinh viên: ab – 13106666 – Lớp
Báo cáo đồ án lập trình Java
19
III.
Kết luận
Trên đây là nội dung đồ án lập trình java với đề tài quản lý dịch vụ viễn thông
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ô !
Sinh viên: ab – 13106666 – Lớp