




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分布式网络考试系统分析毕业论文目 录分布式网络考试系统原型分析及实现11.问题定义42.需求分析42.1.系统目标42.2.可行性分析42.2.1.现有的数据库应用程序的分层结构.传统二层结构.三层数据库应用结构.多层分布式数据库系统52.2.2.网络分布式多层应用系统62.2.3.XML语言72.3.本系统的方案选择82.4.建模工具的选择83.基于UML的系统分析83.1.用例图83.1.1.用户关系图83.1.2.系统用例图93.1.3.用例图利用情况清单93.2.顺序图103.2.1.老师活动顺序图103.2.2.学生活动顺序图113.2.3.动作清单113.2.4.通讯清单123.3.类图133.3.1.类图一133.3.2.类图二133.3.3.类清单143.3.4.类方法清单143.4.网站页面布置图164.数据库的分析设计174.1.数据库概念模型(Conceptual Data Model)174.1.1.图174.1.2.资料清单174.1.3.实体清单184.1.4.实体的识别字清单184.1.5.关系清单194.2.数据库物理模型(Physical Data Model)194.2.1.图194.2.2.物理模型栏位清单194.2.3.表格索引清单204.2.4.表格引键清单214.2.5.参考清单214.2.6.表格清单214.3.SQL语句215.系统实现265.1.开发平台的选择265.2.编程工具的选择275.3.XML和网页编辑工具的选择275.4.系统编码275.4.1.源程序文件清单2.网站文件清单:2.COM+组件源程序文件清单285.4.2.程序核心代码2.学生进行考试页面的XLST文件:Testing.xsl2.定制ASP对象主代码3.学生对象COM+组件主代码40.老师对象COM+组件主代码4.管理员COM+组件主代码505.4.3.程序运行截图5.登录页面(系统主界面)5.学生维护页主界面5.学生修改个人资料页面5.学生查询成绩页面5.学生参加考试页面5.进行考试页面5.老师维护页主界面5.老师生成试卷页面60.老师修改个人资料页面60.管理员维护页主界面61.管理员增加老师页面62.管理员增加学生页面63.管理员修改密码页面656.系统安装分发656.1.数据库的设置656.2.配置COM+环境676.3.IIS的配置686.4.注意事项687.系统不足与展望688.致谢699.参考文献691. 问题定义现在网络正在改变着传统的教育方式,网络教育也越来越多,就算是传统的教育方式下,把考试搬到网络上也是一种趋势。考试的无纸化网络化不仅能有效减少老师的工作量,很好的利用计算机的优势,提高工作效率,也能使考试更加公平、公正。所以就一定要构建一个性能良好安全可靠的可以满足大量学生同时使用的网络考试系统。本原型系统主要功能如下:1. 学生可以在网上进行考试,考试结束后由计算机批改试题给出分数,并记录成绩。2. 学生在还可以在网上查询自己的考试成绩,修改密码等个人资料。3. 老师可以在网上出题,修改密码等个人资料。4. 管理员可以在网上建立学生、老师等用户。2. 需求分析2.1. 系统目标本网络考试系统应该能满足学校几千学生在任何地方、任何时间都能参加考试。本系统要让学生、老师和管理员在网络上可以维护自己的个人资料。学生也可以在网络上通过本系统查询自己考试的成绩;老师能通过网络生成试卷;管理员在网络上通过本系统增加学生和老师;另外为了让考试比较公平,试卷的试题由计算机随机从题库抽取。2.2. 可行性分析2.2.1. 现有的数据库应用程序的分层结构. 传统二层结构传统的二层式程序,也就是客户/服务器(Client/Server)结构,这种程序相对简单、清楚、开发容易,其结构如图1。客户机都通过网络连接到同一个数据库上,不过这样结构问题很多,最主要的就是性能较差维护困难已经不适应在因特网(Internet)上使用。数据同一性和完整性难以控制。同时由于每一个客户机都必须安装特定的软件,且这种客户端软件体积还比较大,用户使用起来非常不方便,所以目前已经面临淘汰。不过这样的系统开发比较简单,对开发人员的技术要求也不高,在内部局域网上使用还有一定的市场。(图1). 三层数据库应用结构三层结构是目前用得最多的,这种结构比传统的C/S结构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,更由于业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以他的可靠性、稳定性和效率都比较好。当然开发这样的系统在技术上和成本上要求就要多一些。(其结构如图2)图. 多层分布式数据库系统近年来随着因特网的快速发展,许多企业都开始上网,因此基于网络的营销系统、MIS系统、ERP系统都快速发展起来了,这个时候仅仅三层的应用程序已经不能满足实际需求了。因此又发展出来了多层分布式的数据库系统。在多层分布式系统中,人们把中间的应用服务器再拆分为很多比较小的系统,均匀分散到多台计算机中处理,这样就能得到更好的性能并且降低了程序复杂度。在多层分布式数据库系统中必须要有一个所谓的中间件来支持和管理分散的业务处理程序。在Windows平台下微软公司推出了的Windows DNA(Distributed interNet Application Architecture,分布式网络应用结构)策略。把COM+作为Windows DNA策略中的中间件。在Windows2000以上操作系统中,COM+成为了系统的一部分。COM+为中间层提供了负载平衡、对象池(Object Pooling)、事务特性等一系列的强力支持,并且在COM+中工作的程序受到操作系统的保护,从而最大的保证了系统的安全、稳定和高效。当然开发这样的系统要求开发人员必须掌握COM(Component Object Model,组件对象模型)和COM+技术,开发难度和成本更大了。图32.2.2. 网络分布式多层应用系统近几年来因特网飞速发展,人们的生活因为网络而在慢慢的改变。现在的个人电脑(PC)上都安装了浏览器(Browser)因此人们就利用浏览器来作为客户端程序,万维网服务器(Web Server)作为中间层和客户端沟通服务器,这就是现在流行的B/S(Browser/Server)结构方式。在这种结构下,本地的计算机无须安装任何客户端程序,只要有浏览器,可以使用因特网就可以使用系统了。他不仅仅减少了开发客户端带来的成本,最关键的是,大大减少了系统维护的成本和时间,当修改系统的时候不需要对客户做任何的改动。并且客户也可以在任何计算机上使用你的系统而不要做特别的设置。在B/S系统中以微软公司的IE浏览器、和IIS/ASP(Internet Information Server/Active Server Pages)服务器应用最为广泛,使用最方便,对中文的支持也是最好的。但是,ASP有一个天生的缺点,就是ASP代码是采用的VBScript、JScript或者PHP等脚本语言编写,运行速度相当的慢,而且和HTML代码是混在一起的,使ASP程序员既需要考虑与数据库打交道,又需要关心如何与HTML配合,有时还需要用ASP直接生成HTML代码。这样构建起来的系统当然是不能满足中、大型网络应用的需要。不过好在ASP可以通过脚本语言调用基于COM的程序,而得到功能和性能上的提升。在微软公司最新的IIS5.0系统上更可以让我们使用VC+、VB、Delphi等开发工具建立定制的运行于COM+环境中的ASP对象,这种对象,还可以和其他的COM+组件协同工作。这样一来我们就可以用B/S方式构建多层分布式的应用系统来满足大型网络应用。这也就是微软公司所推出的Web分布式多层应用程序结构(其结构如图4)也就是我们常听到的Windows DNA策略(Windows Distributed internet Application Architecture,视窗系统分布式网络应用结构)。不过开发这样的系统需要开发人员掌握更多的技术,如:ASP、VBScript、JavaScript、HTML/DHTML、ADO、COM/DCOM、MTS/COM+等等,同时学习这么多的技术这对程序员来说是一个不小的挑战!图42.2.3. XML语言XML(eXtended Markup Language)是一种标记语言,就象我们熟悉的HTML一样,但是XML的标签是由人们根据自己的需要来定制的,也就是说,任何词和字都可以做为标签来用,只要能准确的表达数据的属性。例如当我们要表达一个人的姓名的时候用HTML也许我们会这样做:“张三”,但如果用XML我们就可以这样做:“张三”。数据表达的准确性XML绝对比HTML好多了!准确表达数据的含义这就是XML带来的最大好处。有了XML,我们就能定制各行各业的XML标签,这样对于要传输的数据就能用文本方式传送,并且只要对方有一份标签的定义文件就可以理解我们所表达的意思,从而在任何程序之间,不管他是用什么语言编写的;任何系统之间,不管他是运行在什么CPU上的,是Windows、Linux还是MAC OS;任何人之间,无论他是什么国籍,说什么语言,是否懂得你的语言,自由交换信息了。而这些正适应了目前因特网的发展,适应了人们沟通交流的需要。XML出现短短几年就得到了广泛的应用,目前新推出的软件几乎都会支持XML。例如微软的Dot Net系列软件、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. 用例图利用情况清单名称代码父选择考试ChoseTestObject-Oriented Model 网络考试系统 (OOM)登录LoginObject-Oriented Model 网络考试系统 (OOM)维护题库WHTKObject-Oriented Model 网络考试系统 (OOM)生成考试shchkshObject-Oriented Model 网络考试系统 (OOM)查询成绩QueryScoreObject-Oriented Model 网络考试系统 (OOM)管理老师账号CreateTeacherObject-Oriented Model 网络考试系统 (OOM)管理学生账户CreateStudentObject-Oriented Model 网络考试系统 (OOM)更新老师的资料UpDateTeacherObject-Oriented Model 网络考试系统 (OOM)更新学生的资料UpDateStudentObject-Oriented Model 网络考试系统 (OOM)修改管理员的密码UpDateAdminObject-Oriented Model 网络考试系统 (OOM)3.2. 顺序图3.2.1. 老师活动顺序图3.2.2. 学生活动顺序图3.2.3. 动作清单名称代码父学生StudentObject-Oriented Model 网络考试系统 (OOM)老师TeacherObject-Oriented Model 网络考试系统 (OOM)管理员AdminObject-Oriented Model 网络考试系统 (OOM)用户UserObject-Oriented Model 网络考试系统 (OOM)3.2.4. 通讯清单名称代码父接收者输送者确认TrueObject-Oriented Model 网络考试系统学生密码登录LoginObject-Oriented Model网络考试系统密码学生查询成绩QueryScoreObject-Oriented Model 网络考试系统 (OOM)试卷学生参加考试TestingObject-Oriented Model 网络考试系统 (OOM)试卷学生提交回答SubmitObject-Oriented Model 网络考试系统 (OOM)试题试卷返回成绩ReScoreObject-Oriented Model 网络考试系统 (OOM)试卷试题返回成绩ReScoreObject-Oriented Model 网络考试系统 (OOM)学生试卷登录LoginObject-Oriented Model 网络考试系统 (OOM)密码老师生成试卷CreatePaperObject-Oriented Model 网络考试系统 (OOM)试卷老师维护weihuObject-Oriented Model 网络考试系统 (OOM)学生老师请求试题GetQuestionObject-Oriented Model 网络考试系统 (OOM)试题试卷返回试题ReQuestionsObject-Oriented Model 网络考试系统 (OOM)试卷试题确认SureObject-Oriented Model 网络考试系统 (OOM)老师密码确认考生SureObject-Oriented Model 网络考试系统 (OOM)试卷试卷考试成绩ScoreObject-Oriented Model 网络考试系统 (OOM)学生试卷记录成绩WriteScoreObject-Oriented Model 网络考试系统 (OOM)试卷试卷3.3. 类图3.3.1. 类图一3.3.2. 类图二3.3.3. 类清单名称代码父产生可见性抽象类别类型密码PWDPackage 数据存取组件TRUEpublicFALSEClass试题QuestionsPackage 数据存取组件TRUEpublicFALSEClass试卷PaperPackage 数据存取组件TRUEpublicFALSEClass学生StudentsPackage 数据存取组件TRUEpublicFALSEClass老师TeacherPackage 数据存取组件TRUEpublicFALSEClass用户UsersPackage 数据存取组件TRUEpublicFALSEClass管理员AdminPackage 数据存取组件TRUEpublicFALSEClass3.3.4. 类方法清单名称代码结果类型可见性抽象最终点静态量詞登录LoginvoidpublicFALSEFALSEFALSE密码修改UpDatevoidpublicFALSEFALSEFALSE密码修改UpDatavoidpublicFALSEFALSEFALSE试题增加AddvoidpublicFALSEFALSEFALSE试题删除DelvoidpublicFALSEFALSEFALSE试题查询成绩QueryScorevoidpublicFALSEFALSEFALSE试卷生成试卷CreatePapervoidpublicFALSEFALSEFALSE试卷评分PutScorevoidpublicFALSEFALSEFALSE试卷取得试题GetPapervoidprivateFALSEFALSEFALSE试卷修改UpDatevoidpublicFALSEFALSEFALSE学生增加AddvoidpublicFALSEFALSEFALSE学生删除DelvoidpublicFALSEFALSEFALSE学生登录LoginvoidpublicFALSEFALSEFALSE学生进行考试TestingvoidpublicFALSEFALSEFALSE学生批改试卷CheckPapervoidpublicFALSEFALSEFALSE学生修改EditvoidpublicFALSEFALSEFALSE老师增加AddvoidpublicFALSEFALSEFALSE老师删除DelvoidpublicFALSEFALSEFALSE老师登录LoginvoidpublicFALSEFALSEFALSE老师修改UpDatevoidpublicFALSEFALSEFALSE用户增加AddvoidpublicFALSEFALSEFALSE用户删除DelvoidpublicFALSEFALSEFALSE用户登录LoginvoidpublicFALSEFALSEFALSE用户修改自己密码UpDatevoidpublicFALSEFALSEFALSE管理员增加用户AddvoidpublicFALSEFALSEFALSE管理员删除用户DelvoidpublicFALSEFALSEFALSE管理员登录LoginvoidpublicFALSEFALSEFALSE管理员注:因为所使用的PowerDesigner并不支持Delphi所使用的Object Pascal编程语言,所以类的分析中省略了参数返回值等内容。3.4. 网站页面布置图注:密码验证构件分别为老师、学生、管理员三个构件的登录(Login)方法调用4. 数据库的分析设计4.1. 数据库概念模型(Conceptual Data Model)4.1.1. 图4.1.2. 资料清单名称代码定义域数据类型长度精确度答案AnswerA11选项4Select4VA100100电子邮件EmailVA3535电子邮件EmailVA3535选项3Select3VA100100选项2Select2VA100100选项1Select1VA100100问题QuestionVA200200问题号QuestionIDNO成绩ScoreSI流水号IDNO入学时间EnterTimeDT性别SexA22年龄AgeSI学号StudentIDA1010科目SubjectVA5050密码PWDA1616姓名NameA1212老师编号TeacherIDA1010试卷号PaperIDI4.1.3. 实体清单名称代码父产生管理员AdminConceptual Data Model NetTest (CDM)TRUE老师TeachersConceptual Data Model NetTest (CDM)TRUE学生StudentsConceptual Data Model NetTest (CDM)TRUE试卷PapersConceptual Data Model NetTest (CDM)TRUE试题QuestionsConceptual Data Model NetTest (CDM)TRUE4.1.4. 实体的识别字清单名称代码父姓名Key_NameEntity 管理员老师编号PK_TeacherIDEntity 老师学号PK_StudentIDEntity 学生流水号PK_IDEntity 试卷问题号PK_QuestionIDEntity 试题4.1.5. 关系清单名称代码父实体 2实体 1参加考试TestingConceptual Data Model NetTest (CDM)试卷学生生成CreateConceptual Data Model NetTest (CDM)试卷老师4.2. 数据库物理模型(Physical Data Model)4.2.1. 图4.2.2. 物理模型栏位清单名称代码老师编号TeacherID姓名Name密码PWD科目Subject电子邮件Email学号StudentID姓名Name年龄Age性别Sex入学时间EnterTime密码PWD电子邮件Email流水号ID老师编号TeacherID学号StudentID试卷号PaperID科目Subject成绩Score问题号QuestionID科目Subject问题Question选项1Select1选项2Select2选项3Select3选项4Select4答案Answer姓名Name密码PWD4.2.3. 表格索引清单名称代码唯一的群主要的外来键代替键表格姓名Index_NameFALSEFALSEFALSEFALSEFALSE老师姓名Index_NameTRUETRUETRUEFALSEFALSE学生学号Index_StudentIDFALSEFALSEFALSETRUEFALSE试卷科目Index_SubjectIDFALSEFALSEFALSEFALSEFALSE试题姓名Index_NameFALSEFALSEFALSEFALSEFALSE管理员4.2.4. 表格引键清单名称代码表格老师编号PK_TeacherID老师学号PK_StudentID学生流水号PK_ID试卷问题号PK_QuestionID试题姓名Key_Name管理员4.2.5. 参考清单名称代码父表格子表格参加考试Testing学生试卷生成Create老师试卷4.2.6. 表格清单名称代码老师Teachers学生Students试卷Papers试题Questions管理员Admin4.3. SQL语句/*=*/* Database name: NetTest (PDM) */* DBMS name: Microsoft SQL Server 2000 */* Created on: 2002-6-11 11:28:20 */*=*/alter table NetTest.Papers drop constraint FK_PAPERS_CREATE_TEACHERSgoalter table NetTest.Papers drop constraint FK_PAPERS_TESTING_STUDENTSgoif exists (select 1 from sysindexes where id = object_id(NetTest.Admin) and name = Index_Name and indid 0 and indid 0 and indid 0 and indid 0 and indid = 0 ),constraint PK_PAPERS primary key (ID)go/*=*/* Index: Index_StudentID */*=*/create index Index_StudentID on NetTest.Papers (StudentID)go/*=*/* Table: Questions */*=*/create table NetTest.Questions (QuestionID bigint identity,Subject varchar(50) not null,Question varchar(200) not null,Select1 varchar(100) not null,Select2 varchar(100) not null,Select3 varchar(100) not null,Select4 varchar(100) not null,Answer char(1) not null,constraint PK_QUESTIONS primary key (QuestionID)go/*=*/* Index: Index_SubjectID */*=*/create index Index_SubjectID on NetTest.Questions (Subject)go/*=*/* Table: Students */*=*/create table NetTest.Students (StudentID char(10) not null,Name char(12) not null,Age smallint not null constraint CKC_AGE_STUDENTS check (Age between 0 and 100),Sex char(2) not null,EnterTime datetime not null,PWD char(16) not null,Email varchar(35) null,constraint PK_STUDENTS primary key (StudentID)go/*=*/* Table: Teachers */*=*/create table NetTest.Teachers (TeacherID char(10) not null,Name char(12) not null,PWD char(16) not null,Subject varchar(50) not null,Email varchar(35) null,constraint PK_TEACHERS primary key (TeacherID)go/*=*/* Index: Index_Name */*=*/create index Index_Name on NetTest.Teachers (Name)goalter table NetTest.Papers add constraint FK_PAPERS_CREATE_TEACHERS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题6.1 数列的概念(原卷版)-2024年高考数学一轮复习精讲精练宝典(新高考专用)
- 2022年北京市初三一模道德与法治试题汇编:富强与创新章节综合
- 沥青混凝土破除施工方案
- 专题02 陆地和海洋-2025年中考地理一轮复习知识清单(背诵版)
- 共同经营投资合同范例
- 企业投资入股合同范例
- 多元文化教育的创新尝试计划
- 管理者如何应对市场变化计划
- 通过表彰激发学生品德向上精神计划
- 社团活动中的领导与管理实践计划
- 历史-浙江天域全国名校协作体2025届高三下学期3月联考试题和解析
- 软胶囊成本结构分析-深度研究
- 2025年安徽国防科技职业学院单招职业技能考试题库必考题
- 客房专业知识培训课件
- 高等数学(慕课版)教案 教学设计-1.3 极限的运算法则;1.4 极限存在准则与两个重要极限
- 2025年中考百日誓师大会校长致辞稿(一)
- 2025重庆市建筑安全员A证考试题库
- 2025年湖南铁路科技职业技术学院单招职业适应性测试题库附答案
- 人教版初中数学八年级下册全册教案(2024年春季修订)
- 2025中国福州外轮代理限公司招聘15人易考易错模拟试题(共500题)试卷后附参考答案
- 医院感染及其危害
评论
0/150
提交评论