lOMoARcPSD| 59452058
GIẢNG VIÊN HƯỚNG DẪN: Huỳnh Khắc Duy
SINH VIÊN THỰC HIỆN
1.
Nguyễn Thiện Nhân (PS23291), Trưởng nhóm
2.
Phạm Mạnh Hùng (PS23391)
3.
Lê Công Tấn Dũng (PS25108)
4.
Lê Phước Lai (PS25050)
Nguy
n Hng Long (PS23157)
6.
FPT POLYTECHNIC
NGÀNH CÔNG NGHỆ THÔNG TIN (ỨNG DỤNG PHẦN MỀM)
H
À NỘI 2018
MỤC LỤC
1 Phân tích..............................................................................................................................................2
1.1 Hiện trạng....................................................................................................................................2
1.2 Yêu cầu của quán.........................................................................................................................3
1.3 Use case.......................................................................................................................................4
2 Thiết kế................................................................................................................................................6
2.1 Mô hình triển khai.......................................................................................................................6
2.2 Thiết kế CSDL.............................................................................................................................6
2.2.1 Sơ đ quan hệ thực thể.........................................................................................................6
2.2.2 Thiết kế chi tiết các thực thể................................................................................................7
2.2.2.1 Thực thể Máy Tính..................................................................................................................7
2.2.2.2 Thực thể Nhân Viên.................................................................................................................9
2.2.2.3 Thực thể Hóa đơn....................................................................................................................9
2.2.2.4 Thực thể Order.......................................................................................................................10
2.2.2.5 Thực thể Sản phẩm................................................................................................................11
2.3 Thiết kế giao diện......................................................................................................................12
2.3.1 Sơ đ tổ chức giao diện......................................................................................................12
2.3.2 Thiết kế giao diện cho các chức năng nghiệp vụ................................................................14
3 Thực hiện viết mã..............................................................................................................................26
3.1 Viết mã tạo CSDL.....................................................................................................................26
3.1.1 Tạo CSDL..........................................................................................................................26
3.1.2 SQL truy vấn và thao tác....................................................................................................29
3.1.3 Các thủ tục lưu tổng hợp thống kê.....................................................................................31
3.2 Lập trình JDBC..........................................................................................................................35
3.2.1 Lớp hỗ trợ..........................................................................................................................35
3.2.2 Model class - Các lớp mô tả dữ liệu...................................................................................39
3.2.3 DAO Class - Các lớp truy xuất dữ liệu..............................................................................42
3.3 Viết mã cho ứng dụng................................................................................................................47
3.3.1 Cửa Sổ Đăng Nhập (DangNhapJDialog)...........................................................................47
3.3.2 Cửa sổ chính (HungDungJFrame)......................................................................................48
3.3.3 Cửa Sổ Đổi Mật Khẩu (DoiMatKhauJDialog)...................................................................52
3.3.4 Cửa Sổ Quản Lí Máy Tính.................................................................................................53
3.3.5 Cửa Sổ Quản Lí Người Chơi..............................................................................................58
3.3.6 SanPhamJDialog................................................................................................................63
3.3.7 NhanVienJDialog...............................................................................................................67
3.3.8 OrderJDialog......................................................................................................................71
3.3.9 ThanhToanJDialog.............................................................................................................77
3.3.10 ThongKeJDialog................................................................................................................79
4 Kiểm thử............................................................................................................................................81
4.1 DangNhapJDialog......................................................................................................................81
4.2 DoiMatKhauJDialog..................................................................................................................82
4.3 NhanVienJDialog......................................................................................................................82
4.4 SanPhamJDialog........................................................................................................................83
4.5 MayTinhJDialog........................................................................................................................83
4.6 OrderJDialog.............................................................................................................................83
4.7 ThongKeJDialog........................................................................................................................84
4.8 NguoiChoiJDialog.....................................................................................................................84
5 Đóng gói và triển khai.......................................................................................................................85
5.1 Hướng dẫn chuyển đổi jar thành exe..........................................................................................85
5.2 Hướng dẫn cài đặt triển khai......................................................................................................92
5.3 Hướng dẫn sử dụng phần mềm..................................................................................................92
1 PHÂN TÍCH
1.1 HIỆN TRẠNG
Quán net có tên là Hùng Dũng hoạt động cả tuần từ 8h-22h (không cho thâu đêm).
Việc quản lý người chơi và doanh thu hiện đang thực hiện thông qua excel.
Hiện tại quán đang gặp khó khăn khi số lượng người chơi ngày một nhiều nên việc
quản lý excel gặp rất nhiều khó khăn.
1.2 YÊU CẦU CỦA QUÁN
Quán mong muốn xây dựng một phần mềm để giải quyết khó khăn trên với yêu cầu
như sau:
QUẢN
Người chơi .
Các máy tính . Danh sách order Tính tiền.
THỐNG
Doanh thu, số lượng người chơi, số lượng thực phẩm.
Số lượng người chơi theo tháng.
BẢO MẬT
Phần mềm được viết cho 1 đối tượng sử dụng người quản với yêu cầu
bảo mật như sau:
Tất cả người chơi phải thanh toán trước khi chơi.
Người quản lí thực hiện được các chức năng.
Người chơi không có quyền đăng nhập vào máy tính.
CÔNG NGHỆ
Ứng dụng phải được thực hiện với công nghệ Swing và JDBC
JDK: 1.8+
Hệ quản trị CSDL: SQL Server 2008+
1.3 USE CASE
2 THIẾT KẾ
2.1 MÔ HÌNH TRIỂN KHAI
2.2 THIẾT KẾ CSDL
2.2.1 Sơ đồ quan hệ thực thể
đ tổng quát:
Sơ đ chi tiết:
2.2.2 Thiết kế chi tiết các thực thể
2.2.2.1 Thực thể Máy Tính
THUỘC TÍNH
KIỂU DỮ LIỆU
MÔ TẢ
MaMT
int
Mã máy tính
CPU
varchar(30)
Bộ xử lí trung tâm
GPU
varchar(30)
Bộ xử lý những tác vụ liên quan đến đ hoạ
RAM
varchar(30)
Dung lượng bộ nhớ tạm
Dia
varchar(20)
Dung lượng ở cứng
TrangThai
bit
Cho biết máy có đang sử dụng hay không
GiaTheoGio
float
Giá chơi theo giờ
GioSuDung
float
Giờ chơi
GioBatDau
time
Giờ bắt đầu tính thời gian chơi
2.2.2.2 Thực thể Nhân Viên
THUỘC TÍNH
KIỂU DỮ
LIỆU
MÔ TẢ
MaNV
varchar(20)
Mã nhân viên
Mật khẩu
varchar(20)
Mật khẩu
Họ Tên
nvarchar(50)
Tên nhân viên
Vai trò
bit
Vai trò gm admin và nhân viên
2.2.2.3 Thực thể Hóa đơn
THUỘC TÍNH
KIỂU DỮ LIỆU
MÔ TẢ
MaHD
varchar(10)
Mã hóa đơn
MaNV
varchar(20)
Mã nhân viên
MaMT
int
Mã máy tính
TongTien
float
Tổng tiền
ThoiGian
time
Thời gian tạo hóa đơn
2.2.2.4 Thực thể Order
THUỘC
TÍNH
KIỂU DỮ LIỆU
MÔ TẢ
MaOrder
int
Mã order
MaNV
varchar(20)
Mã nhân viên
MaMT
int
Mã máy tính
ThoiGian
datetime
Thời gian nhận order
MaSP
varchar
Mã sản phẩm
SoLuong
int
Số lượng khi order sản phẩm
TongTien
float
Tổng tiền
2.2.2.5 Thực thể Sản phẩm
THUỘC TÍNH
KIỂU DỮ LIỆU
MÔ TẢ
MaSP
varchar(10)
Mã sản phẩm
TenSP
nvarchar(20)
Tên sản phẩm
DonGia
float
Đơn giá
HSD
date
Hạn sử dụng
ConLai
int
Còn lại bao nhiêu sản phẩm
Hinh
Varchar(30)
Hình ảnh
2.3 THIẾT KẾ GIAO DIỆN
2.3.1 Sơ đồ tổ chức giao diện
GIAO DIỆN CỬA SỔ CHÍNH
TT
ĐIỀU KHIỂN
S KIỆN
MÔ TẢ HOẠT ĐỘNG
1
Cửa sổ
Initialize
Đưa cửa sổ ra giữa màn hình
2
[Đăng xuất]
Click
Đăng xuất và hiển thị DangNhapJDialog
3
[Đổi mật khẩu]
Click
Hiển thị DoiMatKhauJDialog
4
[Máy tính]
Click
Hiển thị MayTinhJDialog
5
[Người chơi]
Click
Hiển thị NguoiChoiJDialog
6
[Sản phẩm]
Click
Hiển thị SanPhamJDialog
7
[Order]
Click
Hiển thị OrderJDialog
2.3.2 Thiết kế giao diện cho các chức năng nghiệp vụ
2.3.2.1 Cửa sổ quản lí nhân viên
TT
ĐIỀU
KHIỂN
S KIỆN
MÔ TẢ HOẠT ĐỘNG
1
Cửa sổ
Initialize
Hiển thị tất cả nhân viên lên bảng
2
[Thêm]
Click
Validation, Thêm vào CSDL một nhân viên mới
với dữ liệu nhập từ form
3
[Sửa]
Click
Validation, Cập nhật thông tin nhân viên đang
xem trên form vào CSDL
4
[Xóa]
Click
Xóa nhân viên có mã đang xem trên form
5
[Mới]
Click
Xóa trắng form
6
Bảng
Click
Hiển thị thông tin của nhân viên trên hàng được
chọn của bảng lên form để xem
7
[|<]
Click
Hiển thị thông tin của nhân viên của hàng đầu tiên
của bảng lên form để xem
8
[<<]
Click
Hiển thị thông tin của nhân viên của hàng kế trước
hàng được chọn của bảng lên form để xem
9
[>>]
Click
Hiển thị thông tin của nhân viên của hàng kế sau
hàng được chọn của bảng lên form để xem
10
[>|]
Click
Hiển thị thông tin của nhân viên của hàng cuối
cùng của bảng lên form để xem
2.3.2.2 Cửa sổ máy tính
TT
Điều khiển
Sự kiện
Mô tả hoạt động
1
Cửa sổ
Initialize
Hiển thị tất cả máy tính lên bảng
2
[Thêm]
Click
Validation, Thêm vào CSDL một máy tính mới
với dữ liệu nhập từ form
3
[Sửa]
Click
Validation, Cập nhật thông tin máy tính đang
xem trên form vào CSDL
4
[Xóa]
Click
Xóa máy tính có mã đang xem trên form
5
[Mới]
Click
Xóa trắng form
6
Bảng
Click
Hiển thị thông tin của máy tính trên hàng được
chọn của bảng lên form để xem
7
[|<]
Click
Hiển thị thông tin của máy tính của hàng đầu
tiên của bảng lên form để xem
8
[<<]
Click
Hiển thị thông tin của máy tính của hàng kế
trước hàng được chọn của bảng lên form để xem
9
[>>]
Click
Hiển thị thông tin của máy tính của hàng kế sau
hàng được chọn của bảng lên form để xem
10
[>|]
Click
Hiển thị thông tin của máy tính của hàng cuối
cùng của bảng lên form để xem
2.3.2.3 Cửa sổ order
TT
Điều khiển
Sự kiện
Mô tả hoạt động
1
Cửa sổ
Initialize
Hiển thị tất cả order lên bảng
2
[Thêm]
Click
Validation, Thêm vào CSDL một order mới với
dữ liệu nhập từ form
[Sửa]
Click
Validation, Cập nhật thông tin order đang xem
trên form vào CSDL
[Xóa]
Click
Xóa nhân viên có mã đang xem trên form
[Mới]
Click
Xóa trắng form
Bảng
Click
Hiển thị thông tin của order trên hàng được chọn
của bảng lên form để xem
[|<]
Click
Hiển thị thông tin của order của hàng đầu tiên
của bảng lên form để xem

Preview text:

lOMoAR cPSD| 59452058 FPT POLYTECHNIC
NGÀNH CÔNG NGHỆ THÔNG TIN (ỨNG DỤNG PHẦN MỀM)
GIẢNG VIÊN HƯỚNG DẪN: Huỳnh Khắc Duy SINH VIÊN THỰC HIỆN
1. Nguyễn Thiện Nhân (PS23291), Trưởng nhóm
2. Phạm Mạnh Hùng (PS23391)
3. Lê Công Tấn Dũng (PS25108) 4. Lê Phước Lai (PS25050)
5. Nguy ễ n Hồng Long (PS23157) 6. H À NỘI 2018 MỤC LỤC 1
Phân tích..............................................................................................................................................2 1.1
Hiện trạng....................................................................................................................................2 1.2
Yêu cầu của quán.........................................................................................................................3 1.3
Use case.......................................................................................................................................4 2
Thiết kế................................................................................................................................................6 2.1
Mô hình triển khai.......................................................................................................................6 2.2
Thiết kế CSDL.............................................................................................................................6 2.2.1
Sơ đồ quan hệ thực thể.........................................................................................................6 2.2.2
Thiết kế chi tiết các thực thể................................................................................................7
2.2.2.1 Thực thể Máy Tính..................................................................................................................7
2.2.2.2 Thực thể Nhân Viên.................................................................................................................9
2.2.2.3 Thực thể Hóa đơn....................................................................................................................9
2.2.2.4 Thực thể Order.......................................................................................................................10
2.2.2.5 Thực thể Sản phẩm................................................................................................................11 2.3
Thiết kế giao diện......................................................................................................................12 2.3.1
Sơ đồ tổ chức giao diện......................................................................................................12 2.3.2
Thiết kế giao diện cho các chức năng nghiệp vụ................................................................14 3
Thực hiện viết mã..............................................................................................................................26 3.1
Viết mã tạo CSDL.....................................................................................................................26 3.1.1
Tạo CSDL..........................................................................................................................26 3.1.2
SQL truy vấn và thao tác....................................................................................................29 3.1.3
Các thủ tục lưu tổng hợp thống kê.....................................................................................31 3.2
Lập trình JDBC..........................................................................................................................35 3.2.1
Lớp hỗ trợ..........................................................................................................................35 3.2.2
Model class - Các lớp mô tả dữ liệu...................................................................................39 3.2.3
DAO Class - Các lớp truy xuất dữ liệu..............................................................................42 3.3
Viết mã cho ứng dụng................................................................................................................47 3.3.1
Cửa Sổ Đăng Nhập (DangNhapJDialog)...........................................................................47 3.3.2
Cửa sổ chính (HungDungJFrame)......................................................................................48 3.3.3
Cửa Sổ Đổi Mật Khẩu (DoiMatKhauJDialog)...................................................................52 3.3.4
Cửa Sổ Quản Lí Máy Tính.................................................................................................53 3.3.5
Cửa Sổ Quản Lí Người Chơi..............................................................................................58 3.3.6
SanPhamJDialog................................................................................................................63 3.3.7
NhanVienJDialog...............................................................................................................67 3.3.8
OrderJDialog......................................................................................................................71 3.3.9
ThanhToanJDialog.............................................................................................................77 3.3.10
ThongKeJDialog................................................................................................................79 4
Kiểm thử............................................................................................................................................81 4.1
DangNhapJDialog......................................................................................................................81 4.2
DoiMatKhauJDialog..................................................................................................................82 4.3
NhanVienJDialog......................................................................................................................82 4.4
SanPhamJDialog........................................................................................................................83 4.5
MayTinhJDialog........................................................................................................................83 4.6
OrderJDialog.............................................................................................................................83 4.7
ThongKeJDialog........................................................................................................................84 4.8
NguoiChoiJDialog.....................................................................................................................84 5
Đóng gói và triển khai.......................................................................................................................85 5.1
Hướng dẫn chuyển đổi jar thành exe..........................................................................................85 5.2
Hướng dẫn cài đặt triển khai......................................................................................................92 5.3
Hướng dẫn sử dụng phần mềm..................................................................................................92 1 PHÂN TÍCH 1.1 HIỆN TRẠNG
Quán net có tên là Hùng Dũng hoạt động cả tuần từ 8h-22h (không cho thâu đêm).
Việc quản lý người chơi và doanh thu hiện đang thực hiện thông qua excel.
Hiện tại quán đang gặp khó khăn khi số lượng người chơi ngày một nhiều nên việc
quản lý excel gặp rất nhiều khó khăn.
1.2 YÊU CẦU CỦA QUÁN
Quán mong muốn xây dựng một phần mềm để giải quyết khó khăn trên với yêu cầu như sau: QUẢN LÝ  Người chơi .
 Các máy tính .  Danh sách order  Tính tiền. THỐNG KÊ
 Doanh thu, số lượng người chơi, số lượng thực phẩm.
 Số lượng người chơi theo tháng. BẢO MẬT
 Phần mềm được viết cho 1 đối tượng sử dụng là người quản lí với yêu cầu bảo mật như sau:
 Tất cả người chơi phải thanh toán trước khi chơi.
 Người quản lí thực hiện được các chức năng.
 Người chơi không có quyền đăng nhập vào máy tính. CÔNG NGHỆ
 Ứng dụng phải được thực hiện với công nghệ Swing và JDBC  JDK: 1.8+
 Hệ quản trị CSDL: SQL Server 2008+ 1.3 USE CASE 2 THIẾT KẾ
2.1 MÔ HÌNH TRIỂN KHAI 2.2 THIẾT KẾ CSDL
2.2.1 Sơ đồ quan hệ thực thể Sơ đồ tổng quát: Sơ đồ chi tiết:
2.2.2 Thiết kế chi tiết các thực thể
2.2.2.1 Thực thể Máy Tính
THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ MaMT int Mã máy tính CPU varchar(30) Bộ xử lí trung tâm GPU varchar(30)
Bộ xử lý những tác vụ liên quan đến đồ hoạ RAM varchar(30)
Dung lượng bộ nhớ tạm Dia varchar(20) Dung lượng ở cứng TrangThai bit
Cho biết máy có đang sử dụng hay không GiaTheoGio float Giá chơi theo giờ GioSuDung float Giờ chơi GioBatDau time
Giờ bắt đầu tính thời gian chơi
2.2.2.2 Thực thể Nhân Viên
THUỘC TÍNH KIỂU DỮ MÔ TẢ LIỆU MaNV varchar(20) Mã nhân viên Mật khẩu varchar(20) Mật khẩu Họ Tên nvarchar(50) Tên nhân viên Vai trò bit
Vai trò gồm admin và nhân viên
2.2.2.3 Thực thể Hóa đơn
THUỘC TÍNH KIỂU DỮ LIỆU MÔ TẢ MaHD varchar(10) Mã hóa đơn MaNV varchar(20) Mã nhân viên MaMT int Mã máy tính TongTien float Tổng tiền ThoiGian time Thời gian tạo hóa đơn
2.2.2.4 Thực thể Order THUỘC
KIỂU DỮ LIỆU MÔ TẢ TÍNH MaOrder int Mã order MaNV varchar(20) Mã nhân viên MaMT int Mã máy tính ThoiGian datetime Thời gian nhận order MaSP varchar Mã sản phẩm SoLuong int
Số lượng khi order sản phẩm TongTien float Tổng tiền
2.2.2.5 Thực thể Sản phẩm THUỘC TÍNH
KIỂU DỮ LIỆU MÔ TẢ MaSP varchar(10) Mã sản phẩm TenSP nvarchar(20) Tên sản phẩm DonGia float Đơn giá HSD date Hạn sử dụng ConLai int
Còn lại bao nhiêu sản phẩm Hinh Varchar(30) Hình ảnh
2.3 THIẾT KẾ GIAO DIỆN
2.3.1 Sơ đồ tổ chức giao diện GIAO DIỆN CỬA SỔ CHÍNH TT ĐIỀU KHIỂN SỰ KIỆN
MÔ TẢ HOẠT ĐỘNG 1 Cửa sổ Initialize
Đưa cửa sổ ra giữa màn hình 2 [Đăng xuất] Click
Đăng xuất và hiển thị DangNhapJDialog 3 [Đổi mật khẩu] Click
Hiển thị DoiMatKhauJDialog 4 [Máy tính] Click Hiển thị MayTinhJDialog 5 [Người chơi] Click Hiển thị NguoiChoiJDialog 6 [Sản phẩm] Click Hiển thị SanPhamJDialog 7 [Order] Click Hiển thị OrderJDialog
2.3.2 Thiết kế giao diện cho các chức năng nghiệp vụ
2.3.2.1 Cửa sổ quản lí nhân viên TT ĐIỀU
SỰ KIỆN MÔ TẢ HOẠT ĐỘNG KHIỂN 1 Cửa sổ
Initialize Hiển thị tất cả nhân viên lên bảng 2 [Thêm] Click
Validation, Thêm vào CSDL một nhân viên mới
với dữ liệu nhập từ form 3 [Sửa] Click
Validation, Cập nhật thông tin nhân viên đang xem trên form vào CSDL 4 [Xóa] Click
Xóa nhân viên có mã đang xem trên form 5 [Mới] Click Xóa trắng form 6 Bảng Click
Hiển thị thông tin của nhân viên trên hàng được
chọn của bảng lên form để xem 7 [|<] Click
Hiển thị thông tin của nhân viên của hàng đầu tiên
của bảng lên form để xem 8 [<<] Click
Hiển thị thông tin của nhân viên của hàng kế trước
hàng được chọn của bảng lên form để xem 9 [>>] Click
Hiển thị thông tin của nhân viên của hàng kế sau
hàng được chọn của bảng lên form để xem 10 [>|] Click
Hiển thị thông tin của nhân viên của hàng cuối
cùng của bảng lên form để xem
2.3.2.2 Cửa sổ máy tính
TT Điều khiển Sự kiện
Mô tả hoạt động 1 Cửa sổ
Initialize Hiển thị tất cả máy tính lên bảng 2 [Thêm] Click
Validation, Thêm vào CSDL một máy tính mới
với dữ liệu nhập từ form 3 [Sửa] Click
Validation, Cập nhật thông tin máy tính đang xem trên form vào CSDL 4 [Xóa] Click
Xóa máy tính có mã đang xem trên form 5 [Mới] Click Xóa trắng form 6 Bảng Click
Hiển thị thông tin của máy tính trên hàng được
chọn của bảng lên form để xem 7 [|<] Click
Hiển thị thông tin của máy tính của hàng đầu
tiên của bảng lên form để xem 8 [<<] Click
Hiển thị thông tin của máy tính của hàng kế
trước hàng được chọn của bảng lên form để xem 9 [>>] Click
Hiển thị thông tin của máy tính của hàng kế sau
hàng được chọn của bảng lên form để xem 10 [>|] Click
Hiển thị thông tin của máy tính của hàng cuối
cùng của bảng lên form để xem
2.3.2.3 Cửa sổ order
TT Điều khiển Sự kiện
Mô tả hoạt động 1 Cửa sổ
Initialize Hiển thị tất cả order lên bảng 2 [Thêm] Click
Validation, Thêm vào CSDL một order mới với dữ liệu nhập từ form [Sửa] Click
Validation, Cập nhật thông tin order đang xem trên form vào CSDL [Xóa] Click
Xóa nhân viên có mã đang xem trên form [Mới] Click Xóa trắng form Bảng Click
Hiển thị thông tin của order trên hàng được chọn
của bảng lên form để xem [|<] Click
Hiển thị thông tin của order của hàng đầu tiên
của bảng lên form để xem