4 TRUỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN KĨ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI BÀI TOÁN QUẢN LÍ ĐIỂM SINH VIÊN Giáo viên HD Mai Thị Thúy Hà Nhóm 09,sinh viên thực hiện Phan Trung Hiếu Lê Tiến Đạt Lớp 2110A04 4 Hà Nội, năm 2022 NỘI DUNG PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN 3 I XÁC ĐỊNH BÀI TOÁN 4 1 Phát biểu bài toán4 2 Xác định các lớp được cài đặt4 3 Quan hệ và tính kế thừa giữa các lớp 6 II MÔ TẢ THUẬT TOÁN THAO TÁC 6 1 Các chức năng thao tác xử lý nghiệp vụ.
TRUỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN KĨ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI BÀI TỐN QUẢN LÍ ĐIỂM SINH VIÊN Giáo viên HD : Mai Thị Thúy Hà Nhóm 09,sinh viên thực : Phan Trung Hiếu Lê Tiến Đạt Lớp : 2110A04 Hà Nội, năm 2022 NỘI DUNG PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN3 I XÁC ĐỊNH BÀI TỐN4 Phát biểu tốn4 Xác định lớp cài đặt4 Quan hệ tính kế thừa lớp:6 II MƠ TẢ THUẬT TOÁN- THAO TÁC:6 Các chức - thao tác xử lý nghiệp vụ chính:6 III KIỂM THỬ - LẬP BỘ TEST – ÁP DỤNG7 Phần Code7 Phát Test31 PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN HỌ VÀ TÊN CÔNG VIỆC GHI CHÚ Phan Trung Hiếu Code chức năng, thao tác tốn HỒN THÀNH Lê Tiến Đạt Xây dựng đối tượng HỒN THÀNH I XÁC ĐỊNH BÀI TOÁN Phát biểu tốn Quản lí điểm sinh viên đại học đáp ứng nhu cầu cần thiết : thêm điểm sinh viên vào hệ thống, tự động thống kê điểm tổng cuối kì, sửa điểm cần thiết dễ điều chỉnh theo dõi nắm bắt tình hình thực tế sinh viên để biết tình hình học tập mình, thao tác đơn giản không rườm rà phức tạp Cho phép quản lí nơi thơng qua hình thức truy cập Internet giáo viên quản lí điểm sinh viên Chính hệ thống quản lí điểm sinh viên đời để phục vụ yêu cầu cần thiết thay đổi đại theo xu hướng Xác định lớp cài đặt Lớp SinhVien -Gồm thuộc tính: hoten ,diachi,tuoi,maSinhVien,lop,khoa Các phương thức: hàm khởi tạo, get, set tương ứng, phương thức nhập hiện/ toString Lớp ĐIỂM (DIEM): Gồm thuộc tính: maSinhVien,giaiTich ,lthdt,tiengAnh,ktmt,csdl,chuyenCan Các phương thức: hàm khởi tạo, get, set tương ứng, phương thức nhập hiện/ toString Lớp XLDS: Gồm thuộc tính: sinhVien, ds Gồm phương thức: hàm khởi tạo, get, set tương ứng, phương thức nhập toString Lớp DSSV : Gồm thuộc tính: lssv Gồm phương thức: hàm khởi tạo, get, set tương ứng, phương thức nhập hien/toString,doc/ghiFileSV,timKiemSV Lớp DSDS (DS điểm ) Gồm thuộc tính: lsds Gồm phương thức: hàm khởi tạo, get, set tương ứng, phương thức nhập hien/toString,doc/ghiFileDS Lớp Dsdiemso Gồm thuộc tính: lsds Gồm phương thức: hàm khởi tạo, get, set tương ứng, phương thức nhập hien/toString,doc/ghiFile Quan hệ lớp: II MÔ TẢ THUẬT TOÁN- THAO TÁC Các chức - thao tác xử lý nghiệp vụ chính: - Nhập đối tượng () - Hiện đối tượng ( ) - Thêm đối tượng () - Tìm kiếm () SinhVien theo maSinhVien Diem theo maSinhVien - Ghi đọc FILE() SinhVien Diem BangDiem III.CÀI ĐẶT VÀ TEST CHƯƠNG TRÌNH 1.Phần Code => Lớp SinhVien package BTL; import java.io.Serializable; import java.util.Scanner; /** * * @author phant */ public class SinhVien implements IHoatDong, IKhoa,Serializable{ private String hoTen; private String diaChi; private int tuoi; private String maSinhVien; private String lop; private String khoa; public SinhVien() { } public SinhVien(String hoTen, String diaChi, int tuoi, String maSinhVien, String lop, String khoa) { this.hoTen = hoTen; this.diaChi = diaChi; this.tuoi = tuoi; this.maSinhVien = maSinhVien; this.lop = lop; this.khoa = khoa; } public String getHoTen() { return hoTen; } public void setHoTen(String hoTen) { this.hoTen = hoTen; } public String getDiaChi() { return diaChi; } public void setDiaChi(String diaChi) { this.diaChi = diaChi; } public int getTuoi() { return tuoi; } public void setTuoi(int tuoi) { this.tuoi = tuoi; } public String getMaSinhVien() { return maSinhVien; } public void setMaSinhVien(String maSinhVien) { this.maSinhVien = maSinhVien; } public String getLop() { return lop; } public void setLop(String lop) { this.lop = lop; } public String getKhoa() { return khoa; } public void setKhoa(String khoa) { this.khoa = khoa; } @Override public String toString() { return "SinhVien{" + "hoTen=" + hoTen + ", diaChi=" + diaChi + ", tuoi=" + tuoi + ", maSinhVien=" + maSinhVien + ", lop=" + lop + ", khoa=" + khoa + '}'; } @Override public void nhap() { Scanner sc = new Scanner(System.in); System.out.println("Nhap ho ten : "); hoTen = sc.nextLine(); System.out.println("" + sinhVien.toString()); System.out.println("Diem cua sinh vien "); System.out.println("" + ds.toString()); } } Lớp Quản Lý: Lớp DSSV package BTL; import java.io.EOFException; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.Scanner; /** * * @author phant */ public class DSSV { private ArrayList lssv; public DSSV() { this.lssv = new ArrayList(); } public DSSV(ArrayList lssv) { this.lssv = lssv; } public static final String fname = "SV.DAT"; public void ghiFileSV(SinhVien sv) throws FileNotFoundException, IOException { File f = new File(fname); boolean append = f.exists(); FileOutputStream fout = new FileOutputStream(f, append); AppendObjectOutputStream out = new AppendObjectOutputStream(fout, append); out.writeObject(sv); out.close(); fout.close(); } public void docFileSV() throws FileNotFoundException, IOException, ClassNotFoundException { lssv.clear(); boolean isCheck = true; FileInputStream fin = new FileInputStream(fname); ObjectInputStream in = new ObjectInputStream(fin); while (isCheck) { try { SinhVien sv = (SinhVien) in.readObject(); lssv.add(sv); } catch (EOFException e) { isCheck = false; } } in.close(); fin.close(); } public void nhapDSSV() throws IOException { System.out.println("Nhap so luong sinh vien : "); int n = new Scanner(System.in).nextInt(); for(int i=0; i