在线试题库系统的设计与实现.doc
《在线试题库系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《在线试题库系统的设计与实现.doc(25页珍藏版)》请在冰豆网上搜索。
2.可行性研究
2.1系统开发的目的和意义
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。
当前,计算机硬件技术的发展已经达到了相当高的水平。
但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
在线考试是现阶段研究开发的一个热点。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。
一个完备的在线试题库系统可以使用户在网上学习过后及时检验自己的学习效果,并发现自己的不足,使得学习效率得到很大提高。
考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化,这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
2.2技术可行性
目前,网络应用软件运行的模式主要有两类:
C/S模式,B/S模式。
C/S模式简单地讲就是基于企业内部网络的应用系统。
它和B/S模式相比最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。
但是它也有很多缺点,他必须安装客户端,势必造成维护、升级的麻烦。
而B/S模式则解决了这一问题,B/S模式是通过互联网来实现的,它何以随时随地的进行查询和浏览业务,维护简单,只需改变网页,即可实现所有用户的同步更新,开发简单,共享性强。
所以大多数软件都采用B/S模式。
服务器端采用SQLServer数据库系统和微软最新的.net平台及ASP.net技术来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。
3.需求分析
本系统主要针对老师出题和学生考试而设计,传统的考试都是首先由老师出题之后在组织考试、阅卷和发布成绩,这样做就导致大量的人力、物力和时间的浪费,而且准确性也不高。
为了克服这些问题,我们将设计在线试题库系统,将这一切在网上进行,实现在线考试和自动阅卷,方便管理和操作。
解放老师的劳动力,方便学生自我检测。
3.1软件的设计目标
3.1.1设计目标
系统应建立友好的界面,既要操作简单、直观、灵活,又要易于学习掌握。
系统非为前台和后台两个部分,前台主要实现用户的登录、注册,信息的修改,学生的在线考试,可以选题、答题、自动阅卷等功能;后台主要实现对试题的管理,对用户的管理,和试题的录入等问题。
3.1.2基本要求
首先用户登录,如果登陆成功则系统检测用户类型,用户类型分两种:
普通用户和管理员。
普通用户登陆后只能进行在线答题和个人信息管理,在线答题可以选择科目,可以显示和隐藏答案提示,模拟测试后可以重做答错的题。
管理员身份登录功能较多,除了以上功能外,还可以进行科目、试题和用户信息的管理,管理员可以增加、删除、修改科目和试题,还可以删除和修改用户信息,增加用户在用户功能中完成。
我们可以把以上概述分为以下几个功能。
1)用户注册
2)在线答题
3)科目管理功能
4)试题管理功能
5)用户管理功能
6)个人信息管理
3.2系统开发工具介绍
SQLServer是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与SQLServer的接口。
SQLServer是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。
于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。
SQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。
事实上,SQLServer数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQLServer的数据库处理方式,则是使用面向对象的操作理念与实践精神。
也就是说,SQLServer的所有功能都可以基于系统已经建立好的一些对象来达成功能,是相当O(面向对象)的一个系统结构。
SQLServer企业管理器是SQLServer的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以定义SQLServer实例组。
将个别服务器注册到组中。
为每个已注册的服务器配置所有SQLServer选项。
在每个已注册的服务器中创建并管理所有SQLServer数据库、对象、登录、用户和权限。
在每个已注册的服务器上定义并执行所有SQLServer管理任务。
通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处理和脚本。
唤醒调用为SQLServer定义的各种向导。
C#(CSharp)是微软(Microsoft)为.NETFramework量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。
Csharp(又被简称为"C#")是微软公司在二OOO年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员AndersHejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
3.3系统总体设计
3.3.1系统结构设计
本系统的结构主要分为三个部分,用户的注册,普通用户(即学生),管理员(即老师)。
普通用户通过登录到普通用户界面,在此界面可以进行在线答题,和个人信息修改。
管理员通过登录可以进行在线答题,用户管理,科目管理和试题管理。
3.3.2系统结构图
图3.1系统结构图
3.4系统流程图
本系统用户分为管理员和学生,在登陆后会进入相应的管理页面,流程图如下:
图3.2总流程图
图3.3学生操作流程图
图3.4管理员操作流程图
4.数据库设计
作为网络的一个重要应用,数据库在网站建设与网站营销中发挥着重要的作用,与普通网站相比而言,具有数据库功能的网站和网页我们通常称之为动态页面,也就是说页面不是一成不变的,页面上内容(或部分内容)是动态生成的,可以根据数据库中的相应部分内容的调整而发生变化,使网站内容更灵活,维护更方便,更新更便捷。
所以数据库设计是项目开发中的一个非常重要的环节,数据库设计的好坏直接影响到系统的效率和实现效果。
数据库设计主要在于表的设计及各个表之间的关系设计。
4.1概念设计
概念结构设计是整个数据库设计的关键,它通过E-R图来表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。
在此我们用E-R图来表示数据之间的关系。
图4.1角色信息E-R图
图4.2用户信息E-R图
图4.3课程信息E-R图
图4.4试题信息E-R图
图4.5填空题信息表
图4.6判断题信息表
4.2逻辑设计
经过分析初步确定在数据库中分别建立用户信息表、角色信息表、选择试题信息表填空题信息表、判断题信息表、课程信息表等六张表,如下所示:
roleID(roleID,roleName)
question(questioneID,courseID,qusetionContent,answer1,answer2,answer3,answer4,rightAnswer)
course(courseID,courseName,temp1,temp2)
user(username,password,sex,userIdentity,Email,roleID)
pamduan(panduanID,course,panduanContent,Answer)
tiankong(tiankongID,coursed,tiankongContent,Answer)
4.3数据字典
利用数据字典,可以进一步描述数据流图中的相关元素。
下面列出了数据字典。
名称角色信息表
别名角色信息
描述用户角色信息,用于区分用户的操作权限
定义角色信息=角色编号+角色名
位置保存在数据库中
名称用户信息管理
别名用户信息
描述用户角色信息,用于记录用户的基本信息
定义用户信息=用户名+密码+性别+身份证号码+电子邮件
位置保存在数据库中
名称课程信息管理
别名课程信息
描述用于管理课程信息
定义课程信息=课程编号+课程名
位置保存在数据库中
名称选择题试题表
别名选择试题
描述用于对选择题的查询
定义选择题信息=题号+题干+答案+正确答案
位置保存在数据库中
名称填空题试题表
别名填空试题
描述用于对填空题的查询
定义填空题信息=题号+题干+正确答案
位置保存在数据库中
名称判断题试题表
别名判断试题
描述用于对判断题的查询
定义判断题信息=题号+题干+正确答案
位置保存在数据库中
4.7数据字典
4.4物理设计
本系统共有六张表,角色表(roleID)主要存放角色信息,用户表(user)存放用户信息,选择试题表(question)存放试题信息,判断信息表(pamduan),填空信息表(tiankong),课程表(course)存放课程信息。
详细设计分别为下表所示:
表4.1角色信息表
字段
类型
字段长度
是否为空
是否为主键
说明
roleID
Int
自增长
否
主键
角色编号
roleName
Varchar
20
否
否
角色名
表4.2用户信息表
字段
类型
字段长度
是否可为空
是否为主键
说明
UserName
Varchar
50
否
主键
用户名
Password
Varchar
50
否
否
密码
Sex
Varchar
2
可以
否
性别
Useridentity
Varchar
20
可以
否
身份证号码
E-mail
Varchar
50
可以
否
电子邮箱
roleID
Int
—
否
外键
角色编号
表4.3课程信息表
字段
类型
字段长度
是否为空
是否为主键
说明
CourseID
Int
自增长
否
主键
课程编号
courseName
Varchar
50
否
否
课程名
Temp1
Varchar
100
可以
否
备用字段1
Temp2
Varchar
100
可以
否
备用字段2
表4.4选择试题信息表
字段
类型
字段长度
是否为空
是否为主