收藏 分销(赏)

证劵投资管理信息系统的设计和实现.doc

上传人:w****g 文档编号:2391939 上传时间:2024-05-29 格式:DOC 页数:73 大小:6.37MB
下载 相关 举报
证劵投资管理信息系统的设计和实现.doc_第1页
第1页 / 共73页
证劵投资管理信息系统的设计和实现.doc_第2页
第2页 / 共73页
证劵投资管理信息系统的设计和实现.doc_第3页
第3页 / 共73页
证劵投资管理信息系统的设计和实现.doc_第4页
第4页 / 共73页
证劵投资管理信息系统的设计和实现.doc_第5页
第5页 / 共73页
点击查看更多>>
资源描述

1、个人收集整理 勿做商业用途目录第一章绪论11。1 设备管理系统技术背景11。2设备管理系统业务需求背景21.3系统设计步骤21。4论文内容3第二章设备管理系统设计分析32。1应用需求分析32.2系统功能模块划分42。3系统数据库设计5第三章 应用服务器的设计与实现103。1开发工具技术背景103。2应用服务器实现原理123。3应用服务器实例133。4动态数据库连接133。5远程数据模块的功能实现14第四章客户端程设计与实现144.1客户端应用程序流程154.2客户端应用程序实现原理164。3动态连接应用服务器实现164.4用户与权限模块的登录窗体的实现164.5设备管理模块的实现204。6计划

2、管理模块的实现254。8基础模块的实现294。9综合查询模块的设计与实现32目录图2-1 业务流程图 17图2-2系统功能框图 18图2-3 全局ER图 112图31Delphivel组件图 113图3-1Delphivel组件图 213图33 数据库组件关系图 114图34多层应用系统结构图 115图3-5存取数据流程图 116图3-7 数据库连接设置界面 117图38数据模快图 117图4-1客户端应用程序流程图 118图43动态连接服务器图 119图4-4权限管理实体关系图 120图4-5用户登录流程图 121图48修改密码图 123图49收货操作图 123图410设备辅助录入图 124

3、图411查询定位窗口 126图412打印选择窗口 127图4-13设备领用录入图 127图4-17采购计划单图 129图4-18 采购计划单审批图 129图4-19设备采购单图 130图420备采购审批单图 130图421同管理模块图 131图422同台账管理模块图 132图4-23合同归档模块图 132图4-24部门档案窗口 133图425树型部门档案窗口 133图426单查询窗口 136II1第一章绪论1。1 设备管理系统技术背景以数据库为基础的信息系统通常称为数据库应用系统,它一般具有信息采集、加工、抽取和传播等功能.数据库应用系统的开发是一项软件工程,应按照软件工程的过程和方法开发,才

4、能保证系统的可用性、可靠性和可维护性。开发数据库应用系统的技术基础是:对数据库原理、数据库管理系统(提供的数据库管理和设计支持功能)、应用程序存取数据库的中间驱动、应用程序架够的开发环境(包括程序设计语言、数据结构、算法分析和应用程序架构技术等知识)、软件工程和应用程序的分发技术要有一定程度的了解。开发数据库应用系统的任务是:充分利用上述基础知识和技能,设计实现业务要求的数据库,设计终端用户管理信息(存取数据库)的应用程序。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计.把设计转变为实际的数据库,并且这些数据库带有

5、功能完备、高效能的应用。典型的客户机/服务器结构包括一个前端,它的作用是访问和处理来自远程机器(服务器)上的数据.在客户机/服务器环境下,服务器所做的不仅仅是数据发布.实际上,服务器所做的事情主要是处理业务规则,同时,它还管理客户访问和操作数据的方式。客户端应用程序实际上只是向用户显示数据或从用户那里取的数据而已.中间件是一种程序设计公共接口,在网络数据库编程中它们也依赖于服务器的扩展程序。它们的作用是提供应用程序和数据库中间的连通性,使开发人员在研发的过程中避免受各种通信协议、操作系统以及数据库管理系统的影响.Delphi的集成数据库应用程序设计接口IDAPI是Client/Server开发

6、过程中的重要组成部分。她通过BDE和SQLLinkS来解决本地数据库接口和Client/Server数据库接口的兼容性问题。利用IDAPI构造的数据库应用程序,访问远程数据库(OraCle、Sybase、InformiX、SQLServer和DBZ等)。本文所阐述的证券公司设备管理就是在这样的技术背景下完成技术可行性的论证。利用数据库管理系统MICr.softSQLServer2000提供的数据库设计和开发功能开发服务器端数据库。使用Delphi集成开发环境及其提供的数据库引擎开发设计出终端用户使用数据库客证券公司设备管理信息系统设计与实现户端应用程序.1.2设备管理系统业务需求背景当今,计算

7、机被广泛应用于信息管理系统的环境.计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提.本系统就是为了管理好设备信息而设计的。证券行业设备管理是以lT类的电子设备为主的管理。lT系统涉及的主机、系统、数据库及网络资源繁多,系统运行过程存在潜在的危机。随着业务的迅速增大,证券业网络、主机、数据库、应用的运行状况的自动监控要求越来越高,导致以IT设备为核心的证券行业设备管理也越来越复杂,具有使用周期长、使用地点

8、分散、管理难度大等特点。所以,提高公司IT管理部门对rr资源和其它非电子类设备进行更有效的运维和管理,降低成本,提高反应速度,让既有的信息化资源发挥更大效能成为比较迫切的需要。同时,根据本人从事的IT管理系统相关工作的这几年的体会,rr管理涵盖从软件到硬件,从IT服务调查到IT服务帮助,从IT采购到设备维护、工作日志,覆盖与IT服务有关的全部工作内容。完善的IT资源管理软件一方面使日常rr资源使用管理更加高效科学,另一方面也可以配合财务对IT方面的固定资产进行管理,同时也可以针对各个部门IT方面的资源进行管理,每一资源中拥有非常详细的信息查询和使用,同时应用中也提供了丰富的报表和统计分析功能.

9、1.3系统设计步骤1)了解应用开发工具的现状2)DelPHi7。0编程基础3)MSSQLServer基础4)设计数据库;设计界面5)开发数据库。数据库实现的一些功能有l数据和数据说明的醒目显示;1多条件的查询、多条记录的检索、模糊查询;1数据的录入,经过数据完整性校验存入数据库;1数据库安全性的设计;1数据库的设计、数据接口、界面的设计.1.4论文内容绪论部分对数据库应用系统开发的技术背景和应用需求做了阐述,分析了设备管理信息系统设计的特点和任务。第二章 介绍了系统设计分析,主要对业务需求进行了分析归纳,对系统结构进行了介绍,数据库设计的理论基础以及数据库设计的概念设计和逻辑设计,设计了系统的

10、数据库结构,并根据需求对系统功能进行了划分和细化.第三章 根据Delphi开发工具的特点,对三层结构的应用系统进行了介绍,主要对应用服务器的设计思路和模块实现进行了介绍。第四章 主要对客户端程序设计思路和模块实现进行了介绍,总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。证券公司设备管理信息系统设计与实现第二章设备管理系统设计分析2。1应用需求分析本文所涉及的证券公司设备管理系统需要满足来自三方面的需求,这三个方面分别是设备使用者、设备管理工作人员和系统管理人员.设备使用者的需求是查询领用设备信息、个人使用信息及个人信息的修改;设备工作人员对设备使用者的设备领用及设备调

11、剂要求行操作,同时对设备购置前的申请和审批等环节进行登记审核,对设备购置合同进行管理登记;设备管理人员的功能最为复杂,包括对工作人员、设备使用者、设备进行管理和维护,及系统状态的查看、维护并生成设备管理的报表。设备使用者可直接查看库存设备情况,如果设备领用者根据本人用户号和密码登录系统,还可以进行本人设备使用情况的查询和维护部分个人信息。一般情况下,设备领用者只应该查询本人的设备使用情况和和维护个人信息,若查询和维护其他领用者的使用设备情况和个人信息,就要知道其他设备领用者的用户和密码。这些是很难得到的,特别是密码。设备工作人员要对设备购置的前后进行管理,设备前期管理是对设备采购前期的相关信息

12、、申请审批流程的管理,包括供应商管理、购置计划审批、购置申请、设备采购合同、设备验收记录。所以需对工作人员登陆本模块进行更多的考虑。设备后期管理是对设备分类设备分类信息维护,缺省包括电子设备(含rr)、运输设备、办公设备。设备卡片:为设备建立卡片式管理,登记设备详细信息,如规格、型号、设备技术参数等。可以按照设备的使用状态(新增、在用、维修、闲置、报废、借用、经营出租、经营租入、调拨)进行设备管理.设备管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对设备信息、合同信息、计划审批情况信息的管理和统计、使用人员和操作人员信息查看及维护。设备系统管理员可以浏览、查询、添加、删除、修改

13、、统计设备的基本信息;浏览、查询、统计、添加、删除和修改设备使用者的基本信息,浏览、查询、统计设备的信息,但不能添加、删除和修改设备领用用信息,这部分功能应该由设备工作人员执行,但是,删除某条设备领用者基本信息记录时,应实现对该设备领用者领用记录的级联删除。并且还应具有生成催还设备报表,并打印输出的功能。根据以上所做的需求分析,并略掉一些细节(如不考虑用户的登录;对记录的维护),得出以下的业务流程图(图21).图2-1 业务流程图 Error! No text of specified style in document.Error! Bookmark not defined.2.2系统功能模

14、块划分图2-2系统功能框图 Error! Bookmark not defined. 本系统按照多层数据库系统构成,将整个系统分为表现层,业务逻辑层和数据层,新加入的业务逻辑层负责数据库服务器和客户端的连接工作,它一方面将客户端的请求传递给数据库服务器,另一方面将服务器的查询结果返回送给客户端,系统功能框图如图2-2所示。2.3系统数据库设计一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(l)数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之

15、间的边界,绘制出DFD图,并完成相应的数据字典。(2)概念设计的任务是从DFD出发,绘制出本主题的实体一关系图,并列出各个实体与关系的纲要表。(3)逻辑设计的任务是从E一R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4)物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化,实现物理建库,完成数据库物理设计字典。(5)加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作.要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:基本表的个数越少越好。主键的个数越少越好。

16、键是表间连接的工具,主键越少,表间的连接就越简单。字段的个数越少越好。所有基本表的设计均应尽量符合第三范式.数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型.数据库设计的步骤是:(l) 数据库结构定义:目前的数据库管理系统(DBMs)有的是支持联机事务处理

17、CLT(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库.针对选择的DBMS,进行数据库结构定义。 (2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等.关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时

18、数据表。(3)存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全.(5)数据字典设计:用数据字典描述数据库的设计,便于维护和修改。 为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:规范化地重组数据结构:对数据进行规范化表达。关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构.A:链接关系的

19、确定在进行了上述数据规范化重组后,己经可以确保每一个基本数据表是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题.也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键词连接

20、就能够唯一地标识出某一事物不同属性在不同表中的存放位置。B:确定单一的父子关系结构所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。所谓的“父系”就是指表的上一级关系表。消除多对多关系可以借助于E一R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N的关系了。确定数据资源的安全保密属性:一般DBMS都提供给我们自己定义数据安全

21、保密性的能。系统所提供的安全保密功能一般有8个等级(o一7级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每一个表自由地进行定义。在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在个关系下的每个数据指标项则被称为数据元素(dataelement),这种关系落实到具体数据上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:在表中的任意一列上,数据项应属于同一个

22、属性(如图中每一列都存放着不同合同记录的同一属性数据);表中所行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名).在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,依此

23、类推。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计2。3.1概念设计在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式.将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。(1)设计局部ER模式实体和属性的定义收货单明细(收货单号、设备

24、编码、存放位置、实收数量、入库单价、凭证数量、名称、规格型号、计量单位、计划单价、单价单位)收货单(收货单号、库房名称、制单日期、供应厂家、物资来源、采购人、合同编号、发票金额、运杂费、发票号、主管、制单人、验收人、审核人、是否审核、审核日期、单据备注释)领用单(领用单号、库房名称、领用单位、制单日期、工程项目、用途、设备主管、领用主管、领用人、备注、审核人、是否审核、审核日期)领用单明细(领用单号、设备编码、请领数量、实发数量、设备名称、规格型号、计量单位、计划单位、单价单位)盘点(盘点编号、仓库名称、盘点日期、盘点人、是否审核、审核人、审核如期、备注)盘点明细(盘点编号、设备编号、设备名称

25、、规格型号、计量单位、计划单位、单价单位实存数量、盘点数量)库存明细(仓库名称、设备编号、设备名称、规格型号、计量单位、计划单位、单价单位、现有库存量、截止日期、备注)仓库信息(名称、地点、负责人、备注)计划单(计划单编号、制单日期、领用日期、工程项目、制单人、备注信息、本部门领导、申请部门审批、信息中心审批、财务部审批、是否审核、审核人、审核日期、计划是否落实)计划单明细(计划单编号、设备编号、设备名称、规格型号、计量单位、计划单位、单价单位、需求数量、需求日期)采购单(采购单编号、制单日期、领用部门、工程项目、制单人、备注信息、是否审核、审核人、审核日期)采购单明细(采购单编号、设备编号、

26、设备名称、规格型号、计量单位、计划单位、单价单位、采购数量、是否采购)合同情况(合同编号、供方单位编码、需方单位编码、签定地点、签定时间、供方单位名称、供方单位地址、供方单位法定代表人、供方单位委托代理人、供方单位电话、供方单位开户行、供方单位帐号、供方单位邮政编码、需方单位名称、需方单位地址、需方单位委托代理人、需方单位电话、需方单位开户行、供方单位帐号、经办人是否归档、归档人、归档时间、归档标题、合同明细(合同编号设备编号,设备名称)付款记录(合同编号付款次数付款日期付款金额支票号)到货记录(合同编号、设备编号、设备名称、规格型号、到货数量、计量单位、货日期)职工信息(职工编号、职工名称、

27、性别、出生年月政治面貌、所属部门编码、职称职务、职工属性、备注)部门信息(部门编码、部门名称、负责人姓名、部门属性、联系电话、地址、注)供应商信息(供应商编号、供应商名称、供应商简称、所属分类码、所属地区码、开户银行、银行帐号、法人、地址、邮政编码、联系电话、联系人、传真E一mail、地址、是否友好、发展日期、停用日期、是否停用)设备信息(设备编码设备名称规格型号计量单位计划单价、单价单位计划期需量最优储备天数极限储备天数不均匀系数备注)工程信息(工程编码、工程名称、工程内容、技术经济指标、工程负责人、开工时间、竣工时间、设计单位、施工单位、监理单位、业主、备注)分类别信息(分类编码、类别名称

28、)地区类别信息(分类地区码、类别名称)ER模型的“联系用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是l:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。(2)设计全局ER模式所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。l)确定公共实体类型为了给多个局部ER模式的合并提供开始合并的基础,

29、首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。2)局部ER模式的合并合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。3)消除冲突冲突分为三类:属性冲突、结构冲突、命名冲突。设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型.4)全局ER模式的优化在得到全局ER模式后,为了提高数据库系统的效率

30、,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。综上所述,“设备管理系统的全局ER模式如图2-3所示.l图23 全局ER图 Error! Bookmark not defined.2.3。2逻辑设计由于概念设计的结果是ER图,DBMS一般采用关系型(本人所使用的MSSQLServer就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程.于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化

31、地进行.设计结果是一组关系模式的定义。(l) 导出初始关系模式采购单(采购单编号,领用部门,工程项目,制单日期,审核人,审核日期,备注)证券公司设备管理信息系统设计与实现设备采购(采购单编号,设备编号,设备名称,规格型号,计量单位,计划单价,单价单位,采购数量,备注)设备信息(设备编号,设备名称,规格型号,计量单位,计划单价,单价单位,计划期需量,最优储备天数,极限储备天数,最优储备量,极限储备量,不均匀系数,备注)(2)产生子模式子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。采购子模式(采购单编号,

32、设备编号,设备名称,规格型号,计量单位,计划单价,单价单位,采购数量,备注)2。3。3数据库实现选用Micr0S。ftSQLSerVer2OO0(企业版)数据库来进行数据库的逻辑设计。首先创建基本数据库表,然后根据全局ER图,建立各个表之间的联系.SQLServer2000是MICros。ft公司推出的SQLServer数据库管理系统的一个版本,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点.MSSQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库.事实上,SQL

33、Server数据库处理的基本结构,采取关系型数据库模式,SQLServer的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQLServer的所有功能,都可以基于系统己经建立好的一些对象来达成,是相当oo(面向对象)的一个系统结构。SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新.本系统大量的用到了数据操作语言DML:包括数据查询与数据更新。数据查询主要是由Select语句完成,这一点不再赘述。而数据更新所造成的风险大大超过数据查询.数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性,

34、DBMS还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。于修改数据库内容的SQL语句主要有以下三个:(1)Insert,向一个表中加入新的数据行(2)Delete,从一个表中删除数据行(3)Update,更改数据库中己经存在的数据第三章 应用服务器的设计与实现3。1开发工具技术背景Delphi在数据库技术方面的额重大突破是它的BDE数据库连接机制。通过BDE,应用序和数据库可以建立稳固高效的连接。更为重要的是BDE通过数据库别名管理数据库,隐了数库应用程序与数据库连接的底层机制。在应用程序访问数据库的时候,只需要提供相据库的驱动程序就可以实现对数据库中数据的控制。D

35、e1Phi丰富的数据库辅助工具还可以大提高应用程序的开发效率,Delphi的面向对象的概念更适合与搭建数据库应用系统.数据库应用程序必须和用户界面(可以是图形界面,也可以是命令接口)元素相结合,只讲界面或只讲数据库本身都构不成数据库应用程序,因而用Delphi7。0开发数据库应程序就隐含着界面开发。Delphi7中的VCL组件可下图3-1说明。图31Delphivel组件图 1组件在Delphi程序的开发中是最显眼的角色。大家知道,在编写程序时一般都开始在组件面板上选择组件并定义组件间的相互作用。但也有一些组件不在组件面板上,例如Tform和Tapplieati.n(典型的非可视组件)。组件是

36、TeomponentS派生出来的子类,可以流的形式存放在DFM文件中,具有事件和Publish属性.窗口组件类是窗口化的可视化组件类,在Delphi的类库中占有最大的份额。在实际程中,窗口组件类的对象都有句柄,可以接受输入焦点和包含其它组件.图形组件与窗口组件并列,是另一大类组件。图形组件不是基于窗口的,因而不能有窗口句柄,不能接受输入焦点和包含其它组件。从图3一2中可以看出,图3-1Delphivel组件图 Error! Bookmark not defined.图形组件的基类是TgraphiCC.ntrol,在实际编程中,它们必须寄生于它们的宿主窗口组件类的对象,由它们的拥有者负责其显示,

37、而且它们还能触发一些和鼠标活动相关的事件。图形控件最典型的例子是Tlabel和TSPeedButton。由此可以看出图形组件的功能很弱,图形组件的用处何在呢?其实使用图形组件的最大好处在于节省资源,正是因为它们的功能较弱,所以使用的系统资源就要少.在一个应用程序中,如果能在不影响其功能的前提下合理大量地使用图形组件,将会大减少程序对系统资源的消耗。非可视组件是与可视组件相并列的另一类组件,非可视组件在程序运行中是不可见的(除各种对话框组件之外,事实上有人认为对话框组件不能归入非可视组件,应该是另一种介于可视与非可视之间的组件)。最后要说明一下,常说的控件实际上是一种组件。也就是说组件这个概念要

38、大于控件,控件在内涵上包含于组件中。控件由WindowS系列操作系统提出并使用,而组件是Borland和其它厂商在对WindowS控件做了必要的扩展之后提出来的概念,它们是在不同时期由不同的厂商提出的概念。用Delphi7开发数据库应用,重点是和各种数据库组件打交道,能和数据库挂钩的组件对象有5种,它们是:SeSSi。n(数据库会话)、Database(数据库)、Dataset(数据集)、DatasourCe(数据源)、DataControl(数据控制组件,也叫data一Contr。15即数据感知组件)。其中前面4种统称为数据访问(DataAcceSS)组件。这些组件的相互关系如图3一3所示。

39、图33 数据库组件关系图 1DataAccess页的组件,主要用于获得数据库的数据信息,所包含的组件并不与任何特定的数据访问机制关联(如dbExpress或BDE)。Datasouree,ClientDataset,DatasetProvider,XMLTransform,XMLTransformProvider,XMLTransformClient.DataContro1S页的组件,主要放置在用户界面,直接受用户的控制,因此也称控件。主要包括DBGrid,DBNavigator,DBText,DBEdit,DBImage,DBListBox,DBCombobox,DBCheekBox,DBR

40、adioGrouP,DblookuPListBox,DBRiehEdit,DBCtr1Grid,DBChart。Datasnap页的组件,主要用于实现多层数据库系统的开发.包括DCOMConneCtion,SoeketConneetion,SimPleobjeetBroker,WebConneetion,ConneetionBroker,SharedConnetion和Loea1Conneetion组件。BDE页组件,使用BDE机制连接并获得数据库中的数据信息,包括Table,Query,StorePr。c,Database,SeSSi。n,BatChMove,UpdateSQL和Nested

41、Table组件关系数据库管理系统客户端使用Soeket(TCP/IP)协议连接到Rem。teDataModule MTSDataM。dule远程数据模块,Web连接组件通过HTTP协议连接到RemoteDataModuleMTSDataModule远程数据模块,SOAP连接组件通过SOAP(HTTP和XML)连接到SoapDataModule远程数据模块,CORBA连接组件通过CORBA(1IOP)连接到CorbaDataModule远程数据模块。基于MIDAS技术的多层数据库应用是以远程数据模块,供应器组件,连接组件,客户端数集等组件为核心。建立远程数据模块需要配置RemoteDataM。d

42、ule远程数据模块组件,需要指定类名,例类型和线程类型.建立和运行一个应用服务器时,它不建立与客户应用的任何连接,而由客户端启动和维护连接.客户端使用它的连接组件建立一个连接到应用服务器,使用这个连接与选中的供应器通信。本系统中设计使用多层数据库应用程序,多层结构实际是多传统两层C/S结构的扩展多层应用程序具有以下的优点:1、将数据处理及通信功能封装在一个共享的中间层.不同的客户端程序都能防问这个中间层,这样就避免了为每个客户程序复制数据处理部分产生的冗余。2、缩小了客户端程序的规模,使的客户端程序更容易开发。这是因为不需要安装、配置和维护数据库连接软件,如BDE等。3、采用分布式数据处理过程

43、,将一个应用程序需要处理的任务分到几台机器上进行处理,从而提高程序执行的效率.4、提高了数据的安全性。将不同的数据功能封装成一定的中间层,并且授予不同的访问权限,这样就保证对数据的访问限制.3.2应用服务器实现原理3.2.1多层应用系统结构多层应用系统其实就是两层应用系统的基础上加了一个中间层,封装了业务处理规则,图3一4多层应用系统结构图图3-4多层应用系统结构图 1从图中可以看出,客户端应用程序通过TClientDataset组件获取数据,而TCIientDataset组件则连接上TRemoteserver组件(或者TSoeketConnection、TdcomConnection等),T

44、Remoteserver组件通过MidaS.dll和服务器应用程序之间进行通讯。服务器端应用程序通过远程数据模块的TdatasetProvider组件获取数据,同时也提供工Appserver接口向客户端提供服务。远程数据模块中的TdatasetProvider组件和数据集组件相连而直接获得数据。3。2.2存取数据的运作原理在多层应用系统中,当客户端应用程序连接到服务器应用程序后,开始使用TClientDataset组件以分段的形式取得数据是,服务器端应用程序中的TDatasetProvider组件的OnGetData事件将被触发。在OnGetData事件处理过程中,可对即将传递到客户端的数据进

45、行任何处理工作。在这个事件处理过程中,应用服务器也可以进行一些登录的工作,以记录客户端应用程序取得的数据,下图3一5是此流程的示意图。客户端应用程序可以通过程序代码从应用服务器取得数据,包括两种方式,第一种调用TCIientDataset组件的DataRequest方法,第二种则是设定FetChonDemand属性值为False,然后调用TClientDataset组件的GetNextPaehet方法,以在应用程序执行时于适当的时期向应用服务器取得数据.图3-5存取数据流程图 Error! Bookmark not defined.3.2.3更新数据的运作原理在多层数据库应用系统中,用户在客户

46、端调用TClientDataset组件的的Post方法时,只是将数据保存在客户端的内存中,这些数据并没有被传送到应用服务器端,并写入到数据库中。如果要把这些变化的数据写入到数据库中,还要调用TClienoataset组件的ApplyUpdates方法.3.3应用服务器实例在程序启动时查询一个类名相同的窗口,如果查找到,则向该窗口发送一个消息并退出程序,原窗口收到该消息后自动激活或从图标中还原,这样就不避免了程序的二次运行,同时也达到自动调用前一个例成的目的。主要的源代码见附录1。3。4动态数据库连接为了简化程序的安装,我们设计了动态配置BDE,将数据库的连接配置信息放在INI文件中,以后只要修

47、改IN工文件就可以很方便的连接上数据库了.窗体界面(图3一7)、主要源代码见附录2.图3-7 数据库连接设置界面 Error! Bookmark not defined.3。5远程数据模块的功能实现在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?数据模块(DataModule)(图3-8)是解决这个问题最好的答案。简单说来,数据模块是用来集中管数据源的一个窗体,该窗体可被需要的地方随时引入。图3-8数据模快图 Error! Bookmark not defined.第四章客户端程设计与实现4.1客户端应用程序流程在启动了客户端程序后,将首先连接应用服务器已得到数据和服务,若连接成功,便进入

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服