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

Xây dựng phần mềm quản lý ký túc xá (báo cáo cuối kì đồ án 2)

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.53 MB, 70 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

SƠN NGỌC MINH

ĐỒ ÁN 2

XÂY DỰNG PHẦN MỀM QUẢN LÝ KÝ TÚC XÁ

BUILDING DORM MANAGEMENT APPLICATION

NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2022


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

SƠN NGỌC MINH – 19521853

ĐỒ ÁN 2

XÂY DỰNG PHẦN MỀM QUẢN LÝ KÝ TÚC XÁ
BUILDING DORM MANAGEMENT APPLICATION

NGÀNH KỸ THUẬT PHẦN MỀM



GIẢNG VIÊN HƯỚNG DẪN
Ths. Trần Thị Hồng Yến

TP. HỒ CHÍ MINH, 2022


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT

TRƯỜNG ĐẠI HỌC

NAM

CÔNG NGHỆ THÔNG TIN

Độc lập – Tự do – Hạnh phúc

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI:
XÂY DỰNG PHẦN MỀM QUẢN LÝ KÝ TÚC XÁ
TÊN ĐỀ TÀI TIẾNG ANH:
BUILDING DORM MANAGEMENT SOFTWARE
Cán bộ hướng dẫn:ThS. Trần Thị Hồng Yến
Thời gian thực hiện: Từ ngày: 21/02/2022 đến ngày: 10/06/2022
Sinh viên thực hiện:
Sơn Ngọc Minh - 19521853
Nội dung đề tài:
1. Giới thiệu đề tài:

Hiện nay, công nghệ thông tin càng ngày càng được đưa vào áp dụng rộng rãi
trong đời sống. Việc quản lý ký túc xá sinh viên một cách thủ công ngày càng lộ ra
nhiều nhược điểm như: khó khăn trong việc lưu trữ giấy tờ, mất mát thông tin, mất
nhiều thời gian cho các quy trình xử lý thủ cơng, cần tiêu tốn nhiều nhân lực…. Nhận
thấy được những nhược điểm đó có thể được khắc phục bằng cách áp dụng cơng nghệ
vào quy trình quản lý ký túc xá. Cụ thể hơn là cần có một phần mềm hỗ trợ việc quản
lý ký túc xá nhằm giảm thiểu chi phí và nhân lực cũng như làm cho các hoạt động
quản lý ký túc được dễ dàng, nhanh chóng một cách tự động và chính xác nhất.
Nắm bắt được nhu cầu đó, nhóm đã quyết định chọn đề tài xây dựng phần mềm
quản lý ký túc xá giúp cho những nhân viên của ký túc xá có thể xem và nhập liệu


thơng tin của sinh viên, quản lý về phịng ốc, điện nước…
2. Mục tiêu đề tài:
-

Xây dựng được phần mềm quản lý ký túc xá với những chức năng cơ bản và mở
rộng như:
+

Quản lý phòng: loại phòng, số phòng, số chỗ, sinh viên trong phịng…

+

Xem và nhập liệu thơng tin sinh viên nội trú.

+

Xếp phòng cho sinh viên: xếp phịng thủ cơng (chọn phịng cho từng sinh
viên), xếp phịng tự động theo quy tắc (lấp đầy các phòng theo khu, thứ tự

phịng, giới tính).

+

Quản lý lưu trú tại phịng: sơ đồ phòng, quản lý danh sách sinh viên từng
phòng, điện nước, các khoản thu của sinh viên.

+

Quản lý thu tiền phòng và các khoản thu khác.

+

Quản lý điện nước: cập nhật, tính tiền điện nước, in phiếu báo sử dụng
điện nước theo tháng, lập phiếu thu tiền, báo cáo số tiền đã nộp và tiền nợ
từng phòng.

-

Báo cáo thống kê: tài chính, nợ tiền phịng và các khoản khác.
Ngồi ra, phần mềm cần phải có giao diện thân thiện dễ sử dụng và thao tác.

3. Phạm vi đề tài:


Phạm vi mơi trường:
o Ứng dụng có thể hoạt động trên tất cả các hệ điều hành desktop có cài đặt
máy ảo Java




Phạm vi chức năng:
o Quản lý thơng tin sinh viên
o Quản lí phịng
o Quản lí lưu trú tại phịng
o Quản lí thu tiền phịng
o Quản lý điện nước
o Xếp phòng cho sinh viên
o Báo cáo thống kê

4. Đối tượng sử dụng:
-

Nhân viên ký túc xá: trưởng nhà, nhân viên khác


5. Phương pháp thực hiện:
-

Tìm hiểu về Java, MySQL và các thư viện cần thiết.

-

Tìm hiểu các ứng dụng liên quan để hiểu rõ về nghiệp vụ.

-

Tiến hành phân tích và thiết kế hệ thống.

-


Tìm hiểu UX/UI và tiến hành thiết kế giao diện cho ứng dụng.

-

Tiến hành triển khai và kiểm thử.

6. Công nghệ sử dụng:
-

Backend: MySQL

-

Language: Java

-

Database: MySQL

-

Source Control: Github

7. Kết quả mong đợi:
-

Nắm bắt và áp dụng được các công nghệ để xây dựng sản phẩm đề tài.

-


Xây dựng được ứng dụng đáp ứng được tất cả các chức năng đã đề ra.

-

Giao diện ứng dụng đơn giản và dễ sử dụng đối với người dùng.

-

Có thể mở rộng thêm các chức năng mới cho ứng dụng trong tương lai.

Kế hoạch thực hiện:
Giai đoạn
Chuẩn bị
kiến thức về
công nghệ
Phân tích,

Thời gian

Cơng việc

21/02/2022 – 07/03/2022 - Tìm hiểu về Java.
- Xác định chức năng
- Tìm hiểu thư viện cần thiết và MySQL.
08/03/2022 – 08/04/2021 - Phân tích, xác định, đặc tả chức năng.

thiết kế

- Vẽ các lưu đồ, các luồng xử lí.


hệ thống

- Xây dựng CSDL.
- Xây dựng base source.
- Thiết kế UI.

Xây dựng
ứng dụng
Kiểm thử
và sửa lỗi

09/04/2021 – 16/05/2021 - Phát triển giao diện bằng Java.
- Xây dụng các chức năng của ứng dụng
17/05/2021 – 31/05/2021 - Thực hiện kiểm thử các luồng chức năng.
- Tiến hành sửa lỗi phát sinh nếu có.


- Cải thiện giao diện và hoàn thành ứng dụng
Hoàn thiện

01/06/2022 – 10/06/2022 - Viết báo cáo khóa luận.

báo cáo và

- Làm slide thuyết trình.

slide thuyết
trình


TP. HCM, ngày 11 tháng 03 năm 2022
Xác nhận của CBHD

Sinh viên

(Ký tên và ghi rõ họ tên)

(Ký tên và ghi rõ họ tên)

ThS. Trần Thị Hồng Yến

Sơn Ngọc Minh


LỜI NÓI ĐẦU
Trong những năm gần đây sự phát triển vượt bậc của khoa học công nghệ đang
mang tới sự thay đổi nhanh chóng cho tất cả các lĩnh vực. Hầu hết các lĩnh vực quan
trọng trong nền kinh tế hiện nay đều cố gắng áp dụng khoa học công nghệ vào q
trình sản xuất, quản lý, kinh doanh… Khơng ai có thể phủ nhận được lợi ích mà
khoa học cơng nghệ mang lại. Mà phần mềm chính là một trong những biểu tượng
hàng đầu trong khoa học công nghệ.
Hiện nay mỗi đơn vị sản xuất kinh doanh muốn có lợi nhuận cao, muốn các
hoạt động của đơn vị được nhanh chóng thuận lợi thì đều áp dụng phần mềm vào
trong hệ thống của họ. Ký túc xá sinh viên cũng là một đơn vị có nhu cầu như vậy.
Vấn đề được đặt ra khi khâu quản lý của ký túc xá hiện tại chưa được áp dụng
những công nghệ để tự động hóa mà vẫn cịn tồn tại những khâu làm việc thủ công
mà nổi trội hơn hết là vấn đề nhập liệu và lưu trữ thông tin.
Nắm bắt được tình hình nó nhóm chúng em đã chọn đề tài cho Đồ án 2 “Xây
dựng phần mềm quản lý ký túc xá”.
Nội dung của báo cáo này gồm 4 chương chính.

Chương 1 Mở đầu.
Chương 2 Cơ sở lý thuyết và cơng nghệ.
Chương 3 Phân tích và thiết kế hệ thống.
Chương 4 Kết luận.


LỜI CẢM ƠN
Lời đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc đến cô Trần Thị Hồng Yến –
Giảng viên hướng dẫn chúng em thực hiện Đồ án 2, cơ đã cùng đồng hành và
tận tình hướng dẫn cho chúng em qua từng giai đoạn của đồ án. Nhờ có sự giúp
đỡ nhiệt tình của cơ mà chúng em có thể hồn thành được được đồ án này một
cách tốt nhất. Vì kiến thức của chúng em vẫn cịn hạn hẹp nên khơng thể tránh
khỏi những thiếu sót trong quá trình thực hiện đồ án. Tuy nhiên, chúng em đã cố
gắng hoàn thành đúng hạn và hạn chế các lỗi nhiều nhất có thể. Nhóm chúng em
ln mong đợi nhận được những ý kiến đóng góp quý báu từ cơ và qua đó có
thể rút kinh nghiệm, tự sửa chữa, hồn thiện bản thân mình trên tinh thần
nghiêm túc, tự giác học hỏi. Trong quá trình làm đề tài báo cáo, sẽ khơng thể
tránh khỏi các thiếu sót, rất mong nhận được phản hồi từ cô và các bạn để góp
phần làm cho bản báo cáo thêm hồn thiện hơn.
Chân thành cảm ơn cô!


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................

..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................


MỤC LỤC
Chương 1. MỞ ĐẦU ........................................................................................................................2
1.1. Lý do chọn đề tài ................................................................................................................2
1.2. Mục đích đề tài ...................................................................................................................2
1.3. Phạm vi đề tài ......................................................................................................................3
1.3.1.

Phạm vi môi trường ..............................................................................................3

1.3.2.

Phạm vi chức năng ................................................................................................3

1.4. Đối tượng sử dụng .............................................................................................................3

Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ.................................................................4
2.1. Java .........................................................................................................................................4
2.1.1.

Tổng quan về Java .................................................................................................4

2.1.2.

Đặc điểm của Java .................................................................................................4

2.1.3.

Máy ảo Java (JVM – Java Virtual Machine) ...............................................6

2.1.4.

Các phiên bản của Java........................................................................................7

2.2. JavaFX ...................................................................................................................................8
2.2.1.

JavaFX là gì? ...........................................................................................................8

2.2.2.

Các tính năng quan trọng của JavaFX............................................................8

2.3. MySQL ............................................................................................................................... 10
2.3.1.


Sơ lược về MySQL ............................................................................................ 10

2.3.2.

Những lợi ích khi sử dụng MySQL.............................................................. 10

2.4. Mơ hình MVC .................................................................................................................. 11
Chương 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ......................................................... 13
3.1. Phân tích hệ thống .......................................................................................................... 13


3.1.1.

Xác định yêu cầu hệ thống .............................................................................. 13

3.2. Thiết kế hệ thống ............................................................................................................. 14
3.2.1.

Sơ đồ use case ...................................................................................................... 14

3.2.2.

Đặc tả use case..................................................................................................... 16

3.2.3.

Thiết kế CSDL ..................................................................................................... 24

3.3. Thiết kế giao diện và mô tả xử lý .............................................................................. 29
3.3.1.


Đăng nhập ............................................................................................................. 29

3.3.2.

Trang chủ.............................................................................................................. 30

3.3.3.

Quản lý phòng ..................................................................................................... 32

3.3.4.

Quản lý sinh viên ................................................................................................ 35

3.3.5.

Quản lý hóa đơn .................................................................................................. 40

3.3.6.

Báo cáo thống kê ................................................................................................ 47

3.3.7.

Quản lý tòa ............................................................................................................ 48

3.3.8.

Quản lý tài khoản và nhân viên ..................................................................... 49


Chương 4. KẾT LUẬN ................................................................................................................. 53
4.1. Kết quả đạt được ............................................................................................................. 53
4.1.1.

Lý thuyết ................................................................................................................ 53

4.1.2.

Công nghệ ............................................................................................................. 53

4.1.3.

Ứng dụng ............................................................................................................... 53

4.2. Hạn chế ............................................................................................................................... 54
4.3. Hướng phát triển ........................................................................................................... 54


DANH MỤC HÌNH
Hình 2.1 Q trình thơng dịch .....................................................................................................5
Hình 2.2 Java Virtual Machine .....................................................................................................7
Hình 2.3 Mơ hình MVC ................................................................................................................. 12
Hình 3. 1 Sơ đồ use case .............................................................................................................. 14
Hình 3.2 Mơ hình ERD.................................................................................................................. 24
Hình 3.3 Giao diện đăng nhập .................................................................................................. 29
Hình 3.4 Trang chủ khi đăng nhập với quyền admin..................................................... 30
Hình 3.5 Trang chủ khi đăng nhập với quyền user......................................................... 31
Hình 3.6 Trang chính quản lý phịng ..................................................................................... 32
Hình 3. 7 Thêm phịng.................................................................................................................. 33

Hình 3. 8 Chi tiết phịng............................................................................................................... 34
Hình 3. 9 Chỉnh sửa thơng tin phịng..................................................................................... 35
Hình 3. 10 Trang chính quản lý sinh viên ........................................................................... 36
Hình 3. 11 Thêm mới sinh viên................................................................................................ 37
Hình 3. 12 Chi tiết thơng tin sinh viên .................................................................................. 38
Hình 3. 13 Chỉnh sửa thơng tin sinh viên ............................................................................ 39
Hình 3. 14 Xếp phịng thủ cơng ................................................................................................ 40
Hình 3. 15 Trang chính quản lý hóa đơn điện-nước khi khơng có hóa đơn ........ 41
Hình 3. 16 Trang chính quản lý hóa đơn điện-nước khi có hóa đơn ...................... 41
Hình 3. 17 Thêm hóa đơn ........................................................................................................... 42
Hình 3. 18 Chi tiết hóa đơn ........................................................................................................ 44
Hình 3. 19 Trang chính hóa đơn tiền phịng ...................................................................... 45
Hình 3. 20 Thêm hóa đơn tiền phịng ................................................................................... 46
Hình 3. 21 Chi tiết hóa đơn tiền phịng ................................................................................ 47
Hình 3. 22 Báo cáo thống kê ...................................................................................................... 48
Hình 3. 23 Quản lý tịa.................................................................................................................. 49
Hình 3. 24 Trang chính quản lý tài khoản và nhân viên ............................................... 50


Hình 3. 25 Chi tiết thơng tin tài khoản và nhân viên ...................................................... 51
Hình 3. 26 Chỉnh sửa thơng tin tài khoản và nhân viên ................................................ 52


DANH MỤC BẢNG
Bảng 3. 1 Danh sách Actor ......................................................................................................... 14
Bảng 3. 2 Danh sách use case.................................................................................................... 15
Bảng 3. 3 Use case quản lý phòng ........................................................................................... 16
Bảng 3. 4 Use case quản lý sinh viên ..................................................................................... 17
Bảng 3. 5 Use case quản lý hóa đơn ....................................................................................... 17
Bảng 3. 6 Use case báo cáo thống kê ..................................................................................... 19

Bảng 3. 7 Use case quản lý tòa ................................................................................................. 19
Bảng 3. 8 Use case xếp phịng thủ cơng................................................................................ 20
Bảng 3. 9 Use case xếp phịng tự động ................................................................................. 21
Bảng 3. 10 Use case xuất hóa đơn .......................................................................................... 21
Bảng 3. 11 Use case đăng nhập ................................................................................................ 22
Bảng 3. 12 Use case đăng xuất ................................................................................................. 23
Bảng 3. 13 Use case quản lý tài khoản và nhân viên ...................................................... 23
Bảng 3. 14 Account ........................................................................................................................ 25
Bảng 3. 15 Apartment .................................................................................................................. 25
Bảng 3. 16 Electricity and Water Bill .................................................................................... 26
Bảng 3. 17 Employee .................................................................................................................... 27
Bảng 3. 18 Rent Bill ....................................................................................................................... 27
Bảng 3. 19 Room............................................................................................................................. 28
Bảng 3. 20 Student......................................................................................................................... 28


DANH MỤC TỪ VIẾT TẮT
JVM – Java Virtual Machine
MVC – Model-View-Controller
CSDL – Cơ sở dữ liệu


TÓM TẮT ĐỒ ÁN
Đề tài xây dựng phần mềm quản lý ký túc xá giúp cho những nhân viên của ký túc
xá có thể xem và nhập liệu thơng tin của sinh viên, quản lý về phòng ốc, điện
nước… nhằm giảm thiểu chi phí và nhân lực cũng như làm cho các hoạt động quản
lý ký túc được dễ dàng, nhanh chóng một cách tự động và chính xác nhất.

1



Chương 1. MỞ ĐẦU
1.1. Lý do chọn đề tài
Hiện nay, công nghệ thông tin càng ngày càng được đưa vào áp dụng rộng rãi
trong đời sống. Việc quản lý ký túc xá sinh viên một cách thủ công ngày càng lộ ra
nhiều nhược điểm như: khó khăn trong việc lưu trữ giấy tờ, mất mát thông tin, mất
nhiều thời gian cho các quy trình xử lý thủ cơng, cần tiêu tốn nhiều nhân lực….
Nhận thấy được những nhược điểm đó có thể được khắc phục bằng cách áp dụng
cơng nghệ vào quy trình quản lý ký túc xá. Cụ thể hơn là cần có một phần mềm hỗ
trợ việc quản lý ký túc xá nhằm giảm thiểu chi phí và nhân lực cũng như làm cho
các hoạt động quản lý ký túc được dễ dàng, nhanh chóng một cách tự động và chính
xác nhất.
Nắm bắt được nhu cầu đó, nhóm đã quyết định chọn đề tài xây dựng phần mềm
quản lý ký túc xá giúp cho những nhân viên của ký túc xá có thể xem và nhập liệu
thơng tin của sinh viên, quản lý về phòng ốc, điện nước…
1.2. Mục đích đề tài
-

Xây dựng được phần mềm quản lý ký túc xá với những chức năng cơ bản và
mở rộng như:
+

Quản lý phòng: loại phòng, số phòng, số chỗ, thiết bị trong phịng,
tình trạng sử dụng.

+

Xem và nhập liệu thơng tin sinh viên nội trú.

+


Xếp phịng cho sinh viên: xếp phịng thủ cơng (chọn phịng cho từng
sinh viên), xếp phòng tự động theo quy tắc (lấp đầy các phòng theo
khu, thứ tự phịng, giới tính).

+

Quản lý lưu trú tại phòng: sơ đồ phòng, quản lý danh sách sinh viên
từng phịng, điện nước, các khoản thu của sinh viên, thơng tin các
thiết bị trong phòng.

+

Quản lý thu tiền phòng và các khoản thu khác.

2


+

Quản lý điện nước: cập nhật, tính tiền điện nước, in phiếu báo sử
dụng điện nước theo tháng, lập phiếu thu tiền, báo cáo số tiền đã nộp
và tiền nợ từng phịng.

+

Báo cáo thống kê: tài chính, nợ tiền phịng và các khoản khác, thiết
bị trong phịng (số lượng tình trạng).

-


Ngồi ra, phần mềm cần phải có giao diện thân thiện dễ sử dụng và thao tác.

1.3. Phạm vi đề tài
1.3.1.

Phạm vi mơi trường

Ứng dụng có thể hoạt động trên tất cả các hệ điều hành desktop có cài đặt
máy ảo Java.
1.3.2.

Phạm vi chức năng

-

Quản lý thông tin sinh viên

-

Quản lí phịng

-

Quản lí lưu trú tại phịng

-

Quản lí thu tiền phòng


-

Quản lý điện nước

-

Xếp phòng cho sinh viên

-

Báo cáo thống kê

1.4. Đối tượng sử dụng
Nhân viên ký túc xá: trưởng nhà, thu ngân

3


Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
2.1. Java
2.1.1.

Tổng quan về Java

Java là một trong những ngôn ngữ lập trình hướng đối tượng. Nó được sử dụng
trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động.
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem
năm 1991.
Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write
Once, Run Anywhere – WORA). Chương trình phần mềm viết bằng Java có thể

chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với
điều kiện có mơi trường thực thi thích hợp hỗ trợ nền tảng đó.
2.1.2.

Đặc điểm của Java

2.1.2.1. Hướng đối tượng hồn tồn
Trong q trình tạo ra một ngơn ngữ mới phục vụ cho mục đích chạy
được trên nhiều nền tảng, các kỹ sư của Sun MicroSystem muốn tạo ra một
ngôn ngữ dễ học và quen thuộc với đa số người lập trình. Vì vậy họ đã sử
dụng lại các cú pháp của C và C++.
Tuy nhiên, trong Java thao tác với con trỏ bị lược bỏ nhằm đảo bảo tính
an toàn và dễ sử dụng hơn. Các thao tác overload, goto hay các cấu trúc như
struct và union cũng được loại bỏ khỏi Java.
2.1.2.2. Độc lập phần cứng và hệ điều hành
Một chương trình viết bằng ngơn ngữ Java có thể chạy tốt ở nhiều môi
trường khác nhau. Gọi là khả năng “cross-platform”. Khả năng độc lập phần
cứng và hệ điều hành được thể hiện ở 2 cấp độ là cấp độ mã nguồn và cấp độ
nhị phân.

4


Ở cấp độ mã nguồn: Kiểu dữ liệu trong Java nhất quán cho tất cả các hệ
điều hành và phần cứng khác nhau. Java có riêng một bộ thư viện để hỗ trợ
vấn đề này. Chương trình viết bằng ngơn ngữ Java có thể biên dịch trên
nhiều loại máy khác nhau mà không gặp lỗi.
Ở cấp độ nhị phân: Một mã biên dịch có thể chạy trên nhiều nền tảng
khác nhau mà không cần dịch lại mã nguồn. Tuy nhiên cần có Java Virtual
Machine để thơng dịch đoạn mã này.

2.1.2.3. Ngơn ngữ thơng dịch
Ngơn ngữ lập trình Java thuộc loại ngơn ngữ thơng dịch. Chính xác hơn,
Java là loại ngơn ngữ vừa biên dịch vừa thông dịch. Cụ thể như sau
Khi viết mã, hệ thống tạo ra một tệp .java. Khi biên dịch mã nguồn của
chương trình sẽ được biên dịch ra mã byte code. Máy ảo Java (Java Virtual
Machine) sẽ thông dịch mã byte code này thành machine code (hay native
code) khi nhận được yêu cầu chạy chương trình.

Hình 2.1 Q trình thơng dịch
2.1.2.4. Cơ chế thu gom rác tự động
Bộ thu dọn rác của Java sẽ theo vết các tài ngun đã được cấp. Khi
khơng có tham chiếu nào đến vùng nhớ, bộ thu dọn rác sẽ tiến hành thu hồi
vùng nhớ đã được cấp phát.

5


2.1.2.5. Đa luồng
Java hỗ trợ lập trình đa tiến trình (multithread) để thực thi các công việc
đồng thời. Đồng thời cũng cung cấp giải pháp đồng bộ giữa các tiến trình
(giải pháp sử dụng priority…).
2.1.2.6. An tồn và bảo mật
Java yêu cầu chặt chẽ về kiểu dữ liệu, dữ liệu phải được khai báo tường
minh, không sử dụng con trỏ hay các phép toán với con trỏ
Java kiểm soát chặt chẽ việc truy nhập đến các mảng, chuỗi. Không cho
phép sử dụng các kỹ thuật tràn, quá trình cấp phát và giải phóng bộ nhớ được
thực hiện tự động, cơ chế xử lý lỗi giúp việc xử lý và phục hồi lỗi dễ dàng
hơn.
Để đảm bảo tính bảo mật Java cung cấp mơi trường quản lý chương trình
với nhiều mức khác nhau.

Mức 1: Chỉ có thể truy xuất dữ liệu cũng như phương thức thông qua
giao diện mà lớp cung cấp.
Mức 2: Trình biên dịch kiểm sốt các đoạn mã sao cho tuân thủ các quy
tacsws của ngôn ngữ lập trình Java trước khi thơng dịch.
Mức 3: Trình thơng dịch sẽ kiểm tra mã byte code xem các đoạn mã này
có đảm bảo được các quy định, quy tác trước khi thực thi.
Mức 4: Java kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi
phạm giới hạn truy xuất trước khi nạp vào hệ thống.
2.1.3.

Máy ảo Java (JVM – Java Virtual Machine)

Để đảm bảo tính đa nền, Java sử dụng cơ chế Máy ảo của Java.
Một chương trình sau khi được viết bằng ngơn ngữ Java (có phần mở rộng là
.java) phải được biên dịch thành tập tin thực thi được trên máy ảo Java (có phần mở

6


rộng là .class). Tập tin thực thi này chứa các chỉ thị dưới dạng mã Bytecode mà
máy ảo Java hiểu được phải làm gì.
Máy ảo thực tế đó là một chương trình thơng dịch. Vì thế các hệ điều hành khác
nhau sẽ có các máy ảo khác nhau. Để thực thi một ứng dụng của Java trên một hệ
điều hành cụ thể, cần phải cài đặt máy ảo tương ứng cho hệ điều hành đó.
JVM cung cấp mơi trường thực thi cho chương trình Java (cịn gọi là khả năng
độc lập với nền).

Hình 2.2 Java Virtual Machine
2.1.4.


Các phiên bản của Java

Java Standard Edition (Java SE) – Là một nền tảng cơ bản cho phép phát
triển giao diện điều khiển, các ứng dụng mạng và các ứng dụng dạng Win Form.

7


Java Enterprise Edition (Java EE) – Được xây dựng trên nền tảng Java SE,
giúp phát triển các ứng dụng web, các ứng dụng ở cấp doanh nghiệp, …

Java Mobile Edition (Java ME) – Là một nền tảng cho phép phát triển các
ứng dụng nhúng vào các thiết bị điện tử như mobile, …
2.2. JavaFX
2.2.1.

JavaFX là gì?

JavaFX là nền tảng để tạo và phân phối các ứng dụng dành cho máy tính để bàn
cũng như các ứng dụng RIAs (Rich Internet Applications) có thể chạy trên nhiều
thiết bị khác nhau.
JavaFX được phát triển bởi kỹ sư Chris Oliver, ban đầu dự án được đặt tên là
F3 (Form Follows Functions). Sau đó vào năm 2005 thì Sun Micro-Systems đã mua
lại dự án F3 và đổi tên thành JavaFX.
JavaFX dự định thay thế hoàn toàn Swing làm thư viện GUI chuẩn cho Java SE.
JavaFX hỗ trợ cho các máy tính để bàn và trình duyệt web trên nền tảng Windows,
Linux và macOS.
2.2.2.

Các tính năng quan trọng của JavaFX


Được viết bằng Java - Thư viện JavaFX được viết bằng Java và có sẵn cho các
ngơn ngữ có thể được thực thi trên JVM, bao gồm - Java, Groovy và JRuby. Các
ứng dụng JavaFX này cũng độc lập với nền tảng.
FXML - JavaFX có một ngôn ngữ được gọi là FXML, là một ngôn ngữ đánh
dấu khai báo HTML giống như HTML. Mục đích duy nhất của ngôn ngữ này là xác
định Giao diện người dùng.
Scene Builder - JavaFX cung cấp một ứng dụng có tên là Scene Builder. Khi
tích hợp ứng dụng này trong IDE như Eclipse và NetBeans, người dùng có thể truy

8


cập giao diện thiết kế kéo và thả, được sử dụng để phát triển các ứng dụng FXML
(giống như Ứng dụng Swing Drag & Drop và DreamWeaver).
Khả năng tương tác của Swing - Trong ứng dụng JavaFX, bạn có thể nhúng nội
dung Swing bằng cách sử dụng lớp Swing Node. Tương tự, bạn có thể cập nhật các
ứng dụng Swing hiện có với các tính năng JavaFX như nội dung web nhúng và
phương tiện đồ họa phong phú.
Các điều khiển giao diện người dùng tích hợp sẵn - Thư viện JavaFX phục vụ
các điều khiển giao diện người dùng bằng cách sử dụng những thứ mà chúng ta có
thể phát triển một ứng dụng đầy đủ tính năng.
CSS giống như Styling - JavaFX cung cấp một CSS giống như tạo kiểu. Bằng
cách sử dụng này, bạn có thể cải thiện thiết kế ứng dụng của mình với kiến thức đơn
giản về CSS.
Canvas và API in - JavaFX cung cấp Canvas, một kiểu API hiển thị ở chế độ
tức thì. Trong gói javafx.scene.canvas, nó chứa một tập hợp các lớp cho canvas,
bằng cách sử dụng chúng, chúng ta có thể vẽ trực tiếp trong một khu vực của cảnh
JavaFX. JavaFX cũng cung cấp các lớp cho mục đích in ấn trong gói javafx.print.
Bộ API phong phú - Thư viện JavaFX cung cấp một bộ API phong phú để phát

triển các ứng dụng GUI, đồ họa 2D và 3D, v.v. Bộ API này cũng bao gồm các khả
năng của nền tảng Java. Do đó, bằng cách sử dụng API này, bạn có thể truy cập các
tính năng của ngơn ngữ Java như Generics, Annotations, Multithreading và Lambda
Expressions. Thư viện Java Collections truyền thống đã được cải tiến và các khái
niệm như danh sách và bản đồ có thể quan sát được cũng được đưa vào trong đó. Sử
dụng chúng, người dùng có thể quan sát những thay đổi trong các mơ hình dữ liệu.
Thư viện đồ họa tích hợp - JavaFX cung cấp các lớp cho đồ họa 2D và 3D.
Đường ống đồ họa - JavaFX hỗ trợ đồ họa dựa trên đường ống đồ họa tăng tốc
phần cứng được gọi là Prism. Khi được sử dụng với Card đồ họa hoặc GPU được

9


hỗ trợ, nó cung cấp đồ họa mượt mà. Trong trường hợp hệ thống khơng hỗ trợ card
đồ họa thì prism (lăng kính) sẽ được mặc định là ngăn xếp kết xuất phần mềm.
2.3. MySQL
2.3.1.

Sơ lược về MySQL

MySQL chính là hệ quản trị cơ sở dữ liệu mã nguồn mở Relational Database
Management System – RDBMS hiện nay được sử dụng phổ biến trên phạm vi toàn
cầu. Hệ quản trị cơ sở dữ liệu này hoạt động dựa trên mơ hình tiêu chuẩn là Client
(Máy khách) – Server (Máy chủ).
Vì MySQL là hệ quản trị 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.
2.3.2.


Những lợi ích khi sử dụng MySQL

-

Khả năng mở rộng và tính linh hoạt:

Máy chủ cơ sở dữ liệu MySQL đáp ứng nhiều tính năng linh hoạt, nó có sức
chứa để xử lý các ứng dụng được nhúng sâu với 1MB dung lượng để chạy kho dữ
liệu khổng lồ lên đến hàng terabytes thơng tin. Đặc tính đáng chú ý của MySQL là
sự linh hoạt về flatform với tất cả các phiên bản của Windows, Unix và Linux đang
được hỗ trợ.
-

Hiệu năng cao:

Với kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình
máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng chuyên biệt. Dù ứng
dụng là website dung lượng lớn phục vụ hàng triệu người/ngày hay hệ thống xử lý
giao dịch tốc độ cao thì MySQL đều đáp ứng được khả năng xử lý khắt khe của mọi
hệ thống. Với những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao khác và đặc biệt
bộ nhớ caches, MySQL đưa ra tất cả nhưng tính năng cần có cho hệ thống doanh
nghiệp khó tính hiện nay.

10


×