网上选题子系统的设计与实现.docx
《网上选题子系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《网上选题子系统的设计与实现.docx(22页珍藏版)》请在冰点文库上搜索。
网上选题子系统的设计与实现
学号:
20115103037
课程论文
学院计算机与信息技术学院
专业信息管理与信息系统
年级2011级
姓名张yan
论文(设计)题目网上选题子系统的设计与实现
成绩
2014年6月7日
网上选题子系统的设计与实现
摘要本科毕业设计网上选题子系统体现了以学生为中心的理念,对提高毕业设计选题效率具有极其重要的作用。
文中针对毕业设计双向选择的需求,应用ASP.NET+C#技术和SQLServer2000数据库设计了毕业生网上选题系统。
该系统主要包括教师出题、学生选题、管理员审核三大模块。
通过教师出题到管理员审核,再由学生选题到教师审核和学生自拟题目由教师、管理员审核的两大主要过程解决了一些在实际中遇到的烦琐及不公平等矛盾,真正做到了网上选题和师生之间的相互选择。
文中重点介绍了系统实现的整个过程,包括网上选题系统的可行性分析、需求分析、概要设计、详细设计、数据库设计、系统实现和系统测试。
整个系统界面美观、使用方便、运行可靠、实现了动态数据库管理,对提高毕业设计选题的工作效率,增进师生之间的交流有着重要的意义。
关键字网上选题毕业设计数据库ASP.NET
1序言
1.1网上选题子系统开发背景及必要性
随着国内高校校园网的建设,基于互联网管理系统的开发正在飞速发展并发挥着较大的作用,许多高校已经采用网上招生系统、学生选课系统等作为日常管理工作的辅助工具,也有一些高校针对即将毕业的学生已经开发并使用了网上选题系统,这些研究成果值得参考,但是已有的网上选题系统仍然存在着一些不完善。
经过调查,有些高校仍然采用人工的方式进行毕业生选题的管理,这样不仅存在着不公平的因素,而且使学校的管理工作效率较低。
因此开发出一个较完善的系统既可以解决学生选题不公平等问题,又可以实现教育资源共享,提高选题效率,更加体现了以学生为中心的理念。
1.2网上选题子系统开发目的和意义
本科生毕业选题是毕业设计工作的龙头,它直接关系到毕业设计的质量,只有把好了选题这一关,以后毕业设计的完成及答辩工作才能够更顺利的开展。
事实上,毕业设计选题应该是教师和学生共同完成的一项重要工作,开发该系统可以允许多名学生选择同一个课题,然后由教师根据学生的选题依据确定选题的学生,体现了选题的双向性。
对于已经有良好课题方向的学生可以自拟题目,然后由教师和管理员确定,这样既能结合课题特点,又能结合学生的兴趣爱好确定一个最佳的搭配,充分尊重了学生的个人选题意愿。
设计基于网络的选题系统,可使学生不受时间、空间和地域的限制来进行网上选题,不仅做到选题的公平、公开,也提高了工作效率,使学校教务管理迈上了一个新台阶。
1.3网上选题子系统开发工具简介
该系统采用了A+C#作为开发工具,以SQLServer2000为后台数据库,操作系统是Windows2000,Web服务器选用IIS进行开发。
1.3.1ASP.NET和C#简介
ASP.NET是.NET中非常关键的技术,是微软推出的新一代通用语言的编程框架,该框架是建立在公共语言运行库上的编程框架,ASP.NET还提供了一个Web应用程序模型,该模型由一组控件和一个基本结构组成,可在服务器上生成功能强大的Web应用程序。
ASP.NET采用结构化的网页,通过CodeBehind技术使逻辑代码和表现代码分开,两者互不影响。
C#是MicrosoftVisualStudio.NET的一部分,是一种简单的、先进的、类型安全的、面向对象的编程语言,具有强大的通用执行引擎和丰富的类库,将成为用于编写NextGenerationWindowsServices,简称NGWS(下一代视窗服务)应用程序的主要语言[2]。
1.3.2VisualStudio.NET简介
VisualStudio.NET是微软公司为推动互联网技术的进一步发展而推出的集成化第三代互联网开发平台,它提供、开发、调试和部署Web应用程序、Web服务以及传统的客户端应用程序所需的各种工具。
它提供终端的网络开发能力以及可伸缩、可复用的服务器端组件,把开发功能强大、性能可靠的企业网络解决方案进行了简化,使其开发更加快速和安全[1]。
1.3.3SQLServer简介
SQLSever2000是一个关系型数据库管理系统,由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。
SQLServer支持并发连接,允许多个用户同时访问数据,具有可伸缩性和可用性以及企业级数据库功能,同时易于安装、部署和使用,完全能够满足用户的需求。
SQL提供了强大的数据存储功能,高效率的数据查询技术、方便易用的向导工具,是制作该系统后台的很好的数据库管理工具[7]。
在实际应用中,对于数据库存储过程的使用也是至关重要的,它所发挥的作用是不容忽视的。
2网上选题子系统分析
2.1网上选题子系统可行性分析
本科毕业设计网上选题子系统需使用Windows2000操作系统,并配制有DotNET.Framework环境,数据库使用SQLServer2000进行开发。
本文作者对软件工程的设计思想、NET框架和数据库的知识有一定的掌握,为系统的开发奠定了基础。
由于该系统是为方便毕业生选题而开发的,所以系统采用B/S结构,教师和学生只要能上网即可登录此系统进行操作,不仅给毕业设计管理工作带来了方便,而且为学校节约了大量的人力,物力,所带来的效益远远大于系统软件的开发成本,因此该系统的开发在技术、经济及运行上是可行的。
2.2网上选题子系统需求分析
2.2.1功能需求
该系统要求从登录模块进入,不同的用户进入不同的管理界面。
但所有用户都需要有浏览自身的基本信息、选题信息的功能,还有对课题的查询、修改密码的功能。
指导教师能够发布新的课题,对已经发布的课题进行修改和删除,查看学生对自己课题的选择情况,确定选题的学生。
学生在登录后要能对已选题和未选题情况进行查看,再对未选的课题和指导教师进行选择,选择后可以对选题的目的进行说明,另外学生还要能自己出题,然后征求教师和管理员的同意。
一个课题可以由多个学生选择,而一个学生只可以选择一个课题,学生选择后不可以再对其它课题进行选择或者申请课题,但在指导教师审核之前可以退题。
管理员本身是指导教师,也需要有对课题的各种操作功能,但其主要的功能是对教师发布的课题和学生申请的课题进行审核,对选题信息、教师、学生的信息进行添加、修改、删除,以及对选题情况进行汇总(包括按教师和学生)等。
2.2.2运行环境需求
硬件环境:
处理器:
IntelPentiumIII以上
内存:
256M以上推荐512M或更高
硬盘空间:
20G
软件环境:
操作系统:
Windows2000
网络协议:
TCP/IP
浏览器:
InternetExplore6.0
2.2.3业务流程分析
根据系统的功能需求和调查得知该子系统的业务流程主要是通过教师出题、管理员审核、学生选题、教师审核和学生自拟题目、教师审核、管理员审核这两大途径完成网上选题的整个过程。
具体业务流程图如图2.1所示。
图2.1业务流程图
2.2.4数据库需求分析
在数据库的分析中,采用E-R图的方法来进行分析,首先分析教士和课题,管理员和课题,学生和课题的分E-R图。
该系统针对每一个系中有一定数量的教师,把教师作为一个实体,此实体具有以下的属性:
教师编号、姓名、密码、性别、年龄、职称、毕业院校、学位、工龄、电话、手机、电子邮件、简介、权限,其中教师编号是主关键字。
管理员也属于教师,且只有一个管理员,其属性和教师是一样的。
如图2.2所示。
同时系中还有很多的学生,把学生作为一个实体,此实体具有以下属性:
学生学号、系别、班级、密码、姓名、性别、电话、手机、电子邮件、选择标志位、权限,其中学生学号为主关键字。
如图2.3所示。
教师出题,学生选题,所以把课题作为一个实体,此实体具有以下属性:
课题编号、教师编号、教师或学生的权限号、标题、内容、开放状态、选择状态,课题编号是主关键字。
如图2.4所示。
在教师出题时,一个教师可以出多个题目;一个题目只能属于一个教师,教师和课题实体之间发生一对多(1:
M)的分配联系。
在学生选题时,一个学生可以选一个题目,一个题目只能属于一个学生,学生和课题之间发生一对一(1:
1)的分配关系。
如图2.5所示。
3网上选题子系统设计
3.1网上选题子系统结构设计
目前开发系统主要采用的模式为B/S结构和C/S结构。
B/S即浏览器/服务器(Browser/Server)结构,它将传统C/S模式中的服务器分解成1个数据服务器和1个或多个应用服务器,从而构成1个3层结构体系。
该结构的优点是具有稳定的技术平台,业务扩展、系统升级简单方便,并提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础,非常适合远程查询的这样一种请求/响应式服务。
C/S即客户端/服务器(Client/Server)结构,它的优点是具有强壮的数据操纵和事务处理能力,以及数据的安全性和完整性约束[5]。
根据B/S和C/S结构的各自特点,以及该系统是应用于互联网上的且面向的对象是广大师生,主要通过校园网络实现课题信息的网上查询、选择,具有并发数量较大、分布范围较广、客户平台不统一等特点,需要能方便、灵活的使用,因此选择B/S结构,这样用户就无需在本地机器安装软件,即可通过浏览器登录系统把各种课题的信息和选择的信息提交到具有数据处理的中间层,经过处理把数据添加到数据库中,数据再通过中间层把各种信息反馈到WEB页面,使用户即时得到最新的信息,整个过程简化了客户端,提高了工作效率。
3.2网上选题子系统总体功能模块设计
网上选题系统是建立在MicrosoftDotNetFramework等新一代高性能网络应用体系结构基础上,应用C#等面向对象的设计语言,对系统进行开发。
使系统从登录模块分别进入教师,学生,管理员模块。
教师模块主要有信息浏览,修改,添加,删除课题,选题确认,密码修改等功能。
学生模块主要有信息浏览,课题选择,课题申请,课题信息查询和密码修改等功能。
管理模块主要包括对课题的审核和对出题情况的汇总以及对选题信息、教师和学生的信息管理,可执行查找、插入、
删除、更新等操作。
设计的该系统的总体功能模块如图3.1所示。
3.3网上选题子系统各功能模块设计
毕业生选题系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。
在确立了系统的总体功能后,便可以设计出系统各子功能模块图。
(1)教师登录成功后进入自己的用户界面,可以查看学生选择自己课题的情况,根据学生的选题依据“同意”或“不同意”该学生选择此题。
还可以发布课题,修改删除课题,同时查看课题是否被管理员审核,是否被学生选择。
通过对选题信息的浏览以了解最新的选题事宜,指导自己的工作。
最后教师为方便自己记忆或者保密可以修改密码。
设计的教师功能模块如图3.2所示。
(2)学生登录后进入自己的用户界面,首先对课题信息浏览,对自己感兴趣的课题可以查看课题介绍和技术要求,同时也能查询到课题指导教师的详细信息,如果选择则等待教师的确认。
其次学生也可以自己申请课题和对指导老师的选择,等待教师和管理员的审核。
另外学生在教师出题的数量比较多的情况下,学生可以根据自己的需要分别以教师姓名和课题名称为关键词进行检索。
通过对选题信息的浏览以了解最新的选题事宜,配合指导教师的工作。
最后学生可以对自己的密码进行修改以达到保密。
设计的学生功能模块如图3.3所示。
(3)管理员登录后进入自己的管理界面,主要实现的功能有审核功能,可以对教师发布的课题和学生申请的课题进行审核,通过后学生才可以选择此题。
管理员可以分别对学生选题的情况和教师已出题目被选情况进行汇总,以保证毕业生毕业设计选题工作的进度和效率。
管理员本身也是一名教师,所以有对课题的各种操作功能和密码修改功能。
管理员还有对选题信息、教师、学生信息的管理功能。
如果管理员登录失败则退出该系统,没有权利进行任何操作。
设计的管理功能模块如图3.4所示。
3.4网上选题子系统数据库设计
3.4.1数据表
根据需求分析中对数据库表的分析,利用数据库的设计思想便可以进行数据库的详细设计。
(1)学生表用来记录学生的基本信息,主要包括以下字段,Sid:
定义学生的学号,且为主键并不允许为空,保证学号的唯一性和快速的查询;Sdepartment:
记录学生的系别;Sclass:
记录学生的班级;Spassword:
记录学生登录时的密码;Sname:
记录学生姓名;Ssex:
记录学生的性别;Stel:
用于记录学生的宿舍电话;Smobile:
用于记录学生的移动电话;Semail:
用于记录学生的电子邮件;Ischoose:
用于记录学生是否选课;Rank:
用于记录学生的权限。
具体见表3.1所示。
表3.1学生表
列名
数据类型
长度
是否为空
Sid
Nvarchar
50
否
Sdepartment
Nvarchar
50
否
Sclass
Nvarchar
50
否
Spassword
Nvarchar
50
否
Sname
Char
10
否
Ssex
Char
10
否
Stel
Nvarchar
50
是
Smobile
Nvarchar
50
是
Semail
Nvarchar
50
是
Ischoose
Bit
1
是
Rank
Int
4
否
(2)教师表用来记录教师的基本信息,主要包括以下字段,Tid:
定义了教师的工作号;且为主键并不允许为空,保证了工作号的唯一性和快速的查询;Tname:
记录教师姓名;Tpassword:
用于记录教师登录时的密码;Tsex:
用于记录教师的性别;Tage:
用于记录教师的年龄;Tplace:
用于记录教师的职称;Tcollege:
用于记录教师的毕业院校;Tdegree:
用于记录教师的学位;Tworkdate:
用于记录教师的工龄;Ttel:
用于记录教师的办公室电话;Tmobile:
用于记录教师的移动电话;Temail:
用于记录教师的电子邮件;Tremark:
用于记录教师的简介;Rank:
用于记录教师的权限。
具体见表3.2所示。
表3.2教师表
列名
数据类型
长度
是否为空
Tid
Nvarchar
50
否
Tname
Char
10
否
Tpassword
Nvarchar
50
否
Tsex
Char
10
否
Tage
Int
4
是
Tplace
Nvarchar
50
是
Tcollege
Nvarchar
50
是
Tdegree
Nvarchar
50
是
Tworkdate
Int
4
是
Ttel
Nvarchar
50
是
Tmobile
Nvarchar
50
是
Temail
Nvarchar
50
是
Tremark
Nvarchar
1000
是
Rank
Int
4
否
(3)课题表用来记录教师和学生所出的课题以及课题的状态,主要包括以下字段,Sbid:
定义了课题的标号,且为主键并不允许为空,它作为种子标识,可以自动增量;Sbno:
记录学生或教师的编号,学生出题则记录学生学号,教师出题则记录教师工作号;Flag:
用于记录教师或学生的权限号;Title:
用于记录教师或学生出题的题目;Content:
用于记录题目的要求和内容;Isopen:
用于标记课题是否开放即是否通过管理员的审核;Ischoose:
用于标记该课题是否已被学生所选。
具体见表3.3所示
表3.3课题表
列名
数据类型
长度
是否为空
Sbid
Bigint
8
否
Sbno
Nvarchar
50
否
Flag
Int
4
否
Title
Nvarchar
300
否
Content
Ncarchar
1000
否
Isopen
Bit
1
否
Ischoose
Bit
1
否
(4)选择表用来记录学生选择课题的情况,使教师、课题、学生一一对应起来,主要包括以下字段,Chid:
定义了选择的标号,且为主键并不允许为空,它作为种子标识,可以自动增量,用于记录选题记录的条数;Sbid:
记录课题的编号,且此字段为外键和课题表的Sbid建立关系;Tid:
用于记录教师的工作号,且此字段为外键和教师表的Tid建立关系;Sid:
用于记录学生的学号,且此字段为外键和学生表的Sid建立关系;Isconfirm:
用于记录学生选题是否已经通过;Choosedate:
用于学生选择该课题的时间;Confirmdate:
用于记录学生所选课题被确定的时间;Choosegoal:
用于记录学生选此课题的目的。
具体见表3.4所示。
表3.4选择表
列名
数据类型
长度
是否为空
Chid
Bigint
8
否
Sbid
Bigint
8
否
Tid
Nvarchar
50
否
Sid
Nvarchar
50
否
Isconfirm
Bit
1
否
Choosedate
Datetime
8
否
Confirmdate
Datetime
8
否
Choosegoal
Nvarchar
1000
是
3.4.2数据表之间的关系
这四个表之间的关系为:
学生表的Sid和选择表的Sid为主外键关系;教师表的Tid和选择表的Tid为主外键关系;课题表的Sbid和选择表的Sbid为主外键关系,这样就可以通过这四个表的主外键的关系相互调用各个表中的记录,再加上存储过程的使用,不仅方便查询,而且可以提高系
统的运行速度。
表间关系如图3.5所示。
图3.5数据表关系图
3.4.3存储过程的运用
该系统在设计对数据库进行操作时,多数采用了存储过程的调用。
存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、接收输入、输出参数、和返回值。
一个存储过程中可以包含大量的SQL语句,并且可以嵌套,但它作为一个独立的单元在进行调用时,只需要使用一个语句就可以实现,大大减少了网络上数据的传输,极大的提升了系统的性能。
存储过程在经过第一次调用以后,就驻留在内存中,不必再经过编译和优化,所以执行速度很快。
因此,在数据库中使用存储过程,不仅极大的提高了工作效率,而且增强了程序开发的灵活性、安全性。
4网上选题子系统实现
4.1教师出题模块实现
教师在登录该系统后进入用户界面,可以利用添加功能对自己所出课题进行网上的发布,发布的内容主要包括课题名称,课题发布时间,及与课题相关的解释内容和技术要求,指导教师默认为登录教师本人。
课题相关内容采用替换函数增加安全性和保持界面的整洁。
指导教师确定后把所有内容提交到了数据库里,并返回到课题列表页。
具体实现界面如图4.1所示。
图4.1教师课题发布
4.2课题管理模块实现
教师在对课题发布后,可以对自己所出的所有题目进行查看,包括课题的名称,指导教师,发布日期,开放状态(管理员审核通过的题目为开放状态),选择状态,如果对自己所出题目有修改意向,可以直接点击课题名称对课题的详细内容进行查看,进而通过编辑功能对课题进行修改,也可以利用删除功能删除本课题。
具体实现界面如图4.2所示。
图4.2课题列表
4.3管理员审核模块实现
教师出题之后,学生不可对此题进行选择,必须经过管理员的审核通过后,学生才可以选择。
管理员通过查看功能对教师所出的课题的详细信息进行审阅,如果管理员觉得此题出得合理,即可以用开放功能,把此题开放,系统会自动把此课题添加到学生的选题信息列表中。
如果管理员经过审核不通过,则把此课题删除,系统会在教师课题列表中把此课题自动删除。
同样管理员可以利用页面的复选框对所有的课题进行删除、开放课题。
页面进行了分页,管理员可以点击首页,上页,下页,末页进行分页查看。
具体实现界面如图4.3所示。
图4.3管理员审核列表
4.4学生选题模块实现
学生登录系统后,进行课题选择,选题之前可以对课题要求、指导教师信息进行查看,也可以对已经被选择的课题查看。
系统默认每题可以由三位同学选择,最后由老师来确定选择该题的学生,其他未被确定的学生还需再次进行选题。
如果学生选题之后,没有被教师确认前,可以对自己选择的课题进行“退题”的操作,然后可以重新选题,但是教师一旦确定,系统将不允许退题。
具体实现界面如图4.4所示。
图4.4学生选题列表
4.5课题确认模块实现
教师登录后,对学生的选题依据进行查看。
同意该学生选题则点击同意按钮,学生选题成功,在学生的课题列表页面中则显示“已确定”,否则学生需重新选题。
课题确认列表中包括:
课题编号、课题名称、学生姓名、班级、选题依据、同意状态等信息。
具体实现界面如图4.5所示。
图4.5课题确认列表
4.6课题申请模块实现
学生如果已经有了很好的课题研究方向,可以自拟课题,并选择指导教师。
学生需要填写自拟题目的信息,包括课题名称、指导教师的选择,并添写出课题的研究意义及拟采用的处理技术,以获得教师和管理员的审核。
这些信息提交后首先到达所选教师的课题列表中,教师可以通过查看课题列表对其题目确定,教师同意后还需要管理员审核是否通过。
具体实现界面如图4.6所示。
图4.6学生申题对话框
4.7统计模块实现
管理员可以分别从教师的出题情况和学生选题情况两个角度进行汇总。
此功能提供给教学管理者及时统计毕业选题信息,有利于管理工作的开展。
在学生的选题汇总页面上,按班级对每一位同学进行选题登记,分为“已确定”和“未确定”。
这样可以很方便地查看出某个班级的选题情况,还可以对未选题的同学进行统计。
同样在教师汇总页面中是按照教师的名字对所出课题进行汇总,在此页面中,如果课题已经被选择了,则选题状态由“未被选”到“已被选”。
具体实现界面如图4.7所示。
图4.7课题汇总列表
4.8毕业设计信息模块实现
该模块实际是一个新闻管理模块,但是该信息模块是为了发布与毕业设计选题和日后的设计工作有关的信息而设立的。
比如发布参考文献的格式要求,学院毕业论文工作规范等。
管理员可以对新闻进行添加、删除、修改等操作。
如果学院对毕业设计的管理工作做出新的决定,教师和学生可以直接从系统上查看到,方便学校的管理。
具体实现界面如图4.8所示。
图4.8信息模块
4.9查询功能模块实现
用户登录后可以对教师和课题进行查询,教师查询为精确查询,课题查询为模糊查询,以便用户可以准确地找到教师和更多的课题。
使系统更加具有实用性。
精确查询时用户必须输入正确的内容,否则没有信息;模糊查询时只知道其中的几个字便可以查到所需要的内容。
具体实现界面如图
4.9所示。
图4.9查询模块
4.10密码修改模块实现
学生和教师都有修改自己密码的权限,设计时,考虑到减少管理员的工作量,初始用户名和密码相同,并且对密码进行了加密,增强了系统的保密性。
在修改密码时输入一次旧密码,两次新密码,然后按修改按钮,密码修改成功。
5网上选题子系统测试
该系统设计完成以后,需要对整体功能进行测试,这里以教师出题→管理员审核→学生选题→教师确认为例进行测试,验证该系统是否能运行正常,完成以上工作。
首先,该系统是在Windows2000系统下编写的,完成系统后在Microso