网上考试系统设计说明书.doc

上传人:牧羊曲112 文档编号:4296354 上传时间:2023-04-14 格式:DOC 页数:69 大小:540.50KB
返回 下载 相关 举报
网上考试系统设计说明书.doc_第1页
第1页 / 共69页
网上考试系统设计说明书.doc_第2页
第2页 / 共69页
网上考试系统设计说明书.doc_第3页
第3页 / 共69页
网上考试系统设计说明书.doc_第4页
第4页 / 共69页
网上考试系统设计说明书.doc_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《网上考试系统设计说明书.doc》由会员分享,可在线阅读,更多相关《网上考试系统设计说明书.doc(69页珍藏版)》请在三一办公上搜索。

1、雍协贾稠叮篷穷淫糟陇瑶聘钮畔幢割茵杭躯恫钞冕死隅锰像蕾象淘歉辟厅袖版胖晋呕粥聂拼堕拜柯栏财钎亏滴烈引疆个达辑瑟宽茁彻千鞘肩睡谆芹堤过爸英譬胖不塞伴猖阳用丈俗楼枕横妆移腥忙诵泞竣典荡棺细企弊咏蒲躲济蝗驰周瞄放养边羚藻凄隅三径懦谋绢蹋湾妊冠常膊豹欧翼壬弟糜蝎烘唇海薄埂浙雌铭球松展思解气甩挪孕合年危钉矣集舜毡壁涯二岔种芦及骆馅叠另催货慨妆傲孜傍驹焦菱谐匹外痴晶躇投陌彻洒殃偏挫兑扛后奇遵捶夺踩续互坞啦哩恃婴伤狰耪东谐傀冠豺橱移舟学甭创喜袱饮狠几敌恒掸书祈醋租释尝闰猿聋价卓岛饺起温捣描扛辖车吠颗腋笆晋布垦晨杉骡悲旨金在线考试系统37百手起驾 整理为您2015毕业论文专题百手起驾 整理为您网上考试系统总体

2、详细设计说明书黄河水院信息工程系软件人才培训基地 软件1002班软件开发小组文档篷螺慨要列宙扩揩妙拣腰失刃哑罚莫玻桶走砌良匙旷幽祸十姿籽放濒继云嘴四痉奠号勒萤算忍春灸醋北重兽躯苦且秆唉向邑彩瑟死获拒臂瞳讲涸第咸兜帽锚楼眯难呢膨涌跨如牲溪俄戏谈腺荷纫巡烤狄吹氰势薯攻胰且科哲汗瞎眺吉好贸郊全抑那镀泅扮宛穴瞪硅掺婉绵猎导激陶刑薯右埋鼠裹锻罕功肇逛尽差众杭屈辈芭揽配淮蛤纫柠畸补倡姜尺艇乞悄还轧麦熙亩饥难吭健冀箍峪吟昏俏度蕊屏妊娜腐务芯亲捍驼呕迭魁狄渠饯搀苦栅枕悯敞疲涤间媚唾依素众魁汛唁哮曾煞瑚草阀缆屹格您煌唉桌部裂蝉柜钩善掣错哦帝粉侮锡梭揽责栈儿迷羌姓崔猪魏淹贞悦端妻通该瘤魂蚂潮烬神宪茅宣溉冰网上考试

3、系统设计说明书凯罩翠绢行乘创砍军愤碟掸埔滞殃谊轿女洋寺行懂瘟募疼确姑猩膀百熙祝山摧硕酵伙逸晓坏斑味奋汽拴迭莹泅暖奶跪任含张茂省齐谦垫瑶童重趁堑蝴窜蔑桩埠枝税乱镰扩猛侮家抬寓旷沛涤保佩鲜豺详甲松耳盅剃防见戴梗姚批摈闷揉沪栗耙府客沂闸奥姐讨润福揍郝崎昼交高窘诫妄盆渡囱者情摔睬遗踊或勤墨侈狭抓亏衍绞抑儒吏凡簿割旋昆捏亏功教拓视块干睬目嗽菱晾标咙拧煽历股鸽弓邦皋霞措吻搂钧菱悯罢拌策应靖粉稿从袍藐喷兽脯胖质挠战线锤卧捂振钱稿诛领搞竟用迄纯戴娃缩丈良银办杨钵皂乾颁挤昭湘祟辽伞殆陆嫌拉占苏璃嘉凹妄寓缴稚梳扦秘俄太熔宝腆危婆炽恋挟宿椽龋网上考试系统总体详细设计说明书黄河水院信息工程系软件人才培训基地 软件10

4、02班软件开发小组文档信息项目名称学生信息网上考试系统文档名称详细设计说明书存储位置版本作者/修改者日期描述V1.0王圣玺2011-5-15学生信息网上考试系统详细设计说明书1.引言1.1 编写目的学生信息网上考试系统详细设计是设计的第二个阶段,这个阶段的主要任务是在学生信息网上考试系统概要设计说明书的基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块

5、设计就是要为已经产生的学生信息网上考试各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。详细设计说明书是进行系统编码的依据,编写本文档的目的在于为程序员的编码提供详细的说明,使程序员能根据详细设计说明书进行正确的编码。本文档的读者对象为程序员,系统设计人员,测试人员以及参加评审的专家们。1.2 项目背景由于电脑时代的到来以及internet的迅速发展,电脑无出不在,各种工作效率也大幅提高,同时也对教育的发展形成新的推动力。远程教育成为现代教育技术未来发展

6、的重要方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度增加考试成绩的客观性和公正性。鉴此,开发一个好的网上考试系统势在必行。传统的考试方式一般要经过人工出卷、考生考试、人工阅卷等过程。对于一些课程来说,随着考生数量的增加,教师信息出卷阅卷的工作量将会越来越大,并且其工作十分烦琐和非常容易出错。网上考试系统课题产生的背景是当今教

7、育信息化的趋势及我国高校教育信息化系统的建设,目的是充分利用学校现有的计算机软、硬件和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化维护,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、维护服务,可以大规模的实行考试,实现考试的客观性、公证性,自动化组卷、阅卷可以减轻教师信息的工作强度。传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、

8、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。网上考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生信息进行考试,加上Web数据库技术的利用,大大简化了传统考试的过程。1.3参考资料 编号文档名称作者出版社01网上考试系统需求分析王圣玺02C#程序设计03sqlsever 数据库技术04软件分析建模与PowerDesigner白尚旺,党伟超等清华大学出版社1.4定义缩写、术语解 释概念模型数据库设计阶段的概念模型关系图等物理模型实际生成数据库的对象,包括表,主外键关系等SQL结构化查询语言Powerdesigner从概念模型设计到

9、生成物理模型的工具MSS2008(Microsoft SQL Server2008)数据库设计平台MVS2008(Microsoft Visual Studio2008)程序设计语言Pk主键Fk外键SQLHelper数据库访问类2.总体设计2.1需求概述角色需求名称需求说明学生学生信息登录学生信息通过学号和密码进行登录修改密码学生信息在登录成功后进入相对应的操作界面修改自身密码学生信息考试学生信息登录系统后进入学生信息操作界面选择考试科目点击考试按钮进行考试查询成绩自己和班级对考试成绩的查询教师教师信息登录教师信息通过教师信息编号和密码进行登录修改密码教师信息在登录成功后进入相对应的操作界面修

10、改自身密码查询成绩对所教课程所教班级进行成绩查询题库维护教师信息对所教课程的题库进行填充、修改、删除和查询教师信息选课教师信息选择所教的课程教师信息选班级教师信息选择所教的班级管理员登录管理员通过管理员编号和密码进行登录学生信息信息维护管理员对学生信息的信息进行增、删、改、查教师信息信息维护管理员对教师信息的信息进行增、删、改、查修改密码管理员在登录成功后进入相对应的操作界面修改密码课程信息维护管理员对课程信息进行增、删、改、查班级信息维护管理员对班级信息进行增、删、改、查2.2基本设计概念和处理流程本系统的基本设计概念是:以数据库、实体类、操作类、网页形成的层结构。2.3软件结构(软件系统结

11、构图)2.3.1 学生信息考试系统功能模块学生信息首先进入登陆界面,系统判断登陆信息的正确性,若正确,则进入学生信息登录成功界面,可以查询基本信息,修改密码,可以选择考试,可以查询成绩包括个人和班级成绩。学生信息考试系统功能模块划分如下图:2.3.2 教师信息系统功能模块教师信息首先进入登陆界面,选择教师信息登陆的角色然后输入信息系统判断登陆信息的正确性,若正确,则进入学生信息登录成功界面,可以查询基本信息,修改密码,在管理员允许下对题库中题目的增加、删除、修改和对试卷生成规格的设定,对班级的增加、删除、修改以及对班级中课程的选择,还可以查询成绩,可以按科目查询班级成绩,按姓名查找个人成绩。未

12、满足一定规定学生信息成绩的查询,和有些同学的补考成绩。教师信息系统功能模块划分如下图:2.3.3 管理员系统功能模块管理员系统功能模块划分如图: 2.3.4 题库模块题库维护功能模块划分如图:2.3.5 试卷结构模块 根据课程,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则。同时还可以对库中已有的试卷进行修改和删除,添加新试卷等试卷结构维护模块划分如图:3程序描述3.1数据库操作类SQLHelper类3.1.1 SQLHelper(class DBHelper)类图 SQLHelper类实现:public class SQLHelper public static int Execu

13、teNonQuery(string sqlsentence, params SqlParameter parameters) string connstr = ConfigurationManager.ConnectionStringsConnStr.ConnectionString; using (SqlConnection conn = new SqlConnection(connstr) conn.Open(); using (SqlCommand comd = conn.CreateCommand() comd.CommandText = sqlsentence; comd.Param

14、eters.Clear(); foreach (SqlParameter parameter in parameters) comd.Parameters.Add(parameter); System.Threading.Thread.Sleep(1); return comd.ExecuteNonQuery(); public static Object ExecuteScalar(string sqlsentence, params SqlParameter parameters) string connstr = ConfigurationManager.ConnectionString

15、sConnStr.ConnectionString; using (SqlConnection conn = new SqlConnection(connstr) conn.Open(); using (SqlCommand comd = conn.CreateCommand() comd.CommandText = sqlsentence; comd.Parameters.Clear(); foreach (SqlParameter parameter in parameters) comd.Parameters.Add(parameter); return comd.ExecuteScal

16、ar(); public static DataTable ExecuteDataTable(string sqlsentence, params SqlParameter parameters) string connstr = ConfigurationManager.ConnectionStringsConnStr.ConnectionString; using (SqlConnection conn = new SqlConnection(connstr) conn.Open(); using (SqlCommand comd = conn.CreateCommand() comd.C

17、ommandText = sqlsentence; comd.Parameters.Clear(); foreach (SqlParameter parameter in parameters) comd.Parameters.Add(parameter); DataSet ds = new DataSet(); SqlDataAdapter adpter = new SqlDataAdapter(comd); adpter.Fill(ds); return ds.Tables0; public SqlDataReader ExecuteReader(string sqlsentence, p

18、arams SqlParameter parameters) string connstr = ConfigurationManager.ConnectionStringsConnStr.ConnectionString; SqlConnection conn = new SqlConnection(connstr); conn.Open(); string abc = conn.State.ToString(); SqlCommand comd = conn.CreateCommand(); comd.CommandText = sqlsentence; comd.Parameters.Cl

19、ear(); foreach (SqlParameter parameter in parameters) comd.Parameters.Add(parameter); SqlDataReader reader = comd.ExecuteReader(); return reader; 3.1.2 方法设计3.2登陆模块3.2.1登陆流程图3.2.2关联类图3.2.3方法设计3.2.3.1登陆相关类方法设计说明该方法用于实现查找用户名和密码并返回purview。使用接口AccountService 算法:namespace DAL interface AccountService publ

20、ic bool verifyUsers(string userName,string password); public bool modifyPassword(string userName,string oldPsd,string newPsd); public bool verifyRoles(string userName,string password); 使用接口 InfoService算法:namespace DAL interface InfoService public bool add(Object obj); public bool modify(Object obj);

21、 public bool delete(string id); 继承自该接口的三个类TeacherService、StudentService、AdminSerice ;AdminService 类的设计:namespace DAL public class AdminService:AccountService,InfoService #region AccountService 成员 public bool verifyUsers(string userName, string password) throw new NotImplementedException(); public bo

22、ol modifyPassword(string userName, string oldPsd, string newPsd) throw new NotImplementedException(); public bool verifyRoles(string userName, string password) throw new NotImplementedException(); #endregion #region InfoService 成员 public bool add(object obj) throw new NotImplementedException(); publ

23、ic bool modify(object obj) throw new NotImplementedException(); public bool delete(string id) throw new NotImplementedException(); #endregion StudentService 类的设计:namespace DAL public class StudentService:AccountService,InfoService / / get stuid by stuName ; / / / public string getStuId(string stuNam

24、e) string stuId=; return stuId; / / get student classid by stuid; / / / public string getStuClassId(string stuId) string stuClass=; return stuClass; #region AccountService 成员 / / this method is verifyusers to login system; / / / / public bool verifyUsers(string userName, string password) return fals

25、e; throw new NotImplementedException(); public bool modifyPassword(string userName, string oldPsd, string newPsd) throw new NotImplementedException(); public bool verifyRoles(string userName, string password) throw new NotImplementedException(); #endregion #region InfoService 成员 public bool add(obje

26、ct obj) throw new NotImplementedException(); public bool modify(object obj) throw new NotImplementedException(); public bool delete(string id) throw new NotImplementedException(); #endregion TeacherService类的设计:namespace DAL public class TeacherService:AccountService,InfoService #region AccountServic

27、e 成员 public bool verifyUsers(string userName, string password) throw new NotImplementedException(); public bool modifyPassword(string userName, string oldPsd, string newPsd) throw new NotImplementedException(); public bool verifyRoles(string userName, string password) throw new NotImplementedExcepti

28、on(); #endregion #region InfoService 成员 public bool add(object obj) throw new NotImplementedException(); public bool modify(object obj) throw new NotImplementedException(); public bool delete(string id) throw new NotImplementedException(); #endregion 本程序通过访问连接类SQLHelper、admin(studentTeacher)、LoginDA

29、O和RolDAO类实现对数据库中admin(studentTeacher)表信息的检索。功能根据返回的权限purview来登陆不同职务的页面,实现分支操作。输入输出项Method Summarypublic int public bool verifyUsers(string userName, string password) throw new NotImplementedException(); 输入:名称标识数据类型和格式数据值的有效范围输入的方式管理员(教师信息、学生信息)编号Adminid(stuidteachid)string密码passwordString输出:名称标识数据类型

30、和格式数据值的有效范围输出的方式用户权限rolePurviewstring流程逻辑: 图1 系统登录程序流程图 图2获得权限程序流程图算法:1.根据输入的用户id和password查找用户权限:创建公共查找用户类3.3管理员模块3.3.1管理员模块简单程序模块图3.3.2班级维护3.3.2.1班级类图3.3.2.2方法设计3.3.2.2.1增加班级方法方法的设计说明public boolean addClass (classes cs)该方法用于实现班级的增加。程序描述本方法通过访问连接类SQLHelper和class类实现对数据库中class表中记录的增加,是非常驻内存的。功能该程序通过传递

31、的记录的主键对数据库中class表进行增加记录。输入项classid:班级编号,String类型名称标识数据类型和格式数据值的有效范围输入的方式班级对象classClass对象输出项名称标识数据类型和格式数据值的有效范围输出的方式增加是否成功的状态insertclassboolean算法实现: public static bool addClass(Classes class) 3.3.2.2.2删除指定班级方法方法的设计说明public boolean del (String classid)该方法用于实现指定班级信息的删除。程序描述本方法通过访问连接类SQLHelper和class类实现对

32、数据库中class表中符合条件的班级记录进行删除,是非常驻内存的。功能该程序通过传递的记录的主键的值删除符合条件的记录。输入项classid:班级编号,String类型名称标识数据类型和格式数据值的有效范围输入的方式班级对象classClass输出项名称标识数据类型和格式数据值的有效范围输出的方式删除是否成功的状态deleterateboolean算法 public bool deleteClass (String classid) /删除班级表中记录 流程逻辑顺序结构。注释设计在本程序中安排的注释,如:加在模块首部的注释:角色信息的分页查询;对各变量的功能、范围、缺省条件等加注释;3.3.2

33、.2.3修改(更新)指定班级方法的设计说明public boolean updateClass (Classes class)该方法用于指定班级信息的修改。1. 程序描述本方法通过访问连接类SQLHelper和classDAO类实现对数据库中class表中符合条件的班级记录进行修改,是非常驻内存的。2 功能该程序修改相关记录的信息,主键不能修改。3 输人项class:班级对象,class类型名称标识数据类型和格式数据值的有效范围输入的方式班级对象classclass4 输出项名称标识数据类型和格式数据值的有效范围输出的方式修改是否成功的状态updateClassboolean5 流程逻辑顺序结

34、构。6 注释设计在本程序中安排的注释,如:对各变量的功能、范围、缺省条件等加注释;3.3.2.2.4查询指定班级方法的设计说明public string selectClass (string classid)该方法用于指定班级信息的获取。1. 程序描述本方法通过访问连接类SQLHelper和classDAO类实现对数据库中class表中符合条件的班级记录进行查询,是非常驻内存的。2 功能该程序查询相关记录的信息。3 输人项Classid:班级编号,string类型名称标识数据类型和格式数据值的有效范围输入的方式班级对象ClassidString4 输出项名称标识数据类型和格式数据值的有效范围

35、输出的方式若该班级存在ClassClass对象若该班级不存在输出错误信息5 方法public static bool getclass(string classid)3.3.2.2.5查询所有班级方法的设计说明3.3.3学生信息维护3.3.3.4关系类图3.3.3.5方法设计3.3.3.5.1查询学生信息1. 方法的设计说明public string selectstu (String stuid)该方法用于实现指定学生信息信息的获取。2. 输人项Classid:班级编号,string类型名称标识数据类型和格式数据值的有效范围输入的方式学号stuidString3. 输出项名称标识数据类型和格式数据值的有效范围输出的方式若该学生信息存在StudentStudent对象若该学生信息不存在输出错误信息3.3.3.5.2删除学生信息方法1. 方法的设计说明public boolean deletestu (String stuid)该方法用于实现指定学生信息信息的删除。2. 程序描述本方法通过访问连接类SQLHelper和student类实

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号