《自动出题系统毕业设计论文.doc》由会员分享,可在线阅读,更多相关《自动出题系统毕业设计论文.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录自动出题系统目录一、绪论11引言11.1设计目的及课题背景12任务描述12.1目标12.2运行环境13数据描述23.1输入数据23.2输出数据24功能要求2二、需求分析21需求调查21.1组织机构调查21.2业务需求调查22功能需求32.1功能划分32.2功能描述33数据描述43.1数据描述43.2数据库描述53.2.1关系描述的设计53.2.2数据库的逻辑设计63.2.3数据库的物理设计64性能需求84.1数据精确度84.2适应性85运行需求85.1用户界面85.2硬件接口85.3基本要求8三、总体设计91总体结构和模块设计91.1功能结构91.2模块设计92、数据结构93、数据库设计9
2、3.1数据库的逻辑设计93.2.3数据库的物理设计104外部接口设计124.1用户界面12四、详细设计151程序设计15五、系统实现18六、系统测试401测试方案401.1测试原则:40测试应该“尽早地和不断地进行”。测试规模由小到大。401.2测试方法:402测试项目说明403评价.4027 第 27 页 共 27 页一、 绪论1引言一般情况教师想出一份试卷,要么到庞大的题库里一道一道的把题找出来,或是从几本相关的书里把题一道一道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助教师轻松的出一份高质量的试卷而开发了本软件。为了达到预期的目标我们最终选择了M
3、icrosoft Office Word做为本软件的终端输出。本软件是在对现有控件的改进和C#编程的研究的基础上开发的。本软件实现了以下主要功能:1.手动生成试卷;2.学生账号管理;3.题库管理;4.考试管理;5.数据库管理。大量的测试表明本软件在Windows 98me2000XP平台配合Office XP2003 的环境下程序运行稳定且各项功能运行得都很正确,基本达到了预期的要求! 结论:经过老师的实际试用本软件在界面上和功能上都有独到之处!相信完全可以胜任出一份好的试卷任务。Abstract The general situation teacher thinks out a paper
4、,reach huge exam pool each finds out the question, or shoulder the question together out from several relevant books. Time-consuming and also strenuous like this, and very difficult to guarantee coverage rate and paper degree of difficulty of examination question. Helping the teacher thinks out a hi
5、gt quality paper is the destination of develop this Software. In the cause of this we select the terminal is Microsoft Office Word. This Softwares base of develop is improve on control in existence and study the VBA programing. These functions of this software are as follows: One. Manual create pape
6、r; Two. Auto create paper; Three. Select from existential papers; Four. User manage; Five. Database manage. The result of many test is that this software is runing steady and these funtions of it is runing right in the environment which make up of Windows 98me2000XP and Office XP2003, it is basic re
7、ach the requests. In all: the result of real test by teacher is that this software are unique in interface and function. We must believe it can complete creating a high quality paper. 1.1设计目的及课题背景在当今社会,计算机的应用已经普及到社会的各个部分,它代表着现代的气息,是现代化的象征之一。学校是科学人才的培养基地,是现代化的领头人,那么计算机的使用更是普遍的。在教学的各个部分都会逐渐的涉入。随着国家教育事
8、业的发展,对学生及老师的要求也越来越高,其中对老师的要求之一就是要能提高学生的学习成绩,而学生的成绩则体现在平时的测验中和升学考试的成绩中,那么试卷的出题水平就很重要了。但是对于学生的进步和学习能力的提高,作为老师无法随时都有精力和时间去出适应学生的考卷,以往的人工手动出题方式不仅会导致教学的个人经验主义,而且使人力与物力过多浪费,教师的工作负担过重,同样对学生的成绩的提高也有影响,就会影响整个教育机构的运作和控制管理。因此,必须制定一套合理、有效,规范和实用的试卷自动生成管理系统,对试题资料以及试卷资料进行集中统一的管理。随着计算机的广泛应用,越来越多的学校均选用了计算机化的管理模式。以前的
9、试卷的查询、修改、试题的编写等都是教师用笔起草在纸上,经过商量认为难易度还是比较适中,才决定输入计算机,经过排版打印。为了更好的利用计算机管理系统,制作一套试卷自动生成系统,是试题由教师直接输入到数据库,然后建立一个文件夹专门用来装试卷文档,和相应的答案,这样就使试卷和试题方便管理,易于更新,管理工作将会更安全,更方便,更实用。 本课题主要研究的是运用可视化程序设计和数据库进行开发的一个基于winform的试卷自动生成系统,系统开发的总的设计目标是实现试卷生成的系统化、规范化和自动化,实现对试卷试题资料的集中统一的管理。2任务描述管理员登录后1、学生账号管理2、试题名称管理:例如第一套试题3、
10、试题管理:一套试题弄20道题就行,一题5分学生登录后1、选择哪一份试题,然后答完题后,评分2.1目标采用C#和ADO.NET等开发技术基本上实现自动出题系统的用户登录,学生账号管理、试卷管理、题库管理。2.2运行环境需要在电脑上安装vs2010和sqlserver数据库。C#是微软公司发布的目前最流行的基于Windows平台应用程序开发集成环境。此开发环境中支持的C#是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。其中用于与SQL Server数据库相连的C#组件模型很好地融入了.NET Framework,拥有.NET Framework的平台无关、高效
11、等特性。操作者能使用C#组件模型方便高效地连接和访问数据库8。在.NET 环境下使用了C#构建数据库应用系统中的数据访问层的步骤和方法。由于C#技术对ADO数据访问技术有了较大的改进,使得开发人员能够以较为灵活的方式查询和操作数据以及更新数据源,是所有数据驱动的.NET应用程序或者Web服务的核心部件。通过对这些技术的了解,使我们对.NET环境下如何开发数据库应用系统有了一个系统的、感性的认识。在后台代码的功能实现上,C# Web应用程序可以使用多种语言来开发,但是Visual C#.NET作为专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework和C#具有最为
12、全面的支持。可以说,Visual C#.NET是开发C# Web应用程序较好的语言。结合使用Visual C#.NET和C#,用户可以方便的开发出功能强大的Web应用程序。SQL Server为用户提供了完整的数据库解决方案,该软件功能强大、使用方便,已为越来越多的人所信赖。SQL Server支持并发连接,允许多个用户同时访问数据,完全能够满足用户的需求。SQL提供了强大的数据存储功能,高效率的数据查询技术、方便易用的向导和工具,友好亲切的用户界面,是制作该系统后台的很好的UY工具。SQL Server 特点 真正的客户机/服务器体系结构。丰富的编程接口工具,为用户进行程序设计提供了更大的选
13、择余地。 SQL Server与Windows NT完全集成,利用了NT的许多功能. SQL Server也可以很好地与Microsoft BackOffice产品集成。 SQL Server 具有很好的伸缩性,提供数据仓库功能。 对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上 ,图形化用户界面,使系统管理和数据库管理更加直观、简单。需求分析是系统设计的前提,是研制信息系统最重要的阶段,也是最困难的阶段。它是应用系统的思想和方法,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此间的关系.它是提出新系统逻辑模型的重要步骤,这一步骤通过对原有系统的调查和分析
14、找出原系统业务流程和数据流程的不足,提出优化和改进的方法,给出信息系统所要采用的信息处理方案。C#技术简介C#是.NET的关键性语言,c#是一种简单的,类型安全的,现代的,和面向对象的程序开发语言。C#使用了很多C+的功能,如语句,表达式和操作符,另外C#参考了许多Java的技术规则。C#使用命名空间来组织,不同的命名空间可以包含不同类的相同名字,降低了名字的冲突性。C#有一个虚拟机(CLR)-公用语言运行环境,其对象具有层次性。C# 与Windows的体系结构相似,可以使用全部的Win32 API,因而是C#很容易被开发人员所熟悉。使用c#语言设计的组件能够用于Web服务,通过Interne
15、t可以被运行于任何操作系统上任何编程语言所调用。 3数据描述3.1输入数据 用户登录界面中输入用户id和密码,输入的用户id是615位字母或数字。 用户修改个人信息时需要输入各个模块需要的不能重复的id号。各个个人信息管理模块都支持中文信息的输入。3.2输出数据根据数据库中存储的信息进行显示。二、 需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,自动出题系统系统为公司带来了极大方
16、便。1需求调查1.1需要解决的问题本系统就是基于ASP.NET开发的,在论文中,主要研究下面几个问题: 什么是ASP.NET,ASP.NET相较于其他技术有哪些优势。笔者将在第二章中做概括性叙述,让读者对ASP.NET有一定的认识。 基于ASP.NET的停车场管理系统是否可行。即该系统的可行性分析,笔者将在本文的第三章中做详细阐述。 如何运用ASP.NET开发停车场管管理系统。通过对自动出题系统的功能需要的调查并对调查的结果分析。1.2业务需求调查通过业务需求调查得到如下的系统流程图(图1.2)用户登录输入账号密码登录界面进入管理模块界面N没有输入验证是否正确Y 图1.2 系统流程图开发流程如
17、下图所示:2功能需求2.1功能划分根据用户使用用户管理系统时管理的信息的类别的不同可以分为以下几个模块分别是:学生账号信息,题库、试卷管理、考试评分功能。理等模块组成。进入该系统后,用户可以对系统中的信息进行添加、修改、和查询等操作。包括以下功能:登录验证退出登录成功学生账号管理试卷管理题库退出考试功能自动评分NYY3数据描述3.1数据描述在需求分析后,就可以设计出能够满足用户需求的各类实体,以及它们之间的关系,为后面的设计打下基础。这些实体包含各种具体的信息,通过相互之间的作用形成数据的流动。根据上面的分析规划出的实体有:学生账户信息实体、试卷题目信息实体、题库信息实体。 3.2数据库描述3
18、.2.1关系描述的设计根据数据库原理,并结合以上E-R图,经转换,可以导出各个关系。其转化规则为首先每个实体应该转换成一个关系,有属性的联系也应转化为一个关系然且需要给出每个关系的关键字。根据以上规则直接给出所有关系。身份验证模块:当用户进入考试系统时,系统根据不同的情况返回不同的值,以判别该用户是老师还是学生; 。题库添加删除修改功能模块:主要完成教师对题库的操作,包含试题的录入,查看,删除及修改学生答卷模块:学生系统用户登录后,可进行在线考试,考完以后显示评分结果及正确的答案在得出以上关系后,根据关系数据库的理论要求,需要对所有的关系进行关系规范化,至少要求各个关系达到第三范式的要求。按照
19、第三范式的要求对比以上各个关系,在所有关系中都不存在非主属性对关键字的部分依赖,即满足第三范式。3.2.3数据库的物理设计在完成数据库的逻辑设计后,即可以开始数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性及通用性,本个人信息管理系统采用Oracle数据库,并在其下创建5个数据表,其结构分别如下:(1)学生账号信息表, 其字段列表如图3.1所示:(2) 试卷名称表, 其字段列表如图3.2所示:(3) 题库表,字段列表如图3.3所示:(4) 成绩表, 其字段列表如图3.4所示:4性能需求4.1数据精确度考虑到本系统的用户需求在进行财务管理实体表的设计时将总收入,消费金额的数据精度
20、是小数点后四位。4.2适应性该系统适合各类人群使用。5运行需求5.1用户界面采用c/s架构。5.3基本要求 1)体系结构:c/s架构 2)操作系统:Windows系列3)数据库管理系统:sqlserver4)开发工具: vs2010三、 总体设计1总体结构和模块设计1.1功能结构总体功能结构图如下:登录验证退出登录成功学生账号管理试卷管理题库退出考试功能自动评分NYY1.2模块设计该系统分为以下几个模块:学生账号管理、试卷管理、题库、退出、考试功能、自动评分功能。2、数据结构 该系统中的五个表的关系是:试卷题目信息表是其他表的外键。3、数据库设计3.1数据库的逻辑设计根据本系统的需求设计的概念
21、模式如图3所示: 4外部接口设计 4.1用户界面用户登录界面如下: 图4.1.1 用户登陆 图4.1.2 学生账号信息 图4.1.3 试卷管理界面 图4.1.4 题库界面 图4.1.5 考试界面四、 详细设计 1程序设计用户登录和用户的注销:是该系统的公共的功能部分。该部分主要负责对用户登录状态的信息的存储和传递。要实现这些功能需要借助session技术来实现。五、 系统实现主要代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Dr
22、awing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication1 public partial class 登?入? : Form public 登?入?() InitializeComponent(); private void button2_Click(object sender, EventArgs e) this.Close(); private void button1_Click(object sender, Event
23、Args e) if (textBox1.Text.Trim() = ) MessageBox.Show(请?输?入?用?户名?信?息!?, 提?示?对?话框, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; if (textBox2.Text.Trim() = ) MessageBox.Show(请?输?入?密码?信?息!?, 提?示?对?话框, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; if (textBox1.Text=admin & textBox2.Tex
24、t=admin) 主窗洹?体? frm = new 主窗洹?体?(); frm.ShowDialog(); else MessageBox.Show(用?户名?或密码?有瓺误,?请?核?实害?!?, 提?示?对?话框, MessageBoxButtons.OK, MessageBoxIcon.Warning); namespace WindowsFormsApplication1 public partial class 主窗洹?体? : Form public 主窗洹?体?() InitializeComponent(); private 试?卷名?称? fUserMan1; private
25、 void 试?题琣管理猅oolStripMenuItem_Click(object sender, EventArgs e) if (fUserMan1 = null | fUserMan1.IsDisposed) fUserMan1 = new 试?卷名?称?(); fUserMan1.MdiParent = this; fUserMan1.Show(); private 账?号?管理? fUserMan; private void 学生?账?号?管理猅oolStripMenuItem_Click(object sender, EventArgs e) if (fUserMan = nul
26、l | fUserMan.IsDisposed) fUserMan = new 账?号?管理?(); fUserMan.MdiParent = this; fUserMan.Show(); private 题琣库a fUserMan2; private void 题琣库aToolStripMenuItem_Click(object sender, EventArgs e) if (fUserMan2 = null | fUserMan2.IsDisposed) fUserMan2 = new 题琣库a(); fUserMan2.MdiParent = this; fUserMan2.Show(
27、); private void 退?出?ToolStripMenuItem_Click(object sender, EventArgs e) this.Close(); namespace System.WEB public partial class Login : System.Web.UI.Page string title = 控?制?平?台?; sys_userserver user = new sys_userserver(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) Sessio
28、n.Remove(user); public static bool IsIPAddress(string str1) if (str1 = null | str1 = string.Empty | str1.Length 15) return false; string regformat = d1,3.d1,3.d1,3.d1,3$; Regex regex = new Regex(regformat, RegexOptions.IgnoreCase); return regex.IsMatch(str1); / / 获?取?IP地?址 / public static string IPA
29、ddress get string result = String.Empty; result = HttpContext.Current.Request.ServerVariablesHTTP_X_FORWARDED_FOR; if (result != null & result != String.Empty) /可能有瓺代洙?理? if (result.IndexOf(.) = -1) /没?有瓺“.”肯?定是?非?IPv4格?式? result = null; else if (result.IndexOf(,) != -1) /有瓺“,”,?估计?多个?代洙?理?。取?第台?一?个
30、?不?是?内网?的?IP。 result = result.Replace( , ).Replace(, ); string temparyip = result.Split(,;.ToCharArray(); for (int i = 0; i temparyip.Length; i+) if (IsIPAddress(temparyipi) & temparyipi.Substring(0, 3) != 10. & temparyipi.Substring(0, 7) != 192.168 & temparyipi.Substring(0, 7) != 172.16.) return te
31、mparyipi; /找到?不?是?内网?的?地?址 else if (IsIPAddress(result) /代洙?理?即是?IP格?式? return result; else result = null; /代洙?理?中D的?内容 非?IP,?取?IP string IpAddress = (HttpContext.Current.Request.ServerVariablesHTTP_X_FORWARDED_FOR != null & HttpContext.Current.Request.ServerVariablesHTTP_X_FORWARDED_FOR != String.E
32、mpty) ? HttpContext.Current.Request.ServerVariablesHTTP_X_FORWARDED_FOR : HttpContext.Current.Request.ServerVariablesREMOTE_ADDR; if (null = result | result = String.Empty) result = HttpContext.Current.Request.ServerVariablesREMOTE_ADDR; if (result = null | result = String.Empty) result = HttpContex
33、t.Current.Request.UserHostAddress; return result; / / 登?入?事?件t / / / protected void btnLogin_Click(object sender, EventArgs e) try string name = this.txtLoginName.Text.Trim();/用?户名? string pwd = this.txtPwd.Text.Trim();/密码? sys_user res = user.Check(name, System.Web.Security.FormsAuthentication.Hash
34、PasswordForStoringInConfigFile(pwd, MD5); if (res.id != 0) if (res.timetrem DateTime.Now) Sessionuser = res; QXLogistics.SystemFramework.QXSoftConfiguration.CreateOALog(,登?陆?平?台?IP:阰 + IPAddress + , 登?入?用?户:阰 + res.loginname + 登?入?成功|); Response.Redirect(main.aspx); else string eage = 您的?用?户登?入?权?限T
35、已?到?期,?请?联系管理?员!?; QXLogistics.SystemFramework.QXSoftConfiguration.CreateOALog(,登?陆?平?台?IP:阰 + IPAddress + , 登?入?用?户:阰 + name + 登?入?失骸?败悒?,?权?限T到?期!?); System.WEB.Public.PUB.ExecuteScript(string.Format(showWarningMsg(0);, eage); else string eage = 您输?入?的?用?户名?密码?不?匹¥配?,?请?重?新?输?入?!?; QXLogistics.SystemFramework.QXSoftConfiguration.CreateOALog(,登?陆?平?台?IP:阰 + IPAddress + , 登?入?用?户:阰 + name + 登?入?失骸?败悒?); System.WEB.Public.PUB.ExecuteScript(string.Format(showWarningMsg(0);, eage); catch (Exception ex)