Đề tài Xây dưng hệ thống chương trình quản lý giảng dạy tại trường đại học kỹ thuật đà nẵng

Mục đích của chương trình là đưa ra được thời khóa biểu cho từng lớp, thời khóa biểu cho các lớp trong từng khóa, phân công giảng dạy cho các giáo viên, bảng kế hoạch học tập cho từng lớp, từng khóa. Đặc biệt cần xem nhanh các thông tin lịch học cho các lớp, quá trình công tác của từng giáo viên trong từng học kỳ. Hay là biết được lớp nào đó đang học tại phòng học số mấy, môn học gì, do giáo viên nào dạy.

 Phân công cho các giáo viên dạy trong kỳ.

 

doc9 trang | Chia sẻ: netpro | Lượt xem: 1545 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Đề tài Xây dưng hệ thống chương trình quản lý giảng dạy tại trường đại học kỹ thuật đà nẵng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG III: XÂY DỰNG MÔ HÌNH LÔGIC DỮ LIỆU Mục đích của phần này đi xây dựng mô hình logic từ mô hình ý niệm dữ liệu đã được phân tích, rồi chuyển thành mô hình logic dữ liệu các tệp. Sau đó quyết định làm sao đưa ra công cụ phần mềm phù hợp, thích hợp với các cấu trúc dữ liệu mà ta đa định nghĩa. I. MÔ HÌNH LOGIC DỮ LIỆU: KHOA (Makhoa, Tenkhoa) DIADIEM (MaDD, Diadiem, Phong) NAMHOC (Namhoc, Hocky) KHHT (#Namhoc, #Malop, TuanBD, TuanKT, Bdthi, KTThi, Bdthuctap, KTThuctap) LOP (Malop, #Makhoa, #MaDD, Hockhoa, SoSV) HOC (#Malop, #Mamonhoc, Thu, Tiet) MONHOC (Mamonhoc, Tenmonhoc, SotietLT, Btlon, TN_TH, #MaGV, Ghichu) CONGTAC (#Malop, #MaGV, Ngaydi, Ngayve) GIAOVIEN (MaGV, TenGV, Chucdanh) DOAN (MaDA, TenDA, #MaGV) LAMDA (#MaDA, #MaLop, TuanBD, TuanKT) II. XÂY DỰNG MÔ HÌNH LOGIC CÁC TỆP: Nguyên tắc chuyển đổi các thực thể thành các tệp: mỗi thực thể được tạo thành một bảng (Table) trong hệ quản trị cơ sở dữ liệu Microsoft Access và tệp chỉ mục của nó. Các thuộc tính của thực thể tạo thành các trường (Field) của các bảng. Dưới đây là các thực thể đã phân tích ở các phần trên được chuyển đổi thành các bảng (Table) trong các tệp (File) cơ sở dữ liệu Microsoft Access với tên là DATA.MDB · Thực thể KHOA: Table Tên chỉ mục KHOA KHOA Các trường Khóa chỉ mục Kiểu dữ liệu Makhoa Makhoa T10 Tenkhoa T40 · Thực thể LỚP: Table Tên chỉ mục LỚP LOP Các trường Khóa chỉ mục Kiểu dữ liệu Malop Malop T10 Makhoa Makhoa T10 MaDD MaDD T10 Hockhoa T10 SoSV N3 · Thực thể ĐỊA ĐIỂM: Table Tên chỉ mục ĐỊA ĐIỂM DIADIEM Các trường Khóa chỉ mục Kiểu dữ liệu MaDD MaDD T10 Diadiem T50 Phong T10 · Thực thể NĂM HỌC: Table Tên chỉ mục NĂM HỌC NAMHOC Các trường Khóa chỉ mục Kiểu dữ liệu Namhoc Namhoc T10 Hocky T10 · Thực thể KẾ HOẠCH HỌC: Table Tên chỉ mục KẾ HOẠCH HỌC KHTT Các trường Khóa chỉ mục Kiểu dữ liệu Namhoc Namhoc T10 Malop Malop T10 TuanBD N2 TuanKT N2 BDThi N2 KTThi N2 BDThuctap N2 KTThuctap N2 · Thực thể HỌC: Table Tên chỉ mục HỌC HOC Các trường Khóa chỉ mục Kiểu dữ liệu Malop Malop T10 Mamonhoc Mamonhoc T10 Thu T7 Tiet T4 · Thực thể MÔN HỌC: Table Tên chỉ mục MÔN HỌC MONHOC Các trường Khóa chỉ mục Kiểu dữ liệu Mamonhoc Mamonhoc T10 Tenmonhoc T40 SotietLT N3 BTlon N2 TN_TH N2 Ghichu T40 · Thực thể GIÁO VIÊN: Table Tên chỉ mục GIÁO VIÊN GIAOVIEN Các trường Khóa chỉ mục Kiểu dữ liệu MaGV MaGV T10 TenGV T30 Chucdanh T30 · Thực thể CÔNG TÁC: Table Tên chỉ mục CÔNG TÁC CONGTAC Các trường Khóa chỉ mục Kiểu dữ liệu Malop Malop T10 MaGV MaGV T10 Ngaydi D Ngayve D · Thực thể LÀM ĐỒ ÁN: Table Tên chỉ mục LÀM ĐỒ ÁN LAMDA Các trường Khóa chỉ mục Kiểu dữ liệu Malop Malop T10 MaDA MaDA T10 TuanBD N2 TuanKT N2 · Thực thể ĐỒ ÁN: Table Tên chỉ mục ĐỒ ÁN DOAN Các trường Khóa chỉ mục Kiểu dữ liệu MaDA MaDA T10 TenDA T40 III. HỢP THỨC HÓA MÔ HÌNH DỮ LIỆU BỞI XỬ LÝ SỰ KIỆN: Sau khi phân tích thiết kế hệ thống, xây dựng mô hình logic dữ liệu các tệp, để chứng tỏ rằng tệp dữ liệu vừa được tạo ở trên thỏa mãn các xử lý trong bài toán quản lý giảng dạy tại trường Đại học Kỹ thuật Đà nẵng. Ta đi xây dựng các môdun thuật toán như sau: III.1 Các thủ tục đăng ký (phần hệ thống): â Đăng ký người sử dụng â Thay đổi mật khẩu người sử dụng ¯ Đăng ký người sử dụng: Để bảo đảm người truy nhập và sử dụng chương trình hợp pháp. Người sử dụng phải vào đúng mật khẩu để có thể sử dụng được chương trình. Nếu người dùng không có mật khẩu thì không vào được chương trình. Private Sub Command1_Click() If (Len(Tuser.Text) > 0) And -> (Len(Tpass.Text) > 0) Then Data1.Recordset.MoveLast Data1.Recordset.AddNew Tuser.Text = "" Tpass.Text = "" Else If (Len(Tuser.Text) = 0) And (Len(Tpass.Text) = 0) Then p.Caption = " User Name ?, Password ?" Tuser.SetFocus Else If (Len(Tuser.Text) = 0) And (Len(Tpass.Text) > 0) Then p.Caption = "User Name ?" Tuser.SetFocus End If If (Len(Tuser.Text) > 0) And (Len(Tpass.Text) = 0) Then p.Caption = "Password ?" Tpass.SetFocus End If End If End If End Sub ¯ Thay đổi mật khẩu người sử dụng: Người dùng có thể thay đổi mật khẩu của mình khi đã đăng nhập vào chương trình qua Form Change PassWord và tính bảo mật vẫn được bảo đảm dưới các kí tự sao. Function CheckPassword() Dim CmpCmp SqlStr$ = "Select * From Baove " 'Set tdyna = tDana.CreateDynaset(SqlStr$) Cmp = StrComp(UCase$(tOldpassword.Text), "SUPERVISOR") If Cmp = 0 Then Cmp = StrComp(UCase$(TnewPassword.Text), "7775") If Cmp = 0 Then CheckPassword = True Else CheckPassword = False End If Else StrFind$ = "UserName = "" &tOldpassword.Text&" tdyna.FindFisrt Strfind$ If Not tdyna.NoMatch Then Cmp StrComp(tdyna!Password, UCase$(TnewPassword.Text)) If Cmp = 0 Then CheckPassword = True Else CheckPassword = False End If End If End If End Function III.2 Các thuật toán cập nhật (đăng ký) quản lý: â Phân phòng học. â Phân công giảng dạy. â Lập kế hoạnh học tập. â Phân thời khóa biểu. ¯ Phân phòng học: Private Sub SSCommand1_Click(Index As Integer) Data1.Recordset.AddNew Data1.Recordset.Update Data1.Recordset.MoveLast Data1.Refresh End Sub ¯ Phân công giảng dạy: Private Sub SSCommand1_Click(Index As Integer) Data1.Recordset.AddNew Data1.Recordset.Update Data1.Recordset.MoveLast End Sub Private Sub SSCommand2_Click(Index As Integer) Data1.Recordset.Delete Data1.Recordset.MoveLast End Sub ¯ Lập kế hoạnh học tập: Private Sub SSCommand1_Click(Index As Integer) Data1.Recordset.AddNew Data1.Recordset.Update Data1.Recordset.MoveLast End Sub Private Sub SSCommand2_Click(Index As Integer) Data1.Recordset.Delete Data1.Recordset.MoveLast End Sub ¯ Phân thời khóa biểu: Private Sub SSCommand1_Click(Index As Integer) Data5.Recordset.AddNew Data5.Recordset.Update Data5.Recordset.MoveLast End Sub Private Sub SSCommand2_Click(Index As Integer) Data5.Recordset.Delete Data5.Recordset.MoveLast End Sub III.3. Các thuật toán xử lý báo cáo (các câu lệnh truy vấn dữ liệu SQL): Mục đích của chương trình là đưa ra được thời khóa biểu cho từng lớp, thời khóa biểu cho các lớp trong từng khóa, phân công giảng dạy cho các giáo viên, bảng kế hoạch học tập cho từng lớp, từng khóa. Đặc biệt cần xem nhanh các thông tin lịch học cho các lớp, quá trình công tác của từng giáo viên trong từng học kỳ. Hay là biết được lớp nào đó đang học tại phòng học số mấy, môn học gì, do giáo viên nào dạy. â Phân công cho các giáo viên dạy trong kỳ. â Phân công giáo viên dạy theo lớp. â Phân thời khóa biểu cho các lớp. â Phân thời khóa biểu cho các khóa. â Kế hoạch học tập cho lớp. â Kế hoạch học tập cho các khóa học. III.3.1 Phân công cho các giáo viên dạy trong kỳ: Data1.RecordSource = "select distinctrow monhoc.malop, monhoc.tenmonhoc, monhoc.sotietlt, monhoc.diadiem, monhoc.magv, monhoc.tengv, monhoc.chucdanh, monhoc.namhoc, monhoc.hocky, hoc.thu, hoc.tiet ,monhoc.ghichu from hoc inner join monhoc on (hoc.mamonhoc = monhoc.mamonhoc) and (hoc.malop = monhoc.malop) and (hoc.namhoc = monhoc.namhoc) and (hoc.hocky = monhoc.hocky)where (monhoc.namhoc = '" & trim(right(text1.text, 10)) & "') and (monhoc.hocky = '" & trim(right(combo1.text, 10)) & "') and (monhoc.magv = '" & trim(right(text2.text, 10)) & "')order by monhoc.malop,hoc.thu,hoc.tiet " III.3.2. Phân công giáo viên dạy theo lớp: Data1.RecordSource = "select distinctrow hoc.namhoc, hoc.hocky, hoc.malop, hoc.mamonhoc, hoc.thu, hoc.tiet, monhoc.namhoc, monhoc.hocky, monhoc.mamonhoc, monhoc.tenmonhoc, monhoc.sotietlt, monhoc.magv, monhoc.tengv, monhoc.chucdanh, monhoc.diadiem, monhoc.ghichu from hoc inner join monhoc on (hoc.hocky = monhoc.hocky) and (hoc.namhoc = monhoc.namhoc) and (hoc.malop = monhoc.malop) and (hoc.mamonhoc = monhoc.mamonhoc) where (monhoc.magv = '" & trim(right(text1.text, 10)) & "') and (hoc.namhoc = '" & trim(right(text2.text, 10)) & "') and (hoc.hocky = '" & trim(right(combo1.text, 10)) & "')and (hoc.malop = '" & trim(right(text3.text, 10)) & "') order by hoc.malop" III.3.3 Phân thời khóa biểu cho các lớp. data1.recordsource = "select distinctrow lop.malop, lop.phong, lop.namhoc, lop.hocky, hoc.mamonhoc, hoc.tenmonhoc, hoc.thu, hoc.tiet, monhoc.magv, monhoc.tengv from (lop inner join hoc on (lop.hocky = hoc.hocky) and (lop.namhoc = hoc.namhoc) and (lop.malop = hoc.malop)) inner join monhoc on (hoc.malop = monhoc.malop) and (hoc.hocky = monhoc.hocky) and (hoc.namhoc = monhoc.namhoc) and (hoc.mamonhoc = monhoc.mamonhoc)where (hoc.malop = '" & trim(right(text1.text, 10)) & "')and (hoc.namhoc = '" & trim(right(text2.text, 10)) & "')and (hoc.hocky = '" & trim(right(combo1.text, 10)) & "') order by thu " III.3.4 Phân thời khóa biểu cho các khóa: data1.recordsource = "select distinctrow monhoc.tenmonhoc, monhoc.sotietlt, monhoc.tengv, monhoc.malop, monhoc.namhoc, monhoc.hocky, hoc.thu, hoc.tiet, lop.phong, lop.khoahoc from lop inner join (hoc inner join monhoc on (monhoc.hocky = hoc.hocky) and (monhoc.namhoc = hoc.namhoc) and (monhoc.malop = hoc.malop) and (hoc.mamonhoc = monhoc.mamonhoc)) on (lop.hocky = hoc.hocky) and (lop.namhoc = hoc.namhoc) and (lop.malop = hoc.malop)where (hoc.namhoc = '" & trim(right(text1.text, 10)) & "')and (hoc.hocky = '" & trim(right(combo1.text, 10)) & "') and (lop.khoahoc = '" & trim(right(text2.text, 10)) & "') order by lop.malop asc, hoc.thu asc" III.3.5 Kế hoạch học tập cho lớp data1.recordsource = "select distinctrow kehoach.ghichu1, kehoach.malop, kehoach.tenda, kehoach.sothoc, kehoach.tuanbd, kehoach.tuankt, kehoach.sotthi, kehoach.batdauthi, kehoach.ketthucthi, kehoach.sottt, lop.phong, lop.khoa, lop.khoahoc, monhoc.tenmonhoc, monhoc.sotietlt, monhoc.btlon, monhoc.tenda, monhoc.tnth, kehoach.bdthuctap, kehoach.ktthuctap, kehoach.namhoc, kehoach.hocky from (monhoc inner join kehoach on (monhoc.hocky = kehoach.hocky) and (monhoc.namhoc = kehoach.namhoc) and (monhoc.malop = kehoach.malop)) inner join lop on (kehoach.hocky = lop.hocky) and (kehoach.namhoc = lop.namhoc) and (kehoach.malop = lop.malop)where (kehoach.namhoc = '" & trim(right(text1.text, 10)) & "')and (kehoach.hocky = '" & trim(right(combo1.text, 10)) & "') and (kehoach.malop = '" & trim(right(text2.text, 10)) & "') order by monhoc.tenmonhoc asc" III.3.6 Kế hoạch học tập cho các khóa học: data1.recordsource = "select distinctrow lop.khoahoc, lop.hocky, lop.namhoc, lop.khoa, lop.malop, kehoach.ghichu1, kehoach.tenda, kehoach.sothoc, kehoach.tuanbd, kehoach.tuankt, kehoach.sotthi, kehoach.batdauthi, kehoach.ketthucthi, kehoach.sottt, kehoach.bdthuctap, kehoach.ktthuctap from kehoach inner join lop on (kehoach.hocky = lop.hocky) and (kehoach.namhoc = lop.namhoc) and (kehoach.malop = lop.malop) where (lop.namhoc = '" & trim(right(text1.text, 10)) & "')and (lop.hocky = '" & trim(right(combo1.text, 10)) & "') and (lop.khoahoc = '" & trim(right(text2.text, 10)) & "') order by lop.malop asc"

Các file đính kèm theo tài liệu này:

  • docCHNGIII.DOC
  • rarCHUONGTRINH.rar
  • rarLUANVAN.rar
Tài liệu liên quan