贾跃++付丽梅++韩羽佳
摘 要
本文针对“程序设计”类考试的软件很难评价出一个人的项目开发能力的问题,以系统能够客观、真实、迅速的评价出一个人的项目开发能力为目标,采用.NET技术,C#语言和SQLServer直接存储,开发了一个软件工程师技能测评系统。该系统能够定向评测考生软件开发能力,改变了以往对评分题客观的“非对即错”模式,真实的反映考生的项目开发能力,缓解了社会对高水平项目开发者的急切需要,具有明显的社会效益和经济效益。
【关键词】NET技术 管理子系统 考试子系统 项目开发能力评测
网络化在线考试作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,国内外已经有很多计算机“程序设计”类考试的软件,它们大多具有上机考试和自动评阅的功能,但受考试题型限制很大,通常采用客观题的形式,并对程序设计类试题的评分方法很不完善,往往是“非对即错”,并不能真实的反映考生的项目开发能力。为了能够客观、真实、迅速的评价出一个人的项目开发能力从而缓解目前社会急切需要具有高水平的项目开发者的问题,开发一套能够定向评测软件开发能力的测试系统对网络发展具有重要意义。
1 系统需求分析
本系统可分为管理子系统和考试子系统。主要用户包括考生和管理员。
1.1 对于考官功能如下
1.1.1 试卷管理
通过试卷管理可以制定多种组卷方案,在进行考试参数设置的时候,管理员可以选择使用其中的一套组卷方案。可以建立、编辑、浏览和删除组卷方案,试卷的生成、编辑、删除和打印等功能。
1.1.2 参数管理
考试参数包括考试标识、考试时间、监考密码、是否显示题号、是否显示成绩、设置考试场次等,可以对以上各项参数进行管理。
1.1.3 题库管理
题库管理的基本功能包括题型的管理、试题的管理,试题的统计。
1.1.4 基本资料管理
管理所有的考生的基础信息,包括考生信息的导入、导出、查看、编辑、删除等,导入功能提供从Excle表导入考生基本信息到系统数据库的功能,导出功能是将数据库中的考生导出到Excel电子表格文件中。
1.2 考生的基本功能如下
1.2.1 用户管理
提供了注册、登录以及基本信息的维护的功能。
1.2.2 参加考试
输入准考证号和密码进行登陆,登陆成功后跳转到客观题的说明页面,提醒考生答题规则。点击按钮可跳入答题页面,考生在答完一道题目后,单击“下一题”按钮,将会跳转到下一题目。单位时间内无论是否答完系统都会自动跳入下一题。答主观题时,考生在编辑代码的过程中,可以进行调试、编译、查看帮助文档等操作。在完成该题目后,点击按钮,该系统将会调用已写好的测试用例进行测试,并将得分情况提交到服务器,同时跳转到下一题目。
1.2.3 评分及查看成绩
在全部题目完成后,点击提交,系统会对客观题目进行判分,对操作题目除了给出评分外,还会给出一份考生项目开发能力的评测报告。
经过对本系统的开发需求进行全面分析,总结出该系统实现的主要功能包括:管理子系统的试卷管理、题库管理、参数管理考生基本信息管理和考试子系统的用户管理、参加考试、自动评分及查看成绩。
2 系统总体架构设计及功能模块设计
2.1 体系结构设计
.NET软件开发技能测评系统采用三层开发方式,基于B/S架构,三层开发即指数据持久层、业务逻辑层和表现层,表现层作用是显示业务处理结果,提供给用户交互接口,根据用户的请求调用不同的业务逻辑。业务逻辑层的作用是完成具体的业务逻辑操作,返回处理结果。数据持久层的作用是完成完成业务逻辑对数据库的访问。分层开发的目的是为了实现“高内聚、低耦合”。易于控制、易于扩展、易于分配资源。降低了应用程序开发和维护的成本,增强了系统的复用性,系统的扩展性大大增强。表现层采用的技术主要是ASP.NET,其特点是页面和代码分离,页面技术有HTML、Javascript和CSS以及ASP.NET服务器控件,交互逻辑处理主要由事件处理函数完成。业务层使用C#编写的类封装具体的业务逻辑和数据访问。模型层主要是对数据表的封装。
2.2 动态模型设计
根据需求分析,得出系统完成的主要功能包括:考官的试卷管理,参数设置,考生信息管理,题库管理;考生的用户管理,参加考试,评分及查看成绩。系统的总体功能结构图如图1所示。
2.3 数据库设计
本系统面向的用户主要是考生、和考官。对考生用户来说,最重要的是方便考生考试和成绩的查询。对于考官用户来说,最重要的是方便考试系统的管理和维护。这就要求数据库结构能够满足各种信息的输出和输入。在对考试系统进行系统设计的基础上,可以得到下面所示的主要数据项和数据结构:
2.3.1 管理人员表
包括的数据项有姓名、密码、权限等。
2.3.2 考生信息表
包括的数据项有姓名、性别、身份证号、工作单位、工作岗位、工作证号、考试科目、专业、职称等。
2.3.3 考生答案备份表
包括的数据项有姓名、身份证号、考试科目、试卷编号、试题类型、试题卷面题号、考生答案。
2.3.4 考生成绩表
包括的数据项有姓名、身份证号、考试科目、试卷编号、试卷名称、总分等。
2.3.5 考生答题状态表
包括的数据项有姓名、身份证号、试卷编号、试卷名称、考试科目、当前状态、开始时间等。
2.3.6 科目与专业表
包括的数据项有考试科队专业等。
2.3.7 单位信息表
包括的数据项有单位名称等。
2.3.8 试卷信息表
包括的数据项有试卷名称、试卷编号、考试科目、专业、单选、题数、单选题总分数、多选题数、多选题总分数、判断题数、判断题总分数、填空题数、填空题总分数、简单题数、简答题总分数、考试时间、考试开始日期、考试结束日期、卷面总分、试卷难度系数等。
基于需求分析,本系统使用面向对象的方法进行设计,主要方法是分析动态模型,并进一步得出最终的解决方案—类图。
3 系统实现
3.1 系统开发工具以及开发环境
本系统采用vs2008开发平台,数据库使用的是Sql Server 2008,测试及源代码版本管理采用VS开发环境集成的TFS工具。为了保证系统运行的效率和可靠性,系统服务器应该具有较高的软硬件配置,对于客户端来说,要求不高。
3.2 管理子系统的实现
试卷管理模块可以对组卷方案进行管理,也可以对试卷进行管理。题库管理模块可以对题型及试题进行管理。打开试题维护窗口,选择一种试题类型后,在试题维护窗口可以对试题添加、编辑、及查找。
3.3 考试模块的实现
输入准考证号,登录系统后即可参加考试,试题类型分为选择题、判断题以及主观题。选择题目主要是单选,考生答完后,系统会自动评分,客观题评分的主要依据是在数据库里把选项和正确答案保存后,用户的答案和题库里的正确答案比对,记录正确个数,根据每个题目的分值和正确个数评出选择题目和判断题题目的分数。为项目操作通过单元测试、UI测试、功能测试后,给考试出一份项目测试报告。点击“下载项目开发能力报告”按钮后,会下载一份word格式的能力评测报告。
4 结束语
以互联网为主要手段的现代远程教育己成为当今教育发展的趋势之一。在国内外,远程教育不断蓬勃发展。而题库系统更是远程教育的一大重要组成部分,因此,基于Web的题库系统的研究对于发展远程技术教育尤为重要。本系统还有许多新的问题需要解决,需要在实际应用中不断积累和完善。
参考文献
[1]郑阿奇.C#实用教程[M].北京:电子工业出版社,2008.
[2]胡海峰,赵阳.VB编程题自动评分系统的设计与实现[J].金华职业技术学院学报,2009(12).
[3]龚赤兵.Web开发新体验:ASP.NET 3.5 MVC架构与实战[M].北京:电子工业出版社,2009(09).
[4]洛伊(美)..NET组件开发(影印版)[M].南京:东南大学出版社,2006(04).
[5]邓丽,孙风栋,张冬青.数据库原理与应用[M].大连:东软电子出版社,2010.
作者简介
贾跃(1979-),女,满族,辽宁省锦州市人。硕士学位。现为大连东软信息学院软件工程系副教授。研究方向为软件工程。
作者单位
大连东软信息学院软件工程系 辽宁省大连市 116021