试题库管理系统–数据库设计

试题库管理系统–数据库设计一、概要设计1.1背景和意义目前,许多高校绝大多数课程还采用考教统一的模式来完成教学过程,这种传统的考试模式在教学到实施考试的过程带有很大的主观随意性和不规范性。另外随着各高校近年来学生规模的扩大,教学任务日益繁重,教师的工作量相应的不断增加。迫切需要计算机辅助教学系统来打破这种传统的教学模式,减轻教师的工作负担,提高教学质量。因此,本文研究设计了一个试题库管理系统,来解决和缓解高校课程

大家好,又见面了,我是你们的朋友全栈君。

链接:https://pan.baidu.com/s/1ilMGCA_n1GPDk3O8k7w7Gg 
提取码:m0ke 
复制这段内容后打开百度网盘手机App,操作更方便哦

一、概要设计

1.1 背景和意义

    目前,许多高校绝大多数课程还采用考教统一的模式来完成教学过程,这种传统的考试模式在教学到实施考试的过程带有很大的主观随意性和不规范性。另外随着各高校近年来学生规模的扩大,教学任务日益繁重,教师的工作量相应的不断增加。迫切需要计算机辅助教学系统来打破这种传统的教学模式,减轻教师的工作负担,提高教学质量。因此,本文研究设计了一个试题库管理系统,来解决和缓解高校课程教学中现存的问题,提高教学质量和考试效果,减轻教师工作压力。试题库管理系统可辅助教师对所教科目的各种试题的题型、难度等相关资料进行保存、查询等信息管理;并在需要对学生进行测验、评估的时候,从题库中抽取出相应要求的题目,组成一套试卷。 

    本文首先简要介绍了开发试题库管理系统的可行性分析,系统的需求分析和总体设计,然后主要针对系统的设计、组成、用户界面设计、程序设计进行了详细分析,并对系统部分关键性代码进行了讲解,同时对一般系统软件设计的基本思想及工作流程给出了方法技巧。首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

 

1.2 内容和要求

功能要求

1.教师登录信息管理(教师编号、教师名、所属专业号)

2.信息管理(试题类型、试题难度、试题科目号)

3.试题的增、删、改、查、分类等功能

4.试题专业信息管理(专业号、专业名)

5.试卷信息管理(科目号、题型号、时间、出题教师号)

6.视图查看各专业题型的数量,各科目题型数量

7.数据库相关表之间的参照完整性约束

 

二、需求分析

2.1系统调查

  对现行的试题库管理业务进行了详细的调查和研究是了解系统需求和进行系统分析和设计的重要基础工作,因此要对我们的试题库管理工作进行全面的细致的调查研究。首先与相关的老师进行了交流和沟通,了解他们对试题库管理的看法,看看有没有什么新的要求,在这个基础上,结合自身所掌握的知识水平,量力而行开发相应的试题库管理系统。

   在调查中我们可以发现,高校的试题库是极其庞大的,如果没有一个智能的系统将人们从手工阶段解放出来,那么一个庞大的、完整的试题库是无法有效运行的,甚至出题的老师也无法有效、准确地在试题库中抽取自己所需要的试题,这等于说是一个没有实际运用价值的试题库。所以说,他们对希望有这样的一个可以详细地表示试题属性的这样的一个试题库。那么今天我们就围绕着这样的一个目标展开我们的工作。

 

2.2 用户需求

    要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下四个方面对用户需求进行了分析:

1) .用户的需求信息:出题老师可以看到题目所属的类型和题目所考察的内容以及试题的分值和难度等级。当然这个权限也给管理员和系主任。

2) 用户的处理要求: 教师可以对试题库进行插入和删除操作,出题老师可以凭借自己自定义的选题要求在试题库中选择自己需求的试题。

3)对系统的适应性、通用性要求: 要求系统不仅能提供一门课程的试题库管理,还要综合多么学科进行管理,建立一个高效的试题库管理系统。

4)对系统的安全性要求,要求进入系统必须口令校验。

 

2.3开发技术

开发工具:Microsoft SQL Server 2012

开发语言:SQL

开发技术:数据库开发技术

面向对象:需求者

 

2.4 系统主要功能

试题库管理系统--数据库设计

 

 

三、E-R图

 

各个实体的E-R图如下所示:

 

 

试题库管理系统--数据库设计

试题库管理系统--数据库设计

试题库管理系统--数据库设计

 

试题库管理系统--数据库设计

 

试题库管理系统--数据库设计

 

试题库管理系统--数据库设计

 

试题库管理系统--数据库设计

试题库管理系统--数据库设计

试题库管理系统--数据库设计

 

 

四、逻辑结构设计

4.1 逻辑转换

根据上节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为8个关系,详细信息如下所示:

 

专业专业号、专业名)

教师教师工号、教师名、专业号

科目科目号、科目名、专业号

题型题号、类型、难度、科目号、教师工号

设计题题号题型号、内容、答案)

选择题题号题型号、内容、选项1、选项2、选项3、选项4、答案)

判断题题号题型号、内容、答案)

试卷试卷号、科目号、时间、教师工号、内容)

4.2细化表结构

为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:

(1).专业信息表

列名

说明

数据类型

约束

Specialty_id

专业号

char(4)

not null  primary key

Specialty_name

专业名

varchar(10)

not null unique

 

(2) .教师信息表

列名

说明

数据类型

约束

Teacher_id

老师编号

char(8)

not null  primary key

Teacher_name

教师名

varchar(10)

not null

Teacher_Specialty

所属专业号

char(4)

not null

foreign key

 

3.科目信息表

列名

说明

数据类型

约束

Course_id

科目编号

char(10)

not null

primary key

Course_name

科目名

varchar(10)

not null

Course_Specialty

所属专业号

char(4)

not null

foreign key

primary key

 

 

 (4).题型信息表

列名

说明

数据类型

约束

Question_id

试题号

int

not null IDENTITY(1, 1) primary key

Question_name

试题类型

varchar(10)

not null

Question_level

试题难度

varchar(4)

not null default ‘简单

Question_Course

所属科目号

char(10)

not null

Question_Teacher

教师号

char(8)

not null

 

(5).设计题信息表

列名

说明

数据类型

约束

Design_id

试题号

tinyint

not null IDENTITY(1, 1) primary key

Design_Question

题型号

int

not null

foreign key

Design_Info

内容

text

not null

Design_answ

答案

text

not null

 

(6).选择题信息表

列名

说明

数据类型

约束

ChoiceQst_id

试题号

tinyint

not null IDENTITY(1, 1) primary key

ChoiceQst_Question

题型号

int

not null

foreign key

ChoiceQst_Info

内容

text

not null

ChoiceQst_OP1

操作1

text

not null

ChoiceQst_OP2

操作2

text

not null

ChoiceQst_OP3

操作3

text

not null

ChoiceQst_OP4

操作4

text

not null

ChoiceQst_answ

答案

char

not null

 

7.判断题信息表

列名

说明

数据类型

约束

TrueOrFalse_id

试题号

tinyint

 not null IDENTITY(1, 1) primary key

TrueOrFalse_Question

题型号

int

not null

foreign key

TrueOrFalse_Info

内容

text

not null

TrueOrFalse_answ

答案

char

not null

 

8.试卷信息表

列名

说明

数据类型

约束

Paper_id

试卷号

tinyint

not null IDENTITY(1, 1) primary key

Paper_Course

科目号

char(10)

not null

Paper_madedate

时间

datetime

not null

Paper_teacher

出题教师号

char(8)

not null

foreign key

Paper_Info

内容

text

not null

 

 

五.数据库设计

 

 

5.1 创建表

(1).Specialty专业信息表

试题库管理系统--数据库设计

 

(2).教师信息表

试题库管理系统--数据库设计

 

(3).科目信息表

试题库管理系统--数据库设计

 

 

 

(4).题型信息表

试题库管理系统--数据库设计

 

 

 

(5) .设计题信息表

试题库管理系统--数据库设计

 

 

 

(6) .选择题信息表

试题库管理系统--数据库设计

 

(7) .判断题信息表

试题库管理系统--数据库设计

 

(8) .试卷信息表

试题库管理系统--数据库设计

 

 

 

5.2 创建必要视图

 

1.创建试题科目视图

试题库管理系统--数据库设计

 

 

 

(2).设计题视图

试题库管理系统--数据库设计

 

 

 

3.选择题视图

试题库管理系统--数据库设计

 

 

 

(4).判断题视图

试题库管理系统--数据库设计

 

 

六、总结

 

 

经过一周的设计和开发,试题库管理系统基本开发完毕。其功能基本符合学校管理者需求,

能够完成各个专业各门学科的试题录入,根据要求自动成卷等多方面的功能。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149143.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • BackTrack3(BT3激活成功教程wifi密码)

    BackTrack3(BT3激活成功教程wifi密码)BackTrack3(BT3激活成功教程)  准备工作  1、一个有可激活成功教程无线信号的环境。如我在家随便搜索出来的信号。  2、带无线网卡的电脑一台(笔记本台式机均可,只要无线网卡兼容BT3),我用的是三星NC10的上网本。  3、4G以上优盘一个(我用的是kingston8G的)  4、下载BT3,约900多兆。注:BT3全称BackTrack3,与我们常说的bt下载是完全不同的…

  • pycharm怎么用啊_我不想用失去来教会你

    pycharm怎么用啊_我不想用失去来教会你一、PyCharm设置中文(无需汉化包)1、点击左上角的File选项2、选择Settings选项3、点击Plugins选项,等待一会儿,页面出来比较慢。

  • python3.9多线程_python创建多线程

    python3.9多线程_python创建多线程什么是线程?线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其

  • 超详细的Git下载安装、环境变量配置教程

    超详细的Git下载安装、环境变量配置教程一、安装教程:1.首先去官网下载git安装包,附网址:https://git-scm.com/官网下载会比较慢,附上csdn下载链接:2.点击下载好的exe文件3.一直点击next,直到出现install,点击install,安装完成后点击finish:4.启动测试  到此,Git的安装完成,可以在开始菜单中看到Git的三个启动图标(GitBash、GitCMD(Deprecated)、GitGUI)。  GitBash

  • 公平洗牌算法_随机洗牌算法

    公平洗牌算法_随机洗牌算法要求:给定一个长度为n的有序数组,要求将其完全打乱,每个元素在任何位置出现的概率均为1/n。随机洗牌算法有好几个,这里讲其中的一个,Fisher-Yatesshuffle算法(时间复杂度为O(n)),其思路如下:(1)从数组中随机选取一个数p。(2)将p与数组中最后(也可以是最前)的元素交换。(如果随机选中的是最后的元素,则相当于没有发生交换)(3)去掉最后的元素(这里并没有删除操作,而是缩小索

  • 异步调用的理解

    异步调用的理解1.分清异步/同步,阻塞/非阻塞。首先讲下个人对异步和同步,阻塞和非阻塞的概念的理解。关于这个概念看了许多解释,都是似是而非,并不能完全get到点。个人认为从进程间通信的角度理解比较好,在《操作系统》中关于的部分是这样解释的:进程间的通信时通过send()和receive()两种基本操作完成的。具体如何实现这两种基础操作,存在着不同的设计。 消息的传递有可能是阻塞的或非阻塞的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号