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
Trang 1XÂ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:
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:
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)
Trang 5
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ì
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
Trang 6 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$)
III.2 Các thuật toán cậpnhật (đăng ký) quản lý:
Phân phòng học.
Trang 8 Phân thời khóa biểu:
Private Sub SSCommand1_Click(Index As Integer)
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
Trang 9and (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 =
Trang 10kehoach.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"