- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ABC of Component-based Software Design 杜承烈 西北工业大学计算机学院 基本概念 软件(Software) 构件工程(Component Engineering) 软件复用(Software Reuse) 构件(Component) 软件体系结构(Software Architecture) 软件框架(Software Framework) 软件 软件是“程序以及开发使用维护程序所需的所有文档”,由应用程序,系统程序,面向用户的文档,及面向开发者的文档四部分构成。 软件是一种逻辑实体,不是具体的物理实体。 软件产品的生产主要是研制。 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。 软件不存在磨损和老化问题,但存在退化问题。 构件工程 90起年代,基于构件的开发方法取得重要进展,软件系统的开发可通过使用现成的可复用构件组装完成,而无需从头开始构造,以此达到提高效率和质量,降低成本的目的,此方法称为构件工程。 软件复用 “软件重用”或“软件复用”是指将已有的软件成分用于构造新的软件系统。该技术是提高软件生产率和质量,降低成本的有效方法。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。通常,把这种可重用的元素称作软构件,可重用的软件元素越大,我们就说重用的粒度越大。 软件复用方式 复用程序:包括目标代码和源代码的复用,可通过连接(Link)、绑定(Binding) 、包含(include)等功能支持及对象链接及嵌入(OLE)技术实现。 复用设计:设计结果比源程序的抽象级别高,因此复用受环境影响小。可以通过从现有系统中提取全部或者不同粒度的设计构件,或者独立于具体应用开发设计构件。 复用分析 比设计复用级别更高,实现方式与设计复用类似。 复用结构 复用模块结构或者数据结构。 软件复用重要性 IT产业: 减小开发的工作量 缩短软件开发周期,产品及早投入市场 可靠性和可维护性得到保证 增强市场竞争力 软件复用重要性 科研领域 长生命期的设施特别要求软件的灵活性、健壮性和可扩充性 ,重用技术是保证软件这些特性的关键之一 “The risk associated with complex control systems can be great, and there have been recent examples where the utility of scientific facilities has been limited by inflexible system architectures.” 软件复用技术的发展 程序和函数库-传统的面向过程 类库(Class Libraries) -面向对象,代码级的重用 框架(Framework) -面向对象,不仅代码级的重用,而且分析和设计的重用 构件 构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辩识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。简单地说,构件是具有一定的功能,能够独立工作或能同其它构件装配起来协调工作的程序体,构件的使用同他的开发、生产无关。 构件(续) 从抽象程度来看,面向对象技术已达到了类级重用(代码重用),它以类为封装的单位。这样的重用粒度还太小,不足以解决异构互操作和效率更高的重用。构件将抽象的程度提到一个更高的层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口提供服务。 构件(续) 近年来,构件技术发展迅速,已形成三个主要流派,分别是CORBA 、Sun的Java平台和Microsoft的COM+。 构件分类 独立而成熟的构件。独立而成熟的构件得到了实际运行环境的多次检验,该类构件隐藏了所有接口,用户只需用规定好的命令进行使用。例如,数据库管理系统和操作系统等。 有限制的构件。有限制的构件提供了接口,指出了使用的条件和前提,这种构件在装配时,会产生资源冲突、覆盖等影响,在使用时需要加以测试。例如,各种面向对象对象程序设计语言中的基础类库等。 构件分类(续) 适应性构件。适应性构件进行了包装或使用了接口技术,把不兼容性、资源冲突等进行了处理,可以直接使用。这种构件可以不加修改地使用在各种环境中。例如ActiveX等。 装配的构件。装配的构件在安装时,已经装配在操作系统、数据库管理系统或信息系统不同层次上,使用胶水代码(Blue Code)就可以进行连接使用。目前一些软件商提供的大多数软件产品都属这一类。 构件分类(续) 可修改的构件。可修改的构件可以进行
您可能关注的文档
最近下载
- 一级消防工程师《消防安全技术实务》测试题以及答案.docx VIP
- 一级消防工程师《消防安全技术实务》测试题及答案版.docx VIP
- 党政主要领导干部和国有企事业单位.doc VIP
- 各种烧烤配方和做法大全(图文).doc.pdf VIP
- 社会调查教程(精编本) 第九章:问卷调查法.ppt VIP
- 华南理工大学 博士论文开题报告.pdf VIP
- 力、力的描述、弹力、重力测试题.doc VIP
- QSEPC技4.4.14-2013 发电机电气引出线手包绝缘施工作业指导书.doc VIP
- 《肥胖症诊疗指南(2024年版)》解读PPT课件.pptx VIP
- 《肥胖症诊疗指南(2024年版)》.pptx
文档评论(0)