Tải bản đầy đủ (.pdf) (46 trang)

ĐỒ ÁN MÔN HỌC LẬP TRÌNH MẠNG MÁY TÍNH ( JAVA ) QUẢN LÝ BẢO DƯỠNG XE MÁY

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 46 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HỒ CHÍ MINH

ĐỒ ÁN MƠN HỌC

LẬP TRÌNH MẠNG MÁY TÍNH
( JAVA )
QUẢN LÝ BẢO DƯỠNG XE MÁY

Ngành:

CƠNG NGHỆ THƠNG TIN

GVBM:

Nguyễn Lê Văn

SVTH:

Nguyễn Nhật Lâm
Nguyễn Võ Minh Khang
Trần Công Danh
Trần Mai Anh Khoa

MSSV: 1811061139
MSSV: 1811061302
MSSV: 1811062083
MSSV: 1811061410

TP.Hồ Chí Minh, 2021



MỤC LỤC
CHƯƠNG I: TỔNG QUAN.........................................................................................5
1.1

Tổng quan........................................................................................................5

1.1.1

Mục đích....................................................................................................5

1.1.2

Bối cảnh.....................................................................................................5

1.2

Mục tiêu...........................................................................................................5

CHƯƠNG II: CƠ SỞ LÝ THUYẾT...........................................................................6
2.1

Mơ hình ứng dụng Client-Server...................................................................6

2.1.1

Kiến trúc Client-Server............................................................................6

2.1.2


Ưu điểm của kiến trúc Client-Server......................................................6

2.2

Ứng dụng theo mơ hình Client-Server...........................................................7

2.2.1

Cách thức hoạt động.................................................................................7

2.2.2

Đặc trưng của mơ hình ứng dụng Client-Server....................................8

2.3

Lập trình JAVA..............................................................................................9

2.3.1

Giới thiệu khái qt ngơn ngữ Java........................................................9

2.3.2

Một sơ đặc điểm nổi bật của ngơn ngữ lập trình Java...........................9

CHƯƠNG III. PHÂN TÍCH THIẾT KẾ..................................................................12
3.1

Mơ tả bài tốn................................................................................................12


3.2

Kịch bản xử lý chương trình........................................................................13

3.3

Mơ tả Cơ sở dữ liệu, các lớp, hàm xử lý chương trình...............................15

3.3.1

Cơ sở dữ liệu và driver kết nối cần thiết...............................................15
3


3.3.2

Chương trình cần thiết :.........................................................................15

3.3.3

Các lớp, hàm xử lý của chương trình....................................................15

3.4

Hướng dẫn cài đặt và demo chương trình...................................................19

3.4.1

Phần đăng nhập và phân quyền............................................................19


3.4.2

Phần chức năng:.....................................................................................25

3.5

Mã lệnh gửi đi và thông điệp trả về.............................................................44

3.5.1

Bảng mã lệnh và thông điệp trả về........................................................44

3.5.2

Mô hình trao đổi lệnh và thơng điệp trả về giữa Client Server và

CSDL 46
CHƯƠNG IV: TÀI LIỆU THAM KHẢO................................................................47

4


CHƯƠNG I: TỔNG QUAN
1.1 Tổng quan
1.1.1

Mục đích

Xây dựng hệ thống Theo Dõi Bảo Dưỡng Xe Ơtơ để các nhân viên trong một

Garage có thể thuận tiện tra cứu thơng tin bảo dưỡng và hồn thành cơng việc đúng
tiến độ một cách dễ dàng nhất, và đặc biệt là sẽ không phải phụ thuộc vào một bên thứ
3 cung cấp dịch vụ và cịn nhằm bảo đảm tính thuận tiện và bảo mật. Dễ dàng cài đặt,
thiết lập cũng như bảo trì và nâng cấp hệ thống.
1.1.2

Bối cảnh

Với hệ thống này, không chỉ giúp cho sự làm việc thuận tiện và hiệu qua của các
nhân viên, phòng ban. Mà còn là sự thuận thiện trong việc giám sát của cấp trên với
cấp dưới cũng như việc phân công công việc giữa các cấp và các phòng ban với nhau.
1.2 Mục tiêu
 Tìm hiểu được mơ hình Client – Server.
 Nắm rõ cách hoạt động của mơ hình Client – Server.
 Tạo sự dễ dàng và đơn giản trong các thao tác sử dụng.

5


CHƯƠNG II: CƠ SỞ LÝ THUYẾT
2.1 Mơ hình ứng dụng Client-Server.
2.1.1

Kiến trúc Client-Server.

Kiến trúc Client-Server được sử dụng trong các hệ thống phân tán và bao gồm hai
thành phần riêng biệt: Server đóng vai trị phục vụ cung cấp chức năng và Client đóng
vai trị người tiêu thụ sử dụng các chức năng đó. Thơng thường hai thành phần này kết
nối với nhau qua mạng, với Client là bên chủ động tạo kết nối và gửi yêu cầu đến
Server, trong khi Server thụ động lắng nghe và hồi đáp các u cầu đó.

Mơ hình Client-Server đơn giản nhất gồm một Server phục vụ cho một hoặc nhiều
Client đồng thời, còn gọi là kiến trúc hai lớp (2-Tier). Một ví dụ phổ biến nhất cho các
ứng dung Client-Server là các chương trình chat và email đá q thơng dụng hiện nay.
2.1.2

Ưu điểm của kiến trúc Client-Server.

Quản lý tập trung: dữ liệu được lưu trữ tập trung trên Server thay vì nằm rải rác
trên nhiều máy, giúp đơn giản hóa việc truy xuất và cập nhật dữ liệu.
Dễ bảo trì: nhờ khả năng quản lý tập trung mà cơng việc bảo trì cũng trở nên nhẹ nhàng
hơn vì phần lớn việc bảo trì chỉ cần thực hiện trên Server. Trong trường hợp hệ thống
có nhiều Server với thiết bị dự phịng, q trình bảo trì (như sửa chữa, thay thế Server)
có thể diễn ra hồn tồn trong suốt với phía Client.
Bảo mật dữ liệu tập trung trên Server đồng nghĩa với việc kiểm soát dễ dàng hơn.

6


Hình 1: Mơ hình client-server.

2.2 Ứng dụng theo mơ hình Client-Server.
2.2.1

Cách thức hoạt động.

Các tiến trình Clients và Servers có thể chạy cùng một trạm (host) hoặc các trạm
khác nhau và là các đối tượng logic tách biệt và liên lạc với nhau qua mạng để cùng
thực hiện một công việc. Trong đó:

7



 Server: quản lý nguồn tài nguyên, nhận request từ Clients để cung cấp và phân
phối tài nguyên cho Clients.
 Client: là chương trình giao tiếp với người sử dụng, có nhiệm vụ gửi request cho
Server và thể hiện việc tiếp nhận tài nguyên đó.
Client:
Khởi tạo kết nối với server trước.
Yêu cầu dịch vụ nào đó từ server.
Server:
Chấp nhận yêu cầu và tạo kết nối với client.
Tính tốn và cung cấp dịch vụ theo yêu cầu của client.

Hình 2: Cách hoạt động của mơ hình Client-Server.

2.2.2

Đặc trưng của mơ hình ứng dụng Client-Server.

 Hoạt động theo kiểu giao thức bất đối xứng

8


 Thể hiện quan hệ một chiều giữa các Client và một Server.
 Client bắt đầu phiên hội thoại bằng cách yêu cầu dịch vụ
 Server sẵn sang chờ các yêu cầu từ Client.
 Chia sẻ tài nguyên :
+ Một server có thể chiwa sẻ tài nguyên cho nhiều client cùng 1 lúc .
+ Server cũng có khả năng điều phối truy nhập các client đến các tài nguyên dùng

chung.

2.3 Lập trình JAVA
2.3.1

Giới thiệu khái quát ngôn ngữ Java.

Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với
phần lớn ngơn ngữ lập trình thơng thường, thay vì biên dịch mã nguồn thành mã máy
hoặc thơng dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành
bytecode, bytecode sau đó sẽ được mơi trường thực thi (runtime environment) chạy.
Bằng cách này, Java thường chạy nhanh hơn những ngơn ngữ lập trình thơng dịch khác
như Python, Perl, PHP,…
Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối
tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn.
2.3.2

Một sô đặc điểm nổi bật của ngôn ngữ lập trình Java.

Máy ảo Java (JVM – Java Virtual Machine)
Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã máy.Mã
máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máy của CPU
Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậy trước đây một chương
trình sau khi được biên dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể

9


nào đó. Đối với CPU Intel chúng ta có thể chạy các hệ điều hành như Microsoft
Windows, Unix, Linux, OS/2, …

Chương trình thực thi được trên Windows được biên dịch dưới dạng file có
đi .EXE cịn trên Linux thì được biên dịch dưới dạng file có đi .ELF, vì vậy trước
đây một chương trình chạy được trên Windows muốn chạy được trên hệ điều hành
khác như Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại.
Ngơn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên đã
được khắc phục. Một chương trình viết bằng ngơn ngữ lập trình Java sẽ được biên dịch
ra mã của máy ảo java (mã java bytecode). Sau đó máy ảo Java chịu trách nhiệm
chuyển mã java bytecode thành mã máy tương ứng.Sun Microsystem chịu trách nhiệm
phát triển các máy ảo Java chạy trên các hệ điều hành trên các kiến trúc CPU khác
nhau.
Thông dịch:
Java là một ngôn ngữ lập trình vừa biên dịch vừa thơng dịch. Chương trình nguồn
viết bằng ngơn ngữ lập trình Java có đi *.java đầu tiên được biên dịch thành tập tin
có đi *.class và sau đó sẽ được trình thơng dịch thơng dịch thành mã máy.
Độc lập nền:
Một chương trình viết bằng ngơn ngữ Java có thể chạy trên nhiều máy tính có hệ
điều hành khác nhau (Windows, Unix, Linux, …) miễn sao ở đó có cài đặt máy ảo java
(Java Virtual Machine). Viết một lần chạy mọi nơi (write once run anywhere).
Hướng đối tượng:
Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngơn ngữ lập
trình hướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong Java đều liên quan
đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình
viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đối tượng
trong Java khơng có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó
10


Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Vấn đề này sẽ được bàn chi
tiết trong phần sau.
Đa nhiệm – đa luồng (MultiTasking – Multithreading):

Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể
chạy song song cùng một thời điểm và tương tác với nhau.
Khả chuyển (portable):
Chương trình ứng dụng viết bằng ngơn ngữ Java chỉ cần chạy được trên máy ảo
Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java. “Viết
một lần, chạy mọi nơi” (Write Once, Run Anywhere).
Hỗ trợ mạnh cho việc phát triển ứng dụng:
Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấp
nhiều cơng cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình
ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Edition) hỗ trợ phát triển
những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 Enterprise Edition) hỗ trợ
phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Edition) hỗ trợ phát triển các
ứng dụng trên các thiết bị di động, không dây, …

11


CHƯƠNG III. PHÂN TÍCH THIẾT KẾ
3.1 Mơ tả bài tốn
Mơ hình Hệ thống theo dõi Bảo dưỡng xe Oto gồm 2 phần: Server và Client.
Tại Server.
 Quản lý các kết nối, các đăng nhập và xác thực tài khoản từ phía client kết nối
đến.
 Thực hiện các thao tác kết nối truy vấn đến CSDL khi nhận các yêu cầu từ
pclient client và đáp trả các u cầu đó.
 Thơng báo cho người dùng khi xử lý các thao tác thêm, xoá, sửa, cập nhật.
Tại Client.
 Kết nối vào server thơng qua tên USER và PASSWORD nếu đã có tài khoản.
 Tài khoản được cấp bởi Nhân viên có quyền Quản trị viên.
 Thực hiện thao tác thêm, xoá, sửa, cập nhật thông qua giao diện đồ hoạ hiển thị

trên màn hình.

12


3.2 Kịch bản xử lý chương trình

STT

Client

1

Server
Server chạy sẵn và chờ
được kết nối.

2

Client gửi yêu cầu kết
nối .

3

Server chấp nhận yêu cầu
kết nối.

4

Client gửi yêu cầu đăng

nhập bằng tài khoản và
mật khẩu.

5

Server xác thực thông tin
tài khoản và gửi lại xác
thực và phân quyền của
tài khoản.

6

Client nhận xác thực và
hiển thị các chức năng
trên giao diện theo quyền
được cấp.

7

Client gửi yêu cầu nạp dữ
liệu.

13


8

Server nhận yêu cầu nạp
dữ liệu từ Client và truy
vấn vào CSDL.


9

Server gửi lại các yêu cầu
dữ liệu mà client cần

10

Client nhận được dữ liệu
từ phía Server và lưu
trong bộ nhớ tạm

11

Client thao tác các chức
năng và gửi yêu cầu thêm,
xoá, sửa, cập nhật

cho

Server.
12

Server nhận yêu cầu cầu
thêm, xoá, sửa, cập nhật
và dùng truy vấn để thực
hiện trên CSDL.
Client gửi thao tác đăng
xuất khi làm xong công
việc

Server nhận thao tác đăng
xuất và ngắt kết nối với
Client. Kết thúc quá trình
làm việc.

14


3.3 Mô tả Cơ sở dữ liệu, các lớp, hàm xử lý chương trình.
3.3.1

Cơ sở dữ liệu và driver kết nối cần thiết

Sử dụng cơ sở dữ liệu my sql để lưu trữ dữ liệu.

3.3.2

Chương trình cần thiết :

 Xampp .
 Thư viện Mysql-connector-java.
3.3.3

Các lớp, hàm xử lý của chương trình.

15


Client:


Client.
 Rcarclient: chứa các form giao diện người dùng và các lớp xử lý kết nối với
Server.
 MainBaoDuongxe: chứa hàm main và các hàm dich vụ chịu trách nhiệm kết nối
và truy vấn dữ liệu từ Server.

16


 NhanDuLieu.java: là lớp Thread được khởi tạo từ MainBaoDuongxe dùng để
nhận các thông điệp trả về từ Server để truyền cho các hàm xử lý.
 Các lớp User, QLUser, loixe, BaoDuong, QLBDuong : chứa các hàm xử lý danh
sách nhân viên, Lỗi xe, Bảo Dưỡng đã thêm, xoá, sửa hay cập nhật ở các Form
chức năng.
 Dangnhap, QuanLyUser, QuanLyBaoDuong, QuanLyLoiXe: là các Form chức
năng.

Server:

Server.

17


 Rcarserver.java: là hàm chính của chương trình, chứa hàm main(), có trách
nhiệm lắng nghe kết nối và kết nối với client khi có yêu cầu.
 Phucvuclient.java: thực hiện tương tác với client, nhận thông tin từ client gửi lên
và trả về kết quả phù hợp, chức các hàm thao tác.
 Các lớp User, QLUser, loixe, BaoDuong, QLBDuong : chứa các hàm xử lý và
truy vấn CSDL danh sách nhân viên, Lỗi xe, Bảo Dưỡng để đáp trả yêu cầu của

Client.

18


3.4 Hướng dẫn cài đặt và demo chương trình
Chương trình gồm 3 thành phần chính: Client, Server và MySQL.
3.4.1

Phần đăng nhập và phân quyền.

Khởi động chương trình mysql sau đó chạy Server tiếp theo là đến Client.
Chọn HeThong/Ket Noi : để thiết lập kết nối với Server và CSDL bằng lệnh
KETNOICSDL(010).
Server khi kết nối được sẽ đáp trả bằng lệnh DAKETNOICSDL(011) và xác thưc
thành công (012).

19


Khi Giao diện Client đã kết nối với Server và CSDL:

20


Đăng nhập theo tài khoản được cấp vào chương trình và thao tác bình thường.
Tài khoản Admin: khang Mật khẩu: 123456.
Tài khoản Nhân viên: U0002 Mật khẩu: user@123
Client gửi lệnh DANGNHAP(20) cho Server.
Server xác nhận tài khoản và gửi lại lệnh XACNHAN(21), thành công (22) và thất bại

(23).

21


22


Phân quyền quản trị viên được xác thực các chức năng được bật lên:

23


Phân quyền Nhân viên được xác thực các chức năng được bật lên:

24


3.4.2

Phần chức năng:

a Nạp Dữ Liệu:
 Mô tả:
Client gửi lệnh Nạp Dữ liệu đến Server, gồm có 3 lệnh NAPUSER(100),
NAPLOIXE(110), NAPDLBD(120).
Server nhận yêu cầu và truy vấn CSDL.
Server trả về Client dữ liệu đã truy vấn bằng 3 lệnh NHANUSER(101),
NHANLOIXE(111), NHANDLBD(121).
 Thực nghiệm:


25


26


×