Xây dựng ứng dụng Quản lý đề tài NCKH của sinh viê
1. Thiết kế sơ đồ class cho bài toán Để giải quyết bài toán này, ta cần thiết kế một sơ đồ class cho ứng dụng Quản lý đề tài NCKH của sinh viên. Sơ đồ class bao gồm các class sau: - Class DeTai: đại diện cho một đề tài nghiên cứu khoa học, bao gồm các thuộc tính như mã số đề tài, tên đề tài, kinh phí thực hiện, sinh viên chủ trì, thời gian bắt đầu và kết thúc, giảng viên hướng dẫn. - Class SinhVien: đại diện cho một sinh viên, bao gồm các thuộc tính như mã số sinh viên, tên sinh viên, số điện thoại, email, địa chỉ. - Class GiangVien: đại diện cho một giảng viên, bao gồm các thuộc tính như mã số giảng viên, tên giảng viên, số điện thoại, email, địa chỉ. - Class LichHanh: đại diện cho một lĩnh vực nghiên cứu, bao gồm các thuộc tính như tên lĩnh vực, kinh phí hỗ trợ nghiên cứu cho môi trường triển khai. 2. Xây dựng các class theo sơ đồ đã vẽ Dựa trên sơ đồ class đã thiết kế, ta có thể xây dựng các class theo yêu cầu của bài toán. Dưới đây là một ví dụ về cách xây dựng các class: ```python class DeTai: def __init__(self, ma_so, ten_de_tai, kinh_phi, sinh_vien_chu_tri, thoi_gian_bat_dau, thoi_gian_ket_thuc, giang_vien_huong_dan): self.ma_so = ma_so self.ten_de_tai = ten_de_tai self.kinh_phi = kinh_phi self.sinh_vien_chu_tri = sinh_vien_chu_tri self.thoi_gian_bat_dau = thoi_gian_bat_dau self.thoi_gian_ket_thuc = thoi_gian_ket_thuc self.giang_vien_huong_dan = giang_vien_huong_dan class SinhVien: def __init__(self, ma_so, ten_sinh_vien, so_dien_thoai, email, dia_chi): self.ma_so = ma_so self.ten_sinh_vien = ten_sinh_vien self.so_dien_thoai = so_dien_thoai self.email = email self.dia_chi = dia_chi class GiangVien: def __init__(self, ma_so, ten_giang_vien, so_dien_thoai, email, dia_chi): self.ma_so = ma_so self.ten_giang_vien = ten_giang_vien self.so_dien_thoai = so_dien_thoai self.email = email self.dia_chi = dia_chi class LichHanh: def __init__(self, ten_lich_hanh, kinh_phi_hoi_tro_lap): self.ten_lich_hanh = ten_lich_hanh self.kinh_phi_hoi_tro_lap = kinh_phi_hoi_tro_lap # các thuộc tính khác của các class ``` 3. Tạo file xml chứa danh sách các đề tài nghiên cứu Để lưu trữ danh sách các đề tài nghiên cứu, ta có thể tạo một file xml. Dưới đây là một ví dụ về cách tạo file xml: ```xml <?xml version="1.0" encoding="UTF-8"? > <DeTai > <DeTai > <ma_so >DT01 </ma_so > <ten_de_tai >Nghiên cứu về hiệu quả của phương pháp học trực tuyến </ten_de_tai > <kinh_phi >15000000 </kinh_phi > <sinh_vien_chu_tri >SV001 </sinh_vien_chu_tri > <thoi_gian_bat_dau >2022-01-01 </thoi_gian_bat_dau > <thoi_gian_ket_thuc >2022-12-31 </thoi_gian_ket_thuc > <giang_vien_huong_dan >GV001 </giang_vien_huong_dan > </DeTai > <DeTai > <ma_so >DT02 </ma_so > <ten_de_tai >Nghiên cứu về ảnh hưởng của đại dịch Covid-19 đến kinh tế toàn cầu </ten_de_tai > <kinh_phi >12000000 </kinh_phi > <sinh_vien_chu_tri >SV002 </sinh_vien_chu_tri > <thoi_gian_b