当前位置:文档之家› 计算机毕业设计(论文)_基于delphi考试系统的设计

计算机毕业设计(论文)_基于delphi考试系统的设计

摘要

软件工程在现代软件开发中的作用越来越大,并且发展出了很多行之有效的软件工程方法和建模语言。UML(Unified Modeling Language,统一建模语言)是一种非常流行的,支持面对对象建模方法的建模语言。到今天UML差不多已经成为建模语言的事实标准。本文就采用面对对象的方法以UML为建模语言,使用PowerDesigner这个case工具分析设计一个分布式的B/S结构的基于COM+和XML的网络考试系统。并使用Delphi、VBScript、ADO、XML、HTML等编程工具、语言和技术实现了这个系统。

关键词:UML COM+ Delphi ASP ADO XML

Abstract

Software Engineering is increasingly important in then modern software development. Today there are many functions and many software engineering methods. The UML (Unified Modeling Language) is one of they. In addition, it’s a popular and Object-Oriented based model language. The UML has almost been the international standard of model language. Using Object-Oriented Model and UML by case tools of PowerDesigner, the paper designs a distributed B/S constructed online test system, which is based on COM+ and XML. In order to realize the system a lots of tools and program languages are used, such as Delphi, VBScript, ADO, XML, and HTML etc.

Key Words:UML COM+ Delphi ASP ADO XML

目录

分布式网络考试系统原型分析及实现······························错误!未定义书签。

1.问题定义 (4)

2.需求分析 (4)

2.1.系统目标 (4)

2.2.可行性分析 (4)

2.2.1.现有的数据库应用程序的分层结构 (4)

2.2.1.1.传统二层结构 (4)

2.2.1.2.三层数据库应用结构 (5)

2.2.1.3.多层分布式数据库系统 (5)

2.2.2.网络分布式多层应用系统 (6)

2.2.3.XML语言 (7)

2.3.本系统的方案选择 (8)

2.4.建模工具的选择 (8)

3.基于UML的系统分析 (8)

3.1.用例图 (8)

3.1.1.用户关系图 (8)

3.1.2.系统用例图 (9)

3.1.3.用例图利用情况清单 (9)

3.2.顺序图 (10)

3.2.1.老师活动顺序图 (10)

3.2.2.学生活动顺序图 (11)

3.2.3.动作清单 (11)

3.2.4.通讯清单 (12)

3.3.类图 (13)

3.3.1.类图一 (13)

3.3.2.类图二 (13)

3.3.3.类清单 (14)

3.3.4.类方法清单 (14)

3.4.网站页面布置图 (16)

4.数据库的分析设计 (17)

4.1.数据库概念模型(Conceptual Data Model) (17)

4.1.1.图 (17)

4.1.2.资料清单 (17)

4.1.3.实体清单 (18)

4.1.4.实体的识别字清单 (18)

4.1.5.关系清单 (19)

4.2.数据库物理模型(Physical Data Model) (19)

4.2.1.图 (19)

4.2.2.物理模型栏位清单 (19)

4.2.3.表格索引清单 (20)

4.2.4.表格引键清单 (21)

4.2.5.参考清单 (21)

4.2.6.表格清单 (21)

4.3.SQL语句 (21)

5.系统实现 (26)

5.1.开发平台的选择 (26)

5.2.编程工具的选择 (27)

5.3.XML和网页编辑工具的选择 (27)

5.4.系统编码 (27)

5.4.1.源程序文件清单 (27)

5.4.1.1.网站文件清单: (27)

https://www.doczj.com/doc/de17796350.html,+组件源程序文件清单 (28)

5.4.2.程序核心代码 (28)

5.4.2.1.学生进行考试页面的XLST文件:Testing.xsl (28)

5.4.2.2.定制ASP对象主代码 (32)

5.4.2.3.学生对象COM+组件主代码 (39)

5.4.2.4.老师对象COM+组件主代码 (47)

5.4.2.5.管理员COM+组件主代码 (47)

5.4.3.程序运行截图 (47)

5.4.3.1.登录页面(系统主界面) (47)

5.4.3.2.学生维护页主界面 (47)

5.4.3.3.学生修改个人资料页面 (47)

5.4.3.4.学生查询成绩页面 (47)

5.4.3.5.学生参加考试页面 (47)

5.4.3.6.进行考试页面 (47)

5.4.3.7.老师维护页主界面 (47)

5.4.3.8.老师生成试卷页面 (47)

5.4.3.9.老师修改个人资料页面 (47)

5.4.3.10.管理员维护页主界面 (47)

5.4.3.11.管理员增加老师页面 (47)

5.4.3.12.管理员增加学生页面 (47)

5.4.3.13.管理员修改密码页面 (47)

6.系统安装分发 (48)

6.1.数据库的设置 (48)

6.2.配置COM+环境 (49)

6.3.IIS的配置 (50)

6.4.注意事项 (50)

7.系统不足与展望 (50)

8.致谢 (51)

9.参考文献 (51)

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平台下微软公司推出了的Windows DNA(Distributed interNet Application Architecture,分布式网络应用结构)策略。把COM+作为Windows DNA策略中的中间件。在Windows2000以上操作系统中,COM+成为了系统的

一部分。COM+为中间层提供了负载平衡、对象池(Object Pooling)、事务特性等一系列的强力支持,并且在COM+中工作的程序受到操作系统的保护,从而最大的保证了系统的安全、稳定和高效。当然开发这样的系统要求开发人员必须掌握COM(Component Object Model,组件对象模型)和COM+技术,开发难度和成本更大了。

图3

2.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+等等,同时学习这么多的技术这对程序员来说是一个不小的挑战!

图4

2.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.用例图利用情况清单

3.2. 顺序图

3.2.1.老师活动顺序图

3.2.2.学生活动顺序图

3.2.3.动作清单

3.2.

4.通讯清单

3.3. 类图3.3.1.类图一

3.3.2.类图二

3.3.3.类清单

3.3.

4.类方法清单

注:因为所使用的PowerDesigner并不支持Delphi所使用的Object Pascal编程语言,所以类的分析中省略了参数返回值等内容。

3.4. 网站页面布置图

注:密码验证构件分别为老师、学生、管理员三个构件的登录(Login)方法调用

4. 数据库的分析设计

4.1. 数据库概念模型(Conceptual Data Model ) 4.1.1. 图

4.1.2. 资料清单

4.1.3.实体清单

4.1.4.实体的识别字清单

4.1.

5.关系清单

4.2. 数据库物理模型(Physical Data Model)4.2.1.图

4.2.2.物理模型栏位清单

4.2.3.表格索引清单

相关主题
文本预览
相关文档 最新文档