数据库课程设计试卷信息管理系统_第1页
数据库课程设计试卷信息管理系统_第2页
数据库课程设计试卷信息管理系统_第3页
数据库课程设计试卷信息管理系统_第4页
数据库课程设计试卷信息管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、 数据库 课程设计 设计说明书 试卷信息管理系统 学生姓名 学号 班级 成绩 指导教师 计算机科学与技术系计算机科学与技术系 20092009 年年 1212 月月 2525 日日 数据库 课程设计评阅书 题目试卷信息管理系统试卷信息管理系统 学生姓名学号 指导教师评语及成绩 指导教师签名: 年 月 日 答辩评语及成绩 答辩教师签名: 年 月 日 教研室意见 总成绩: 室主任签名: 年 月 日 课程设计任务书 2009200920102010 学年第一学期学年第一学期 专业: 计算机科学与技术 学号: 0721024016 姓名: 课程设计名称: 数据库应用课程设计 设计题目: 试卷信息管理系

2、统 完成期限:自 2009 年 12 月 14 日至 2009 年 12 月 25 日共 2 周 设计依据、要求及主要内容: 综合考虑学校对试卷管理的各种需求,设计本系统。要求具有以下功能: (1) 系统用户登陆界面的设计,要求界面美观。 (2)系统中建立各种题型的数据库,如选择题库、填空题库、计算题、简答题库 (3)要求能随即抽取试卷。 (4)能设置一定的限制条件下,抽取试卷。 (5) 能最大限度的减少数据的冗余度。 (6)能根据需要动态的查询数据,并要求速度快。 (7)能随时为这些数据库录入试题,提供添加,修改,查询,删除等功能。 (8) 试卷生成后,能够自动产生标准答案。 (9)对系统进

3、行详细的测试,保证程序的健壮性,尽量不出现程序错误导致中断退出。 指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日 摘摘 要要 随着当今计算机技术的飞速发展,人们使用计算机也越来越广泛。本次课程设计是设 计一个模拟试卷信息管理系统。利用模拟试卷管理系统能够减轻了教师的工作量,全面提 高学校的教学管理效率及教学的质量,还可以避免试卷泄题现象的发生,也能测试试题的 难度,从而使学生能够得到一个好的考试体验。本次设计是利用 sql2005 对系统数据库进 行了设计,并且详细介绍了手动生成试卷、题库已有试卷管理、题库输入、题库修改等功 能。本次设计介绍的试卷管理系统是根据教学实际情况和

4、具体内容,按一定的要求,科学、 合理的进行系统分析和设计,从而使本系统能够满足经济性、灵活性、系统性及可靠性的 要求。 关键词关键词: : visual studio 2005;sql;窗体;试卷 目目 录录 1 课题描述.1 2 需求分析.2 2.1 系统管理.2 2.2 试卷生成管理.2 2.3 试题管理.2 2.4 用户管理.2 3 数据库的使用.3 3.1 数据记录查询.3 3.2 更新数据记录.3 3.3 插入数据记录.3 3.4 删除数据记录.3 3.5 数据库的创建.3 3.6 数据表的建立和删除.3 3.7 数据的插入.3 4 系统总体设计.4 4.1 系统功能模块图 .4 4

5、.2 数据概念结构设计e-r 模型.5 4.3 主要数据流图.6 4.3.1 试题添加、修改、删除流程: .6 4.3.2 试题的手动/自动生成 .6 4.4 数据逻辑结构设计 .7 5 系统功能实现.8 5.1 试题增、删、改的流程图.8 5.2 手动生成试卷的流程图 .9 6 试卷信息管理系统模块详细设计.10 6.1 登录模块的设计: .10 6.2 主界面模块设计:.11 6.3 修改密码模块的设计: .12 6.4 试题管理模块的设计: .13 6.5 生成试题模块的设计:.15 总结.16 参考资料.17 1 1 课题描述课题描述 在当前中国教育形式下,对学生的评价很大程度上还是侧

6、重于学生的成绩,所以老师 对学生的试卷测试是必不可少的。那么,要提高测试的质量,让学生得到一次良好的测试 体验,更好的提高学习水平,就必须在出题上下足功夫。 随着 it 业的迅速发展,计算机的应用已逐渐进入到社会生活中的各个领域,数据库系 统也越来越多的被人们使用。 本次设计就是为了解决学校平时对学生进行测试时遇到的一些问题,使得老师的工作 量大大减少,而且也提高了学校对学生学习水平的测试质量,使学生能够得到更大的提高。 最终达到提高学校的教学质量的目的。 2 2 需求分析需求分析 2.12.1 系统管理系统管理 当前用户可以对系统进行锁定以保存当前正在的操作,以便过一段时间可以继续操作, 而

7、防止其他人操作。另外当前用户还可以修改自己的密码。 2.22.2 试卷生成管理试卷生成管理 这个模块是手动对选择、填空、简答、计算题型的选择生成试卷以及自动生成整套试 卷。 2.32.3 试题管理试题管理 这是管理员对数据库的更新和管理的一个重要步骤,这时保证试题的多样性和丰富性 的重要保证,管理员只要按照界面中的提示要求进行输入内容就可以了,通过添加、修改、 删除按钮对试题进行相关操作,并保存试题。 2.42.4 用户管理用户管理 管理员可以通过添加、编辑、删除按钮对用户信息进行操作。 3 3 数据库数据库的使用的使用 3.13.1 数据记录查询数据记录查询 sql=select*from

8、数据表 where 字段名=字段值 3.23.2 更新数据记录更新数据记录 sql=update 数据表 set 字段名=字段值 where 条件表达式 3.33.3 插入数据记录插入数据记录 sql=insert into 数据表(字段 1,字段 2,字段 3)values(值 1,值 2,值 3) sql=insert into 目标数据表 select 字段名 from 源数据表(把源数据表的记录添 加 到目标数据表) 3.43.4 删除数据记录删除数据记录 sql=delete from 数据表 where 条件表达式 3.53.5 数据库的创建数据库的创建 if exists(sel

9、ect * from sysdatabases where name=要创建的数据 库名 ) drop database 已存在的同名数据库名 create database 要创建的数据库名 3.63.6 数据表的建立和删除数据表的建立和删除 create table 数据表名称(字段 1 类型 1(长度),字段 2 类型 2(长度) drop table 数据表名称(永久性删除一个数据表) 3.73.7 数据的插入数据的插入 insert into 数据表名称(字段 1 类型 1(长度),字段 2 类型 2(长度) select 字段 1 值,字段 2 值 union select 字段

10、1 值,字段 2 值 union select 字段 1 值,字段 2 值 4 4 系统总体设计系统总体设计 4.14.1 系统功能模块图系统功能模块图 如图 4-1 所示的系统功能模块图: 先使用账号和密码登入,管理员登入后可以使用按所有的功能:自动生成试卷、手动 生成试卷、题库添加/修改/删除、帮助、系统管理和用户管理。 图 4-1 系统功能模块图 系统登录 试卷管理系统 用户管理试题管理生成试题 手 动 生 成 试 卷 自 动 生 成 试 卷 添 加 试 卷 删 除 试 卷 修 改 试 题 添 加 用 户 信 息 删 除 用 户 信 息 使 用 指 南 修 改 用 户 信 息 系统 修

11、改 密 码 系 统 锁 定 退 出 系 统 帮助 关 于 软 件 试题预览 预 览 生 成 试 题 产 生 标 准 答 案 4.4.2 2 数据概念结构设计数据概念结构设计e-re-r 模型模型 这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它 们之间的关系,为后面的逻辑结构设计打下基础。 本实例根据上面的设计规划出的实体有:管理员、试题、生成的试题。 实体与实体之间的系 e-r 如图 4-2 所示: 图 4-2 管理员、试题和生成的试题 e-r 图 管理员 管理 试题 生成 年龄 姓名 答案 题号 内容 题型 题型 生成的 试题 题号 保存 密码 性别 电话 qq

12、答案 内容 4.34.3 主要数据流图主要数据流图 .1 试题添加、修改、删除流程试题添加、修改、删除流程: : 管理员登入界面后通过试题管理进来试题添加、修改、删除界面。通过选项卡进入各 种试题的管理界面。添加试题就是输入相关的数据,通过添加按钮自动保存到数据库中。 修改试题就是找到要修改的试题后对试题进行修改,改后通过修改按钮保存试题,试题就 加入数据库。删除试题就是找到要删除的题目进行删除,试题就从数据库中删除。 输入数据(增、删、 改) 数据不保 存 数据保存 存入数据 库 n y 试题要求 符合 图 4-3 试题增、删、改流程图 .2 试题的手动试题的

13、手动/ /自动生成自动生成 管理员登入界面后通过试题管理进来试题手动、自动生成。通过选项卡进入各种试题 的管理界面。手动生成就是输入相应的题号,通过加载按钮自动加入到数据库中相应的表 里。自动生成就是通过自动生成项随机产生试题加入到数据库中相应的表里。 图 4-4 试题修改和删除流程图 管理员试题管理进入不同的题型界面 管理员生成试题自动生成项 调用数据库 中相应表 进入不同的题型界面 试题要求 符合 数据保存 存入数据库 中相应表 数据不保 存 4.44.4 数据逻辑结构设计数据逻辑结构设计 打开 microsoft sql server 2005,从建库向导中创立一个名叫 wangqian

14、g.mdb 的数据库,并在按如下步骤此数据库中创立如下的表。 表 3-1 testqs(题库) 字段名称数据类型说明字段大小主键 t_id 数字题号 4 是 t_content 文本内容 max t_option 文本答案 max t_type 数字题型 4 表 3-2 usering(用户) 字段名称数据类型说明字段大小主键 name 文本用户姓名 10 是 sex 文本性别 4 password 文本密码 15 age 数字年龄 2 telphone 文本电话号码 20 qq 文本qq 号 10 表 3-3 test(生成的试卷) 字段名称数据类型说明字段大小主键 t_id 数字题号 4

15、是 t_content 文本内容 max t_type 数字题型 4 表 3-4 answer(答案) 字段名称数据类型说明字段大小主键 t_id 数字题号 4 是 t_option 文本答案 max 5 5 系统功能实现系统功能实现 5.15.1 试题增、删、改的流程图试题增、删、改的流程图 管理员登陆后进入试题管理界面,可以对通过选项卡对不同的题型进行添加、删除、 修改等功能。 图 5-1 抽取现有试卷的流程图 y n 简答题 程序开始 试题管理 填空题 输入试题 选择题 题号 选题 添加 结束 选择题 输出试题输出试题 修改 删除 自动保存 改题 5.25.2 手动生成试卷的流程图手动生

16、成试卷的流程图 管理员登陆后进入生成试卷界面,可以自动生成试卷和手动生成试卷执行输出试卷、 预览答案执行输出答案和保存试卷则把改试卷存入数据库。 图 5-2 手动生成试卷的流程图 ny 试 题 信 息 程序开始 保存试卷 加载 题号 结束 计算题 试题管理 填空题选择题简答题 选题 6 6 试卷信息管理系统模块详细设计试卷信息管理系统模块详细设计 6.16.1 登录模块的设计:登录模块的设计: 登录窗体: 登录成体的主要程序: if (this.txtname.text.trim() = ) messagebox.show(账号不能为空!); else if (this.txtpwd.text

17、.trim() = ) messagebox.show(密码不能为空!); string conn = data source=microsof-19af59;initial catalog=db_test;persist security info=true;user id=wangqiang;password=wang1987qiang; sqlconnection con = new sqlconnection(conn); con.open(); string comm = select count(*) from usering where username=用户名 and pass

18、word=密码; sqlcommand com = new sqlcommand(comm, con); com.parameters.add(new sqlparameter(用户名, sqldbtype.char); com.parameters.add(new sqlparameter(密码, sqldbtype.char); com.parameters用户名.value = txtname.text; com.parameters密码.value = txtpwd.text; com.executenonquery(); int i = convert.toint32(com.exe

19、cutescalar(); if (i 0) menu sm = new menu();sm.show(); this.hide(); /将自身隐藏 else messagebox.show(密码错误或账号错误!); 6.26.2 主界面模块设计:主界面模块设计: 主界面窗体: 主界面的设计程序: private void aboutsoftware_click(object sender, eventargs e) aboutsoftware sm = new aboutsoftware(); sm.show(); this.hide(); private void uermanage_cl

20、ick(object sender, eventargs e) usermanage sm = new usermanage(); sm.show(); private void handtest_click(object sender, eventargs e) handtest sm = new handtest(); sm.show(); private void autotest_click(object sender, eventargs e) test sm = new test(); sm.show(); private void operatguide_click(object

21、 sender, eventargs e) guid sm = new guid(); sm.show(); 6.36.3 修改密码模块的设计修改密码模块的设计: 修改密码的窗体: 修改密码的程序: if (this.textbox4.text.trim() = ) messagebox.show(用户名不能为空); textbox4.focus(); else if (this.textbox1.text.trim() = ) messagebox.show(旧密码不能为空); textbox1.focus(); else if (this.textbox1.text.trim() = )

22、messagebox.show(新密码不能为空); else if (this.textbox2.text.trim() = ) messagebox.show(再次输入密码不能为空); else string conn; string comm; tion(conn); ); if (i 0) if (textbox3.text = textbox2.text) string conn1 = data source=microsof-19af59;initial else messagebox.show(两次输入密码不一致); else messagebox.show(密码错误或账号错误!)

23、; 6.46.4 试题管理模块的设计试题管理模块的设计: : 试题管理窗体: 试题管理程序的设计: 填空题的添加、删除、修改的设计程序如下(其他题型的增删改于此类似): private void testmanage_load(object sender, eventargs e) string sql = select * from testqs where t_type = 1; this.finddata(sql, this.datagridview1); sql = select * from testqs where t_type = 4; this.finddata(sql, th

24、is.datagridview2); sql = select * from testqs where t_type = 5; this.finddata(sql, this.datagridview3); sql = select * from testqs where t_type = 3; this.finddata(sql, this.datagridview4); private void finddata(string sql, datagridview tempdata) string conn = data source=microsof-19af59;initial cata

25、log=db_test;persist security info=true;user id=wangqiang;password=wang1987qiang; sqlconnection con = new sqlconnection(conn); dataset ds = new dataset(); sqldataadapter dataadapter = new sqldataadapter(sql, con); dataadapter.fill(ds); tempdata.datasource = ds.tables0; con.close(); /关闭数据库连接 private v

26、oid button2_click(object sender, eventargs e) string conn; string del; conn = data source=microsof-19af59;initial catalog=db_test;persist security info=true;user id=wangqiang;password=wang1987qiang ; del = delete from testqs where t_id=题号; sqlconnection con = new sqlconnection(conn); con.open(); sql

27、command com = new sqlcommand(del, con); com.parameters.add(new sqlparameter(题号, sqldbtype.char); com.parameters题号.value = textbox2.text; com.executenonquery(); con.close(); private void button1_click(object sender, eventargs e) string conn; string upd; conn = data source=microsof-19af59;initial cata

28、log=db_test;persist security info=true;user id=wangqiang;password=wang1987qiang ; upd = updste testqs set t_id =题号,t_content=题目,t_type=题型, t_option=答案 where t_id =题号; sqlconnection con = new sqlconnection(conn); con.open(); sqlcommand com = new sqlcommand(upd, con); com.parameters.add(new sqlparamet

29、er(题号, sqldbtype.int); com.parameters.add(new sqlparameter(题目, sqldbtype.char); com.parameters.add(new sqlparameter(题型, sqldbtype.char); com.parameters.add(new sqlparameter(答案, sqldbtype.char); com.parameters题号.value = int.parse(textbox2.text); com.parameters题目.value = richtextbox1.text; com.paramet

30、ers答案.value = richtextbox2.text; com.parameters题型.value = 1; com.executenonquery(); con.close(); private void button3_click(object sender, eventargs e) string conn; string insert1; conn = data source=microsof-19af59;initial catalog=db_test;persist security info=true;user id=wangqiang;password=wang19

31、87qiang ; insert1 = insert into testqs(t_id ,t_content,t_option,t_type)values(题号, 题目,答案,题型); sqlconnection con = new sqlconnection(conn); con.open(); sqlcommand com = new sqlcommand(insert1, con); 6.56.5 生成试题模块的设计:生成试题模块的设计: 手动生成试题的窗体: 手动生成试题的程序设计: private void handtest_load(object sender, eventargs

32、 e) string sql = select * from testqs where t_type = 1; this.finddata(sql,this.datagridview1); sql = select * from testqs where t_type = 2; this.finddata(sql, this.datagridview2); sql = select * from testqs where t_type = 3; this.finddata(sql, this.datagridview3); sql = select * from testqs where t_

33、type = 4; this.finddata(sql, this.datagridview4); private void finddata(string sql, datagridview tempdata) string conn = data source=microsof-19af59;initial catalog=db_test;persist security info=true;user id=wangqiang;password=wang1987qiang; sqlconnection con = new sqlconnection(conn); dataset ds = new dataset(); sqldataadapter data

温馨提示

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

评论

0/150

提交评论