软件体系结构(A)概论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件体系结构(A)概论

软件体系结构(SA) 软件体系结构(SA)概论 陈虔 mrchenq@126.com 1、SA基础 SA基础; SA的地位; SA技术现状及发展趋势; SA建模; 研究背景 20世纪60年代末开始出现的“软件危机” 软件组件和软件重用的推动 关于SA研究的兴起 关于软件危机 软件的先天不足 1968年在原西德加密施(Garmish)召开的国际软件工程会议上被人们普遍认识到。 软件工程的尴尬 从软件危机谈起 软件危机的表现 软件成本日益增长 开发进度难以控制 软件质量差 软件维护困难 软件危机的原因 用户需求不明确 缺乏正确的理论指导 软件规模越来越大 软件复杂度越来越高 如何克服软件危机 人们面临的不光是技术问题,更重要的是管理问题。管理不善必然导致失败。 用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理和维护。 软件工程因此而诞生。它在软件开发方法、工具、管理等方面的应用大大缓解了软件危机造成的被动局面。 软件工程 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。包括三个要素: 方法。软件工程方法为软件开发提供了如何做的技术,是完成软件工程项目的技术手段; 工具。软件工具是人类在开发软件的活动中智力和体力的扩展和延伸,为软件工程方法提供了自动的或半自动的软件支撑环境; 过程。软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。 组件与软件重用 软件重用 指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。 软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。 这种可重用的元素称作软组件,可重用的软件元素越大,其重用的粒度就越大。 软件重用的好处 可以减少软件开发活动中大量的重复性工作,从而: 提高软件生产率 降低开发成本 缩短开发周期 由于软组件大都经过严格的质量认证,并在实际运行环境中得到校验,因此, 重用软组件有助于改善软件质量。 大量使用软组件,软件的灵活性和标准化程度也可望得到提高。 软件组件 直观的理解组件 是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辩识的系统; 是语义描述、通讯接口和实现代码的复合体。 是具有一定的功能,能够独立工作或能同其它组件装配起来协调工作的程序体,组件的使用同他的开发、生产无关。 软件组件与类 从抽象程度来看 面向对象技术已达到了类级重用(代码重用),是类封装。重用粒度太小,不足以解决异构互操作和效率更高的重用。 组件将抽象的程度提到一个更高的层次,它对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。 组件隐藏了具体的实现,只用接口提供服务。 组件技术的三个主流 组件技术发展迅速,已形成三个主要流派: IBM支持的CORBA Sun的Java平台 Microsoft的COM+。 组件的分类 如果把软件系统看成是组件的集合,那么从组件的外部形态来看,构成一个系统的组件可分为5类: 独立而成熟的组件 有限制的组件 适应性组件 装配的组件 可修改的组件 组件的分类 独立而成熟的组件 得到了实际运行环境的多次检验,它们隐藏了所有接口,用户只需用规定好的命令进行使用。如数据库管理系统和操作系统等。 有限制的组件 它们提供了接口,指出了使用的条件和前提,这种组件在装配时,会产生资源冲突、覆盖等影响,在使用时需要加以测试。例如,各种面向对象对象程序设计语言中的基础类库等。 组件的分类 适应性组件 用封装和接口技术,把不兼容性、资源冲突等进行了处理,可直接使用在各种环境中。例如ActiveX等。 装配的组件 已经装配在操作系统、数据库管理系统或信息系统不同层次上,使用胶水代码(Blue Code)就可以进行连接使用。 软件商提供的多数软件产品都属这一类。 组件的分类 可修改的组件 可修改的组件可以进行版本替换。如果对原组件修改错误、增加新功能,可以利用重新“包装”或写接口来实现组件的替换。 这种组件在应用系统开发中使用得比较多。 组件的获取 组件获取可以有多种不同的途径: 从现有组件中获得符合要求的组件,直接使用或作适应性修改,得到可重用的组件; 通过遗传工程,将具有潜在重用价值的组件提取出来,得到可重用的组件; 从市场上购买现成的商业组件,即COTS组件; 开发新的符合要求的组件。 SA的兴起 1960’s的软件危机引发了软件工程的研究。 早期的软件工程将软件设计的重点放在数据结构和算法的选择上。 如今,系统的结构和规格说明显得更重要 软件危机的程度日益加剧,现有的软件工程方法显得力不从心。 对于大规模复杂软件系统来说,系统结构设计和规格说明比算法和数据结构的选择更重要。 对SA的系统和深入的研究

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档