Web打字原型系统
一、选题目的和意义
近年来,互联网在国际上得到了迅猛的发展,基于互联网的各种应用也日益受到人们的重视,目前流行的打字测试系统经常会用在一些计算机考试中,但大多打字测试系统只是对单一用户的测试系统,这种测试形式大多只是在单机上实现,它不支持远程异地考试。在测试环节中,我们仍然过分依赖于传统的测试模式,目前的单机化测试,仍然存在着过程的繁琐和浪费:测试之前,需要下载或购买测试软件,接着需要对机器安装测试系统,然后才可以使用,而且这种软件不经常使用,可见是一种资源浪费。所以,这种在Web中在线的测试及考试是一种发展趋势,人们只需要打开网页即可进行测试,使用方便。
二、本选题在国内外的研究现状和发展趋势
随着社会的发展与计算机的普及,人们对电子计算机不再感到神秘。全民学习计算机的热情很高,打字对于计算机初学者来说是最基本的需要掌握的技术,因此各种打字系统也随之产生。现在存在的打字系统一般都是各种软件,需要用户安装到机器上,这种测试形式大多只是在单机上实现,它不支持远程异地考试。在测试环节中,我们仍然过分依赖于传统的测试模式,目前的单机化测试,仍然存在着过程的繁琐和浪费:测试之前,需要下载或购买测试软件,接着需要对机器安装测试系统,然后才可以使用,而且这类软件不经常使用,可见是一种浪费。所以,这种在Web中在线的测试及考试是一种发展趋势。
三、课题设计方案 [主要说明:研究(设计)的基本内容、观点及拟采取的研究途径。]
编写的一个Web打字原型系统。此系统是采用java script编写,对用户所输入的文字进行测试,测试的方面主要包括:录入文字的速度、录入文字的错误率、在文字录入时出现的错误能够及时标记出来、对测试结果的保存。本文也是主要在上述几方面进行编码设计。此系统在Web中发布以后,会大大方便用户,使用户在何时何地都能进行此种测试及练习。
四、计划进度安排 [主要说明:起止时间及分阶段的进度要求。]
第一阶段: 起止时间:2005.11.1-2005.11.20
进度要求:熟悉开发工具,搜集相关资料;
第二阶段: 起止时间:2005.11.21-2005.12.1
进度要求:撰写开题报告书;
第三阶段: 起止时间:2005.12.2-2006.12.19
进度要求:确定设计具体要实现的内容,进行可行性分析;编写程序并基本实现系统功能;撰写设计文档;
第四阶段: 起止时间:2005.12.20-2006.1.15
进度要求:将论文交与指导老师,进一步修改,准备答辩。
五、主要参考文献
1 冯博琴,吕军.计算机网络.高等教育出版社.2002
2 雷学生.java script语言程序设计教程.中国水利水电出版社.2004
3 张洪斌.java script程序设计.清华大学出版社.2001
4 Douglas Dunn java script Rules 中文版(JavaResearch.org译)中国电力出版社.2003
5 廖若雪.java script高级编程 机械工业出版社.2001
6 萨师煊,王珊.数据库系统概论.第3版.高等教育出版社.2000
7 张海藩.软件工程导论.第4版 清华大学出版社.2003
8 汤庸,叶小平,汤娜.数据库理论及应用基础.清华大学出版社.2004
指导教师意见及建议
年 月 日
教学单位领导小组审批意见:
签 名:
年 月 日
Web打字原型系统
张森
(德州学院计算机系,山东德州 253023)
摘要:本文介绍的是基于对现在流行的单机打字测试系统所带来的不便,从而编写的一个Web打字原型系统。此系统是采用java script编写,对用户所输入的文字进行测试,测试的方面主要包括:录入文字的速度、录入文字的错误率、在文字录入时出现的错误能够及时标记出来、对测试结果的保存。本文也是主要在上述几方面进行编码设计。
此系统在Web中发布以后,会大大方便用户,使用户在何时何地都能进行此种测试及练习。
关键词:原型,java script,文字测试,算法分析
1 引言
近年来,互联网在国际上得到了迅猛的发展,基于互联网的各种应用也日益受到人们的重视,目前流行的打字测试系统经常会用在一些计算机考试中,但大多打字测试系统只是对单一用户的测试系统,这种测试形式大多只是在单机上实现,它不支持远程异地考试。在测试环节中,我们仍然过分依赖于传统的测试模式,目前的单机化测试,仍然存在着过程的繁琐和浪费:测试之前,需要下载或购买测试软件,接着需要对机器安装测试系统,然后才可以使用,而且这软件不经常使用,可见是一种浪费。所以,这种在Web中在线的测试及考试是一种发展趋势,人们只需要打开网页即可进行测试,使用方便,而且还能根据自己的爱好更换文章测试类型。
2 打字系统的需求分析
需求分析的基本任务是准确地回答“系统必须做什么”这个问题,分析出系统的数据要求。用户需要的打字系统要具有显示打字速度、统计总数、进行错误提示等功能,在测试中用户可以根据要求更换文章及类型等。在具体设计时要体现人性化的要求,满足大多数用户的要求。本系统是针对一般初级用户进行打字测试的,无需安装专门的安装程序;只需打开网页即可进行测试,因此本系统采用java script角本语言,java script是网景公司开发的一种浏览器解释执行的角本语言,现在所有的浏览器都有执行,因此具有跨平台跨系统性。
2.1 了解java script
java script是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言,有了java script,可使网页变得生动。使用它的目的是与HTML超文本标识语言、Java 脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的。java script是一种基于客户端浏览器的语言,用户在浏览中填表、验证的交互过程只是通过浏览器对调入HTML文档中的java script源代码进行解释执行来完成的。java script是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编译,由浏览器解释执行。
2.2 java script的特点
java script具有很多优点:
(1)简单性。java script是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,java script同样也是一种解释性语言,它提供了一个简易的开发过程;
(2)动态性。java script是动态的,它可以直接对用户或客户的输入做出响应,无须经过Web服务程序;
(3)跨平台性。java script是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持java script的浏览器就可以正确执行。
java script是一种对数据类型变量要求不太严格的语言,所以不必声明每一个变量的类型,变量声明尽管不是必须的,但在使用变量之前先进行声明是一种好的习惯。可以使用 var 语句来进行变量声明。java script 是一种区分大小写的语言,因此将一个变量命名为 computer 和将其命名为 Computer是不一样的。
综上所述,java script 是一种新的描述语言,它可以被嵌入到 HTML 的文件之中。 java script语言可以做到回应使用者的需求事件 (如: form 的输入) ,而不用任何的网络来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给服务器端 (Server)处理,再传回来的过程,而直接可以被客户端 (Client) 的应用程式所处理。所以,我选择java script语言来作为我做此设计的语言。
2.3打字系统的功能流程图
用户进入测试界面以后,选择测试的文章类型,然后选择随机(选择随机就是将选择的文章打乱原有的顺序),然后开始测试,测试过程中,文章的内容和用户输入的字符同步显示,输入完毕后,结束测试,然后统计出测试结果,测试结果包括:用户打字的速度统计、字数统计、用时统计及正确率。如图1:
图1 打字系统的功能流程图
3打字系统的总体设计
3.1打字系统的功能模块图,
打字系统的功能包括:文本框赋值、获得选项值、取得随机字符、显示打字成绩、刷新网页、显示用时、统计打字速度、选择文章类型、结束打字,如图2:
图2 打字系统的功能模块图
3.2 打字系统的用户界面设计,如图3:
图3 用户界面设计
4 打字系统的详细设计
4.1程序的设计说明
当用户要进行打字的时候,点击开始时系统不能立即进入打字状态,需要有一段等待时间,若此时正行则用户没有准备时间,因此需要延迟一段时间。开始测试的时候系统还需要初始化一些变量,这些变量进入循环计算。本系统根据用户的打字习惯,分为英文文章打字测验,中文文章测验,英文单个字符测验,数字测验,四个选择项,并且用户可以根据要求选择是否随机,若随机则取的时候打乱顺序。本系统每次英文与数字是取60个字符,汉字是取30个字。当把文章读出来后需要在指定地方显示出来以方便用户参照进行测试,并且用户对照上边打字若打错后上一行能显示红字,打完这一行后,能够自动跳转到下一行,用户也可以手动按回车键进行下一行的录入。当开始打字的时候。记录下开始时间,通过一定算法把耗费时间,打字正确率,打字速度,打字总数统计出来,并实时刷新。
4.2、功能设计
(1)获得测验打字系统的文章内容
本系统根据用户的打字习惯,分为英文文章打字测验,中文文章测验,英文单个字符测验,数字测验,四个选择项,并且用户可以根据要求选择是否随机,若随机则取的时候打乱顺序。本系统每次英文与数字是取60个字符,汉字是取30个字。具体流程图如4:
图4 具体功能程序流程图
(2)在网页中显示要打字的内容
当把文章读出来后需要在指定地方显示出来以方便用户参照进行测试,并且用户对照上边打字若打错后上一行能显示红字,打完这一行后,能够自动跳转到下一行,用户也可以手动按回车键进行下一行的录入。如图5:
图5获取打字内容的程序流图
(3)显示时间与打字速度正确率
当开始打字的时候。记录下开始时间,通过一定算法把耗费时间,打字正确率,打字速度,打字总数统计出来,并实时刷新。如图6:
图6 获取用时及正确率程序流图
4)初始化及开始时间提示
当用户要进行打字的时候,点击开始按键时系统不能立即进入打字状态,需要有一段等待时间,若此时正行则用户没有准备时间,因此需要延迟一段时间。开始测试的时候系统还需要初始化一些变量,文本框变进入循环计算。如图7:
图7初始化程序流程图
(5)监听键盘
当用户进入测试的时候需要测试整篇文章,而一开始只能读一行60个字符或者30汉字,输入完一行后需要重新得到下一行的数据,因此要时刻监听键盘的事件!当用户按下回车键,或者输入的文本框到了60个字符时,就要重新换行。另外,当用户按下ESC键就停止,并统计出打字成绩!如图8:
图8监听键盘的程序流程图
5 测试
5.1 测试的`目标
测试是为了发现程序中的错误而执行程序的过程;
好的测试方案是尽可能发现迄今为止尚未发现的错误的测试方案;
成功的测试是发现了至今为止尚未发现的错误的测试。
测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一种方法称为黑盒测试,后一种方法称为白盒测试。
对于软件测试而言,黑盒测试法把程序看作一个盒子,完全不考虑程序的内部结构的处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试。
白盒测试法与黑盒测试法相反,它的前提是可以把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试。
在本系统中计算打字速度与统计打字数量等功能模块都进行了黑盒测试,在本测试中发现了很多功能漏洞,但是在后来进一步完善改正了前面的错误。在不同的操作系统和浏览器中测试成功,并请很多同学帮助进行功能测试。在白盒测试中没有专门的测试软件,采用人工方式逐行阅读代码检查可能存在的逻辑错误,并一一改正。
6 打字系统总结
通过这次毕业设计本人在开发java script应用程序方面有了长足的进步,对java script的网络编程有了深刻的体会。
参 考 文 献:
1 冯博琴,吕军.计算机网络.高等教育出版社,2002
2 雷学生,java script语言程序设计教程.中国水利水电出版社,2004
3 张洪斌,java script程序设计.清华大学出版社,2001
4 Douglas Dunn ,java script Rules 中文版(JavaResearch.org译).中国电力出版社,2003
5 廖若雪,java script高级编程 机械工业出版社,2001
6 萨师煊,王珊.数据库系统概论.第3版.高等教育出版社,2000
7 张海藩,软件工程导论.第4版 .清华大学出版社,2003
8 汤庸,叶小平,汤娜.数据库理论及应用基础.清华大学出版社,2004
A Web-based typewriting prototype system
Zhang Sen
(Department of Computer, DeZhou University, DeZhou, 200421001277)
Abstract: This thesis introduces a Web-based typewriting prototype system which is based on the inconvenience of PC. The system is coded by java script language . This system tests users typewriting, the test mainly includes : the speed of writing, the error rate of writing, the preservation of the test results. This thesis also is mainly to carry on coding the design several aspects above. The system published on the Web would take it easy for user to do the tests and practices when and where they need.
Key words: prototype; java script; typewriting; algorithm analysis
谢 辞
此次毕业论文的顺利完成受益于我的指导老师孙寿龙老师,刘建军与任传成老师的热情指导和帮助,还有黄林同学在编码设计中的帮助,他们细心不倦的指导使我通过这次尝试,使我进一步对面向对象程序设计中java script语言程序设计和网络编程、软件构件复用与数据库开发有了更深的理解,使我在软件开发方面的能力有了很大的提高!在此我向他们表示真诚的感谢和真心的祝福。
此次尝试的确是一个很好的开端,通过它,我为自己以后的继续求学之路明确了方向,并为以后的发展奠定了坚实的基础!
【Web打字原型系统】相关文章:
9.原型与汉字