数据库课程设计试卷信息管理系统.doc

上传人:laozhun 文档编号:2395662 上传时间:2023-02-17 格式:DOC 页数:22 大小:485KB
返回 下载 相关 举报
数据库课程设计试卷信息管理系统.doc_第1页
第1页 / 共22页
数据库课程设计试卷信息管理系统.doc_第2页
第2页 / 共22页
数据库课程设计试卷信息管理系统.doc_第3页
第3页 / 共22页
数据库课程设计试卷信息管理系统.doc_第4页
第4页 / 共22页
数据库课程设计试卷信息管理系统.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数据库课程设计试卷信息管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计试卷信息管理系统.doc(22页珍藏版)》请在三一办公上搜索。

1、 数据库 课程设计设计说明书试卷信息管理系统学生姓名学号班级成绩指导教师计算机科学与技术系2009年12月 25日 数据库 课程设计评阅书题目试卷信息管理系统学生姓名学号指导教师评语及成绩指导教师签名: 年 月 日答辩评语及成绩答辩教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日课程设计任务书20092010学年第一学期专业: 计算机科学与技术 学号: 0721024016 姓名: 课程设计名称: 数据库应用课程设计 设计题目: 试卷信息管理系统 完成期限:自 2009 年 12 月 14 日至 2009 年 12 月 25 日共 2 周设计依据、要求及主要内容:综合考虑学校

2、对试卷管理的各种需求,设计本系统。要求具有以下功能:(1) 系统用户登陆界面的设计,要求界面美观。(2)系统中建立各种题型的数据库,如选择题库、填空题库、计算题、简答题库(3)要求能随即抽取试卷。(4)能设置一定的限制条件下,抽取试卷。(5) 能最大限度的减少数据的冗余度。(6)能根据需要动态的查询数据,并要求速度快。(7)能随时为这些数据库录入试题,提供添加,修改,查询,删除等功能。 (8) 试卷生成后,能够自动产生标准答案。(9)对系统进行详细的测试,保证程序的健壮性,尽量不出现程序错误导致中断退出。指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要随着当今计算机技术的

3、飞速发展,人们使用计算机也越来越广泛。本次课程设计是设计一个模拟试卷信息管理系统。利用模拟试卷管理系统能够减轻了教师的工作量,全面提高学校的教学管理效率及教学的质量,还可以避免试卷泄题现象的发生,也能测试试题的难度,从而使学生能够得到一个好的考试体验。本次设计是利用SQL2005对系统数据库进行了设计,并且详细介绍了手动生成试卷、题库已有试卷管理、题库输入、题库修改等功能。本次设计介绍的试卷管理系统是根据教学实际情况和具体内容,按一定的要求,科学、合理的进行系统分析和设计,从而使本系统能够满足经济性、灵活性、系统性及可靠性的要求。关键词: visual studio 2005;SQL;窗体;试

4、卷目 录1课题描述12 需求分析22.1 系统管理22.2 试卷生成管理22.3 试题管理22.4 用户管理23 数据库的使用33.1 数据记录查询33.2 更新数据记录33.3 插入数据记录33.4 删除数据记录33.5 数据库的创建33.6 数据表的建立和删除33.7 数据的插入34 系统总体设计44.1 系统功能模块图44.2 数据概念结构设计E-R模型54.3 主要数据流图64.3.1 试题添加、修改、删除流程:64.3.2 试题的手动/自动生成64.4 数据逻辑结构设计75 系统功能实现85.1试题增、删、改的流程图85.2 手动生成试卷的流程图96试卷信息管理系统模块详细设计106

5、.1 登录模块的设计:106.2主界面模块设计:116.3 修改密码模块的设计:126.4 试题管理模块的设计:136.5生成试题模块的设计:15总结16参考资料171课题描述在当前中国教育形式下,对学生的评价很大程度上还是侧重于学生的成绩,所以老师对学生的试卷测试是必不可少的。那么,要提高测试的质量,让学生得到一次良好的测试体验,更好的提高学习水平,就必须在出题上下足功夫。随着IT业的迅速发展,计算机的应用已逐渐进入到社会生活中的各个领域,数据库系统也越来越多的被人们使用。本次设计就是为了解决学校平时对学生进行测试时遇到的一些问题,使得老师的工作量大大减少,而且也提高了学校对学生学习水平的测

6、试质量,使学生能够得到更大的提高。最终达到提高学校的教学质量的目的。2 需求分析2.1 系统管理当前用户可以对系统进行锁定以保存当前正在的操作,以便过一段时间可以继续操作,而防止其他人操作。另外当前用户还可以修改自己的密码。2.2 试卷生成管理这个模块是手动对选择、填空、简答、计算题型的选择生成试卷以及自动生成整套试卷。2.3 试题管理这是管理员对数据库的更新和管理的一个重要步骤,这时保证试题的多样性和丰富性的重要保证,管理员只要按照界面中的提示要求进行输入内容就可以了,通过添加、修改、删除按钮对试题进行相关操作,并保存试题。 2.4 用户管理管理员可以通过添加、编辑、删除按钮对用户信息进行操

7、作。3 数据库的使用3.1 数据记录查询sql=select*from数据表where字段名=字段值3.2 更新数据记录sql=update数据表set字段名=字段值where条件表达式3.3 插入数据记录sql=insert into数据表(字段1,字段2,字段3)values(值1,值2,值3)sql=insert into目标数据表select字段名from源数据表(把源数据表的记录添加到目标数据表)3.4 删除数据记录sql=delete from数据表where条件表达式3.5 数据库的创建 IF EXISTS(SELECT * FROM sysDatabases WHERE nam

8、e=要创建的数据库名) DROP DATABASE 已存在的同名数据库名CREATE DATABASE 要创建的数据库名3.6 数据表的建立和删除CREATE TABLE数据表名称(字段1类型1(长度),字段2类型2(长度) DROP TABLE数据表名称(永久性删除一个数据表)3.7 数据的插入 INSERT INTO数据表名称(字段1类型1(长度),字段2类型2(长度) SELECT 字段1值,字段2值 UNIONSELECT 字段1值,字段2值 UNION SELECT 字段1值,字段2值 4 系统总体设计4.1 系统功能模块图如图 4-1所示的系统功能模块图:先使用账号和密码登入,管理

9、员登入后可以使用按所有的功能:自动生成试卷、手动生成试卷、题库添加/修改/删除、帮助、系统管理和用户管理。系统登录试卷管理系统用户管理帮助试题管理系统生成试题关于软件添加用户信息修改用户信息删除用户信息退出系统系统锁定修改密码删除试卷添加试卷修改试题使用指南手动生成试卷自动生成试卷试题预览产生标准答案预览生成试题图 4-1 系统功能模块图4.2 数据概念结构设计E-R模型这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。本实例根据上面的设计规划出的实体有:管理员、试题、生成的试题。实体与实体之间的系E-R如图 4-2所示:年龄

10、姓名密码性别管理员QQ电话管理内容题号试题题型答案生成保存生成的试题题型内容答案题号图 4-2 管理员、试题和生成的试题E-R图4.3 主要数据流图4.3.1 试题添加、修改、删除流程:管理员登入界面后通过试题管理进来试题添加、修改、删除界面。通过选项卡进入各种试题的管理界面。添加试题就是输入相关的数据,通过添加按钮自动保存到数据库中。修改试题就是找到要修改的试题后对试题进行修改,改后通过修改按钮保存试题,试题就加入数据库。删除试题就是找到要删除的题目进行删除,试题就从数据库中删除。进入不同的题型界面试题管理 管理员输入数据(增、删、改)数据不保存数据保存存入数据库NY试题要求符合图 4-3

11、试题增、删、改流程图4.3.2 试题的手动/自动生成调用数据库中相应表管理员登入界面后通过试题管理进来试题手动、自动生成。通过选项卡进入各种试题的管理界面。手动生成就是输入相应的题号,通过加载按钮自动加入到数据库中相应的表里。自动生成就是通过自动生成项随机产生试题加入到数据库中相应的表里。自动生成项生成试题 管理员进入不同的题型界面试题要求符合数据保存存入数据库中相应表数据不保存图 4-4 试题修改和删除流程图4.4 数据逻辑结构设计打开Microsoft SQL Server 2005,从建库向导中创立一个名叫wangqiang.mdb的数据库,并在按如下步骤此数据库中创立如下的表。 表3-

12、1 testqs(题库)字段名称数据类型说明字段大小主键t_id数字题号4是t_content文本内容maxt_option文本答案maxt_type数字题型4表3-2 USERING(用户)字段名称数据类型说明字段大小主键name文本用户姓名10是sex文本性别4password文本密码15age数字年龄2telphone文本电话号码20QQ文本QQ号10表3-3 test(生成的试卷)字段名称数据类型说明字段大小主键t_id数字题号4是t_content文本内容maxt_type数字题型4表3-4 answer(答案)字段名称数据类型说明字段大小主键t_id数字题号4是t_option文本

13、答案max5 系统功能实现 5.1试题增、删、改的流程图管理员登陆后进入试题管理界面,可以对通过选项卡对不同的题型进行添加、删除、修改等功能。程序开始试题管理选择题选择题填空题简答题输入试题选题添加输出试题输出试题改题修改删除Y题号自动保存N结束图 5-1抽取现有试卷的流程图5.2 手动生成试卷的流程图管理员登陆后进入生成试卷界面,可以自动生成试卷和手动生成试卷执行输出试卷、预览答案执行输出答案和保存试卷则把改试卷存入数据库。程序开始试题管理选择题简答题填空题计算题选题加载题号Y试题信息N保存试卷结束图 5-2手动生成试卷的流程图6试卷信息管理系统模块详细设计 6.1 登录模块的设计: 登录窗

14、体:登录成体的主要程序:if (this.txtName.Text.Trim() = )MessageBox.Show(账号不能为空!); else if (this.txtPwd.Text.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 SqlConnect

15、ion(conn);con.Open();string comm = select count(*) from USERING where username=用户名 and password=密码;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.Pa

16、rameters密码.Value = txtPwd.Text;com.ExecuteNonQuery();int i = Convert.ToInt32(com.ExecuteScalar();if (i 0) menu sm = new menu();sm.Show(); this.Hide(); /将自身隐藏 else MessageBox.Show(密码错误或账号错误!);6.2主界面模块设计:主界面窗体:主界面的设计程序:private void aboutSoftware_Click(object sender, EventArgs e) aboutSoftware sm = new

17、 aboutSoftware(); sm.Show(); this.Hide(); private void uerManage_Click(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) tes

18、t sm = new test(); sm.Show(); private void operatGuide_Click(object sender, EventArgs e) guid sm = new guid(); sm.Show();6.3 修改密码模块的设计: 修改密码的窗体: 修改密码的程序:if (this.textBox4.Text.Trim() = ) MessageBox.Show(用户名不能为空); textBox4.Focus(); else if (this.textBox1.Text.Trim() = ) MessageBox.Show(旧密码不能为空); text

19、Box1.Focus(); else if (this.textBox1.Text.Trim() = ) 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 Message

20、Box.Show(两次输入密码不一致); else MessageBox.Show(密码错误或账号错误!); 6.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

21、_type = 4;this.FindData(sql, this.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=MI

22、CROSOF-19AF59;Initial Catalog=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.C

23、lose(); /关闭数据库连接 private void 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

24、(conn);con.Open();SqlCommand 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-19A

25、F59;Initial Catalog=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

26、SqlParameter(题号, 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.Par

27、ameters答案.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=wang198

28、7qiang ;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.5生成试题模块的设计: 手动生成试题的窗体: 手动生成试题的程序设计:private void handTest_Load(object sender, EventArgs e) String sql = SELEC

29、T * 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_type = 4;this.FindData(sql,

30、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

31、Adapter = new SqlDataAdapter(sql, con);dataAdapter.Fill(ds);tempData.DataSource = ds.Tables0;con.Close(); /关闭数据库连接private void button1_Click(object sender, EventArgs e) string conn;string sel1;SqlCommand com = new SqlCommand(sel1, con);com.Parameters.Add(new SqlParameter(题号, SqlDbType.Int);com.Param

32、eters题号.Value = int.Parse(textBox1.Text);com.ExecuteNonQuery();con.Close();总结 本次课程设计让我学到了不少知识,虽然是一个数据库课设,但它并不是一个简单的数据库知识就能够完成的。我们本次课程设计的难点就出现在设计前台窗口和前后台之间的链接上。本次课设的前台窗口我们运用了winform来设计,对于winform我也是初次见到。因此,我也只能现学现用,粗略了解winform的一些基础知识。在设计的过程中也遇到了一些困难,比如如何抽取试卷、前台和数据库的连接等问题,幸亏有老师的细心讲解和同学们提供的帮助,我才得以完成本次课设

33、。我必须承认这次课设做的不是很好,有一些功能还是很不完善。这主要是我没有很好的掌握数据库和winform的一些知识。因此,我也将在以后都是学习中进行补救。通过本次课程设计,我也认识到了自己在学习过程中还存在很多漏洞。我将更加人之的投入到以后的学习当中。参考资料1 刘大伟,马传宝,孙颖洁.SQL Server 数据库项目案例导航.北京.清华大学出版社.20052 洪恩著. C#程序设计入门M.长沙:人民邮电出版社,20083 章立民著. Visual C#2005程序开发与界面设计秘诀M.北京:清华大学出版社,20084 岳付强. SQL Server 2005从入门到实践.北京. 清华大学出版社.20095 严波著. SQL Server2005数据库案例教程M.武汉:中国水利水电,20096 吴雷.Visual Studio 2005高级编程. 北京. 清华大学出版社.20087 李华越.Visual C#2005+SQL Server 2005数据库开发与实例.北京.人民邮电出版社.2008

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号