软件复用与构件技术实践(精品).ppt
软件复用与构件技术的实践业务解析 Business AnalysisEnterprise Solution Business Group Automation Business GroupIntelligence Business Group Equipment Design&ManufactoryBusiness Group International Business Group Technical Service Business Group First-class Industry Informalization Solutionand Product Supplier in China First-class Automation and Intelligent System Integrator and Product Supplier in ChinaFirst-class Industry Informalization Solution and Product Supplier in China国内一流的信息化服务外包供应商国内一流的自动化与智能化系统集成商及产品供应商国内一流的行业信息化解决方案及产品供应商发展目标 Development Goal研发体系 R&D System集中分布的研发体系集中分布的研发体系Concentrated Distribution of R&D SystemConcentrated Distribution of R&D System研发构件库构件库层次结构构件库层次结构操作系统操作系统操作系统操作系统其他系统软件其他系统软件其他系统软件其他系统软件(如数据库软件、如数据库软件、如数据库软件、如数据库软件、网络软件等网络软件等网络软件等网络软件等)基础构件基础构件基础构件基础构件框架、通用构件框架、通用构件框架、通用构件框架、通用构件领域构件领域构件领域构件领域构件专用构件专用构件专用构件专用构件专业产品组专业产品组专业产品组专业产品组其它产品组其它产品组其它产品组其它产品组基于架构复用的基于架构复用的软件开发软件开发对对CMMI5CMMI5模式的进一步优化模式的进一步优化加快开发进程,提高开发效率促进软件复用,改进产品质量简化维护过程,避免不一致简化编译流程,加快编译速度构件库建设的目的部门各项目使用的构件是受管理的,都是来自于构件库中,如果不在构件库中,要先申请入库,后使用 各项目的VOB不存放构件,统一到部门指定的构件库中提取,在项目编译说明书中详细列出项目所用到的构件以及如何使用的步骤一般地,不同项目组使用相同构件的版本是相同的。如果有不同,也是受控的 构件管理的原则部门构件库对于一个构件任何时候只推荐一个版本,项目组应选用构件库当前推荐的版本如果构件库中构件升级,请此构件的联系人判断,使用老版本构件的项目是否也需要升级,一般地尽可能地升级到最新版本 PG负责构件库管理。已经入库的构件,不能随意的删除或改变目录结构。如确需改变的,需要取得所有使用该构件的项目组的同意 构件管理的原则 通过构件库的建设,我们改变了早先应用软件开发积累少、代码复用性低、开发周期长的状况,并在上海构件化服务中心的指导下,建立了构件化开发一般流程如下:1).首先需要查询标准构件库,选择合适的构件。2).对标准构件库中不完全满足开发需求的构件,进行分析和抽象,可以修改或派生出新的构件。组织相关的人员,进行开发和测试,并将新开发的构件放入构件库。3).在工作中各项目组如果积累了成熟稳定的构件,组织一级安排专项测试,最终纳入组织构件库。构件化开发流程1).每一个新的应用软件开发的基础不再是从头开始,选择合理的构件化框架与构件,比起没有基础的从头开发,节约了大量调研、开发、调试时间。2).在每一个新的应用软件项目的开发过程中,以构件的衡量要求标准来要求项目部件的开发,当项目部件的接口明晰度、稳定性等标准达到构件的要求,就将该部件作为候选构件准备加入构件库。这样做一方面提高了新开发部件的质量与稳定性,另一方面加速构件库的积累。3).维护有比具体应用构件有更高复用性的开发框架型的构件,本身它是一系列的构件,同时还是进行构件化开发的容器、模板。框架构件有更高的复用性。框架构件可以容纳多个应用构件。构件化开发流程的优点 宝信信息系统平台产品旨在为公司的管理信息系统的开发实施提供一个统一的、高效的、健壮的、有序化管理的平台支撑,包括从程序的设计开发、系统的最终发布、运行维护的整个过程,达到降低应用系统的开发工作量、提高开发效率、提高软件复用率、提高产品质量的目标。该平台能够支持公司各工程部门采用统一的、高效的方式进行业务设计和开发,降低沟通成本,增加业务积累,将主要的精力转向业务领域需求的开发,而不需要为了具体的技术实现细节花费大量的精力,有利于业务知识和业务软件的积累和重用。构件化平台开发构件化层次模型 按照分层构件的思想,由三个层次组成:1界面模型层:管理信息系统的界面视图,支持不同的访问模式。2业务模型层:管理信息系统的功能实现层,管理具体的业务逻辑。该层基于框架实现对业务逻辑对象的全生命周期管理,同时实现与第三方系统之间的集成。3数据模型层:管理信息系统的业务数据存储层,利用关系数据库对业务系统的数据进行存储和处理。平台另一个重要设计理念是模块的可插拔,即构建可插拔的模块化应用系统。可插拔的模块化应用系统采用了组合模式,通常会包含一个 客户端应用程序骨架(Shell),该 Shell 提供了整个用户界面的框架及结构。模块可动态插拔,各模块通过 Shell展示相应的界面视图。结合统一应用层次化模型的指导思想及设计理念,通常情况下,一个应用系统就是由不同的层中的模块组合而成。模块可插拔 应用系统可以划分为不同的层次,例如技术架构层、技术领域层、业务架构层、业务领域层、行业解决方案层及项目实施层;不同层次的应用层次化模型元素(包括服务、组件、表等等)可以按顺序覆盖,即上层的模型元素可以覆盖下层的模型元素;每一层的应用层次化模型元素 可独立修改及更新,不会对其他层造成影响。模块应用层次化模型核心容器动态配置管理国际化管理异常管理数据持久化事务管理核心功能构件界面构件(EF)元数据管理(ED)数据交换(EI)日志管理(EL)任务管理(EJ)EAI集成(EA)样例代码(EE)框架功能构件用户及授权管理(ES)工作流(EW)报表管理(ER)通用业务构件基于平台的业务构件宝信冶金工业MES在初期设计上遇到了两大问题。1)产品技术领域:实现技术作为通用化产品的MES应用软件系统,应可以在不同的应用平台上实现,如UNIX/WINNT等完全不同种的操作系统平台、ORACLE/DB2等不同的数据库平台、CICS/TUXEDO等不同的业务中间件;由于系统平台和结构的复杂性,对系统的异构通用性提出了挑战。2)产品业务领域:作为针对各种冶金企业业务流程设计的MES软件,在业务组成、操作模式、运作机制上都有其特殊的管理模式和思想。因此,为了满足系统的设计目标,有了以下的设计原则:(1)以基础构件库屏蔽宿主平台的异构性、复杂性;(2)以通用构件库屏蔽具体业务的复杂性;(3)以领域构件库面向行业的一般需求。构件化MES软件产品的设计、开发 根据目前国内制造业信息技术的现状和发展趋势,构筑了标准的系统架构。确定了对不同平台和数据库进行屏蔽的跨平台运行的技术方案,并制定了统一的数据接口标准。实现了不同平台、数据库间的可移植性。前台展现ORACLEORACLEDB2DB2SQLSERVERSQLSERVERCICSCICSTUXEDOTUXEDOHP UNIXHP UNIXAIXAIXLINUXLINUXWINNTWINNT.NET.NET应用构件平台业务逻辑构件化MES软件产品技术领域 系统在不同抽象层次上设计了各种解决方案,具有构件化的软件架构,形成了不同层次构件,如基础层构件、中间层构件、领域级构件、子系统级构件等各种不同粒度的构件。基础数据交换基础数据交换EIBufferEIBuffer信息转换组件信息转换组件EITranslateEITranslate履历跟踪组件履历跟踪组件EDLogEDLog数据分发数据分发配置配置不同平台间通不同平台间通讯讯EDXcomEDXcom应用权限应用权限控制控制合同合同处理处理计划计划编制编制发货发货管理管理物料跟踪物料跟踪与与实绩管理实绩管理订单订单管理管理历史历史数据数据仓库仓库管理管理生产生产管理管理作业计划作业计划管理管理质量质量管理管理工器具与工器具与 轧辊管理轧辊管理基础层构件基础层构件中间层构件中间层构件领域级构件领域级构件子系统级构件子系统级构件构件化MES软件产品业务领域 对软件开发的复杂性有效地进行了分解,实现了合理的软件构件设计。所有的构件可以根据应用需求的不同进行裁剪/扩充,安装和使用。可以支持各种异构环境。提高软件的可维护性、具有更大的互换性、互操作性、伸缩性和可扩展性。采用构件化的软件产品开发方法,MES(制造执行系统)整个产品的复用率由以前40%提高到80%,大大提高软件开发效率,降低工程项目的成本,取得良好的经济效益。构件化成果上海宝信软件股份有限公司 SHANGHAI BAOSIGHT SOFTWARE CO.,LTD.中国上海浦东张江高科技园区郭守敬路515号515 GUOSHOUJING RD.,PUDONG,SHANGHAI,201203,P.R.CHINA86-21-50801155(TEL)86-21-50800701(FAX)HTTP:/WWW.BAOSIGHT.COM 谢 谢!