基于NET毕业论文管理系统的设计与实现毕业论文.docx
《基于NET毕业论文管理系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于NET毕业论文管理系统的设计与实现毕业论文.docx(20页珍藏版)》请在冰豆网上搜索。
基于NET毕业论文管理系统的设计与实现毕业论文
基于.NET毕业论文管理系统毕业论文
1引言
随着社会的进步和发展,计算机在我们日常生活中已经成为不可或缺的部分。
它在人类社会的各个领域都发挥着重要的作用。
作为计算机应用的一部分,使用计算机对论文信息进行管理,具有着手工管理所无法比拟的优点。
在快速而便捷的网络社会里,无不促使师生交流与沟通从面对面变成通过论文管理系统来实现。
本系统是一个基于.NET技术,结合实际情况开发的论文管理系统。
通过网络来完成从学生选导师到论文中期检查到论文的成绩评定和最后的论文提交整个过程,为师生提供了便利。
1.1课题的研究意义
在如今高效而又快节奏的现代社会里,我们学校的毕业生论文相关资料还是使用传统人工的方式来进行管理,这样不仅工作效率低,而且时间久了会产生大量的文件,要对这些文件进行日常的管理将会带来诸多的不便,采用这种传统的方式还有可能出现资料丢失,泄露等等诸多不安全因素。
再者考虑到大部分毕业生,由于都是即将毕业的学生,可能很多人在做毕业设计时都不在学校,而是在实习单位。
因而这样的话要想和自己的导师沟通就会显的比较困难,这样导师也就不能很好地了解自己的学生进度如何,进而也就不好提供比较有针对性的指导。
为了方便学校能够更好的对毕业论文相关资料进行管理以及导师与学生之间能够更好的交流,因此决定开发一套毕业论文管理系统。
本系统可以很大程度改善上面提到的问题,不仅能够提高学校工作人员对毕业论文管理的效率,同时也为导师与毕业生之间提供了一个很好的交流与指导的平台。
1.2课题的设计目标
本系统的设计目标主要是监控学生毕业设计(论文)的整个过程,其中包括学生的论文资料的提交和管理,小组里不同老师对学生设计(论文)进行成绩评议,管理员可以查看学生的论文成绩。
具有实用性和可靠性。
1.3论文的章节安排
整篇论文介绍了毕业设计管理系统的设计与实现。
具体章节安排如下:
第一章引言阐明了论文课题的提出及其意义,以及本课题研究容。
第二章主要介绍了研究本课题的相关技术和个性技术的特征、功能和应用领域。
第三章介绍系统需求分析,包括系统的可行性分析以及系统功能需求分析。
第四章介绍系统设计,并对系统的数据库设计进行的重点分析。
第五章进行系统实现设计的分析,包括界面分析和代码说明。
第六章是结束语。
总结论文所做的主要工作及取得的研究成果。
2开发环境和相关技术简介
2.1开发语言
通过使用C#语言来开发本系统。
C#是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在.NETFramework上运行的各种安全、可靠的应用程序。
MicrosoftVisualstudioC#2008提供高级代码编辑器、方便的用户界面设计器、集成调试器和许多其他工具,以在C#语言版本2.0和.NETFramework的基础上加快应用程序的开发。
C#语言由C/C++演变而来。
但是,它现代、简单、完全面向对象和类型安全。
简单,它没有C中的指针,容易学,C#使用统一的类型系统,摒弃了C多变的类型系统;现代,全面的存管理已经不是您的任务了,因为C#程序在运行时提供一个垃圾收集器,负责C#程序中的存管理;面向对象,它是C#的核心,C#支持所有关键的面向对象的概念,如封装、继承和多态性。
封装是一种程序设计机制,它绑定代码及其操作的数据,并使它们不受外界干涉和误用的影响,从而保证安全性;多态性,定义了一个接口,多个方法;继承,是一个对象或的另一个对象的属性的过程;类型安全,C#实施最严格的类型安全,以保护自己及垃圾收集器,在C#中,被传递的引用参数是类型安全的。
2.2SQLServer2008
SQLServer2008是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
SQLServer2008数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。
此外SQLServer2008结合了分析、报表、集成和通知功能。
SQLServer2008有助于简化企业数据与分析应用的创建、部署和管理,并在解决方案伸缩性、可用性和安全性方面实现重大改进。
基于SQLServer2005技术优势构建的SQLServer2008将提供集成化信息管理解决方案,可帮助任何规模的组织机构:
¡创建并部署更具伸缩性、可靠性和安全性的企业级应用。
¡降低数据库应用创建、部署与管理的复杂程度,进而实现IT效率最大化。
¡凭借可供创建更具安全保障之数据库应用的丰富、灵活、现代化开发环境增强开发人员工作效能。
¡跨越多种平台、应用和设备实现数据共享,进而简化部系统与外部系统连接。
¡实现功能强劲的集成化商务智能解决方案,从而在整个企业围推进科学决策,提高工作效率。
¡在不必牺牲性能表现、可用性或伸缩性的前提下控制成本费用水平。
2.3B/S体系结构
B/S软件体系结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S体系结构的一种变化或者改进的结构。
在B/S体系结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。
B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件体系结构。
基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。
用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了"零客户端"的功能,很容易在运行时自动升级。
B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。
但是,与C/S体系结构相比,B/S体系结构也有许多不足之处,例如:
(1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。
(2)B/S体系结构的系统扩展能力差,安全性难以控制。
(3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。
(4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理和应用。
2.4.NET三层架构
三层体系结构式指:
用户界面表示层(USL)、业务逻辑层(BLL)、数据访问层(DAL)。
数据访问层:
主要是对数据的操作,而不是数据库,具体是为业务逻辑层或表示层提供数据服务;
业务逻辑层:
主要是对数据层的操作,对数据业务逻辑处理。
表示层:
主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:
ASPX,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。
这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换.
开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。
在保证客户端功能的前提下,为用户提供一个简洁的界面。
这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。
从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。
使用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。
它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。
2.5开发及运行环境
●系统开发平台:
VisualStudio2008
●系统开发语言:
C#
●数据库管理系统:
SQLServer2008
●系统运行平台:
WindowsXP/Windows2000或更高版本
●系统运行环境:
Microsoft.NETFrameworkSDKv2.0或更高
3系统需求分析
3.1系统可行性分析
系统可行性可以从经济可行性、技术可行性和社会可行性3个方面来论证。
(1)经济可行性分析
本系统主要是个人开发的,投入的资金并不多,如要算成本的话,应按如下计算:
序号
项目
人工(人·日)
单价(元)
合计(元)
1
需求分析
8
100
800
2
总体设计
3
100
300
3
详细设计
5
100
500
4
编码实现
20
100
2000
5
单体测试
3
100
300
6
系统集成测试
3
100
300
7
使用手册编制
5
100
500
8
合计
4700
即,本系统在经济上是可行。
(2)技术可行性分析
本系统使用MicrosoftVisualStudio2005和MicrosoftSQLServer2005开发工具,而这两个开发工具相对而言也是比较简单、易学的。
开发语言使用C#,这种面向对象语言,相对于C,C++而言也简单很多,主要是开发人员对C#更加熟悉。
所以技术上也是可行的。
(3)操作可行性分析
本系统界面友好,操作方便,只要懂得计算机的基本操作,都会使用该系统的相关操作。
所以,在操作可行性上也是可行的。
经上述可行性分析,系统是可行的,可以立即进行。
3.2系统需求分析
3.2.1系统功能需求
本系统主要分为3个大模块:
学生、教师、管理员。
而在原系统上的这些大模块里,需要添加以下几个小模块:
学生:
主要有5个模块:
个人信息:
查看、修改个人信息
密码修改:
密码修改
查看课题任务书与指导书:
查看课题任务书与指导书
学生选题:
选题一览表、自主选题
个人选题情况:
查看留言及选题信息,查看审核是否通过
教师:
主要有6个模块:
个人信息:
查看、修改个人信息
密码修改:
密码修改
课题申报:
申报课题、课题一览表
任务书与指导书:
课题任务书、课题指导书
确认选题学生:
显示学生信息、教师选择学生、正式任务书与指导书。
留言(进行交互)
管理员:
主要有6个模块:
公告通知:
查看,修改,删除
密码修改:
密码修改
查询统计:
课题指导老师修改,按课题类型、课题标题查询论文,课题申报情况,分专业统计课题申报数据,课题任务书与指导书(查看、修改、删除)。
用户管理:
学生、教师
系统设置:
控制申报课题和修改课题,控制学生选题。
评论:
管理评论
3.2.2系统性能需求
本系统是基于网络、操作简便。
为了能够满足学生在做论文整个过程中都能够顺利的上传文件和作品,老师能够在答辩的时候在线打分和管理学生的相关文件和作品,管理员可以在线查看报表和管理学生的相关文件和作品,系统需要满足一下要求:
1、实用性:
论文管理系统主要是要考虑其实用性,要跟实际的应用相结合,满足实际的需求。
2、可靠性:
系统能够正常的运行,在多人同时登录时也能够正常的运行。
若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
3、安全性:
对于系统的重要数据都有密码保护,具有一定的安全性。
4、简单易用性:
系统的操作简便,容易,能够满足教师、学生和管理员的使用。
3.4系统数据字典
表:
3-1学生信息数据字典
数据项名称:
学生信息
数据项别名:
无
说明:
每个学生的基本信息
数据流来源:
教师输入
数据流组成:
学生信息=学生编号+专业编号+系编号+学号++密码+性别+入学年份
数据流量:
1份/人
4系统设计
4.1系统总体功能结构
4.2系统详细设计
本系统是分成三个角色:
学生、教师和管理员。
学生模块详细设计
学生成功登录系统后,可以进行填写答辩记录表、实习情况和上传相关文档
管理员成功登录后,报表查看的具体流程图如下:
4.3数据库设计
4.3.1数据库表的设计
SQL数据库中,一个关系就对应一个基本表,一个或多个基本表对应一个存储文件。
用户建立一个基本表后,可以对它进行增加、删除、修改、查询等操作。
本系统数据库设计中使用的基本表如下,数据库名为:
paper。
在原系统中增加的表具体如下:
学生表
教师表
评论表
学院表
5系统实现
5.1系统登录界面实现
该模块主要是对想要登录本系统的用户的用户名、密码和登录类型进行检验。
只有用户名、密码和登录类型都正确了才能成功的登录本系统,而且会根据不同的登录类型到不同的界面;若用户名、密码或者登录类型只要有一个出错或者没有填写都会导致登录失败。
具体如图:
5-1所示:
图:
5-1
此时点击登录按钮(登录类型不正确),会出现图:
5-2的错误提示:
图:
5-2
其他无论是用户名还是密码出错了都是会出现图:
5-2的错误提示框。
登录的具体实现代码如下:
protectedvoidbtnlogin_Click(objectsender,ImageClickEventArgse)
{
boolselect=false;
inttype=0;
boolsuccess=false;
for(inti=0;i{
if(rbltype.Items[i].Selected)
{select=true;
type=int.Parse(rbltype.Items[i].Value);}
}
if(select)
{
stringusername=this.txtname.Text.Trim();
stringpassword=this.txtpass.Text.Trim();
System.Text.StringBuilderstrwhere=newSystem.Text.StringBuilder();
switch(type)
{
case1:
//学生
{
strwhere.AppendFormat("Stu_Number='{0}'andStu_Password='{1}'",username,password);
BLL.Studentbll=newBLL.Student();
DataSetds=bll.GetList(strwhere.ToString());
if(ds.Tables[0].Rows.Count!
=0)
{
success=true;
Session["did"]=ds.Tables[0].Rows[0]["DID"].ToString();
Session["StudentNum"]=ds.Tables[0].Rows[0]["Stu_Number"].ToString();
Session["StudentId"]=ds.Tables[0].Rows[0]["Stu_id"].ToString();
Response.Redirect("Student/main.aspx");
}
}break;
case2:
//教师
{
strwhere.AppendFormat("Tea_Number='{0}'andTea_Password='{1}'",username,password);
BLL.Teacherbll=newBLL.Teacher();
DataSetds=bll.GetList(strwhere.ToString());
if(ds.Tables[0].Rows.Count!
=0)
{
success=true;
Session["TeacherNum"]=ds.Tables[0].Rows[0]["Tea_Number"].ToString();
Session["TeacherId"]=ds.Tables[0].Rows[0]["Tea_ID"].ToString();
Response.Redirect("Teacher/main.aspx");
}
}break;
case3:
//管理员
{
strwhere.AppendFormat("Admin_Number='{0}'andAdmin_Password='{1}'",username,password);
BLL.Adminbll=newBLL.Admin();
DataSetds=bll.GetList(strwhere.ToString());
if(ds.Tables[0].Rows.Count!
=0)
{
success=true;
Session["AdminNum"]=ds.Tables[0].Rows[0]["Admin_Number"].ToString();
Session["AdminName"]=ds.Tables[0].Rows[0]["Admin_Name"].ToString();
Session["AdminId"]=ds.Tables[0].Rows[0]["Admin_id"].ToString();
Response.Redirect("Admin/main.aspx");
}
}break;
default:
{MessageBox.Show(this.Page,"请选择登录类型!
");};break;
}
if(!
success)
{MessageBox.Show(this.Page,"登录失败,请重新登录!
");}
}
else
{MessageBox.Show(this.Page,"请选择登录类型!
");}
}
5.2管理员功能模块
管理员的主界面如图:
5-3,管理员的具体操作就可以在这个界面上选择要操作的容来实现
图:
5-3
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
Page.IsPostBack)
{
this.Repeater1.DataSource=newadminDAO().adminSelectInfo();
this.Repeater1.DataBind();
}
}
protectedvoidlbtnDelCa_Click(objectsender,EventArgse)
{
//当前点击的按钮
LinkButtonlb=(LinkButton)sender;
//获取传过来的commentId
stringid=lb.CommandArgument;
//删除该类别
boolb=newadminDAO().AdminDelete(id);
if(b)
{
//重新绑定新闻类别
DataTabledt=newadminDAO().adminSelectInfo();
this.Repeater1.DataSource=dt;
this.Repeater1.DataBind();
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(),"message","alert('删除评论失败,请联系管理员!
');");
}
}
5.3教师模块实现
图:
5-125.4教师功能模块
在教师模块里,主要添加的功能有:
教师:
主要有6个模块:
个人信息:
查看、修改个人信息
密码修改:
密码修改
课题申报:
申报课题、课题一览表
任务书与指导书:
课题任务书、课题指导书
确认选题学生:
显示学生信息、教师选择学生、正式任务书与指导书。
留言(进行交互)
5.4学生模块实现
{
if(!
Page.IsPostBack)
{
Repeater1.DataSource=newadminDAO().SelectAllStu();
Repeater1.DataBind();
}
}
protectedvoidlbtnDelCa_Click(objectsender,EventArgse)
{
//当前点击的按钮
LinkButtonlb=(LinkButton)sender;
//获取传过来的commentId
stringid=lb.CommandArgument;
//删除该类别
boolb=newadminDAO().AdminDeleteStu(id);
if(b)
{
//重新绑定新闻类别
DataTabledt=newadminDAO().SelectAllStu();
this.Repeater1.DataSource=dt;
this.Repeater1.DataBind();
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(),"message","alert('删除学生失败,请联系管理员!
');");
}
}
6结束语
本系统是基于.NET实现的B/S模式论文管理系统,其主要功能符合系统的需求,不过由于本系统是我第一次开发的项目,在经验和知识方面都有所不足,这些可能导致系统还存在很多问题和缺陷。
但是在做毕业设计的过程中,我学到了很多。
虽然自己之前并没有很好的了解跟熟悉系统开发的整个过程,不过经历了这次开发,我基本上对这些开发过程都有所了解和体会。
一个好的项目,首先要对需求进行详细的调研,只有在很好的了解了系统的需求才有可能把项目做好。
而且不能小看测试的作用,测试在一个项目中,也是非常的重要,测试时需要心细,考虑问题要周全。
在开发中还让我学会了应如何使用网络并且要善于利用网络资源,其实很多问题都可以通过网络来得到解决的。
参考文献
[1]启明工作室编,MIS系统开发与应用(ASP.NET+SQLServer版),人民邮电,2005-8-1
[2]章立民著,用实例学ASP.NET——使用C#与ADO.NET,电子工业,2004-1-1
[3]郝刚主编,袁永刚,严治国,何宇光编著,ASP.NET2.0开发指南,人民邮电,2006-5-1
[4][美]奥尼恩著,施诺译,ASP.NET基础教程——C#案例版 ,清华大学,2003-10-1
[5](美