Đề tài: Xây dựng ứng dụng hỗ trợ quản lý phân công coichấm thi tại khoa CNTT, trường Đại học Mở HN Lý do chọn đề tài: Đưa công nghệ thông tin vào công việc thực tiến Áp dụng được kiến thức đã học vào dự án thực tế Xây dựng 1 ứng dụng mang tính thực tế, triển khai Giúp nâng cao hiệu xuất công việc Giúp cải thiện và tiết kiệm chi phí trong công tác vận hành Tự động hoá, công nghệ hoá trong quá trình làm việc, văn thư, quản lý. Đối tượng, phạm vi: Trên toàn quốc.
Trang 1
LƯU THỊ ANH
XÂY DỰNG ỨNG DỤNG HỖ TRỢ QUẢN LÝ PHÂN CÔNG
COI/CHẤM THI TẠI KHOA CNTT, TRƯỜNG ĐẠI HỌC MỞ HN
Chuyên ngành: Công nghệ thông tin
BÁO CÁO CHUYÊN ĐỀ LẬP TRÌNH ỨNG DỤNG
Hà Nội – Năm 2022
Trang 2TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN -
LƯU THỊ ANH – LỚP CPY214
XÂY DỰNG ỨNG DỤNG HỖ TRỢ QUẢN LÝ PHÂN CÔNG
COI/CHẤM THI TẠI KHOA CNTT, TRƯỜNG ĐẠI HỌC MỞ HN (Mã đề: 20NN-CNPM.NTT.4)
Chuyên ngành: Công nghệ thông tin
Giảng viên hướng dẫn:
BÁO CÁO CHUYÊN ĐỀ LẬP TRÌNH ỨNG DỤNG
Trang 3Hà Nội – Năm 2022
Trang 4TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
NAM Độc lập – Tự do – Hạnh phúc
Hà Nội, Ngày Tháng Năm 2022
NHIỆM VỤ BÁO CÁO CHUYÊN ĐỀ LẬP TRÌNH ỨNG DỤNG
Họ và tên: Giới tính: Nữ
Ngày sinh: 03/06/1984 Nơi sinh: Khánh Hòa
Chuyên ngành: Công nghệ thông tin
2 NHIỆM VỤ VÀ NỘI DUNG
- Nghiên cứu và tìm hiểu cách xây dựng ứng dụng hỗ trợ quản lý phân côngcoi/chấm thi tại Khoa CNTT, ĐH Mở Hà Nội
- Xây dựng sản phẩm là ứng dụng hỗ trợ quản lý phân công coi/chấm thi
3 NGÀY GIAO NHIỆM VỤ: 30/05/2022
4 NGÀY HOÀN THÀNH NHIỆM VỤ: 14/08/2022
5 PHÂN CÔNG CÔNG VIỆC:
Đề tài được thực hiện bởi sinh viên: Lưu Thị Anh
6 GIẢNG VIÊN HƯỚNG DẪN: ThS.Nguyễn Thị Tâm
Trang 6LỜI MỞ ĐẦU
Đề tài: Xây dựng ứng dụng hỗ trợ quản lý phân công coi/chấm thi tại khoa CNTT, trường Đại học Mở HN
Lý do chọn đề tài:
- Đưa công nghệ thông tin vào công việc thực tiến
- Áp dụng được kiến thức đã học vào dự án thực tế
- Xây dựng 1 ứng dụng mang tính thực tế, triển khai
- Giúp nâng cao hiệu xuất công việc
- Giúp cải thiện và tiết kiệm chi phí trong công tác vận hành
- Tự động hoá, công nghệ hoá trong quá trình làm việc, văn thư, quảnlý
Đối tượng, phạm vi: Trên toàn quốc
Trang 7CHƯƠNG 1: PHÁT BIỂU BÀI TOÁN (KHẢO SÁT HIỆN
TRẠNG) 1.1 Mô tả hệ thống thực
Việc thực hiện và tổ chức các kì thì, đợt thi trong mỗi nhà trường, cơ sởgiáo dục hiện nay ở nước ta là thường xuyên
Trong mỗi kì học thường có các đợt tổ chức thi, tuyển… mỗi đợt cầnphải huy động nhiều nhân lực, tài lực, tài chính phục vụ cho công tác vậnhành, tổ chức đợt tổ chức phân công việc coi thi và chấm thi
Mỗi trường có thể khác nhau nhưng về mặt quy trình thì có thể coi làgần giống nhau ở mặt tổ chức và cơ cấu
Với bài toán Xây dựng ứng dụng hỗ trợ quản lý phân công coi/chấm thitại Khoa CNTT, ĐH Mở Hà Nội cần thực hiện được các chức năng như quản
lý các thông tin cá nhân của cán bộ, giảng viên coi thi, chấm thi Quản lýthông tin buổi thi, môn thi, phân công theo chức năng nhiệm vụ của từng cán
bộ tham gia (chủ tịch, giám sát, thư kí, cán bộ coi thi) Quản lý thanh toán chocán bộ sau buổi thi Hỗ trợ thống kê, tra cứu thông tin
1.2 Hạn chế của hệ thống thực
Việc đồng bộ hoá dữ liệu được nhanh chóng, chính xác và chi phí rẻ.Hạn chế của hình thức quản lý, vận hành truyền thống có nhiều bất cập
đã được nhắc đến nhiều trong thời gian dài trước đây
Tốn thời gian, công sức của tổ chức
Tốn thời gian, tiền của trong công tác vận hành, bảo quản của đơn vịhành chính
Việc tra cứu, tìm kiếm thông tin lâu, thiếu đồng bộ
Chi phí vận hành lớn
1.3 Mục tiêu xây dựng hệ thống
Xây dựng ứng dụng hỗ trợ quản lý phân công coi/chấm thi tại khoaCNTT, trường Đại học Mở HN đáp ứng những yêu cầu sau đây:
Trang 8Ứng dụng giúp người dùng có thể quản lý những thông tin về việc phâncông cán bộ, giảng viên tham gia coi thi/ chấm thi như sau:
- Quản lý các thông tin cá nhân của cán bộ, giảng viên tham gia coi/chấm thi
- Quản lý thông tin buổi thi, môn thi, phân công theo chức năng nhiệm
vụ của từng cán bộ tham gia (chủ tịch, giám sát, thư kí, cán bộ coi thi)
- Quản lý thanh toán cho cán bộ sau buổi thi
- Hỗ trợ thống kê, tra cứu thông tin
Yêu cầu chức năng
- Chức năng quản lý cán bộ, giảng viên:
+ Chức năng nhập thông tin cán bộ, giảng viên
+ Chức năng sửa thông tin cán bộ giảng viên
+ Chức năng xóa thông tin cán bộ giảng viên
+ Chức năng phân công coi/chấm thi cho các cán bộ, giảng viên tham gia
+ Chức năng thanh toán cho cán bộ, giảng viên coi và chấm thi
+ Chức năng thống kê: số lượng cán bộ, giảng viên coi và chấm thi; thông kế chi phí thanh toán cho cán bộ, giảng viên coi và chấm thi
- Chức năng quản lý các buổi thi
+ Chức năng phân chia các buổi thi
+ Chức năng phân chia các môn thi trong từng buổi thi
+ Chức năng phân công cán bộ, giảng viên coi thi
+ Chức năng thống kê: số lượng các môn thi trong từng buổi thi,…
Yêu cầu hệ thống được xây dựng
Yêu cầu phi chức năng:
- Giao diện đơn giản, dễ sử dụng
- Chương trình dễ cài đặt và nâng cấp
- Bảo mật và phân quyền
Trang 9CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 2.1 Về chức năng của hệ thống
* Chức năng nhập thông tin cán bộ, giảng viên: ứng dụng cho phép
nhập thông tin của các cán bộ, giảng viên trong khoa CNTT của trường Đại
học Mở HN với các thông tin cơ bản như: Mã CBGV, Họ tên CBGV, Giới
tính, Ngày tháng năm sinh, Bộ môn phụ trách,…
* Chức năng sửa thông tin cán bộ, giảng viên: ứng dụng cho phép
người dùng thực hiện sửa thông tin của cán bộ, giảng viên với các thông tinsửa tương ứng những thông tin đã nhập
* Chức năng xóa thông tin cán bộ, giảng viên: ứng dụng cho phép
người dùng thực hiện xóa thông tin của cán bộ, giảng viên với các thông tinxóa tương ứng những thông tin đã nhập
* Chức năng phân công coi/chấm thi cho các cán bộ, giảng viên:
ứng dụng cho phép người dùng phân công từng cán bộ, giảng viên ứng vớitừng nhiệm vụ coi hoặc chấm thi Cán bộ, giảng viên nào cũng có thể coi thinhưng phân công chấm thi cần chú ý đến môn chấm thi phải là bộ môn màcán bộ, giảng viên đó phụ trách ở khoa Chức năng cho phép phân chia hợp lý
số giảng viên của từng buổi thi
Phân công nhiệm vụ cho từng cán bộ, giảng viên dựa theo chức năng nhiệm
vụ của từng cán bộ, giảng viên tham gia như: chủ tịch, giám sát, thư ký, cán
bộ coi thi
* Chức năng thanh toán cho cán bộ, giảng viên coi và chấm thi:
ứng dụng cho phép tính số tiền cần thanh toán có các cán bộ, giảng viên thamgia coi thi dựa trên số tiền trả cho từng buổi thi của từng cán bộ, giảng viênứng với chức năng nhiệm vụ của từng người Ví dụ: Chủ tịch hội đồng thiđược thanh toán 500.000 trên một buổi thi và đợt thi diễn ra trong 5 buổi thì
số tiền mà chủ tịch hội đồng thi nhận được là 500.000x5,… Mỗi cán bộ tùytheo chức năng nhiệm vụ của mình mà được thanh toán số tiền tương ứng
Trang 10Tương tự khi tính tiền chấm thi có thể tính theo số bài cán bộ, giảngviên đó chấm với mỗi bài được thanh toán bao nhiêu tiền.
* Chức năng thống kê: số lượng cán bộ, giảng viên coi và chấm thi; thông kế chi phí thanh toán cho cán bộ, giảng viên coi và chấm thi: ứng
dụng cho phép người dùng có thể thống kế được trong đợt thi đó có tất cả baonhiêu cán bộ, giảng viên của khoa tham gia coi và chấm thi, thống kê đượctổng chi phí phải thanh toán có đợt thi, ngày thi,…
* Chức năng phân chia các buổi thi: ứng dụng có khả năng phân chia
đợt thi đó có bao nhiêu buổi thi, gồm có bao nhiêu phòng thi, thời gian diễn racủa các buổi thi, ngày thi,…
* Chức năng phân chia các môn thi trong từng buổi thi: ứng dụng
cho phép người dùng phân chia các môn thi trong từng buổi thi dựa vào sốlượng các môn thi, số lượng cán bộ coi thi tương ứng
* Chức năng phân công cán bộ, giảng viên coi/chấm thi: ứng dụng
cho phép người dùng dựa trên số lượng môn thi trong buổi thi và số cán bộ,giảng viên tham gia để phân công coi thi trong các phòng thi, môn thi tươngứng Về chấm thi ứng dụng cho phép phân công hợp lý giảng viên chấm thicho môn thi tương ứng
* Chức năng thống kê: ứng dụng cho phép người dùng thống kê được
số lượng các môn thi trong từng buổi thi, số lượng phòng thi,…
* Chức năng tìm kiếm: ứng dụng cho phép người dùng tìm kiếm một
môn thi diễn ra vào buổi nào, ở phòng thi nào, do những cán bộ nào coi thi,hay môn đó giảng viên nào tham gia chấm thi,…
2.2 Sơ đồ phân cấp chức năng hệ thống
Trang 11HÌNH 1 SƠ ĐỒ PHÂN CẤP
- QL Hệ thống gồm:
+ QL Menu có thể thực hiện thay đổi vị trí các chức năng hoặc xóa bớt chức năng trên website
+ QL Cấu hình là quản lý giao diện chung của website
+ QL Giảng viên là quản lý giảng viên tham gia coi và chấm thi
+ QL Chức vụ là quản lý chức vụ của người tham gia coi và chấm thi như: Chủ tịch, giám sát, giám thị,…
- QL Danh mục gồm:
+ QL Đợt thi là quản lý các thông tin của đợt thi
+ QL Ngày thi là quản lý các ngày thi của đợt thi
+ QL Buổi thi là quản lý thời gian các buổi thi trong đợt thi
+ QL Phòng thi là quản lý số lượng các phòng thi của đợt thi
+ QL Môn học là quản lý các môn học sẽ được thi trong đợt thi
- Phân công đợt thi gồm các chức năng Tạo mới 1 đợt thi, cập nhật, xóa
Trang 12- Phân công coi thi gồm các chức năng Tạo mới, cập nhật, xóa các giảng viên được phân công coi thi trong đợt thi.
- Phân công chấm thi gồm các chức năng Tạo mới, cập nhật, xóa giảng viên được phân công chấm thi trong đợt thi
- Thống kê gồm:
+ Tìm kiếm các thông tin trong đợt thi như môn thi, ngày thi, phòng thi,…+ Thống kê đợt thi: các phòng thi, các môn thi, thi trong bao nhiêu ngày, giảng viên tham gia coi thi,…
+ Thống kê chấm thi: có bao nhiêu giảng viên tham gia chấm thi, tổng số lượng bài thi,…
Trang 132.3 Sơ đồ ngữ cảnh
HÌNH 2 SƠ ĐỒ NGỮ CẢNH
Trang 142.4 Sơ đồ mức đỉnh
HÌNH 3 SƠ ĐỒ MỨC ĐỈNH
Trang 152.5 Sơ đồ mức dưới đỉnh – sơ đồ luồng dữ liệu
2.5.1 Sơ đồ luồng dữ liệu mức dưới đỉnh của chức năng: QL HỆ THỐNG
HÌNH 4 QUẢN LÝ CẤU HÌNH
Trang 162.5.2 Sơ đồ luồng dữ liệu mức dưới đỉnh: Chức năng quản lý DANH MỤC
HÌNH 5 QL DANH MỤC
Trang 172.5.3 Sơ đồ luồng dữ liệu mức dưới đỉnh của: Chức năng quản lý phân công đợt thi
HÌNH 6 CHỨC NĂNG QUẢN LÝ PHÂN CÔNG ĐỢT THI
Trang 182.5.4 Sơ đồ luồng dữ liệu mức dưới đỉnh của: Chức năng quản lý phân công coi thi
HÌNH 7 CHỨC NĂNG QUẢN LÝ PHÂN CÔNG COI THI
Trang 192.5.5 Sơ đồ luồng dữ liệu mức dưới đỉnh của: Chức năng quản lý phân công chấm thi
HÌNH 8 CHỨC NĂNG QUẢN LÝ PHÂN CÔNG CHẤM THI
Trang 202.5.6 Sơ đồ luồng dữ liệu mức dưới đỉnh của: Chức năng thống kê
HÌNH 9 CHỨC NĂNG THỐNG KÊ
Trang 21CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 3.1 Thiết kế cơ sở dữ liệu
3.1.1 Quan hệ giữa các bảng CSDL
HÌNH 10 QUAN HỆ GIỮA CÁC BẢNG TRONG CSDL
Ghi chú: Configs là bảng Cấu hình.
Trang 223.1.2 Các bảng trong CSDL
BẢNG CẤU HÌNH
Trang 25HÌNH 12 PHÒNG THI
12
PHÂN CÔNG ĐỢT THI
HÌNH 13 PHÂN CÔNG ĐỢT THIST
T Tên trường Kiểu dữ liệu Diễn giải
Khoáchính
Khoángoại
Trang 263 ghichu Nvarchar(500) Nội dung
6 idnhanvien int Mã nhân viên (giảng
viên,…)
7 soluong int Số lượng nhân viêntham gia đợt thi
8 tongthanhtoan float Số tiền thanh toán chođợt thi
9 trangthai Nvarchar(500) Trạng thái hoạt động
10 ngaythanhtoan Nvarchar(500) Ngày thanh toánBẢNG MENU
HÌNH 14 BẢNG MENUSTT
1234567
Trang 278BẢNG NHÂN VIÊN
HÌNH 15 BẢNG NHÂN VIÊN (TÀI KHOẢN)
STT123456PHÂN CÔNG COI THI
Trang 28HÌNH 16 PHÂN CÔNG COI THI
STT1234567PHÂN CÔNG CHẤM THI
Trang 29HÌNH 17 PHÂN CÔNG CHẤM THISTT
1234567891011
NGÀY THI
Trang 30HÌNH 18 NGÀY THISTT
1234567
MÔN HỌC
HÌNH 19 MÔN HỌCSTT
123
Trang 31ĐỢT THI
HÌNH 20 ĐỢT THISTT
12345678910CHỨC VỤ
Trang 32HÌNH 21 CHỨC VỤSTT
1234BUỔI THI
HÌNH 22 BUỔI THISTT
1234QUYỀN
HÌNH 23 QUYỀNSTT
12
Trang 34HÌNH 24 TOÀN DỰ ÁN
Trang 35TRANH CHỦ
HÌNH 25 TRANG CHỦ
Trang 36QUẢN TRỊ
Trang 37HÌNH 26 QUẢN TRỊ
ĐĂNG NHẬP HỆ THỐNG
Trang 38HÌNH 27 ĐĂNG NHẬP HỆ THỐNG
TRANG QUẢN LÝ MENU
HÌNH 28 TRANG QUẢN LÝ MENU
TRANG QUẢN LÝ CẤU HÌNH
Trang 39HÌNH 29 TRANG CẤU HÌNH WEBSITE
Trang 40QUẢN LÝ ĐỢT THI
HÌNH 30 QUẢN LÝ ĐỢT THI
QUẢN LÝ NGÀY THI
HÌNH 31 QUẢN LÝ NGÀY THI
QUẢN LÝ BUỔI THI
HÌNH 32 QUẢN LÝ BUỔI THI
QUẢN LÝ CHỨC VỤ
Trang 42HÌNH 36 PHÂN CÔNG ĐỢT THI
PHÂN CÔNG COI THI
HÌNH 37 PHÂN CÔNG COI THI
PHÂN CÔNG CHẤM THI
HÌNH 38 PHÂN CÔNG CHẤM THI
QUẢN LÝ GIẢNG VIÊN
Trang 43HÌNH 39 QUẢN LÝ GIẢN VIÊN
Trang 44DataAccess ac = new DataAccess();
BasicPage xulychung = new BasicPage();
protected void Page_Load(object sender, EventArgs e)
Trang 45load_thongtin(txtemail.Text);
int masss = int.Parse(Session["keycode"].ToString());
Response.Redirect("dangnhapthanhcong.aspx");
Session["maquyen"] =
xulychung.Lay_GiaTri_TuBang("nhanvien", "tendangnhap", tendangnhap_01, "idquyen");
Session["mataikhoan"] =
xulychung.Lay_GiaTri_TuBang("nhanvien", "tendangnhap", tendangnhap_01, "id");
//xulychung.lay_gt_nguoidung("tblkhachhang", "name", tendangnhap_01, "id");
Session["tenkhachhang"] =
xulychung.Lay_GiaTri_TuBang("nhanvien", "tendangnhap", tendangnhap_01, "tenhienthi");
Trang 46public partial class controls_quantri_buoithi_buoithiedit :
}
public void loaddoituong()
{
doituong = new buoithiModel();
doituong.id = int.Parse(txtma.Text);
doituong.ten = txtten.Text;
Trang 47doituong.ghichu = txtghichu.Text;
doituong.idngaythi =
int.Parse(drop_ngaythi.SelectedValue.ToString());
} public void them() {
try
{ loaddoituong();
buoithiDAO.insertOrUpdate(doituong);
lblresult.Text = "Cập nhật dữ liệu thành công!";
} catch (Exception ex) {
lblresult.Text = "Lỗi khi thao tác, vui lòng thử lại " + ex.ToString();
} } protected void btnluu_Click(object sender, EventArgs e) {
them();
load_data();
}}
Trang 48}
public void loaddoituong()
{
doituong = new chucvuModel();
doituong.id = int.Parse(txtma.Text);
Trang 50nambatdau.Text = DateTime.Now.Year.ToString(); namketthuc.Text = DateTime.Now.Year.ToString(); }
}
}
public void loaddoituong()
{
doituong = new dotthiModel();
doituong.id = int.Parse(txtma.Text);
Trang 52BasicPage xuly = new BasicPage();
DataAccess ac = new DataAccess();
public void load_data()
facebookid.Text = dlist.facebookid.ToString();
facebooksecret.Text = dlist.facebooksecret.ToString(); facebookpage.Text = dlist.facebookpage.ToString();
twitterid.Text = dlist.twitterid.ToString();
googleid.Text = dlist.googleid.ToString();
// }
}
Trang 53ConfigsModel doituong;
public void loaddoituong()
{
doituong = new ConfigsModel();
doituong.id = int.Parse(txtma.Text);
doituong.facebookid = facebookid.Text;
doituong.facebooksecret = facebooksecret.Text; doituong.facebookpage = facebookpage.Text;
Trang 54lblresult.Text = "Lỗi khi thao tác, vui lòng thử lại " + ex.ToString();
DataAccess ac = new DataAccess();
public string chuoiketnoi = DataAccess.chuoi;
Trang 55private SqlConnection con;
private void updateSelect(string luachon, string thamso) {
try
{
//duyệt từng dòng trong gridview
foreach (GridViewRow row in gvDetails.Rows) {
//tìm checkbox "chkDel" và kiểm tra trạng thái
Trang 56//gọi phương thức xóa catalog
SelectCatalog(id, luachon, thamso);
private void SelectCatalog(int id, string luachon, string thamso) {
Trang 57//duyệt từng dòng trong gridview để gán trạng thái
foreach (GridViewRow row in gvDetails.Rows)
private void DeleteAll()
{
try
{
//duyệt từng dòng trong gridview
foreach (GridViewRow row in gvDetails.Rows)
DeleteCatalog(id);
}
}
Trang 58private void DeleteCatalog(int id)
ctl=QuanTri/Menu/MenuEdit&c=" + macode + "&action=EDIT"); }
protected void gvDetails_RowEditing(object sender,
GridViewEditEventArgs e)
{
int macode =
Convert.ToInt32(gvDetails.DataKeys[e.NewEditIndex].Values["id"].ToString());