4.系統設計
4.1概要設計
4.1.1功能模組結構圖
圖4.1功能模組結構圖
4.1.2功能模組描述
(1)登入模組
根據使用者輸入的使用者名稱和密碼,與資料庫中進行匹配,驗證帳號和密碼,
(2)論題管理模組
根據教師登入的資訊,載入其所有的論題。
(3)學生選題模組
根據學生登入的情況,顯示適合該學生的所有論題供其選擇,如果該學生的狀態為已確定,則提示無法重選,否則,學生可以多次進行選擇相應教師的論題,但每次只能選擇一個題目,即每次操作都會覆蓋前次操作。
(4)篩選學生模組
教師成功登入後,載入出該教師給出論題的選題情況,包括學生的基本資訊,論題的一些基本資訊,若已選人數超過了論題的限定人數,教師可以透過對相應學生進行淘汰。若接受該學生則同意其選擇,而經確定後的同學又需要重新選題,則教師可透過改變該學生的狀態來使其可以再次選題。
(5)留言聯絡模組設計
根據使用者登入的資訊,若是學生,則在收件框里加載所有的老師,根據需要選擇其指導教師,並可以發短信與其取得聯絡;若是教師,則載入其所有指導的學生,可以選擇多個學生進行群發,也可以給個別學生進行簡訊聯絡。
(6)上傳論文模組設計
學生成功登入後,可以選擇其存在本地的論文的路徑進行上傳。若成功則上傳並儲存到伺服器中,若失敗則提示資訊,等待學生重新上傳。
(7)檢視論文模組設計
教師成功登入後,可以對其指導的學生所上傳的論文進行下載並檢視。
(8)系統管理模組設計
管理員成功登入後,可以對學生資訊、教師資訊進行管理。包括新增資訊、修改資訊、刪除資訊等。還可以對系統引數,如系統開放時間和結束時間進行設定。
4.2資料庫設計
4.2.1表設計
表4.1許可權表(quanxian)
欄位名說明型別長度主鍵或外來鍵
User_id使用者編號自動編號長整型主鍵
User_phid帳號文字10
User_name姓名文字10
User_pwd密碼文字6
User_sex性別數字長整型
User_xibie系別文字10
zhichen職稱文字10
User_class適用班級文字15
User_type身份數字長整型
(身份:1代表學生,2代表教師,3代表管理員)
表4.2系統時間表(admintime)
欄位名說明型別長度主鍵或外來鍵
Time_id編號自動編號長整型
Starttime開始時間日期/時間主鍵
endtime結束時間日期/時間主鍵
addtime操作時間日期/時間
表4.3題目表(title)
欄位名說明型別長度主鍵或外來鍵
Title_id題號自動編號長整型主鍵
user_id使用者編號數字長整型
title題目文字30
Title_type論題型別文字10
gclass適用年級文字10
stunumber限定人數數字長整型
comment說明文字30
表4.4選擇表(xuanze)
欄位名說明型別長度主鍵或外來鍵
Titlevsstu_id編號自動編號長整型主鍵
user_id使用者編號數字長整型
Title_id題號數字長整型
istype確定數字長整型
addtime選題時間日期/時間
確定(0表示等待中1表示已確定,3表示淘汰)
表4.5留言表(liuyan)
欄位名說明型別長度主鍵或外來鍵
Mail_id郵件編號自動編號長整型主鍵
Mail_to接收者數字長整型
Mail_from傳送者數字長整型
addtime傳送時間日期/時間
Mail_title郵件主題文字20
Mail_content郵件內容文字50
issee是否已看數字長整型
(1表示沒有看,2表示已看)
表4.6論文表(paper)
欄位名說明型別長度主鍵或外來鍵
File_id論文編號自動編號長整型主鍵
File_url論文路徑文字50
File_size檔案大小文字50
User_id使用者編號數字長整型
addtime上傳時間日期/時間
4.3詳細設計
4.3.1使用者登入模組設計
使用者登入模組主要根據使用者登入的資訊,與資料庫中資訊成功匹配後,獲得其相應的操作許可權。
(1)流程圖
圖4.2使用者登入流程圖
(2)處理說明
說明一:開啟網頁,等待使用者輸入帳號、密碼、選擇身份,判斷使用者輸入的資訊與後臺資料庫是否匹配,查詢語句為:sql=”selectuser_id,user_type,user_pwd,user_classfromquanxianwhereuser_name=’”&id&”’anduser_pwd=’”&mima&”’anduser_type=”&leixing若不匹配,則重新整理頁面,等待使用者重新輸入。
說明二:根據使用者選擇的身份類別,進行判斷,如果是學生,調出學生主頁,同時顯示學生資訊,查詢語句為:select*fromquanxianwhereuser_id="&user_id。如果是教師,則調出教師主頁,同時顯示教師資訊。
4.3.2論題管理模組設計
論題管理模組主要實現教師對其論文題目的新增、修改、刪除等操作。
(1)流程圖
圖4.3論題管理模組流程圖
(2)處理說明
說明一:開啟並激活視窗,根據登入的教師資訊載入其論題資訊至介面,查詢語句為sql="select*fromtitlewhereuser_id="&user_id
說明二:單擊新增圖示超鏈接,進入新增論題介面,等待使用者輸入有關論題資訊,單擊提交按鈕,相關語句為:rs.addnewrs("title").value=title儲存到資料庫。
說明三:單擊需要修改的論題,進入修改介面,根據需要在文字框中修改資訊,單擊修改按鈕並更新到資料庫,若要刪除此論題,則單擊刪除按鈕,相關語句為:delete*fromtitlewheretitle_id="&title_id。
4.3.3學生選題模組設計
學生選題模組主要實現學生對相應教師的論題進行選擇,若已選並經教師確定,則無法重選,否則可以進行多次選擇。
(1)流程圖
圖4.4學生選題模組流程圖
(2)處理說明
說明一:開啟並激活視窗,根據登入的學生所在的班級載入相應的所有選題資訊。查詢語句為:select*fromtitlewheregclass='"&session("user_class")&"'
說明二:首先判斷當前學生是否已經選題並被指導教師確定,若是,則提示“你的選題已確定,無法再選”,若不是,等待學生選擇相應的論題,當單擊“我要選擇”後,提示資訊“你真的決定你的選擇,這樣會刪除你以前的選擇”,即在選題沒被指導老師確定的情況下,學生可以多次進行選題,但每一次的選擇都會覆蓋前次的選擇。同時適時改變已選人數。查詢語句為:selecttitlevsstu_idfromtitlevsstuwhereuserid=”&session(“user_id”)&”andistype=1”)
4.3.4篩選學生模組設計
篩選學生模組主要實現教師根據需要對學生進行淘汰或選擇,以此來對論文題目人數上進行限定。
(1)流程圖
圖4.5篩選學生模組流程圖
(2)處理說明
說明一:開啟並激活視窗,根據登入的教師資訊,載入該教師的論題的選擇情況。查詢語句為:sql="selectdistincttitle_idfromtitlevsstuwheretitle_id=(selecttitle_idfromtitlewhereteacher_id="&id)
說明二:教師對自己的每個論題選擇情況進行篩選,若同意指導該學生,則透過單擊“同意”,同時改變學生狀態值,查詢語句為:"updatatitlevsstusetistype=1wheretitlevsstu_id="&titlevsstu_id;若人數上已經達到飽和的情況,則可以對相應學生進行淘汰,透過單擊“淘汰”,同時刪除選擇表裏的相應資訊,查詢語句為:"delete*fromtitlevsstuwheretitlevsstu_id="&titlevsstu_id;若有些已經被確定的學生希望重新選題,則可以透過單擊“等待”,查詢語句為:"updatatitlevsstusetistype=1wheretitlevsstu_id="&titlevsstu_id;同時改變學生的狀態值,以便該學生可以進行再次選題。
4.3.5留言聯絡模組設計
留言聯絡模組主要實現指導教師與學生間的互相聯繫,透過收發短信進行彼此間的溝通。
(1)流程圖
圖4.6留言聯絡模組流程圖
(2)處理說明
說明一:開啟並激活視窗,根據登入的使用者資訊,載入其所有信件資訊。查詢語句為:"selectuser_namefromquanxianwhereuser_id="&mailrs("mail_from")。
說明二:使用者可以檢視其信件,單擊“檢視”,顯示該信件的內容,查詢語句為:"select*frommailwheremail_id="&mail_id;同時,也可以根據需要進行回覆,相關語句為:insertintomail(mail_to,mail_from,mail_title,mail_content,issee)values(&mail_to&”,”&session(“user_id”)&”,’”&mail_title&”’,”&。也可以將此信件刪除,查詢語句為:“delete*frommailwheremail_id=”&mail_id。
4.3.6上傳論文模組設計
上傳論文模組主要實現學生對所寫好的論文進行上傳,供指導教師查閱稽覈。
(1)流程圖
圖4.7上傳論文模組流程圖
(2)處理說明
說明一:開啟並激活視窗,學生選擇需要上傳的論文的本地路徑,單擊“上傳”,若成功則提交至資料庫,相關語句為:objStream.SaveToFileServer.MapPath(GetFileName(strFileName)),2。若失敗,則提示資訊,等待學生重新上傳。
4.3.7檢視論文模組設計
檢視論文模組主要實現教師對其指導的學生的論文進行下載檢視,並稽覈修改。
(1)流程圖
圖4.8檢視論文模組流程圖
(2)處理說明
說明一:開啟並激活視窗,根據登入的教師的資訊,載入其所指導的學生所上傳的論文。查詢語句為:"select*frompersonfilewhereuser_id="&rs1("user_id")
說明二:教師選擇某學生的論文,單擊“下載”,若成功,即可將其論文下載到本地,相關語句為:
"target="_blank"class="lj">下載。若失敗,則提示資訊,等待教師重新下載。
4.3.8系統管理模組設計
系統管理模組主要實現管理員對整個系統的基本資訊管理以及對系統引數進行設定。
(1)流程圖
圖4.9系統管理模組流程圖
(2)處理說明
說明一:開啟後臺管理系統,等待使用者輸入帳號、密碼,判斷使用者身份是否為管理員,查詢語句為:sql="selectuser_id,user_name,user_pwd,user_typefromquanxianwhereuser_name='"&userid&"'anduser_type=3"若是,登入成功,否則,提示資訊,等待使用者重新輸入。
說明二:管理員登入後,可以對系統的開放時間及結束時間進行設定,查詢語句為:"select*fromadmintime",以保證畢業選題工作按時進行。
說明三:管理員根據需要可以對教師及學生的資訊進行管理,包括新增資訊、修改資訊、刪除資訊等操作。若為新增,則將其資訊儲存到資料庫中;若為修改,則將修改後的資訊更新到資料庫中,查詢語句為:Updatequanxiansetuser_name=’”&ry_time&”’,user_phid=’”&,user_xibie=’”&user_xibie”’,user_class=’”&user_class&”’,user_pwd=’”user_pwd&”’whereuser_id=”&user_id。若為刪除,則提示資訊,同時將資料庫中的資訊刪除,查詢語句為:"delete*fromquanxianwhereuser_id="&user_id