《ASP.NET C# 2008 项目开发案例教程 教学课件 ppt 作者 郎登何 第13章》由会员分享,可在线阅读,更多相关《ASP.NET C# 2008 项目开发案例教程 教学课件 ppt 作者 郎登何 第13章(52页珍藏版)》请在金锄头文库上搜索。
1、第13章 在线培训考试系统项目实例,教学目标,通过一个项目的开发使学生掌握项目开发的知识与技能,巩固各章学习的内容。,13.1 系统开发规划,13.1.2 划分系统功能模块,13.1.2 划分系统功能模块 通过对系统需求的分析,本系统的模块功能结构图,如图13-1所示。,13.1.3 确定开发平台及相关技术,13.1.4 系统数据库设计,13.1.4 系统数据库设计,13.1.4 系统数据库设计,13.1.4 系统数据库设计,用户登录模块,用户登录模块,分析用户登录模块界面设计: Login.aspx文件,打开HTML源代码视图,节选部分HTML源代码如下。,用户登录模块,代码剖析: 1)第8
2、行代码显示一个Flash动画。 2)第31行代码创建了一个Web窗体控件imagebutton, ID为Enter,用户单击按钮进入其他模块。,用户登录模块,用户登录模块,用户登录模块,代码部析: 1)第6行代码获得用户名,HttpRequest类的Form属性用于获取窗体变量集合。 2)第7行代码获得用户密码。 3)第8行代码调用自定义的ReadUserInfo方法来审核用户名和密码是否正确, 关于该方法更多的说明参见下面的内容。 4)第19行代码中,FormAuthentication类是.NET Framework提供的一个用于 身份验证的工具类,该类的RrdirectFromLogin
3、Page方法已验证身份的用户 重定向回最初请求的URL,该方法的userName参数为用于Cookie身份的用 户名称,createPersistentCookie参数指定是否应当发出持久Cookie(跨浏览 器会话保存的Cookie)。 5)第22行到第48行代码编写ReadUserInfo方法,该方法的实现需求代码较简 单,但读者要注意方法的返回值含义。,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13
4、.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,代码剖析: 1)第1行到第98行代码编写GetQuestion方法,该方法用于从习题库中随机抽取一道试题,它有两个参数,subjectID参数指定科目编号,difficulty参数指定训练难度级别。 2)第22行到43行代码制定了系统训练自适应难度的策略。 3)第48行到第50行代码获得题库中指定科目和难度的习题。 4)第58行代码获得随机生成的习题编号。 5)第65到67行代码根据习题编号获得相应习题的选项。 6)第68到91行代码创建Question对象,并用随机抽
5、取习题的内容填充该对象各相应属性。 7)第93行代码建立Session变量ExerciseQuestion。 8)第99到210行代码编写DispQuestion方法,该方法用于在界面上显示习题。 9)第119行代码判断当前习题是单选还是多选,如果question类的AnswerCount属性大于1,该题是多选,否则是单选。单选题选项需要通过RadioButton控件显示,而多选题选项则需要通过CheckBos控件显示。,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训练模块,13.2.2集中训
6、练模块,代码剖析: 1)第8行代码调用Question类的GetYourResult方法,该方法用于判断用户选择是否正确,true表示正确,false表示错误。 2)第35行代码调用ShowAccuracy方法显示答题正确率。 3)第37行代码调用EnableOptions方法禁用有关控件。,13.2.2集中训练模块,13.2.3 重点复习模块,13.2.3 重点复习模块,13.2.3 重点复习模块,13.2.3 重点复习模块,13.2.4 模拟考试模块,该模块用于模拟考试场景,系统自动生成一套试卷,用户正常答题,如果对哪道试题有疑问,可选中“复查”选择框,答完题后选择【交卷】按钮,系统将自动
7、显示成绩并对每道题进行讲评。该项模块有两个界面,一个是考试界面,另一个是试卷讲评界面。,13.2.4 模拟考试模块,13.2.4 模拟考试模块,13.2.4 模拟考试模块,13.2.4 模拟考试模块,13.2.4 模拟考试模块,26 27 catch(Exception ex) 28 29 Response.Write(ex.Message); 30 31 代码剖析: 1)第7行代码调用GetQuestion方法随机生成一套试题。 2)第9行代码调用DisQuestion方法显示第一道试题。,13.2.4 模拟考试模块,13.2.4 模拟考试模块,13.3 系统打包及部署,13.3 系统打包及部署,13.4思考练习题,以3-5人一组设计一个“成绩管理系统”,系统需求如下: 某职业学院,现有10个教学系,学生2万人规模。本系统有学生、教师、管理人员(教务处)三类用户,要能完成如下功能: 学生:成绩查询; 教师:成绩输入、成绩按班级查询、成绩打印; 教务处:成绩修改、成绩查询、成绩打印; 用户管理:增加用户、查询用户、用户分级(0 教务处,1教师用户,2 学生用户); 用户登录管理:学生、教师、管理人员用自己的帐号登录系统。,