分布式网络考试系统原型分析及实现Word文档格式.docx
《分布式网络考试系统原型分析及实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《分布式网络考试系统原型分析及实现Word文档格式.docx(56页珍藏版)》请在冰豆网上搜索。
1.问题定义
现在网络正在改变着传统的教育方式,网络教育也越来越多,就算是传统的教育方式下,把考试搬到网络上也是一种趋势。
考试的无纸化网络化不仅能有效减少老师的工作量,很好的利用计算机的优势,提高工作效率,也能使考试更加公平、公正。
所以就一定要构建一个性能良好安全可靠的可以满足大量学生同时使用的网络考试系统。
本原型系统主要功能如下:
1.学生可以在网上进行考试,考试结束后由计算机批改试题给出分数,并记录成绩。
2.学生在还可以在网上查询自己的考试成绩,修改密码等个人资料。
3.老师可以在网上出题,修改密码等个人资料。
4.管理员可以在网上建立学生、老师等用户。
2.需求分析
2.1.系统目标
本网络考试系统应该能满足学校几千学生在任何地方、任何时间都能参加
考试。
本系统要让学生、老师和管理员在网络上可以维护自己的个人资料。
学生也可以在网络上通过本系统查询自己考试的成绩;
老师能通过网络生成试卷;
管理员在网络上通过本系统增加学生和老师;
另外为了让考试比较公平,试卷的试题由计算机随机从题库抽取。
2.2.可行性分析
2.2.1.现有的数据库应用程序的分层结构
2.2.1.1.传统二层结构
传统的二层式程序,也就是客户/服务器(Client/Server)结构,这种程序相对简单、清楚、开发容易,其结构如图1。
客户机都通过网络连接到同一个数据库上,不过这样结构问题很多,最主要的就是性能较差维护困难已经不适应在因特网(Internet)上使用。
数据同一性和完整性难以控制。
同时由于每一个客户机都必须安装特定的软件,且这种客户端软件体积还比较大,用户使用起来非常不方便,所以目前已经面临淘汰。
不过这样的系统开发比较简单,对开发人员的技术要求也不高,在内部局域网上使用还有一定的市场。
(图1)
2.2.1.2.三层数据库应用结构
三层结构是目前用得最多的,这种结构比传统的C/S结构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,更由于业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以他的可靠性、稳定性和效率都比较好。
当然开发这样的系统在技术上和成本上要求就要多一些。
(其结构如图2)
图2
2.2.1.3.多层分布式数据库系统
近年来随着因特网的快速发展,许多企业都开始上网,因此基于网络的营销系统、MIS系统、ERP系统都快速发展起来了,这个时候仅仅三层的应用程序已经不能满足实际需求了。
因此又发展出来了多层分布式的数据库系统。
在多层分布式系统中,人们把中间的应用服务器再拆分为很多比较小的系统,均匀分散到多台计算机中处理,这样就能得到更好的性能并且降低了程序复杂度。
在多层分布式数据库系统中必须要有一个所谓的中间件来支持和管理分散的业务处理程序。
在Windows平台下微软公司推出了的WindowsDNA(DistributedinterNetApplicationArchitecture,分布式网络应用结构)策略。
把COM+作为WindowsDNA策略中的中间件。
在Windows2000以上操作系统中,COM+成为了系统的一部分。
COM+为中间层提供了负载平衡、对象池(ObjectPooling)、事务特性等一系列的强力支持,并且在COM+中工作的程序受到操作系统的保护,从而最大的保证了系统的安全、稳定和高效。
当然开发这样的系统要求开发人员必须掌握COM(ComponentObjectModel,组件对象模型)和COM+技术,开发难度和成本更大了。
图3
2.2.2.网络分布式多层应用系统
近几年来因特网飞速发展,人们的生活因为网络而在慢慢的改变。
现在的个人电脑(PC)上都安装了浏览器(Browser)因此人们就利用浏览器来作为客户端程序,万维网服务器(WebServer)作为中间层和客户端沟通服务器,这就是现在流行的B/S(Browser/Server)结构方式。
在这种结构下,本地的计算机无须安装任何客户端程序,只要有浏览器,可以使用因特网就可以使用系统了。
他不仅仅减少了开发客户端带来的成本,最关键的是,大大减少了系统维护的成本和时间,当修改系统的时候不需要对客户做任何的改动。
并且客户也可以在任何计算机上使用你的系统而不要做特别的设置。
在B/S系统中以微软公司的IE浏览器、和IIS/ASP(InternetInformationServer/ActiveServerPages)服务器应用最为广泛,使用最方便,对中文的支持也是最好的。
但是,ASP有一个天生的缺点,就是ASP代码是采用的VBScript、JScript或者PHP等脚本语言编写,运行速度相当的慢,而且和HTML代码是混在一起的,使ASP程序员既需要考虑与数据库打交道,又需要关心如何与HTML配合,有时还需要用ASP直接生成HTML代码。
这样构建起来的系统当然是不能满足中、大型网络应用的需要。
不过好在ASP可以通过脚本语言调用基于COM的程序,而得到功能和性能上的提升。
在微软公司最新的IIS5.0系统上更可以让我们使用VC++、VB、Delphi等开发工具建立定制的运行于COM+环境中的ASP对象,这种对象,还可以和其他的COM+组件协同工作。
这样一来我们就可以用B/S方式构建多层分布式的应用系统来满足大型网络应用。
这也就是微软公司所推出的Web分布式多层应用程序结构(其结构如图4)也就是我们常听到的WindowsDNA策略(WindowsDistributedinternetApplicationArchitecture,视窗系统分布式网络应用结构)。
不过开发这样的系统需要开发人员掌握更多的技术,如:
ASP、VBScript、JavaScript、HTML/DHTML、ADO、COM/DCOM、MTS/COM+等等,同时学习这么多的技术这对程序员来说是一个不小的挑战!
图4
2.2.3.XML语言
XML(eXtendedMarkupLanguage)是一种标记语言,就象我们熟悉的HTML一样,但是XML的标签是由人们根据自己的需要来定制的,也就是说,任何词和字都可以做为标签来用,只要能准确的表达数据的属性。
例如当我们要表达一个人的姓名的时候用HTML也许我们会这样做:
“<
H3>
张三<
/H3>
”,但如果用XML我们就可以这样做:
姓名>
/姓名>
”。
数据表达的准确性XML绝对比HTML好多了!
准确表达数据的含义这就是XML带来的最大好处。
有了XML,我们就能定制各行各业的XML标签,这样对于要传输的数据就能用文本方式传送,并且只要对方有一份标签的定义文件就可以理解我们所表达的意思,从而在任何程序之间,不管他是用什么语言编写的;
任何系统之间,不管他是运行在什么CPU上的,是Windows、Linux还是MACOS;
任何人之间,无论他是什么国籍,说什么语言,是否懂得你的语言,自由交换信息了。
而这些正适应了目前因特网的发展,适应了人们沟通交流的需要。
XML出现短短几年就得到了广泛的应用,目前新推出的软件几乎都会支持XML。
例如微软的DotNet系列软件、Office系列软件等等。
不出几年,XML就会代替HTML成为因特网上标准的标记语言。
本系统引入XML语言表达数据的好处是使得系统中网页的显示和系统处理的数据分离,可以使系统不必去处理那些用于网页界面的代码,减小开发系统的复杂度,减少系统处理时间,减少网络传送量,从而提高效率。
另外我们知道目前一般程序员开发网站的时候都要同时完成网页的制作,但一般来说程序员都不可能设计出比专业的美工还好的网页来。
不过请来专业美工后怎么和程序员进行合作呢?
懂程序开发的美工可不会太多。
而XML就比较好的解决了这个问题,他使程序员不必去做网页,网页设计者不用去管程序。
只要定义好XML标签,程序员就可以用他来表示数据,而设计网页的也可以用他来制作网页。
2.3.本系统的方案选择
本系统应用于因特网,并且要满足一个学校几千学生考试的需要,因此本系统决定采用微软公司所推出的Web分布式多层应用程序结构,并且数据使用XML表示。
2.4.建模工具的选择
以UML语言建模应该是以Rational公司的Rose工具为最好。
不过Rose太贵了,并且Rose比较庞大,使用不是太方便。
Sybase公司出品的PowerDesigner建模工具也支持UML,还提供一个45天的试用版,在数据库建模上也有他独到的地方。
因此建模工具就选用PowerDesigner。
3.基于UML的系统分析
3.1.用例图
3.1.1.用户关系图
3.1.2.系统用例图
3.1.3.用例图利用情况清单
名称
代码
父
选择考试
ChoseTest
Object-OrientedModel'
网络考试系统(OOM)'
登录
Login
维护题库
WHTK
生成考试
shchksh
查询成绩
QueryScore
管理老师账号
CreateTea