lập trình hướng đối tượng với Java, lập trình GUI với AWT và xử lý sự kiện, lập trình GUI với Swing, truy xuất dữ liệu từ file txt, khảo sát thực tế, phân tích đặc tả yêu cầu, phân tích thiết kế hệ thống, mô hình hóa dữ liệu
KẾT QUẢ NGHIÊN CỨU
Giới thiệu
Chương trình phần mềm quản lý đội thanh niên tình nguyện của khoa Công nghệ thông tin, Đại Học Công Nghiệp Hà Nội, hỗ trợ trên các hệ điều hành như Windows 7/8/10/11, Linux và Mac OS Mục tiêu của phần mềm là giúp công việc quản lý CLB tình nguyện trở nên dễ dàng và thuận tiện hơn.
Trước khi phát triển sản phẩm, nhóm đã nghiên cứu và chọn mô hình phát triển phù hợp với yêu cầu của từng thành viên Quy trình phát triển phần mềm Thác Nước (Waterfall model) đã được áp dụng để xác định các giai đoạn xây dựng sản phẩm Mô hình này, được coi là mô hình phát triển phần mềm đầu tiên, áp dụng tuần tự các giai đoạn phát triển Một số ưu điểm của mô hình Thác Nước bao gồm dễ sử dụng, quản lý và phát hiện lỗi, cùng với việc sản phẩm phát triển theo các giai đoạn rõ ràng Do sản phẩm có quy mô nhỏ và độ phức tạp thấp, mô hình Thác Nước trở nên rất phù hợp cho dự án này.
Các bước tổng quan để phát triển sản phẩm của nhóm:
- Thu thập yêu cầu: Trong giai đoạn này, nhóm cùng nhau thu thập và phân tích yêu cầu và ghi lại vào tài liệu đặc tả.
- Phân tích thiết kế hệ thống: Xác định kiến trúc hệ thống tổng thế của phần mềm.
- Mã hóa: Giai đoạn này nhóm sẽ cùng nhau xây dựng sản phẩm.
- Kiểm thử: Kiểm tra và sửa tất cả lỗi tìm được sao cho sản phẩm hoạt động chính xác và đúng theo yêu cầu đặc tả.
- Triển khai: Đưa sản phẩm của nhóm đến đội thanh niên tình nguyện để trải nghiệm và đánh giá tính thực tế của sản phẩm.
Bảo trì sản phẩm là cần thiết khi có yêu cầu thay đổi từ người đánh giá Để hoàn thiện sản phẩm, nhóm đã chọn NetBeans IDE làm môi trường phát triển cho ứng dụng Java NetBeans là một IDE miễn phí, phổ biến cho phát triển ứng dụng Java Swing, giúp đơn giản hóa quá trình phát triển Bộ công cụ NetBeans IDE cho Java SE cung cấp tất cả các thành phần cần thiết để phát triển plugin và ứng dụng dựa trên nền tảng NetBeans mà không cần SDK bổ sung Nền tảng này cung cấp các dịch vụ tái sử dụng cho ứng dụng desktop, cho phép tập trung vào logic ứng dụng.
Quản lý giao diện người dùng (ví dụ menu và thanh công cụ)
Quản lý cài đặt người dùng
Quản lý kho lưu trữ (Thực hiện lưu trữ hiệu quả)
Wizard framework (hỗ trợ các hộp thoại từng bước)
Công cụ phát triển tích hợp
Khảo sát hệ thống
Phần mềm quản lý đội thanh niên tình nguyện được phát triển dựa trên mô hình hoạt động của câu lạc bộ thanh niên tình nguyện thuộc khoa công nghệ thông tin, trường Đại Học Công Nghiệp Hà Nội Câu lạc bộ nhằm mục đích lan tỏa những giá trị tích cực trong cộng đồng sinh viên của trường và trên toàn quốc Một số vấn đề cần được giải quyết trong câu lạc bộ bao gồm:
- Quản lý thành viên: Được chủ nhiệm và phó chủ nhiệm thực hiện kết hợp quản lý số lượng tình nguyên viên câu lạc bộ.
Quản lý thành tích là trách nhiệm của chủ nhiệm, người sẽ đưa ra quyết định liên quan đến hiệu suất của đội và từng cá nhân trong câu lạc bộ Dựa trên kết quả đạt được, chủ nhiệm sẽ quyết định khen thưởng cho những thành tích xuất sắc cũng như phê bình, cảnh cáo đối với những đội hoặc cá nhân có sai sót trong quá trình hoạt động.
Quản lý tài chính là trách nhiệm của chủ nhiệm, bao gồm việc ghi chép thu chi quỹ câu lạc bộ, lệ phí hoạt động của từng đội, các buổi kinh doanh gây quỹ, cũng như việc xin tài trợ hoặc nhận kinh phí từ trường Tất cả các hoạt động này sẽ được cập nhật và hiển thị rõ ràng trong phần quản lý tài chính.
Phó chủ nhiệm chịu trách nhiệm chính trong việc truyền thông và tổ chức sự kiện tình nguyện Công việc bao gồm quản lý quảng bá hình ảnh của câu lạc bộ, lập kế hoạch cho các sự kiện và tuyên truyền về các chương trình sắp tới.
Ngoài ra câu lạc bộ hoạt động trong nhiều lĩnh vực tình nguyện trong đó có một số hoạt động chính:
Hỗ trợ nhà trường trong việc tổ chức lễ hội IT Festival hàng năm, sự kiện lớn nhất của khoa công nghệ thông tin, mang đến những hoạt động thú vị và là sân chơi tuyệt vời cho sinh viên thể hiện bản thân.
- Hỗ trợ nhà trường tổ chức chương trình chào tân sinh viên diễn ra hàng năm.
- Tết ấm yêu thương diễn ra hàng năm(Ủng hộ từ thiện đến người dân vùng cao, xa xôi hẻo lánh).
- Đông ấm yêu thương diễn ra hàng năm(Gói bánh trưng tặng cho người vô gia cư không có nơi nương tựa).
- Tuyên truyền vận động hiến máu diễn ra hàng năm.
PHIẾU PHỎNG VẤN THÀNH VIÊN CLB TÌNH NGUYỆN VỀ HOẠT ĐỘNG
Dự án: Xây dựng một chương trình quản lý đội tình nguyện
Tiểu dự án: Hoạt động trong CLB
Người được hỏi: Trần Lê Mạnh Người hỏi:
Câu 1: CLB hiện tại có sử dụng sản phẩm phần mềm để quản lý CLB không?
Câu 2: Sử dụng chương trình quản lý có mang lại sự hiệu quả cho CLB không?
Câu 3: Sản phẩm có bị chậm trong quá trình hoạt động không?
Câu 4: Dữ liệu sau khi xử lí có cho kết quả như mong đợi không ?
Câu 5: Bạn mong muốn gì khi sử dụng sản phẩm ?
Câu 7: : Các lợi ích chương trình quản lý này mang lại?
Cuộc phỏng vấn diễn ra suôn sẻ với không khí vui vẻ giữa hai bên Thành viên được phỏng vấn thể hiện sự điềm tĩnh và nhẹ nhàng, đồng thời nắm rõ quy trình hoạt động của đội.
2.2.2 Tài liệu đặc tả yêu cầu
Mô tả hoạt động của hệ thống:
Khi truy cập vào chương trình quản lý đội thanh niên tình nguyện, chỉ có chủ nhiệm và phó chủ nhiệm được phép đăng nhập, trong khi những người khác cần được cấp tài khoản Sau khi đăng nhập thành công, hệ thống sẽ hiển thị danh sách thành viên cùng các thông tin như tên, mã sinh viên, khoa và ngày sinh Chương trình cung cấp các chức năng quản lý bao gồm quản lý thành viên, tài chính, thành tích và sự kiện.
- Khi ấn vào quản lý thành viên, người quản trị có thể tìm kiếm thành viên theo mã sinh viên; thêm, sửa, xóa thành viên trong đội
Khi truy cập vào quản lý tài chính, người quản trị có khả năng theo dõi thông tin về dòng tiền của đội và cấp phép nguồn vốn cho từng sự kiện.
Khi truy cập vào phần quản lý thành tích, hệ thống sẽ hiển thị các giải thưởng tập thể cùng với thông tin thành tích của từng cá nhân Người quản trị có khả năng quản lý thành tích trong đội một cách hiệu quả.
- Khi ấn vào quản lý sự kiện, người quản trị có thể thêm, sửa, xóa các sự kiện
Các yêu cầu chức năng:
- Tìm kiếm thành viên theo các thuộc tính(VD: Mã sinh viên)
- Thêm, sửa, xóa thành viên
Phân tích hệ thống
2.3.1 Mô hình hóa chức năng hệ thống
Các Actor và nhiệm vụ của họ bao gồm: Chu Nhiệm với các chức năng như Đăng Nhập, Xem Thành Viên, Quản Lý Thành Viên, Quản Lý Tài Chính, Quản Lý Sự Kiện và Tìm Kiếm Phó Chu Nhiệm cũng thực hiện các nhiệm vụ như Đăng Nhập, Xem Thành Viên, Quản Lý Sự Kiện và Tìm Kiếm.
- Các Use case: o Đang Nhap: o Xem Thanh Vien: o Quan Ly Thanh Vien: o Quan Ly Tai Chinh: o Quan Ly Su Kien o Tim Kiem:
Quan Ly Thanh Vien Chu Nhiem
Use case Chức năng Ghi chú
UC_001 DangNhap Use case này cho phép quản trị viên đăng nhập vào hệ thống để quản lý Đăng nhập vào hệ thống
Tác nhân: Chủ nhiệm, Phó chủ đội TNTN nhiệm UC_002 XemThanh
Use case này cho phép quản trị viên xem danh sách các thành viên trong câu lạc bộ
Xem các thành viên có trong dữ liệu
Tác nhân: Chủ nhiệm, Phó chủ nhiệm UC_003 QuanLyTh anhVien
Use case này cho phép quản trị viên thêm sửa xoá các thành viên
Quản lý các thành viên của câu lạc bộ
Tác nhân: Chủ nhiệm, Phó chủ nhiệm UC_004 QuanLyTh anhTich
Use case này cho phép quản trị viên thêm sửa xoá các thành tích của câu lạc bộ
Quản lý các thành tích
Tác nhân: Chủ nhiệm, Phó chủ nhiệm UC_005 QuanLyTa iChinh
Use case này cho phép quản trị viên thêm sửa xoá các khoản thu chi tài chính
Quản lý thu chi tài chính
Tác nhân: Chủ nhiệm, Phó chủ nhiệm UC_006 QuanLySu
Use case này cho phép quản trị viên thêm sửa xoá những sự kiện xảy ra
Quản lý các sự kiện Tác nhân:
Chủ nhiệm, Phó chủ nhiệm UC_007 TimKiem Use case này cho phép quản trị viên tìm kiếm các thông tin của thành viên
Tìm kiếm các thông tin thành viên theo mã sinh viên
Tác nhân: Chủ nhiệm, Phó chủ nhiệm
2.3.2 Mô hình hoá dữ liệu và cài đặt hệ thống
- Biểu đồ lớp tham gia ca sử dụng: o Đăng nhập
HTCSDL (from Use Case View)
NGUOIDUNG tenDangNhap matKhau getTenDangNhap() setTenDangNhap() getMatKhau() setMatKhau() o Xem thành viên
(from Use Case Vi ew) XemTVUI IHTCSDL
HTCSDL (from Use Case View)
ThanhVien maTV tenTV ngaySinh khoa gioiTinh getMaTV() setMaTV() getTenTV() setTenTV() getNgaySinh() setNgaySinh() getKhoa() setKhoa() getGioiTinh() setGioiTinh() o Quản lý thành viên
HTCSDL (from Use Case View)
ThanhVien maTV tenTV ngaySinh khoa gioiTinh getMaTV() setMaTV() getTenTV() setTenTV() getNgaySinh() setNgaySinh() getKhoa() setKhoa() getGioiTinh() setGioiTinh() o Quản lý thành tích
HTCSDL (from Use Case View)
ThanhVien maTV tenTV ngaySinh khoa gioiTinh getMaTV() setMaTV() getTenTV() setTenTV() getNgaySinh() setNgaySinh() getKhoa() setKhoa() getGioiTinh() setGioiTinh()
ThanhTich maTT tenTT ghiChu getMaTT() setMaTT() getTenTT() setTenTT() getGhiChu() setGhiChu() o Quản lý tài chính
(from Use Case View) QuanLyTCUI
HTCSDL (from Use Case View)
TaiChinh maTC loaiTC soTien ghiChu getMaTC() setMaTC() getLoaiTC() setLoaiTC() getSoTien() setSoTien() getGhiChu() getGhiChu() o Quản lý sự kiện
HTCSDL (from Use Case View)
ThanhVien maTV tenTV ngaySinh khoa gioiTinh getMaTV() setMaTV() getTenTV() setTenTV() getNgaySinh() setNgaySinh() getKhoa() setKhoa() getGioiTinh() setGioiTinh()
SUKIEN maSK tenSK getMaSK() setMaSK() getTenSK() setTenSK()
TaiChinh maTC loaiTC soTien ghiChu getMaTC() setMaTC() getLoaiTC() setLoaiTC() getSoTien() setSoTien() getGhiChu() getGhiChu() o Tìm kiếm
ThanhVien maTV tenTV ngaySinh khoa gioiTinh getMaTV() setMaTV() getTenTV() setTenTV() getNgaySinh() setNgaySinh() getKhoa() setKhoa() getGioiTinh() setGioiTinh()
- Biểu đồ lớp dữ liệu
Thực hiện bài toán
Khi người dùng mở ứng dụng, một form đăng nhập sẽ xuất hiện Thông tin tài khoản và mật khẩu được lưu trữ trong file NguoiDung.txt trong thư mục của dự án QuanLyTNTN Nếu người dùng nhập sai tài khoản hoặc mật khẩu, hệ thống sẽ thông báo “Nhập sai tài khoản hoặc mật khẩu” Nếu không nhập thông tin, thông báo “Tài khoản, mật khẩu không được để trống” sẽ được hiển thị Khi thông tin đăng nhập đúng, người dùng sẽ được phép truy cập vào hệ thống, nơi hiển thị TrangChuForm với menu và tabbed pane chứa các form quản lý.
2.4.2 Chức năng quản lý thành viên
- Khi người dùng ấn vào nút quản lý thành viên trên thanh menu sẽ hiện raForm quản lý thành viên cho phép quản lý thành viên.
Nhập mã sinh viên và nhấn nút Tìm để hệ thống kiểm tra sự hiện diện của mã trong danh sách Nếu mã sinh viên có trong danh sách, thông tin sẽ được hiển thị trên form; nếu không, hệ thống sẽ thông báo “Sinh viên này chưa có trong danh sách”.
- Nhấn vào nút nhập mới các text fied sẽ xóa hết các text
Nhấn nút Thêm để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, sẽ hiển thị thông báo lỗi Ngược lại, nếu dữ liệu hợp lệ, một thông báo sẽ hỏi người dùng có muốn lưu không Nếu đồng ý, dữ liệu sẽ được sửa và hiển thị trong bảng danh sách của form QuanLyThanhVien, đồng thời cập nhật vào file ThanhVien.txt trong thư mục lưu trữ của dự án QuanLyTNTN.
Nhấn nút sửa để kiểm tra các trường text field; nếu dữ liệu không hợp lệ, sẽ hiển thị thông báo Nếu hợp lệ, một thông báo sẽ hỏi người dùng có muốn sửa không Nếu đồng ý, dữ liệu sẽ được sửa và hiển thị trong bảng danh sách của form Quản Lý Thành Viên, đồng thời cập nhật vào bảng Thành Viên trong thư mục lưu trữ của dự án Quản Lý TNTN.
Khi nhấn nút xóa, hệ thống sẽ kiểm tra các trường text field để xác định tính hợp lệ của dữ liệu Nếu dữ liệu không hợp lệ, một thông báo sẽ được hiển thị Ngược lại, nếu dữ liệu hợp lệ, người dùng sẽ nhận được một thông báo xác nhận việc xóa Nếu người dùng đồng ý, dữ liệu sẽ được xóa và cập nhật vào bảng danh sách trong form Quản Lý Thành Viên, đồng thời cập nhật dữ liệu vào bảng Thành Viên trong thư mục lưu trữ của dự án Quản Lý TNTN.
2.4.3 Chức năng quản lý thành tích
-Khi người dùng ấn vào nút Quản lý thành tích trên thanh menu sẽ hiện raForm quản lý thành tích cho phép quản lý thành tích.
-Nhấn vào nút Nhập mới các text fied sẽ xóa hết các text
Nhấn nút Thêm để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, sẽ hiển thị thông báo lỗi Nếu hợp lệ, một thông báo sẽ hỏi người dùng có muốn lưu không Nếu đồng ý, dữ liệu sẽ được sửa và hiển thị trong bảng danh sách của form QuanLyThanhTich, đồng thời cập nhật vào file ThanhTich.txt trong thư mục lưu trữ của project QuanLyTNTN.
Nhấn nút Sửa để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, hệ thống sẽ hiển thị thông báo Nếu hợp lệ, một thông báo sẽ hỏi người dùng có muốn sửa hay không Nếu đồng ý, dữ liệu sẽ được cập nhật vào bảng danh sách trong form QuanLyThanhTich và lưu vào file ThanhTich trong thư mục của dự án QuanLyTNTN.
Nhấn nút Xóa để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, sẽ hiển thị thông báo Nếu hợp lệ, một thông báo xác nhận sẽ xuất hiện hỏi người dùng có muốn xóa hay không Nếu người dùng đồng ý, dữ liệu sẽ được xóa, và thông tin vừa sửa sẽ được cập nhật vào bảng danh sách trong form Quản Lý Thành Tích, đồng thời cập nhật vào file ThanhTich.txt trong thư mục lưu trữ của dự án Quản Lý TNTN.
2.4.4 Chức năng quản lý tài chính
-Khi người dùng ấn vào nút Quản lý tài chính trên thanh menu sẽ hiện ra Form quản lý tài chính cho phép quản lý tài chính.
-Nhấn vào nút Nhập mới các text fied sẽ xóa hết các text
Nhấn nút Thêm để kiểm tra tính hợp lệ của các trường text field Nếu không hợp lệ, sẽ hiển thị thông báo lỗi Nếu hợp lệ, một thông báo sẽ hỏi người dùng có muốn lưu dữ liệu không Nếu đồng ý, dữ liệu sẽ được sửa và hiển thị trong bảng danh sách của form Quản Lý Tài Chính, đồng thời cập nhật vào file TaiChinh.txt trong thư mục dự án Quản Lý TNTN.
Nhấn nút Sửa để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, hệ thống sẽ hiển thị thông báo Nếu hợp lệ, một thông báo sẽ hỏi người dùng có muốn sửa hay không Nếu đồng ý, dữ liệu sẽ được cập nhật vào bảng danh sách trong form Quản Lý Tài Chính và lưu vào file TaiChinh.txt trong thư mục dự án Quản Lý TNTN.
Khi nhấn nút Xóa, hệ thống sẽ kiểm tra các trường text field để xác nhận tính hợp lệ của dữ liệu Nếu dữ liệu không hợp lệ, một thông báo sẽ được hiển thị Ngược lại, nếu dữ liệu hợp lệ, người dùng sẽ nhận được một thông báo xác nhận việc xóa Nếu người dùng đồng ý, dữ liệu sẽ được xóa và cập nhật vào bảng danh sách trong form Quản Lý Tài Chính, đồng thời ghi lại vào file TaiChinh.txt trong thư mục của dự án Quản Lý TNTN.
2.4.5 Chức năng quản lý sự kiện
-Khi người dùng ấn vào nút Quản lý sự kiện trên thanh menu sẽ hiện ra Form quản lý sự kiện cho phép quản lý sự kiện.
-Nhấn vào nút Nhập mới các text fied sẽ xóa hết các text
Nhấn nút Thêm để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi Ngược lại, nếu dữ liệu hợp lệ, người dùng sẽ nhận được thông báo xác nhận lưu dữ liệu Nếu đồng ý, dữ liệu sẽ được sửa và hiển thị trong bảng danh sách của form Quản Lý Sự Kiện, đồng thời cập nhật vào file SuKien.txt trong thư mục chứa project Quản Lý TNTN.
Nhấn nút Sửa để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, hệ thống sẽ hiển thị thông báo Ngược lại, nếu dữ liệu hợp lệ, một thông báo sẽ hỏi người dùng có muốn sửa hay không Nếu đồng ý, dữ liệu sẽ được cập nhật vào bảng danh sách trong form QuanLySuKien và lưu vào file SuKien.txt trong thư mục chứa project QuanLyTNTN.
Nhấn nút Xóa để kiểm tra tính hợp lệ của các trường text field Nếu dữ liệu không hợp lệ, sẽ hiển thị thông báo lỗi Nếu hợp lệ, một thông báo xác nhận sẽ xuất hiện hỏi người dùng có muốn xóa hay không Nếu người dùng đồng ý, dữ liệu sẽ được xóa, và bảng danh sách trong form QuanLySuKien sẽ được cập nhật, đồng thời dữ liệu cũng sẽ được ghi vào file SuKien.txt trong thư mục chứa project QuanLyTNTN.
Khi người dùng nhấn nút đăng xuất trên thanh menu, cửa sổ đăng nhập sẽ hiển thị Để đăng nhập lại, người dùng cần nhập thông tin tài khoản và mật khẩu Nếu muốn thoát hoàn toàn, hãy nhấn nút thoát để rời khỏi ứng dụng.
Khi người đung ấn vào nút giới thiệu ở thanh menu bar trên cùng sẽ hiện tên tác giả
-Source code DataValidator.java trong models Helper
-Source code MessageDialog.java trong models Helper