基于ASP.NET的高校毕业论文管理系统设计与实现

known 发布于 2025-08-25 阅读(379)

摘" 要:针对高校毕业论文传统管理方法存在的问题,以昆明幼儿师范高等专科学校为例,分析了毕业论文管理上的难点,并提出了相应的解决方案。使用用例图设计了系统的主要功能,使用状态图设计了系统的主要流程,同时构建了系统数据库。使用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];" "//定义数组,数组的长度与指导教师数一致,用来标记该指导教师是否超出了最大审核数量max

for (int x=0; x lt; teacherCount; x++)

{ d[x] = 0;" " "//初始化数组,值为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;" "//初始化多维数组,为0则代表论文与教师还没有审核关系}

Random rd = new Random();" //创建随机数对象

int inrd;" " " "//定义随机数,用于给论文随机分配审核教师

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;" "//将该审核教师审核论文数加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#开发、数据库。

标签:  论文 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor