图
图 4-2用户主界面
2、课程设置管理
图 4-3课程设置管理主界面
3.题库编辑界面的设计
题库编辑模块主要是完成题库的添加,修改和删除。相关流程图如下:
图4-4 题库信息的添加和修改
图4-5 题库删除的流程图
由于题目编号是自动编号。因此,添加试题只需添加试题章节,试题难度,试题分值,试题类型,试题内容以及试题答案。由于试题内容和答案要求可以载入图片,因此选择用Richedit组件。因为试题内容和试题答案要求可以携带图片信息。因此选择使用IO读写数据。
4. 题库查询的设计
题库查询包括精确查询和模糊查询。它们的区别在于查询条件的约束。精确查询是必须输入完整的条件,这样才可以准备无误查询到信息。例如,你想查试题类型为选择题,查询项必须填入选择题。模糊查询通过Like加上通配符作为查询条件。本系统的主要是用%。%表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
查询的流程图:
图4-6 查询的流程
定义试卷条件的主界面如下:
图 4-7定义试卷条件管理主界
5、试题编号管理
图 4-8试题编号管理主界面
6、定义试卷条件管理
图 4-9定义试卷条件管理主界面
7、手工组卷管理
手工出卷页面的功能为当选择不同的科目的时候,显示对应科目的试题。然后通过手工的勾选试题并且设置试题分数组成一份试卷。
图 4-10手工组卷管理主界面
8、自动组卷管理
自动出卷是通过用户选择的生成试卷的条件,随机地选择试题,自动完成试卷的生成。自动生成试卷最重要的是要掌握自动出卷的算法。
在自动出卷过程中,为了排除同一份试卷中出现重复试题。采取方法是将满足要求试题的试题编号保存到一个数组里面,下次随机抽取的时候,将试题编号与数组里面的进行比较,如果出现重复,重新进行抽题。如果不同,将该试题编号保存到数组。如此类推,只到完成抽题。在该过程,为了防止死循环,设置了循环次数,如果超过该次数,将显示没有满足该要求的试题。
实现自动生成试卷的流程图:
图4-11 自动出卷的流程图
自动出卷页面的功能为设置当前各种题型的题量和分数以及试卷名称即可完成出卷设置。通过查阅相关资料了解到,自动出卷要求按照输入的试题量将数据库中已经存在的试题随机调用出来的显示在页面上。形成一份卷子。这个随机调用试题就需要用到SQL server中的随机函数newid()。
关于ACCESS的随机函数newid():newid()在扫描每条记录的时候都生成一个值, 而生成的值是随机的, 没有大小写顺序. 所以最终结果再按这个排序, 排序的结果就是无序的了。 newid()返回的是uniqueidentifier类型的唯一值。newid()每次产生的值都不一样,那么根据这样的值进行排序,每次的结果也是不一样的。所以使用该随机函数就可以实现自动出卷中将数据库中的试题随机排序并提取指定数量的试题的组成一份试卷。
图 4-12自动组卷管理主界面
第五章 系统维护与测试
管理信息系统在完成系统实施、投入正常运行之后,就进入了系统运行与维护阶段。
5.1 系统的配置
1、硬件配置要求:
CPU:1GHz以上。
内存:256MB以上。
硬盘:20GB以上(可用空间最好在5GB以上)。
2、软件配置要求:
WINDOWS2000/Xp中文版操作系统。
本系统运行:首先启动Windows2000/XP,将本系统拷贝到硬盘相应地目录下,用附加数据库加载上数据,运行"EXE文件"即可。
5.2 系统的维护
系统维护的目的是保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。换言之,系统维护就是为了保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。系统维护的工作量往往是很大的,其费用大约占整个生命周期的60%,所以我们必须对系统维护给予足够的重视。
1、系统维护的内容
按照维护对象的不同,系统维护的内容可分为以下几类:
(1)系统应用程序维护
(2)数据维护
(3)代码维护
(4)硬件设备维护
2、系统维护的类型
系统维护的重点是系统应用软件的维护工作,按照软件维护的不同性质,可以划分为下面四种类型:
(1)纠错性维护 诊断和修正系统中遗留的错误。
(2)适应性维护 使系统适用环境的变化而进行的维护。
(3)完善性维护 为满足用户的需求而进行的维护。
(4)预防性维护 为将要发生的变化或调整而进行的主动性维护。
3、系统维护的组织与管理
系统维护工作,首先必须建立一个维护组织,确定进行维护工作所应遵循的原则和规范化的过程,此外还应建立一套适用于具体系统维护过程的文档及管理措施,以及进行复审的标准。
5.3 系统测试
在vc开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,示经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是MIS开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占MIS开发总工作量的40%以上。因此,我们必须重视测试工作。
由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从"破坏"软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。
从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随着阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作为测试对象的。
在具体的测试中,一般应遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作;集中测试容易出错的程序模块;对程序修改以后,必须重新进行测试。
在开发本系统时,为了使系统能够稳定运行,对本系统进行了有针对性的全面测试,采取的方式是:
(1)菜单项测试:为了保证每一项下拉菜单能够正确实现系统设计的功能,我把相关的基础数据,基本上全部输入到本系统中,并对每一个菜单项反复进行了增加、删除、修改等操作,从而保证了菜单功能的正确实现。
(2)数据跟踪:完成菜单项测试后,我又对系统内的每一个数据进行了跟踪。经过实践证实,说明该功能完全正常,对其它的功能模块也进行了类似的设置。
(3)综合测试:在以上测试的基础上对系统功能进行了整体的测试,依次来检验系统功能是否符合系统设计的要求。
结 论
认识到开发系统首先要明确用户的需求,然后进行系统分析,其次构建系统模型、建立完善的数据库,接着编写代码,最后测试系统。
明确用户需求阶段,在网上查阅了大量基于VC++自动组卷管理的相关资料,并浏览了部
上一篇:
基于VC++职工工资管理系统设计与实现
下一篇:
隐式链接DLLvc源程序