试题库管理系统_第1页
试题库管理系统_第2页
试题库管理系统_第3页
试题库管理系统_第4页
试题库管理系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上 数据库原理课程设计题 目 试题库管理系统 学 院 商学院 专 业 信息管理与信息系统 班 级 信息111 学 号 8 学生姓名 张语轩 指导教师 宣军英 编写日期 2013. 07. 11 专心-专注-专业目 录1 系统需求分析1.1 系统调查对现行考试业务进行详细调查是了解系统需求和进行系统分析和设计的重要基础工作,因此要对我们的考试工作进行全面、细致而充分的调查研究。首先出题老师及相关的人员交流意见,了解他们对现有考试流程的看法,有无新的信息需求,原系统有无多余的功能。在此基础上,深入到具体业务职能管理部门即教导处进行详细的调查,了解他们对现行考试方式的看法,在

2、操作上有无需要改进的地方。在调查中我们可以发现,试题库管理是学校工作的重要组成部分,如何快速有效合理的组卷和试题库完善的保管是所有教师和学校管理者共同高度关注的问题。随着当今计算机技术的飞速发展,利用计算机进行试题库的管理和考试分析已成为学校推动教学改革、提高教学质量的重要内容。考试是教师检查学生学习情况的必要手段,但是出卷却是一种繁重的智力和体力劳动,传统的标准化试卷命题,需要由教学专家组成一个命题班子,根据许多年教学经验,从贯彻教学大纲要求,到试卷意图的组织,经过反复的推敲,才能完成一份标准化的试卷。这样的命题方式不仅工作任务繁重而且试卷的标准化程度、难易程度、题量等方面都难以得到控制,难

3、以形成有效的试题库,给试题和试卷的管理带来很多问题和困难。大部分的题库管理系统很难保证试题的多样性、全面性和试卷难度的恰当分配。为了解决教师出题困难,帮助教师轻松的出一份高质量的试卷,所以开发试题库管理系统是非常必要的。那么今天我们就以这样的一个目标展开我们的工作。1.2用户需求要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下四个方面对用户需求进行了分析:1)用户的信息需求:出题老师可以看到题目所属的类型和题目所考察的知识点以及试题的分值和难度等级等内容。当然这个权限也给管理员。2)用户的处理要求:教师可以对试题库进行插入删除等修改操作,老师也可以凭借

4、自己自定义的选题要求在试题库中自动生成适合需求的试题。但管理员只能对用户进行处理。3)对系统的适应性、通用性要求:要求系统不仅能提供一门课程的试题库管理,还要综合多门学科进行管理,建立一个高效的试题库管理系统。4)对系统的安全性要求,要求进入系统必须进行口令校验。1.3 系统业务流程图业务流程图的符号说明如图1.1所示:1、 2、 3、 4、 5、系统中人员 实体或单据 实物或信息流 处理 存储 图1.1 业务流程图图例详细调查之后,结合现行考试模式,为开发本系统而绘制出的试题库考试的管理业务流程图如图1.2所示。试卷管理题库管理用户题库表试题编辑题库表考试需求自动生成试卷答案项目设置项目表存

5、储管理员 图 1.2 试题库考试系统业务流程图2 系统逻辑方案(方莹晓主要负责,孙婷协助)系统分析的主要成果是系统的逻辑模型。本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。即在试题库系统管理方式和业务流程进行认真分析和研究的基础上,排除现有组织机构和业务分工所造成的信息障碍。2.1数据流图(简称为DFD)数据流图是组织中信息运动的抽象。是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。首先,分析试

6、题库管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;数据流程图的符号说明如图2.1所示。试题库管理系统的顶层数据流程图如图2.2所示。 外部实体 处理 数据流 数据存储 图2.1 数据流程图的符号根据要求考试编辑试题教师处理试卷试题库生成试卷试卷试卷答案学生管理员管理查看查看图2.2 试题库系统的顶层数据流程图2.2 数据字典(简称为DD)绘制DFD,只是对数据处理和彼此之间的联系进行了说明。为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成部分的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计

7、的进行。这就需要开发人员编写详细的数据字典,来描述系统开发过程的细节。下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据字典。数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表格式。数据项的DD表列举如下:表2.1 用户编号的数据字典 数 据 项系统名:试题库管理系统 编号:I001 名称:用户编号 别名:教师登陆号数据项值: 类型:字符型 长度:6个字节 取值范围:简述:每个教师都具有唯一的编号,它是某个教师的唯一标识符,如“”通常用前两位数字表示入职的年份,中间两位表示所属部门,最后两位表示该教师在该部门的序号。修改记录:编写日期审核日期表2.2姓名 数 据

8、项系统名:试题库管理系统 编号:I002 名称:姓名 别名:数据项值: 类型:字符型 长度:10个字节 取值范围:简述:每个教师都具有唯一姓名标识,不同的教师可以有相同的姓名。修改记录:编写日期审核日期表2.3 密码 数 据 项系统名:试题库管理系统 编号:I003 名称:密码 别名:数据项值: 类型:字符型 长度:6个字节 取值范围:简述:每个教师及每位管理员都要设置一个进入系统的密码。修改记录:编写日期审核日期注:因限于篇幅,其余数据项的DD表在此略过。3系统总体结构设计3.1 软件系统总体结构设计软件系统总体结构设计的主要任务就是将整个系统合理的划分成各个功能模块,正确处理模块之间与模块

9、内部的联系及它们之间的调用关系和数据联系,定义各模块的内部结构等,本系统的软件总体结构按分解协调的原则,信息隐蔽抽象的原则,自顶向下的原则,一致性原则,面向用户的原则进行设计。3.2 数据存储的总体设计 按用途分类可把本系统文件分成以下几种:(1) 主文件:系统中的主文件是最重要的共享文件,主要存放具有固定值属性的数据。它需要长期保存,并不断更新。如用户信息文件(包括管理员和教师)、科目信息文件、试题库信息文件、试卷信息文件。(2) 处理文件:处理文件包含下一次更新文件所需要的全部记录,本系统中的处理文件如新闻登录日志文件、待审核项目信息文件。3.3系统功能模块设计通过对系统的数据流图进行分析

10、,进一步进行功能分解,直到分解成含义明确,功能单一的功能模块,从而得到系统的功能模块结构图。如图3.1所示。 试题库管理系统题库管理试卷管理用户管理添加试题删除试题修改试题查询试题添加试卷删除试卷修改试卷添加试题登陆修改退出图3.1 系统功能模块结构图4 数据库详细设计4.1数据库设计数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵

11、循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。4.1.1 E-R图设计 在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。E-R图由实体、属性、联系三部分组成。各分E-R图说明如下:(1) 教师E-R图见图4.1:教师用户编号姓名密码所授科目图4.1 教师E-R图(2) 管理员E-R图见图4.2:管理员用户名用户密码图4.2 管理员E-R图(3) 试题E-R图见图4.3:分值所属科目标

12、准答案难易度试题号试题内容知识点题型号试题图4.3 试题E-R图(4) 试卷E-R图见图4.4:试卷试卷号题型类型科目号难易比例试卷答案图4.4 试卷E-R图(5) 管理员,教师,试题,试卷四者的E-R图见图4.5:管理员用户名用户密码用户编号密码姓名所授科目查看试卷答案试卷号题型类型科目号难易比例自动生成试题号题型号所属科目试题内容知识点难易度标准答案试题管理查看试卷编辑查看分值教师MNMNNMMN1MNN 图4.5 总E-R图试题库管理中所涉及到的主要实体集及其属性如下:试题试题号,题型号,试题内容,知识点,难易度,标准答案,所属科目,分值;试卷试卷号,科目号,题型类型,难易比例,试卷答案

13、;教师用户编号,密码,姓名,所授科目;管理员用户名,用户密码;4.1.2. 逻辑结构设计(E-R图向关系模型的转换) ER图向关系模型的转化要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系横式的属性和码。 对于实体间的联系我们分不同的情况讨论:(1) 若实体间的联系是1:1,可以在两个实体转换成的两个关系中任意一个关系的属性中加入另一个关系的码。(2) 若实体间联系为1:n,则在n端实体转换成的关系中加入1端实体转换成的关系码。(3) 若实体间联系为n:m,则将联系转换为关系,关系的属性为诸个实体的 码加上联系具有的属性,而关系的码则为诸实体的码的组合。由以上三点,可转换

14、为关系模型。每个关系的码用下划线表示。管理员用户名,用户密码;教师用户编号,密码,姓名,所授科目;试卷试卷号,科目号,题型类型,难易比例,试卷答案;试题试题号,题型号,试题内容,知识点,难易度,标准答案,所属科目,分值,试卷号试卷编辑信息表(用户编号,试卷号);试题库编辑信息表(用户编号,试题号);教师信息管理表(用户名,用户编号);试题库信息表(用户名,试题号);试卷信息表(用户名,试卷号);基于以上关系模型,本系统中关于数据库表结构设计如下:在服务器上用SQL Sever2008建立名为testSystem的数据库。其中包括以下表:管理员信息表(admin_info),教师信息表(teac

15、her_info),试题(question),试卷(testpaper),教师信息管理表(jsgl_info),试题库信息表(stk_info),试卷信息表(sj_info),试卷编辑信息表(sjbj_info),试题编辑信息表(stbj_info)。下面将具体介绍数据库中各个表的结构。表4.1管理员信息表(admin_info)字段类型备注UserName varchar用户名(主键)Pwdvarchar用户密码表4.2教师信息表(teacher_info)字段名类型备注UserNumChar 用户编号(主键)mkeyvarchar密码Tnamevarchar姓名Subject Nvarch

16、ar所授科目 表4.3试题(question)字段名类型备注TestNumChar 试题号(主键)TypeNumChar题型号TestContChar试题内容KnowledgeChar知识点DifficultyChar难易度ValueInt分值AnswerNvarchar标准答案Subject Nvarchar所授科目TestpaperNumChar试卷号(外键)表4.4试卷(testpaper)字段名类型备注TestpaperNumChar 试卷号(主键)SubNumChar科目号Type varchar题型类型SJAnswerNvarchar试卷答案DiffproChar难易比例表4.5教

17、师信息管理表(jsgl_info)字段名类型备注UserNamevarchar用户名UserNumChar 用户编号表4.6试题库信息表(stk_info)字段名类型备注UserNamevarchar 用户名TestNumChar试题号表4.7试卷信息表(sj_info)字段名类型备注UserNamevarchar 用户名TestpaperNumChar试卷号表4.8试卷编辑信息表(sjbj_info)字段名类型备注UserNumChar 用户编号TestpaperNumChar试卷号表4.9试题编辑信息表(stbj_info)字段名类型备注UserNumChar 用户编号TestNumCha

18、r试题号4.2 数据库的完整性和安全性1.数据库的完整性数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。2.数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取。本系统包括数据库的安

19、全和服务器的安全。采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。在登录数据库时,系统让管理员户表示自己的身份,不同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。服务器的安全也是通过用户在登录服务器时输入合法的用户名和密码来实现的。这是一种简单可行的方法,实现起来比较方便。没有采用更加复杂的系统安全管理措施是因为本管理系统一般是应用在校园网中,采用安全管理措施主要是为了防止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理措

20、施就能够保障数据库的安全性。5数据库操作(SQL Server2000、2005、2008语句完成)(1)建立数据库Create database testSystemgouse testSystem(2)建立各个表,包括各种约束条件Create table admin_info(UserName varchar(20) primary key, Pwd varchar(20) Create table teacher_info(UserNum Char(20) primary key, mkey varchar(20), Tname varchar(20), Subject Nvarchar

21、(20) Create table testpaper(TestpaperNum Char(20) primary key, SubNum Char(20), Type varchar(20), SJAnswer Nvarchar(20), Diffpro char(10) Create table question(TestNum Char(20) primary key, TypeNum Char(20), TestCont char(200), Knowledge char(200), Difficulty char(10), Value Int, Answer Nvarchar(20)

22、, Subject Nvarchar(20), TestpaperNum Char(20) not null, foreign key (TestpaperNum) references testpaper (TestpaperNum) Create table jsgl_info(UserName varchar(20) not null,UserNum char(20) not null,primary key (UserName,UserNum), foreign key (UserName) references admin_info (UserName), foreign key (

23、UserNum) references teacher_info (UserNum) Create table stk_info(UserName varchar(20) not null,TestNum char(20) not null,primary key (UserName,TestNum), foreign key (UserName) references admin_info (UserName), foreign key (TestNum) references question (TestNum) Create table sj_info(UserName varchar(

24、20) not null,TestpaperNum char(20) not null,primary key (UserName,TestpaperNum), foreign key (UserName) references admin_info (UserName), foreign key (TestpaperNum) references testpaper (TestpaperNum) Create table sjbj_info(UserNum char(20) not null,TestpaperNum char(20) not null,primary key (UserNu

25、m,TestpaperNum), foreign key (UserNum) references teacher_info (UserNum), foreign key (TestpaperNum) references testpaper (TestpaperNum) Create table stbj_info(UserNum char(20) not null,TestNum char(20) not null,primary key (UserNum,TestNum), foreign key (UserNum) references teacher_info (UserNum),

26、foreign key (TestNum) references question (TestNum)goInsert into admin_info values('liyong','' )Insert into admin_info values ('liuchen', '')goInsert into teacher_info values('','','fangfang','高等数学' )Insert into teacher_info values (

27、9;','','xuexue','数据结构' )Insert into teacher_info values ('','','yinyin','数据库' )Insert into teacher_info values ('','','jinjin','信息检索' )Insert into teacher_info values ('','','xiaxia',&

28、#39;管理学' )Insert into teacher_info values ('','','yanyan','网络营销' )Insert into teacher_info values ('','','tongtong','java' )Insert into teacher_info values ('','','xinxin','地理' )goInsert into testpape

29、r values('TE01', 'SU01', '单项选择题', 'A', '简单')Insert into testpaper values ('TE02', 'SU02', '多项选择题', 'B', '中等')Insert into testpaper values ('TE03', 'SU03', '是非判断题', 'C', '难')Insert

30、into testpaper values ('TE04', 'SU04', '填空题', 'D', '简单')Insert into testpaper values ('TE05', 'SU05', '简答题', 'E', '难')Insert into testpaper values ('TE06', 'SU06', '计算题', 'F', '中等'

31、)Insert into testpaper values ('TE07', 'SU07', '综合应用题', 'G', '简单')go Insert into question values('01', '填空题', '中国的经纬度是多少?', '考察地理位置', '低',5,'经度范围','地理','TE04')Insert into question values('02&#

32、39;, '单项选择题', '事务的基本概念?', '考察数据库知识', '低',4,'A','数据库','TE01')Insert into question values('03', '填空题', '12?', '考察数学知识', '低',1,'3','高等数学','TE02')Insert into question values('04

33、9;, '多项选择题', '数据库设计步骤', '考察数据库知识', '中',4,'ABCD','数据库','TE01')Insert into question values('05', '是非判断题', '管理学的创始人是马克思吗?', '考察管理学知识', '低',1,'错','管理学','TE03')Insert into question valu

34、es('06', '简答题', '简述排序的种类', '考察数据结构知识', '高',10,'略','数据结构','TE05')Insert into question values('07', '计算题', '333×888', '考察数学知识', '低',5,'','高等数学','TE06')goInsert into jsgl

35、_info values('liyong','' )Insert into jsgl_info values ('liuchen', '')Insert into jsgl_info values ('liyong', '')Insert into jsgl_info values ('liuchen', '')Insert into jsgl_info values ('liyong', '')Insert into jsgl_inf

36、o values ('liuchen', '')Insert into jsgl_info values ('liuchen', '')goInsert into stk_info values('liyong','01' )Insert into stk_info values ('liuchen', '02')Insert into stk_info values ('liyong', '03')Insert into stk_in

37、fo values ('liuchen', '04')Insert into stk_info values ('liyong', '05')Insert into stk_info values ('liuchen', '06')Insert into stk_info values ('liuchen', '07')goInsert into sj_info values('liyong','TE01' )Insert into s

38、j_info values ('liuchen', 'TE02')Insert into sj_info values ('liyong', 'TE03')Insert into sj_info values ('liuchen', 'TE04')Insert into sj_info values ('liyong', 'TE05')Insert into sj_info values ('liuchen', 'TE06')Inser

39、t into sj_info values ('liuchen', 'TE07')goInsert into sjbj_info values ('', 'TE01')Insert into sjbj_info values ('', 'TE02')Insert into sjbj_info values ('', 'TE03')Insert into sjbj_info values ('', 'TE04')Insert into s

40、jbj_info values ('', 'TE05')Insert into sjbj_info values ('', 'TE06')Insert into sjbj_info values ('', 'TE07')goInsert into stbj_info values('', '01' )Insert into stbj_info values ('', '02')Insert into stbj_info values (

41、'', '03')Insert into stbj_info values ('', '04')Insert into stbj_info values ('', '05')Insert into stbj_info values ('', '06')Insert into stbj_info values ('', '07')(3)建立存储过程向表中插入、修改、删除数据插入过程:1. Create proc addteacher_in

42、foUserNum Char(20),mkey varchar(20),Tname varchar(20),Subject Nvarchar(20)AsInsert into teacher_info(UserNum,mkey,Tname,Subject) values(UserNum,mkey,Tname,Subject)exec addteacher_info '','','xuexue','数据结构'exec addteacher_info '','','feifei',

43、9;数据结构'exec addteacher_info '','','feifei','数据结构'修改过程:2. create proc teacher_inf_updateSubject Nvarchar(20),Tname varchar(20)asupdate teacher_infoset Subject =Subjectwhere Tname=Tnameexec teacher_inf_update Tname='yinyin',Subject='weiguan'删除过程:3. c

44、reate proc delete_teacher_infomkey varchar(20)Asdelete from teacher_info where Mkey=mkeyexec delete_teacher_info mkey=''(4)建立存储过程实现单表查询(5个)、连接查询(5个)、嵌套查询(2个)单表查询:1. create proc info_1Pwd varchar(20)asselect UserName from admin_infowhere Pwd=Pwdexec info_1 Pwd=''2. create proc info_2S

45、ubject char(20)asselect TestNum from questionwhere Subject=Subjectexec info_2 Subject='数据库'3. create proc info_3UserNum char(20)asselect UserName from jsgl_infowhere UserNum=UserNumexec info_3 UserNum=''4. create proc info_4TestpaperNum char(20)asselect UserName from sj_infowhere Tes

46、tpaperNum=TestpaperNumexec info_4 TestpaperNum='TE04'5. create proc info_5TestpaperNum char(20)asselect SJAnswer from testpaperwhere TestpaperNum=TestpaperNumexec info_5 TestpaperNum='TE03'连接查询:1. CREATE PROC info_select1 pwd Char(20) AS SELECT sj_info.UserName,TestpaperNum FROM sj_i

47、nfo,admin_info where sj_info.UserName=admin_info.UserName and pwd=pwd exec info_select1 pwd=''2. CREATE PROC info_select2 TestpaperNum Char(20) AS SELECT UserName,TestpaperNum FROM stk_info,question where stk_info.TestNum=question.TestNum and TestpaperNum=TestpaperNum exec info_select2 Testp

48、aperNum='TE01' 3. CREATE PROC info_select3 Diffpro Char(10) AS SELECT testpaper.TestpaperNum,TestCont FROM testpaper,question where testpaper.TestpaperNum=question.TestpaperNum and Diffpro=Diffpro exec info_select3 Diffpro='难' 4. CREATE PROC info_select4 TestNum Char(10) AS SELECT te

49、acher_info.Subject,Tname FROM teacher_info,question where teacher_info.Subject=question.Subject and TestNum=TestNumexec info_select4 TestNum='01'5. CREATE PROC info_select5 Type Char(10) AS SELECT testpaper.TestpaperNum,Value FROM testpaper,question where testpaper.TestpaperNum=question.TestpaperNum and Ty

温馨提示

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

评论

0/150

提交评论