Trang 5 Để xây dựng bài toán chúng ta cần hiểu rõ mô hình quảnlý câu lạc bộ của Fit-Media.1.3 Các kỹ năng đã có Kỹ năng làm việc nhóm. Kỹ năng thuyết trình, có khả năng phản biện bảo
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
Đặng Tùng Khánh
15
Trang 22.4.1 Nguyễn Huy Ngọ - Thiết kế giao diện quản lý thông
2.4.2 Lê Ngọc Sơn - Thiết kế giao diện quản lý thông tin
2.4.3 Phan Duy Linh - Thiết kế giao diện quản lý các thành
2.4.4 Phùng Thu Linh - Thiết kế giao diện quản lý cơ sở vật
2.4.5 Đặng Tùng Khánh - Thiết kế giao diện báo cáo thống
Trang 33.2 Hướng phát triển 34
Trang 4PHẦN 1: MỞ ĐẦU
1.1 Tổng quan về bài toán
Trong xã hội phát triển, thông tin đã thực sự trở thànhnguồn tài nguyên quan trọng và to lớn Các mối quan hệ đờisống vật chất tinh thần ngày càng phát triển thì hệ thốngcũng ngày càng phát triển, khi đó các mối quan hệ và trật tự
xã hội ngày càng phức tạp, do đó nội dung thông tin ngàycàng phong phú đến mức không thể xử lý bằng những phươngpháp thủ công truyền thống
Sự bùng nổ thông tin và sự phát triển mạnh mẽ củacông nghệ kỹ thuật số, muốn phát triển thì phải áp dụng tinhọc hóa vào tất cả các ngành các lĩnh vực Cùng với sự pháttriển nhanh chóng về phần cứng máy tính, các phần mềmcàng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợhiệu quả cho con người Các phần mềm hiện nay ngày càng
hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lýnhanh chóng, và một số nghiệp vụ được tự động hóa cao Cácphần mềm giúp tiết kiệm một lượng lớn thời gian, công sứccủa con người, tăng độ chính xác và hiệu quả trong công việc Nhận thức được tầm quan trọng của việc quản lý câu lạc
bộ, nhóm em đã chọn đề tài “Xây dựng phần mềm quản lýcâu lạc bộ Fit-Media khoa CNTT” để làm đề tài nghiên cứu.Phần mềm có nhiệm vụ quản lý hoạt động của câu lạc bộ Fit-Media
Trang 5 Để xây dựng bài toán chúng ta cần hiểu rõ mô hình quản
lý câu lạc bộ của Fit-Media
Kiến thức liên quan tới việc khảo sát, thu thập dữ liệu
Kiến thức phân tích thiết kế hệ thống, thiết kế cơ sở dữ liệu cơ bản
Xây dựng, thiết kế hệ thống dựa trên phương pháphướng đối tượng của java, thiết kế giao diện vớijavaform
Sử dụng thành thạo công cụ Apache Netbeans IDE 16 đểlập trình, xử lý giao diện
Trang 6
PHẦN 2: Error: Reference source not found
- Lý do sử dụng công cụ Apache Netbeans IDE 16:
+ Cung cấp tính năng tự động hoàn thành mã và gợi ý
mã giúp tăng tốc độ viết code
+ Có tính năng kiểm tra code và phát hiện các lỗi cúpháp và lỗi thời gian chạy
Trang 7- Phương pháp : Phỏng vấn
Kế hoạch phỏng vấnNgười phỏng vấn: Lê Ngọc
+ Xin phép được ghi âm
- Chủ đề 1: câu hỏi và trả lời
- Chủ đề 2: câu hỏi và trả lời
- Tổng hợp các nội dung
Trang 8- Yêu cầu chức năng:
+ Đăng nhập: Hệ thống cho phép người quản trị đăngnhập để thực hiện các chức năng của hệ thống
+ Quản lý thông tin thành viên: Lưu trữ thông tin: mãsinh viên, tên sinh viên, địa chỉ, giới tính, ngành học,niên khóa, chức vụ Thông tin thành viên lấy từ file dữliệu Quản lý có ràng buộc
+ Quản lý thông tin các hoạt động: Lưu trữ thông tin: mãhoạt động, tên hoạt động, địa điểm, kinh phí Thông tincác hoạt động lấy từ file dữ liệu Quản lý có ràng buộc.+ Quản lý các thành viên tham gia hoạt động: Lưu trữthông tin: mã hoạt động, mã sinh viên Thêm các thành
Trang 9viên tham gia vào hoạt động và lưu dữ liệu vào file Quản
lý có ràng buộc
+ Quản lý cơ sở vật chất: Lưu trữ thông tin: mã vật tư,tên vật tư, số lượng có, tình trạng Cơ sở vật chất lấy từfile dữ liệu Quản lý có ràng buộc
+ Báo cáo thống kê: Người quản trị dễ dàng kiểm soátđược tổng số lượng Lưu trữ thông tin: tổng số lượng hoạtđộng, tổng kinh phí, tổng số lượng vật tư, số lượng thànhviên tham gia của mỗi hoạt động Báo cáo thống kê lấy
+ Đảm bảo về mặt thời gian, bản quyền
+ Chi phí chấp nhận được
+ Hiệu năng hoạt động: yêu cầu về thời gian tài nguyên,tài nguyên sử dụng, công suất tối đa
+ Tính khả dụng: mức độ sử dụng làm hài lòng kháchhàng, dễ dàng sử dụng, khả năng truy cập, khai thác.+ Tính tin cậy: khả năng chịu lỗi, khả năng phục hồi
+ An toàn thông tin: bảo mật, toàn vẹn, xác thực
+ Ổn định, xử lý nhanh: Các thao tác Thêm, Sửa, Xoáđược quản lý chặt chẽ Các số liệu đã nhập được ràngbuộc trên nền tảng hệ thống quản lý tổng thể Các thủtục xử lý và truy xuất dữ liệu được phân chia tối ưu, do
đó tốc độ tính toán và xử lý rất nhanh
Trang 10+ Duy trì và phân tích được, hiệu chỉnh được mức độhiệu suất và hiệu quả, dễ dàng thích ứng, cài đặt được,vận hành, khai thác, khả năng thay thế được.
+ Khả năng thích nghi: Chương trình có thể chạy đượctrên hầu hết các hệ điều hành phổ biến (Windows,MacOS, Linux…)
+ Tính chính xác: Chương trình chạy đúng như quy trình
+ Dễ sử dụng: Chương trình có thể sử dụng dễ dàng bởinhững người chưa có hệ thống nghiệp vụ
Trang 11+ Quản lý thông tin thành viên: cho phép người quản trịthực hiện các chức năng thêm, sửa, xóa, tìm kiếm thànhviên.
+ Quản lý thông tin các hoạt động: cho phép người quảntrị thực hiện các chức năng thêm, sửa, xóa các hoạtđộng
+ Quản lý các thành viên tham gia hoạt động: cho phépngười quản trị thực hiện các chức năng thêm, xóa cácthành viên tham gia hoạt động
+ Quản lý cơ sở vật chất: cho phép người quản trị thựchiện các chức năng thêm, sửa, xóa cơ sở vật chất
+ Báo cáo thống kê: cho phép người quản trị thống kêtổng số lượng hoạt động, cơ sở vật chất, kinh phí, thànhviên tham gia mỗi hoạt động
- Biểu đồ Use case:
Trang 12Biểu đồ use case
Trang 13- Đặc tả tóm tắt Use case:
case
Mô tả ngắn gọn Use case
nhập
- Use case yêu cầu người quản trị nhập tên đăng nhập
và mật khẩu
- Hệ thống sẽ kiểm tra tên
và mật khẩu
và cho phép người dùng đăng nhập
Tác nhân kích hoạt UC: Người quản trị
thông tin thành viên
- Thêm: Usecase yêu cầu nhập thông tin cho thành viên mới
- Sửa: Use case yêu cầu sửa thông tin
- Hệ thống sẽ kiểm tra dữ liệu nhập vào tạo ra
một mã sinh viên và một bản ghi về thành viên sẽ được thêm vào
- Hệ thống sẽ kiểm tra xem
Tác nhân kích hoạt UC: Người quản trị
Trang 14cho thành viên.
- Xóa: Use case yêu cầu xóa thông tin thành viên
- Tìm kiếm:
Use case yêu cầu tìm kiếm thông tin thành viên
thành viên có tồn tại không
và cập nhật lại
- Hệ thống kiểm tra xem thành viên có tồn tại không
và sẽ xóa bản ghi đó
- Hệ thống tìmcác thành viên có thông tin cần tìm kiếm và hiển thị kết quả ra
thông tin các hoạt động
- Thêm: Usecase yêu cầu nhập thông tin cho các hoạt động mới
- Sửa: Use case yêu cầu sửa
- Hệ thống sẽ kiểm tra dữ liệu nhập vào tạo ra
một mã hoạt động và một bản ghi về hoạt động sẽ được thêm vào
- Hệ thống sẽ kiểm tra xem
Tác nhân kích hoạt UC: Người quản trị
Trang 15thông tin cho các hoạt động.
- Xóa: Use case yêu cầu xóa thông tin hoạt động
hoạt động có tồn tại không
và cập nhật lại
- Hệ thống sẽ kiểm tra xem hoạt động có tồn tại không
và xóa bản ghi đó
các thành viên thamgia hoạt động
- Thêm: Usecase yêu cầu nhập thông tin cho các thành viên tham gia hoạt động mới
- Xóa: Use case yêu cầu xóa thông tin các thành viên tham gia hoạt
- Hệ thống sẽ kiểm tra dữ liệu nhập và một bản ghi
về các thành viên tham gia hoạt động sẽ được thêm vào
- Hệ thống sẽ kiểm tra sinh viên có tồn tạitrong hoạt động không xóa thông tin sinh viên đó khỏi bản ghi
Tác nhân kích hoạt UC: Người quản trị
Trang 16cơ sở vật chất
- Thêm: Usecase yêu cầu nhập thông tin cho cơ sở vật chất mới
- Sửa: Use case yêu cầu sửa thông tin cho cơ sở vật chất
- Xóa: Use case yêu cầu xóa thông tin cơ
sở vật chất
- Hệ thống sẽ kiểm tra dữ liệu nhập vào
và kiểm tra xem cơ sở vậtchất có tồn tạikhông và một bản ghi về cơ
sở vật chất sẽđược thêm vào
- Hệ thống sẽ kiểm tra xem
cơ sở vật chất
có tồn tại không và cập nhật lại
- Hệ thống sẽ kiểm tra xem
cơ sở vật chất
có tồn tại không và sẽ xóa bản ghi đó
Tác nhân kích hoạt UC: Người quản trị
thống kê
- Use case yêu cầu người quản
- Hệ thống sẽ hiện các
thông tin được
Tác nhân kích
Trang 17trị click vào
“thống kê”
trên menu
thống kê lên màn hình
hoạt UC:
Người quản trị
Bảng đặc tả use case
2.3.2 Mô hình hóa dữ liệu và giao diện hệ thống
- Yêu cầu dữ liệu:
+ Tài khoản: Dựa vào phân tích chức năng và mô tả use case Quản lý thông tin thành viên và Đăng nhập, ta xác định được lớp TaiKhoan lưu trữ các thông tin về tài khoản của người quản lý: taiKhoan, matKhau
+ Sinh viên: Dựa vào phân tích chức năng và mô tả use case Quản lý thông tin thành viên, ta xác định được lớp SinhVien lưu trữ các thông tin của các thành viên clb: maSV, tenSV, diaChi, gioiTinh, nganhHoc, nienKhoa, chucVu
+ Hoạt động: Dựa vào phân tích chức năng và mô tả use case Quản lý hoạt động và nhân sự tham gia, ta xác định được lớp HoatDong lưu trữ thông tin các hoạt động của clb và danh sách thành viên tham gia: maHD, tenHD, diaDiem, kinhPhi
+ Cơ sở vật chất: Dựa vào phân tích chức năng và mô tả use case Quản lý các cơ sở vật chất, ta xác định được lớp CoSoVatChat lưu trữ thông tin của cơ sở vật chất: maVatTu, tenVatTu, soLuong, tinhTrang.
+ Hoạt động của Sinh Viên: Dựa vào phân tích chức năng và
mô tả use case Quản lý các thành viên tham gia hoạt động ta xác định được lớp HoatDong_SinhVien lưu trữ thông tin các hoạt động của clb và thành viên tham gia: maHoatDong, dsMaSinhVien.
Trang 18- Mô hình hóa dữ liệu theo mức vật lý:
- Phác thảo giao diện UC:
+ UC Đăng nhập:
Giao diện use case đăng nhập
Trang 19Giao diện use case quản lý thông tin thành viên – Nguyễn
Huy Ngọ
+ UC Quản lý thông tin các hoạt động:
Trang 20Giao diện use case Quản lý thông tin các hoạt động –
Lê Ngọc Sơn
+ UC Quản lý các thành viên tham gia hoạt động:
Giao diện use case Quản lý các thành viên tham gia
hoạt động – Phan Duy Linh
+ UC Quản lý cơ sở vật chất:
Trang 21Giao diện use case Quản lý cơ sở vật chất Phùng Thu
Linh
+ UC Báo cáo thống kê:
Trang 22Giao diện use case Báo cáo thống kê – Đặng Tùng
Khánh
- Sơ đồ lớp:
Trang 242.4 Thực hiện bài toán
2.4.1 Nguyễn Huy Ngọ - Thiết kế giao diện Quản lý
thông tin thành viên
- Giao diện :
- Ghi chú: nội dung nhận là nội dung của các ô text field, radiobutton, combobox hiển thị dữ liệu lên bảng
- Mã lệnh :
+ Hướng đối tượng : tính kế thừa, tính đóng gói
public class SinhVien implements Serializable{ // tính kế thừa
String maSV, tenSV, diaChi, gioiTinh, nganhHoc, nienKhoa, chucVu;
// tính đóng gói public SinhVien() { maSV = tenSV = diaChi = gioiTinh = nganhHoc = nienKhoa = chucVu = "";
Trang 26public String getGioiTinh() {
Trang 28FileInputStream fis = new
} catch (IOException e) {
e.printStackTrace();
Trang 29}
2.4.2 Lê Ngọc Sơn - Thiết kế giao diện Quản lý
thông tin các hoạt động
- Giao diện :
- Mã lệnh :
+ Hướng đối tượng :
public class HoatDong implements Serializable{
String maHD, tenHD, diaDiem;
Trang 30public HoatDong(String maHD) {
Trang 31
}
+ Bắt lỗi và gom rác :
Bắt lỗi không được để trống :
if (maHD.isEmpty() || tenHD.isEmpty() || diaDiem.isEmpty() || kinhPhiString.isEmpty())
JOptionPane.showMessageDialog(rootPane, "Không được
ObjectInputStream ois = new ObjectInputStream(fis);
var resultList = (ArrayList) ois.readObject();
2.4.3 Phan Duy Linh - Thiết kế giao diện Quản lý các
các thành viên tham gia hoạt động
- Giao diện :
Trang 32- Mã lệnh :
+ Hướng đối tượng :
public class HoatDong_SinhVien implements Serializable{ private String maHoatDong;
private ArrayList<String> dsMaSinhVien = new
Trang 33+ Tập hợp :
ArrayList<HoatDong> dshd = new ArrayList<HoatDong>();ArrayList<SinhVien> dssv = new ArrayList<SinhVien>();ArrayList<HoatDong_SinhVien> dshdsv = new
Trang 342.4.4 Phùng Thu Linh - Thiết kế giao diện Quản lý
cơ sở vật chất
- Giao diện :
- Mã lệnh :
+ Hướng đối tượng :
public class CoSoVatChat implements Serializable{
private String maVatTu, tenVatTu, tinhTrang;
private int soLuongCo;
Trang 35public String getTenVatTu() {
Trang 36FileOutputStream fos = new
Trang 38e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) { e.printStackTrace();
}
Trang 39PHẦN 3: 36
3.1 Nội dung đã thực hiện
- Thông qua đề tài lần này các thành viên trong nhóm đã họcđược nhiều điều Được ôn tập và rèn luyện các kỹ năng củamôn lập trình java để xử lý giao diện Các kỹ năng mềm nhưlàm việc nhóm, tổng hợp thông tin
- Rút kinh nghiệm về việc phân công công việc, sắp xếp thờigian hợp lý hơn để hoàn thiện đề tài với kết quả tốt nhất
3.2 Hướng phát triển.
- Đề tài mang tính thực tế cao, tạo kinh nghiệm cho các thànhviên trong nhóm nâng cao kỹ năng của bản thân Tuy nhiênlần đầu làm một project lớn nên lượng kiến thức khá lớn khiếncác thành viên có chút áp lực, vì đa phần chưa có kinhnghiệm nhiều trong việc xử lý project lớn Nhưng cũng khôngthể không kể đến các thuận lợi từ việc vận dụng kiến thức đãđược học từ cô vào dự án
Trang 40TÀI LIỆU THAM KHẢO
[1] Giáo trình Lập trình HĐT với Java, Nguyễn Bá Nghiễn, Ngô
Văn Bình, Vương Quốc Dũng, Đỗ Sinh Trường; NXB Thống kê,2020
[2] Bộ slide bài giảng lập trình java- Bộ môn CMPM- trường
ĐHCN HN
[3] The Java Programming Language; Author: K Arnold, J
Gosling; Published: Addison-Wesley, 1996, ISBN 4
0-201-63455-[4] Lập trình hướng đối tượng với Java; Đoàn Văn Ban; NXB
Khoa học và Kỹ thuật, Hà Nội 2006 (Tái bản)
[5] Lập trình Java nâng cao, Đoàn Văn Ban, NXB Khoa học và
Kỹ thuật, Hà Nội 2006