




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)面向银行信贷业务领域语言的研究及应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨r 程大学硕十学伊论文 摘要 随着银行业信息化进程的加剧,常用高级语占在解决复杂银行业务时。 出现了开发效率低、不能直接被银行业务专家使用的问题。这就需要一种面 向银行业务的特定领域语言。 针对商业银行应用软件开发的现状,本文采用f o d a 方法进行领域分析, 在分析多个已有银行信贷业务基础上,提出了一种面向银行信贷业务的特定 领域语言c b d l ( c o m m e r c i a lb a n kd o m a i nl a n g u a g e ) 。进一步,建立了c b d l 与已有零码一级语言之间的映射关系,进而使用零码一级语言支持实现 c b d l 。 最后,通过一个实例说明c b d l 的使用。在银行信贷业务中,用c b d l 对 商业银行信贷业务逻辑进行描述,建立银行信贷业务模型,零码语言描述其 非业务逻辑。然后由一个引擎支持平台零码运行平台的解释执行,实现应 用系统的运行。 关键词:领域语言;c b d l ;零码软件生产平台 哈尔滨工程大学硕士学位论文 a b s t r a c t w i t ht h ed e v e i o p m e n to fb a n ki n d u s t r yi n f o r m a l i z a t i o n t h ep r o b l e m t h a td e v e l o p m e n te f f i c i e n c yi sl o wa n de x p e r t si nt h eb a n kf i e l dc a n n o tu s et h e mt os o l v ep r o b l e m sr e l a t e dt ob a n kb u s i n e s s e sh a p p e n sw h i l e s e n i o rp r o g r a m m i n gl a n g u a g e sa r eu s e dt os o l v ec o m p l e xb a n kb u s i n e s s e s t h i si sw h ys p e c i f i cf i e l dl a n g u a g ef o rb a n kb u s i n e s s e si sp r o p o s e d i nt h ed i s s e r t a t i o n f o d ai su s e df o rf i e l da n a l y s i si nt h ed i s s e r t a t i o nf o rc o n d i t i o n s o fa p p l i c a t i o nd e v e l o p m e n to fc o m m e r c i a lb a n k a f t e rs e v e r a lk i a d so f c r e d i tb u s i n e s s e sa r ea n a l y z e d ,c o m m e r c i a lb a n kd o m a i nl a n g u a g ef o r c r e d i tb u s i n e s si sg i v e ni nt h ed i s s e r t a t i o n f u r t h e r m o r e ,t h em a p p i n g r e l a t i o n s h i pb e t w e e nc o m m e r c i a lb a n kd o m a i nl a n g u a g e ( c b d l ) a n dz e r o l e v e ll a n g u a g ec o d ei se s t a b l i s h e da n d t h ec o m m e r c i a lb a n kd o m a i n l a n g u a g ei si m p l e m e n t e du s i n gz e r ol e v e ll a n g u a g ec o d e a ne x a m p l et h a ti l l u s t r a t e st h eu s a g eo fc o m m e r c i a lb a n kd o m a i n l a n g u a g ei sg i v e na tt h ee n do ft h ed i s s e r t a t i o n c b d li s u s e dt o m o d e l i n gc o m m e r c i a lb a n kc r e d i tb u s i n e s st oe s t a b l i s hb a n kc r e d i t m o d e l ,t h e nt h eb u s i n e s sl o g i ci sm o d e l e db yz e r o c o d e dl a n g u a g ei n t h eb a n kc r e d i ta p p l i c a t i o n a ne n g i n et h a ti sz e r o c o d e dp l a t f o r mi s r e s p o n s i b l ef o rr u n n i n go ft h eb a n kb u s i n e s s ,s ot h ea p p li c a t i o nc a n b er u ni nt h ez e r o - c o d e dp l a t f e r a l k e y w o r d s :d o m a i ni a n g u a g e ;c b d l ;z e r o - c o d e dp l a t f o r m 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下, 由作者本人独立完成的。有关观点、方法、数据和文献等的 引用已在文中指出,并与参考文献相对应。除文中已经注明 引用的内容外,本论文不包含任何其他个人或集体已经公开 发表的作品成果。对本文的研究做出重要贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律 结果由本人承担。 作者( 签字) :圣受莹 e t期:m 年月 日 哈尔滨f 程大学硕十学位论文 1 1 引言 第1 章绪论 随着计算机应用领域的逐步扩大,软件需求量和规模也日益增长。软件 规模的快速增长,带来软件复杂度的增加和程序代码的几何级增长。即使是 富有经验的程序员,也难免对编写数万行的软件顾此失彼,其结果是:大型 软件的开发费用经常超出预算:开发进度不易控制,开发周期长;软件维护 困难,维护人员和维护费用不断增加;加上不可避免的软件质量下降,可靠 性不能保证,这就是软件危机的表现。而且存在大量的重复工作,导致软件 成本逐年上升、生产率远远跟不上计算机应用普及的要求。据美国加州进行 的一项调查结果显示。同类软件公司设计的商业、银行及保险业务应用系统 中,7 5 以上的功能是重复的。重复劳动使软件的社会成本居高不下。 传统的开发模式开发应用软件分为以下几个阶段:需求分析、系统设计、 编码实现、测试、维护等。这种开发模式存在的问题主要表现在: ( 1 ) 各阶段之间存在语义断层,也就是缺乏它们之间的体系结构间交互演 化过程,导致了各阶段的孤岛模式,直接影响软件开发效率和质量。 ( 2 ) 每个应用系统的开发都是从头开始,存在大量的重复劳动,导致开发 成本高,而且可维护性和适应性差。 ( 3 ) 对软件开发人员的水平要求非常高,开发人员不但要有软件编程的知 识还要有专业的业务经验。这样的人才数量少、成本高,这就使得软件开发 很容易受到开发人员的更迭、开发人员的技术水平参差不齐等不利因素的影 响,软件的质量很难保持稳定,也影响了开发效率。 自认识到软件危机以来,人们一直在努力寻找能够有效解决这一问题的 办法。研究实践表明,软件复用是目前解决软件危机的现实可行的途径。软 件复用是在软件开发中避免重复劳动的解决方案,其出发点是应用系统的开 发不再采用“从零开始”的模式,而是以已有的工作为基础,充分利用过去 应用系统开发中积累的知识和经验,如分析、设计、测试数据、原型、计划、 哈尔滨工程大学硕士学位论文 文档、模板、框架等。复用的对象也从早期的代码复用扩展到对软件开发过 程中一切有价值的信息的复用。 随着抽象层次的提高,复用粒度的加大,软件复用程度得到了提高,然 而我们希望完成每个项目需要完成的代码行的数量越来越少,甚至可以实现 零编码。大量的研究和实践证明软件复用在领域内相对容易成功,所以面向 领域的软件复用是目前软件复用技术实践的热点和难点。 1 2 我国商业银行应用软件的开发现状 丛2 0 世纪8 0 年代中期开始,中国银行业电子化建设经历了从无到有, 从小到大,从微机系统到主机系统,从单机系统到同城联网系统,再到现在 逐步实现全国联网的发展过程;实现了银行电子化建设的飞跃发展,取得了 显著的社会和经济效益。然而针对金融业发展的多变性,银行应用软件跟不 上需求的变化。 1 。2 1 商业银行应用软件开发的现状 目前国内商业银行开发应用软件是根据业务部门的需求,由技术部门的 开发人员编写程序来完成的。商业银行应用软件的开发现状: ( 1 ) 对原有系统的扩充。有些上世纪9 0 年代初开发的系统需要扩充,但 旧系统的源程序不齐全并且较为零散,文档资料也不够全面,对扩充造成了 相当的困难。 ( 2 ) 业务部门负责提出需求。开发前技术部门与业务部门缺乏沟通,业务 需求定义不充分、不全面、不准确。 ( 3 ) 程序修改由业务部门决定。在程序修改之前,一般不经过充分论证。 业务部门与使用部门之间缺乏沟通,有时刚推出修改后的程序,而业务部门 又提出恢复到原程序上。修改过多,造成现有程序结构凌乱。 ( 4 ) 在开发和修改程序时,不注重建立相应的文档资料,有时当需要返回 到原点加入另一部分程序时,无法下手,或者需要经过较长的一段时间反复 测试查找,拖延了开发的进程。 ( 5 ) 在开发过程中,没有完整的测试计划,测试不充分。因而有时会出现 2 哈尔滨工程大学硕十学静论文 现推出了新修改的程序,而导致原程序无法运行的情况。 1 2 2 商业银行应用软件开发存在的问题 在软件开发过程中,常常会碰到一些问题,如;业务需求不明确。用户 想到什么就提什么;开发前对时间估计不足,开发时限定得太短:开发过程 中,软件因素与人的相关性大,对事物的描述方式因人而异,造成相互沟通 困难等。商业银行应用系统开发中存在的问题主要表现在: ( 1 ) 复合型人才缺乏。既懂银行业务、又懂管理懂技术的人才缺乏,同时 有些技术人员的知识水平有时也会出现跟不上信息技术发展的现象。 ( 2 ) 开发效率低、质量差。 ( 3 ) 缺乏业务部门的配合。在银行的业务部门中普遍存在着银行信息化是 一项纯技术工作的观点,对应用系统开发工作缺乏积极配合的态度。 ( 4 ) 稳定性和容错性较差。有些软件开发人员为了赶进度和节约成本,在 估计应用软件的生命期较短、开发期任务较紧的情况下,为了满足当时业务 的需要,经常的做法是设计时只考虑现实状况,而对未来未做详细考虑。这 样的应用软件虽能部分满足业务的需要,但其稳定性和容错性相对较差。 ( 5 ) 软件需求不明确。部分软件开发人员对用户需求只有模糊的了解,甚 至对要解决的问题尚未有确切的认识,就仓促着手编写程序。 ( 6 3 应用软件常常难以维护。应用系统的维护和开发很难分开,很多程序 中存在着错误,而且错误难以改正,改变硬件环境或增加新的功能都要对程 序作较大的改动。 ( 7 ) 重开发而轻文档。计算机软件开发不仅仅是编制程序,还应该有一套 完整的文档资料。这些文档资料应该是在开发过程中产生出来的,而且和程 序代码一致,对软件开发的管理人员、开发人员、操作人员都是必不可少的。 1 3 本文研究的主要内容及意义 针对目前软件生产的发展,软件复用是提高软件产品质量与软件生产效 率的一种有效途径,软构件技术是软件复用的核心和基础,是成功进行软件 复用的关键。开发通用的软构件实际是困难的,不切实际的,而基于领域思 3 哈尔滨r 稃大学硕十学伊论文 想,开发面向领域的软构件是提高软件复用粒度的重要途径。 本论文,主要是根据当今软件生产的发展和商业银行应用软件开发现状, 采用f o d a 领域工程分析方法,对商业银行信贷领域中的多个银行信贷应用进 行分析,定义领域的范围,分析领域中的应用表现出的共性和差异。在特征 分析阶段,获得银行信贷这类系统的一般操作程序;在知识分析过程中。捕 获客户对应用系统通用功能或特征的需求,根据操作数据对象不同及功能的 共性和特性对整个应用系统进行分类。然后对每个功能进行详细的刻画,抽 取出对于该领域的各个应用系统都适用的可复用的软件构件也即定义商业 银行领域语言,并实现该领域语言。具体方法为利用零码开发版支持的电子 商务需求描述语言零码一级语言( 电子商务和电子政务领域语言) 定义商 业银行领域语言( c b d l ,c o m m e r c i a lb a n kd o m a i nl a n g u a g e ) 。 在开发一个商业银行信贷应用时,只需用领域语言c b d l 对商业银行信贷 业务逻辑进行描述,即是建立银行信贷业务模型:零码语言描述其非业务逻 辑。然后再通过一个引擎支持平台零码运行平台的解释执行,从而实现应 用系统的运行。 本文所提出的这种商业银行领域语言( c b d l ,c o m m e r c i a lb a n kd o m a i n l a n g u a g e ) 是一种图形化领域语言,是更高级别的抽象,能够适应整个商业银 行信贷领域。用领域语言描述商业银行信贷业务也就是对其建模,是知识复 用,是软件复用中一个大粒度的复用。采用基于领域语言的软件复用方法开 发系统能避免大量的重复劳动,解决了传统软件开发和目前商业银行信贷开 发中存在的问题,极大地提高软件开发效率和软件质量。与此同时,也降低 了对软件开发人员的要求,开发人员无需具备很高的编程技术水平,只需熟 悉银行业务领域知识。开发应用系统时,应用程序员无须进行传统的系统设 计和编码实现,只需进行详细的需求分析,就可以完成应用软件的开发。用 可复用的图形化领域语言描述银行系统,避免重新开发引入代码级错误,极 大地提高了软件产品质量。 1 4 论文组织结构 本文共分四章,各章的内容概述如下: 4 哈尔滨t = 程大学硕十学位论文 第一章,绪论。首先介绍了课题研究背景,接着介绍我国商业银行应用 软件的开发现状及存在的问题;本文研究内容及意义;最后是论文组织结构。 第二章,基本理论与相关技术。分别介绍了软件复用的相关知识,构件 及构件技术,领域工程。领域建模,最后介绍了本文的关键技术零码软件生 产平台技术。 第三章,商业银行领域语言的定义。采用f o d a 领域工程分析方法,对商 业银行信贷领域中的多个银行信贷应用进行分析,定义领域的范围,分析领 域中的应用表现出的共性和差异。对每个功能进行详细刻画,用零码一级语 言定义商业银行领域语言( c b d l ) 。 第四章,商业银行信贷应用系统。用商业银行领域语言对其业务应用逻 辑进行建模,对非业务逻辑用零码语言进行刻画。共同构建一个商业银行信 贷应用模型。然后由零码运行平台的支持,解释执行,实现整个应用系统。 5 哈尔滨f 稃大学硕十学伊论文 2 1 软件复用 第2 章基本理论与相关技术 软件工程专家b o h e m 认为,近十年来软件复用已成为解决软件危机、提 高软件生产率和质量的最有效、最具潜力的手段。软件复用使人们在软件开 发中不必“重新发明轮子”或“一切从零开始”,提高了软件生产率和软件产 品质量,缩短开发周期,降低开发成本。软件的复用中没有材料的消耗,而 且软件通过多次复用后其质量和可靠性越来越高。 2 1 1 软件复用的概念 软件复用( s o f t w a r er e u s e ,又称软件重用) 并不是一个新概念,早在1 9 6 8 年n a t o 软件工程会议上,b l c i l r o y 就在他的论文“大量生产的软件构件”中 第一次正式提出复用的概念。软件复用是指使用现存的软件技术或产品来构 造新的软件系统,它包括两个相关过程i l l t z l : ( 1 ) 可复用软件( 构件) 的开发。 ( 2 ) 基于可复用软件( 构件) 的应用系统构造( 集成和组装) 。 软件复用是指重复使用“为了复用目的而设计的软件”的过程。软件系 统之间的一致性和相似性是进行软件复用的客观条件。越是相似的系统,越 是容易进行复用,并且复用度越高,获得的收益也越大。软件复用作为减少 包括分析、设计、编码、测试等在内的许多重复劳动、提高质量和效率的解 决方案,此外可复用构件经过多次测试,错误基本消除,从而减少了维护费 用并提高了软件产品的质量和可靠性。其出发点是应用系统的开发不再采用 一切“从零开始”的模式,丽是以已有的工作为基础,充分利用过去应用系 统开发中积累的知识和经验,从而将开发的重点集中于应用的特有构成成分。 据分析,在开发一个新的应用系统中,有4 0 _ 一6 0 9 6 的代码是重复以前的成分, 有的甚至高达8 0 。但早期的复用对象仅仅局限在代码的复用,这并不能给 软件开发效率带来数量级上的提高。 6 哈尔滨:r 程大学硕+ 学位论文 软件复用的一个关键是抽象。抽象是对软件可复用对象的提炼和概括, 即将可复用对象的基本属性和相应的操作,从具体的语言、环境和其他细节 中提炼出来。软件的复用性很大程度上取决于对可复用对象的认识深度或者 说可复用对象的抽象层次。软件复用的抽象层次,也就是软件复用的级别, 一般可分为代码复用、设计复用和概念复用等。设计复用指使用在不同环境 下构造的设计。代码复用有非常明显的效益,能大量节省程序设计人员的时 间。概念复用指在决定采用软件复用技术之前,对应用领域进行分析,找出 软件可复用的概念。抽象层次越高、与具体环境和特定细节越无关。则其被 未来系统复用的可能性也越大。领域分析则是进行抽象的有力工具。 2 1 2 软件复用的优点 通过软件复用,在应用系统开发中可以充分利用己有的开发成果,消除 了在分析、设计、编码、测试等方面的重复劳动,提高了开发的效率:同时, 复用高质量的已有的开发成果,避免了重新开发可能引入的错误,也提高软 件的质量。软件复用的优点体现在以下几个方面啪: ( 1 ) 提高生产率。软件复用最明显的好处在于提高生产率,减少了开发代 价。用可复用的构件构造系统还可以提高系统的性能和可靠性,因为可复用 构件经过了高度的优化,并且在实践中经受过检验。 ( 2 ) 减少维护代价。使用经过检验的构件,减少可能的错误,同时软件中 需要维护的部分也减少了。例如,要对多个具有公共图形用户界面的系统进 行维护时,对界面的修改只需要一次,而不是在每个系统中分别修改。 ( 3 ) 提高互操作性。通过使用接口的同一个实现,系统将更为有效地实现 与其它系统之间的互操作。例如,若多个通讯系统都采用同一个软件包来实 现x 2 5 协议,那么它们之间的交互将更为方便。 ( 4 ) 支持快速原型。即可以快速构造出系统可操作的模型,以获得用户对 系统功能的反馈。利用可复用构件库可以快速有效地构造出应用程序的原型。 ( 5 ) 减少培训开销。即雇员在熟悉新任务时所需的非正式的开销。如同硬 件工程师使用相同的集成电路块设计不同类型的系统,软件工程师也将使用 一个可复用构件库,其中的构件都是他 f 】所熟悉和精通的。 i 叫的r e u s et e c h n o l o g ys u p p o r tc e n t e r 采用软件复用技术后取得较 7 哈尔滨t 稃大学硕+ 学位论文 i i 好的效果,一些项目可节约数百万美元;东芝公司在其电力系统应用中,把 软件复用率从1 9 7 9 年的1 3 提高到1 9 8 5 年的4 8 ,生产率提高了5 7 ; 瑞典的n o b e l t e c hs y s t e m s 决定把嵌入式的舰船应用系统的开发作为一个系 列而不是单独应用来开发,结果获得了7 0 的复用率,生产率提高了一倍, 仅在一个系统中节省的费用就达2 0 0 0 万美元。 2 1 3 软件复用的关键因素 软件复用有三个基本问题:一是必须有可以复用的对象;二是所复用的 对象必须是有用的;三是复用者需要知道如何去使用被复用的对象。软件复 用包括两个相关的过程:可复用软件( 构件) 的开发和基于可复用软件( 构件) 的应用系统构造( 集成和组装) 。解决好这几个方面的问题才能实现真正成功 的软件复用。前者是生产可复用构件的过程,后者是利用现有的可复用构件 生产新系统的过程。 实现软件复用的关键因素很多1 4 1 ,包括技术因素和非技术因素,主要包 括有:软件构件技术、领域工程、软件构架、软件再工程、开放系统、软件 过程、c a s e 技术等以及各种非技术因素。其中,软件构件技术是软件复用技 术的核心技术。各种因素是互相联系、互相影响的i s 嗣,如图2 1 所示。 图2 1 实现软件复用的关键因素 哈尔滨丁程大学硕士学付论文 m l 2 1 4 软件复用的研究现状及发展趋势 国际上软件复用在领域工程、构件及构件库的标准化、构件组装技术、 基于复用的软件开发过程和复用成熟度模型等方面取得了重大成功。如:卡 内基嗨隆大学的软件工程研究所( c 删s e i ) 提出了面向特征的领域分析方法 ( f e a t u r e - o r i e n t e dd o m a i na n a l y s i sm e t h o d - 一f o d a ) ,并将该方法成功的运 用于美国空军运动控制等领域。美国军方与政府资助的项目中,已建立了若 干构件库系统,如:c a r d s ,a s s e t ,d s r s 等。s t a r s 项目组于1 9 9 2 年提交了 a l o a f ( a s s e sl i b r a r yo p e na r c h i t e c t u r ef r a m e w o r k ,开放体系结构的构件 库框架) v e r s i o n l 2 。这一个报告体现了a l o a f 对可复用构件库系统的认识, 并就此实现了a l o a f 规约作为该参考模型的实例。c a l d i e r i 和b a s i l i 提出 基于复用的软件开发过程。i b m 和l o r a lf e d e r a ls y s t e m 公司研究出了复用 成熟度模型等等。 国外大型软件公司在所提供的集成开发环境中也蕴含软件复用技术,为 开发者提供了使用方便、性能可靠的软件构件。例如,m i c r o s o f t 公司的系 列可视化产品、e s r i 公司的m a p o b j e c t s ,i n t e r g r a p h 公司的g e o m e d i a 等。 在国内,北京大学软件工程研究所的杨芙清院士主持的国家重点科技攻 关项目青鸟工程1 7 j ,重点研究了软件的工业化生产流程和软件复用的相关技 术,并取得了可喜的研究成果。已将该技术应用于桂林百货大楼,北京前门 市场等p o s 系统。 软件复用技术现已在国内应用于许多领域,如小型探测卫星系统软件的 可复用性结构设计,不仅缩短了开发周期,节省了大量的人力和财力,而且 使得当需要在卫星上采用一种新技术或改变原系统结构时,不会出现整个星 载软件系统的大量改动或重新设计嗍。又如“基于构件技术的商业d d s ”,应 用软件复用思想,开发了“保本保利分析”、“商品适销半分析”等商业d d s 构 牛,取得了令人满意的效果。 随着i n t e r n e t 的发展,软件产业的发展形态也发生了变化,基于计算机 网络的软件产业,己从封闭的自给自足软件开发方式,逐渐演变为基于软件 复用的软件开发模式。目前,在美、日等国家己经产生通过电子商务将构件 取出、整合、组装,从而形成应用软件系统的软件开发产业。国内由于种种 9 哈尔滨工程大学硕十学位论文 原因,在这方面进展缓慢。在再利用、组装、加工、构筑标准构件市场等方 砸还有待进一步发展。 可以预测,在不久的将来软件工程界将有更多的公司、厂家使用复用技 术来生产软件和软件系统;可能出现特定领域的可复用软件构件工厂:可能 有支持软件复用和领域分析的软件开发环境和c a s e 工具产生;可能形成支持 领域或领域间的软件复用开发标准。总之,软件可复用的观念将成为软件开 发过程模型的主导思想之一,软件复用技术和实践将变成系统化、形式化、 标准化、惯例化和用户化的技术和活动。 2 2 构件及构件技术 要实现软件业的工程化、产业化,复用是目标,构件是基础与核心。基 于构件的软件开发方法是软件复用思想的应用,是实现软件复用思想的技术 手段。软件构件好像机器零件,是组成系统的基础 9 1 0 i 。 2 ,2 1 构件 目前学术界对构件并没有一个绝对的定义。现在较多采用s z y p e r s k i 的 构件定义i i l i :构件是带有合同约定的接口,具有清晰的上下文依赖关系,能 被独立部署和组装的单元。广义上讲,构件可以是需求分析、设计、代码、 测试用例、文档或软件开发过程中的其它产品。狭义来说,一般指对外提供 一组规约化接口的、符合一定标准的、可替换的软件系统的程序模块。构件 复用的目标是达到需求、分析、设计、编码、测试的复用。 可复用构件( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和可复用价 值的构件【1 2 l 。通常所说的构件主要是指可复用构件。软件的可复用性是指某 软件产品在构造新的软件系统的过程中能再次被使用的能力 1 3 1 ,是高质量构 件的一个重要特征。 为了有效实现其复用性,可复用构件应具备以下属性 1 4 1 : ( 1 ) 有用性:构件必须提供有用的功能。 ( 2 ) 可用性:构件必须易于理解和使用。 ( 3 ) 通用性:通用程度越高,复用时越容易,适用范围也越广。 1 0 哈尔滨下程大学硕十学位论文 ( 4 ) 高质量:构件及其变形必须能正确工作。 ( 5 ) 适应性:构件应该易于通过参数化等方式在不同语境中进行配置。 ( 6 ) 可移植性:构件应能在不同的硬件运行平台和软件环境中工作。 ( 7 ) 自描述:构件必须能够识别其属性、存取方法和事件,这些信息可以 使开发环境将第三方软件构件无缝地结合起来。 2 2 2 构件技术 构件技术是一种类似于“零部件组装”的集成组装式软件生产方式,把 零件、生产线和装配运的概念运用在软件产业中,彻底打跨了手工作坊式的 软件开发模式i 。开发构件的主要目的是提供给其他系统开发者复用,复用 者要想正确、高效地使用可复用构件,构件的开发必须遵循一定标准。由于 基于互联网的软件技术迅猛发展,目前主流的软件构件技术标准有i t o m g 提出的c o r b a ( 川( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公 共对象请求代理体系) 、微软提出的c o m ( c o m p o n e n to b j e c tm o d e l ,构件对 象模型) d c 0 m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式构件对象模 型) 、s u n 公司提出的j a v a b e a n e j b ( e n t e r p r i s ej a v ab e a n s ,企业j a v a b e a n s ) 。它们为应用软件的开发提供了可移植性、异构性的实现环境和健壮 平台,结束了面向对象中的开发语言混乱的局面,解决软件复用在通信、互 操作等环境异构的瓶颈问题。 ( 1 ) c o r b a 构件 1 9 9 1 年1 0 月o m g 推出了c o r b a l 0 规范,c o r b a 定义了位于i s o 0 s i 七 层模型的应用层分布式计算协议,在c o r b a 中分布式环境的定义采用了面向 对象的方式以隐藏不同编程语言、操作系统、对象位置等之间的差异,支持 不同类型应用实现的互操作。c o r b a 采用了o m gi d l 接口定义语言定义了可 移植性接口。 ( 2 ) c o m d c o m 1 9 9 3 年,微软公司提出了构件对象模型( c o m ) ,1 9 9 6 年又提出了分布式 c 0 m ( d c 伽) 。d c o m 扩展了组件对象模型技术,使其能够支持在局域网、广域 网甚至i n t e r n e t 上不同计算机的对象之触的通讯。 ( 3 ) j a y a b e a n e j b 哈尔滨工程大学硕士学位论文 j a v a b e a n e j b 是s u n 公司提出的构件模式,包含在s u n 公司推出的j 2 e e 规范中。j 2 e e 是s u n 公司推出的一个开发平台,提供了一个基于软件组件来 设计、开发、装配和部署企业级应用程序的方法。 2 2 3 构件获取方法 构件获取是指有目的的构件生产和从已有系统挖掘提取构件,在基于构 件的软件复用开发过程中,一个关键的前提就是为软件开发提供充足的、可 靠的、成熟的构件。目前海量的软件构件已经存在,但是具有更高重用价值 的分析设计构件以及面向特定领域的通用构件和业务构件还是不多见。 目前,存在三种构件的获取方法:一是自开发构件;第二种是从网上获 取第三方构件,这种构件通常是公开源代码的构件,开发人员可以根据需要 选择修改构件的源代码以满足自己的需求或直接使用构件;另一种是在市场 上购买合适的商业构件。本文采用开发构件,利用已有的构件,结合商业银 行信贷业务,开发适合这一领域的构件。自开发构件的开发步骤是嗍: ( 1 ) 需求分析和领域分析。对于可复用构件的开发人员来说,首先要面对 的问题是如何定义一个新的可复用构件,即如何在应用领域的应用模型中找 出有共性、可通用的部分做成软件构件。这就要求开发人员既要有软件技术, 又要有该领域的相关知识。 ( 2 ) 设计。设计阶段必须支持分析阶段所建立的可复用需求。采用适当的 软件设计方法能够有效地组织软件系统并提高各个构件的可复用性。 ( 3 ) 测试。代码设计完成之后,要进行严格的测试,以检验构件的可复用 性。测试要保证构件的质量和强壮性,测试结果要满足构件与需求相符,特 别需要重视对构件接口的测试。 2 3 领域工程 领域工程是近年来逐渐发展起来的新的研究方向,有助于生产具有较高 可复用性的构件。使得可以被复用的信息范围扩大到抽象级别较高的分析和 设计阶段。由于通过领域工程产生的可复用构件来源于领域中现有的系统, 体现了领域中系统的本质需要,因此这些构件具体较高的可复用性。 哈尔滨工程大学硕士学位论文 i l q _ 2 3 1 领域及领域工程 目前,关于领域( d o m a i n ) 定义有多种形式。在软件工程环境中,领域是 指一组具有相似或相近软件需求的应用系统所覆盖的功能、问题、问题解决 方案或知识区域【喇;从软件复用的角度看,领域兼具现实世界与系统世界 的属性,是共享一组公共功能与数据的现存或待开发的应用剀嗍,可以将领 域分为垂直领域和水平领域,其中垂直领域是指具有相似业务需求的一组相 似应用系统所覆盖的业务区域,如财务管理系统、进销存管理系统等:水平 领域是指根据应用系统内部模块的功能性分类而得到的相似问题空间,如数 据库系统、工作流系统、g u i 库等。 领域工程是针对一个应用领域中的若干系统进行分析,并识别这些系统 共享的领域需求,设计出能够满足这些需求的构架,并在此基础上开发和组 织该领域的可复用构件的过程脚l 。领域工程是由三个阶段组成的: 1 领域分析 f i r e s m i t h 这样描述领域分析:“软件的领域分析是在特定应用领域中标 识、分析和规约公共需求,典型地是在应用领域中多个项目间的复用” 2 4 1 。 领域分析( d a ) 也就是在系统分析之前,分析、研究有关应用领域特性的活动, 是发现和记录某个领域各系统的共性和差异的过程,是系统化、形式化、有 效复用的关键。通过领域分析,相似系统的公共特性将被提取,适用于该领 域所有公共的、基本的对象、操作也将被标志出来,并且可通过定义模型描 述它们之间的关系。这个阶段的主要目标是获得领域模型( d o m a i nm o d e l ) 。 为领域内的系统定义一组可复用的需求。此阶段的输入和输出如图2 2 所示。 技术文件了7 7 、 类的分类 领 客户考察7、- 复用标 领 域 域 知- 技来文叫 领域分祈 l 功能模如 模 识 专家建议。z ! 领域语言 型 目前倦来需求二k 图2 2 领域分析阶段的输入和输出 哈尔滨工程大学硕士学位论文 领域分析过程由三部分构成脚1 : ( 1 ) 定义和划分领域边界,标识领域知识和信息源,选择领域分析的途径。 ( 2 ) 构件的识别与提取,主要包括三个基本步骤: 标识构件和操作:在标识构件和相应操作过程中,主要用分解技术。 进行抽象:将分解后的实体所拥有的共同属性抽象出来,这个抽象过 程的输出应该是描述这些属性的框架,该框架实际上是领域构件和功能的自 然表示,还要提供表达它们之间关系的必要机制。 分类构件和操作:分类构件及其相应操作的分类模式应该从整个领域 获取,然后根据需要再分为予类,还要找出分类模式中各框架之间的关系。 ( 3 ) 封装可重用软部件并给出可重用性指南。 2 领域设计 此阶段的主要目标是依据领域分析模型产生出领域中一类应用系统共同 具有的架构,即特定于某领域的软件构架( d o m a i ns p e c i f i cs o f t w a r e a r c h i t e c t u r e ,缩写d s s a 脚1 ) ,以此为基础识别、开发和组织可复用构件口捌; 3 领域实现 此阶段的主要目标是依据领域模型和d s s a 开发和组织可复用构件。系统 中所需的构件可能是现有系统中提取出的,也许是需要根据需求重新开发的。 这些活动的产品( 可复用的软件构件) 包括:领域模型、领域构架、领域 特定的语言、代码生成器和代码构件等。 领域工程是一个反复的、逐渐精化的过程,在实施领域工程的每一个阶 段,都有可能返回到以前的步骤,对以前的步骤得到的结果进行修改和完善, 再回到当前步骤,在新的基础上进行本阶段的行为。领域工程是把领域的知 识转化为一组可复用规约和构架,有助于产生具有较高可复用性的构件,有 助于基于构件的高效开发。 2 。3 2 实施领域工程的方法 领域工程的实施需要依据一定的方法来进行。现在实施领域工程的方法 有很多,其中f o d a ( f e a t u r e - o r i e n t e dd o m a i na n a l y s i s ,面向特征的领域 分析) 方法是一种己经被广泛应用于商业和军事领域的领域工程方法,是由卡 内基梅隆大学软件工程研究所提出的口嚯聊。 1 4 哈尔滨t 程大学硕十学位论文 f o d a 方法强调对领域内软件系统的主要的或个性特征的标识,通过这些 用户熟悉的特征来引导领域产品的生产以及命名。领域产品主要是指领域内 各应用系统的公共功能和体系结构,因此这种分析方法能够充分体现用户所 希望的满足应用需求的功能和体系结构。因而f o d a 支持功能和体系结构层上 的复用。由于f o d a 采用了聚合分解、一般特殊、参数化等建模技术【3 i l ,这 种方法能够对用户的新需求做出快速反映。 f o d a 过程可以分为三个阶段:上下文分析( c o n t e x ta n a l y s i s ) 、领域建 模( d o m a i nm o d e li n g ) 、构件建模( a r c h it e c t u r em o d e li n g ) 。 ( 1 ) 上下文分析:上下文分析的目的是定义领域的范围。这个阶段要分析 领域与外部元素的关系、对可变性进行评价。分析的结果是上下文模型。 ( 2 ) 领域建模:领域的范围确定以后,领域建模阶段提供一些步骤来分析 领域中的应用表现出的共性和差异,并产生一些领域模型。领域建模阶段主 要包含三个步骤: 特征分析( f e a t u r ea n a l y s i s ) 。在特征分析阶段,要获得客户或最终 用户对一类系统的一般能力的理解,即特征。特征描述了领域应用的上下文, 需要的操作和属性,及表示法的变化。 知识分析( i n f o r m a t i o na n a l y s i s ) 。在这个过程中,捕获客户对应用 系统通用功能或特征的需求,产生特征模型。 操作分析( o p e r a t i o na l a n a l y s i s ) 。在这个过程中,领域的活动特性 ( 数据流和系统的控制流、有限状态机模型等) 被描述,产生了操作模型。 ( 3 ) 体系结构建模:这个阶段为领域中的应用提供软件解决方案。在这个 阶段中开发出体系结构模型,即:领域中应用的高层设计。这个阶段的焦点 是识别并发进程和面向领域的共同模块。这个阶段中定义进程,并将定义在 领域模型中的特征、功能和数据对象分配到进程和模块。 2 4 建模及领域建模 模型是对现实世界一定程度的抽象,可以简化研究问题的难度,有助于 理解正在构造的系统,建模有利于系统分析入员、编码人员和用户之间的交 流。领域建模是指对领域问题的分析的建模,由实体联系( e r ) 模型、特征模 1 5 哈尔滨r 稃人学硕+ 学童 7 :论文 i _ | i i i i l i i i i i i i i i i i i i i i i i i i i i ;i i i i i i i i i | i i _ i | i _ 目i i 型、功能模型和一个领域专用字典组成。领域建模的目的是为了发现领域内 的可复用资产,领域分析的过程是基于领域模型发现可复用资产的过程。 2 4 1 建模 建模是系统开发中的一个重要组成部分,一个模型描述的是系统的某个 方面的完整内容。建模是人们在实际应用中常用而且具有重要作用的一种技 术。例如,人们在建造一座大楼前,先规划出大楼的蓝图:在制造飞机前, 先要画出设计图,并可能要建造一个实际模型进行风洞实验:在画一副油画 之前,先要用铅笔勾勒出画的轮廓。同样的,软件开发人员在实际开发一个 复杂的项且之前,也应该先建立系统的模型。 建模产生的图形有助于理解各种复杂的系统,方便开发者与用户交流与 沟通,获真实用户需求。往往一个图形能抵上数十行文字,甚至是数百行文 字的描述。通过图形这一中介媒体,可迅速地得到反馈信息,并能及时地修 改模型以满足用户需求,能快速有效地开发软件、减少软件废品和重复工作。 2 4 2 领域建模 种建模工具想要适应所有的领域需求是不可能的,解决的办法就是定 制,通过定制,产生一套特定领域的建模语言,称其为领域语言,该领域语 言将成为今后建模该领域时的建模语言。这种领域语言,不仅仅提供了建模 该领域的词汇表,还包括该领域的知识,这种知识包括该领域的语言的语义、 语言约束、语言构件的结构。 领域建模同通用建模比较有很多优势,主要表现在如下三个方面: ( 1 ) 便于交流。有了领域语言,建模人员和领域专家在对领域分析和设计 阶段进行建模时,就有了一个共同语言,从而极大地方便了他们之间的交流, 减少了可能产生的二义性。 ( 2 ) 提高了重用性。为了高效地进行软件的开发。研发人员一直在寻求软 件重用的方法,从简单的代码的拷贝到设计模式的使用,到参数化定制,到 组件技术。这些方法都在某种程度上提高了软件的复用程度,从而提高生产 率。软件产品线理论将软件的生产分为核心资产的开发和产品的开发,也是 6 哈尔滨t 程大学硕十学位论文 基于复用的考虑,核心资产包括产品线中产品共享的构架,以及为贯穿产品 线进行系统化重用所开发的软件组件阐。在产品开发阶段,将重用核心资产 生产出具体的产品。秉承这种思路,要想实现大粒度的重用,必须提升可重 用部分的广泛适应性。不仅仅要实现代码级别的重用,还应该实现设计阶段 的重用。在通过领域建模工具进行分析和设计时,首先要建立领域语言,由 于其是更高级别的抽象,能够适应整个领域,所以,领域语言是在产品开发 阶段最大粒度的重用。 ( 3 ) 语义丰富。由于领域语言中包含了领域知识和领域约束,一个符合领 域语言的领域模型就是一个符合领域约束的模型,从而使得模型的语义更加 丰富。一个富语义的模型将会为今后的一些工作带来极大的方便。 2 5 零码软件生产平台 零码软件生产平台属业务应用中间件,面向以信息处理过程为主体的业 务领域,支持面向该领域的应用软件“零编程”定制开发。解决了传统软件 开发中需求分析、系统设计和编码实现间的孤岛模式,以及传统软件开发中 因对软件开发人员的水平要求非常高而导致的一系列问题。 零码软件生产平台的突破是基于一系列创新的软件理论的基础之上的。 平台基于创新的软件规约模型,即目标操作模型、域原予模型和全息数据结 构模型,建立高效的基于目标的软件开发模式,解决了规约中主体状态与设 计中对象属性的一致性描述问题,解决了规约中操作规则与设计中操作实现 的一致性描述问题,实现了由目标模型向应用软件的无缝映射。平台面向过 程类业务领域,实现了“过程类业务应用”的零编码参数化定制网”l 。 2 5 1 实现和运行机制 零码平台是由零码开发版和零码执行引擎组成。在零码开发版定制开发 软件,使用图形化的语言x 通过拖拉图标的方式把应用思想以图形的方式表 达出来,并提供把语言x 编译成语言y ( 数据库知识码) 的编译功能,然后由 零码执行引擎解释执行这些知识码,生成应用软件。零码执行引擎主要由调 度引擎,多个操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年城市供用热力合同(GF-199-0503)质量保障协议
- 创业公司发起人合作协议范本
- 电子支付国际标准兼容性研究-洞察及研究
- 内核中断处理优化-洞察及研究
- 微电网互动技术-洞察及研究
- 社交网络数据可视化展示-洞察及研究
- 绿色农产品在跨区域市场的推广策略-洞察及研究
- 智能能源管理系统在经济型连锁酒店的应用-洞察及研究
- 合同风险识别与评估机制构建
- 压路机抵押借款合同
- 2025年中国铁建集团招聘面试模拟题及答案详解
- 2007年劳动合同范本
- (2025年标准)买月饼协议书
- 正确对待孩子的逆反心理
- 苜蓿种植培训课件
- 装置性违章培训
- 设备泄漏挥发性有机物排放控制技术规范
- 粉体团聚现象控制-洞察及研究
- 《冠心病合并2型糖尿病患者的血糖管理专家共识(2024版)》解读
- 医疗AI发展中的伦理问题及应对策略
- 车工多选考试题及答案
评论
0/150
提交评论