在线考试系统数据库设计与实现_第1页
在线考试系统数据库设计与实现_第2页
在线考试系统数据库设计与实现_第3页
在线考试系统数据库设计与实现_第4页
在线考试系统数据库设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

网上测试系统 1 29 西南财经大学西南财经大学 Southwestern University of Finance and Economics 课程实验报告课程实验报告 课程名称 课程名称 数据库数据库 学生姓名 学生姓名 周小钰 李佳颖周小钰 李佳颖 学学 院 院 经济信息工程学院经济信息工程学院 专专 业 业 计算机科学与技术计算机科学与技术 指导教师 指导教师 李李 玉玉 荣荣 20162016 年年 1212 月月 网上测试系统 2 29 1 1 课程设计题目与要求课程设计题目与要求 1 11 1 数据库设计题目数据库设计题目 设计和实现一个网上在线考试系统 系统应完成以下基本的业务 a 至少两个教师 每个教一门课程 b 每个班至少包含十名学生 c 教师能够修改试卷的题目并模仿一名同学参加一门考试 d 教师可提取一份试卷查卷 e 教师可检查其所教班级的成绩 任一学生的成绩以及查询全班的平均 成绩和总成绩 f 每一套题至少包括十道选择题 g 选择题自动阅卷 书写题人工阅卷 以上很粗略描述了网上考试系统的基本要求 你们可以根据实际问题 的需要 补充和细化系统的要求 本课程设计包括两个部分 数据库和用户界面 用户图形化界面基本 要求就是登录加试卷内容的提取 1 21 2 数据库设计要求数据库设计要求 a 使用 java c 语言 源程序要有适当的注释 使程序易于阅读 b 建议作出用户界面 c 学生可自动增加新功能模块 2 2 数据库设计过程数据库设计过程 2 12 1 需求分析需求分析 2 1 12 1 1 业务范围业务范围 a 增加 删除 维护学生账号 老师账号 课程信息和选课信息 b 在线出题 出题过程可修改试题 答题 分数 c 学生若有疑问可以由老师提出自己的答卷查卷 d 统计一个班的学生的成绩情况供老师分析 e 提取试题 2 1 22 1 2 业务流程业务流程 a 进入在线考试系统 b 通过输入账号密码判断身份 分别进入不同界面 1 进入管理员界面后获取管理员身份 管理员具有对整个系统 网上测试系统 3 29 的管理权限 可以管理所有账户 管理课程 以及对选课过程控制 2 进入教师界面后获取教师身份 教师有权自出题 对题库进 行管理以及对学生试卷进行查询 进入出题模块后 教师可自主命题 命题内容分为单选题和填空 题 进入改题模块后 首先判断是否已有人做题 若已存在完成题目 的记录 则执行修改题目功能 若无学生完成题目的记录 则执行修 改题目和答案两项功能 进入查询模块后 教师可执行试卷 答卷以学生成绩的查询功能 3 进入学生考试界面后 学生可选择参加考试或成绩查询 c 结束所有操作 退出界面 2 1 32 1 3 业务流程图业务流程图 图1 业务流程图 网上测试系统 4 29 2 22 2 概念结构设计概念结构设计 2 2 12 2 1 步骤步骤 a 抽象数据并设计局部视图 b 集成局部视图 得到全局概念结构 2 2 22 2 2 原则原则 a 忠实性 设计忠实于应用的具体要求 恰当地反映现实 b 尽可能减少冗余 c 简单性考虑 2 2 32 2 3 具体实现具体实现 图2 1 总ER图 网上测试系统 5 29 图2 2 管理员 图2 3 选课表 图2 4 课程信息 网上测试系统 6 29 图2 5 填空题库 图2 6 学生 图2 7 答卷 网上测试系统 7 29 图2 8 试卷 2 32 3 逻辑结构设计逻辑结构设计 2 3 12 3 1 设计目的设计目的 把概念结构设计阶段设计好的概念模型转换为逻辑模型 即将基本 E R 图通过转换规则转换为关系模型 然后根据优化方法得到优化的数 据模型 2 3 22 3 2 具体实现具体实现 将上述 E R 图转换优化后得到的关系模式为 Admin ID password Teacher tID password Student sno sname password Course cno cname Sc cno sno grade Paper cno sno titleno sanswer getscore Title cno titleno titlecontent answear score Title1 cno titleno titlecontent A B C D answear score Testpaper cno testpaperno titleno titlecontent 后期 title1 删去 统一使用了 title0 题库表表 网上测试系统 8 29 图2 9 ER图转关系模式 2 42 4 数据库实施和维护数据库实施和维护 针对数据库维护部分 我们小组将及时对该系统数据库进行备份 将各 用户信息保存在文件中 保证用户信息的安全性 3 3 运行结果运行结果 登入 以管理员为例 网上测试系统 9 29 管理员管理相关表信息 登入老师后出题 老师修改题目 网上测试系统 10 29 老师查卷 生成的视图 运行结果 网上测试系统 11 29 试卷提取 查看相关成绩信息 网上测试系统 12 29 学生答题后生成的数据 学生查询自己的成绩 后两门暂时没有考试 网上测试系统 13 29 登陆界面 网上测试系统 14 29 4 4 源代码源代码 4 14 1 建表建表 课程表 CREATE TABLE COURSE CNO CHAR 4 NOT NULL CNAME VARCHAR2 20 NOT NULL CONSTRAINT COURSE PK PRIMARY KEY CNO ENABLE 创建学生信息表 CREATE TABLE STUDENT SNO CHAR 9 NOT NULL SNAME CHAR 20 NOT NULL PASSWORD VARCHAR2 20 NOT NULL CONSTRAINT STUDENT PK PRIMARY KEY SNO ENABLE 创建选课表 CREATE TABLE SC CNO CHAR 4 NOT NULL SNO CHAR 9 NOT NULL GRADE CHAR 4 CONSTRAINT SC PK PRIMARY KEY CNO SNO ENABLE 网上测试系统 15 29 ALTER TABLE SC ADD CONSTRAINT SC FK1 FOREIGN KEY CNO REFERENCES COURSE CNO ENABLE ALTER TABLE SC ADD CONSTRAINT SC FK2 FOREIGN KEY SNO REFERENCES STUDENT SNO ENABLE 老师信息表 CREATE TABLE TEACHER TID CHAR 9 NOT NULL PASSWORD VARCHAR2 20 CONSTRAINT TEACHER PK PRIMARY KEY TID ENABLE 试题信息表 CREATE TABLE TITLE CNO CHAR 4 NOT NULL TITLENO CHAR 4 NOT NULL TITLECONTENT VARCHAR2 40 ANSWER VARCHAR2 10 网上测试系统 16 29 SCORE CHAR 4 CONSTRAINT TITLE PK PRIMARY KEY CNO TITLENO ENABLE ALTER TABLE TITLE ADD CONSTRAINT TITLE FK1 FOREIGN KEY CNO REFERENCES COURSE CNO ON DELETE CASCADE ENABLE 创建学生答题表 CREATE TABLE PAPER CNO CHAR 4 NOT NULL SNO CHAR 9 NOT NULL TITLENO CHAR 4 NOT NULL SANSWER VARCHAR2 10 GETSCORE CHAR 4 CONSTRAINT PAPER PK PRIMARY KEY CNO SNO TITLENO ENABLE ALTER TABLE PAPER ADD CONSTRAINT PAPER FK1 FOREIGN KEY CNO REFERENCES COURSE 网上测试系统 17 29 CNO ON DELETE CASCADE ENABLE ALTER TABLE PAPER ADD CONSTRAINT PAPER FK2 FOREIGN KEY SNO REFERENCES STUDENT SNO ON DELETE CASCADE ENABLE ALTER TABLE PAPER ADD CONSTRAINT PAPER FK3 FOREIGN KEY CNO TITLENO REFERENCES TITLE CNO TITLENO ON DELETE CASCADE ENABLE CREATE USER teacer1 IDENTIFIED BY 123456 4 24 2 存储过程存储过程 管理员存储过程 Create or replace procedure manastu sno in CHAR sname in char password in varchar2 Is Begin Insert into student Values SNO SNAME PASSWORD Commit End 网上测试系统 18 29 CALL MANASTU 4141051 赵日天 123456 Create or replace procedure manatea tid in CHAR password in varchar2 Is Begin Insert into teacher Values TID PASSWORD Commit End CALL MANATEA teacher1 123456 Create or replace procedure manacou cno in CHAR cname in varchar2 Is Begin Insert into course Values CNO cname Commit End CALL MANACOU 0001 课程 1 Create or replace procedure manasc cno in CHAR sno in char Is Begin Insert into SC Values cno sno NULL Commit End CALL MANASC 0001 41410051 出题存储过程 Create or replace procedure ks Cno input in CHAR Sno input in char Titleno input in char 网上测试系统 19 29 Sanswer input in varchar2 Is answer1 varchar2 10 score1 char 4 Cno1 char 4 Sno1 char 9 Begin Select cno sno INTO cno1 sno1 from sc WHERE o cno input and sc sno sno input exception when no data found then dbms output put line 没有选课不能考试 select answer score INTO answer1 score1 FROM title WHERE o cno input AND title titleno Titleno input if Sanswer input answer1 THEN Insert into paper Values cno input sno input titleno input sanswer inut score1 else Insert into paper Values cno input sno input titleno input sanswer inut 0 END IF Commit End Call KS 0001 41410051 01 B 修改题目存储过程 修改题目 create or replace procedure XGTM cno input in char titleno input in char titlecontent input in varchar2 is begin update title set title titlecontent titlecontent input WHERE o cno input AND title titleno titleno input commit 网上测试系统 20 29 end 修改答案 create or replace procedure XGDA cno input in char titleno input in char answer input in varchar2 is begin update title set title answer answer input WHERE o cno input AND title titleno titleno input commit end 修改分数 create or replace procedure XGFS cno input in char titleno input in char score input in char is begin update title set title score score input WHERE o cno input AND title titleno titleno input commit end 学生查卷过程 create or replace procedure CJ cno input in char sno input in char is v sql varchar2 1024 begin v sql create or replace VIEW PAPER VIEW titleno titlecontent answer sanswer gerscore AS SELECT 网上测试系统 21 29 title titleno title titlecontent title answer paper sanswer paper g etscore FROM title paper WHERE o o AND title titleno paper titleno AND paper sno sno input AND o cno input order by titleno EXECUTE IMMEDIATE v sql using cno input sno input end 成绩统计过程 学生考试完成点击提交时 create or replace procedure TJ cno input in char sno input in char is totle number 10 0 begin select SUM GETSCORE into totle from paper WHERE paper CNO cno input AND paper SNO sno input update sc set sc grade totle WHERE sc CNO cno input AND SC SNO sno input commit end call TJ 0001 41410050 4 34 3 查询查询 查卷 视图 CREATE or replace VIEW PAPER VIEW 41410051 titleno titlecontent answer sanswer gers core AS SELECT title titleno title titlecontent title answer paper sanswer paper getscore FROM title paper WHERE o o AND title titleno paper titleno AND paper sno 41410051 order by titleno 网上测试系统 22 29 查卷 sqlplus set linesize 200 pagesize 999 newpage Col answer format a47 SELECT title titleno title titlecontent 正确答案是 title answer 你 的答案是 paper sanswer 得分 paper getscore FROM title paper WHERE o o AND title titleno paper titleno AND paper sno 41410051 order by titleno 查看试题 SELECT title titleno title titlecontent FROM title WHERE o 0001 order by titleno 查看课程考试成绩情况 Select student sno student sname sc grade from student sc where o 0001 ANDsc sno student sno 查看课程平均分 Select avg grade from sc Where o 0001 4 44 4 登陆设计登陆设计 网上测试系统 23 29 由于做登陆的时候分表查询用户信息一直出 bug 经过搜索解决办法后 决定建立一个教师学生用户表来解决问题 create table P USER username CHAR 9 password VARCHAR2 20 从此表中只判断登陆是否成功 4 4 14 4 1 jspjsp 页面部分页面部分 login jsp login 欢迎使用在线考试系统 用户名 密码 Welcome jsp login 网上测试系统 24 29 欢迎使用在线考试系统 欢迎登陆 4 4 24 4 2 servletservlet 编写编写 UserServlet java package com baosight servlet import java io IOException import java io PrintWriter import javax servlet ServletException import javax servlet http HttpServlet import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse import com baosight bean UserBean Title UserServlet Description TODO Company author zxy date 2016 12 26 下午 10 50 57 public class UserServlet extends HttpServlet public void doGet HttpServletRequest request HttpServletResponse response throws ServletException IOException doPost request response 网上测试系统 25 29 public void doPost HttpServletRequest request HttpServletResponse response throws ServletException IOException String method request getParameter method if login equals method 登录 String username request getParameter username String password request getParameter password if username null equals username trim password null e quals password trim System out println 用户名或密码不能为空 response sendRedirect login jsp return UserBean userBean new UserBean boolean isValid userBean valid username password if isValid System out println 登录成功 request getSession setAttribute username username response sendRedirect welcome jsp return else System out println 用户名或密码错误 response sendRedirect login jsp return else if logout equals method 退出登录 System out println 退出登录 request getSession removeAttribute username response sendRedirect login jsp return 网上测试系统 26 29 4 4 34 4 3 javabeansjavabeans 编写编写 DBAcess java package com baosight bean import java sql Connection import java sql DriverManager import java sql ResultSet import java sql SQLException import java sql Statement 数据库操作类 Title DBAcess Description TODO Company author zxy date 2016 12 25 下午 12 40 24 public class DBAcess private String driver oracle jdbc driver OracleDriver private String url jdbc oracle thin 10 53 75 125 1158 orcl private String username system private String password 123456 private Connection conn private Statement stm private ResultSet rs 创建连接 public boolean createConn boolean b false try Class forName driver 加载 Oracle 驱动程序 conn DriverManager getConnection url username password b true catch SQLException e TODO Auto generated catch block e printStackTrace 获取连接 catch ClassNotFoundException e TODO Auto generated catch block e printStackTrace return b 网上测试系统 27 29 查询 public void query String sql try stm conn createStatement rs stm executeQuery sql catch SQLException e TODO Auto generated catch block e printStackTrace 判断有无数据 public boolean next boolean b false try if rs next b true catch SQLException e TODO Auto generated catch block e printStackTrace return b 获取表字段值 public String getValue String field String value null try if rs null value rs getString field catch SQLException e TODO Auto generated catch block e printStackTrace return value 关闭连接 public void closeConn try if conn null conn close catch SQLException e 网上测试系统 28 29 TODO Auto generated catch block e printStackTrace 关闭 statement public void closeStm try if stm null stm close catch SQLException e TODO Auto generat

温馨提示

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

评论

0/150

提交评论