软件复用与构件技术简化.ppt

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件复用与构件技术简化

基于构件的软件开发; 主要内容;软件复用技术;长期以来,多数软件均针对某个具体应用开发,大量软件开发都从头开始,经过需求分析、设计、实现、测试,最后交付使用,因此出现了大量同类软件(如财务软件、MIS软件等)的重复开发,结果: 浪费了资源 软件的质量不高;工业界大多数新产品的生产离不开已有的部件(通过组装完成) 在软件生产领域,也希望有一些软件工厂或车间专门生产软件构件(Component),在软件的生产中模拟工业产品设计及生产的经验,大量复用已有的构件,降低成本,提高生产率;软件复杂性持续增长 计算机技术变化的速度增加了具有较长生命周期项目的风险(早期技术过时了) 十年前开发的关键系统仍在运行;软件复杂性的增长主要表现在: 功能需求: 计算机解决方案成为各领域技术创新核心 非功能需求:出错率、并发用户数、事务吞吐量等要求 技术需求:分布式计算机网络软件需求量的增大使目标执行平台具有多样性 组织需求: 需要分布式开发团队和远程办公 第三方产品和软件包的使用中经常遇到定义问题、说明问题、开发维护费用问题; C/C++/Java 本地客户端;业务变化 政府政策变化破坏了传统供应链的垄断,导致新的竞争形式出现 商业界面临越来越多的组织之间的收购和兼并 对原有系统的评估和升级成为一种趋势 技术变化:新领域的出现牵引软件行业自身的发展 组织变化:人员流动;兴起了外包和第三方服务;出现了系统集成者组织;存在哪些分布式系统构架,优点和不足是什么? 什么样的开发方法适合基于Web的分布式应用? 原有的数据和程序能否复用? 有什么好的工具包,软件包,设计模板库和例子? ;过去应用程序构架和应用程序支持工具功能;当前应用程序构架和应用程序支持工具功能;未来应用程序构架;生成数据库模式 数据库优化 用户界面设计 数据分布和复制;(1)简化大规模分布式软件构架设计、管理和演化任务;服务层:考虑构架成员之间的接口及交互 一种观点:集中解决方案的逻辑构架,系统由抽象服务组成,这些抽象服务通过接口来访问。开发者考虑如何提供服务可以访问的操作、服务的特征描述等 另一种观点:服务是一种为了提供某些特定的行为而在一起工作的协同代理。因此主要问题是服务交互方式的协调或结构。在这个层次上要解决的问题:服务的复制、容错以及数据的无效处理等问题;(2)为系统的可复用部分建模;构件相关技术进一步发展 出现了面向对象语言 特定领域库和框架开始出现 供应商的支持 Web基础设施正在成熟 学术界对构件接口、构件集成及检测、构件修复等方法有了更深理解 ;通过对应用系统的组成成分的复用可以避免重复劳动 (1)通用基本构件:是特定于计算机系统的构成成分,如基本的数据结构、用户界面元素等,它们可以存在于各种应用系统中 (2)领域共性构件:是应用系统所属领域的共性构成成分,它们存在于该领域的各个应用系统中 (3)应用专用构件:是每个应用系统特有构成成分 重复劳动主要集中在前两类构成成分的重复开发,软件复用可以避免重复劳动 ;如何获取可复用的软构件 如何生产、描述软构件 如何检索合适的软构件 如何把软构件组装成系统 软件的运行依赖于软硬件平台,因此需要考虑异质构件(用不同语言书写的或运行于不同环境的构件)间如何协同计算;软件复用是指通过已有软件的各种有关知识来建立新的软件,这些知识包括:领域知识、开发经验、设计经验、体系结构、需求、设计、编码、测试和文档等 严格意义上的软件复用是指:重复使用“为了复用目的而设计的软件”的过程 ;软件重复使用的行为主要发生在三个维上 时间维:使用以前的软件版本作为新版本的基础,加入新功能,适应新需求,即软件维护 平台维:以某平台上的软件为基础,修改其和运行平台相关的部分,使其运行于新平台,即软件移植 应用维:将某软件(或其中构件)用于其他应用系统中,新系统具有不同功能和用途,即真正的软件复用 ;依据复用的对象,可以将软件复用分为 产品复用:指复用已有的软件构件,通过构件集成(组装)得到新系统。是目前现实的、主流的途径 过程复用:指复用已有的软件开发过程,使用可复用的应用生成器来自动或半自动地生成所需系统。依赖于软件自动化技术的发展,目前只适用于一些特殊的应用领域 依据对可复用信息进行复用的方式,可将软件复用分为 黑盒(Black-box)复用:指对已有构件不需作任何修改,直接进行复用,这是理想的复用方式 白盒(White-box)复用:指已有构件并不能完全符合用户需求,需要根据用户需求进行适应性修改后才可使用。在大多数应用的组装过程中,构件的适应性修改是必需的 ;项目计划 体系结构 需求模型和规约 设计 源代码 用户文档和技术文档 用户界面(最广泛复用的软件制品) 数据 测试案例;软件复用有三个基本问题 必须有

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档