欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于CTP平台的银行构件的设计与实现硕士学位论文.doc

    • 资源ID:4022275       资源大小:1,007KB        全文页数:52页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于CTP平台的银行构件的设计与实现硕士学位论文.doc

    硕士学位论文基于CTP平台的银行构件的设计与实现摘要随着信息技术的发展,软件作为一种信息技术的主要载体已经渐渐渗透到人们的日常生活当中去了,无论是政治、军事、经济、文化等方方面面都离不开软件,但是由于计算机硬件技术的高速发展,软件开发效率越来越不能够满足高速增长需求。同时伴随着经济全球化和信息化的发展,促进了各行各业的发展,特别是银行业原有的流程、产品、服务等都发生了巨大的变化,对软件的依赖到了一个全新的高度。正是随着这种趋势如何更加快速、有效地开发高质量的银行软件系统,是目前软件行业所面临的问题。目前,构件化的开发思想正是解决这一问题的方法之一。构件化开发思想的核心就是复用,通过构件的开发、组合、重组、替换、扩展等方法,来适应业务的变化,增强软件系统的可扩展性和可维护性,从而使银行软件系统更够更好地发展。本文的主要研究内容是以构件化开发理论为基础,结合某国有大型股份制银行的软件应用系统开发项目,通过该实际软件项目的开发,阐述了构件化开发在银行软件系统开发的应用过程中所遇到的问题,以构件化开发思想结合软件工程的方法来分析问题,并依照构件化开发的使用范围、开发方式、构件的复用等方面提出相应建议,同时展望下一步的构件化开发的工作。在金融市场应用开发平台项目FMDP的构件设计与开发过程中,采用流程图和规范化方法分解整个应用系统并从中识别出所需业务构件,在CTP平台框架的基础上进行构件开发和测试,并集成到应用开发系统当中去,最终实现了对象、类、方法、存储过程、测试代码、文档、构件等不同粒度的软件复用,为构件化的实际应用提供了可以借鉴的经验。关键词:构件化开发,核心交易平台(CTP),金融市场应用AbstractWith the development of information technology, software as a main carrier of information technology has gradually penetrated into people's daily life, whether political, military, economic, and cultural aspects are inseparable from the software, but because of computer hardware technology the rapid development of the efficiency of software development is increasingly able to format the rapid growth of demand. Accompanied by economic globalization and information technology development, and promoting the development of all walks of life, especially in the banking sector existing processes, products, service have undergone tremendous changes, reliance on software to a new level . With this trend, how it is more rapid and effective development of high-quality banking software system, is the question facing the software industry. At present, the component of the development of thinking is one way to solve this problem. Core of the idea of component development is reuse through component development, combination, reorganization, replacement, expansion and other methods, to adapt to business change, enhanced software systems scalability and maintainability of software systems so that the bank is more enough Better development. The main contents of this paper is based on the theory component of development, combined with a large state-owned joint-stock banks of the software applications development project, through the actual software development projects, describes the software component-based development in the banking system development in the application process problem to component-based software engineering with development thinking to analyze problem, and in accordance with the use of component-based development, development method, component and other aspects of the complexs with the corresponding recommendations, while prospects of further development of components work. Application development platform in the financial markets project FMDP component design and development process, using flow charts and standardized methods of decomposition of the entire application system and business components from requirement identified in the CTP platform based on the framework for component development and testing, and integrated into Application development systems are gone, and ultimately the objects, classes, methods, procedures, test code, documentation, components, such as different size of software reuse, as components of the practical applications that can learn from experiences.Key Words:Component Development , Core Transaction Platform , Application Of The Financial Markets 目录摘要iAbstractii图目录IV第1章 绪论11.1 课题背景11.1.1 由“软件危机”引发的思考11.1.2 银行软件系统特点分析21.1.3 中国软件行业构件化之路31.2 研究现状及存在问题41.3 论文主要研究内容51.4 论文的组织结构61.5 本章小结7第2章 构件化开发分析82.1 构件开发的历史演变82.2 构件和构件特点102.3 构件、构件平台、构件库122.4 构件技术介绍122.5 本章小结14第3章 CTP平台框架分析153.1 CTP平台153.1.1 CTP平台总体结构153.1.2 CTP平台特性163.2 CTP三层体系结构支持构件化173.3 基于CTP平台支持构件化实现183.3.1 构件包183.3.2 CTP平台支持构件化系统结构层次体现193.4 本章小结20第4章 FMDP应用开发平台构件的设计214.1 FMDP项目需求由来和构件开发流程设计214.1.1 构件需求234.1.2 构件分类与选取234.2 构件测试274.3 构件集成与应用284.4 本章小结28第5章 FMDP应用开发平台构件实现295.1 构件开发流程295.2 数据处理和业务逻辑编写305.3 逻辑流开发315.4 界面UI和页面流flowc开发325.5 构件预集成与测试355.6 金融台历构件应用案例分析365.6.1 后台数据库应用375.6.2 前台系统应用385.6.3 应用中存在问题395.6.4 问题改进建议405.7 本章小结41第6章 全文总结和展望426.1 本文总结426.2 关于构件开发的展望44参考文献45作者简历47致谢48图目录图2.1 软件开发历史演变59图2.2 SOA服务三角10图3.1 构件包组成图18图3.2 系统构件化结构层次图19图4.1 构件化开发22图4.2 业务构件识别过程2525图4.3 金融台历构件业务流程图27图5.1 构件开发流程图29图5.2 存储过程图30图5.3 节假日复核存储过程配置图31图5.4 逻辑流OPG图32图5.5 UI界面图33图5.6 flowc页面流图34图5.7 页面流属性图34图5.8 金融台历节假日系统应用图35图5.9 PL/SQL自动化测试图36图5.10 构件包文件图37图5.11 金融台历复核页面流图39第1章 绪论1.1 课题背景伴随着时间的流逝和时代的发展,某国有大型股份制的银行金融市场业务得到了长足发展,金融市场业务种类以及产品类型不断增加和扩展,于此同时金融市场交易量逐年提高,这些都是对金融市场系统的开发、维护提出更高的要求。同时根据银行所制定的开放平台应用系统平台化规划的要求在,各业务领域建立相对统一的应用开发平台,提取特定的业务领域中的共性部分并通过技术手段加以实现,从而能够将共性的部分固化在平台中形成以构件为基础的应用开发平台。该课题来源于某国有大型股份制银行金融市场应用开发平台项目(Financial Market Development Platform,FMDP)。金融市场应用开发平台构建一个金融市场业务领域的开发平台,解决金融市场业务领域应用系统规范、高效开发的问题,同时新老应用系统不必从零开始搭建,可在开发平台的基础上快速定制,且通过开发平台可提高应用系统的质量、降低开发成本、缩短开发时间。1.1.1 由“软件危机”引发的思考伴随着软件规模的不断扩大和软件产业更新换代速率的越来越频繁,软件开发的效率与质量就逐渐成为了人们所关注的焦点,然而相对于传统的软件设计开发思想已经逐渐不能够满足当今软件开发的需求,同时伴随着计算机硬件技术的飞速进步以及信息化建设需求的增加,越来越多的大型软件开发项目工程面临着许多的问题,例如软件开发生命周期冗长1、费用超出预算、软件可靠性和可维护性差等也渐渐地凸显出来,与软件工程所要求的目标形成了强烈的矛盾,从而引发了“软件危机”2。“软件危机”的主要表现如下:(1) 软件开发的费用和开发周期难以控制。由于软件开发项目自身的特点,再加上许多意外因素,导致费用超支、进度拖延等情况屡屡发生,有时候为了达到预定的目标,就有可能采取一些特别的措施来完成项目,但是通常这样做往往会损害了软件产品的质量。(2) 开发出来的软件可靠性和可维护性比较差。即使耗费了大量的人力和物理去完成系统,但是软件系统的正确性越来越难以保证,系统内存在着BUG,影响着系统的平稳,同时许多项目缺乏完善的项目文档资料,导致了许多错误难以定位和更正,耗费了许多资源。(3) 伴随着计算机硬件技术的快速发展,软件开发的生产效率远远达不到相应的水平,使得许多资源存在着巨大的浪费。(4) 软件成本在计算机系统的总成中所占的比例越来越高。由于计算机技术的发展和自动化程度的提高,硬件性能和产量的提高以及成本的下降,软件开发所需的人力资源的耗费成了项目开发的瓶颈。(5) 开发出来的软件不能很好的满足用户的需求。随着开发周期的延长以及其他一些因素,需求变化等原因导致开发的软件效率和使用范围等,已经不能够满足快速的增长的信息要求。正是由于“软件危机”的来临,软件行业也将面临各种各样的挑战。基于“软件危机”的种种表现,采用新的开发模式已经成了一种刻不容缓的任务。鉴于软件本身的特点,软件不同于硬件是一种计算机系统中的逻辑部分,存在着一定的特性,不会因为使用而“损坏”。软件即是产品,目前信息化社会的快速发展,导致这些开发出来的产品越来越不能适应需求的变化。所以,软件行业也开始模仿制造业的开发模式,希望采用标准化零件的组装方式来进行软件项目的开发,将一个完整的系统划分成若干部分,采用统一的标准进行开发,最后再集成、组装。采用这种新的开发模式能够极大地提高软件的开发效率,同时通过模块的标准化,使得软件开发的过程与以往相比变得更加简单和快捷,各个模块的相互依赖减少,更加容易维护和升级。因此,基于软件复用的构件化开发,就成为了解决“软件危机”的方法之一。1.1.2 银行软件系统特点分析现在的社会是一个信息化、多元化的社会,大量的信息充斥而来,因此在金融领域中类似银行、证券、保险等行业纷纷开始使用计算机代替原来的手工作业,取得了很大的发展,各类的信息系统的开发激发了各行业的活力。特别是银行业,每天都要面对着海量的数据信息,有一套完善的软件信息管理系统是必不可少的环节。对于银行软件系统主要有以下几方面特点:(1)可处理业务广泛。银行所要面对的大量业务,包括查询、转账、电汇、金融投资、储蓄、借贷等等业务,由于金融信息行业的快速发展,银行业务也是大大的拓展了,新增的可处理业务也是越来越多,需要系统支持。(2)海量数据处理。银行业每天有大量的交易数据,要进行处理大量数据的操作,面对如此多的数据量,就要有一个相对安全稳定的系统进行支持。(3)维护性、可扩展性强。正是因为快速增长的业务和信息量,系统面对的需求也是经常在变化,银行系统必须要有较强的可扩展性、可维护性以满足日益变化的需求。(4)安全性。企业银行系统的安全性是一个核心特点,所有的系统设计都应该着眼于安全性考虑。(5)易用性。银行系统操作的人员复杂,素质高低不一,所以系统必须要有有相对界面友好性,易用性,保证能得到大部分人的认可。基于以上一些银行软件系统的特点的分析,我们可以了解到伴随信息化的快速发展,原有的软件开发方式已经严重的制约了软件开发的成功率,更加不能满足快速变化的需求,是限制目前银行软件系统开发的瓶颈。基于构件的开发过程模型是一种范型3,它可以为软件开发的一系列的开发过程提供模板。这些通过使用构件开发模式开发出的软件适应性强,灵活多变,可以满足多种不同的要求以及多变的需求,来保证软件项目开发的效率和质量。而其中的构件是构件化开发的基础。对于银行软件系统来说构件化的开发方式是一个不错的选择,银行软件系统不只是只有单一的系统,往往是由数个不同应用组成的,而各个应用中又都有许多相同或者不同的功能模块,同时鉴于全球信息化的发展,银行业业务种类和数量快速增加,需求也时刻在变化,因此构件化的开发方式十分适合银行软件系统的开发,提高业务功能复用率,减少重复劳动。1.1.3 中国软件行业构件化之路近几十年的发展以来,国内的一些软件企业一直走着从项目、从系统集成、从行业应用入手的老路子,很难形成很强的新软件技术产品的研发能力,也难以形成很大的企业规模。随着计算机技术的发展,软件行业“构件化”“4、“产品化”的能力逐步的得到提升,人们看到了国产软件行业的前进之路6。长期以来,我国的软件产业生产方式一直停留在初级阶段,软件的复用程度低,劳动的重复性高,形成了高技术人才和低效率劳动的局面,不仅大大制约了我国软件产业的发展,也难以满足国家信息化建设的需求。而构件化的提出,是从传统工业制造中得到的启示:一般功能复杂的产品也都是由大量标准的零件组装而成的,零件可以在生产线上装配成一个完整的成品,所有的零件在成品中一起发挥作用。同时在一定的影响范围之内,产品的分工越细致、专业化生产的程度越高,且总体生产效率就越高。构件化就是基于此以粗粒度的软件复用开发方式,提高软件的开发效率,同时也能够保证功能安全和稳定,能够很好的适应中国软件开发的需求。我国的软件企业一直使用的是外国的操作系统和数据库,对于本国信息系统的数据安全性不利,同时采用传统的软件开发模式不能够很好提升软件开发的效率,软件项目的复用性低。同时中间件5技术的发展也是支撑我国软件构件化发展的重要条件,因为只有在适当的构件技术平台之上,软件功能才会被抽象和分解,最终形成构件,是构件化开发的关键。互联网信息技术的发展对计算机应用系统的深刻影响,以及信息化的应用需求与软件开发的方式之间的矛盾,我国对构件化的发展投入了大量的力量,并取得了回报。经过了多年探索和发展,我国的构件与构件技术已经快速发展起来。目前,上海的构件库已经投入使用,北大青鸟构件等也相继应用,各大高校、软件企业也相继开发了应用了构件和构件技术。 随着“以信息化带动工业化”的战略方针实施,并伴随着国内各行各业信息化发展建设的不断进行,各行业信息化建设呈现出了计算环境复杂、应用环境复杂、软件开发周期短等特点。在这种情况的推动下下,国内传统软件开发方式已经不能够满足实际软件开发生产率的需求,中国软件产业的构件化道路前景很广大,同时也是十分艰巨的道路。1.2 研究现状及存在问题基于构件的软件开发,与传统的软件开发方法相比较,可以从原有的系统之中抽取公共的功能模块进行构件化开发或者是根据新的需求抽象成构件,已开发出来的构件为单位来复用,因此可以解决需求、设计、开发、测试等软件工程中各个阶段中的重复劳动问题,避免了软件项目中资源的浪费,提高了开发的效率和质量。一般的来说构件就是可复用的软件组成部分,从软件中抽取可以复用的公共模块,并去掉这些模块的特有信息,从而成为单一对象。它可以是被封装的对象类、类树、软件框架、体系结构、功能模块、存储过程、文档、设计模式等等,可以根据不同的要求来对构件进行划分。一般来说构件具有高度抽象、可替换、可定制、可集成、可连接机制等诸多特点。以目前开发的金融市场应用开发平台项目为例,该项目是以某国有大型股份制银行自主开发的CTP框架为基础,以构件化开发方法来进行的项目。随着信息化得快速发展,某国有大型股份制银行在金融市场领域的业务取得长足的进步,同时伴随着国际金融市场的风险也逐渐增大,新的巴塞尔协议的出台等,原有金融市场管理等系统已经不能满足快速变化的国际形势的需求。在同一时间以金融市场风险管理系统为主各个系统都将在原有的基础上进行开发,在此基础上该项目采用了构件化得开发方法,已达到最好的效果。在基于构件的软件开发过程中,构件是软件开发的基本单元。软件开发人员在软件的开发过程中,通过对已经开发存在的构件组装和集成来进行新的软件系统开发,可以说在构件化开发当中,新的软件系统的功能是通过其所包含构件之间的相互协作体现出来。但由于构件是软件组成的基本元素,所以构件的开发往往是一个相对独立的开发过程,存在许多不同的、甚至相同功能的构件都可能是由不同的构件设计者或者是构件开发者预先进行封装,通过不同的接口或者其他方式进行统一调用。因此,构件的使用者无法了解具体构件的具体运行过程和具体代码,这就造成了构件之间的交互就有可能存在着一定的不可预知性5,而这种构件之间的不可知性会使得构件在集成时可能会产生相互影响,例如系统配置、参数传递等,都会导致一些非期望行为的产生。此外,由于基于构件开发的特点也导致了其开发过程中也会面临着一系列的问题,例如接口统一、可替换性、复用性、接口扩展性等等。1.3 论文主要研究内容本课题研究目标是构件化的开发方法在银行金融市场应用开发平台(Financial Market Development Platform,FMDP)中的应用。通过对基于构件的银行金融市场应用开发平台的设计和开发,结合构件化开发的思想的历史演变,学习和研究构件化开发思想在该项目的开发过程中的应用,得出构件式的开发在该项目中所起到的作用,同时得到构件化开发所使用的范围,以及构件化开发在实践中存在的问题,构件化开发方法在整个软件开发领域中所起到的作用,并且软件开发中的风险控制要求。主要内容是从基于金融市场应用平台开发项目的实践开发开始,遵从构件理论的要求,通过对构件的需求的获取,构件的粒度划分,构件的开发和维护,以及新老系统升级和维护中对于构件化思想的应用的研究,通过构件化开发思想在实际项目中的应用,结合实际的构件的设计和开发,包括业务构件、软件构件、界面UI设计、存储过程编写、构件接口封转、接口调用等等一系列的实践操作,从中找出构件化开发在实践中产生的问题和一些的不确定的因素,以依照构件开发技术进行构件开发,从开发的实际中分析构件化应用开发的的作用和实际在项目中产生的效果。1.4 论文的组织结构本文共分为6个章节,具体内容安排如下:第一章 绪论,介绍了本文的课题研究的背景和一些相关的情况,由“软件危机”和银行软件系统的特点,来引出构件化开发的必要性,同时介绍了有关于金融市场应用开发平台的一些情况,说明了本文的主要研究内容是构件化的开发应用,总领全文。第二章 构件化开发分析。具体定义构件化的开发方法,包括构件化开发的思想、适用范围、特点、存在问题、构件技术等,通过业务构件和软件构件的界定,来阐述实际构件模型。第三章 CTP平台的分析与研究。CTP平台是某国有大型股份制银行内部使用的开发框架,是基于MVC模式,以及JAVA为基础的构件技术框架平台。介绍CTP平台与构件化各个层次的关系和实现。第四章 银行应用开发平台构件的设计。结合FMDP实际项目实际需求,分析项目构件需求,划分不同的构件种类为业务构件和软件构件件,并根据不同的构件种类进行构件的获取的识别,构件的设计包括构件存储过程的自动化测试,构件在新系统中的集成。第五章 银行应用开发平台构件的实现。根据实际需求的提供,依照CTP平台框架的开发规范,按照一个构件开发的9个步骤一步步实现构件的开发过程,最后对所开发的构件进行测试和新的应用系统中进行集成。以构件在实际中系统中的应用进行分析,得出存在问题并给出一些建议。第六章 总结,对本文进行总结,提出构件平台的进一步的展望,给出一些有关于构件化开发在实际应用中的改进意见。1.5 本章小结本章主要介绍了本文涉及的课题的背景,以现今的研究现状及存在的问题,总起全文阐述了课题主要研究内容,以及介绍了本文各章节的主要内容。本文是某国有大型股份制银行的实际软件开发项目为背景,以构件化的方法论为基础,讲述了目前银行软件开发项目中存在的问题,提出构件化的开发方式在软件项目中的应用,以银行软件技术的升级为契机,通过实际银行构件的设计与开发,从实际开发过程中总结经验,找出构件化开发方法在实践中的存在的问题,并以此为基础提出一些解决建议。第2章 构件化开发分析2.1 构件开发的历史演变构件化开发思想,即基于构件的软件开发 (Component-based Software Development,CBSD),它与传统的软件开发方式相比较,在原有已经完成的应用系统开发中充分利用已有比较完善的开发成果,并以此为基础进行再次开发,消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而避免了大量人力物力的浪费以及重新开发可能引入的新旧错误、缩短软件产品交付时间的现实,同时也提高了软件开发的效率以及质量,简单的来说就是一种基于分布对象技术、强调通过可复用的构件设计和构造软件系统的软件复用化途径。构件一词正如软件行业的许多东西一样,构件这一词来源于传统的建筑业、制造业,采用标准化的方法进行产品开发制造,并不是软件行业特有词汇。软件构件的概念早在1968年11就被人提及,但是由于某些因素的限制,没有引起人们的关注。目前,伴随着软件系统开发中各种各样的矛盾凸显的时候,同时一些WEB、XML、JAVA等技术的成熟,国际OSOA组织的成立和SOA相关的标准SCA标准的发布,使得构件化开发再次出现在人们的眼前,并不断的得到发展。如果我们把软件行业的历史进行划分,公认的可以被划分为四个阶段:面向机器阶段、面向过程阶段、面向对象阶段、面向构件阶段,每个阶段都是在计算机软硬件技术发展到一定阶段的产物,每个阶段都是适应当前软件开发生产力的表现,较之前一个阶段都有一定的升华9。图2.1很好地概括了软件历史的四个阶段的特点。图2.1 软件开发历史演变5此外,面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件的模型,它将各个系统中应用程序的不同功能单元(通称为服务)通过这些服务之间定义良好的接口和关系集合起来。接口是采用中立的方式标准化进行定义,它应该是独立于实现服务的硬件平台、操作系统、编程语言。这样可以使得在构建各种这样的系统中的服务,可以通过一种统一、通用的方式进行交互和集成。而构件化的开发思想就是SOA的一种很好的体现。以SOA为基础提出的SCA服务组件框架提供了一套可以构建面向服务的应用系统的编程模型准则。本文采用的某国有大型股份制银行自行开发的CTP构件技术平台正是介于SCA标准而开发,如图2.2介绍了一个简单的SOA服务三角关系,正是构件化思想的简单体现,需求提供者(服务请求着)、开发人员(服务提供者)、构件库(服务注册库),这是三者循环体验的过程。 图2.2 SOA服务三角总而言之,从软件开发的历史演变来看,软件开发的演进和现代信息化的发展以及计算机硬件技术的发展是息息相关,信息化是发展的外因,硬件技术是发展的基础,软件开发效率也必须要符合当前发展的趋势,这就是推动软件开发从早期硬件发展制约、系统业务功能单一等特点到现在系统功能结构复杂化、需求变化频繁发展。伴随着计算机硬件技术的发展,硬件方面应经不是制约软件项目开发的瓶颈,重点已经转移到软件开发效率上来了,而软件开发离不开软件复用,无论是面向过程、面向对象实际上都包含着一定的软件复用的概念,无非是复用的粒度不同,而现在的软件构件化开发,是通过其相对独立、高耦合、高复用性等特点,成为了目前发展的热点。2.2 构件和构件特点构件,构件思想早在Ada语言中Package机制中已经有了相应的雏形17,一直到面向对象概念的提出与发展才逐渐崭露头角,是软件系统中经过规范化方法从实际存在系统中抽取或者重新开发的组件,能够实现特定功能,通过标准的接口进行调用、集成。实际上关于构件的定义,目前开来还是有并不统一,以下列举了一些具有代表性的构件定义:(1) 波音公司的Guijun Wang 对于构件的定义:构件是一个带有契约化的 接口和显示上文依赖的组装单元,能够被独立发布且可以被第三方来进行组装4。(2) Desmond DSouza和Alan Wills 对构件的定义:软件构件是一个可以独立交付的软件单元,封装了要设计和实现的内容,并且可向外提供接口,通过接口与其他构件组装而形成更大的整体。(3) 欧洲面对像编程会议上被提出的定义:软件构件是一个具有规范化接口和明确上下文依赖的组装单元。软件构件能被独立地部署和被第三方集成5。除了以上的软件构件定义之外,还有许多的定义就不一一列举了。通过着一些对于软件构件的定义,接口、独立、组装等词经常被提及,因而我们可以从中概括出一些构件和基于构件开发方式所应该具有的特点:构件应该具有通用性。复用性是构件化开发的基础,因此构件应该尽可能的提高识别程度,提供公共的功能部分进行软件构件设计开发,提高构件的复用程度,把构建一般化能够是软件开发人员再次开发的时候加快开发的效率。构件应该易于扩展性。构件化开发方式灵活多变,能够满足快速变化的需求,能偶应对不同的业务功能的实现,所以开发出来的构件要具备一定的可扩展性,时刻应对着变化,从而提高构件的使用寿命。构件应该具有安全、可靠性。一个成熟的构件开发出来,往往是要被多个系统调用的,如果构件不稳定存在着大量的BUG,就可能造成一大片的系统存在着隐患。构件应该具有可替换性。当简单的对构件扩展不能够满足需求时,一个构件与系统的粘连程度应该降低到一个比较低的水平,然后采用新的构件便于替换开发系统。构件应该具有易于集成组装。每个构件的开发是一个相对独立的过程,每个构件的开发者都应该为构件完成以后,如何能够快速平稳地与新系统集成列为考虑的范围,没有易于简单可靠地组装方式,再好的构件开发出来也是不能够满足用户的需求的,所以一般构件开发采用封转和接口调用进行,集成时只需保证接口调用正确性,并不需要考虑构件的内部程序结构。构件还应该具有良好的客户体验的显示。一个构件开发出来,首先是要考验其是否能够满足用户的需求,这就需要开发一些相应的demo或者展现、文档等来介绍构件的功能情况。2.3 构件、构件平台、构件库构件相关的定义和特点在前面已经介绍过了。再来看一下与之相对应的构件平台和构件库,这也是构件化开中比较关键的组成部分。构件平台,简单的来说就是构件技术的统称,开发人员使用一些构件技术综合在一起的构件平台之上进行构件的开,通过规范化的标准开发构件,使其能够满足不同系统中的功能需求。构件库14是按照一定的语义标准和组织结构形成的一个构件的集合,也就是说这是软件开发中重要的共享资源,是基于构件开发方法的核心。如Smalltalk-80提供的内定义的类库在Virtusl C+2.0/Borland C+3.10提供的API库可以称之为构件库的雏形18。根据构件的划分和定义设计的不同,构件库的设计与组成的方式也不尽相同。总的来说有一点,构件库是开发出来构件的集合,其实FMDP项目就是一个简易构件库的开发,其模拟一个真实的银行应用系统,并以此为基础,从其他各个不同的应用中识别和抽取具有一定公共特性的功能,设计开发形成构件,通过构件库的形势展现出来,开发人员和用户都可以从构件库中取用相应的构件,进行使用或者二次开发。值得一提的是构件的检索,构件库是许多相关构件的集合,如何才能从众多的构件中获取所需的构件,也就是构件的需求匹配,与一般的数据库并不同,构件的检索和匹配通常不能够得到完全与之相符合的构件,对需求相关或相近的构件,通常需要通过适配来使其满足需求,还有由于构件的划分粒度不同,需求问题分解以及构件的合成是常用构件匹配的方法。构件、构件平台、构件库三者之间相互依赖,相辅相成。构件是基础,构件平台是技术实现,构件库是构件集合,这三者决定着构件化开发的发展道路。至于在FMDP项目中,构件是通过不同的应用系统中识别和抽取出来,通过CTP平台进行构件化开,最终集成带构件库中去,通过这些实践开发,能够从中获取构件化开在实际银行软件项目中所起到的作用。2.4 构件技术介绍构件技术的概念最早是出现在1986年的NATO软件工程会议上。但是,构件化开发的核心思想,即软件复用思想出现得更早,例如子程序、数据、对象、存储过程、文档等的重用,可以看作是软件构件化开发的源头。从60年代末到80年代初,结构化的软件开发思想占据了主导地位,与之相对应的复用层次是函数的复用12。函数是通过参数来适应需求的变化。从80年代起,面向对象的软件开发思想开始活跃发展起来。其通过类的封装和方法继承等,实现了数据的抽象和信息的隐蔽。通过类的包含和继承,大大提高了代码的复用性。以至于面向对象编程思想时至今日仍有重大影响。其后来的一系列技术,无不是借鉴,采纳了面向对象的思维方式,但是面向对象的软件开发思想对应的复用层次仍然停留在代码的级别之上,由于粒度相对过小,远远没有达到彻底的软件复用和使软件具备动态适应外界环境变化的能力。因此,将软件系统中的模块抽取、识别出来,做成可以发布在Internet上能够由客户调用的构件的开发模式逐渐兴起3。九十年代初随着CORBA1.0标准的发布,解开了软件行业构件化的序幕,经过十多年的发展,目前相对成熟的构件技术形成了三大流派,即OMG提出的CORBA,SUN提出的EJB,Microsoft提出的COMDCOM。这三大软件构件技术各有不同,能够在在不同领域中使用,都有一定的代表性。此外,国内杨芙清院士12等结合软件生产线技术的思想,大胆提出了青鸟构件模型,制定了青鸟构件技术规范。发展至今,青鸟系统已经是是我国第一个大规模、综合软件支持环境,其在促进软件产业化、规模化形成方面做出了积极地探索,并积累了大量宝贵的经验,可以成为是我国构件化开发的里程碑和先行者。早期的构件技术以CORBA、EJB为代表,它们实现了组件式的可重复应用的功能,同时提供了可视化的控件集成开发方式,大大提高了软件系统的开发效率。现在面向构件的开发思想,是面向对象技术的发展与升华,是更高层次上抽象,同时实现了低耦合,高复用的特点,加大了软件复用粒度。还有基于构件的开发不需要特定的开发语言,它也可以使用任何的开发语言,但是它唯一的要求就是必须使用统一构件组装语言,来对构件进行集成,保证整个系统的稳定性,随着xml语言的兴起,很好的解决了构件化语言的问题。基于构件开发的核心是“组织”20,它是SOA面向服务的开发方式的一种最好的体现,它将人们的思维水平从原来的软件系统上升到整个企业或者行业,它强调组织级、项目间的协作和复用关系。所以以往构件化开发以及面向服务等大多应用在ERP(Enterprise Resource Planning)企业资源管理系统之中,伴随着软件技术的发展和软件系统规模的扩大,特别是面向服务的技术发展与成熟,人们在软件系统中关注的焦点已经从实现功能逐渐转移到如何将实现具体已经实现的功能的各个服务组件集成起来,并形成稳定、完整的系统3,同时构件化的应用已经扩展到了计算机行业的各个角落。国内外在演化方面的研究中具有一定代表性的有K-Componet框架元模型、ArchStudio开发运行环境、北京大学PKUAS系统以及南京大学面性服务的动态协同框架等等。2.5 本章小结本章介绍了结合构件化开发的一些相关概念,包括构件化开发的历史演变、构件化特点、构件技术的介绍等,并结合实际讲述了构件、构件平台、构件库之间的联系,从构件定义、构

    注意事项

    本文(基于CTP平台的银行构件的设计与实现硕士学位论文.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开