毕业设计基于vc开发与设计考试系统.docx
- 文档编号:26305459
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:59
- 大小:344.88KB
毕业设计基于vc开发与设计考试系统.docx
《毕业设计基于vc开发与设计考试系统.docx》由会员分享,可在线阅读,更多相关《毕业设计基于vc开发与设计考试系统.docx(59页珍藏版)》请在冰豆网上搜索。
毕业设计基于vc开发与设计考试系统
毕业设计(论文)
基于VC开发与设计考试系统
摘要
随着社会的发展,考试要求、类型和规模的不断变化,普通的手工阅卷已无法满足考试形式和内容日益复杂多样的需求。
如何更好的实现公平公正,充分发挥考试的作用,使之真正成为选拔录用人才的工具,这个问题已经成为社会关注的焦点。
随着国家对创新型、高素质人才需求的增加,对考生实践能力和创新意识进行考察的发散思维和主观性试题在教育考试中所占比重越来越多,这就给评阅工作的公平、公正性提出了新的挑战,传统手工阅卷诸多弊端逐渐显现,如何更好的控制阅卷误差成为急待解决的问题。
随着计算机网络技术、信息处理技术以及计算机的普及,计算机考试系统应运而生。
计算机考试系统的出现可以说是我国考试领域的重大变革,近年来高考、中考、全国英语等级考试、公务员考试等大型考试中考试系统备受关注。
本论文针对班级考试开发设计了一个学校信息管理系统的一个子系统——班级考试系统。
经过对多种主流数据库管理系统进行比较分析之后,选择OfficeAccess作为数据库管理系统,使用VC++6.0作为开发平台,MFC类库辅助。
通过计算机对信息的管理简化了教师对试卷的管理过程,优化了试卷的管理。
首先对考试系统进行简单地绪论和定义,随后对考试系统的可行性进行了多方面的研究,并从需求分析下手,对考试系统粗略的分析,构建起考试系统的基本结构,并对系统架构和功能架构进行设计。
在总体设计中划分功能模块,并对系统的功能模块进行描述,对各个模块的设计与实现进行阐述,列举了一些关键代码帮助理解,并对系统界面进行了人性化的设计。
最后对本次开发和研究进行了总结和展望。
关键词:
VC++;Access;MFC;考试系统
第一章绪论
随着家长对孩子教育方面的不断重视,教育行业在人民心中的地位越来越重,老师们的负担与压力也越来越重。
如何减轻老师的负担及压力,已经成为广大学校校长需要解决的头号难题。
在教育工作中,为学生考试出试卷和批改改卷是老师们最头痛的,不仅消耗大量的时间,而且消耗大量的精力体力。
因此,考试过程由人工操作转向计算机操作是必然的结果。
1.1考试系统的定义
考试系统是以财政部印发的《从业资格考试大纲》为依据、以优化的题库资源为基础、以现代信息技术为手段,通过随机组合生成无纸化考试试卷进行考试,并及时生成考试成绩,集考试报名、试卷生成、上机考试、阅卷、成绩生成等为一体的、多元化,新型的从业考试管理模式。
计算机考试系统的出现可以说是我国考试领域的重大变革。
1.2考试系统的特点
传统考试从出题、组卷、印刷,到试卷的分发,答题、收卷,再到判卷,公布成绩,统计分析考试结果整个过程都需要人工参与,周期长,工作量大,容易出错,还要有适当的保密工作,使得整个学习考试成本较大。
而考试系统相对于传统考试拥有了很多优势:
1.减少工作人员人工输入分数的环节,减少过程中出现错误的可能性,提高准确性。
2.减少纸质试卷封装加工环节,节省费用开支,减少出错机率。
3.数据全部电子化,可以做到永久保存,管理也更加方便高效。
4.具有评阅质量监控功能。
由于所有考试信息保留在服务器,所以可以实时掌握阅卷质量,如果出现偏差可以及时纠正。
5.真正实现无干扰阅卷,尽量减小人为误差,真正实现公平公正,这是传统手工阅卷所无法比拟的。
6.传统手工阅卷中需要专人核对,而且需要搬用试卷,考试系统自动分配,大大节省人力。
7.数据信息方便深度挖掘,可以作为教学和决策依据。
第二章需求分析
2.1功能需求
查阅大量相关的文献资料,对题目进行了深入地研究。
通过对班级考试和师生相关人物角色关系的调研,并对考试相关情况进行了解,得出系统需具有以下功能:
1.由于考试的需要和保密性,也为了便于管理,系统用户具有不同的等级,即不同的权限。
用户按等级分为两个等级:
学生、教师。
不同权限的用户登录后进入系统的页面也不同(系统的功能菜单不同)。
其中学生只有对考试现场进行操作,不能对试题管理做任何操作。
2.从现有的考试模式来看,系统开发要具有两大主要功能模块:
学生考试模块和教师后台管理模块。
3.学生考试模块主要是对学生考试的处理,在这个功能模块里主要是学生的考试功能,进入时选择考试科目,进入后开始考试,考试时间设为1个小时。
为了公平,每人每科只能考一次。
4.教师后台管理模块根据不同需求对所需要的数据进行分类管理统计分析,对于教师来说,所需要做的就是对考生所考的科目、试题和考试所的分数进行分类管理。
根据要求设置不同的考试科目和考试题目,以便对学生的学习成绩进行考核,这些考生的考试数据对教师来说,能更好的了解学生学习的情况。
对以后的教学有更好的帮助。
增加、修改、删除和查询等数据操作是维护系统所必须的。
2.2可行性分析
本系统的开发宗旨,以及总体任务就是要实现考试的自动化﹑规范化、系统化、科学化和人性化。
通过对论文的调查与分析,复查了系统的规模和目标,所以为了能够实现编制这个软件所设定的目标,在程序的开发前的可行性析是有必要的。
本章对开发该系统的可行性从以下几个方面进行了分析。
1.社会可行性:
随着国内外软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。
目前很多的学校在考试的管理运行中都采用科学的信息系统管理方法加以统一管理,运用科学的管理方法可以使考试的投入的相对减少而获得更加可观的考试效果。
这是没个学校都愿意的,因此,考试系统的开发是可行的。
2.技术可行性:
这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。
其基本操作还是对存在数据库进行添加、删除、查找、编辑等。
所以就单纯的数据库应用来看,不存在太大的技术问题。
该系统初步的设想是运用C语言开发的,采用B/S模式,在开发中不会存在技术的问题,所以在技术上是可行的,能够实现这个系统。
3.经济可行性:
开发本系统的成本是很低的,能够满足经济要求。
根据可行性研究的结果,认为可以开发这个系统。
2.3开发及运行环境
2.3.1硬件环境
可以根据班级的大小选择合适的硬件的配置,如表2-1所示
表2-1考试系统的硬件选择
用户(人)
并发访问数据
稳定性
维护性
备选服务器
小型班级(10-30)
20-60(条/s)
低
差
CPU/256M内存/256M磁盘/30G
中型班级(30-50)
60-800(条/s)
中
一般
CPU/512M内存/512M磁盘/100G
大型班级(50-100)
800-1600(条/s)
高
良
CPU/1G内存/1G磁盘/300G
超大型班级(>100)
>1600(条/s)
极高
优
CPU/2G内存/2G磁盘/500G
以上这些硬件的配置不是绝对的,这些数据只是参考数据,具体的配置还要根据用户的需求来选择,本人由于设备有限选用PentiumCPU/1G内存/1G磁盘/300GB个人PC。
2.3.2软件环境
软件配置主要包括操作系统、数据库和开发工具及其技术的选择。
1.操作系统的选择
服务器操作系统的选择,根据用户量的大小选择不同的操作系统,一般是选择用户比较熟悉的如Windows2000﹑WindowsXPProfessional或者Windows2000Server操作系统。
而UNIX﹑Linux﹑WindowsNT操作复杂,界面对用户来说很陌生。
经比较选择WindowsXPProfessional操作系统。
用户操作系统的选择,因为本系统对客户机的要求非常的简单,所有操作系统最好选择我们大家都非常的熟悉的Windows操作系统如:
Windows98、Windows2000、WindowsXP、Windows2000Server等都可以,本人选择WindowsXP操作系统。
2.数据库的选择
可以根据数据的大小选择不同的数据库,如表2-2所示
表2-2数据库选择
用户(人)
数据量大小
稳定性
维护性
数据库
小型班级(10-30)
小
低
差
Mysql
中型班级(30-50)
一般
中
一般
Mysql、SqlServer
大型班级(50-100)
大
高
良
Access、SqlServer
超大型班级(>100)
极大
极高
优
Oracle
上面列举出来的数据库配置也并不是绝对的。
对于超大型班级的数据信息量是非常大的,要求数据库的吞吐量和稳定性较高,同时对维护性要求也很高,能够在定时的较短时间内恢复系统和数据,这需要选择更好的数据库。
但是对于一般的中小型班级,由于学生较少,数据信息量相对也比较小,为了节约成本和资金,可以选择免费的数据库或者是较为便宜的数据库,这要根据用户的需求来确定。
数据库的选择还要考虑与操作系统的配合,本人为了免去数据库的开支,选择的是Access数据库。
2.3.3开发工具及其技术的选择
系统开发使用VC++开发平台,MFC类库辅助,采用Access数据库,在Windows平台上运行,它有一个很友好和人性化的图形用户界面,有很好的可扩展性,使用非常的方便简单,其优势很明显。
2.4开发系统的应用技术
2.4.1Access数据库的介绍及其优缺点
1.基本介绍
MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
Access能够存取Access/Jet、MicrosoftSQLServer、Oracle(甲骨文软件公司),或者任何ODBC兼容数据库内的资料。
熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。
虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。
这个软件能够有效地处理大量记录但是测试显示在某些情况下会导致数据损毁.比如说,大小超过700MB的文件常会出问题。
(值得注意的是在1.0版广泛应用的时候大多数硬盘是小于700MB的。
)软件的使用指南指出过时的设备驱动和错误的配置可能回导致数据丢失。
与一般的CS关系型数据库管理不同,Access不执行数据库触发,预存程序或交互式登录操作。
Access2010包括了嵌入ACE数据引擎的表级触发和预存程序,因此,客户-服务器数据库系统对于Access2010就不是必需的了。
在Access2010中,表格,查询,图表,报表和宏现在基于网络的应用上能够进行分别开发。
2.Access数据库的的优点
(1)存储方式单一
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
(2)面向对象
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
(4)集成环境、处理多种数据信息
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
(5)Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
3.Access数据库的缺点
Access是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消:
(1)数据库过大,一般Access数据库达到50M左右的时候性能会急剧下降。
(2)网站访问频繁,经常达到100人左右的在线。
(3)记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降。
2.4.2MFC的介绍及其优缺点
1.MFC的介绍
微软基础类(MicrosoftFoundationClasses),同VCL类似,是一种应用程序框架,随微软VisualC++开发工具发布。
目前最新版本为10.0(截止2011年3月),并且发布了中文版。
该类库提供一组通用的可重用的类库供开发人员使用,大部分类均从CObject直接或间接派生,只有少部分类例外。
MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。
MFC提供了MFCAppWizard自动生成框架。
Windows应用程序中,MFC的主包含文件为"Afxwin。
h"。
此外MFC的部分类为MFC/ATL通用,可以在Win32应用程序中单独包含并使用这些类。
由于它的易用性,初学者常误认为VC++开发必须使用MFC,这种想法是错误的。
作为ApplicationFramework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32程序设计。
2.MFC的优点
随着编程语言的推陈出新,MFC一些缺点日益突出。
最重要的就是入门门槛相对其他语言要高,而且同样完成一个任务代码量相对较多。
而原有的优势如运行速度快等,也因为其他编程语言的日臻完善和个人电脑的运算速度增加而显得不那么突出。
MFC似乎江河日下。
但是MFC真的没有任何优势了吗?
不是,面对底层程序,它能很轻松的与WindowsAPI或驱动程序结合,就是在自己的代码中直接使用API函数,而API和驱动程序的资料都是以C语言为基础的,这使得VC程序员能够更轻松的使用WindowsAPI。
这样造成了一个很有意思的现象,即入门时VC程序员要付出更多的努力来学习,但是一旦掌握后,开发其他领域的程序或使用第三方软件时,如工业控制类的程序,由于底层的程序都是用C语言编写,反倒是VC程序员能够更快的掌握该领域的编程技术。
而很多其他的编程语言甚至找不到相关的资料。
这就说明VC(MFC)实际上是一种入门困难,但是扩展学习却很轻松的语言框架。
如果局限于某一领域的话VC毫无优势可言,但是如果开发一个新的领域的应用程序或者该程序涉及多个应用领域的话,可减少重复学习的频率和难度,VC(MFC)的优势会立刻显现出来。
第三章系统总体设计
3.1功能模块设计
功能模块设计在整个系统设计当中站有非常重要的地位,通过它可以对系统进行详细的设计。
如图3-1是系统模块图。
图3-1系统模块图
3.1.1学生考试子模块图
图3-2学生考试模块图
3.1.2教师管理子模块图
图3-3教师管理模块图
3.2系统流程图
系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。
图3-4系统流程图
3.3用例图
用例图是简单的形象的描述用户对整个系统的操作,当然不同权限的用户拥有的用例关系也不同。
3.3.1系统总用例图
系统用例图如图3-5所示,是用来形象的描述系统业务处理以及业务与业务之间的内在关系。
在整个系统的用例中,两个不同权限的用户,对应他们的业务处理也是不同的,教师和学生拥有的权限是完全不同的,教师不对学生考试进行任何干预,学生不对试题、成绩、数据库做任何操作。
图3-5系统总用例图
3.3.2学生考试子模块用例图
学生考试用例图如图3-6所示,该用例图有且仅有一个用户,也就是只有学生这一用户,该用户仅对考试科目进行选择并对试题作答,此外不能做其他操作。
图3-6学生管理模块用例图
3.3.3教师管理子模块用例图
教师管理管理用例图如图3-7所示,该用例图描述了教师在后台对学生信息的管理的具体情况和流程。
图3-7教师管理模块用例图
第四章数据库设计
4.1E-R分析
在整个系统中,所存在的实体有试卷实体、学生实体和教师实体。
对考试系统的E-R分析,从大的方面设计出各个实体之间的关系,再在这个关系的基础上进行细化。
图4-1学生实体图
图4-2教师实体图
图4-3试卷实体图
4.2数据库的逻辑设计
通过E-R图的分析,本系统所要求的数据库的框架已经确定。
下面实现数据库的逻辑结构即将数据库的概念结构转化为access数据库系统所支持的实际数据模型。
数据库由下面5个表组成,每个表格表示在数据库中的一个表。
各个表的详细信息如下:
1.注册信息表register
表4-1register
字段名称
数据类型
长度
是否必填
说明
studentid
数字
长整型
是
用户编号
username
文本
20
否
用户名
password
文本
50
否
密码
question
文本
50
否
密码提示问题
answer
文本
50
否
答案
name
文本
20
否
真实姓名
age
数字
长整型
否
年龄
sex
文本
50
否
性别
phone
数字
长整型
否
联系电话
power
文本
50
否
用户权限
idcard
文本
50
否
身份证号
login_date
日期/时间
否
注册日期
2.考试情况表result
表4-2result
字段名称
数据类型
长度
是否必填
说明
starttime
文本
50
否
起始时间
closetime
文本
50
否
截止时间
subject
文本
50
否
考试科目
totle
数字
长整型
否
学生成绩
studengtid
数字
长整型
是
学生编号
3.科目表subject
表4-3subject
字段名称
数据类型
长度
是否必填
说明
subjectid
数字
长整型
否
科目ID
subjectname
文本
50
否
科目名称
4.试题表test
表4-4text
字段名称
数据类型
长度
是否必填
说明
testid
数字
长整型
是
试题ID
question
文本
50
否
考试题目
rightanswer
文本
50
否
正确答案
totle
数字
长整型
否
题目分数
subject
数字
长整型
否
科目ID
5.试题答案表testanswer
表4-5testanswer
字段名称
数据类型
长度
是否必填
说明
testid
数字
长整型
否
试题ID
AnswerA
文本
50
否
A选项
AnswerB
文本
50
否
B选项
AnswerC
文本
50
否
C选项
AnswerD
文本
50
否
D选项
4.3数据库的生成
1.生成表register(注册信息)
图4-4表register生成情况
2.生成表result(考试情况)
图4-5表result生成情况
3.生成表subject(科目)
图4-6表subject生成情况
4.生成表test(试题)
图4-7表test生成情况
5.生成表testanswer(试题答案)
图4-8表testanswer生成情况
第五章 系统实现
本系统采用VC++6.0软件开发,具有完整的应用开发功能,同时支持多种关系数据库管理系统,采用面向对象技术,图形化的应用开发环境,是数据库的前端开发工具。
以下是系统运行情况。
1.用户的登录界面:
打开(ExamOnline.exe)文件后出现用户登录界面,如下图所示:
图5-1用户登录界面
2.用户的注册界面:
登录失败后会提醒注册或找回密码,如下图所示:
图5-2注册提醒
图5-3密码错误提醒
注册提醒状态下选择”是(Y)”则会出现注册界面,当然在登陆界面选择注册也会出现注册界面。
如下图所示:
图5-4注册界面
错误提醒状态下选”是(Y)”则会出现找回密码界面。
如下图所示:
图5-5密码找回界面
3.学生选择考试科目界面:
学生登陆成功后就会进入考试科目选择,如下图所示:
图5-6学生考试科目选择界面
4.学生考试界面:
学生选择考试科目后则会进行该科目的考试,如下图所示:
图5-7学生考试界面
5.教师对试卷的操作界面:
教师权限使用测试用户名tsoft密码123进行登录,登录成功后则会直接进入对试卷的操作界面,如下图所示
图5-8试卷管理界面
6.教师对学生成绩的操作界面:
图5-9学生成绩管理界面
7.教师对数据库的管理界面:
图5-10数据库管理界面
结论
在整个设计的过程中,我对VC6.0++和Access等内容不仅从理论方面有了深入的学习,而且将其实践的过程融入到设计之中,这样就使得理论知识与实际很好的结合在一起,让我感受了软件开发的整个过程。
毕业设计不仅是对我在大学所学知识的一个综合运用,也是一次增长知识和经验的好机会,同时也使我学会了许多处理、解决问题的方法,大大提高了自己的动手能力,为以后走上工作岗位打下了良好的基础。
由于本人是在校大学生,没有参加过具体的商业项目,开发经验不足,考虑事情的能力有限,在做论文的过程中撰写代码还存在一定的难度,所以开发出的系统软件还不够完善,功能实现的还不完全,保密性还不够高,安全性还不够好,虽然基本上实现了各个功能系统的实际应用,但也有一定的限制。
这都是我们以后在系统设计需要应该重点注意和解决的问题。
致谢
在论文完成之际,首先衷心地感谢张珍老师。
在这几个月的毕业设计中,张珍老师,给我的毕业设计提出了许多关键性的建议和指导,让我在设计过程中,避免了一些错误,少走了一些弯路。
更重要的是,在交流过程中,老师的一些创造性思维和方法,让我受益无限。
而且无论是在学术上,还是在思想上,张珍老师都给予了我很大的帮助和鼓励,使我顺利的完成了毕业设计和毕业论文,在这再次向张珍老
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 vc 开发 设计 考试 系统