考生档案系统软件工程课程设计.docx
- 文档编号:23596763
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:31
- 大小:879.86KB
考生档案系统软件工程课程设计.docx
《考生档案系统软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《考生档案系统软件工程课程设计.docx(31页珍藏版)》请在冰豆网上搜索。
考生档案系统软件工程课程设计
第一章系统概述
1.1系统开发背景和意义
世界经济的快速发展和计算机技术的日益成熟,计算机被应用到人类活动的各个领域,各种应用软件也相继问世,这其中有相当一部分是管理软件。
使用管理软件自然是为了方便人们对一些事物进行管理,而有些软件功能比较单一或已经过时,不能满足当今社会的需要,这就要求我们要跟上时代的步伐,不断的去创新和完善。
如今各大、中院校的学生或计算机爱好者都在热情高涨地学习计算机语言,而且在学习过程中或学习到某一阶段后,都要对已掌握的知识进行练习和测验。
这需要对已有的大量试题进行有条件的选择,然后再做一般的练习和做成试卷。
然而,这种普及的学习计算机语言是近些年才有的,根据调查得知,学习者在巩固知识和检验自己水平时作的试题练习,主要方式是基于在书本上寻找合适的试题,然后再到书面上去完成试题,最后再对照正确答案,教师在给学生出试卷时也基本是以上方式。
这样选择由于试题繁多,不易查找;选题、对照答案、评分或选题、排版,出卷一过程会浪费很多时间。
而且很多试题分散在各个书本上,不能集中在一起。
基于此问题,我认为有必要建立一个考试管理系统,学生信息管理和试题选择及管理工作规范化,系统化,程序化,提高试题处理的速度和准确性,能够快速、准确、有效的对试题进行需要的操作
学校的考试管理是学校一项重要工作,同时考试管理也是每个学校都要进行的工作。
计算机管理信息、试卷、题库档案,日常办公,实现无纸化办公分析题库现状通过强大的查询和索检高效的索检出数据,提高办事效率。
因此,开发这样一套考试管理软件成为很有必要的事情。
因此,在下面的内容中我介绍一下考试管理系统,并谈谈其开发过程和所涉及到的问题及解决方法。
1.2开发语言简介
经过分析,我使用Microsoft公司的VisualJ++Java开发环境,利用Java语言作为开发工具和C/S作为后台数据库管理,利用各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
Java语言是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现管理系统的首选语言。
1.3本系统简介
开发的软件是简易的学生考试信息管理系统,以广大学生为主要服务对象。
提供良好的用户界面,实现与用户的交流,方便考生信息及其成绩的查询,使所需信息一目了然,减轻考试管理部门在分数查询等工作方面的工作量。
系统核心技术有:
头像采集,机器阅卷程序,准考证生成程序,用户登录验证程序及试卷生成程序等。
第二章系统可行性分析
2.1技术上的可行性
本系统基于网络实现,网络的选用,既有数据的安全可靠性问题,也有整个网络的效率问题。
实际应用中很多数据库系统都采用Client/Server方式,最典型的就是在局域网上的应用。
在C/S结构中,允许将一部分计算放在客户端进行。
一般说来,客户机用来运行应用程序并向服务器请求服务的PC机。
2.2经济上的可行性
经济上主要考虑本系统开发的成本,由于本系统的开发以课程设计为依托,参与人员的目的以学习为主,投入成本比较小。
另外,上网报考的学生都拥有一定的计算机基础知识。
同时无纸化网上报考、查询可以节省资源,减少后期资源浪费。
因此,开发本系统在经济是可行的。
2.3管理上的可行性
由于本系统功能较简单,对于学生来说操作上不存在太大难度。
对于系统管理员来说,因为系统管理员拥有维护数据库系统的技能,对数据库中的数据进行添加、删除、更新等操作是没有问题的。
因此,本系统在管理上是可行的。
在本系统的使用阶段,使用者除了需要具备在Windows平台上使用个人电脑及基本上网的知识,并不需要特别的技术能力。
因此,在管理上具有可行性。
2.4操作上的可行性
依据以上因素,本考试管理系统开发项目不仅方便快捷、高效,而且社会效益比较好,从而使本系统开发者相信该系统开发出来之后将取得的成功。
综上所述,此项目在技术、经济、操作和社会效益上是完全可行的。
第三章系统需求分析
3.1系统主要功能
系统功能分析在系统开发的总体任务基础上完成。
系统主要实现教务员录入、删除、修改考生基本信息,将考生的学号或姓名作为查询信息,提供包括考生的学号,姓名,性别,班级等相关个人信息的查询、考试课程信息,考生考试成绩查询
考生可以进行注册,然后登录查询考生课程及考生成绩:
将考生的学号或姓名作为查询信息,提供包括考生的学号,姓名,性别,班级等相关个人信息的查询、考试课程信息,考生考试成绩查询。
考生能够对考试信息进行查询,教务员可以登录,而且可以添加新的管理员和设定新的管理员密码。
同时可以对考生信息及考试成绩进行查询。
主要功能有以下几方面:
1、管理员维护:
管理员对系统的维护(包括初始化数据库、查询系统参数等)、对考题的录入及考题维护。
2、考生报考管理:
考生报考基本信息录入、考试基本信息查询、退考。
3、考生考试管理:
考生登录、选择考试科目、考试难易类型、考试规则、选择题型、考试计时、提交试卷、退出。
4、教师管理:
教师登录、教师阅卷打分、教师对成绩评估等级,退出。
5、数据导出:
考生考试成绩、合格信息导出、试题导出。
3.2系统的数据流图
图3.1学生模块数据流程图
图3.2管理员模块数据流程图
3.3数据字典
表3-1报考信息存储表
表3-2考试管理信息存储表
表3-3管理员维护信息存储表
表3-4数据导出信息存储表
3.4E-R图
图3.2考试管理系统E-R图
图3-3学生信息E-R图
图3-4题库信息E-R图
图3-5成绩信息E-R图
图3-6管理员信息E-R图
图3-7教师信息E-R图
第四章系统总体设计
4.1系统功能设计
考试管理系统主要由三个基本的模块组成:
教师管理模块、考生考试模块和账户管理模块。
教师管理模块主要实现:
教师登录系统:
在任何一台计算机上根据用户名口令进入考试系统;
题库信息管理:
教师可以添加、删除、修改试题库中的题目
试卷生成:
教师可以从题库中选题,也可由计算机自动选题并生成试卷;
阅卷管理:
教师可以进行对试卷的评分或由系统自动评分或由系统自动评分,并将相关信息加入数据库,显示考试成绩;
成绩信息管理:
教师可以查看学生成绩,删除修改学生成绩,并进行统计分析。
考生考试模块主要实现:
学生登录考场:
学生输入自己的班别、学号、姓名,并选择试卷进入考试系统;
考试管理:
考生可以在考试时间内主动交卷或在达到考试时间后由系统强行收卷;
成绩查询:
学生可以随时查询自己所有的考试成绩。
账户管理模块主要实现;
管理员登录:
管理员以Admi为用户名登录系统;
教师权限设置:
管理员可以添加删除能对题库进行操作的老师,设置教师权限;
安全与维护;管理员应定期备份、恢复数据。
4.2系统功能模块图
根据上述系统功能分析,能得出下面系统软件功能模块图:
4.3数据库设计
在需求分析阶段所确定的考试管理系统数据需求的基础上,进一步设计数据库。
1.系统用户数据表(用户信息表)记录系统所有用户名和密码信息,表中的各个字段以及各个字段的说明如下:
表4-5管理员表:
属性名称
列名
数据类型
长度
管理员ID
Admin_ID
char
20
密码
Password
char
20
表4-1学生表:
属性名称
列名
数据类型
长度
学号
xh
char
12
班级
bh
char
10
姓名
xm
char
36
民族
mzm
char
20
出生年月
csny
datetime
8
所在系
xbdm
char
8
身份证号码
sfz
char
20
表4-2报名表:
属性名称
列名
数据类型
长度
学号
xh
char
12
准考证号
ZKZ
nvarchar
10
表4-3教师表:
属性名称
列名
数据类型
长度
教师工号
Teacher_ID
char
12
姓名
Teacher_NAME
char
36
职称
Position
char
10
表4-4成绩表:
属性名称
列名
数据类型
长度
准考证号
ZKZ
nvarchar
10
姓名
NAME
nvarchar
10
年级
NJ
nvarchar
2
学制
XZ
nvarchar
6
考试成绩
DZ
float
8
通过标记
CJJ
nvarchar
1
第五章系统的详细设计
5.1系统设计目的及任务
此阶段主要设计出具体能够运行的系统并详细列出新系统的各项指标。
考试管理系统的实现包括前台页面实现和后台管理程序实现,这里对系统主要几个功能模块进行设计实现。
本系统算法过程的设计是采用流程图的方式来表达每个处理过程的算法。
系统数据结构的设计是对于处理过程中涉及的概念性的数据类型进行确切的定义。
系统测试用例设计为测试用例包括输入数据和预期结果等内容。
5.2系统配置设计
5.2.1.系统设计指标
系统的可靠性:
该系统要求24小时不间断工作工作,发生错误的概率低于0.01%;要提高系统的吞吐量,要求使用具有大吞吐量的计算机。
同时应该选择具有较高性能的计算机,系统响应时间不超过2秒,地域范围采用局域网方式。
5.2.2.计算机硬件配置
计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:
内存:
512MB;CPU:
奔三1.0GHZ以上;硬盘:
空余空间4G。
5.3系统基本模块设计
5.3.1数据的增加
利用“增加”按钮,使表格右边的编辑框信息自动清空,且窗口的标题上标明当前操作时增加状态,将要增加的信息在右边编辑框中输入,信息全部输入好后利用“保存”
按钮,实现数据保存。
在保存过程中如信息的代码重复,系统将提示代码重复并停止保存工作,直至代码不重复。
5.3.2数据的修改
修改数据字典需谨慎,因为修改某些信息直接影响其他与之关联的所有数据。
修改时,设计成可在对应表格显示区点击要修改的记录,系统自动将对应的信息显示在右边,然后在右边对应编辑框中修改信息,信息修改好后利用“保存”按钮动作实现。
5.3.3数据的删除
删除代码信息必须谨慎,为确保可靠,一般要求设计系统有提示功能如下图:
图5.1
利用“确定”按钮动作,系统得到用户确认后,删除当前一条信息。
点击“取消”,系统不执行删除命令。
5.4系统功能模块设计
考试系统模块,按照学生考试流程来进行设计的。
每一次考试作为一个完整的过程,形成记录。
它有几个主要部分:
一是考前准备,包括考试导入的信息、考试信息的维护、考试注册情况。
二是根据导入的信息进行考试安排,考场编排等。
考试系统的流程图如图5.1所示:
图5.2考试系统流程图
成绩查询模块是考生考试并提交试卷之后查询自己分数所使用的模块,考生登录后可及时方便地查询自己的成绩,查询子系统采用Web方式实现,考生在页面输入自己的信息后如验证成功,就显示考试成绩。
成绩查询子系统系统流程图如图5.2所示:
图5.3成绩查询系统流程图
管理员管理模块是任何时间段内管理员登录系统进行管理的过程,管理员登录成功后进入主界面进行管理,如未成功登录可返回初始界面重新登录。
管理员管理系统流程图如图5.3所示:
图5.4管理员管理系统流程图
教师阅卷模块是考生考试提交试卷后教师登录批阅试卷的模块,教师根据账号登录,选择所批改的试卷,批改后退出。
教师阅卷系统流程图如下:
图5.5教师阅卷系统流程图
5.5数据的导入、导出功能的设计
由于学生类别多,各类别的学生数据格式或字段不一定统一,若这些数据都由人工录入不仅工作量巨大,而且容易出差错。
本系统的设计提供了灵活的数据导入、导出功能。
导入的外部数据与内部数据可以由用户选择分配,导出的数据由用户通过各种条件组合查询得到,并可以选择字段。
保证了各个环节的数据的完整性、统一性和正确性。
同时,本系统的数据导入、导出功能还能够解决系统与系统之间的数据交换,成绩数据,考生信息等。
5.6用户权限管理的完善
本系统的权限管理的基本思想是:
系统管理员拥有系统权限的分配权;用户密码通过算法加密成密文,系统管理员只能通过底层操作查看用户密码;能将模块授权分给不同用户组。
本系统权限管理的设计原则是:
系统管理员进行新用户授权时需密码校验通过,才能授权;系统将自动产生一个密码,并选择一种默认算法自动将密码加密成密文提供给用户。
5.7系统模块维护
系统模块维护管理是考试定义、考前处理、考试报考管理、考试时间安排、考试处理、考试课程信息维护等。
一般有以下几个部分:
某学年学期课程信息维护;学年学期与考试时间对照;课程代码表及考试类型等。
为了便于系统的扩展和维护,系统涉及的基本数据都以数据字典的方式管理,用户随时可以根据实际情况维护。
系统模块代码维护窗体的设计:
本部分功能可利用Tpagecontrol组件、TDBGrid组件、Tpopupmenu组件,TDBNavgator组件、ComBOBox组件、Tedit组件、Tquery组件来实现
其中,Tpagecontrol组件是用来管理“页”的控件,分别管理象“考试类型”、“考核方式”、“考试时间”、”学年学期与考试时间对照”等组件页。
TDBGrid组件负责显示数据和接受用户对数据库的操作。
TDBNavgator组件提供了上、下、头、尾定位功能,还有TbitButton组件提供增加、修改、删除、保存、返回、查找等操作功能。
ComBOBox组件给用户提供了可选数据的下拉列表。
Tedit组件用来显示、编辑一行文本。
而TpopupMenu组件则用来产生界面菜单。
Tquery组件来实现查询数据库。
第六章系统实现
6.1系统运行环境
机型:
PC台式机
处理器:
奔三1.0G或更高
内存:
512M或更高
硬盘:
4G或更高
输入输出设备:
键盘、扫描仪、打印机、显示器等。
编程工具:
Java语言
操作系统:
MicrosoftWindowsXP
6.2系统运行界面
6.2.1报考时间设置
报考时间设置,可对学生报考起始时间和终止时间限定,特别是报考限定,以保证在规定的时间上报全部的报考数据。
设计窗口界面如图6.1所示
图6.1
publicvoiditemStateChanged(ItemEvente)
{
timeShow.setText(null);
是否关闭计时器=false;
是否暂停计时=false;
暂停或继续计时.setText("暂停计时");
Stringname=(String)list.getSelectedItem();
读取试题.setFilename(name);
读取试题.set完成考试(false);
time=读取试题.getTime();
if(countTime.isAlive())
{
是否关闭计时器=true;
countTime.interrupt();
}
countTime=newThread(this);
消息区.setText(null);
试题显示区.setText(null);
读取下一题.setText("读取第一题");
提交该题答案.setEnabled(false);
读取下一题.setEnabled(true);
welcomeLabel.setText("欢迎考试,你选择的试题:
"+读取试题.getFilename());
}
6.2.2学生考试报考
学生考试报考分整班报考和学生个别报考,在规定的时间内报考的正报考,超过报考时间,或费用不够及未交费用者之后补交了费用的,进行补报的为补报考。
publicTestArea()
{
list=newChoice();
String当前目录=System.getProperty("user.dir");
Filedir=newFile(当前目录);
FileNamefileTxt=newFileName("txt");
StringfileName[]=dir.list(fileTxt);
for(inti=0;i { list.add(fileName[i]); } 试题显示区=newJTextArea(15,12); 试题显示区.setLineWrap(true); 试题显示区.setWrapStyleWord(true); 试题显示区.setFont(newFont("TimesRoman",Font.PLAIN,14)); 试题显示区.setForeground(Color.blue); 消息区=newJTextArea(8,8); 消息区.setForeground(Color.blue); 消息区.setLineWrap(true); 消息区.setWrapStyleWord(true); countTime=newThread(this); Strings[]={"A","B","C","D"}; box=newJCheckBox[4]; for(inti=0;i<4;i++) { box[i]=newJCheckBox(s[i]); } 该界面如图6.2所示,此窗口单元文件如下: 图6.2 6.2.3考试报考信息查看 考试报考信息查看,可对学生报考课程信息进行查看,并输出为.dbf文件。 如6.3所示 图6.3 if(e.getSource()==查看分数) { intscore=读取试题.getScore(); Stringmessages=读取试题.getMessages(); 消息区.setText("分数: "+score+"\n"+messages); } if(e.getSource()==暂停或继续计时) { if(是否暂停计时==false) { 暂停或继续计时.setText("继续计时"); 是否暂停计时=true; } elseif(是否暂停计时==true) { 暂停或继续计时.setText("暂停计时"); 是否暂停计时=false; countTime.interrupt(); } } } 6.2.4权限管理的实现 权限管理的设计思想,是系统管理员给用户分配使用权限,并给定“用户”和“用户组”的隶属关系。 具体有: 增加、修改、删除组信息以及分配组权限。 界面设计如图6.4 图6.4 用户与组信息维护: 增加、修改、删除用户以及分配各用户分别属于哪个组,一旦将用户设置为哪个组,则该用户拥有该组的所有权限。 publicclassEnglishTestextendsJFrame { TestAreatestPanel=null; Containercon=null; publicEnglishTest() { super("模拟考试"); testPanel=newTestArea(); con=getContentPane(); con.add(testPanel,BorderLayout.CENTER); addWindowListener(newWindowAdapter() {publicvoidwindowClosing(WindowEvente) {System.exit(0); } }); setVisible(true); setBounds(60,40,660,460); con.validate(); validate(); } 该功能界面如图 图6.5 用户权限查看: 主要查看某个组有多少用户,某个用户分别属于那些组,各用户分别拥有哪些操作权限。 publicintgetScore() {score=0; intlength1=selection.length(); intlength2=correctAnswer.length(); intmin=Math.min(length1,length2); for(inti=0;i {try{ if(selection.charAt(i)==correctAnswer.charAt(i)) score++; } catch(StringIndexOutOfBoundsExceptione) { i=0; } } returnscore; } 操作界面如图6.6 图6.6 口令设置: 口令设置是为用户更改原密码的对话框。 publicclassReadTestquestion {Stringfilename="", correctAnswer="", testContent="", selection=""; intscore=0; longtime=0; boolean完成考试=false; Filef=null; FileReaderin=null; BufferedReader读取=null; 口令设置界面如图6.7所示: 图6.7 6.2.5系统操作日志设计 系统的操作日志用于记录用户对数据的操作(增加、删除、修改等情况)。 系统操作日志主要程序代码设计: 图6.8 6.2.6数据备份界面设计如图 图6.9 在编制备份计划时,可以将备份以时间点为基础进行考虑。 可采用日备份,周备份、月备份、年备份相结合,在数据变更频繁时采用日备份,平时采用周备份或月备份即可。 第七章系统测试 7.1测试说明 完成编码和界面实现后,并不代表就完成了整个系统的制作,接下来就要对该考试管理系统的功能和稳定性进行软件测试,尽量测试出设计中不合理的部分,并及时作出修改,完善系统。 本系统采用黑盒测试,根据功能进行测试,了解软件功能和输入输出关系十分重要。 测试方案包括功能测试、输入错误信息、输入不合理数据等,从而检测系统是否能够执行预计功能以及对错误信息是否具有识别功能。 7.2功能测试 7.2.1用户登录 在用户登录系统时,如果输入的用户名或者密码为空,系统将提示密码错误,错误提示如图7.1所示 图7.1 7.2.2学生信息录入管理 管理员可以对学生考试信息进行录入等操作。 当管理员录入考生信息时,可以输入学生学号、姓名、性别、民族、籍贯等详细信息。 如图7.2所示 图7.2 7.2.3学生成绩录入管理 管理员可以对学生考试成绩进行录入等操作。 当管理员录入考生信息时,可以输入学生学号、班级、考试科目、录入方式等详细信息。 如图7.3所示 图7.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考生 档案 系统软件 工程 课程设计