精华内容
下载资源
问答
  • 题库管理系统中还包括题库的导出功能即实现分类别把题库中的题目导出到Microsoft Word中,从而轻松实现排版和打印。 (4)试卷管理:实现试卷的生成与排版功能。 课题难点:如何使系统更加完善,高效的运行,操作更加...
  • 毕业论文之通用试题管理系统设计与实现
  • 试题管理系统设计与实现——论文.doc
  • 程序设计基础课程设计报告 班 级 计算机科学与技术 1103 班 姓 名 杨广宇 指导教师 : 胡宏涛 完成日期 2012年9月6日 题目 1 设计题目与要求 简要介绍课程设计题目内容与要求 设计内容 要求输入试题仅限选择题和填空...
  • 题库管理系统:有丰富的登陆界面,注册界面(学生、教师) 学生登陆界面:可以查看学生成绩、进行答题、跟正常的软件答题界面差不多 教师登录界面:可以查看学生成绩、进行题目信息管理(题型、章节、插入删除、查看...
  • 试题管理系统设计与实现需求分析报告 开发 设计 测试报告.doc
  • 基于Web的试题管理系统设计与实现的开题答辩.pptx
  • 题库管理系统_毕业设计论文_开题报告.doc
  • 共享知识 分享快乐 共享知识 分享快乐 AAAAAAAA AAAAAAAA ...设计题目与要求 简要介绍课程设计题目内容与要求 1设计内容 要求输入试题仅限选择题和填空题基本信息实现试题浏览 ?查询修改功能 并将数据保存至文本文件
  • 试题管理系统毕业论文答辩PPT.pptx
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
  • 毕业论文试题管理系统的任务书.docx
  • 针对中小学生试题管理系统设计与实现的开题报告.pdf
  • 试题管理系统之开题答辩的模板.ppt
  • 毕业论文之试题管理系统设计与实现的开题报告—
  • 文中针对高校试题管理系统需求为目的,从系统功能性、性能需求研究其具体设计,并以系统开发实现验证该系统设计方案。试验结果显示,即使不同题目的学生都能很好地回避在线抄袭现象,还能将学生问题答案录入数据库...
  • C++做的简单题库管理系统,可以添加删除修改题目,手动自动生成试卷
  • 基于JAVA的题库管理系统 更多相关参考论文设计文档资源请访问 毕业设计说明书 基于JAVA的题库管理系统 3 077 学生姓名: 学号: 信息商务学院 学 院: 计算机系 系 名: 计算机科学与技术 专 业: 指导教师: 2015 年 5 月...
  • 题库管理系统详细设计说明书
  • 学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的库.而对于后者则要求应用程序功能完备,...
  • 数据库课程设计-题库管理系统

    千次阅读 多人点赞 2020-07-10 20:39:27
    ## 数据库课程设计-题库管理系统* 这里写我的思路及其功能展示,希望帮到你,如果想要全部的源代码及其课程设计报告,请来我的主页下载 目录 1.需求分析. 3 2.数据库设计以及E-R分析. 4 3.结构设计. 4 (1)表结构...

    ## 数据库课程设计-题库管理系统*

    这里写我的思路及其功能展示,希望帮到你,如果想要全部的源代码及其课程设计报告,请来我的主页下载

    三大界面图展示

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    目录
    1.需求分析. 3
    2.数据库设计以及E-R分析. 4
    3.结构设计. 4
    (1)表结构设计
    (2)相关约束
    (3)视图
    (4)存储过程
    (5)触发器
    4.JAVA应用程序端. 9
    (1)功能设计
    (2)界面设计
    5.JAVA应用程序端具体实现. 28
    6.总结. 35

    一、 需求分析

    l  实现题型,题目等基本信息的管理
    
    l  实现章节的管理
    
    l  实现题型的管理
    
    l  能按题型或章节录入课程的习题
    
    l  能够按照题目编号删除题目
    
    l  创建存储过程查询某种题型和各章节的习题数量
    
    l  创建视图查询各题型的数量详细信息
    
    l  创建视图查询各章节的题目数量详细信息
    
    l  创建视图查看套题汇总详细信息
    
    l  习题题号由系统自动生成,从1开始编号
    
    l  可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1(触发器)
    
    l  当题目插入删除时,自动更改题型和各章节题目数量(触发器)
    
    l  实现学生答题系统,并为其录入成绩信息
    
    l  可以查看学生详细信息
    
    l  可以查看已经抽取的套题详细信息
    
    l  建立数据库相关表之间的参照完整性约束。
    

    二、 数据库设计以及E-R分析(E-R图下载包里面有)

    为了实现学生和老师分别登录,注册,多创建了,学生信息和老师信息表
    
    为了实现对题目、题型、章节的管理,分别创建了题目、题型、章节表
    
    为了记录已经抽取的套题信息,创建了套题表
    
    为了实现当前的抽取的为哪个套题,创建了套题抽取表用于记录当前已经为第几套题了(如:A,B,C,D卷)
    

    JAVA应用程序端

    (1) 
    功能设计
    
    l  学生和老师登录、注册(及其容错)设计
    
    l  教师工作服务界面设计
    
    查看学生成绩
    
    实现插入题目
    
    实现删除题目
    
    实现题目查询
    
    实现题目信息
    
    实现题型管理
    
    实现章节管理
    
    查看套题信息
    

    l 学生答题界面设计

    查看自己的成绩
    
    开始答题
    

    l Java界面细节设计

    有“<”小按钮,当鼠标进入和离开时,会发生颜色的变化并且当鼠标点击时可以返回上一级界面;
    
    各按钮当鼠标进入和离开时,会发生图片和颜色的变化;
    
    各种功能JLabel,当鼠标进入要选择和离开时会发生明显的颜色变化;
    
    当进行登录的时候,密码框用*表示,从而保护信息;
    
    每个界面都有与主题相匹配的背景图
    

    界面

    1初始程序界面:
    在这里插入图片描述

    2如果这个学生和老师从来没有进入过这个程序,需要进行注册:

    进入注册界面:里面有一个下拉列表框可以进行学生和老师注册身份的选择

    在这里插入图片描述

    注册操作(这里以学生注册的为例,其中学生学号为计科1 2 班学生的,教工号为我自己随便输入的一些):像右边如图一样输入要注册的用户和密码,然后点击注册按钮或者在密码框直接回车即可

    当注册成功时出现如图右一样的结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    看上面两个运行结果:

    容错处理:当你输入的用户名不是数据库表student或user_teacher中提前录入的学号或者教工号时,会发生提示错误,用户名不存在(即这个学生或者老师不存在);

    当你输入的用户名已经注册时,则也会提出错误信息

    进入学生答题界面:
    在这里插入图片描述

    查看学生成绩:

    在这里插入图片描述

    开始答题(我们这里调用的是数据库中的抽取套题存储过程,所以有5道题):

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200710203535135.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhaW5pYW8xXw==,size_16,color_FFFFFF,t_70在这里插入图片描述教师服务工作界面
    在这里插入图片描述

    JAVA应用程序端具体实现

    初始界面:在类subject_system 中,窗体JFrame

    先设置整体面板为绝对布局,然后设置三个按钮:学生登录、教师登录,注册(button1,button2,button3),为他们加入颜色图片,设置布局,并添加监听(从而达到当鼠标进入时设置一种颜色图片,鼠标退出时设置一种颜色图片),当点击各自按钮时弹出对应按钮功能的弹窗(并为其传递一个信息:是哪个按钮点击我了,用于判断是学生登陆还是教师登录),最后为我们的主JFrame添加背景图片

    学生教师注册:在类Rigeister中:

    这里我们设置的为一个弹窗,依然也是为其设置绝对布局,其中设置一个下拉列表框用于选择学生注册和教师注册;三个label:“用户:”、“密码:”、“<”;两个文本框JTextField 用于输入用户名和密码,和一个注册JButton,然后为这个注册按钮和“<”设置监听(从而达到当鼠标进入时设置一种颜色图片,鼠标退出时设置一种颜色图片),当点击按钮时连接数据库查看这个用户名是否存在,是否已经注册,如果注册成功弹出注册成功的提示对话框,如果注册失败则弹出出错啦的提示对话框;当点击“<”时返回上一级,最后为这些组件设置布局,并为这个弹窗添加两个背景图片

    应用数据库代码实现:

    String type = register_JBox_type.getSelectedItem().toString();  //获取下拉列表框中选中的对象的信息
    
           String user = register_field_user.getText();
    
           String passwd = register_field_passwd.getText();
    
           String sql;
    
           if(type.equals("学生")) {
    
               sql ="select * from student";
    
               try {
    
                   int flag = 0;  //用于标识判断输入的用户名是否存在
    
                   rs = st.executeQuery(sql);
    
                   while(rs.next()) {
    
                       if(rs.getString("sno").equals(user))
    
                       {
    
                           flag = 1;
    
                           if(rs.getString("passwd") != null) {
    
                               JOptionPane.showMessageDialog(register_login_button, "用户已注册","【出错啦】",JOptionPane.ERROR_MESSAGE);   
    
                           }
    
                           else {         
    
                           String   sql2 = "update student set passwd=? where sno=?";
    
                           pst = con.prepareStatement(sql2);
    
                           pst.setString(2,user);
    
                           pst.setString(1,passwd);
    
                           pst.executeUpdate();
    
                           JOptionPane.showMessageDialog(register_login_button, "注册成功","OK",JOptionPane.INFORMATION_MESSAGE);
    
                           }
    
                           break;
    
                       }
    
                   }
    
                   if(flag == 0) {
    
                       JOptionPane.showMessageDialog(register_login_button, "用户名不存在","【出错啦】",JOptionPane.ERROR_MESSAGE); 
    
                   }
    
               } catch (SQLException e1) {
    
                   e1.printStackTrace();
    
               }
    
           }
    
           if(type.equals("教师")) {
    
               sql ="select * from user_teacher";
    
               try {
    
                   int flag = 0;  //用于标识判断输入的用户名是否存在
    
                   rs = st.executeQuery(sql);
    
                   while(rs.next()) {
    
                       if(rs.getString("id").equals(user))
    
                       {
    
                           flag = 1;
    
                           if(rs.getString("passwd") != null) {
    
                               JOptionPane.showMessageDialog(register_login_button, "用户已注册","【出错啦】",JOptionPane.ERROR_MESSAGE);   
    
                           }
    
                           else {         
    
                           String
                     sql2 = "update user_teacher set passwd=? where id=?";
                           pst = con.prepareStatement(sql2);
    
                           pst.setString(2,user);
    
                           pst.setString(1,passwd);
    
                           pst.executeUpdate();
    
                           JOptionPane.showMessageDialog(register_login_button, "注册","OK",JOptionPane.INFORMATION_MESSAGE);
    
                           }
    
                           break;
    
                       }
    
                   }
    
                   if(flag == 0) {
    
                       JOptionPane.showMessageDialog(register_login_button, "用户名不存在","【出错啦】",JOptionPane.ERROR_MESSAGE); 
    
                   }
    
               } catch (SQLException e1) {
    
                   e1.printStackTrace();
    
               }                  
    
           }
    

    学生、教师登录:在类Login中:

    我们设置的为一个弹窗,依然也是为其设置绝对布局,其中设置三个label:“用户:”、“密码:”、“<”;两个文本框JTextField 用于输入用户名和密码,和一个登录JButton,然后为这个登录按钮和“<”设置监听(从而达到当鼠标进入时设置一种颜色图片,鼠标退出时设置一种颜色图片),当点击按钮时弹出对应按钮功能的弹窗(并为其传递这个用户名信息,以便为学生登录后可以查看自己的答题成绩),然后连接数据库查看这个用户名是否存在,是否注册,密码是否正确;当点击“<”时返回上一级,最后为这些组件设置布局,并为这个弹窗添加两个背景图片

    应用数据库代码实现:

    String user = field_user.getText();
    
           String passwd = field_passwd.getText();
    
           String sql;
    
           if(button_text.equals("学生登录")) {
    
               sql ="select * from student";
    
               try {
    
                   int flag = 0;  //用于标识判断输入的用户名是否存在
    
                   rs = st.executeQuery(sql);
    
                   while(rs.next()) {
    
                       if(rs.getString("sno").equals(user))
    
                       {
    
                           flag = 1;
    
                           if(rs.getString("passwd") == null) {
    
                               JOptionPane.showOptionDialog(login_button, "用户未注册","警告",JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null,null,"OK");
    
                           }
    
                          else if(!rs.getString("passwd").equals(passwd)) {
    
                           JOptionPane.showMessageDialog(login_button, "用户名密码错误","【出错啦】",JOptionPane.ERROR_MESSAGE);
    
                               }
    
                           else {
    
                             JOptionPane.showMessageDialog(login_button, "登录成功","OK",JOptionPane.INFORMATION_MESSAGE);
    
                             new student(field_user.getText()).init();
    
                           }
    
                       break;
    
                       }
    
                   }
    
                   if(flag == 0) {
    
                       JOptionPane.showMessageDialog(login_button, "用户名不存在","【出错啦】",JOptionPane.ERROR_MESSAGE); 
    
                   }
    
               } catch (SQLException e1) {
    
                   e1.printStackTrace();
    
               }          
    
           }
    
           
    
           if(button_text.equals("教师登录")) {
    
               sql ="select * from user_teacher";
    
               try {
    
                   int flag = 0;  //用于标识判断输入的用户名是否存在
    
                   rs = st.executeQuery(sql);
    
                   while(rs.next()) {
    
                       if(rs.getString("id").equals(user))
    
                       {
    
                           flag = 1;
    
                           if(rs.getString("passwd") == null) {
    
                               JOptionPane.showOptionDialog(login_button, "用户未注册","警告",JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null,null,"OK");
    
                           }
    
                           else if(!rs.getString("passwd").equals(passwd)) {
    
                           JOptionPane.showMessageDialog(login_button, "用户名密码错误","【出错啦】",JOptionPane.ERROR_MESSAGE);
    
                               }
    
                           else
    
                           {
    
                               JOptionPane.showMessageDialog(login_button, "登录成功","OK",JOptionPane.INFORMATION_MESSAGE);
    
                               new
    teacher().init();
    
                           }
    
                       break;
    
                       }
    
                   }
    
                   if(flag == 0) {
    
                       JOptionPane.showMessageDialog(login_button, "【出错啦】","用户名不存在",JOptionPane.ERROR_MESSAGE);      
    
                   }
    
               } catch (SQLException e1) {
    
                   e1.printStackTrace();
    
               }          
    
           }
    

    以下代码太多就不一一放出来了,用文字逻辑代理

    学生答题界面:在类student中:

    这里也是弹窗、同理的布局;

    其中当点击学生成绩的时候查看学生成绩,也就是把从登录传递过来的学号连接数据库表student查询该学生的成绩;

    这里最重要的就是那个学生然后进行答题的,我先在该弹窗,也就是类student中定义了几个静态常量

    public static String []content;  //题目内容
    
    public static String []type;    //题目类型
    
    
    public static String []answer;  //题目答案
    
    
    public static String []answer_; //因为选择题只需要填A B C D 所以这个为 将选中的单选框的内容的第一个字符作为该选择题的答案
    
    
    public static float []g;   //该题的分值
    

    处理方法:当我们点击开始答题的按钮标签时,给它添加一个监听事件(里面连接数据库,并调用抽取套题的存储过程,然后将得到的套题储存在上面的5个静态数组中,然后初始值传入参数为第1题,并在此时new出第一个题目)

    如果此时是选择题,则把数组content[n]中的内容按照空格进行分割(因为为了得出A B C D选项我提前在数据库表中录入内容的时候特意在其中设置了空格),第一个为题目,其余四个为单选框中的文本

    如果是判断题,直接在单选框中设置两个选项,对、错

    如果是计算题或者填空题,则直接设置一个文本框,让学生把答案填入其中即可

    接着在点击下一题时,我们先连接数据库,把学生选择的答案与正确答案想比较,如果正确就为学生加相应的分值,否则则不做操作,接着我们再new 出下一道题

    如果是已经到了第五题,则判断完正确后,直接退出

    数据库代码实现:

    if(student.type[n].equals("判断题")||student.type[n].equals("选择题")) {
    
                   String a = group.getSelectedCheckbox().getLabel().substring(0,1);
    
    
                   if(a.equals(student.answer_[n])) {
    
                       sql = "update student set total_score = total_score + ? where sno = ?";
    
    
                       try {
    
                           pst = con.prepareStatement(sql);
    
                           pst.setFloat(1,student.g[n]);
    
                           pst.setString(2,student_user);
    
                           pst.executeUpdate();           
    
                       }
    catch (SQLException e1) {
    
                           e1.printStackTrace();
    
                       }   
    
                   }
    
               }
    
               if(student.type[n].equals("计算题")||student.type[n].equals("填空题")) {
    
                   String
    a = huida.getText();
    
                   if(a.equals(student.answer[n])) {
    
                       sql = "update student set total_score = total_score + ?  where sno = ?";
                       try {
    
                           pst = con.prepareStatement(sql);
    
                           pst.setFloat(1,student.g[n]);
    
                           pst.setString(2,student_user);
    
                           pst.executeUpdate();           
    
                       }
    catch (SQLException e1) {
    
                           e1.printStackTrace();
    
                       }   
    
                   }   
    
                   
    
               }
    
               if(n<4)        
    new start_promble(student_user,n+1).init();
    

    教师工作服务界面在:teacher类中:

    一样这里也是弹窗、同样的布局,只是实现的功能不一样而已:

    查看学生成绩 :这个我就是自己用JTabel、DefaultTableModel,然后连接数据库查询student表,最后把信息用弹窗显示出来

    插入题目:这个我设置了四个输入框:题目内容、题目答案、题目类型、题目章节。而题目编号因为为自增列,所以不用教师输入;题目被抽取的次数用默认值0,因为他还没有被抽取。当点击确定时insert into进problem表中

    删除题目:这个我直接设置了一个输入题目编号的输入框,因为题目编号在problem表中为主键。当点击确定时delete这个problem表中这条数据

    题目查询:这里分为题型查询和章节查询,这次连接数据库后分别调用的两个存储过程find_type_promble、find_chapter_promble,当回车时,信息显示在题目数量那个文本框中

    题型管理:这里分为题型信息表查询和插入题型,题型查询直接select promble_type表;插入题型有两个数输入框分别为:题目类型、题目分数,然后insert into promble_type表

    章节管理:这里分为章节信息表查询和插入题型,题型查询直接select chapter表;插入题型有两个数输入框分别为:题目类型、题目分数,然后insert into chapter表

    套题信息:这里分为套题信息表查询和套题汇总查询,套题汇总查询是直接select question表 ; 套题汇总查询是直接 select question_view 视图

    展开全文
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
  • 项目主要分为两块,一块是基础信息管理:科目管理题库管理,试卷生成,统计分析;另一块是系统管理:修改密码和用户管理。其中试卷生成可以按不同的分类将题目显示在可移动的弹窗内,题库管理的题目详情,是可以...
  • 试题管理系统设计与实现QuestionBank.zip
  • 有详细的java源代码 有很好很好看的界面设计设计细节(里面有一大堆素材)、包你...教师工作界面:可以查看学生成绩,对题目信息进行管理(章节、题型、插入删除操作)、查看学生已经答题过的题库,以及对其的管理
  • 3 系统的需求分析与设计 7 3.1可行性分析 7 3.2需求分析 7 3.2.1系统总体概述 8 3.2.2功能性需求 8 3.2.3非功能性需求 9 3.2.4流程图设计 9 3.2.5系统ER图设计 10 3.3 数据库设计 11 3.3.1数据库设计的原则 11 3.3.3...
  • 试题管理系统--数据库设计

    万次阅读 多人点赞 2017-12-28 09:14:02
    一、概要设计 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).判断题视图

     

     

    六、总结

     

     

    经过一周的设计和开发,试题库管理系统基本开发完毕。其功能基本符合学校管理者需求,
    能够完成各个专业各门学科的试题录入,根据要求自动成卷等多方面的功能。

     

     

     

    展开全文
  • 毕业论文源码试题管理系统设计与实现
  • 完整的试题管理系统,C#源代码程序,本系统使用的是SQL Server 2005 还有完整的试题管理系统文档 下载后,附加数据库即可用 我认为很好
  • 小学期课程设计题库管理系统,本系统主要功能是用户信息管理,试卷自动生成,试题管理,科目添加等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,506
精华内容 10,202
关键字:

题库设计管理系统