



















Preview text:
lOMoAR cPSD| 60755984
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 lOMoAR cPSD| 60755984
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) lOMoAR cPSD| 60755984 MỤC LỤC
Nên để mục lục tự động 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 lOMoAR cPSD| 60755984 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.................................................................................................1 2 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 lOMoAR cPSD| 60755984
học....................................................................................................1 8 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....................................................................................................2 3 3.6.7 Form lớp
học....................................................................................................... 23 KẾT
LUẬN.................................................................................................... lOMoAR cPSD| 60755984 ..............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 . lOMoAR cPSD| 60755984 LỜI NÓI ĐẦU
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 toà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 toá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.
CHƯƠNG I. TỔNG QUAN VỀ XÂY DỰNG ỨNG
DỤNG QUẢN LÝ ĐIỂM SINH VIÊN
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. lOMoAR cPSD| 60755984
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 soá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. 1. Hiện trạng
1.1. Khảo sát thực trạng (khảo sát ở đâu? Nếu ko có thì bỏ đi, không nói chung chung)
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ó 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 toán, in danh sách
theo yê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… 2.1 Đá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ũ. lOMoAR cPSD| 60755984
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 Ngày Lập: 1/8/2023 Trường Đại Học X 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 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í. lOMoAR cPSD| 60755984
Các bước thực hiện để hoà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ữ
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 toà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. lOMoAR cPSD| 60755984
2.1 Tổng quan về công nghệ lập trình 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:
Độ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 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 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 lOMoAR cPSD| 60755984
đế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 đoá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 toà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ữ
toà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 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, ngoài những điểm vừa nói ở trên, Java còn
được giới lập trình chuyên 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. lOMoAR cPSD| 60755984
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 toà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.
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. lOMoAR cPSD| 60755984
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
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. lOMoAR cPSD| 60755984
•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 toá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.
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. lOMoAR cPSD| 60755984
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.
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. lOMoAR cPSD| 60755984
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 yê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 II
XÂY DỰNG PHẦN MỀM QUẢN LÝ ĐIỂM
2.1 Xác định yêu cầu
2.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
2.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. lOMoAR cPSD| 60755984
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. 2.2 Mô hình hóa
2.2.1 Mô hình hóa chức năng
Biểu đồ phân rã chức năng (BFD) lOMoAR cPSD| 60755984
Biểu đồ dòng dữ liệu (DFD)
Biểu đồ hệ thống 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 lOMoAR cPSD| 60755984
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