首页

考试系统的设计与实现

基于C/S架构考试系统的设计与实现

基于C/S架构考试系统的设计与实现

摘要:计算机技术的发展, 人们已经进入了信息时代, 也有人称为数字化时代; 在数字化的网络环境下, 学生希望得到个性化的满足, 根据自己的情况进行学习, 同时也希望能够得到科学的评价, 老师希望有效改进现有的考试模式, 提高考试的效率。本系统主要以Visual Studio2010为开发环境,C#为开发语言,使用SQL Server2008数据库,实现了对系统管理,考生管理,题库管理,在线考试,试卷的审批的功能。减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。

关键字:考试系统 Visual Studio2010 C# SQL

目录

基于C/S架构考试系统的设计与实现........................................................................ 0

目录................................................................................................................................ 2

一、绪论........................................................................................................................ 4

1.1研究背景及意义............................................................................................... 4

1.2国内外发展现状及趋势................................................................................... 5

1.3论文主要工作................................................................................................... 5

二、系统分析................................................................................................................ 6

2.1系统需求分析................................................................................................... 6

2.1.1编写目的................................................................................................. 6

2.1.2可行性分析............................................................................................. 6

2.1.3用例图及用例描述[5] . ........................................................................... 7

2.1.4非功能性需求[5] . ................................................................................. 15

2.2系统功能分析................................................................................................. 16

2.3技术分析......................................................................................................... 17

2.3.1Visual Studio2010简介 ......................................................................... 17

2.3.2SQL Server2008简介 . ........................................................................... 17

2.3.3C#简介 . .................................................................................................. 19

三、系统设计.............................................................................................................. 20

3.1系统架构设计................................................................................................. 20

3.2系统流程设计................................................................................................. 20

3.3系统功能模块设计......................................................................................... 23

3.3.1学生模块............................................................................................... 24

3.3.2教师模块............................................................................................... 25

3.3.3管理员模块........................................................................................... 25

3.4数据库设计..................................................................................................... 25

3.4.1编写目的............................................................................................... 25

3.4.2数据库概念设计................................................................................... 26

3.4.3数据库逻辑结构设计........................................................................... 27

3.4.4数据库物理结构设计........................................................................... 27

四、系统实现.............................................................................................................. 31

4用户登录模块系统............................................................................................ 31

4.2管理员界面..................................................................................................... 31

4.2.1用户管理............................................................................................... 32

4.2.2题库管理............................................................................................... 33

4.2.3科目管理............................................................................................... 34

4.3教师界面......................................................................................................... 35

4.3.1个人信息管理....................................................................................... 35

4.3.2试题管理............................................................................................... 36

4.4学生界面......................................................................................................... 36

4.4.1在线考试功能....................................................................................... 37

五、系统测试与运行.................................................................................................. 38

5.1软件测试简介................................................................................................. 38

5.2功能测试......................................................................................................... 39

结束语.......................................................................................................................... 42

参考文献...................................................................................................................... 43

致谢.............................................................................................................................. 44

一、绪论

1.1研究背景及意义

目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代化考试的需要。随着计算机应用的迅猛发展,计算机的网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。

考试系统是全新的科学教育模式的完美的体现,它可以及时是学生学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在本系统中,题目的生成、试卷的提交、成绩的批阅等都可以自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的[1]。

本系统的功能包括系统管理,考生管理,题库管理,在线考试,试卷审批的功能。开发设计这一考试系统,目标是对学生学能力的测验,可以使学生对自我掌握知识能力的自检;只需录入试题,自动生成试卷,减少教师的工作负担。随机生成的试卷,是高是公平公正,提高了考试质量。

此课题的研究目的在于,对于C/S模式系统的熟练掌握,C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS 的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。它可以充分发挥客户PC 的处理能力,使应用服务器运行数据负荷矫情,数据的存储管理功能较为透明。

1.2国内外发展现状及趋势

随着计算机技术的飞速发展,其强大的功能已为人们深刻认识,计算机在高等学校考试中应用日趋普及,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对网络化环境下的组织考试、审批,具有着人工管理所无法比拟的优点。例如:管理简单、节约时间、无空间限制、存储量大、保密性好、寿命长、成本低、可重复利用以有资源等。这些优点能够极大地提高网络化环境下的高校考试效率,也是高校网络在线考试的科学化、正规化管理,与世界接轨的重要条件。 而基于网络的在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。因此网络是电子化教学的不可缺少的辅助手段。考试系统或题库管理系统在国内已有很多成型的项目与产品,其中比较著名的有永中题库管理系统 ,海天题库管理系统等。考试系统的趋势是安装客户端,即可实现网上考试、成绩排行等功能,还有试卷保存、自动判分、成绩查询和分析等功能。该系统同时拥有最开放的题库管理系统和最灵活的智能组卷系统,能够提供Excel 题目导入导出、题库导入导出等设计,提供资源的快速收集和高度共享。系统能提供基于网络教室、校园网及Internet 的网上考试、测验、模拟考等,尤其是能网上组织考试,学生能在家通过Internet 参加考试和查询分数和教师批语等。手工管理方式在题库管理等需要大量事务处理的应用中已显得不相适应,采用IT 技术提高服务质量和管理水平势在必行[2]。

1.3论文主要工作

系统以C#为开发语言,以SQL2008为后台数据库。考试系统实现的功能有:功能包括系统管理,考生管理,题库管理,在线考试,试卷的审批、

在本文的论述中,首先介绍了项目的背景、国内外现状和发展趋势,研究的意义。

对系统的特点做了比较详细的分析,描述了所要开发系统的实现目标。然后详细分析了系统需求。通过对使用用户的具体需求,构架了具体的功能,为系统的设计及实现打下一个良好的基础。接着详细介绍系统的设计与实现。通过对系

统的需求分析,确定了系统应该具有的功能,并从整体到局部把系统的功能模块化;还将这些功能进行实体化,得到相应的实体及实体关系图,构建合适的数据库。并且结合相关技术及具体实现方案描述整个系统的功能实现。最后对全文工作进行了总结,说明了在撰写论文过程中的心得和不足,并对以后而应用前景做出了展望。

本论文主要由以下五部分组成:

1 绪论。主要介绍了项目研究的背景及意义,国内外现状,以及本文的主要工作。

2 系统分析。对本系统进行了需求、功能以及可行性进行了全面分析。 3 系统设计。结合需求分析划分系统的功能模块和对数据库表的设计。 4 系统实现。介绍了系统各模块的具体实现步骤。

5 系统功能运行和测试。介绍了软件测试和部分测试用例。

二、系统分析

2.1系统需求分析

2.1.1编写目的

需求分析是确定系统的目的、范围、定义和功能时需要做的工作。本文中需求分析的目的是了解用户对于在线考试系统的基本需求。在分别了解学生用户、教师用户对于考试系统所需要的功能后,寻求和分析系统的解决方案。确保最终实现的系统可以满足用户的基本需求。

本系统的用户可分为管理员和普通用户两类。 管理员登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等。普通用户登录,主要负责在线考试、查询考试成绩,教师对试题的管理等。

2.1.2可行性分析

可行性分析采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。

(1)技术可行性

本系统以SQL Server2008为后台数据库,SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本,而且它具有简单、易用等优点[3]。

基于Visual Studio2010[4]环境而进行开发的。Visual Studio是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件, 最为流行的开发工具之一,它提供了相当齐备的类库和友好的界面,为数据库开发提供了比较好的开发环境,提供了多种数据库访问技术,可视化的编程环境,使操作更加直观简便,保证了代码的模块化要求,而代码模块化提高,非常有利于以后对新系统的扩展与修改。

综上所述,本系统的设计与开发在技术上和硬件设备上的条件都满足,因此,在技术上是可行的。。

(2)经济可行性

成本方面:完全可以利用现有硬件条件,不需增加新的硬件设备。

效益方面:目前的情况还不确定具体的效益。

(3)社会因素方面的可行性

法律方面的可行性

本系统的开发所涉及到的模板与资源不会侵犯他人、集体和国家的利益,遵循相关的法律法规。

使用方面的可行性

使用本系统的用户只需拥有基本的计算机基础。

2.1.3用例图及用例描述[5]

(1)管理员角色的相关用例图如图2-1所示

图2-1 管理员角色相关用例图

管理员登陆用例描述

用例名称:管理员登陆

用例目的:完成管理员权限的登录

参与者:管理员

前置条件:点击打开登陆界面

基本事件流:

①进入登陆界面。

②输入相应的用户名、密码、角色类型。

③点击登陆按钮。

后置条件:完成管理员的登陆,进入管理员界面。

管理员用户管理用例描述

用例名称:用户管理

用例目的:对其他用户进行添加、删除、修改操作。

参与者:管理员

前置条件:成功登陆程序,进入管理员界面

基本事件流:

①进入管理员用户界面。

②点击修改用户按钮。

③选择添加或者修改用户信息。

④进行对数据的保存

后置条件:在管理员界面进入修改用户界面,完成对其他用户的操作,对数据的保存。

扩展点:

①管理员只对用户名,密码,姓名,班级进行初始化保存。

②用户浏览窗口,可以对于学生,教师进行浏览查询,修改。

试题管理用例描述

用例名称:试题管理

用例目的:对试题进行删除、修改操作。

参与者:管理员

前置条件:成功登陆程序,进入管理员界面

基本事件流:

①进入管理员用户界面。

②点击试题管理按钮,进入试题管理界面。

③选择添加或者修改试题信息。

④进行对数据的保存

后置条件:在管理员界面进入修改试题界面,完成对试题的操作,对数据的保存。

扩展点:

①管理员可以对试题的类型、难易程度进行修改保存。

②管理员可以按照科目,对试题进行查看浏览。

成绩管理用例描述

用例名称:成绩管理

用例目的:对成绩进行查看、修改操作。 参与者:管理员

前置条件:成功登陆程序,进入管理员界面 基本事件流:

①进入管理员用户界面。

②点击试题管理按钮,进入试题管理界面。 ③选择添加或者修改试题信息。 ④进行对数据的保存

后置条件:在管理员界面进入成绩查看界面,对数据的保存。

扩展点:管理员可以对成绩按照学生学号浏览查看,仅管理员可以对成绩进行修改。

科目管理用例描述 用例名称:科目管理

用例目的:对科目进行删除、修改操作。 参与者:管理员

前置条件:成功登陆程序,进入管理员界面 基本事件流:

①进入管理员用户界面。

②点击科目管理按钮,进入科目管理界面。 ③选择添加或者修改科目信息。 ④进行对数据的保存

后置条件:在管理员界面进入修改科目界面,完成对科目的操作,对数据的保存。

(2)学生角色相关用例图如图2-2所示

图2-2 学生角色相关用例用例图

学生登陆用例描述 用例名称:学生登陆

用例目的:完成学生权限的登录 参与者:学生

前置条件:点击打开登陆界面 基本事件流: ①进入登陆界面。

②输入相应的用户名、密码、角色类型。 ③点击登陆按钮。

后置条件:完成管学生的登陆,进入学生界面。 管理信息用例描述 用例名称:学生信息管理 用例目的:完善学生个人信息资料 参与者:学生

前置条件:点击打开学生用户界面 基本事件流:

①进入学生界面界面。 ②点击信息修改按钮。

③对数据选项进行填写。 ④保存数据。

后置条件:完成学生个人信息资料的完善。 扩展点:学生无法对学号、班级、姓名进行修改。 在线考试用例描述 用例名称:在线考试 用例目的:实现学生在线考试 参与者:学生

前置条件:点击打开学生用户界面 基本事件流:

①进入学生界面界面。 ②点击在线考试。

③浏览并同意考试前注意事项,开始考试。 ④提交试卷。

⑤等待系统自动评分生成考试成绩。 后置条件:完成对选择科目的自我测试。 扩展点:

①系统在开始考试之后,自动显示考试时间给与考生提醒。 ②在规定时间之内没有交卷,系统会自动提交试卷。 ③考试结束之后,系统自动评分。 浏览成绩用例描述 用例名称:浏览考试成绩 用例目的:查看本人以往考试成绩 参与者:学生

前置条件:点击打开学生用户界面 基本事件流:

①进入学生界面界面。 ②点击浏览成绩。

后置条件:查看以往考试成绩。

扩展点:学生对于成绩只能进行浏览,不能进行修改。 (3)教师角色相关用例图如图2-3所示

图2-3 教师角色相关用例图

教师登陆用例描述 用例名称:教师登陆

用例目的:完成教师权限的登录 参与者:教师

前置条件:点击打开登陆界面 基本事件流: ①进入登陆界面。

②输入相应的用户名、密码、角色类型。 ③点击登陆按钮。 ④进入相关界面。

后置条件:完成管教师的登陆,进入教师界面。

管理个人信息用例描述 用例名称:教师信息管理 用例目的:完善教师个人信息资料 参与者:教师

前置条件:点击打开教师用户界面 基本事件流:

①进入教师界面界面。 ②点击信息修改按钮。 ③对可填写数据选项进行填写。 ④保存数据。

后置条件:完成教师个人信息资料的完善。 扩展点:教师无法对工号、姓名进行修改。 试题管理用例描述 用例名称:试题管理

用例目的:对试题进行删除、修改操作。 参与者:教师

前置条件:成功登陆程序,进入教师界面 基本事件流:

①进入管理员用户界面。

②点击试题管理按钮,进入试题管理界面。 ③选择添加或者修改试题信息。 ④进行对数据的保存

后置条件:在教师界面进入修改试题界面,完成对试题的操作,对数据的保存。

扩展点:

①教师可以对试题的类型、难易程度进行修改保存。 ②教师可以按照科目,对试题进行查看浏览。 浏览成绩用例描述 用例名称:浏览考试成绩

用例目的:查看学生以往考试成绩 参与者:教师

前置条件:点击打开教师用户界面 基本事件流:

①进入教师界面界面。 ②点击按班级浏览成绩。 后置条件:查看学生考试成绩。

扩展点:教师对于成绩只能进行浏览,不能进行修改。

2.1.4非功能性需求[5]

(1)性能需求如表2-1所示。 表0–1 性能需求

(2)质量属性如表2-2所示。 表0–2 质量属性

2.2系统功能分析

从总体上考虑,系统应该实现下列功能:

对管理员来说,包括试卷管理、题库管理、成绩管理。

1、试卷管理:管理员可以从课程,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则。同时,管理员还可以对库中已有的试卷进行修改和删除,添加新试卷等。

2、题库管理:管理员可以对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,目前试题类型主要为选择题。

3、成绩管理:管理员可以查看并修改考生的考试成绩 4、学生管理:管理员可以对学生的资料进行查询、删除。 5、教师管理:可以对教师的资料进行查询、删除。 对学生用户来说,包括修改个人信息,在线考试的功能。

1、在线考试:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。

2、查询以往考试成绩:学生可以在线查询以前参加过的每门课程的考试相关信息。

3、修改个人信息:只能修改密码,姓名电话,地址等个人普通信息,禁止修改学号登录名。

对于教师用户来说,可以修改个人信息、添加试题

1、修改个人信息:同样只能修改普通信息,禁止修改工号。

2、添加试题:针对自己所教授课程提交试题,可以设置题目难易度。试题的难易程度分为简单、中等、困难三个等级。

2.3技术分析

2.3.1Visual Studio2010简介

本学生信息管理系统是基于Visual Studio2010环境而进行开发的。Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件, 最为流行的开发工具之一,它提供了相当齐备的类库和友好的界面,为数据库开发提供了比较好的开发环境,提供了多种数据库访问技术,可视化的编程环境,使操作更加直观简便,因此借助Visual C#可以开发出功能强大、速度快、应用广泛并且占用资源少的中小型数据库信息管理系统。

2.3.2SQL Server2008简介

本系统以SQL Server2008为后台数据库,SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。

SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。

这个平台有以下特点[6]:

1、可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。

在过去的SQL Server 2005的基础之上,SQL Server 2008扩展了它的安全性: SQL Server 2008可以对整个数据库、数据文件和日志文件进行简单的数据加密,而不需要改动应用程序。进行加密使公司可以满足遵守规范和及其关注数据隐私的要求。简单的数据加密的好处包括使用任何范围或模糊查询搜索加密的数据、加强数据安全性以防止未授权的用户访问、还有数据加密。这些可以在不改变已有的应用程序的情况下进行,可以审查你的数据的操作,从而提高了遵从性和安全性 。

高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。

SQL Server 2008降低了管理系统、.NET 架构和Visual Studio® Team System 的时间和成本,使得开发人员可以开发强大的下一代数据库应用程序。 推出了陈述式管理架构(DMF),它是一个用于SQL Server数据库引擎的新的基于策略的管理框架。陈述式管理提供了以下优点[10]:

遵从系统配置的政策

· 监控和防止通过创建不符合配置的政策来改变系统。 · 通过简化管理工作来减少公司的总成本。 · 使用SQL Server 管理套件查找遵从性问题。 改进了安装,加速开发过程。

3、智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。

(1)集成任何数据

公司继续投资于商业智能和数据仓库解决方案,以便从他们的数据中获取商业价值。SQL Server 2008提供了一个全面的和可扩展的数据仓库平台,它可以用一个单独的分析存储进行强大的分析,以满足成千上万的用户在几兆字节的数据中的需求。下面是SQL Server 2008中在数据仓库方面的一些优点。

数据、备份压缩可以更有效的存储数据,同时还提高了性能,降低了I/O 要求。

捕获变更数据,变更会被捕获并被放在变更表中。它捕获变更的完整内容,维护交叉表的一致性,甚至是对交叉的schema 变更也起作用。这使得公司可以将最新的信息集成到数据仓库中。

(2)发送相应的报表

SQL Server 2008提供了一个可扩展的商业智能基础设施,使得IT 人员可以在整个公司内使用商业智能来管理报表以及任何规模和复杂度的分析。SQL Server 2008使得公司可以有效的以用户想要的格式和他们的地址发送相应的、个人的报表给成千上万的用户。通过提供了交互发送用户需要的企业报表,获得报表服务的用户数目大大增加了。这使得用户可以获得对他们各自领域的洞察的相关信息的及时访问,使得他们可以作出更好、更快、更符合的决策。SQL Server 2008使得所有的用户可以通过企业报表引擎、报表设计器来制作、管理和使用

报表。

SQL Server 2008扩展了报表中可用的可视化组件。强大的可视化工具例如地图、量表和图表等使得报表更加友好和易懂[11]。

(3)使用户获得全面的洞察力

及时访问准确信息,使用户快速对问题、甚至是非常复杂的问题作出反应,这是在线分析处理的前提(Online Analytical Processing,OLAP) 。SQL Server 2008基于SQL Server 2005强大的OLAP 能力,为所有用户提供了更快的查询速度。这个性能的提升使得公司可以执行具有许多维度和聚合的非常复杂的分析。这个执行速度与Microsoft Office的深度集成相结合,使SQL Server 2008可以让所有用户获得全面的洞察力。SQL Server分析服务具有下面的分析优势[12]:

SQL Server 2008加强了分析能力和提供了更复杂的计算和聚合,使得能进行的分析更宽广。新的立方体设计工具帮助用户将分析基础设施的开发工作流线化,使他们可以为优化性能建立解决方案。

块计算提供了一个在处理性能方面的显著提高,使得用户可以增加他们的层级深度和计算的复杂度。

在SQL Server 2008中一个新的资源监控器提供了对资源利用情况的详细观察,这使得管理员可以更好的优化服务器的使用。

2.3.3C#简介

Visual C# 2010(版本号:4.0)[7]是微软开发的一种面向对象的编程语言,是微软.NET 开发环境的重要组成部分。它是为生成在 .NET Framework [8]上运行的多种应用程序而设计的。是微软公司研究员Anders Hejlsberg的最新成果。

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#看起来与Java 有着惊人的相似;它包括了诸如单一继承、接口、与Java 几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java 有着明显的不同,它借鉴了Delphi 的一个特点,与COM (组件对象模型)是直接集成的,而且它是微软公司 .NET windows 网络框架的主角。C# 简单、功能强大、类型安全,而且是面向对象的。C# 凭借它的许多创新,在保持 C 样式语言的表示形

式和优美的同时,实现了应用程序的快速开发[14]。

C#是一种安全的稳定的、简单的、优雅的,由C 和C++衍生出来的编程语言。它在继承C 和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB 简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的预言特性和便捷的面向组件编程的支持成为.Net 开发的首选语言。

三、系统设计

3.1系统架构设计

C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client 端和Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web 应用发展,Web 和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件

3.2系统流程设计

用户登录模块是系统的唯一入口,任何用户必须使用系统的登录模块登录成功后方可使用系统。这是任何一个信息管理系统保密性的需要。

本系统需要对用户身份进行验证,验证通过后再判断用户是管理员还是普通用户,根据角色判断用户可以使用系统中的相应操作功能。

根据对用户的需求分析可知,系统用户有三类:管理员、教师、学生 他们的权限分别是:

(1)管理员权限:拥有最高权限,负责服务器端的维护和管理、用户的添加以及直接访问数据库的权力;可以对试题类型、题目直接修改删除,可以添加、删除、修改学生的个人信息及考试成绩,可以对数据进行备份和恢复。

管理员系统流程图如图3-1所示

20

图3-1管理员系统流程图

第一步:管理员进行登录时输入用户账号和密码;

第二步:系统进行账号和密码的匹配验证,如果匹配则登录成功进行下一步操作,不匹配则返回到第一步,管理员重新登录;

第三步:系统验证成功后,管理员可以进行对学生用户、教师用户、试题、科目等管理操作。

(2)教师权限:主要是对个人信息的维护、查询学生的考试成绩、试题基本信息,添加该教师所教科目的试题信息,发布试题。

教师系统流程图如图3-2所示

21

图3-2教师系统流程图

第一步:教师用户进行登录时输入用户账号和密码;

第二步:系统进行账号和密码的匹配验证,如果匹配则登录成功进行下一步操作,不匹配则返回到第一步,重新登录;

第三步:系统验证成功后,教师可以对个人信息、试题信息、科目信息等进行管理操作。

(3)学生权限:登录,修改个人信息,参加考试,查看考试成绩。 学生系统流程图如3-3所示

22

图3-3 学生操作系统流程图

第一步:学生用户进行登录时输入用户账号和密码;

第二步:系统进行账号和密码的匹配验证,如果匹配则登录成功进行下一步操作,不匹配则返回到第一步,重新登录;

第三步:系统验证成功后,学生可以对个人信息进行修改、选择科目进行考试、查以往成绩。

3.3系统功能模块设计

在线考试系统的设计和实现过程中,为了使系统便于管理和安全,在考试系统中编辑设计了管理员登录,管理员可以向网上考试系统增加和删除教师和学生。教师和学生要想使用网上考试系统必须先登录,登录初始密码与工号或者学号相同。教师登录后,可以修改自己的登录密码;为学生的考试出题,并且形成题库;为学生将要进行的考试在题库中抽题;对试题进行修改;对试题进行按要求的查询。学生登录后同样可以修改自己的登录密码,晚上自己的个人资料,选择自己考试的课程,可以按照考试课程的名称,课程的编号和时间选择考试;查看自己的分数。

在线考试系统的设计可以分为以下三个模块,如下图3-4所示

23

图3-4模块分析

3.3.1学生模块

(1)模块描述

学生模块主要是要求,学生提供正确的帐号密码进入系统,进来之后能选择相关的科目自我测试,可以修改自己的密码等相关信息(学号信息不能修改)。

(2)模块功能 修改个人信息

学生在登录系统时,初始密码为学生学号,个人信息中只有学号、姓名、密码、班级,需要学生自行填写其他信息,完善个人资料。

在线考试

学生选择科目进行考试,系统显示试题,试题难度,考试时长,并进行计时,在最后30分钟里系统提示剩余时间,时间到自动交卷,自动计算成绩,显示成绩。

24

查询成绩

可以查看以往自我测试成绩,以作对比,了解自我真实水平。

3.3.2教师模块

(1)模块描述

教师需要提供正确的帐号密码来进行登录,系统自检验证成功,登入到界面就可浏览其信息,可以修改自己的信息、考试科目信息将在题库设计说明。登入进来系统的教师,只能更改自己信息而自己管理的科目信息、,其次,教师可以查询各科所有考生的考试信息,比如考试科目,考试成绩,考试日期,开考时间,提交时间。

(2)模块功能 试题管理

是教师对于试题的管理,教师可以对试题进行添加、删除和修改,再添加试题的时候需要注意试题的难易程度。

成绩管理

在本模块中,教师可以查看选择本科目学生的考试成绩,若系统自动生成的成绩有误是,教师仅可以对于成绩进行上报处理,不得自行修改。

3.3.3管理员模块

模块描述

系统的管理员登陆之后,可以新增,删除用户,权限是该系统最大的,包含了教师的一切权限,还可以对每套试题的新增,更改,删除,如果发现错误,也可以及时更正,在系统中,管理员可以根据查询关键字来搜索某一条记录,比如,输入名字叫“张三”就应该查询出所有叫张三的学生,以条目来显示出来,在选择其中一个人条目,罗列出该学生的信息,然后查看相关信息

3.4数据库设计

3.4.1编写目的

数据库里面的操作基本上都是由永久性保存的实体类所执行,因而数据库设计的目的有两个:

25

①确保永久性数据获得一直而有效的存储; ②定义数据库中必须实施的行为。

数据库设计需要在需求分析和数据分析的基础上进行概念设计、逻辑设计和物理设计。

3.4.2数据库概念设计

为了维护数据的完整性和准确性,用单独的表来存储这些信息,系统中实体有管理员、教师、学生、试题、科目、班级。

(1)实体管理员、教师、学生、试题、成绩之间的关系。如图3-5所示

图3-5 实体管理员之间的关系

管理员与成绩存在“管理”联系,是一对多的关系; 管理员与试题存在“管理”联系,是一对多的关系; 管理员与教师存在“管理”联系,是一对多的关系; 管理员与学生存在“管理”联系,是一对多的关系; 教师与成绩存在“查看”联系,是一对多的关系; 教师与试题存在“管理”联系,是一对多的关系; 学生与成绩存在“查看”联系,是一对多的关系;

26

学生与成绩存在“考试”联系,是一对多的关系;

(2)实体管理员、班级、科目之间的联系关系如图3-6所示

图3-6 实体管理员、班级、科目之间的联系图

管理员与班级存在“管理”联系,是一对多的关系; 管理员与科目存在“管理”联系,是一对多的关系;

3.4.3数据库逻辑结构设计

管理员信息表(编号,账号,密码)

教师信息表(编号,用户名,姓名,密码,性别,生日,用户状态) 学生信息表(编号,用户名,姓名,密码,状态编号,班级编号,学号,性别,身份证号,专业,电话,地址,邮编,邮箱)

班级信息表(班级编号,班级名称,年级编号) 科目信息表(科目编号,科目名称,课时,年级编号) 成绩信息表(编号,科目编号,成绩,学生学号)

试题信息表(试题编号,题目,答案(A 、B 、C 、D ),正确答案,科目编号,困难)

年级信息表(年级编号,名称) 用户状态表(编号,状态)

3.4.4数据库物理结构设计

本系统使用SQL Server2008进行数据库的创建。数据库命名为school 。数据

27

库中的数据表紧密连接,构成了整个系统的骨架,系统所涉及的表结构图如下所示:

(1)管理员信息表,如表3-1所示。 表3-1 admin (管理员)数据表字段描述

(2)教师信息表,如表3-2所示。 表3-2 teacher(教师)数据表字段描述

(3)学生信息表,如表3-3所示。 表3-3 student (学生)数据表字段描述

28

(4)班级信息表,如表3-4所示。 表3-4 class (班级)数据表字段描述 (5)科目信息表,如表3-5所示。 表3-5 Subject(科目)数据表字段描述 (6)成绩信息表,如表3-6所示。 表3-6 score (成绩)数据表字段描述

29

(7)试题信息表,如表3-7所示。 表3-7 question (试题)数据表字段描述

(8)年级息表,如表3-4所示。 表3-4 Grade (年级)数据表字段描述 (9)用户状态表,如表3-4所示。

表3-4 UserStated(用户状态)数据表字段描述

四、系统实现

4用户登录模块系统

登陆界面如图4-1所示

图4-1 登陆界面

整个程序的统一入口,实现用户类型的分别登录,从用户类型时间用户角色的分别登陆,取消登录直接选择退出系统。

4.2管理员界面

管理员界面,如图4-2所示

图4-2 管理员界面

在管理员界面中,管理员可以对用户,试题,科目进行修改操作。

4.2.1用户管理

(1)新建用户,根据选择的用户类型分别添加在数据库中,如图4-3所示

图4-3 新建用户界面

(2)查询用户,分别查找学生,教师用户,用listView 控件来显示用户信息,下面以查询学生信息为例,如图4-4所示

图4-4查询学生用户界面

4.2.2题库管理

管理员对试题进行查找,并且可以点击试题进行修改试题信息。如图4-5所示

图4-5查询试题界面

4.2.3科目管理

(1)查看考试科目,点击科目管理,进入考试科目查看界面,如图4-6所示

图4-5查询科目界面

点击查询按钮,可以查看已经录入的课程信息。 管理员可以对已经存在的科目信息右键点击进行修改

(2)添加科目信息,管理员可以添加科目信息,系统进行检测,无重复,可以进行科目的添加。界面效果如图4-6所示

图4-6添加科目界面

4.3教师界面

4.3.1个人信息管理

教师登录进入系统之后,需要完善个人资料,进行个人信息的修改,系统不允许教师对工号和姓名进行修改,界面如图4-7所示

图4-7修改个人信息界面

4.3.2试题管理

只有教师才具有添加试题的功能,界面如图4-8所示

图4-8添加试题界面

4.4学生界面

学生个人信息模块功能同教师个人信息功能相同,在学生界面中,主要突出

的功能是在线考试功能。

4.4.1在线考试功能

(1)学生选择试题,弹出试题窗口,如图4-9所示

图4-9 试题选择界面

学生选择考试科目,读清考试说明之后点击开始答题,进入考试界面。 (2)学生考试界面如图4-10所示

图4-10考试界面

(3)答题完成交卷之后,系统自动生成考试成绩,界面如图4-11所示

图4-11 考试成绩界面

五、系统测试与运行

5.1软件测试简介

测试是每个软件开发过程中必须经历的阶段,它是贯穿在整个软件开发的过程中的。测试的目的是为了发现系统中存在的缺陷,并尽可能地为修正错误提供更多的信息,使系统更加地完善。测试的对象包括数据、程序和文档。测试的方法分为动态测试和静态测试两种。静态测试分为人工测试和计算机辅助测试;动态测试分为黑盒测试和白盒测试。

黑盒测试也称为功能测试,它是通过测试来检测每个功能是否能正常使用[15]。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试。

白盒测试又称结构测试,透明盒测试,逻辑驱动测试或基于代码的测试。它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

5.2功能测试

本功能测试模块以用户登陆功能测试为例。 用户登陆功能测试 测试编号:001

测试目标:验证系统是否可以成功连接数据库 测试环境:windows 7 系统和VS2010 测试步骤:

第一步:打开VS2010,点击运行程序,打开登录页面 第二步:输入用户名,密码,点击登陆按钮

测试截图如图5-1所示。

图5-1

测试编号:002

测试目标:验证系统是否在密码不一致时做出正确的响应 测试环境:windows 7 系统和VS2010

测试步骤:

第一步:点击运行,打开登陆界面 第二步:输入不一致的用户名和密码

期望结果:登陆失败,系统提示用户名或密码不存在。

测试截图如图5-2所示。

图5-2

测试编号:003

测试目标:验证用户成功登陆时,是否能成功进入系统

测试环境:windows 7 系统和VS2010

测试步骤:

第一步:运行程序,点击登陆界面; 第二步:输入正确的用户名,密码;

第三步:点击登陆,进入相应界面;

期望结果:成功进入程序。

测试截图如图5-3、5-4所示。

图5-3

结束语

系统开发的过程中,我深刻体会到了以前上课老师经常提起的一个问题,那就是:一个系统开发的过程中编码不是最重要的,重要的是对系统进行分析以及建立恰当的系统模型。有了一个好的系统模型之后,我们再将其划分成几个模块,那样做起来就会容易得多。本系统中采用了三层架构模式进行系统的开发,体现了该模块化设计思想。 从问题定义到需求分析,从需求分析到总体设计,再到详细设计、编码测试,深深地让我们了解到系统开发是一项工程性的工作。

本系统基于Visual Studio 2010和SQL Server2008工具,实现了题库管理, 成绩管理:管理员可以查看考生的考试成绩,并针对不同的课程进行成绩统计, 修改,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。实现了在线考试、查询以往考试成绩,教师添加删除自己所教授科目的试题

由于本人思维逻辑性不够严谨以及个人技术的不足, 使系统运行时偶尔出现错误 而且帮助模块也未能完善。

作为软件工程专业的学生,学校的学习过程让我学到了很多知识,然而真正运用于实践的并不多,毕业前的这次毕业设计恰是对我们大学所学的一次总结. 通过设计和实现本系统,我对.Net 和C#有了更多的认识,对于面向对象和3层结构有了一次运用实践经验,锻炼了开发的相互协调能力,学到了很多实际开发经验,对于软件工程的技术有了一次较之前更为具体深入的运用。

参考文献

叶宇风. 计算机基础在线考试系统分析与设计[J]. 微型电脑应用,2006,(06) . 吴运明, 赵秀玲. 网络考试评测系统的研究现状与发展优势[J].软件导刊,2010年第10期

(美) 贺特克著,潘玉琪译. SQL Server 2008从入门到精通(微软技术丛书)[M].清华大学出版社,2011

(美)Nick Randolph[等]著, 任鸿, 普杰, 高宇辉.Visual Studio 2010高级编程. 清华大学出版社. 2012

王水,张骁民。软件工程素质导论[M].河南科学技术出版社,2010

王波, 张权, 王艳. SQL Server 2008标准教程[M].化学工业出版,2011

黄胜忠.C# 4.0从入门到精通[M].机械工业出版社,2011

北京阿博泰克. 在.Net 框架下开发三层结构数据库应用系统[M].科学技术文献出版社,2005

何定华, 崔晓军.SQL Server 2008实例教程[M].清华大学出版.2012

宋昆, 李严.SQL Server数据库开发实例解析[M].北京:机械工业出版社,200 王雨竹, 张玉花, 张星.SQL Server 2008数据库管理与开发教程[M].人民邮电出版,2012

(美)Gavin Powell编, 沈洁. 数据库设计入门经典. 清华大学出版社,2007.3 耶鲁大学Abeaham ,里海大学Korth 等著. 《Database System Concepts 》. 第五版,2006

陈卫民. C#程序设计的教学探索[J]. 湖南城市学院学报,2011(06)

黄淼, 高敬礼, 单冬红, 熊蜀峰.C#程序设计课程教学改革研究[J].计算机教育,2010(18)

致谢

在论文编写过程中,衷心感谢张老师的关怀和指导,对于论文中的错误和不妥之处及时给我更正,并提出宝贵的意见。特别是老师们认真负责的工作态度、严谨的治学风格,使我深受启发,在此,向张鑫老师表达我最衷心的感谢和崇高的敬意!

其次,感谢帮助我的同学和朋友,他们给了我很大的支持和鼓励!同时也要感谢在大学四年里辛勤培育我的老师们,是他们教会了我许多专业知识,才能完成此论文的编写。

最后,要特别感谢论文评审和参与论文答辩的各位老师!