在线考试系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章项目分析
传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。
这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。
在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。
基于网络的考试系统是传统考场的延伸,加上数据库技术的利用,大大简化了传统考试的过程。
1.1 问题描述
1、在线考试系统解决教师随机组卷和按章节组卷的问题。
2、在线考试系统解决学生随机选择试卷、显示试卷、答卷、保存答案的问题。
3、在线考试系统解决教师在计算机上手动判分的问题。
4、在线考试系统能够对学生、教师、试题库等的管理。
1.2技术分析
在线考试系统主要使用的开发工具有:Visual Studio 2005 、SQL Server 2005。
Visual Studio 2005为系统提供开发环境,SQL Server 2005提供连接的数据库,在线考试系统是基于工厂模式的三层架构。
V isual Studio 2005是微软公司推出的最新程序开发工具,是Visual 重要组成部分,在Visual Studio.NE T平台上使用C#语言可以开发各种各样的程序。
SQL Server 2005是结构化查询语言的缩写,是一种介于关系代数与关系演算之间的语言,是一种用来与关系数据库管理系统通信的标准计算机语言。
其功能包括数据查询、数据操纵、数据定义和数据控制四方面,是一个通用的、功能极强的关系数据库语言,目前已成为关系数据库的标准语言。
基于工厂模式的三层架构可以很容易的用新的实现来代替原有层次的实现,降低层与层之间的依赖,有利于标准化,利于各层之间的复用。
第2章系统分析与设计
2.1系统分析
在线考试系统在以后应用过程中越来越普遍的系统,本系统是基于C/S的系统。
在在线考试中学生可以选择试卷、进行考试、查询成绩;教师可以组卷、批改卷子、添加试题;管理员可以对用户进行管理。
系统的界面设计也分为学生、教师、管理员三大块。
2.1.1 参与者
学生教师管理员
2.1.2 用例及用例规约
用例模型通常由一组用例组成,其基本组成部件是用例、参与者和系统。
1、登录的用例规约如表2.1所示:
2、学生考试端的用例规约如表2.2所示:
表2.2 学生考试端用例规约
用例名称:学生考试
用例ID:02
关联角色:管理员教师
用例说明:系统验证用户身份为学生后才能进入
前置条件:身份为学生
基本事件流: 1.学生请求考试
2.系统随机选择试卷
3.显示随机试卷的基本信息
4.学生进入考试
5.学生保存答案
6.学生提交试卷
7.学生答卷过程中中途断电而未提交试卷,可重新登录进入考试试卷并下
载已答过的答案,并提交试卷。
8.用例结束
其它事件流:1.学生信息查询
2.学生成绩查询
3.修改密码
4.用例结束
异常事件流:1.选择试卷失败
2.学生考试时出现系统故障(例如网络故障或数据库服务器故障)弹出异
常界面,考试失败
后置条件:选择试卷后,进入考试界面
2.1.3 用例图
用例图描述软件系统和外部参与者之间的交互。
在线考试系统的学生端、教师端和管理员端的用例图如下所示:
1、学生端用例图如2.1所示:
图2.1 学生端用例图
2、教师端用例图如2.2所示:
图2.2 教师端用例图
3、管理员端用例图如2.3所示:
图2.3 管理员端用例图
2.2 系统设计
在软件开发时期,设计阶段是富有活力和最需要发挥创造力的阶段。
设计的目标,是细化解决方案的可视化设计模式,确保设计模型终能平滑的过度到程序代码。
设计的任务就是把分析阶段产生分析模型转换为用适当手段表示的软件设计模型。
2.2.1 时序图
时序图用来描述对象之间的动态交互,着重体现对象间消息传递的时间顺序。
它以垂直轴表示时间,水平轴表示不同的对象。
对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。
垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。
对象间的通信在对象的生命线间通过消息符号来表示,消息的箭头指明消息的类型。
时序图中的
消息可以是信号或操作调用。
消息可以用消息名及参数来标识。
消息还可带有条件表达式,表示分支或决定是否发送消息。
如果用于表示分支,则每个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。
在时序图的左边可以有说明信息,用于说明消息发送的时刻,描述动作的执行情况以及约束信息等。
1、学生个人信息查询
学生请求查看自己的个人信息,系统根据学生登录时的信息,在学生信息表中找到符合条件的信息反馈给学生。
查看学生个人信息时序图如2.4所示:
图2.4 学生个人信息时序图
2、学生成绩查询
学生请求查看考试成绩,系统根据学生的基本信息,在学生成绩表中找到符合条件的信息反馈给学生。
查看学生成绩时序图如2.5所示:
图2.5 学生成绩查询时序图
3、学生修改密码
学生请求修改自己的密码,系统根据学生修改的信息,在学生信息表中插入修改的信息并提示学生修改结果。
查看学生修改密码的时序图如2.6所示:
图2.6 学生修改密码时序图
4、学生考试
学生想考试系统请求考试,考试系统为学生查找该学生可以进行的考试科目和相对应的试卷,并把试卷信息反馈给学生。
学生进入考试状态开始答题,并保存试卷。
考试结束时,学生应提交试卷。
学生考试时序图如2.7所示:
图2.7 学生考试时序图
2.2.2类图
通过时序图基本的类已经出现,时序图中的消息其实对应的是类的方法,从用例规约中可以抽取类的属性,通过不断地迭代可以得到设计类图。
设计类在此处只将重要的相关类详细描述。
1、学生类
学生类包含的属性主要是学生编号,学生姓名,密码,出生年月,年龄,性别,地址,所在系部,所在班级。
学生类的方法主要是一些增、删、改、查等基本操作。
设计类图如图2.7所示:
图2.8学生类
2、学生试卷类
学生试卷类包括的属性有学生编号,试卷编号,开始时间,结束时间,剩余时间。
学生试卷类主要的方法有随机选择试卷。
设计学生试卷类如2.8所示:
图2.9学生试卷类
3、学生答卷类
学生答卷类主要的属性有试卷编号,学生编号,题目编号,学生答案,学生得分。
设计学生答卷类如图2.9所示:
图2.10学生答卷类
4、学生成绩类
学生成绩类主要属性包括试卷编号,学生编号,学生成绩。
学生成绩类主要的方法查
看学生成绩。
设计学生成绩类如图2.10所示
图2.11学生成绩类
5、学生端各个类之间的联系
学生根据自己要考试的科目随机选择试卷进行考试,学生保存并提交考试试卷。
老师评卷后,学生可以查看自己的考试成绩。
如图2.11所示:
图2.12各类联系
2.2.3活动图
图2.13 考生考试活动图
图2.14学生选择试卷活动图
2.2.4部署图
图2.15部署图
2.2.5构件图
图2.16部署图
2.2.6系统体系结构设计
结构化体系结构是完成模块设计的基础。
保证了程序的清晰、易读;逐步细化实现程序的正确、可靠。
在线考试系统的主要体系结构如图所示:
图2.17 结构图
2.3 数据库设计
数据库(Database)是按照数据结构织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术场的发展,特别是二十世纪九十年代以后,数据管理再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。
由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
2.3.1 E-R图
E-R图是用来描述现实世界的概念模型,构成E-R图的基本要素是实体型、属性和联
系,其表示方法为:
实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四体。
如果是弱实体的话,在矩形外面再套实线矩形。
属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。
在E-R 图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。
如果是多值属性的话,再椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
比如老师给学生授课存在授课关系,学生选课存在选课关系。
如果是弱实体的联系则在菱形外面再套菱形。
该系统的模型主要描述了学生,教师,管理员及实体的那些属性,还有他们之间的关系。
如图2.18所示:
图2.18 在线考试系统E-R图
2.3.2关系模式
整个系统各实体可用以下关系来表示(其中主键已用下划线标识):
管理员(管理员编号、管理员名字、管理员密码)
教师(教师号、教师名、密码、教师职称、职务、电话、通讯地址、E-mail、简介)
学生(学号、姓名、密码、出生日期、性别、年龄、家庭地址、主修专业、班级编号)系部(系部编号、系部名称)
班级(班级编号,班级名,系部号)
课程(课程编号,教师编号,科目名称)
试卷(试卷号,课程编号,开始时间,结束时间)
试卷班级(试卷号,所属班级)
成绩(试卷号,学生学号,成绩)
分值(试卷号,题型,数量,分值)
组卷(试卷号,试题序号,题型,试题号)
答卷(编号,试卷号,学生学号,题型,试题号,学生答案,学生得分)
教师反馈(试卷号,学生编号,教师号,反馈信息)
题型(题型编号,题型名称,所属科目)
章节(章节编号,章节名,课程编号)
主观题(试题号,题型编号,试题题目,答案,章节编号)
单选题(试题号,试题题目,A,B,C,D,正确答案,章节编号)
多选题(试题号,试题题目,A,B,C,D,正确答案,章节编号)
判断题(试题号,试题题目,正确答案,章节编号)
试卷是否提交(学生编号,试卷编号,是否提交)
教师职称(职称编号,教师职称)
2.3.3表的设计
表2.1 学生信息表
表2.3 章节信息表表2.4 判断题信息表表2.5 单选题信息表表2.6 多选题信息表
表2.8 题型管理信息表表2.9 试卷分值管理表
表2.10 生成试卷表
表 2.11试卷班级
2.12学生试卷信息表
表2.13学生成绩信息表表2.14教师反馈信息表表2.15试卷信息表表2.16学生答卷信息表。