系统管理需求分析_第1页
系统管理需求分析_第2页
系统管理需求分析_第3页
系统管理需求分析_第4页
系统管理需求分析_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、兰州城市学院本科毕业论文在线考试系统 管理员模块设计学 院 名 称:信息工程学院专 业 名 称:计算机科学与技术(网络)学 生 姓 名:谢斌 指 导 教 师:文静 讲师 二一四年五月摘 要本系统是一个基于Java面向对象程序语言的在线考试系统,用户角色由学生、教师和系统管理员组成。本系统主要实现了自动组卷、学生在线考试、教师在线批阅和考试设置、试题维护、分数统计等功能。在这个系统中主要设计了管理员模块,负责修改/查阅、分析成绩、用户信息维护等功能的实现。本系统采用B/S模式设计。系统所用到的技术有HTML、CSS、Javascript、JSP、Servlet等。数据库选用SQLServer20

2、05,Web服务器选用TomCat7.x。前台设计主要在DreamWeaver上设计完成,后台开发主要在Myeclipse上完成。关键词:Java;在线考试;随机抽题;自动组卷目 录摘 要I第1章 绪论11.1 问题的提出11.2 系统开发目标11.3 开发工具的选择11.4 开发本系统的意义2第2章 系统分析32.1 背景分析32.2 可行性分析32.2.1 技术可行性分析32.2.2 经济可行性3 方案可行性4第3章 系统设计53.1 需求分析53.2 总体设计63.2.1 系统数据流图63.2.2 系统的功能模块图7系统功能模块83.3 数据库设计10 数据字典103.3.2 实体关系图

3、133.3.3 数据库的连接153.4 详细设计17公共类设计173.4.2 在线考试模块设计203.4.3 成绩查询模块设计223.4.4 查看/修改考生试卷模块设计223.4.5 分数段统计模块设计25 个人信息维护模块设计253.4.7 试题维护模块设计293.4.8 考试设置信息维护模块设计293.4.9 用户管理模块设计30第4章 系统测试334.1 系统运行环境334.2 测试目的334.3 各功能模块测试33 查看/修改试卷测试34 分数段统计测试34 用户管理测试354.4系统压力测试364.5用户体验37结论38参考文献39致 谢40第1章 绪论1.1 问题的提出计算机技术的

4、发展及计算机的日益普及,很多国内外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训,从而为在线考试系统发展提供了坚实的基础。如今计算机硬件技术的发展已经达到了相当高的水平。但是,我国远程教育软件的开发目前还处于起步阶段,随着这项技术不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。   在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于在线考试与无纸化办公一样已成为大势所趋。在线考试系统也越来越成为学校的好帮手,它的优势不但体现在人力上也体现在物力上,在线考试系统的采用自动评阅

5、、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员操作,节约成本,提高效率。1.2 系统开发目标该系统是一个基于B/S模式的Web在线考试系统。它能够从题库中随机抽取试题生成考试试卷,从而有效地提升考试效率与公平性,使考试不受时间和地点的限制。使学生可以更加灵活的检测自己的不足,提高学习效率。 当考试完成后系统能自动地为客观题评分。教师登陆时系统可以还原学生考试试卷,待教师对主观题评完分后系统可以计算出学生总分,并生成各分数段情况信息,供给老师参考,便于了解学生的考试情况。同时充分利用计算机优势对数据进行有效的管理,达到减轻管理者和老师的工作量。1.3 开发工具的选择本

6、系统开发语言为JAVA,从各IDE的性能和价格考虑所使用的开发工具主要是Eclipse+MyEclipse,前台页面主要用DreamWeaver来设计。由于本系统数据量和负载量都比较大,从经济和效率上考虑本系统选用SQLServer2005数据库。 Web服务器选Apache开源组织提供的TomCat,因为TomCat是一个免费的开源软件是SUN公司推荐的Web服务器。系统自带的IE浏览器。1.4 开发本系统的意义从电子文档、多媒体的应用,到利用Internet做尝试,网络已经渗入到教育体系的各个环节。在线考试系统作为这场变革中必不可少的环节之一,受到越来越多的关注。在线考试系统不仅和传统考试

7、方式一样要权衡公平性,应该有方便、节约成本等特性。从管理的角度看,在线考试系统可以帮助教师完成从题目设计,考试安排考试实施,考卷批改到分数统计总结的所有工作,系统实现了无纸化管理,提高了管理的效率。从规范化管理上,在线考试系统很好的实现了考试和教育相分离,任课老师以不参与所任课程的考试,包括出题、监考、评卷、登分和质量分析。强调严格按教学大纲教学,根据培养目标、教学目的、教学大纲,制定考核大纲,建立一套包括试题库、自动命题、阅卷、评分、考试分析、成绩管理等各种规章制度完备的考核管理系统。不受空间限制,只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试题目有一

8、定的稳定性和随机性。 考试结果反馈的及时准确性考试的结果在教师修改考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由,考生的考试结果可以被保存下来,供教师进行长期的分析和统计,有益于教学水平的提高。第2章 系统分析2.1 背景分析网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征。随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育

9、的发展形成新的推动力。相比传统的考试方式,在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,从该题库中抽取一定数量的考题生成考试试卷,从而有效地避免了考试作弊,相互抄袭的弊端;另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给考生成绩,计算机阅卷给了考生最大的公平感。2.2 可行性分析2.2.1 技术可行性分析系统开发将要用到JSP/Servlet、JavaBean、SQLServer数据库技术。另外,硬件只需要一台pc机,装上软件Eclipse,DreamWeaver等开发工具即可

10、,利用SQLserver作为后台的数据库,利用Tomcat作为Web服务器,所以在这方面来说是可行的。已经掌握了开发考试系统方法和开发工具,并且在调查过程中,已经了解和熟悉了在线考试系统的业务流程。综上所述本系统开发从技术上是可行的。2.2.2 经济可行性从经济效益来分析,软件的开发成本不大,而其它的投入也只是电脑。电脑的普及也带来了低成本投入。由于系统运行的基础环境均已具备,无需重新开发建设,所以系统开发、运行所需的费用是比较低的。而系统的效益很高可以提高管理效率实现计算机化、系统化、规范化操作,效率大于投入,可行性很高。方案可行性根据系统的分析,本系统充分从适用性出发,全面为不同的使用用户

11、考虑。使系统的许多功能与规则都可根据用户的习惯进行定制,包括软件界面、操作方式、录入方式等。本系统的设计充分从使用用户和教务教学任务考虑。第3章 系统设计3.1 需求分析本考试系统用户主要分为三类:学生,教师,管理员。1.学生需求学生登陆系统主要进行两类操作:在线考试,成绩查询与个人信息管理.(1)在线考试系统能自动根据所选科目给考生选题,考题必须是随机分配的,以保证考试的公平性。学生在考试过程中页面将提供考试时间倒计时功能,使考生随时了解考试剩余时间。考试时间到时,系统将自动地将学生考试试卷提交,将提醒考生离开考场。当考试试卷提交时,系统自动为选择题、判断题等客观题评分,主观题由教师评分。(

12、2)成绩查询与个人信息维护学生可以登陆系统查询各科成绩,其中成绩信息包括每种题型的得分,如单选题,简答题等。别外学生还可以查询自己的考卷,了解自己的考试情况。除此之外,学生登陆系统可以查看和修改个人的基本信息,如修改密码等。2.教师需求教师登陆系统主要有三类操作:查看和修改学生试卷,查看各分数段统计,个人信息的维护(1)查看/修改学生试卷系统会将学生试卷从数据库中读出供给老师查看和修改,系统已经对选择题和判断题评了分,所以这些信息对于教师是只读的。而对于主观题,系统将参考答案读出供给老师参考,再将考生答案读出供给教师评分。(2)查看分数统计教师修改好试卷之后,系统将成绩汇总,生成各分数段统计信

13、息,并提供给老师查看,以便教师能了解学生的学习情况。(3)个人信息维护教师登陆系统之后也可以对个人信息进行查看和修改。3.管理员系统管理员登陆系统后主要进行四类操作:考题维护,考试信息的维护,用户维护和个人信息维护(1)考题的维护管理员可以往题中添加考题,修改错误试题和删除无用试题。为了方便试题的维护,管理员也可以批量导入试题。(2)考试信息的维护考试信息的维护主要是对于考试设置信息进行维护,这些信息主要是考试总时间,试题数量,各试题分值的分布等。(3)用户维护系统管理员可以对用户信息(包括学生信息,教师信息等)进行增,删,改查操作。为了方便用户(学生)的维护,管理员也可以批量导入学生信息。(

14、4)个人信息维护管理员也可以对自己的基本信息的维护3.2 总体设计3.2.1 系统数据流图根据分析系统可知数据流图如图3.1所示:图3.1 系统数据流图 系统的功能模块图根据图3.1所述需求,设计出系统功能模块如图3.2所示:图3.2 系统的功能模块图3.2.3 系统功能模块1.在线考试在线考试的流程如下:首先系统按照随机算法为登录的考生随机选取一定的试题生成考试试卷,考生在系统生成好试卷后进行答题操作。答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷。考生在试卷提交后系统自动地为客观题进行评分,本系统的客观题主要是单选题,多选

15、题和判断题。其数据流图如3.3所示:图3.3 在线考试数据流图2.成绩查询考生根据用户编号查询考试成绩信息。成绩信息包括单选题得分,多选题得分等详细信息。页面提供相应科目试卷的链接,使得学生可以查询自己的考卷,了解自己的考试情况。3.查看/修改考生试卷 系统首先将考生的试卷读出,再提醒老师对主观题评分,等老师对主观题进行评分后系统生成考生的成绩信息,其数据流图如图3.4所示:图3.4 修改学生试卷数据流图4.分数段统计 当教师对考卷的主观题评定后,系统能自动生成分数段统计信息供给老师查看。此功能有助于老师了解学生的学习情况,以便更好的教学。5.试题维护试题维护是后台管理员的重要功能,它包括对试

16、题的添加,修改,删除操作。为了使界面更友好,管理员在试题维护时系统会先将考试试题读出,再提供给管理员操作。其数据流图如图3.5所示: 图3.5 考题维护数据流图6.考试设置信息维护考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修改,删除。这些考试信息包括考试时间,考题的数量和分值等。其数据流图如图3.6所示:图3.6 考试设置信息维护数据流图7.用户管理 用户管理是管理员对系统用户信息的管理。这些用户包括学生和教师。用户管理操作包括添加用户,更新用户和删除用户。管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。其数据流图如图3.7所示:图3.7 用

17、户管理数据流图8.个人信息维护学生,教师,管理员都可以对个人信息进行维护。维护操作包括对个人基本信息进行修改,修改密码等。系统能提供极为友好的界面方便用户操作。3.3 数据库设计数据字典通过对系统功能的分析可知,本系统主要包括如下的数据库信息:用户表,该表保存了系统用户的基本信息,属性有用户编号、用户名称、用户类型、用户性别。其中用户编号为主码,它是用户信息的唯一标识。表结构如表3.1所示。考生标记表,该表用于保存考生是否已经考试的标识信息,属性有用户编号、课程名称、标识信息。其中用户编号和课课程名称共同作为主码。表结构如表3.2所示。考题表,该表用于保存考题的基本信息,属性有考题编号,课程名

18、称,考题类型,题目级参考答案等。其中考题编号为主码。表结构如表3.3所示。试卷设置表,该表用于记录相应课程的考试设置的相关信息,属性有课程名称,单选题、多选题、判断题、简答题、编程题数量和分值,考试时间等。其中课程名称为主码。表结构如表3.4所示。试卷表,该表用于保存考生的试卷信息,属性有考生编号,课程名称,考题类型,考生答案和得分等。其中考生编号和课程名称共同作为主码。表结构如表3.5所示。成绩表,该表用于保存考生的考试成绩信息,属性有考生编号,课程名称,各考题得分,总得分。其中考生编号和课程名称共同作为主码。表结构如表3.6所示。系统表结构如下:表3.1 用户表(UserInfo)字段类型

19、允许为空说明备注UidVarchar(10)否用户编号pkNameVarchar(50)是用户姓名UtypeInt是用户类型1为学生,2为教师,3为管理员passwordVarchar(10)是密码SexVarchar(2)是性别表3.2 用户标记表(userflag)字段类型允许为空说明备注UidVarchar(10)否用户编号pkCourseVarchar(20)否课程名称pkFlagInt否用户标记0试卷未提交 1试卷已提交表3.3 考题表(Question)字段类型允许为空说明备注QidInt否考题编号pk 自增长qtypeInt是考题类型1单选题 2多选题 3判断题 4简答题 5编程

20、题courseVarchar(20)是课程名称QuesText是题目keyAVarchar(50)是选项AkeyBVarchar(50)是选项BkeyCVarchar(50)是选项CkeyDVarchar(50)是选项DanswerText是参考答案表3.4 考试设置表(test_set)字段类型允许为空说明备注CourseVarchar(20)否科目pkSincInt否单选题数persinInt否每个单选题的分值mulcInt否多选题数permulInt否每个多选题的分值judgeInt否判断题数perjuInt否每个判断题的分值JdInt否简答题数perjdInt否每个简答题的分值prog

21、ramInt否编程题数perproInt否每个编程题的分值totaltimeInt否考试时间表3.5 试卷表(test)字段类型允许为空说明备注UidVarchar(10)否用户编号pkQidInt否考题编号pk 题库中的题号CourseVarchar(20)否课程名称QtypeInt否考题类型1单选题 2多选题 3判断题 4简答题 5编程题answerText是考生答案TnumberInt否题目编号试卷中的第几题scoreFloat是得分表3.6 成绩表(record)字段类型允许为空说明备注UidVarchar(10)否用户编号pkCourseVarchar(20)否课程名称pkscore

22、Float否总得分singleFloat否单选题得分multiplyFloat否多选题得分judgeFloat否判断题得分JdFloat否简答题得分programFloat否编程题得分3.3.2 实体关系图 根据分析系统实体关系图如图3.8所示:图3.8 系统E-R图系统各实体关系如下:用户:用户标记 1:N考试设置:用户标记 1:N考题:考试设置 N:1考题:试卷 1:N用户:试卷 1:N试卷:成绩 N:1用户:成绩 1:N3.3.3 数据库的连接在本系统中我们使用JDBC连接,要进行数据库连接首先配置数据源。按照和的设计,设计好数据库Myexam,再建一个名为Myexam的数据源。系统连接

23、数据库的流程图如图3.9所示:图3.9系统连接数据库流程图建立数据库连接和关闭数据库连接操作方法代码及说明如下,这些方法位于DBAccess类中,当作工具类来用static/静态代码块,在类被实例化时被调用,且只被调用一次 try lass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");/注册驱动 catch(ClassNotFoundException e) throw new ExceptionInInitializerError(e); /得到连接 public Connection getConnec

24、tion() try String url = "jdbc:sqlserver:/localhost:1433;databaseName=ExamOnline"/ SQLServer 2005配置时的用户名String user = "sa"/ SQLServer 2005配置时的密码String password = "123456"/ 连接数据库conn = DriverManager.getConnection(url, user, password); catch(Exception e) e.printStackTrace(

25、); out.print(e.toString(); return conn; /关闭数据库连接public void CloseDB(Connection conn,Statement sm,ResultSet rs) try if(rs!=null) rs.close(); catch (Exception e) e.printStackTrace(); out.print("数据库关闭失败!");finallytryif(sm!=null)sm.close();catch(Exception e)e.printStackTrace();out.print("

26、数据库关闭失败!");finallytryif(conn!=null)conn.close();catch(Exception e)e.printStackTrace();out.print("数据库关闭失败!");3.4 详细设计公共类设计1Domain类设计由于数据库使用的类系统模型,而Java数据为对象模型,使其模型不匹配。为了方便关系模型和对象模型间的转换,建应Domain类,即数据库中每个表对应一个类,表中类属性对应表的各属性,再为各个属性设计一个读方法(get)和一个写方法(set)如用户类:public class User private Stri

27、ng id=""private String name=""private int type=1;private String password=""private String sex = ""public String getSex();public void setSex(String sex) ;public String getPassword();public void setPassword(String password);public String getId();public void setI

28、d(String id);public String getName();public void setName(String name);public int getType();public void setType(int type);表和类的对应关系如下:用户表(UserInfo)用户类(User)用户标记表(userflag)用户标记类(UserFlag)考题表(Question)考题类(Question)试卷表(test)试卷类(Test)试卷设置表(test_set)试卷设置类(Test)成绩表(record)成绩类(Record)试卷考题类(TestQuestion)试卷表和考

29、题表联合查询视图2.公具类设计根据系统设计需求,设计如下工具类:数据库连接工具类,主要提供连接数据操作等相关方法数据库连接类:public class DBAccess public Connection getConnection()/并闭数据库连接public void CloseDB(Connection conn,Statement sm,ResultSet rs)用户操作相关类,主要提供对用户表操作的相关类public class UserUtil /根据用户编号得到用户信息public User getUser(String Uid) /验证登陆信息,根据用户名、密码和用户类型pu

30、blic boolean checkUser(String userName,String password,int type)/修改用户信息public boolean motifyUser(User user) /添加用户信息public boolean insertUser(User user) /修改密码public boolean motifyPassword(String Uid,String password) /得到指定页的用户public ArrayList getAllUser(int pageSize,int current) /得到用户数量public int getC

31、ount() /删除用户信息public boolean deleteUser(String Uid) 用户标记工具类,主要提供对用户标记表的相关操作方法public class UserFlagUtil /得到交卷信息public int getFlag(String Uid,String course) /设置交卷信息public boolean setFlag(String Uid,String course) 考题工具类,主要提供对考题表的相关操作方法Public class QuestionUtil/得到选择题的方法public ArrayList getQuestion(Strin

32、g course,int count,int type)/得到数据库中题目数量public int getCount(int type,String course)/得到数据库中题目数量public int getCount()/通过考题编号得到考题public Question getQuestionById(int Qid)/得到指定页的试题目信息public ArrayList getAllQuestion(int pageSize,int current) /添加试题信息public boolean insertQuestioin(Question ques) /修改试题信息publi

33、c boolean updateQuestion(Question ques) /删除试题信息public boolean deleteTest(int Qid)/获取科目public ArrayList getCourse()试卷工具类,主要提供对试卷表的相关操作方法public class TestUtil /添加试卷信息public boolean insertTest(ArrayList al)/考生的名字和学号public ArrayList getStudent(String course)/获得试卷库中相应题型的题public ArrayList getTest(String U

34、id,String course,int type)/修改试卷库中相应试题的分数public boolean updateTest(String Uid,int Qid,float score)考试设置工具类,主要提供对考试设置表的相关操作方法public class TestSetUtil /根据课程名称得到考试设置信息public TestSet getTestSet(String course) /计算考题总分public int getTotalScore(TestSet ts) /获得总记录public int getCount()/得到指定页的考试信息public ArrayLis

35、t getAllTestSet(int pageSize,int current)/添加或修改考试设置,flag=0为添加,flag=1为修改public boolean insertOrUpdate(TestSet ts,int flag)/删除考试设置信息public boolean deleteTest(String course) 成绩工具类,主要提供对成绩表的相关操作方法public class RecordUtil public DBAccess db = new DBAccess();/获取考生指定课程的得分信息public Record getRecord(String Uid

36、,String course) /判断学生成绩是否存在public boolean getUser(String Uid,String course) /获取及格人数public int getPass(String course) /获取该课程总考试人数public int getCount(String course) /获分数段人数public int getCountByScore(String course,int score) /得到学生的全部成绩public ArrayList getAll(String Uid) 试卷考题工具类,主要提供对试卷表考题表联合查询视图的相关操作方法

37、public class TestQuestionUtil /获得试卷库中相应题型的题public ArrayList getTest(String Uid,String course,int type)3.4.2 在线考试模块设计在线考试流程为:首先系统将考试信息和考生个人信息提供给考生,并要求考生核对个人信息。在考试开始时系统按照一定的算法为登陆的考生随机选取一定的试题生成考试试卷,考生在系统生成好试卷后进行答题操作。答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷进。考生在试卷提交后系统自动地为客观题进行评分,并将试卷保存

38、,供给老师查看或修改。在线考试流程图如图3.10所示。随机抽题算法:产生一个随机整数,这个数在0和相应题型总考题数之间。从这个随机数开始抽取取试题,抽取数量为试卷设置中相应题型的个数(此数小于总题数),若取到最后一道还不满足取题数量,再从第一题开始选取,其抽题流程如图3.11如示。图3.10 在线考试流程图3.11 选题流程3.4.3 成绩查询模块设计考生根据用户编号查询考试成绩信息,查询到的成绩是考生的所有课程的成绩。成绩信息包括单选题得分,多选题得分等详细信息。3.4.4 查看/修改考生试卷模块设计教师登陆后,可以对考生试卷进行查看和修改。系统首先将考生的试卷读出,教师可能看到系统对试卷主

39、观题的评定。系统会提提醒老师对主观题进评分,等老师对主观题进行评分,系统会将保存对学生试卷的评定,而后生成考生的成绩信息。查看/修改考生试卷的流程图如图3.12所示图3.12 查看/修改学生试卷流程教师提交评定的关键代码设计及说明如下: /获取学生学号 String Uid = request.getParameter("Uid"); /获取session中的课程名称String course = (String)session.getAttribute("course");TestUtil tu = new TestUtil();TestSetUtil

40、 tsu = new TestSetUtil();Record record = new Record();RecordUtil ru = new RecordUtil(); /获取试卷设置信息TestSet ts = tsu.getTestSet(course); float singleTotal = 0;/单选题总分float multiplyTotal = 0;/多选题总分float judgeTotal = 0;/判断题总分float jdTotal = 0;/简答题总分float programTotal=0;/编程题总分float total=0;for(int i=0;i<

41、;ts.getSinChCount();i+)/获取单选题分数float score = Float.parseFloat(request.getParameter("choice"+i);singleTotal+=score;for(int i=0;i<ts.getMulChCount();i+)/获取多选题分数float score = Float.parseFloat(request.getParameter("mulChoice"+i);multiplyTotal+=score;for(int i=0;i<ts.getJudgeCou

42、nt();i+)/获取判断题分数float score = Float.parseFloat(request.getParameter("judge"+i);judgeTotal+=score;for(int i=0;i<ts.getJdCount();i+)/获取简答题分数float score = Float.parseFloat(request.getParameter("jd"+i);jdTotal+=score;int Qid = Integer.parseInt(request.getParameter("jdId"

43、+i);tu.updateTest(Uid, Qid, score);/修改试卷库中相应简答题的分数for(int i=0;i<ts.getProgramCount();i+)/获取编程题分数float score = Float.parseFloat(request.getParameter("pro"+i);programTotal+=score;int Qid = Integer.parseInt(request.getParameter("proId"+i);tu.updateTest(Uid, Qid, score);total = si

44、ngleTotal+multiplyTotal+judgeTotal+jdTotal+programTotal;record.setUid(Uid);record.setCourse(course);record.setScore(total);record.setSingle(singleTotal);record.setMultiply(multiplyTotal);record.setJudge(judgeTotal);record.setJd(jdTotal);record.setProgram(programTotal);/System.out.print(record.getUid

45、()+record.getCourse();if(ru.updateRecord(record)response.sendRedirect(request.getContextPath()+"/teacher/success.html");elseresponse.sendRedirect(request.getContextPath()+"/teacher/fail.html");3.4.5 分数段统计模块设计当教师对考卷的主观题评定后,系统能自动生成分数段统计信息供给老师查看。统计分数段包括及格率、60-69分、70-79、80-89和90分以上,在

46、统计数量的同时并计算出占数考人数量的比例。其统计功能的关键代码及说明如下: /获取要统计的分数段 String scoreString = request.getParameter("score").trim(); /获取要统计的课程名称String course = (String)session.getAttribute("course"); RecordUtil ru = new RecordUtil(); /得到考生总数 int count = ru.getCount(course); int pass = 0;/要统计的分数段人数 if(&qu

47、ot;pass".equals(scoreString)/如果统计的是及格率 pass = ru.getPass(course); else int score = Integer.parseInt(scoreString); pass = ru.getCountByScore(course,score); /计算比例,由于要用count作为除数,所以必须排出count为0的情况 String percent = count=0?"0.0%":(float)pass)/(float)count)*100+"%"个人信息维护模块设计系统用户包括学

48、生,教师,管理员都可以对个人信息进行维护。维护操作包括对个人基本信息进行修改,修改密码等。系统能提供极为友好的界面方便用户操作。对其本信息进行时,用户不能修改自己的编号。对密码进行修改时按昭一般系统的要求先确认旧密码,再输入新密码和确认新密码。个人基本信息信息维护的关键代码如下所示:UserUtil userUtil = new UserUtil();/得到sessionHttpSession session = request.getSession(true);/获取session中的用户编号String Uid = (String)session.getAttribute("Ui

49、d");/得到用户名,用gbk对其进行编码String name = new String(request.getParameter("name").trim().getBytes("iso8859-1"),"gbk");/得到用户类型String typeString=new String(request.getParameter("type").getBytes("iso8859-1"),"gbk");int type=1;if("教师".e

50、quals(typeString)type=2;else if("管理员".equals(typeString)type=3;String sex = new String(request.getParameter("sex").getBytes("iso8859-1"),"gbk").trim();User user = new User();user.setId(Uid);user.setName(name.trim();user.setType(type);user.setSex(sex);if(userUt

51、il.motifyUser(user) response.sendRedirect(request.getContextPath()+"/success.html" else response.sendRedirect(request.getContextPath()+"/Fail.html");教师在管理员生成用户后登录教师系统,该业务的页面脚本验证如下:(1)教师登陆界面,如图3.14 图3.15流程图如图3.13所示:图3.13 考生登录流程图图3.14 密码、用户名、科目为空登录图3.15 科目为空登录(2)用户默认密码为123456,教师可在个

52、人信息维护模块中对已考该科目的学生人数、分数段统计,修改自己的个人信息,如修改个人密码,如图3.16所示图3.16 密码修改3.4.7 试题维护模块设计试题维护是后台管理员的重要功能,它包括对试题的添加,修改,删除操作。在进行此操作时系统会先将考试试题读出,再提供给管理中员操作。试题维护流程图如图3.17所示。图3.17 考题维护流程3.4.8 考试设置信息维护模块设计考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修改,删除。这些考试信息包括考试时间,各题的数量和分值等。设置时,系统先读取已存在的考试设置信息供给管理员查询,再提供给管理员操作。考试设置信息流程图如图3

53、.18所示。图3.18 考试设置信息维护流程3.4.9 用户管理模块设计用户管理是管理员对系统用户信息的管理。这些用户包括学生和教师。用户管理操作包括添加用户,更新用户和删除用户。添加用户时,删除管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。用户密码不用设置,系统默认为“123456”;修改用户时用户编号和用户密码不能被修改其它均能被修改;用户时,系统会先提醒管理员是否删除,若果确认删除才能删除用户。用户管理流程图如图3.19所示:图3.19 用户管理流程添加/更新用户的关键代码及说明如下:/获取用户名,这里也用gbk对其进行编码String name=new Stri

54、ng(request.getParameter("name").getBytes("iso8859-1"),"gbk").trim();/获取用户类型,1为学生,2为教师,3为管理员 int type=Integer.parseInt(request.getParameter("type");/获取性别,用gbk对其进行编著码 String sex=new String sex=new String(request.getParameter("sex").getBytes("iso8859-1"),"gb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论