UML系统建模及系统分析与设计课件:软件复用与软件构件技术.ppt
7.1.4可复用软件构件的生产与使用1.可复用软件构件的开发思路图7.2基于构件的软件开发基本思路构件需求,领域分析构件库构件开发与维护构件设计和实现构件测试采购新构件从已有系统中发掘、提炼构件开发新构件应用系统开发设计软件体系结构检索、获取构件组装应用系统2.可复用软件构件的使用⑴构件分析与设计⑵构件实现及局部测试。⑶基于构件的应用程序组装。⑷应用系统整体测试。3.采用构件编程的优势⑴面向对象编程的重用属于白盒复用,是对源代码的复用,而构件复用可以是黑盒复用,使用者可以不对它进行继承、重载等操作而直接使用。⑵面向对象编程的复用要受到其开发环境的制约,如用C++产生的类很难在以ObjectPascal为开发语言的项目中复用,而构件复用则不然。⑶面向对象编程的复用是基于源代码级的,而很多程序员出于技术保密,不会公开其源代码,这使得研究成果的复用范围很小。采用构件就不一样了,因为构件是一段二进制码,其内部具体实现是无法看到的,可以将成熟的构件当作商品出售,可有效地重用他人已有的劳动成果。7.1.5可复用软件的生产与复用1.可复用软件的生产过程⑴领域分析⑵建立领域中特定的体系结构模型⑶识别将要建立或准备复用的候选构件⑷完成共性/差异分析⑸再造可复用构件⑹构件的封装2.基于复用的应用系统构造领域需求分析领域设计领域实现需求分析应用系统结构设计系统构件分析、设计、编码、测试领域需求领域体系结构、构件原型系统系统需求领域需求应用系统需求库构件库已存在需求领域专家领域用户获取领域可复用需求可复用需求获取领域可复用设计设计方案所需新构件用户需求业务流程需求复用设计复用构件复用可复用构件原型系统开发面向复用开发所需构件获取领域可复用构件应用系统开发使用复用开发图7.3基于软件复用的信息系统开发模型7.1.6面向对象技术与软件复用的关系1.面向对象技术对软件复用的支持面向对象方法对软件复用技术提供了良好的支持。2.复用技术对面向对象的方法的支持面向对象的软件开发和软件复用之间的关系是相辅相成的。7.2软件构件技术7.2.1软件构件技术1.软件构件技术的发展历史2.软件构件技术的发展现状3.基于构件的软件复用的关键技术构件、构架获取构件标准化与描述构件分类、存储与检索获取构件组装领域工程软件再工程软件架构开放系统技术CASE技术图7.4基于构件的软件复用支持技术软件过程非技术因素7.2.2软件架构1.软件架构的概念图7.6软件架构DSPDSP任务TaskNDSP/BIOSINThandlerMailboxTaskTask12…MPU应用程序SD驱动MTD驱动Keypad驱动USB驱动LCD驱动DSP驱动嵌入式Linux内核INThandlerQtQt/EmbeddedFramebuffer2.软件架构的要素一般而言,软件系统的架构(ArchitECture)有两个要素:⑴它是一个软件系统从整体到部分的最高层次的划分。⑵建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。3.软件架构的目标可靠性(Reliable)安全行(Secure)可扩展性(SCAlable)可定制化(CuSTomizable)可扩展性(Extensible)可维护性(MAIntainable)客户体验(CustomerExperience)市场时机(TimetoMarket)4.软件架构的种类⑴逻辑架构⑵物理架构⑶系统架构图7.7逻辑架构表象层商业层数据持久层HTML服务Session服务安全服务系统管理流管理多国语言支持权限服务系统整合服务报表服务任务管理缓冲服务表象服务交易服务文件导入服务登录服务DataAccessUserPr