




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 本文运用 成功地设计实 这一框架和这 了比较高的水 摘要 。 1 k 蕺一二一一 g 者。卜4 , 用 到 系 统的工具化标准化开发,复用程序的严格测试也减少了系统b u g 出现的密 度。 在本系统的设计和实施过程中,我们力求达到: 1 信息共享。所有的原始信息只有一个入口,而可以多部门使用,各 部门各层领导都能依据权限找到自己所需信息,而且不同视角的分析结果都 来自同一数据源,保证决策信息的真实,准确和及时。 2 增加信息的可视性,通过可视的信息逐步优化管理,拧干物流链水 分,逐步减少备件库存和材料消耗。加强控制和服务的能力,提高生产率, 降低供应链成本。 3 准确动态的计算成本,通过从零配件采购控制,材料消耗核算,车 辆维修管理,客货运服务,票务信息的有效集成,最终财务可以动态地核算 和预测单车成本。 要设计这样一个程序量庞大的大规模应用系统,如果不从构件开始是难 以想象的事情。面向对象的系统开发平台为我们提供了基本的构件以及扩充 这些构件的工具和方法,使得我们有了更为广阔的创新和施展的空间。 关键词:面向对象,构件,功能窗口 垫堡翌三盔堂堡主堂垡堕奎 a b s t r a c t b a s e do nt h et e c h n o l o g yo f o b j e c to r i e n t e d a na p p l i c a t i o nf r a m e a n dm a n y g e n e r a lc o m p o n e n t st h a ta r et h eb a s i so f t h ec o r p o r a t ee r pc a r tb es u c c e s s f u l l y d e s i g n e do nt h ec l i e n t s e r v e rp l a t f o r m u s i n gt h e m ,w ec a l l d e v i s et h ee r p s y s t e mo f at r a n s p o r tc o r p o r a t i o n t h i sm a k e st h er e c u r r e n c er a t eo fa p r o g r a m r e a c hah i g h e r l e v e r , s p e e d su p t h e s y s t e m i cd e v e l o p m e n t ,a n d m a k e st h e d e v e l o p m e n to f t h ee r p s y s t e ms t a n d a r d i z et os o m ee x t e n d a n dt h es t r i c tt e s t o far e c u r r e n c ep r o g r a mc a na l s or e d u c et h ed e n s i t yo f a p p e a r i n gs y s t e mb u g i nc o u r s eo f d e s i g n i n ga n de x e c u t i n g t h i ss y s t e m ,w et r yo u rb e s tt or e a c h : i n f o r m a t i o ns h a r e a l lo r i g i n a li n f o r m a t i o nh a so n l yo n ee n t r a n c e ,b u tm a n y d e p a r t m e n t sc a nu s ei t l e a d e r sa te a c hl e v e la n di ne v e r yd e p a r t m e n tc a l lf i n d h i sn e e d e di n f o r m a t i o na c c o r d i n gt oa u t h o r i t y a n da l la n a l y s i sr e s u l t sc o m e f r o mt h es a m ed a t as o b r c e t h i se n s u r e st h ed e c i s i o n - m a k i n gi n f o r m a t i o n s r e a l i t y , e x a c t n e s sa n d t i m e l i n e s s i m p r o v et h ev i s i b i l i t yo fi n f o r m a t i o n b yg r a d u a lo p t i m i z e dm a n a g e m e n t o f t h ev i s i b l ei n f o r m a t i o n ,w ec a ng r a d u a l l yr e d u c et h es t o r a g eo fs p a r ep a r t s , i m p r o v et h ea b i l i t yo f c o n t r o la n ds e r v i c e ,e n h a n c et h ep r o d u c t i v i t y , a n dr e d u c e t h ec o s to f s u p p l y c h a i n e x a c ta n d d y n a m i c c a l c u l a t i o n c o s t b yc o n t r o l l i n g t h e p u r c h a s e o f a c c e s s o r y ,r e c k o n i n g t h e c o n s u m p t i o no fm a t e r i a l s ,m a n a g i n g t h e r e p a i r o f v e h i c l e s ,a n de f f e c t i v ei n t e g r a t i o no ft i c k e ti n f o r m a t i o n ,s e r v i c eo fp a s s e n g e r t r a n s p o r ta n df r e i g h t ,w ec a l ld y n a m i c a l l yc a l c u l a t e t h ef i n a n c i n ga n d p r e d i c tt h e c o s to f p e r v e h i c l e f i n a l l y i t sad i f f i c u l t t h i n g t o i m a g e t h a tw ec a l ld e v i s es u c ha l a r g e - s c a l e a p p l i c a t i o ns y s t e m t h a tc o n t a i n sal o to fp r o g r a mn o tc o m m e n c i n gw i t h c o m p o n e n t s t h es y s t e mp l a t f o r mo fo b j e c to r i e n t e dc a np r o v i d es o m eb a s a l c o m p o n e n t sf o ru s ,a l s ot o o l sa n d m e t h o d st h a te x p a n dt h o s eb a s a lc o m p o n e n t s t h i sc a nm a k eo u rs p a c eo fi n n o v a t i o na n de x e c u t i o nw i d e r k e yw o r d s :o b j e c to r i e n t e d ,c o m p o n e n t ,f u n c t i o n w i n d o w 1 1 武汉理工大学硕士学位论文 1 1 背景意义 1 1 1 e r p 系统定义 第1 章引论 国际著名的管理软件评估结构g a r t n e rg r o u p 在9 0 年代初期定义了 e r p 系统,指出e r p 系统是一个根据订单对企业范围戒的资源进行规划j 口财 务核算的信息系统“1 1 。g a r t n e rg r o u p 提出e r p 具备的功能标准应包括四个 方面: 1 超越i d r p i i 范围的集成功能包括质量管理:试验室管理;流程作业管理: 配方管理:产品数据管理;维护管理:管制报告和仓库管理。 2 支持混合方式的制造环境包括既可支持离散又可支持流程的制造环 境:按照面向对象的业务模型组合业务过程的能力和国际范围内的应用。 3 支持能动的监控能力,提高业务绩效包括在整个企业内采用控制和工 程方法:模拟功能:决策支持和用于生产及分析的图形能力。 4 支持开放的客户机服务器计算环境包括客户机月务器体系结构;图 形用户界面( g u i ) :计算机辅助设计工程( c a s e ) ,面向对象技术:使用s q l 对 关系数据库查询:内部集成的工程系统、商业系统、数据采集和外部集成 ( e d l l 一一一一 一 厂e r p 是对m r p 的超越拟本质上看,e r p 仍然是以m r p i i 为核心,但在功 能和赫互却超越了传统的m r p i i ,它是以用户驱动的、基于时间的、面向 整个供应链管理的企业资源计划。 1 1 2e r p 系统的目标 可以为e r p 列出许多的目标:对于企业领导者来说,希望看到成本下降、 市场扩大、利润提高;对于企业管理者来说希望优化企业的管理流程、加强 经营控制:对信息主管来说要消除信息孤岛、提高信恳集成度等等“1 1 。 实施e r p 是一个对企业管理优化的过程,很难对这一过程中的目标进 行量化,即便这些目标可以量化,对于项目的实施人员来说也很难解释清楚 是怎样一步步达到的目标的,更不敢说到哪一个确定的时间能达到哪一个确 定的数值。对于信息主管来说,上e r p 是通过信息的集成对企业的生产经营 武汉理工大学硕士学位论文 实现准确的计划和控制。那么这个目标与企业降低成本、提高竞争力如何挂 勾又是很难解释清楚的一个问题。 因此我们判定e r p 成功与否的可以采用个非量化的,简单明了的目 标:一是集成;二是切换。所谓集成,就是实施的系统是一个完整的体系, 各模块间不是互不相关或很难相关的一个个孤岛。这一点对企业的信息主管 来说完全能够判定。所谓切换,就是上了这套系统后原有的不管是手工的还 是计算机的系统是否被彻底抛弃了,用新系统完全替代了各部门的工作。这 一点企业的任何一个人都有能力判定。如果达到了这两个目标,我们就完全 可以说这个企业韵e r p 得到了成功的实施l 当然,同样是集成的系统,由于软件水平的不同在效益挖掘上会有定 的差别,但它们毕竟都提供了让企业产生效益的途径,较之各个独立的系统 有着本质的区射。这里需要强调的是一套集成的e r p 系统仅仅为企业提供了 一套挖掘效益的途径,企业能否利用这套系统挖掘出效益还要看自身的努 力。 由此看来e r p 的目标还是无法定量地考核,只要企业对它的依赖性提高 了,认为它有用了,就可以认为目标达到了。至于企业库存的减少、生产率 的提高、市场占有率的扩大、利润的增加,是因为e r p 的实施,还是企业领 导改变了经营思路,亦或企业的外部环境发生了变化,站在不同位置的人、 在不同的场合会归功于不同的对象。 关于企业如何评判实施e r p 后的情况,比较经典的看法是0 1 i v e rw i g h t 采用的评判标准。 a 级,必须都在有效的运用e r p 系统。从销售管理客户服务到生产制造 和库存管理从车间作业到采购供应以及计划模拟等等,经过定的数据积 累,企业的高层管理人员可以通过e r p 系统中的决策支持商务智能子系统, 全面的了解和掌握企业的经营状况准确的分析和制定企业的发展方向,有效 的降低和控裁企业的运作成本。 b 级,在整个e r p 系统的选型实施和应用过程中都能得到企业高层管理 人员的支持,但在决策支持商务智能方面,e r p 系统没有提供足够的帮助, 仅限于中层管理和基层管理队伍的使用。 c 级,企业一般都是以部门局部应用为主,e r p 系统主要作为客户销 售订单录入,制造作业订单管理,采购计划编制,财务凭证录入和财务报 表的产生的工具。 d 级,实旌不理想的企业。 2 武汉理工大学硕士学位论文 1 2 研究与应用概况 经历了几年来的探索,国内企业在如何成功实施e r p 软件的这个问题上 有了许多的共识,对未来软件的开发的模式提出了一些看法,归纳起来有: 6 + 3 + 1 + x 业务模式:这种模式认为e r p 系统开发中通用的标准模块要占 到六成,行业专用标准构件占三成,必须由自己开发的个性化的东西只占一 成,x 是需要特殊处理的东西。 柔性平台模式:它把软件开发看作一条柔性装配生产线,可以针对需求 的变化灵活搭建,柔性平台大量使用标准组件,标准组件可以自己开发也可 以是从第三方购买 架构式平台:这个平台由功能更细分化的一个个部件组成,相互之间有 较强的独立性,可以独立使用,通过统一的数据接口又可以实现相互间的无 缝集成 构件化:所谓的构件就是一些成熟的,有规约化接口的,可以针对不同 用户任意拨插的程序功能模块 这些新的模式本质都涉及一个思想,即“组装软件”的思想,虽然它早 在1 9 6 8 年就被提出来了,但真正付诸实践是2 0 世纪9 0 年代以后的事情, 国内还要晚一些。这一方面是因为面向对象技术的出现之后,这种思想的实 现才得到了强有力的支持,另一方面它的推动也有赖于企业管理规范化的 水平的提高。 一般认为,决定一个e r p 软件能否成功的关键,一是可复用的软件模块 的开发水平,二是处理抽象化与个性化定制的矛盾。完全的组装是不可能的, 每一个企业必定有它非常个性化的东西,国内的企业尤其如此。而且企业需 求的变化是永恒的,要不断地适应这种变化也不可能做到只购买( 通用的模 块) 而不创建。一般来说,用户界面层和数据层变化慢一点,而业务逻辑层 变化快一些,剥离易变部分作特殊处理。相对稳定的那部分用通用性组件来 搭建,我们就可以做到最大限度的复用。这里把握组件的颗粒度十分重要, 它关乎搭建的复杂程度和适应需求变化的能力。太- j n 会增加构建系统的难 度,太大会使模块的适应性变低。 应用软件构件化发展的最终目标是将软件开发产业化,软件开发变成专 业化分工的流水线作业,即在一个开发平台上通过预制和定制多个软件构件 ( 中间件,模块) ,按用户的需求进行拼装和集成“”1 。 3 武汉理工大学硕士学位论文 第2 章系统开发环境 2 1 系统开发环境的选择 我们知道,在目前的数据库应用技术中普遍采用的就是客户机服务器 ( c 1 i e n t s e r v e r ) 体系结构,在这种体系结构中,所有的数据和数据库管 理系统都在服务器上,客户机通过采用标准的s q l 语句等方式来访问服务器 上数据库中的数据。由于这种体系结构把数据和对数据的管理都统一放在了 服务器上。就保证了数据的安全性和完整性,同时也可以充分利用服务器高 性能的特点。正因为客户机且艮务器体系结构的这些优点,因而得到了非常 广泛的应用“4 。“1 。 目前,支持客户机服务器体系结构的用于数据库前端开发的第四代语 言( 4 g l ) 有很多,比较常用的有d e l p h i ,v i s u a lb a s i c ,v i s u a l f o x p r o 。v i s u a lc + + ,p o w e r b u i l d e r 等,这其中p o w e r b u i l d e r 是著名的数据 库应用开发工具生产厂商p o w e r s o f t 公司推出的产品( p o w e r s o f t 现已被数 据库厂商s y b a s e 所收购) ,它完全按照客户机服务器体系结构研制设计, 在客户机服务器结构中,它使用在客户机中,作为数据库应用程序的开发 工具而存在。由于p o w e r b u i l d e r 采用了面向对象和可视化技术,提供可视 化的应用开发环境使得我们利用p o w e r b u i t d e r ,可以方便快捷地开发出 利用后台服务器中的数据和数据库管理系统的大型数据库应用程序“”。 在当前,网络技术迅速发展,随之发展的还有o l e ,o c x ,跨平台等技 术,而在p o w e r b u i i d e r 的最新版p o w e r b u i l d e r9 0 中提供了对这些技术的 全面支持。总之在数据库开发工具领域,p o w e r b u i l d e r 是其中非常优秀的 一个,利用它我们可以开发出功能强大的数据库应用程序。 2 2p o w e r b u iid e r 的特点 p o w e r b u i l d e r 提供了对目前流行的大多数关系数据库管理系统的支持, 由于在p o w e r b u i l d e r 的应用程序中对数据库访问的部分一般采用国际化标 准数据库查询语言s q l ,使得用p o w e r b u i l d e r 开发的应用程序可以不做修 改或者只做少量的修改就可以在不同的后台数据库管理系统上使用。也就是 4 武汉理工大学硕士学位论文 说用p o w e r b u i l d e r 开发的应用程序是独立于服务器上的数据库管理系统的 1 e 1 9 和大多数的w i n d o w s 应用程序一样,p o w e r b u i l d e r 也是事件驱动工作 方式。在这种工作方式中,程序的运行没有固定的流程,程序中的代码也是 为各种可能发生的事件编写的,当程序开始运行之后,它就可以接受来自系 统,用户或者其它应用程序触发的事件,然后执行相应的事件代码。事件驱 动的工作方式与面向对象技术是紧密相关的,在p o w e r b u i l d e r 应用程序中, 接受发生的事件的往往就是程序界面中的各种可视化对象。 p o w e r b u i i d e r 是一种面向对象的开发工具,各种w i n d o w s 应用程序中 常见的窗口、菜单、控件等在p o w e r b u i i d e r 中都是一个个的对象。在 p o w e r b u i l d e r 中我们还可以创建自己的用户对象。特别要指出的是 p o w e r b u i l d e r 提供了对面向对象方法中的各种技术的全面支持,我们可以 利用面向对象方法中的对象的封装性、继承性、多态性等特点使得我们开发 的应用程序具有极大的可重用性和可扩展性,而这一点正是软件工程中对应 用程序所提出的重要目标。 在当前,由于网络技术的发展,许多种不同的操作系统平台在i n t e r n e t 网上同时被使用,这对开发的应用程序的跨平台性提出了更高的要求,而 p o w e r b u i l d e r 就提供了良好的跨平台性,比如在p o w e r b u i i d e r 中,利用 w i n d o w s 平台开发的各种对象可以方便地应用到u n i x 平台中,因为 p o w e r b u i l d e r 支持对象的跨平台性。这样使得把应用程序从一个平台移到 另一个平台变得并不复杂。 p o w e r b u i l d e r 一个很大的特点就是提出了数据窗口对象的概念。数据 窗口对象也是p o w e r b u i i d e r 中的一种对象类型,与其它对象不同的是数据 窗口对象是专门为了访问后台的数据库服务的,在数据窗口对象中我们定义 了数据的来源和数据的显示风格,这样在应用程序中我们就可以把精力完全 放在程序的运行流程控制上,而不用关心具体数据的来源,因为我们在数据 窗口对象中已经定义好了数据的来源。如果需要使用数据库中不同的数据也 只要对数据窗口对象进行修改就可以了。特别要指出的是p o w e r b u i l d e r 在 数据窗口对象中提供了丰富的数据显示方式,可以满足各种不同的需要。 在p o w e r b u i i d e r 较新的版本中提供了基础类库p f c ,它为应用程序的 开发提供了许多可重用的预定义类和对象,利用基本类库p f c 可以快速开发 出高质量重用性好的应用程序。真正发挥面向对象编程的巨大威力。 5 武汉理工大学硕士学位论文 2 3 数据库的选择和连接 s o ls e r v e r2 0 0 0 是微软公司的数据库管理系统和数据分析产品 z o - z a 。 它由一些组件和产品结合而成一个整体的客户服务器系统,它能满足任何 实体或组织的数据存储,检索及分析数据的需要。s q ls e r v e r2 0 0 0 有多个 版本,适应于不同的微软操作系统。s q ls e r v e r2 0 0 0 企业版可以支持巨大 的数据库以及几千个并发用户。 本系统选择s q ls e r v e r2 0 0 0 企业版作为后台数据库服务器。 p o w e r b u i l d e r 提供了两种访问后台数据库的方式,一种是通过o d b c 标 准接口的方式,第二种是通过专用的接口与后台的数据库相连。 o d b c 是微软公司提出的数据库连接标准,使用o d b c 方式连接数据库的 第一步是创建数据源,比如我们可以利用w i n d o w s 下控制面板中的“3 2b i t o d b c ”选项来创建驱动某种数据库的数据源,创建好数据源之后,我们就可 以在本地计算机中利用定义好的数据源存取后台数据库中的数据了4 ”3 。 我们还可以通过专用接口同后台的数据库相连,由于专用接口是针对特 定的后台数据库管理系统丽设计,因此这种方式存取数据的速度要比采用 o d b c 方式存取数据的速度要快一些,本文所述系统使用的数据库是微软的 m ss q l s e r v e r 2 0 0 0 ,微软的操作系统中都提供有支持其连接的专用接口。如 果我们的应用程序只是针对特定类型的后台数据库,采用专用接口访问后台 数据会更快一些。 6 武汉理工大学硕士学位论文 第3 章面向对象的分析 近年来,面向对象的技术发展越来越受到人们的重视,其影响领域从操 作系统,编程语言及其开发环境,数据库管理系统直至软件工程。给软件产 业带来了革命性的变化删。 3 1 面向对象的编程 所谓对象就是现实世界模型的一个自然延伸,现实世界中的任何实体, 都可以看作是对现象。不同于传统的面向过程的编程语言遵从的 程序= 算法+ 数据 的公式,面向对象的编程语言的公式是: 程序= 对象+ 消息 面向对象技术支持三个重要的概念:封装,多态性和继承。现实世界中 的对象均具有属性和行为,映射到计算机程序,属性表示的是数据,行为代 表程序代码,所谓封装就是用一个自主式框架把代码和数据联编到一起,形 成一个对象。多态性是指多种形式,在面向对象的编程中,即所谓一个接口, 多个内在实现形式。继承是指一个对象直接使用另一对象的所有属性和方法 的过程。继承可以简化对象的定义,利用继承,我们在定义一个对象时,就 可_ 以只定义该对象独特于其父对象的特殊品质。利用继承机制,我们可以大 大优化系统的结构,提高系统的抽象性和复用率,可维护性和健壮性也会得 到加强,系统的开发速度加快,开发的质量得到提高婚3 1 “。 3 2 应用系统基本类 对象是以类的形式体现的,对象的重用也就体现在类的重用。本系统是 一个企业级的集成系统在对各个业务子系统的需求作了详尽的分析之后, 我们抽象出了应用系统的基类”。主要包括: 窗口类: w b a s ew i n d o w 所有应用主窗口的祖先窗口类,完成日志登记,对实 例窗口权限的读取和权限控制字的传递。 在这个基类窗口中我们归纳定义了主功能窗口中要用到的所有通用用 户事件,在这些事件中如果是通用的操作,在祖先窗口中就将事件脚本写好 7 武汉理工大学硕士学位论文 了。按照我们的系统结构,所有的主功能窗口都将继承这一祖先窗口。我们 在祖先窗口中定义的一些公共的操作,由于继承的关系,这些都将自动的成 为其后代窗口的操作,这种做法将极大的优化系统的结构,简化程序的编写, 程序的维护也方便的多。为了使脚本的抽象度更高,我们在祖先窗口中定义 了一些实例( i n s t a n c e ) 变量,作为脚本中调用的抽象对象,它们是: i d w _ x :公共操作的数据窗口对象,通过对它赋予不同的具体对象,扩 展公共操作的的对象范围,当后代窗口中需要对更多数据窗口作操作时,可 以灵活的安排它们。 i s f u n c c o d e :主功能窗口标识码,系统主结构打开一功能主窗口时, 通过系统消息对象( m e s s a g eo b j e c t ) 传递该功能主窗口的功能标识给它。 它是用于系统安全控制的一个关键性的标识,在祖先窗口w _ b a s e w i n d o w 的有关脚本中,将利用它和用户标识( g s u s e r c o d e 系统全局变量,用户登 录系统时获得赋值) 记录用户进入和使用该功能主窗口的有关信息;得到用 户使用该功能主窗口的权限控制字描述。 i sb i t m a s k :主功能窗口的权限控制字,通过全局方法 g f g e t r i g h t m a s k ( g s u s e r c o d e ,i s f u n c c o d e ) 得到赋值。用于控制登录用户 对本窗口以及经本窗口打开的子窗口的使用权限和操作方式。这种控制将在 继承w _ b a s e - w i n d o w 的主功能窗口的u e p o s t o p e n 事件中实现或者在打开子 窗口的事件脚本中实现。 i s l a s t d a t e :数据窗口常用日期参数,一般用作年累计起始日期概念 i ss t a r t d a t e :数据窗口常用日期参数,一般用作本月开始概念 i se n d d a t e :数据窗口常用日期参数,一般用作本月结束概念 我们为wb a s ew i n d o w 定义了如下的用户事件: u e s e l e c t a l l :这是对数据窗口的一种最为普通的操作,因此事件的 脚本描述放在祖先窗口中。事件触发选中数据窗口i d w x 中的所有行,为其 他的操作做准备( 如打印拷贝等) ,在触发该事件前必须对变量i d w _ x 实例 化。事件脚本如下: i d w _ x s e l e c t r o w ( 0 ,t r u e ) u ec l e a r a l l :数据窗口普通操作,事件脚本描述在祖先窗口中。事件 触发去选数据窗口i d w x 中的所有行,在触发该事件前必须对变量i d w x 实例化。 i d w x s e l e c t r o w ( 0 ,f a l s e ) u ef i i t e r :数据窗口普通操作,事件脚本描述在祖先窗口中。事件触 8 武汉理工大学硕士学位论文 发将窗口中被选中的记录过滤到数据窗口的f i i t e r 区。为其他的操作做准 备,在触发该事件前必须对变量i d w x 实例化。事件脚本如下: l o n gl l _ r o w = 1 ,l l s t d ow h i l ei i r o w ( _ i d w x r o w c o u n t0 i fi d w x i s s e l e c t e d ( 1 l r o w ) = t r u et h e n l l s t = l l _ r o w d ow h i l e i i r o w 0t h e n i d wx s e t f i1 t e r ( ) i d wx f i i t e r 0 e n di f u er e v e r s e :数据窗口普通操作,事件脚本描述在祖先窗口中。事件触 发将窗口中记录反选。在触发该事件前必须对变量i d w x 实例化事件脚本 如下: l o n gl l _ r o w f o rl l _ r o w = 1t oi d w x r o w c o u n t0 i d wx s e l e c t r o w ( i i r o w ,n o ti d w _ x i s s e l e c t e d ( 1 l r o w ) ) n e x t u e h e l p :系统通用操作,事件触发调用外部帮助程序a u es h o w m a s k :系统通用操作,事件触发让用户查看到它自己使用该功 9 武汉理工大学硕士学位论文 能窗口的权限, 事件脚本为: o p e n w i t h p a r m ( w _ s y s s h o w m a s k ,i s f u n c c o d e ,g s u s e r c o d e ) u e r e f r e s h :数据窗口操作,在该事件中描述对i d w x 的刷新,由于对 数据窗口的刷行操作所需参数不尽相同,祖先窗口在此所作的描述,一般都 会由后代继承窗口覆盖。以完成它对数据窗口特有的刷新操作。在触发该事 件前必须对变量i d w x 实例化。事件脚本如下: i d w x r e t r i e v e ( i d s t a r t d a t e ,i d e n d d a t e ) u e o p e n f i n d e r :在祖先窗口中事件中作脚本描述,打开通用查询窗口, 实现针对数据窗口i d w x 的条件查询。后代窗口在触发该事件时必须对 i d w x 实例化。这样就可以实现对不同数据窗口的标准化查询。对于实例窗 口中的内容,可以作任意复合条件的查询,查询条件可以保存和共享。也可 以做到对不同用户分别保存其查询条件。脚本描述如下: o p e n w i t h p a r m ( w _ s y s f i l t e r s i m p l e r ,i d w x ,t h i s ) t i e o p e n c h i i d :该事件的脚本在继承窗口中描述,按照本系统结构的 设计思路,该事件是用来打开数据录入窗口的。一般数据录入窗口都设计成 子窗口( c h i i d w i n d o w ) ,在个别需要的情况下也可以是响应窗口 ( r e s p o n s e w in d o w ) 。 u e p o s t o p e n :在时序上我们希望这一事件的执行在窗口的所有对象构 建完成之后,因此事件的触发时机选择在窗口事件o p e n 之后,p o s t 触发。 这一事件的脚本实现了日志的登录,更主要的,它还为窗口的后续操作取得 了用户对本功能窗口的权限控制字,这种控制的实现,是必须在后代窗口的 脚本中去填充的,对每一个完成不同功能的主功能窗口,其控制内容千差万 别,但这里保证了其方法上的一致性。一般来说我们都是通过扩充本事件脚 本来实现这种安全控制的,除此之外,任何时序上在本事件之后触发的事件 都可以用权限控制字来实施控制。该事件祖先脚本如下: s t r i n g1 s c o m p u t e r ,1 su s e r n a m e 1 0 n gl _ b u f u l o n gl u b u f i d t s t a r t t i m e = d a t e t i m e ( t o d a y ( ) ,f l o w ( ) ) l _ b u f = 2 5 is c o m p u t e r = s p a c e ( 1b u f ) g e t c o m p u t e r n a m e a ( 1 sc o m p u t e r , lb u f ) 1 0 蔓翌垄三奎兰堕主兰堡堡苎 l u b u f = 2 5 5 ls _ u s e r n a m e = s p a c e ( 2 5 5 ) g e t u s e r n a m e a ( i s u s e r n a m e ,l u b u f ) i n s e r t i n t o x t l o g ( o p e r ,s u b s ,s t i m e ,e t i m e ,n o t e ,c o m p u t e r ,l o g i n n a m e ) v a l u e s ( :g s u s e r c o d e ,:i s f u n c c o d e ,:i d t s t a r t t i m e ,n u l l ,n u l l ,:l s c o m p u t e r ,:i s u s e r n a m e ) ; i fs q l c a s q l c o d e = 0t h e n c o m m i tu s i n gs q l c a : e l s e r o l l b a c ku s i n gs q l c a : e n di f t h i s t i t l e = t h i s t i t l e + ”( 功能代码= ”+ i s f u n c c o d e + ”) ” i s - b i t m a s k = g f g e t r i g h t m a s k ( g s u s e r c o d e ,i s f u n c c o d e ) 相应的在窗口的c l o s e 事件中,找到该用户进入该功能时在日志中登记 的那条记录并填写用户退出该功能窗口的时间( i d t s t a r t t i m e 为窗口实例 变量) ,其脚本如下: d a t e r i m e1 d t e t i m e i d t e t i m e = d a t e t i m e ( t o d a y 0 ,n o w 0 ) u p d a t ex t l o gs e te t i m e = :i d t e t i m em e r e ( o p e r = :g s u s e r c o d e ) a n d( s t i m e = :i d ts t a r t t i m e ) : ifs q l c a s q l c o d e = 0a n ds q l c a s q l n r o w s = 1t h e n c o m m i tu s i n gs q l c a : e l s e r o l l b a c ku s i n gs q l c a : e n di f w _ b a s e p r i n t v i e w 打印窗口类,封装与打印有关的事件和函数,这一 窗口不用作继承窗口,而是由程序直接调用来打印有关的报表。 w b a s e c o d e i n p u t 通用的代码维护窗口类,封装与代码维护有关的事 件和函数,应用系统中绝大部分的代码维护都可以通过继承该窗口类完成。 任何一个企业级的信息系统必然存在大量的数据代码的维护工作。如果能 对这种操作进行抽象并构造出一个通用的对象将可以大大提高系统的开发 效率。 武汉理工大学硕士学位论文 作为这个系统重要构件之一的通用代码维护窗如图3 - 1 所示。 图3 1 通用代码维护窗 一般来说,简单代码通常只包括代码,名称和废用标记这三项,对它们 的操作包括增加删除和修改,有关代码的约束完整性可以在数据库系统一端 去完成5 “。 该代码维护窗口的建立基于这样一个默认的代码的分级规则,即如果一 个代码有上一级的代码,则它的上一级代码必是它的开头若干位。以这样的 编码规则,我们就很容易地用一个树来反映它们的从属关系,并以此作为代 码维护窗口对象潜在的操作规则。 我们可以按业务子系统的分类,通过继承通用代码维护窗来创建相应的 代码维护窗口。这里只需要在继承窗口的o p e n 事件中注册需维护代码表的 有关信息,就可以实现一般的代码维护工作。在这里我们还扩展了代码的其 他描述项的维护,即一个代码表如果不仅限于代码,名称和废用标记三项内 容,则可以打开另一个响应窗口来维护它们,通过注册维护表方法的重载就 可以方便的做到这一点。3 “。 另外,通过动态数据窗口生成技术的运用,通用代码维护窗口可以自动 生成打印代码列表。 下面是代码树构建方法: l o n g1 t v h _ p = 0 ,1 1 一l p ,1 1 一i n d e x s t r i n gi s n d ,i s p n o d e = ,1 s d m ,l sm c ,i s s q l ,i s f l a g t r e e v i e w l t e mi t v i i ,i t v i x d e c l a r em y c u r s o rd y n a m i cc u r s o rf o rs q l s a ; i fw f p f l a g = ”t h e n 1 2 武汉理工大学硕士学位论文 1 s _ s q l = ”s e l e c t ”+ w f p d m + ”,”+ w f p m c + ”f r o m ”+ w f p t b + ”o r d e rb y ”+ w f p d m e l s e l s _ s q l = ”s e l e c t ”+ w f p d m + ”,”+ w f pm c + ”,”+ w f p f l a g + ”f r o m ”+ w f p t b + ”o r d e rb y ”+ w f p d m e n di f p r e p a r es q l s af r o m :l s s q l : o p e nd y n a m i cm y c u r s o r : i fw f p f l a g = ”t h e n f e t c hm y c u r s o ri n t o :l s d m ,:l s _ m c : e l s e f e t c hm y c u r s o ri n t o :i s d m ,:l sm c ,:l s f l a g : e n di f d ow h il es q l c a 。s q l c o d e20 l t v ii d a t a = 1 sd m i t v i i 1 a b e l = l s d m 十”+ i s _ m c i t v ii p i c t u r e i n d e x = 4 i t v i i s e l e c t e d p i c t u r e i n d e x 25 i fw f p f l a g t h e n i fi s f l a g = ”1 ”t h e n i t v ii 。s t a t e p i c t u r e i n d e x = 2 e l s e 1 t v ii s t a t e p i c t u r e i n d e x = 3 e n di f e n di f d ow h i l el e f t ( i s d m ,l e n ( i s p n o d e ) ) l s p n o d e 不是上一级 的儿子则继续找父亲 i t v h p = w f p t v f i n d i t e m ( p a r e n t t r e e i t e m ! ,l t v h _ p ) i f1 t v h p 0 i s t n a m e = l e f t ( i s t n a m e ,p o s ( i s t n a m e ,”r ”) 一1 ) + m i d ( i s t n a m e ,p o s ( 1 s t n a m e ,r ) + 1 ) l o o p d ow h i l ep o s ( i s t n a m e ,n ) 0 i st n a m e = l e f t ( i s t n a m e ,p o s ( i s t n a m e ,n ) 一1 ) + m i d ( i s t n a m e ,p o s ( 1 s t n a m e ,一n ”) + 1 ) l o o p d ow h i l ep o s ( i s t n a m e ,t ) 0 i s t n a m e = l e f t ( i s t n a m e ,p o s ( i s t n a m e ,”t ”) 一1 ) + ” ”+ m i d ( i s t n a m e ,p o s ( i s t n a m e ,”t ”) + 1 ) l o o p i f d o s ( 1 0 w e r ( i s t n a m e ) ,”w h e r e ”) o t h e n l s t n a m e 2 1 e f t ( 1 s t n a m e ,p o s ( 1 0 w e r ( i s t n a m e ) ,”w h e r e ”) 一1 ) i f p o s ( 1 st n a m e ,”,”) 0t h e ni s t n a m e 。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030便携式储能电源行业发展分析及发展趋势与投资前景预测研究报告
- 2025-2030仓储产业行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030乡镇综合体产业市场深度调研及发展趋势与投资战略研究报告
- 2025-2030中草药种植产业深度调研及行业发展趋势与投资战略研究报告
- 2025-2030中国鼻吸泵行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国黄热病疫苗行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国鸦胆子油行业供需分析及发展前景研究报告
- 2025-2030中国高亮度发光二极管(HB LED)行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国香精香料行业发展分析及投资风险与战略研究报告
- 2025-2030中国饮用矿泉水行业市场深度调研及竞争格局与投资研究报告
- 幼儿故事《春天的声音》
- 北京市引进人才审批表格模板
- 第14篇局部水基灭火系统(修改后版本)
- CAMDS培训ppt课件
- 包装设计外文文献翻译最新译文
- 治安管理课件新兴行业场所
- 中国铁路总公司《铁路技术管理规程》(普速铁路部分)
- HY∕T 122-2009 海洋倾倒区选划技术导则
- 《声门下吸引技术》PPT课件
- 幼儿园绘本故事PPT:《小红帽》
- 一年级下册数学6.6两位数减一位数、整十数(不退位减)人教版
评论
0/150
提交评论