








摘" 要:針對高校畢業論文傳統管理方法存在的問題,以昆明幼兒師范高等專科學校為例,分析了畢業論文管理上的難點,并提出了相應的解決方案。使用用例圖設計了系統的主要功能,使用狀態圖設計了系統的主要流程,同時構建了系統數據庫。使用ASP.NET語言實現了高校畢業論文管理系統中指導教師出題和學院審核模塊、上傳開題報告和論文模塊、學院分配評審教師模塊和教師審核論文模塊。系統的應用能夠規范高校畢業論文的管理,提高工作效率。
關鍵詞:畢業論文管理;狀態圖;E-R圖;ASP.NET
中圖分類號:TP311 文獻標識碼:A" 文章編號:2096-4706(2024)10-0118-06
Design and Implementation of College Graduation Thesis Management System Based on ASP.NET
JIANG Yinhu
(Kunming Preschool Teachers College, Kunming" 651700, China)
Abstract: In response to the problems in traditional management methods for college graduation theses, taking Kunming Preschool Teachers College as an example, this paper analyzes the difficulties in graduation thesis management and proposes corresponding solutions. The main functions of the system are designed using use case diagrams, the main processes are designed using state diagrams, and the system database is constructed. It uses ASP NET language to implement the modules for guiding teachers to set questions and college review, uploading proposal reports and papers, assigning and reviewing teachers to colleges, and reviewing papers for teachers in the college graduation thesis management system. The application of the system can standardize the management of college graduation theses and improve work efficiency.
Keywords: graduation thesis management; state diagram; E-R; ASP.NET
0" 引" 言
高校畢業論文是教育工作實踐的一部分[1],能夠全方位訓練學生發現問題、分析問題、解決問題的能力[2],體現了高校人才培養方案完成的質量和水平,一定程度上也體現了高校教學質量的高低[3]。每個專業的人才培養方案里都明確了畢業論文的要求,同時,畢業論文也是實現人才培養目標的重要教學環節。近年來,如何提高畢業論文的管理效率成為很多高校所面臨的課題。以昆明幼兒師范高等專科學校為例,畢業論文管理仍采用傳統的人工管理模式,這樣做流程多、不規范,增加了學院、指導教師、班主任、學生的工作量,工作效率較低,出錯率較高,也不利于論文的收集與存檔。設計并開發一個適用于高校的畢業論文管理系統有利于規范學生畢業論文的管理,提高學院、指導教師和學生的工作效率。
1" 需求分析
在傳統的畢業論文管理過程中,由學院組織專業的任課教師開展畢業論文的出題工作,出完題目后匯總至學院,學院審核完成后由學院將題目分配到每一個班上,學生根據該專業的畢業論文題目和指導教師進行選題,選完題目后,再由班級匯總至學院,學院將選擇結果反饋至指導教師處,學生在指導教師的指導下完成論文的撰寫和修改工作,最后將審核通過的終稿提交至學院進行存檔。
通過開發畢業論文管理系統,可以把流程進一步優化。通過管理系統,指導教師出題,學院審題,學生選題、上傳開題報告,指導教師審核開題報告,學生上傳初稿,系統完成評審教師分配,教師評審論文初稿、組織答辯,學生上傳終稿,教師完成評價。
2" 系統設計
2.1" 系統功能設計
統一建模語言(Unified-Modeling Language, UML)又稱標準建模語言,其為軟件開發的所有階段提供模型化與可視化支持[4]。通過使用UML圖形中的用例圖來描述系統的參與者、參與者完成的用例(任務)、用例(任務)之間的關系。
通過對高校畢業論文管理的需求分析,系統將主要完成以下功能:指導教師發布論文題目,學院管理人員審核論文題目,學生對畢業論文進行選題并上傳開題報告,指導教師審核開題報告,學生上傳論文初稿,評審教師審核論文初稿,學生上傳論文終稿,評審教師評價論文終稿。系統用例圖如圖1所示。
1)信息管理和用戶登錄用例。用戶輸入正確的用戶名和密碼后方可登錄系統,在系統中,可對個人信息進行管理:修改密碼和部分個人信息等。
2)發布論文題目用例。教師發布畢業論文的題目,在學院未審核前,可對自己發布的論文題目進行修改、刪除操作。
3)審核論文題目用例。學院管理人員可對指導教師發布的論文題目進行審核,如果通過審核,出題人將不能再對該論文題目進行修改和刪除操作。
4)畢業論文選題用例。學院審核通過的畢業論文題目,可供學生進行選題,當論文題目選擇的學生滿員后,該題目將不能再被學生選擇。
5)上傳開題告與審核開題報告用例。學生完成選題后,可根據指導教師的要求上傳開題報告。指導教師對學生上傳的開題報告進行審核,審核通過后才可進行論文初稿的撰寫。
6)上傳和審核畢業論文初稿用例。學生在系統中上傳論文初稿,評審教師對初稿進行審核,每篇論文將有3名教師進行審核,通過才可進行答辯。
7)畢業論文終稿評價用例。完成答辯后,學生根據答辯修改意見修改論文,并上傳論文的終稿,評審教師根據答辯結果和論文修改情況給出評價結果。
2.2" 業務流程設計
在業務流程設計部分,可使用UML的狀態圖來構建系統的動態模型。狀態圖描述了系統的主要流程和系統的狀態遷移情況。系統狀態圖如圖2所示。
指導教師發布論文題目,論文狀態為“未審核”,學院進行審核,審核不通過,則返回給指導教師進行修改;審核通過,論文狀態將設置為“已通過審核”。通過審核的論文題目可供學生選題,學生選題后判斷該論文題目是否已經被學生選滿,如果沒有選滿,仍可供學生選題,如果該題目被選滿,論文狀態調整為“該題目已選滿”,等待開題。如果可開題,則學生上傳開題報告,論文狀態設置為“已上傳開題報告”,指導教師審核學生的開題報告,審核通過后,學生可上傳論文初稿。學生上傳論文初稿后,論文狀態設置為“初稿已上傳”,評審教師評審論文初稿,評審不通過,學生可有2次修改機會,修改超過2次,則業務結束;論文初稿評審通過,則學生可參加答辯,答辯不通過,業務結束;答辯完成并通過后,學生上傳論文終稿,論文狀態設置為“已上傳論文終稿”,評審教師對論文終稿進行評價。
3" 系統數據庫設計
數據庫技術是指依托于計算機硬件基礎及軟件平臺所開發出的一種專門針對數據存儲、管理的技術[5],數據庫技術具有靈活性、獨立性以及共享性等多種特點[6]。通過數據庫技術能夠對數據進行快速的插入、更新、刪除和檢索,目前主流的數據庫為關系型數據庫。
3.1" E-R模型設計
在關系型數據庫中,每一個數據表都是客觀存在的實體,這些數據實體之間的關系把數據聯系到一起。可通過E-R模型描述關系型數據庫的實體以及這些實體存在的關系。在圖形表示上,用長方形內加文字來表示實體,菱形內加文字來表示關系。系統主要E-R圖如圖3所示。
每個學院有多個教師和專業,學院與教師之間、學院與專業之間存在著1對多的關系;每個專業又有多個班級,每個班級有多名學生,專業與班級之間、班級與學生之間存在著1對多的關系;每個畢業論文可以有多個學生選擇,每個學生只能選擇1個論文題目,畢業論文與學生選題存在1對多的關系,學生與學生選題存在著1對1的關系;每位教師可出多個論文題目,每個論文可由多個教師評審,教師與畢業論文的出題上存在著1對多的關系,教師與畢業論文的評審上存在著多對多的關系,論文評審與論文之間也存在著多對多的關系。
3.2" 主要數據庫表的實現
在數據庫的實現上,使用了Microsoft SQL Server數據庫,Microsoft SQL Server是由Microsoft公司研發的一種基于C/S架構的數據庫管理系統[7],操作難度低,安全程度高,是當下最為常用的服務器體系類數據庫[8]。數據庫主要表的實現如表1至表5所示。
4" 系統實現
系統使用ASP.NET(C#)語言進行開發。ASP.NET是在ASP( Active Server Pages)基礎上推出的新一代網站開發技術[9],是一個統一的面向對象的Web開發平臺[10]。它集成了多種語言開發環境,如C#、VB、C++等,它將Web開發中的界面與代碼分離,能夠快速開發Web程序,并有利于代碼的可維護性和可讀性。畢業論文題目管理界面如圖4所示。
4.1" 指導教師出題和學院審核模塊
4.1.1" 指導教師出題模塊
教師發布論文題目時,將數據插入數據庫中,同時設置論文狀態為“未審核”(用數字1表示),在該狀態下,指導教師可對該題目進行修改、刪除。主要代碼如下:
string PaperInfoAdd = string.Format(\"insert into [PaperInfo](PaperName,TeacherID,SpecialityIDStr,Notes,Status) values('{0}','{1}','{2}','{3}',{4})\", paperName, teacherID, specialityIDStr, notes, status);" //發布論文題目的SQL語句
int i = SqlDB.ExecuteSql(connectionString, PaperInfoAdd);
if(igt;0) {MessRes.Text = \"畢業論文題目已出,等待學院審核 ,在學校審核完成前可對所出論文題目進行修改。\";}
else" MessRes.Text = \"出題失敗,請檢查數據后再試\";
4.1.2" 學院審核模塊
教師發布論文題目后,學院管理人員對論文題目進行審核,將論文狀態設置為“已通過審核”(用數字2表示)。主要代碼如下:
string updateStatus = string .Format(\"update [PaperInfo] set [Status]=2 where [PaperID]={0}\",paperID);" //審核通過,將論文狀態設置為“已通過審核”的SQL語句
int i = SqlDB.ExecuteSql(connectionString, updateStatus);
if (i gt; 0){ Res.Text = \"已審核通過。\"; }
else" Res.Text = \"審核失敗,請檢查數據后再試\";
4.2" 上傳開題報告和論文模塊
學生選擇了論文題目后,將開題報告傳入系統中,并將論文狀態設置為“已上傳開課報告”(用數字4表示),而上傳論文的主要代碼與上傳開題報告的類似。主要代碼如下:
string fileName = Path.GetFileName(filePath);" //
byte[] fileContent = File.ReadAllBytes(filePath);" //將該路徑的文件轉化為字節組
string updateOpeningReport = string.Format(\"update [PaperInfo] set [OpeningReport]=@fs where [PaperID]={0}\", paperID);
int i = SqlDB.ExecuteSqlInsertFile(connectionString, updateOpeningReport,fileContent);//上傳開題報告文件。
if (i gt; 0) { string updateStatus = string.Format(\"update PaperInfo set Status={0}\", 3);" //將論文狀態設置為“已上傳”。
if (SqlDB.ExecuteSql(connectionString, updateStatus) gt; 0)
{" MessRes.Text = \"已上傳了開題報告。\";" }}
else" MessRes.Text = \"上傳失敗,請檢查數據后再試\";
4.3" 學院分配評審教師模塊
完成論文初稿上傳后,學院通過系統為每一篇論文隨機分配3位不重復的評審教師,而每位評審教師都有審核論文數量的最大值。主要代碼如下:
string selectPaper = string.Format(\"select PaperID from PaperInfo where SpecialityID='{0}'\", specialityID);" //選擇專業編號為specialityID的所有論文編號
string selectTeacherID= string.Format(\"select TeacherID from PaperInfo where SpecialityID='{0}' Group by TeacherID\", specialityID);//選擇專業編號為specialityID的所有指導教師編號
DataTable stPaper = SqlDB.ExecuteDataSet(connectionString, selectPaper).Tables[0];
DataTable stTeacherID = SqlDB.ExecuteDataSet(connectionString, selectTeacherID).Tables[0];
int teacherCount = stTeacherID.Rows.Count;" //獲取指導教師總數
int paperCount = stPaper.Rows.Count;" " //獲取該專業的論文數
int max = (int)Math.Ceiling((double)paperCount* paperMax / teacherCount);" //計算每位指導教師審核論文的最大數量,每篇論文會有paperMax位教師審核
int[] d = new int[teacherCount];" "http://定義數組,數組的長度與指導教師數一致,用來標記該指導教師是否超出了最大審核數量max
for (int x=0; x lt; teacherCount; x++)
{ d[x] = 0;" " "http://初始化數組,值為0,代表每位指導教師目前審核的論文為0篇}
int[,] k = new int[paperCount,teacherCount];
for (int x = 0; x lt; paperCount; x++)
for (int y = 0; y lt; teacherCount; y++)
{ k[x,y] = 0;" "http://初始化多維數組,為0則代表論文與教師還沒有審核關系}
Random rd = new Random();" //創建隨機數對象
int inrd;" " " "http://定義隨機數,用于給論文隨機分配審核教師
for (int i = 0; i lt; paperCount; i++)
for (int j = 0; j lt; paperMax; j++)
{inrd = rd.Next(0, teacherCount);" //產生隨機的審核教師
while (d[inrd] == max || k[i, inrd] ==1)" //當該論文的隨機審核教師已達審核論文的最大數或者該教師已在審核該論文,則重新產生隨機的審核教師
{ inrd = rd.Next(0, teacherCount);//如果該教師所指導的論文數量已達到了最大值,將重新產生隨機數 }
string InsertPaperReview = string.Format(\"insert into PaperReviewInfo(PaperID,TeacherID) values({0},{1})\", stPaper.Rows[i][0].ToString(), stTeacherID.Rows[inrd][0].ToString());
SqlDB.ExecuteSql(connectionString, InsertPaperReview);//將論文分配給教師審核的結果存入數據庫中
d[inrd] = d[inrd] + 1;" "http://將該審核教師審核論文數加1
k[i, inrd] = 1;" " " " " //標記論文被教師審核中" " " " " " "}
4.4" 教師審核論文模塊
教師在初稿審核階段,通過更新數據庫PaperReviewInfo表中的信息完成論文的評審。主要代碼如下:
string PaperReviewInfoUpdate = string.Format(\"update [PaperReviewInfo] set DraftEvaluate='{0}',DraftkIsPass={1} where PaperID={2} and TeacherID ='{3}'\", draftEvaluate, draftkIsPass,paperID, teacherID);//更新PaperReviewInfo數據表的SQL語句
int i = SqlDB.ExecuteSql(connectionString, PaperReviewInfoUpdate);
if (i gt; 0 )
{if (draftkIsPass == 1)
MessRes.Text = \"論文的初稿已完成評審。\";
else MessRes.Text = \"評審未通過,已反饋給學生\";" }
else" "MessRes.Text = \"審核失敗,請檢查數據后再試!\";
5" 結" 論
文章以昆明幼兒師范高等專科學校為例,使用UML統一建模語言中的用例圖、狀態圖構建系統的初步模型,使用E-R圖和SQL Server實現數據庫,使用ASP.NET語言開發系統。通過對高校畢業論文管理系統的分析、設計與實現,有利于高校改變畢業論文的管理方法,提高畢業論文的管理效率,進一步推進學校的信息化發展。
參考文獻:
[1] 孫超.高校畢業論文管理系統的設計與實現研究 [J].信息記錄材料,2021,22(11):175-176.
[2] 邊超.基于B/S架構高校畢業論文管理系統的設計——以中國礦業大學銀川學院為例 [J].企業科技與發展,2020(12):64-67.
[3] 李輝,朱可欽,王嘉瑋.基于多方數字簽名和認證的畢業論文管理系統設計 [J].長江信息通信,2024,37(1):115-117.
[4] 王涵.基于UML與Qt狀態機的聯鎖仿真試驗記錄分析方法研究 [D].蘭州:蘭州交通大學,2023.
[5] 彭娟.計算機數據庫技術在信息管理中的應用研究 [J].經濟師,2022(11):249-250.
[6] 王釗.數據庫技術在信息管理中的應用 [J].現代工業經濟和信息化,2023,13(1):142-144.
[7] 崔鵬.SQL索引及SQL語句的應用技巧分析 [J].職業,2019(10):98-99.
[8] 許謙,李元棟,王彧之.基于SQL Server的高校信息資源管理系統設計 [J].現代電子技術,2020,43(20):115-118.
[9] 顏杰群.以HTML5和ASP.NET開發中小型藥店線上管理系統 [J].常州信息職業技術學院學報,2021,20(1):29-32+41.
[10] 張常泉.基于ASP.NET的高校黨建工作績效評價管理系統設計 [J].計算機時代,2023(1):137-140.
作者簡介:蔣銀虎(1984—),男,漢族,云南昆明人,講師,碩士學位,研究方向:軟件工程、C#開發、數據庫。