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

ATOM_Báo cáo cuối kỳ_Môn: lập trình ứng dụng Java

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.89 MB, 30 trang )

TRƯỜNG ĐẠI HỌC GIA ĐỊNH
KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN CUỐI KỲ

MƠN: Lập Trình Ứng Dụng JAVA

ĐỀ TÀI

Xây dựng ứng dụng Java quản lý điểm sinh viên

Giảng Viên: Th.s Đinh Hoàng Gia
Sinh Viên: Nguyễn Đức Phát
MSSV: 2108110196
Lớp: K15DCPM07
Ngành: Kỹ Thuật Phần Mềm

TP. HỒ CHÍ MINH, NĂM 2023


Khoa/Viện: …………………………
NHẬN XÉT VÀ CHẤM ĐIỂM CỦA GIẢNG VIÊN
TIỂU LUẬN MƠN: Lập Trình Ứng Dụng JAVA
1. Họ và tên sinh viên: Đức Phát
Tên đề tài: Xây dựng ứng dụng Java quản lý điểm sinh viên
2. Nhận xét:

a) Những kết quả đạt được:
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................


............................................................................................................................................
............................................................................................................................................
b) Những hạn chế:
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
2. Điểm đánh giá (theo thang điểm 10, làm tròn đến 0.5):
Sinh viên:……………………………………………………………………
Điểm số:……….……Điểm chữ:……………………………………………
TP. HCM, ngày … tháng … năm
20……
Giảng viên chấm thi
(Ký và ghi rõ họ tên)


Mục Lục

Giới thiệu đề tài..............................................................................................................1
Lời cảm ơn.....................................................................................................................1
Lời mở đầu.....................................................................................................................2
CHƯƠNG I. TỔNG QUAN...........................................................................................2
1. Lý Do Chọn Đề Tài....................................................................................................2
1.1. Khảo sát thực trạng..................................................................................................2
1.2. Đánh giá..................................................................................................................3
1.2.1 Nhược điểm...........................................................................................................3
1.2.2: Ưu điểm...............................................................................................................3
1.3. Đối tượng và phạm vi của ứng dụng.......................................................................3
1.3.1 Đối tượng...............................................................................................................3
1.3.2 Phạm vi .................................................................................................................3

1.3.3 Rằng buộc tổng quan hệ thống..............................................................................4
1.4. Mô tả phương án tổng quan.....................................................................................4
1.4.1 Phương án lưu trữ..................................................................................................4
1.4.2 Phương án khả thi..................................................................................................5
CHƯƠNG II: CƠ SỞ LÝ THUYẾT..............................................................................5
2.1 Tổng quan về Java....................................................................................................5
2.1.1. Môi trường lập trình.............................................................................................5
2.1.2 Ngơn ngữ lập trình Java........................................................................................5
2.1.3 Tìm hiểu kiến trúc MVC trong Java 7..................................................................5
2.2 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Sever 2005........................................9
2.3 Tổng quan về Eclipse.............................................................................................10
2.4 Tổng quan về Visual Studio Code..........................................................................11
CHƯƠNG III : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG........................................11
3.1 Xác định yêu cầu....................................................................................................11
3.1.1 Yêu cầu chức năng..............................................................................................12
3.1.2 Yêu cầu hệ thống.................................................................................................12
3.2 Mơ Hình Hóa..........................................................................................................12
3.2.1 Mơ hình hóa chức năng.......................................................................................12
3.3 Cơ sở dữ liệu hệ thống...........................................................................................17
3.3.1 Bảng sinh viên.....................................................................................................17
3.3.2 Bảng Giảng Viên.................................................................................................17
3.3.3 Bảng điểm...........................................................................................................17
3.3.4 Bảng Lớp............................................................................................................18
3.3.5 Bảng Khoa..........................................................................................................18
3.3.6 Bảng Môn học....................................................................................................18
3.3.7 Bảng Đăng nhập.................................................................................................18
3.4 Sơ đồ liên kết........................................................................................................19
3.5.CÁC THÀNH PHẦN CHỨC NĂNG CỦA HỆ THỐNG...................................19
3.5.1 Menu..................................................................................................................19
3.5.2. Chức năng đăng nhập hệ thống........................................................................19

3.5.3. Chức năng thông tin sinh viên..........................................................................19
3.5.4. Chức năng hiển thị thông tin điểm của sinh viên.............................................19
3.5.5.Chức năng hiển thị thông tin giảng viên............................................................19
3.5.6.Chức năng hiển thị thông tin môn học...............................................................20
3.5.7.Chức năng hiển thị thông tin lớp học..................................................................20
3.6 Thiết kế giao diện hệ thống....................................................................................20


3.6.1 Form Đăng Nhập – Form chạy đầu tiên của phần mềm......................................20
3.6.2 Form Đăng Nhập Hệ Thống................................................................................21
3.6.3 Form Thông Tin Sinh Viên.................................................................................21
3.6.4 Form Bảng Điểm.................................................................................................22
3.6.5 Form Giảng Viên.................................................................................................22
3.6.6 Form Môn Học....................................................................................................23
3.6.7 Form lớp học.......................................................................................................23
KẾT LUẬN..................................................................................................................24
4.1 KẾT LUẬN ĐỀ TÀI..............................................................................................24
4.1.1 Đánh giá chung....................................................................................................24
4.1.2 Hướng phát triển và mở rộng đề tài....................................................................25
4.2 LỜI KẾT................................................................................................................25

.


Giới thiệu đề tài
Trong thời đại hiện đại của công nghệ thông tin, sự tiến bộ và phát triển của ứng
dụng phần mềm đã góp phần quan trọng trong việc cải thiện và nâng cao hiệu quả
trong nhiều lĩnh vực, đặc biệt là trong lĩnh vực giáo dục. Việc quản lý thông tin của
sinh viên, đặc biệt là điểm học tập, là một trong những khía cạnh quan trọng trong hệ
thống giáo dục. Tuy nhiên, với số lượng sinh viên ngày càng tăng và thông tin phong

phú, việc thực hiện cơng việc này một cách hiệu quả và chính xác đòi hỏi sự hỗ trợ từ
các ứng dụng quản lý.
Tiểu luận này nhằm tập trung trình bày về quá trình xây dựng và phát triển một ứng
dụng Java quản lý điểm sinh viên, nhằm giải quyết các thách thức trong việc quản lý
và theo dõi điểm số và thông tin cá nhân của sinh viên trong môi trường giáo dục. Dự
án này sẽ hướng đến việc tạo ra một ứng dụng dễ sử dụng, cung cấp thơng tin chính
xác và đáng tin cậy, và đảm bảo tính bảo mật và an tồn dữ liệu.
Mục tiêu của tiểu luận
Trình bày quy trình xây dựng ứng dụng quản lý điểm sinh viên sử dụng ngơn ngữ lập
trình Java và các cơng nghệ liên quan.
Đề xuất một giao diện người dùng thân thiện, dễ sử dụng để quản lý thông tin của
sinh viên và điểm học tập.
Giải thích các chức năng chính của ứng dụng, bao gồm quản lý thông tin sinh viên,
điểm số, tính tốn điểm trung bình và xếp loại học tập.
Trình bày quy trình tích hợp và sử dụng cơ sở dữ liệu để lưu trữ thông tin sinh viên và
điểm học tập.
Lời cảm ơn
Em xin gửi lời cảm ơn chân thành đến Thầy Đinh Hoàng Gia về việc xem xét và
đánh giá bài báo cáo môn học của em. Sự quan tâm và hỗ trợ từ Thầy đã đóng vai trị
quan trọng trong q trình thực hiện báo cáo này. Em biết ơn sự chỉ dẫn và hướng
dẫn chuyên mơn của Thầy trong suốt q trình nghiên cứu và viết báo cáo. Những
góp ý và nhận xét từ Thầy đã giúp em hiểu rõ hơn về chủ đề môn học và cải thiện bài
báo cáo của mình. Em cũng muốn bày tỏ lòng biết ơn đặc biệt đến Thầy về sự tận tâm
và kiến thức sâu sắc mà Thầy đã chia sẻ trong q trình giảng dạy mơn học. Những
kiến thức này đã trang bị cho em những kỹ năng quan trọng trong lĩnh vực này.
Cuối cùng, em xin chân thành cảm ơn Thầy Đinh Hoàng Gia em sẽ tiếp tục nỗ lực
và áp dụng những kiến thức đã học được để phát triển trong lĩnh vực này.
Em Xin chân thành cảm ơn và kính chúc Thầy sức khỏe, thành công và hạnh phúc.

1



Phần Mở Đầu
1. Lý do chọn đề

CHƯƠNG I. TỔNG QUAN

Trong những năm gần đây, khoa học công nghệ Việt Nam đã từng bước hội nhập
vào dòng chảy của khoa học công nghệ tiên tiến trên thế giới. Công nghệ thông tin ở
nước ta mới, song tốc độ phát triển của nó rất nhanh và mạnh, chiếm một vị trí quan
trọng trong các ngành khoa học công nghệ. Một trong những lĩnh vực đang được ứng
dụng tin học hóa rất phổ biến ở nước ta là lĩnh vực quản lý. Tin học hóa trong quản lý
đã giúp cho các nhà quản lý điều hành cơng việc một cách khoa học, chính xác và
hiệu quả.
Quản lý điểm là một trong những công việc tương đối phức tạp, tốn nhiều thời gian
và công sức. Chính vì vậy, tin học hóa trong lĩnh vực quản lí điểm là một yêu cầu tất
yếu. Muốn quản lý tốt cần có được các phần mềm tốt, phần mềm phải đảm bảo được
độ bảo mật cao, dễ sử dụng và nhiều tiện ích. Đề tài là một yêu cầu thiết thực trong
quản lý của các hầu hết tất cả các trường học đang hoạt động hiện nay.
Số lượng sinh viên đơng vì vậy điểm cần nhập vào là rất nhiều, chắc chắn sẽ gây
nhiều khó khăn trong việc quản lý điểm của sinh viên.
Khó khăn trong việc cập nhật, sửa chưa điểm của sinh viên
Khi cần tra cứu thông tin điểm của bất kỳ sinh viên nào chúng ta phải tìm, ra sốt
bằng phương pháp thủ cơng. Cơng việc này đòi hỏi tốn rất nhiều thời gian.
Những lợi ích


Tính thiết thực và ứng dụng cao: Xây dựng một ứng dụng quản lý điểm sinh viên
có tính thiết thực cao và có thể ứng dụng trong nhiều lĩnh vực giáo dục khác nhau.




Nâng cao hiệu quả quản lý: Giúp nâng cao hiệu quả trong việc quản lý thông tin
của sinh viên, tiết kiệm thời gian trong việc tổ chức và cập nhật thơng tin học tập.



Tối ưu hóa quy trình cơng việc: Một ứng dụng quản lý điểm sinh viên có thể tự
động tính tốn và cập nhật thơng tin, giúp tránh sai sót và tối ưu hóa quy trình
cơng việc.



Tích hợp các chức năng hữu ích: Xây dựng ứng dụng hức năng hữu ích như tính
điểm trung bình, xếp loại học tập, và tra cứu thông tin học tập một cách nhanh
chóng và dễ dàng.



Đóng góp vào giáo dục và đào tạo: Cải thiện quá trình học tập và quản lý học
sinh, giúp tạo điều kiện thuận lợi cho học sinh và giáo viên.

1.1 Khảo Sát Thực Trạng
Hiện nay, quản lý điểm là một công việc hết sức quan trọng đối với các trường học.
Cơng việc đó hiện đang cịn làm rất thủ cơng tại một số trường và chính vì thế nó
2


mang lại hiệu quả không cao. Thực tế, hiện nay trường Đại học X vẫn đang dùng hệ
thống quản lý điểm trên Microsoft Excel. Công việc hằng ngày bao gồm:



Nhập điểm cho sinh viên, sửa chữa thông tin về điểm



In bảng điểm, in danh sách sinh viên đỗ, trượt, đạt học bổng…



Lưu trữ thông tin các bảng điểm của Sinh viên…

Cơng việc quản lý cịn hết sức thủ cơng và địi hỏi nhiều kỹ năng của người quản lý.
Ví dụ: Hằng ngày, khi người quản lý nhập đểm cho sinh viên, tính tốn, in danh sách
theo u cầu của nhà trường: những sinh viên đỗ trượt đạt học bổng…. thời gian nhập
thông tin mất nhiều thời gian, việc theo dõi thống kê, tổng hợp dễ bị nhầm lẫn, khó
đảm bảo độ tin cậy…
1.2. Đánh Giá
1.2.1 Nhược điểm:
Lưu giữ thông tin về sinh viên, giáo viên phức tạp phải sử dụng nhiều loại giấy tờ,
sổ sách nên rất cồng kềnh, nơi lưu giữ không được thuận tiện, cần nhiều nhân viên.
Khi cần tìm kiếm thơng tin về sinh viên, giáo viên sẽ mất nhiều thời gian v́à phải
trực tiếp đi t́ìm các thơng tin đó trong những giấy tờ sổ sách đă được ghi chép lại.
1.2.2: Ưu điểm
Vốn đầu tư ít tốn kém hơn, các thiết bị tin học, các phần mềm tin học cho việc quản
lý không cần phải đầu tư.
Từ các ưu khuyết điểm trên dẫn đến yêu cầu phải xây dựng hệ thống mới có yêu cầu
kỹ thuật, quản lý chuyên nghiệp hơn, có thể giải quyết được các khuyết điểm của hệ
thống cũ.
1.3. Đối tượng và phạm vi của ứng dụng

1.3.1 Đối tượng
Hệ thống quản lý điểm được xây dựng hướng đến các đối tượng:
Người quản trị hệ thống
1.3.2 Phạm vi
Người Lập: Nguyễn Đức Phát
Trường Đại Học X

Ngày Lập: 1/8/2023

Thông tin tổng quan
Tên dự án: Phần mềm Quản lí điểm sinh viên
Quản lí dự án: Nguyễn Đức Phát

3


Phát biểu vấn đề:
Với số lượng sinh viên hàng năm tăng lên khơng ngừng, Trường Đại học X có nhu
cầu cải tiến việc tự động lưu trữ, tìm kiếm và in ấn các báo cáo nhằm đáp ứng được
một khối lượng lớn về xử lí thơng tin và tính chính xác của thông tin. Sự can thiệp của
hệ thống quản lí điểm sinh viênsẽ mang đến hiệu quả hoạt động cao hơn trong cơng
tác quản lí của trường Đại học X.
Mục tiêu: Cho phép cán bộ quản lí và theo dõi thơng tin lí lịch, điểm của từng sinh
viên, mơn học một cách chính xác.Tra cứu, thống kê kết quả. Đảm bảo cơ sở dữ liệu
bảo mật và có độ tin cậy cao.
Mô tả: Hệ thống mới sẽ thu thập tất cả các thông tin về sinh viên, giáo viên, môn học,
khoa, điểm. Lập danh sách, báo biểu…nhằm giúp cho cán bộ quản lí nắm rõ thơng tin
cần thiết.
Lợi ích mang lại:
Tạo sự tiện dụng, nhanh chóng và thoải mái cho các cán bộ quản lí.

Tự động hóa cho cơng tác quản lí của trường tạo nên tính chuyên nghiệp cho việc
quản lí thơng tin.
Tiết kiệm được thời gian và chi phí.
Các bước thực hiện để hồn thành dự án:


Lập kế hoạch phát triển hệ thống.



Phân tích hệ thống.



Thiết kế.



Cài đặt.



Kiểm tra.



Biên soạn tài liệu.




Huấn luyện sử dụng.

1.3.3 Rằng buộc tổng quan hệ thống
Không ảnh hưởng đến cơ cấu tổ chức và các hệ thống khác của nhà trường.
Phần mềm sau khi triển khai phải đáp ứng được nhu cầu tự động 50% số lượng
công việc liên quan.
Dữ liệu phải đúng thực tế và phải cập nhật thường xuyên.
1.4. Mô Tả Phương Án Tổng Quan
1.4.1 Phương án lưu trữ

4


Cơ sở dữ liệu tập trung: là phương án đưa dữ liệu về một nơi. Giúp quản lí chặt chẽ
hơn các dữ liệu, tăng tính bảo mật vì mọi thao tác trên dữ liệu chỉ được thực hiện ở
một nơi. Tốc độ thao tác dữ liệu bị hạn chế do nhiều thao tác cùng một lúc vào một dữ
liệu ở một nơi.
Ngược lại với cơ sở dữ liệu tập trung là cơ sở dữ liệu phân tán. Cở sở dữ liệu phân tán
có tốc độ thao tác dữ liệu nhanh hơn cơ sở dữ liệu tập trung.
Nhưng chi phí đầu tư tương đối cao.Thiết kế dữ liệu tương đối khó khăn, khơng chặt
chẽ, có thể bị lỗi khơng cập nhật cho tất cả các nơi lưu trữ. Chỉ phù hợp cho cơ sở dữ
liệu lớn, có khoảng cách địa lý. Các hệ quản trị cơ sở dữ liệu : Microsoft Acces,
Microsofr SQL Server, MySQL, Oracle,…
1.4.2 Phương án khả thi
Với các mơ hình dữ liệu trên, mơ hình dữ liệu được áp dụng cho hệ thống là mơ
hình dữ liệu tập trung vì những mặt lợi sau:
Với sự phát triển cơng nghệ hiện nay thì tốc độ đường truyền, dung lượng bộ nhớ
không là vấn đề lớn, cơ sở dữ liệu tập trung giúp ta dễ dàng sao lưu, phục hồi bảo đảm
an tồn dữ liệu.
Về mặt phần cứng thì chi phí đầu tư cho mơ hình này khơng cao.

Về mặt bảo mật dữ liệu, cần phân quyền đối với người sử dụng hệ thống, mặt khác
việc quản lí được chặt chẽ hơn.

CHƯƠNG II: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về Java
2.1.1. Mơi trường lập trình
Java là một ngơn ngữ lập trình đa mục đích, được phát triển bởi James Gosling và các
nhà phát triển khác tại Sun Microsystems (hiện thuộc Oracle Corporation). Nó ra mắt
lần đầu tiên vào năm 1995 và được thiết kế để làm việc trên nền tảng "Write Once,
Run Anywhere" (WORA), có nghĩa là mã Java có thể được viết một lần và chạy trên
nhiều nền tảng khác nhau mà không cần biên dịch lại mã nguồn. Java Development
Kit (JDK - Bộ công cụ cho người phát triển ứng dụng bằng ngơn ngữ lập trình Java)
là một tập hợp những công cụ phần mềm được phát triển bởi Sun Microsystems dành
cho các nhà phát triển phần mềm, dùng để viết những applet Java hay những ứng
dụng Java.
2.1.2 Ngơn ngữ lập trình Java
Java là một ngơn ngữ lập trình đa mục đích và phổ biến được phát triển bởi James
Gosling và nhóm lập trình viên tại Sun Microsystems (nay là Oracle Corporation) vào
những năm đầu của thập kỷ 1990. Nó là một ngơn ngữ lập trình hướng đối tượng, có
khả năng chạy trên nhiều nền tảng khác nhau nhờ vào việc biên dịch mã nguồn thành
bytecode và thực thi trên máy ảo Java (JVM - Java Virtual Machine).
Đặc điểm chính của ngơn ngữ lập trình Java:

5


Độc lập nền tảng: Mã nguồn Java sau khi được biên dịch thành bytecode có thể chạy
trên bất kỳ hệ điều hành nào hỗ trợ JVM. Điều này giúp Java thỏa mãn phương châm
"Write Once, Run Anywhere" (WORA), cho phép tái sử dụng mã nguồn một cách
hiệu quả trên nhiều hệ thống.

Hướng đối tượng: Java là ngơn ngữ lập trình hướng đối tượng (OOP), trong đó dữ
liệu và mã được tổ chức trong các đối tượng có thuộc tính và phương thức riêng. OOP
giúp quản lý mã dễ dàng, dễ hiểu và bảo trì.
Quản lý bộ nhớ tự động: Java có bộ thu gom rác (garbage collector) để tự động giải
phóng bộ nhớ khơng sử dụng, giảm thiểu cơng việc quản lý bộ nhớ thủ công và giúp
ứng dụng tránh hiện tượng rò rỉ bộ nhớ.
Đa luồng (Multithreading): Java hỗ trợ lập trình đa luồng, cho phép chạy nhiều tác vụ
(luồng) đồng thời trong một ứng dụng. Điều này tận dụng hiệu quả nguồn lực hệ
thống và cải thiện hiệu suất ứng dụng.
Thư viện chuẩn (Standard Library): Java đi kèm với một thư viện chuẩn phong phú
(Java Standard Library) cung cấp nhiều lớp và phương thức để giải quyết các vấn đề
phổ biến, như xử lý chuỗi, thao tác với tệp, xử lý số học, v.v.
An toàn và bảo mật: Java có cơ chế kiểm sốt quyền truy cập (access control) và chế
độ cách ly (sandbox) để giới hạn quyền truy cập vào hệ thống, giúp tăng cường bảo
mật cho ứng dụng và người dùng.
Java là một ngôn ngữ hướng đối tượng, đa mục đích với các cú pháp rất giống với C
và C++. Ban đầu thì đa số mọi người nghĩ là Java sẽ chủ yếu được sử dụng để lập
trình nên những applet hay những chương trình nhỏ chạy trên các trình duyệt web, tuy
nhiên đến giờ thì mọi người đã thay đổi quan điểm. Một số người vốn trước đây tin
rằng applet chính là đất sống của Java thì nghĩ rằng Java đã chết do sự xuất hiện của
các đoạn phim hoạt hình Flash. Nhưng Java đã thay đổi. Cái thời mà người ta nghĩ
rằng ứng dụng chủ yếu của Java là làm các applet động trên các trang web đã qua.
Ngày nay, Sun, IBM, BEA... và các công ty khổng lồ khác đã liên kết để phát triển
Java thành một môi trường đa năng chứ không chỉ dừng lại là một thứ ngơn ngữ lập
trình đa nền tảng nữa. Java đã có mặt ở khắp mọi nơi: từ những chiếc điện thoại di
động nhỏ bé mang nhãn hiệu Nokia, Samsung, Motorola, Ericcson..., từ các thiết bị
PDA dùng hệ điều hành Palm cho đến các con chíp điện tử dùng trên các tấm thẻ tín
dụng, các thiết bị chẩn đốn và phân tích dùng trong y tế, khai thác năng lượng, điểu
khiển và quản lý thiết bị....từ các phần mềm trên server, các trang web động, cho đến
các ứng dụng trên desktop. Bạn có biết rằng người máy Người tìm đường Sao Hỏa

dùng phần mềm điều khiển bằng ngơn ngữ Java khơng? Nhưng điều có lẽ cịn cuốn
hút bạn hơn khi bạn biết rằng ngay từ năm 1997, năm mà Java còn chưa tốt như bây
giờ, Trung tâm Vũ Trụ NASA đã chính thức cơng nhận ngơn ngữ Java là ngơn ngữ
chính được sử dụng để lập trình cho các thiết bị và phần mềm dùng cho Trung tâm.
Giờ đây, khi nhắc đến Java, người ta cần phải hiểu đó là: thứ nhất: đó là một mơi
trường phát triển và triển khai ứng dụng; thứ hai: đó là một ngơn ngữ lập trình tồn
năng. Sự xuất hiển phổ biến của Flash không hề đe dọa đến Java. Rõ ràng với sự đầu
tư của Sun và các công ty hỗ trợ Java khác, chỉ trong vòng 5 năm, nó đã trở thành một
ngơn ngữ tồn năng nhất trong các ngơn ngữ lập trình được sử dụng trên thế giới hiện
nay. Điều người ta quan tâm nhất ở Java là khả năng viết một lần chạy mọi nơi nghĩa
là bạn có thể viết chương trình trên một máy tính cài Window, chạy chip của Intel
6


nhưng chương trình đó vẫn chạy tốt và cho cùng một kết quả hoạt động khi chạy nó
trên Macitosh hay Unix. Điều này là không tưởng đối với C, C++, VB... Khả năng
chuyển đổi nền tảng, dễ phân phối, đa tầng, hướng đối tượng chính là những gì mà
Java chứng tỏ nó ưu việt hơn các ngơn ngữ khác.
Với C, C++ tức là cha mẹ đẻ của Java thì điều này là rõ ràng. Với Visual Basic, ngơn
ngữ lập trình quan trọng nhất của Microsoft, ngồi những điểm vừa nói ở trên, Java
cịn được giới lập trình chun nghiệp trên thế giới trong đó các hacker thế hệ thứ
nhất đánh giá rằng đây là một ngơn ngữ có cú pháp và cấu trúc tốt hơn nhiều. Sử dụng
Java bạn có thể dễ dàng mở rộng dự án lập trình của mình với quy mơ khơng giới hạn,
việc quản lý cũng hết sức dễ dàng trong khi đó Visual Basic với cấu trúc thiết kế
khơng thực sự tốt, nó chỉ thích hợp với các dự án nhỏ, ít có nhu cầu mở rộng hay quản
lý.
Tính năng chính của Java bao gồm:
Độc lập nền tảng: Mã Java được biên dịch thành bytecode, một ngơn ngữ trung gian
độc lập nền tảng, sau đó được thực thi bởi máy ảo Java (JVM - Java Virtual Machine)
trên mọi hệ điều hành hỗ trợ JVM.

Cú pháp dễ đọc: Java sử dụng cú pháp dễ hiểu và giống với các ngơn ngữ lập trình
khác như C++ và C#, giúp người lập trình dễ dàng học và sử dụng.
Quản lý bộ nhớ tự động: Java có hệ thống thu gom rác (garbage collector) giúp tự
động thu hồi bộ nhớ không sử dụng, giảm thiểu việc phải quản lý bộ nhớ thủ công.
Hỗ trợ đa luồng: Java hỗ trợ lập trình đa luồng (multithreading), cho phép xử lý nhiều
tác vụ cùng một lúc và tận dụng hiệu quả nguồn lực hệ thống.
Thư viện chuẩn (Standard Library): Java đi kèm với một thư viện chuẩn phong phú
(Java Standard Library) cung cấp nhiều công cụ và lớp giúp giải quyết nhiều vấn đề
phổ biến.
An tồn và bảo mật: Java có hệ thống kiểm soát quyền truy cập (access control) và
chế độ cách ly (sandbox) để giới hạn quyền truy cập vào hệ thống, giúp tăng cường
bảo mật cho ứng dụng.
Java được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm phát triển ứng dụng web,
ứng dụng di động, phần mềm máy chủ, trò chơi, Internet of Things (IoT), và nhiều hệ
thống phức tạp khác. Cộng đồng lập trình Java rất lớn và mạnh mẽ, với nhiều tài liệu,
framework và thư viện hỗ trợ cho việc phát triển ứng dụng.
2.1.3 Tìm hiểu kiến trúc MVC trong Java
Kiến trúc MVC (Model-View-Controller) là một mơ hình thiết kế phần mềm phổ biến
trong lập trình ứng dụng. Nó giúp phân tách logic ứng dụng thành ba phần riêng biệt:
Model (mơ hình), View (giao diện) và Controller (bộ điều khiển). Đây là một cách
tiếp cận có lợi cho việc phát triển ứng dụng có sự tách biệt giữa các thành phần, giúp
dễ dàng bảo trì và mở rộng.

7


MVC là từ viết tắt bởi 3 từ Model – View – Controller. Đây là mơ hình thiết kế
sử dụng trong kỹ thuật phần mềm. Mơ hình source code thành 3 phần, tương
ứng mỗi từ. Mỗi từ tương ứng với một hoạt động tách biệt trong một mơ hình.
Dưới đây là mô tả về từng thành phần trong kiến trúc MVC khi áp dụng trong Java:

Model (Mơ hình): Model đại diện cho dữ liệu và các logic xử lý dữ liệu. Đây có thể là
lớp Java hoặc một tập hợp các lớp Java. Model thường không chứa bất kỳ logic hiển
thị nào và chỉ tập trung vào quản lý dữ liệu và các phương thức để truy xuất, cập nhật
và xử lý dữ liệu. Các thay đổi trong Model sẽ thông báo cho Controller để cập nhật
giao diện View.
View (Giao diện): View là thành phần dùng để hiển thị dữ liệu cho người dùng. Trong
Java, nó có thể là một thành phần giao diện người dùng như JFrame, JPanel, JSP,
hoặc các thành phần UI khác. View không chứa logic xử lý dữ liệu và không thực
hiện các thay đổi dữ liệu trực tiếp. Nó chỉ hiển thị thơng tin từ Model và chuyển các
tương tác của người dùng đến Controller.
Controller (Bộ điều khiển): Controller là thành phần trung gian giữa Model và View.
Nhiệm vụ chính của Controller là tiếp nhận các yêu cầu từ View, xử lý các yêu cầu
này bằng cách tương tác với Model, sau đó cập nhật lại View dựa trên kết quả.
Controller có thể thực hiện kiểm tra hợp lệ, xử lý lỗi và quyết định cách mà Model sẽ
phản ứng với các yêu cầu từ View.

Với cơ sở là kiến trúc MVC, ta có thể xây dựng các ứng dụng của mình, tránh được
rất nhiều những vất vả khi bảo trì, thay đổi. Những thay đổi ở mỗi thành phần thường
rất ít khi ảnh hưởng đến các thành phần khác
8


2.2 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Sever 2005
Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (MSSQL) là một trong những hệ
quản trị cơ sở dữ liệu thông dụng hiện nay. Đây là hệ quản trị cơ sở dữ liệu thường
được sử dụng với các hệ thống trung bình, với ưu điểm có các công cụ quản lý mạnh
mẽ giúp cho việc quản lý và bảo trì hệ thống dễ dàng , hỗ trợ nhiều phương pháp lưu
trữ, phân vùng và đánh chỉ mục phục vụ cho việc tối ưu hóa hiệu năng . Với phiên
bản MSSQL 2005 Microsoft đã có những cải tiến đáng kể nâng cao hiệu năng, tính
sẵn sàng của hệ thống , khả năng mở rộng và bảo mật . Phiên bản mới này cịn cung

cấp nhiều cơng cụ cho người phát triển ứng dụng được tích hợp với bộ Visual Studio
do Microsoft cung cấp. Dưới đây là mô hình về các dịch vụ của SQL server 2005.
MSSQL 2005 có 4 dịch vụ lớn : Database Engine,Intergration Service, Reporting
service, Analysis Services. Trong phiên bản MSSQL 2005 này đã có những cải tiến
đáng kể như sau.
• DataBase Engine : được phát triển để thực thi tốt hơn với việc hỗ trợ cả dữ liệu có
cấu trúc và dữ liệu phi cấu trúc( XML).
• Khả năng sẵn sàng của hệ thống được nâng cao hơn vì MSSQL 2005 hỗ trợ các
chức năng : cơ sở dữ liệu gương (Database mirroring), failover clustering , snapshots
và khơi phục dữ liệu nhanh.
• Việc quản lý chỉ mục được thực hiện song song với việc hoạt động của hệ thống.
Người dùng có thể thêm chỉ mục, xây dựng lại chỉ mục hay xóa một chỉ mục đi trong
khi hệ thống vẫn được sử dụng.
•Chức năng phân vùng dữ liệu được hỗ trợ: Trong phiên bản này người dùng có thể
phân vùng các bảng và chỉ mục cũng như quản lý phân vùng dữ liệu một cách dễ
dàng. Việc hỗ trợ phân vùng dữ liệu giúp nâng cao hiệu năng hoạt động của hệ thống.
•Dịch vụ đồng bộ hóa dữ liệu được mở rộng với việc hỗ trợ mơ hình đồng bộ hóa
ngang hàng. Đây là dịch giúp đồng bộ hóa dữ liệu giữa các máy chủ dữ liệu, dịch vụ
này làm khả năng mở rộng của hệ thống được nâng cao.
•Dịch vụ tích hợp (Integration Service ) thiết kế lại cho phép người dùng tích hợp dữ
liệu và phân tích dữ liệu từ nhiều nguồn khác nhau. Hỗ trợ việc quản lý chất lượng dữ
liệu và làm sạch dữ liệu, một công việc quan trọng trong tiến trình ETL.
•Dịch vụ phân tích dữ liệu (Analysis Service ): cung cấp khung nhìn tích hợp và thống
nhất về dữ liệu cho người dùng, hỗ trợ việc phân tích dữ liệu .
•Cơng cụ khai phá dữ liệu (Data mining ) được tích hợp hỗ trợ nhiều thuật tốn khai
phá dữ liệu, điều này hỗ trợ cho việc phân tích và khai phá dữ liệu và xây dựng các
hệ thống hỗ trợ ra quyết định cho người quản lý.
•Dịch vụ xây dựng quản lý báo cáo (Reporting Service) được dựa trên nền tảng quản
trị doanh nghiệp thông minh và được quản lý qua dịch vụ web. Báo cáo có thể được
xây dựng với ngôn ngữ truy vấn MDX. Việc xây dựng báo cáo dễ dàng thông qua các

công cụ trên Business Intelligent, người dùng truy cập báo cáo dễ dàng và trích xuất
ra nhiều định dạng khác nhau thơng qua trình duyệt web.

9


2.3 Tổng quan về Eclipse
Eclipse là một môi trường phát triển tích hợp (IDE) rất mạnh mẽ và phổ biến được sử
dụng cho nhiều ngơn ngữ lập trình và nền tảng khác nhau. Nó được phát triển bởi
Eclipse Foundation và được cấp phép mã nguồn mở (open-source).
Dưới đây là một tổng quan về Eclipse:
Lịch sử:
Ban đầu, Eclipse được phát triển bởi IBM vào năm 2001 với mục tiêu là một cơng cụ
phát triển ứng dụng Java tiên tiến.
Sau đó, IBM đã chuyển giao mã nguồn của Eclipse cho Eclipse Foundation vào năm
2004, mở ra cơ hội cho cộng đồng đóng góp và phát triển tiếp theo.
Đặc điểm và tính năng:
 Hỗ trợ nhiều ngơn ngữ lập trình: Eclipse khơng chỉ hỗ trợ Java mà cịn hỗ trợ
nhiều ngơn ngữ khác như C/C++, Python, PHP, Ruby, JavaScript, và nhiều ngôn
ngữ khác thông qua các plugin và công cụ bổ sung.
 Plugin mở rộng: Eclipse có một cơ chế mở cho phép cài đặt các plugin bổ sung
để mở rộng chức năng và tính năng của IDE.
 Giao diện linh hoạt: Eclipse có một giao diện dễ sử dụng và có thể tùy chỉnh,
giúp người dùng tùy chỉnh các khung làm việc và bố trí theo ý muốn.
 Gỡ lỗi mạnh mẽ: Eclipse cung cấp các công cụ mạnh mẽ giúp người phát triển
tìm ra và sửa lỗi trong mã nguồn một cách dễ dàng.
 Hỗ trợ quản lý dự án: Eclipse có khả năng quản lý các dự án phức tạp và tích hợp
sẵn cơng cụ quản lý phiên bản, giúp người dùng làm việc hiệu quả trong các dự
án lớn.
 Đa nền tảng: Eclipse có sẵn cho nhiều hệ điều hành, bao gồm Windows, macOS

và Linux.
Phiên bản:
 Eclipse IDE for Java Developers: Phiên bản cơ bản dành riêng cho lập trình Java.
 Eclipse IDE for C/C++ Developers: Phiên bản dành cho lập trình C/C++.
 Eclipse IDE for PHP Developers: Phiên bản dành cho lập trình PHP.
 Eclipse IDE for JavaScript and Web Developers: Phiên bản dành cho lập trình
JavaScript và phát triển web.
Cộng đồng:
 Eclipse có một cộng đồng lớn và tích cực, gồm các nhà phát triển, doanh nghiệp
và tổ chức, đóng góp vào việc phát triển và duy trì nền tảng Eclipse.
 Eclipse là một cơng cụ mạnh mẽ và linh hoạt cho việc phát triển ứng dụng và dự
án phần mềm trên nhiều nền tảng và ngôn ngữ lập trình khác nhau.
10


2.4 Tổng quan về Visual Studio Code
Visual Studio Code (thường được gọi là VS Code) là một trình soạn thảo mã nguồn
mã nguồn mở và miễn phí, được phát triển bởi Microsoft. Nó là một trong những mơi
trường phát triển tích hợp (IDE) phổ biến nhất được sử dụng rộng rãi cho việc phát
triển ứng dụng và dự án phần mềm.
Dưới đây là một tổng quan về Visual Studio Code:
Đặc điểm và tính năng:
 Hỗ trợ nhiều ngơn ngữ lập trình: Visual Studio Code hỗ trợ nhiều ngơn ngữ lập
trình phổ biến như JavaScript, TypeScript, Python, Java, C++, C#, Ruby, PHP, và
nhiều ngôn ngữ khác thông qua các extension bổ sung.
 Extension và plugin: VS Code có hệ thống extension mạnh mẽ, cho phép người
dùng cài đặt các plugin và cơng cụ bổ sung để mở rộng tính năng của trình soạn
thảo theo nhu cầu riêng của họ.
 Giao diện tùy chỉnh: VS Code có giao diện người dùng đơn giản và dễ sử dụng,
và người dùng có thể tùy chỉnh các bố cục, màu sắc và các cài đặt khác để phù

hợp với sở thích và phong cách lập trình của mình.
 Gỡ lỗi mạnh mẽ: Visual Studio Code cung cấp các công cụ gỡ lỗi mạnh mẽ giúp
người dùng tìm ra và sửa lỗi trong mã nguồn một cách dễ dàng.
 Hỗ trợ Git tích hợp: Trình soạn thảo này tích hợp sâu với Git, cho phép người
dùng quản lý mã nguồn và phiên bản dễ dàng.
 Tích hợp cửa sổ terminal: VS Code có tích hợp cửa sổ terminal cho phép người
dùng thực thi các lệnh và quản lý công việc dễ dàng mà không cần ra khỏi IDE.
Đa nền tảng:
 Visual Studio Code hỗ trợ nhiều hệ điều hành như Windows, macOS và Linux,
cho phép người dùng làm việc trên nền tảng ưa thích của họ.
 Cộng đồng:
 Visual Studio Code có một cộng đồng lớn và đam mê, với hàng triệu người dùng
trên toàn thế giới.
 Microsoft và cộng đồng đóng góp liên tục vào việc phát triển và cải tiến VS Code,
cung cấp các bản cập nhật thường xuyên để cải thiện hiệu suất và tính năng của
trình soạn thảo.
 Visual Studio Code là một công cụ phát triển mã nguồn mở, nhẹ nhàng và mạnh
mẽ, được u thích bởi cộng đồng lập trình viên và sử dụng rộng rãi trong các dự
án lớn và nhỏ.

CHƯƠNG III : PHÂN TÍCH VÀ THIẾT KẾ HỆ
THỐNG
3.1 Xác định yêu cầu
11


3.1.1 Yêu cầu chức năng
 Hệ thống phải cập nhập, lưu trữ được tất cả các thông tin chi tiết về sinh viên,
điểm, danh mục,…
 Cập nhật theo danh mục: giảng viên, sinh viên, lớp, học phần,…

 Nhập điểm: Từ giảng viên, điểm thi trắc nghiệm trên máy, điểm thi trên giấy.
 Tự động xử lý điểm. (Điểm được xử lý theo quy chế của bộ Giáo Dục)
 Cung cấp, tra cứu điểm
3.1.2 Yêu cầu hệ thống
 Hệ điều hành: Đa số các phiên bản Windows như Windows 7, Windows 8,
Windows 10 hoặc Windows Server.
 Ngôn ngữ và Framework: Phiên bản Java được hỗ trợ (ví dụ: Java 8 trở lên). Sử
dụng các framework hỗ trợ Java như Spring, JavaFX, v.v.
 Cơ sở dữ liệu: SQL Server, MySQL, SQLite hoặc một hệ quản trị cơ sở dữ liệu
phù hợp khác.
 Bộ xử lý (CPU): CPU có tốc độ xử lý phù hợp để đáp ứng các yêu cầu xử lý dữ
liệu.
 Bộ nhớ RAM (RAM): Bộ nhớ RAM đủ lớn để hỗ trợ các hoạt động của ứng dụng
mà không gây ra hiện tượng chậm trễ.
 Dung lượng ổ đĩa: Dung lượng ổ đĩa đủ lớn để lưu trữ dữ liệu của ứng dụng và cơ
sở dữ liệu.
 Đồ họa: Nếu ứng dụng có giao diện đồ họa, cần hỗ trợ đồ họa và card đồ họa phù
hợp.
 Mạng: Để truy cập và cập nhật dữ liệu từ xa, cần có kết nối mạng ổn định.
 Bảo mật: Cung cấp các biện pháp bảo mật như xác thực người dùng và quyền
truy cập.
 Khả năng mở rộng: Thiết kế hệ thống sao cho có thể mở rộng dễ dàng và hỗ trợ
nhiều người dùng đồng thời.
3.2 Mơ Hình Hóa
3.2.1 Mơ hình hóa chức năng
Biểu đồ phân rã chức năng (BFD)

12



Biểu đồ dòng dữ liệu (DFD)

Biểu đồ hệ thống

13


1. Thông tin đăng nhập
2. Truy vấn thông tin User
3. Kết quả đăng nhập
4. Kết quả đăng nhập
5. Yêu cầu đăng xuất
6. Truy vấn thông tin User
7. Kết quả truy vấn thông tin User
8. Kết quả đăng xuất

14


Biểu đồ xử lý điểm

1.Thông tin điểm

11. Yêu cầu xác nhận điểm

2. Thông tin môn học

12. Truy vấn thông tin môn học

3. Kết quả truy vấn môn học


13. Kết quả truy vấn thông tin môn học

4. Truy vấn thông tin giáo viên

14. Truy vấn thông tin giáo viên

5. Kết quả truy vấn thông tin Sinh viên

15. Kết quả truy vấn thông tin giáo viên

6.Truy vấn thông tin Sinh viên

16. Truy vấn thông tin sinh viên

7. Kết quả truy vấn thông tin Sinh viên

17. Kết quả truy vấn thông tin sinh viên

8. Cập nhập điểm

18. Truy vấn thông tin điểm

9 .Kết quả cập nhập điểm

19. Kế quả truy vấn thông tin điểm

10. Điểm đã cập nhập

24. Kết quả xác nhận điểm


15


Biểu đồ thống kê, tra cứu

1 Yêu cầu thống kê

12. Kết quả thống kê

2. Truy vấn thông tin Khoa

13. Yêu cầu tra cứu

3. Thông tin Khoa

14. Truy vấn thông tin điểm

4. Truy vấn thông tin điểm

15. Thông tin điểm

5. Thông tin điểm

16. Truy vấn thông tin lớp

6. Truy vấn thông tin lớp

17. Thông tin lớp


7. Thông tin lớp

18. Truy vấn thông tin sinh viên

8. Truy vấn thông tin sinh viên

19. Thông tin sinh viên

9. Thông tin sinh viên

20. Truy vấn thông tin môn học

10. Truy vấn thông tin môn học

21. Thông tin môn học

11. Thông tin môn học

22. Kết quả tra cứu

16


3.3 Cơ Sở Dữ Liệu Hệ Thống
Để nắm được yêu cầu của bài toán, chúng ta cần hiểu dõ về cơ sở dữ liệu mà bài toán
cần. Ở đây em xin đưa ra những thông tin mà phần mềm quản lý điểm cần có như sau:
3.3.1 Bảng Sinh Viên:

3.3.2 Bảng Giảng Viên


3.3.3 Bảng điểm

17


3.3.4 Bảng Lớp

3.3.5 Bảng Khoa

3.3.6 Bảng Môn học

3.3.7 Bảng Đăng nhập

18


3.4 Sơ Đò Liên Kết

3.5.Các thành phần chức năng hệ thống
3.5.1 Menu
Chứa các chức năng chính của chương trình.
3.5.2. Chức năng đăng nhập hệ thống
Đăng nhập tài khoản để xứ lý chương trình.
3.5.3. Chức năng thơng tin sinh viên
Tìm kiểm, thêm sửa ,xóa, và hiển thị thơng tin của sinh viên.
3.5.4. Chức năng hiển thị thông tin điểm của sinh viên.
Hiển thị thêm,sửa.xóa các thơng tin của sinh viên,ngày thi,số báo
danh,đồng thời hiện tên môn học cùng điểm của môn học,xếp loại.
3.5.5.Chức năng hiển thị thông tin giảng viên.
19



Hiển thị thơng tin của giảng viên.
Tìm kiểm,thêm,sửa xóa thơng tin của giảng viên.
3.5.6.Chức năng hiển thị thông tin môn học.
Tìm kiếm, thêm, sửa, xóa các mơn học theo thơng tin của các trường.
Hiển thị,tìm kiếm thơng tin của sinh viên,học kỳ,phịng học,số học trình.
3.5.7.Chức năng hiển thị thơng tin lớp học.
Tìm kiếm,thêm,sửa xóa các trường thơng tin lớp học.

3.6 Thiết kế giao diện hệ thống
Tiếp theo là phần thiết kế form cho chường trình sao cho hệ thống hoạt
động có hiệu quả. Phần mềm phải hoạt động tốt, khơng trục trặc về thơng
tin, hạn chế sai sót trong các thao tác kỹ thuật.
3.6.1 Form Đăng Nhập – Form chạy đầu tiên của phần mềm

20


3.6.2 Form Đăng Nhập Hệ Thống

3.6.3 Form Thông Tin Sinh Viên

21


×