Mục tiêu và ý nghĩa của đề tàiMục tiêu:- Mục tiêu chính của đề tài là Ứng dụng ngôn ngữ Java vào xây dựngphần mềm quản lý học phí trường đại học Công Nghiệp Hà Nội.- Tích hợp các giải ph
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
🙟🙟🙟🙟🙟
BÁO CÁO THÍ NGHIỆM/THỰC NGHIỆM
MÔN HỌC: LẬP TRÌNH JAVA
Đề tài: XÂY DỰNG PHẦN MỀM QUẢN LÝ HỌC PHÍ
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Giáo viên hướng dẫn: ThS Vũ Thị Dương
Nhóm sinh viên thực hiện:
Nguyễn Phương Nam 2019601620
Trang 22.4.1 Chức năng đăng nhập, đăng xuất, nhập học (Nguyễn Phương Nam + Trương Trung Kiên) 21
2.4.2 Chức năng Sửa thông tin sinh viên và Đăng kí môn học (Phạm Xuân Đông +
2.4.3 Viết script, xây dựng các chức năng thuộc trang Danh sách sinh viên, Nộp học phí và tạo, kết nối cơ sở dữ liệu (Đoàn Mạnh Hùng + Trương Trung Kiên) 32 2.4.4 Viết script, xây dựng các chức năng thuộc trang Thông báo nộp tiền, Xuất thông báo
và tạo, kết nối cơ sở dữ liệu(Trần Trung Hiếu + Trương Trung Kiên) 38
Trang 3LỜI NÓI ĐẦU
Trong suốt thời gian dài phát triển Java đã và đang thể hiện được sứcmạnh, sự quyến rũ của mình trong nền công nghiệp phần mềm, tin học hoá.Không có quá nhiều ngôn ngữ vừa có thời gian thử nghiệm phát triển dài, lạivừa có sức phổ biến mạnh mẽ như Java
Java được nhiều tổ chức giáo dục đào tạo tin học uy tín trên thế giớiđưa vào giảng dạy chuyên nghiệp, đặc biệt trong các trường đại học, học việnđào tạo ngành tin học, công nghệ thông tin Nếu bạn là một người nghiên cứu
về lý thuyết lập trình, được đào tạo chuyên nghiệp, bài bản và tham gia vàophát triển các dự án phần mềm sử dụng Java bạn sẽ thực sự nhận thấy tất cảcác lý thuyết học thuật về lập trình đều nằm trong ngôn ngữ này Chính việcthực hành ngôn ngữ Java kết hợp với kiến thức lý thuyết vững vàng sẽ giúplập trình viên có một nền tảng cực kỳ chắc chắn, từ đó việc chuyển sang cácngôn ngữ khác sẽ trở nên dễ dàng hơn
Xây dựng phần mềm quản lý học phí trường đại học Công Nghiệp HàNội bằng ngôn ngữ java giúp cho sinh viên biết tìm hiểu và vận dụng kiếnthức vào thực tế, là bước tiến lớn để cải thiện khả năng tư duy và sáng tạongay trong môi trường học tập trên ghế nhà trường
Trang 4PHẦN 1: MỞ ĐẦU
Đề tài: Xây dựng phần mềm quản lý học phí của trường
Đại Học Công Nghiệp Hà Nội
1.1 Lý do chọn đề tài
Như ta đã biết, thời đại hiện nay là thời đại internet, là thời đại của sựbùng nổ công nghệ thông tin, khi mà tất cả mọi người trên thế giới đềusống trên một thế giới phẳng, đặc biệt là hiện nay khi đang diễn ra cuộccách mạng công nghiệp 4.0 thì lượng thông tin ngày càng nhiều, việcquản lý thông tin càng trở lên khó khăn Việc quản lý thu chi ở mỗi tổchức đều sẽ phát sinh những khó khăn khi lượng thông tin cần đưa vào xử
lý quá lỡn cũng như quá nhiều Điều đó làm ảnh hưởng đến tiến độ cũngnhư năng suất làm việc Đặc biệt việc quản lý học phí trong một trườngđại học lại càng khó khăn khi nó liên quan đến thông tin sinh viên và ảnhhướng trực tiếp đến quá trình học và kết quả học tập của sinh viên Vì vậymỗi trường đại học nên có một phần mềm quản lý học phí để dễ quản lýtài chính
Việc xây dựng phần mềm quản lý học phí đã đem lại nhiều thành tựunhất định, cụ thể như:
- Tiết kiệm chi phí
- Giảm thiểu hồ sơ, giấy tờ trong công tác quản lý
- Đa dạng tính năng vượt trội
- Quản lý thời gian làm việc của học phí
- Bảo mật dữ liệu tuyệt đối
Trang 51.2 Mục tiêu và ý nghĩa của đề tài
- Đóng góp về mặt phương pháp luận và thực nghiệm vào lĩnh vực
quản lý học phí trường đại học Công Nghiệp Hà Nội một cách thực
tế và hiệu quả
- Cải tiến chất lượng phần mềm quản lý học phí để có thể nâng cao
trình độ và kĩ năng áp dụng thực tế của sinh viên khoa công nghệthông tin trường đại học Công Nghiệp Hà Nội
1.3 Xác định nội dung học tập và các kĩ năng, kiến thức then chốt
Nội dung học tập:
- Cấu trúc của một chương trình java
- Các kiểu dữ liệu và chuyển kiểu dữ liệu
Trang 6- Kết tập, kế thừa trong java
- Tính trừu tượng, đa hình và interface
- Ghi đè phương thức
- Xử lý ngoại lệ, I/O theo luồng và thao tác với tệp
- Cấu trúc Collection
- Giao diện Java Swing
Kiến thức đã trang bị:
- Lập trình java cơ sở
- Lập trình java hướng đối tượng
- Xử lý ngoại lệ và thao tác với tệp
- Lập trình java với cấu trúc Collection
- Lập trình giao diện Java
Kĩ năng then chốt:
- Kĩ năng làm việc nhóm
- Kĩ năng phân tích và xử lý tình huống
- Kĩ năng thu thập và chuẩn hóa thông tin
- Kĩ năng xây dựng ý tưởng đề tài
Trang 7PHẦN 2: KẾT QUẢ NGHIÊN CỨU 2.1 Giới thiệu
Đề tài nghiên cứu: “Xây dựng phần mềm quản lý học phí của trường
Đại Học Công Nghiệp Hà Nội “
Để xây dựng bài toán trên, nhóm đã tìm hiểu, thảo luận và quyết định lựa chọn mô hình thác nước để xác định các giai đoạn xây dựng sản phẩmcủa nhóm:
1 Phân tích yêu cầu: Thu thập và phân tích yêu cầu của hệ thống phần
mềm quản lý học phí, ghi lại vào tài liệu đặc tả yêu cầu
2 Thiết kế hệ thống: Phân tích thiết kế hệ thống phần mềm quản lý
học phí, xác định các kiến trúc tổng thể của phần mềm
3 Xây dựng chương trình: Theo thiết kế tạo ra các chương trình
(units), tích hợp units cho giai đoạn tiếp theo Mỗi unit được pháttriển và kiểm thử gọi là Unit Test
4 Kiểm thử: Cài đặt và kiểm thử phần mềm: kiểm tra và sửa tất cả
những lỗi tìm được sao cho phần mềm hoạt động chính xác và đúngtheo tài liệu đặt tả yêu cầu
5 Triển khai hệ thống: Triển khai hệ thống được sử dụng trong các hệ
điều hành
Kết quả đạt được: Phần mềm Quản lý học phí trường Đại học Công
Nghiệp Hà Nội sử dụng Java.
Mô tả sản phẩm nghiên cứu:
- Tên sản phẩm: Phần mềm Quản lý Học phí trường Đại học CôngNghiệp Hà Nội
- Hình thức của sản phẩm: Phần mềm ứng dụng chạy trên desktop
- Cấu trúc: Ngôn ngữ java, sử dụng csdl phpMyadmin,…
- Nội dung sản phẩm:
Trang 8+ Mô tả: Ứng dụng giúp nhà trường quản lý việc thu chi họcphí của sinh viên, giúp sinh viên quản lý được số tiền mìnhđăng kí học và số tiền nộp còn nhà trường thì quản lý đượcsinh viên, công nợ của sinh viên
+ Chức năng:
▪ Đăng nhập vào hệ thống dành cho sinh viên và admin
▪ Admin: quản lý danh sách sinh viên trong các lớp vàthông tin sinh viên cũng như số tiền nợ, môn học củasinh viên tương ứng
▪ Sinh viên: Có thể đăng ký môn học và hủy môn học
2.2 Khảo sát hệ thống
2.2.1.Khảo sát sơ bộ
Trường Đại học Công Nghiệp Hà Nội bao gồm ban giám hiệu, 7 phòngchức năng và 11 khoa với tổng số cán bộ, giảng viên là 1562 người vàchục ngàn sinh viên Nhà trường cần quản lý thu chi học phí cũng nhưđăng kí môn cho sinh viên một cách hợp lý để không làm rối loạn quátrình hoạt động của hệ thống nhà trường
Trang 9Để dễ dàng quản lý học phí của trường thì việc sử dụng phần mềmquản lý học phí là vô cùng cần thiết Qua quá trình khảo sát và phân tíchcác dữ liệu thu được, phần mềm quản lý học phí đặt ra các vấn đề cơ bảnnhư sau:
- Thể hiện được mô hình tổ chức học phí của trường Đại học Công
Nghiệp Hà Nội;
- Quản lý học phí: Phải đúng học phí với từng sinh viên không được
sai lệch dủ chỉ là 1 đồng
- Quản lý đăng ký môn: Sinh viên phải đăng ký được môn và không
được đăng ký nhầm cho sinh viên khác Khi đăng ký thì có thể hủyđược môn đã đăng ký
- Thông báo phải rõ ràng và in ra văn bản để đóng dấu.
Người được h i: ỏ Cán b phòng T ch c ộ ổ ứ
Hành chính và cán b tham gia qu n lý, ộ ả
qu n tr h thôốngả ị ệ
Người h i: ỏNgày: 25/01/2022
Câu 1: Ông(bà) đánh giá châốt lượng phâần
mềầm m c tôốt, khá hay bình thơ ư ường?
Trang 10Câu 3: Ông(bà) quan tâm đềốn cái gì trong
h thôống?ệ
Tr l i: ả ờ
Quan sát:
Câu 4: Trong th i gian s d ng Ông(bà) ờ ư u
co g p s côố gì v i phâần mềầm không? ă ư ơ
2.2.2.Tài liệu đặc tả yêu cầu
Mô tả hệ thống:
- Hệ thống Quản lý học phí Trường Đại học Công nghiệp Hà
Nội cho phép người quản lý tra cứu, quản lý thông tin, hồ sơ
Trang 11- Hệ thống lưu thông tin sinh viên và môn học đã đăng ký của
sinh viên đó để dễ quản lý trong quá trình thu chi và thi cử sau này nếu có phát sinh vấn đề ngoại lệ
Giao diện và chức năng của hệ thống:
- Hệ thống gồm 8 giao diện chính:
+ Giao diện Đăng nhập
+ Giao diện Danh sách sinh viên
+ Giao diện Đăng ký môn học
+ Giao diện Nhập học cho sinh viên
+ Giao diện Nộp học phí
+ Giao diện Chỉnh sửa thông tin sinh viên
+ Giao diện Tạo thông báo nộp tiền
+ Giao diện Xuất báo cáo
+ Đăng ký môn học: Sinh viên có thể đăng ký, hủy môn.+ Nhập học cho sinh viên: Admin có thể thêm sinh viên mới vào danh sách sinh viên
+ Nộp học phí: Admin có thể nộp học phí cho sinh viên
Trang 12+ Tạo thông báo nộp tiền: Admin xuất ra thông báo nộp tiền cho từng giai đoạn trong năm ứng với từng sinh viên.
+ Xuất báo cáo: Admin xuất báo cáo ra sau khi hoàn thành công việc để gửi lại cho sinh viên cũng như lưu bản cứng hồ sơ
2.3 Phân tích hệ thống
2.3.1 Mô hình hóa chức năng hệ thống
Mô tả sơ bộ các Actor và nhiệm vụ chính:
xuất thông báo, thêm sinh viên
nhân, đăng ký môn học
+ Quản lý sinh viên: Nhà trường có thể sử dụng để quản
lý được danh sách sinh viên gồm thông tin cá nhân, công
nợ, … Nhà trường có thể chỉnh sửa thông tin sinh viên cũng như xóa
Trang 13+ Nhập học: Admin có thể nhập học cho sinh viên từ đó sinh viên có thể được thêm vào danh sách sinh viên của toàn trường.
+ Đăng xuất: Admin có thể đăng xuất khỏi hệ thống kh thực hiện xong công việc
+ Nộp tiền: Admin sử dụng chức năng để thực hiện nộp tiền cho sinh viên vào hệ thống để trừ vào công nợ cho sinh viên từ đó đạt đủ điều kiện để thực hiện các hoạt độngtrên trường Admin có thể xuất hóa đơn để đưa cho sinh viên làm thủ tục giấy từ sau khi hoàn thành công việc
+ Thông báo nộp tiền: Admin sử dụng chức năng để xuất
ra những thông báo nộp tiền cho những thời hạn, sự kiện trong năm cũng như thông báo về những sinh viên chậm nộp tiền
+ Xuất báo cáo: Admin xuất ra báo cáo sau khi hoàn thànhcông việc để hoàn thành thủ tục giấy tờ, giữ là tài liệu cứng
Trang 15UC_001 Đắng nh pậ
Đắng nh pậ
s d ng hử ụ ệthôống
Đắng nh p vàoâ
h thôống đ sê ể ư
d ng các ch cụ ứnắng đắầng sau
Admin,SinhViền
Đắng ký nh pậ
h c cho sinhọviền
T o thông tn sinhạviền cho các l p.ớNgoài ra co thểxoa và ch nh s aỉ ửthông tn cho sinh
Thay đ i thông tnổsinh viền, co thểnhìn thâốy công nợđang n là baoợnhiều
Sinh viền
UC_005 N p h c phíộ ọ N p h c phíộ ọ
N p tềần vào hộ ệthôống và th cự
hi n thanh toánệcông n cho sinhợ
Hi n th danhể ịsách thông tn
Admin
Trang 16tn sinh viền
sinh viền, co thể
s a, xoa, c p nh tử ậ ậthềm thông tncho sinh viền
SInh viền hi n thệ ịthông tn cácnhân và công nợ
thu h c phíọ
Thông báo n iộdung t i sinh viềnớvềầ vâốn đềầ đang
g p ph iặ ả
Admin
Xuâốt file báocáo ra b nảword
Xuâốt file báo cáo
tài kho nả
Đắng xuâốttài kho nả
Admin, SinhViền
2.3.2 Mô hình dữ liệu và cài đặt hệ thống
Bảng monhoc
Trang 17hoten Varchar H tền sinh viềnọ
Trang 18tenlop Varchar Tền l pớ
Bảng dangky
Trang 20Bảng sinhvien
Bảng khoa
Trang 21tenkhoa Varchar Tền khoa
Bảng hoadon
Bảng kết nối cơ sở dữ liệu
Trang 222.4 Thực hiện bài toán
2.4.1 Chức năng đăng nhập, đăng xuất, nhập học (Nguyễn Phương Nam + Trương Trung Kiên)
*Giao diện đăng nhập
Trang 23- Hệ thống sẽ kết nối CSDL để lấy thông tin tài khoản của sinh viên trong bảng “sinhvien”, trong khi đó tài khoản mặc định của admin là “admin” với mật khẩu là “123”
Trang 24- Tài khoản sinh viên sẽ được tạo khi Admin thực hiện chức năng “Nhập học” cho sinh viên với tên tài khoản là “mã sinh viên” và mật khẩu là “tên + 2022(năm học có thể thay đổi)”
Phần mã nguồn xử lý phân quyền khi đăng nhập tùy theo loại tài khoản
admin hay sinh viên
- Khi đăng nhập tùy theo loại tài khoản hệ thống sẽ hiển thị ra các màn hình chức năng theo từng loại như sau:
Trang 25Màn hình của admin khi vừa đăng nhập
Mã nguồn xử lý hiển thị giao diện của admin
Trang 26Màn hình của sinh viên sau khi đăng nhập
Mã nguồn xử lý hiện thị giao diện của sinh viên
*Chức năng đăng xuất
Trang 27Mã nguồn xử lý chức năng “đăng xuất”
*Chức năng nhập học cho sinh viên
- Tài khoản sinh viên sẽ được tạo khi Admin thực hiện chức năng “Nhập học” cho sinh viên với tên tài khoản là “mã sinh viên” và mật khẩu là “tên + 2022(năm học có thể thay đổi)”
- Chức năng này sẽ thêm 1 sinh viên vào trong bảng “sinhvien” trong database, khoa của sinh viên sẽ được tạo sẵn ở bảng “Khoa” trong database vàhiển thị trong combo box “Khoa”, từ đó tự động xếp sinh viên vào lớp được tạo tự động trong bảng “lophoc” tương ứng với Khoa đã chọn, nếu lớp đã đạt
đủ số lượng sinh viên 1 lớp thì sẽ tự động tạo ra một mã lớp khác với tên lớp
có số mã cộng thêm 1 đơn vị
Trang 28Ví dụ: Nhập học cho một sinh viên A vào khoa Cơ Khí, nếu lớp CK1(Cơ Khí 1) chưa đủ 70 người thì sẽ xếp sinh viên A vào lớp đấy, nếu đã đủ 70 người thì phần mềm sẽ tự tạo một lớp mới là CK2(Cơ Khí 2) và thêm sinh viên A vào lớp đó
Mã nguồn minh họa cho chức năng “Nhập học”
Trang 292.4.2 Chức năng Sửa thông tin sinh viên và Đăng kí môn học (Phạm Xuân Đông + Trương Trung Kiên)
● Giao diện thông tin sinh viên
-Hệ thống sẽ kết nối CSDL để lấy thông tin của sinh viên trong bảng
“sinhvien”, hiển thị dữ liệu lên màn hình cùng các chức năng: Cập nhật thông tin sinh viên ,Đăng kí môn học,Làm mới dữ liệu
-Hiển thị thông tin sinh viên:
thực hiện truy vấn dữ liệu sinh viên trong bảng sinh viên ở CSDL Tạo đối tượng sinh viên chứa thông tin từ CSDL sau đó hiển thị các thuộc tính của đối tượng sinh viên lên các Jlabel tương ứng
Trang 30-Sửa thông tin sinh viên:
Lấy dữ liệu ở các ô nhập thông tin txt, sau đó tạo câu truy vấn dữ liệu update lên CSDL và thực hiện truy vấn
-Làm mới dữ liệu:
Gọi lại phương thức hiển thị thông tin sinh viên
● Giao diện Đăng kí môn học
Trang 31-Lấy danh sách môn học :
Dữ liệu được lấy từ bảng monhoc bằng phương thức hienThiMH() trong controller MonHocController :
*)Trong file MonHocController.java
*)Trong file DangKyMonHocLayOut.java
Trang 32-Hiển thị thông tin chi tiết môn học khi click chọn trong danh sách môn học:
Lấy thông tin dữ liệu các môn học ở trong bảng JTableData và hiển thị lên Jlable tương ứng l
- Đăng kí môn học:
Lấy thông tin chi tiết môn học từ môn học đã chọn , thực hiện truy vấn câu lệnh chèn thông tin đăng ký môn học tạo biến để kiểm tra câu lệnh đã được truy vấn thành công hay không, nếu thành công thì sẽ cập nhật lại công
nợ của sinh viên
Trang 33- Huỷ môn học:
Lấy thông tin chi tiết môn học từ môn học đã chọn , thực hiện truy vấn câu lệnh xoá môn học đã chọn trong bảng dangky tạo biến đểkiểm tra câu lệnh đã được truy vấn thành công hay không, nếu thành công thì sẽ cập nhật lại công nợ của sinh viên
- Thoát đăng kí môn học:
Trang 342.4.3 Viết script, xây dựng các chức năng thuộc trang Danh sách sinh viên, Nộp học phí và tạo, kết nối cơ sở dữ liệu (Đoàn Mạnh Hùng + Trương Trung Kiên)
● Giao diện danh sách sinh viên
- Lấy danh sách sinh viên:
Dữ liệu được lấy từ bảng sinhvien và bảng lophoc bởi getSV trong controller SinhVienController lấy từ cơ sở dữ liệu ra list rồi đổ ra bảng danh sách sinh viên.
Trang 35- Chức năng xoá sinh viên:
Khi bấm vào nút xoá, sẽ kiểm tra điều kiện và xoá theo mã sinh viên Sinh viên được xoá trên cơ sở dữ liệu thông qua deleteSV trong
SinhVienController và sau đó cập nhật lại số sinh viên của lớp học đã chứa sinh viên đó.
Trang 36- Chức năng cập nhật:
Khi bấm vào Cập nhật sẽ kiểm tra các dữ liệu đã được điền đầy đủ chưa Sinh viên được cập nhật trên cơ sở dữ liệu thông qua updateSV trong SinhVienController.
- Chức năng Hiển thị:
Hiển thị lại toàn bộ danh sách sinh viên Sử dụng hàm getSV trong
SinhVienController để cập nhật lại danh sách sinh viên.
Trang 37Xử lý nút Hiển thị trong SinhVienLayOut
- Chức năng tìm kiếm:
Tìm kiếm theo mã Sinh Viên bởi getSV trong SinhVienController.
Trang 38Giao diện nộp tiền
- Hiển thị danh sách hoá đơn:
Danh sách hoá đơn được lấy từ bảng hoadon bằng HoaDonController.
- Chức năng nộp tiền: