大计等考热身系统的开发 毕业论文.doc

上传人:爱问知识人 文档编号:3925266 上传时间:2019-10-10 格式:DOC 页数:23 大小:520.02KB
返回 下载 相关 举报
大计等考热身系统的开发 毕业论文.doc_第1页
第1页 / 共23页
大计等考热身系统的开发 毕业论文.doc_第2页
第2页 / 共23页
大计等考热身系统的开发 毕业论文.doc_第3页
第3页 / 共23页
大计等考热身系统的开发 毕业论文.doc_第4页
第4页 / 共23页
大计等考热身系统的开发 毕业论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《大计等考热身系统的开发 毕业论文.doc》由会员分享,可在线阅读,更多相关《大计等考热身系统的开发 毕业论文.doc(23页珍藏版)》请在三一文库上搜索。

1、大计等考热身系统的开发摘 要本考试热身系统基于C#并用Microsoft Visual Studio 2008平台和ACCESS数据库编写的应用程序。主要供大学生计算机等级考试前的热身训练,提高大学生的计算机的实际操作能力。本系统主要包括理论题的训练和操作题的训练,完全按照等级考试的模式进行训练,并有时间的限制,通过训练来提高学生等级考试的能力。关键词: Visual Studio 2008;C#;计算机等级考试;热身训练 College students personal computer grade examination systemAbstractThis test system ba

2、sed on c # warm-up with Microsoft Visual Studio 2008 platform and the ACCESS database write applications. Mainly used for college students before computer grade examination in the warm-up, improve university students computer actual operation ability.This system mainly includes theoretical questions

3、 training and operation of training, problem completely according to grade exam mode and time training, restrictions, and to improve the students by training the ability level examKeywords: Visual Studio 2008; C #; Computer grade examination; warm-up目 录摘 要IAbstractII第一章 引言11.1课题意义11.2开发工具的选择1第二章 所用开

4、发工具简介22.1 Access 简介22.2 C#简介3第三章 系统总体设计43.1 系统需求分析43.1.1 系统设计要解决的问题43.2.1 系统可行性分析43.2 系统概要设计43.2.1 系统功能模块的设计43.2.2 系统各个功能模块的分析与设计53.2.2.1 用户登录模块53.2.2.2 主界面模块53.2.2.3 理论题模块63.2.2.4 操作题模块63.2.3 数据库设计6第四章 系统应用程序设计84.1 建立数据库连接84.2通用类的介绍104.2.1 kaosheng类104.2.1 OperaRAR类114.3系统各窗体模块组成及实现134.3.1 登录窗体功能模块

5、的实现134.3.2 主界面窗体功能模块的实现164.3.3 理论题与操作题模块的实现17参考文献21致 谢22III第一章 引言1.1 课题意义随着计算机的发展和普及,社会、企业和大学对大学生计算机的掌握程度的要求越来越高,为了提高大学生计算机的掌握的程度,计算机等级考试越来越来受大学生的关注。这个等级考试热身训练的意义的就在于:大学生可以脱离老师,可以脱离机房在自己的PC自行进行训练,可以课余时间通过练习来提高自己对知识点掌握的程度,同时可以更快更好的适应计算机等级考试系统的模式。1.2 开发工具的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。作为数据库系统的开发,Visu

6、al Studio 2008是一个非常理想选择。越来越多的IT从业人员,将会使用VS 系列开发工具,它可以让他们以后维护方便,同时降低招聘成本。Visual Studio 2008功能强大,相对而言编写窗口化程序简单,集成程度高,智能提示,其中,实现操作简便、界面美观大方,操作响应快捷。为了适应学生的需求,同时考虑到灵活性,如操作方式、运行环境、结果精度和数据结构与其他软件接口等发生变化时,设计的能够做适当的调整。考虑到微软的开发工具当前是可视化软件开发工具的主流,最终还是采用了VS2008 实现该系统。第二章 所用开发工具简介2.1 Access 简介Access数据库系统既是一个关系数据库

7、系统,还是设计作为Windows图形用户界面的应用程序生成器。它经历了一个长期的发展过程。Microsoft公司在1990年5月推出Windows3.0以来,该程序立刻受到了用户的欢迎和喜爱,1992年11月Microsoft公司发行了Windows数据库关系系统Access1.0版本。从此,Access不断改进和再设计、自1995年起,Access成为办公软件Office95的一部分。多年来,Microsoft先后推出过的Access版本有2.0、7.0/95、8.0/97、9.0/2000、10.0/2002,直到今天的Access2003、2007版。本教程以Access2003版为教学

8、背景。中文版Access2003具有和Office2003中的Word2003 、Excel2003 、Powerpoint2003等相同的操作界面和使用环境,具有直接连接Internet和Intranet的功能。它的操作更加简单,使用更加方便。Access的最主要优点是它不用携带向上兼容的软件。无论是对于有经验的数据库设计人员还是那些刚刚接触数据库管理系统的新手,都会发现Access所提供的各种工具既非常实用又非常方便,同时还能够获得高效的数据处理能力。Access优点明显:具有方便实用的强大功能,Access用户不用考虑构成传统PC数据库的多个单独的文件;可以利用各种图例快速获得数据;可以

9、利用报表设计工具,非常方便地生成漂亮的数据报表,而不需要采用编程;采用OLE技术能够方便地创建和编辑多媒体数据库,其中包括文本、声音、图像和视频等对象;支持ODBC标准的SQL数据库的数据;设计过程自动化,提高了数据库的工作效率;具有较好的集成开发功能;可以采用VBA(Visual Basic Application)编写数据库应用程序;提供了包括断点设置、单步执行等调试功能;能够像Word那样自动进行语法检査和错误诊断;进一步完善了将Internet/Intranet集成到整个办公室的桌面操作环境。总之,Access发展到现在已经向用户展示出它的易于使用和功能强大的特性。212.2 C#简介

10、C sharp(又被简称为C#)是微软公司在二OOO年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们

11、的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Pascal、Java、VB等。C#是微软将Java集成到.NET中的产物,它是整个.NET平台的基础。是未来的主流编程语言。第三章 系统总体设计3.1 系统需求分析3.1.1 系统设计要解决的问题随着计算机的发展和普及,社会和企业和大学对大学生计算机的掌握程度的要求越来越高,为了提高大学生计算机的掌握的程度,计算机等

12、级考试越来越来受大学生的关注。这个等级考试热身训练的意义的就在于:大学生可以脱离老师,可以脱离机房在自己的PC自行进行训练,可以课余时间通过练习来提高自己对知识点掌握的程度,同时可以更快更好的适应计算机等级考试系统的模式。通过调查,要求本系统具有以下功能:(1)由于系统主要是针对大学生,因此只需要针对着用户设计一个登陆界面。(2)设计一个主界面便于学生对于考试时间的掌握和理论题、操作题的界面以及交卷的切换。 (3)针对计算机等级考试的题型和大学生的实际需要设计理论题的训练模块。(4)针对计算机等级考试的题型和大学生的实际需要设计操作题的训练模块。 (5)实现对考生做好试题的反馈,便于根据反馈内

13、容进行改进。3.2.1 系统可行性分析 (1)市场可行性。经过初步调查,确立本系统的设计目标,简历一个功能全面,使用简单,面对大学生的计算机等级考试的热身系统具有市场可能性。(1)技术可行性。实验所需要的软硬件条件都已具备,根据前期的系统分析,采用现有的成熟的开发语言和数据库技术,在技术完全可以实现。(2)操作可行性。本系统完全按照计算机等级考试系统模板进行设计,操作简单,界面友好,功能全面等优势,是大学生上手快,具有用户上的可行性。3.2 系统概要设计3.2.1 系统功能模块的设计本系统主要由用户登录模块,主界面,理论题考试模块,操作试题模块几大功能模块构成。主要实现功能如图3-1所示:大

14、计 等 考 热 身 系 统 的 开 发登 录 模 块主 界 面理 论 题 考 试 模 块操 作 题 考 试 模 块图 3-1 系统层次图3.2.2 系统各个功能模块的分析与设计3.2.2.1 用户登录模块(1)针对考生身份的验证,对考生输入的学号与数据库进行校验,并显示学生的姓名。(2)同时对考生输入密码的试卷进行加压缩,并对考试试卷加载到指定的考生文件夹。3.2.2.2 主界面模块(1)考试者身份的显示和考试时间的动态显示,(2)理论试题与操作试题之间的切换。(3)考生进行交卷以及对考生的考卷完成状态和结果进行的反馈。主界面功能如图3.2所示。主 界 面操 作 题交 卷查 看理 论 题3.2

15、.2.3 理论题模块(1)试题必选题与选做题的切换。(2)查看考生理论题必做与选作的已做与未做的状态。3.2.2.4 操作题模块(1)Word、Excel,FrontPage与Access试题操作要求的在界面进行显示与切换。(2)根据试题要求调出考生文件夹进行实际操作。3.2.3 数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏直接对应用系统的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。数据库表和数据表中的字段命名规则如下。(1)

16、数据库表由符号相应的模块功能含义的英文单词或拼音组成。(2) 字段名由相应的表名称的缩写和符号字段含义的英文或者品组成。(3) 命名应遵循“见名知义”的原则。字段名称数据类型是否为空说明ZkzLongNOT NULL准考证号 字段长度50XuehaoLongNOT NULL学号 字段长度50Name文本NOT NULL姓名 字段长度50表3-1用户信息表字段名称数据类型是否为空说明Tixing文本NOT NULL字段大小50Tihao数字NOT NULL字段大小长整型Tigan备注NOT NULL题干较长tizhiA文本NULL字段大小50tizhiB文本NULL字段大小50tizhiC文本N

17、ULL字段大小50tizhiD文本NULL字段大小50Bzdaan文本NOT NULL字段大小50Timunnadu文本NOT NULL题目分为必做和选作字段大小50表3-2 理论题信息表字段名称数据类型是否为空说明题号LongNOT NULL字段大小10题目难度文本NOT NULL字段大小50题目状态文本 NULL字段大小50标准答案文本NOT NULL字段大小50学生答案文本NOT NULL字段大小50表3-3 学生答案表第四章 系统应用程序设计4.1 建立数据库连接本系统图采用ADO技术连接数据库,其优点是易于使用、高速度、低内存支出和占用的磁盘的空间较少等。她是建立在应用程序编程接口O

18、LEDB之上的数据库连接技术。ADO(ActiveX Data Object,ActiveX数据对象)是Microsoft公司提出的应用程序接口用以实现访问关系或非关系数据库中的数据。ADO是对当前微软公司所支持的数据库进行操作的最有效的和最简单的直接的方法,是一种功能强大数据访问编程模式。DataAdapter对象可以建立并初始化数据表(即DataTable),对数据源执行SQL指令, 与DataSet对象结合,提供DataSet对象存取数据,可视为DataSet对象的操作核心,是DataSet对象与数据操作对象之间的沟通媒介。DataAdapter对象可以隐藏Connection对象与Co

19、mmand对象沟通的数据。可允许用DataSet对象存取数据源。其主要的工作流程是:由Connection对象建立与数据源联机,DataAdapter对象经由Command对象操作SQL指令以存取数据,存取的数据通过Connection对象返回给DataAdapter对象,DataAdapter对象将数据放入其所产生的DataTable对象,将DataAdapter对象中的DataTable对象加入到DataSet对象中的DataTables对象中。DataAdapter对象中的Fill方法可打开数据库,并可利用其所附属的。 Command对象操作SQL指令,并将结果保存给DataSet对象。

20、其格式为: DataAdapter对象名称Fill(DataSet对象名称,DataTable对象名称)。 DataAdapter对象基本上是在Command对象的基础上建立的对象,以非连接的模式处理数据的连接,即在需要存取时才会连接数据库,DataAdapter对象包含以下种命令。 打开并连接数据库后,通过DataAdapter对象与DataSet对象将数据表中的数据取出,并将结果显示在网页中。DataAdapter 用作 DataSet 和数据源之间的桥接器以便检索和保存数据。DataAdapter 通过映射Fill(这更改了 DataSet 中的数据以便与数据源中的数据相匹配)和Upda

21、te(这更改了数据源中的数据以便与 DataSet 中的数据相匹配)来提供这一桥接器。DataAdapter,DataSet,DataTable等对象的关系如图4-1所示。图4-1 关系数据图 本系统封装一个类OledbBaseClass来实现数据库连接。核心代码如下:class OledbBaseClass static OleDbDataAdapter G_Da; /声明数据适配器对象static DataSet G_Ds; /声明数据集对象static OleDbCommand G_Com;static string G_Str_ConnectionString = Provider=M

22、icrosoft.Jet.OLEDB.4.0; Data Source=D:sourceKQRS.mdb;static OleDbConnection G_Con; /声明链接对象 static OleDbConnection conn; #endregion #region 构造函数 public OledbBaseClass() #endregion #region 连接数据库 Static public OleDbConnection GetCon() G_Con = new OleDbConnection(G_Str_ConnectionString); G_Con.Open(); r

23、eturn G_Con; #endregion 系统中OledbBaseClass类还定义了GetTable()方法来实现从数据库读取表中数据。核心代码如下:public DataTable GetTable(string cmdtxt, string tablename) DataTable P_tbl; /声明一个DataTable对象 try G_Da = new OleDbDataAdapter(cmdtxt, G_Con); P_tbl = new DataTable(tablename); G_Da.Fill(P_tbl); /将表中对象放入P_tbl中 return P_tbl;

24、 catch (Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示), MessageBoxButtons.OKCancel, MessageBoxIcon.Error); return null; finally if (G_Con.State = ConnectionState.Open) G_Con.Close(); G_Con.Dispose(); 4.2通用类的介绍4.2.1 kaosheng类Kaosheng类对字段进行定义,构造函数,以及字段的读写属性的设置。主要用于主界面调用获取的学生信息显示。主要代码如下:public c

25、lass KaoSheng string xuehao; string name; string password; string tao; string start_time; string end_time; string path;/操作题素材路径 public KaoSheng() public KaoSheng(string xh, string nm, string pwd, string pth) xuehao = xh; name = nm; password = pwd; path = pth; public string XueHao get return xuehao;

26、.4.2.1 OperaRAR类通过OperaRAR类的设置,帮助系统进行试卷的解压缩。OperaRAR类设置了两个方法,Exists()和unCompressRAR(),Exists()方法主要是判断系统中是否安装了Winrar,unCompressRAR()根据压缩路径进行压缩。主要方便登录界面进行试卷解压时调用。主要代码如下:class OperaRAR static public bool Exists() RegistryKey the_Reg = Registry.LocalMachine.OpenSubKey(SOFTWAREMicrosoftWindowsCurrentVers

27、ionApp PathsWinRAR.exe); return !string.IsNullOrEmpty(the_Reg.GetValue().ToString(); public string unCompressRAR(string unRarPatch, string rarPatch, string rarName) string the_rar; RegistryKey the_Reg; object the_Obj; string the_Info; try the_Reg = Registry.LocalMachine.OpenSubKey(SOFTWAREMicrosoftW

28、indowsCurrentVersionApp PathsWinRAR.exe); the_Obj = the_Reg.GetValue(); the_rar = the_Obj.ToString(); the_Reg.Close(); if (Directory.Exists(unRarPatch) = false) Directory.CreateDirectory(unRarPatch); the_Info = x + rarName + + unRarPatch + -y; ProcessStartInfo the_StartInfo = new ProcessStartInfo();

29、 the_StartInfo.FileName = the_rar; the_StartInfo.Arguments = the_Info; the_StartInfo.WindowStyle = ProcessWindowStyle.Minimized; the_StartInfo.WorkingDirectory = rarPatch; Process the_Process = new Process(); the_Process.StartInfo = the_StartInfo; the_Process.Start(); the_Process.WaitForExit(); the_

30、Process.Close(); catch (Exception ex) throw ex; return unRarPatch; 4.3系统各窗体模块组成及实现4.3.1 登录窗体功能模块的实现登录窗体主要是对考生身份进行验证。对两次输入的学号进行比较,然后显示学生的姓名。输入试卷密码,单击“确定”按钮,则对学生所需的试卷进行解压缩的指定位置,供学生使用。当滚动条从走0100时,此时试卷解压缩也完成了,触发事件timer1_Tick,进行界面的跳转。登录模块如图4-2图4-2 学生登录系统模块两次输入学号无误时,系统自动显示学生姓名的信息,调用OledbBaseClass类中GetCon(

31、)和GetTable()方法来实现数据库的连接和读取。当光标跳出第二个文本框时,则显示考生姓名。private void txtNum2_Leave(object sender, EventArgs e) if (txtNum.Text = & txtNum2.Text = ) return; int isAgree;/存储两个学号是否相等 isAgree = txtNum2.Text.Trim().CompareTo(txtNum.Text.Trim(); if (isAgree != 0) MessageBox.Show(学号输入不一致,请重新输入); txtNum.Text = ; tx

32、tNum2.Text = ; txtNum.Focus(); else xuehao = txtNum2.Text.Trim();/将学号赋值string sql = select * from kaosheng where xuehao= + txtNum.Text.Trim() + ;/连接数据库 OledbBaseClass.GetCon(); DataTable dt = G_OleClass.GetTable(sql, kaosheng); if (dt.Rows.Count = 1) txtName.Text = dt.Rows0name.ToString(); txtPasswo

33、rd.Focus(); name = txtName.Text.Trim(); else MessageBox.Show(该学号不在报名表中); txtNum.Text = ; txtNum2.Text = ; txtNum.Focus(); 登录窗体触发btnOK_Click事件时调用OperaRAR()类进行解压缩的脚本如下:string kaoShiPath = F:;string rarPath = D:source新建文件夹 (2);private void btnOK_Click(object sender, EventArgs e) password = txtPassword.

34、Text.Trim().ToUpper(); OperaRAR unrar = new OperaRAR(); string rarname = ; Boolean isOK = false; System.IO.Directory.Delete(F:考生文件夹, true); switch (password) case ZNMK: rarname = ZNMK; isOK = true; break; . if (isOK = true) labTip.Text = 请耐心等待素材导入; unrar.unCompressRAR(kaoShiPath, rarPath, rarname);

35、progressBar1.Value = 0; timer1.Enabled = true; else MessageBox.Show(密码有误,请重新输入密码); txtPassword.Text = ; txtPassword.Focus(); 学号,姓名,试卷密码输入无误时,以及滚动条从无到满时,触发计时器事件timer1_Tick的代码如下:private void timer1_Tick(object sender, EventArgs e) if (progressBar1.Value 100) progressBar1.Value = progressBar1.Value + 1

36、0; else timer1.Enabled = false; xuehao = txtNum.Text.Trim(); name = txtName.Text.Trim(); password = txtPassword.Text.Trim().ToUpper(); KaoSheng kaosheng = new KaoSheng(xuehao, name, password, kaoShiPath);main mainfrm = new main(kaosheng); mainfrm.Show(); this.Hide() 4.3.2 主界面窗体功能模块的实现主窗体的界面主要显示考生的基本

37、信息,考试时间的倒计时。理论题,操作题,查询,交卷等几个界面的切换,是考生能跟直观的看到自己信息,并且能方便学生的操作的。主界面的功能显示如图4-3图4-3 主界面窗体定义了一个timeInit()方法,设计倒计时的计算方法,在构造函数中进行调用,利用事件timer1_Tick进行倒计时计算。主界面调用main_Load()方法,在界面显示传递过来的学生信息,以及时间的倒计时显示。private TimeSpan ts = new TimeSpan(1, 40, 0); DateTime beginTime;/ = DateTime.Now; TimeSpan begints;/=new Ti

38、meSpan(beginTime); TimeSpan kaoshiTime;/ = new TimeSpan(1, 40, 0); DateTime endTime;/= ; DateTime currTime; KaoSheng kaosheng; TimeSpan timeLeft;/剩余考试时 private void timeInit() beginTime = DateTime.Now; kaoshiTime = new TimeSpan(1, 40, 0); endTime = beginTime.Add(kaoshiTime); currTime = DateTime.Now; timeLeft = endTime - currTime; public main

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1