软件工程第五章_图文.pptVIP

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《 软件工程 》讲稿 第二部分 课程内容 第五章 软件设计 5.1 软件体系结构概述 良好的体系结构意味着普适、高效和稳定。抽象地说,软件体系结构包括构成系统的设计元素的描述,设计元素的交互,设计元素组合的模式,以及在这些模式中的约束。一般来说,一个具体的系统由构件的集合以及它们之间的关系组成。这样的系统又有可能成为一个更大的系统的组成元素。 5.1.1软件体系结构研究领域 IEEE 610.1221990软件工程标准词汇中的体系结构的定义,软件体系结构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构, 以及指导上述内容设计与演化的原理。 5.1 软件体系结构概述 软件体系结构是指一个或者多个结构。结构中包括软件的组件,组件的外部可见属性以及它们之间的相互关系。体系结构的设计是设计过程的第一个阶段,并且成为设计和需求工程过程之间的桥梁,时常与一些需求描述活动齐头并进。体系结构设计所关心的是建立一个基本的结构框架,能够识别出系统的组件(又称系统成份或构件)以及他们之间的通信。 5.1.2 软件体系结构研究的内容和范畴 软件体系结构研究的主要内容涉及软件体系结构描述、软件体系结构风格、软件体系结构评价和软件体系结构的形式化方法等。解决好软件的重用、质量和维护问题是研究软件体系结构的根本目的。将当前软件体系结构分为4个研究领域: 5.1 软件体系结构概述 第一类是通过提供一种新的体系结构描述语言解决体系结构描述问题。 第二类是体系结构领域知识的总结性研究。 第三类是针对特定领域的框架[SEI90,Tra94]的研究。这类研究产生了针对一类特殊软件的体系结构框架,比如,航空电子控制系统、移动机器人、用户界面。 第四类是软件体系结构形式化支持的研究。 5.1.3风格、设计模式、框架 1. 体系结构风格(Architecture Styles) 体系结构风格是描述特定系统组织方式的惯用范例,强调组织模式和惯用范例。 5.1 软件体系结构概述 2. 设计模式(Design Pattern) 设计模式是软件问题高效和成熟的设计模板,模板包含了固有问题的解决方案。 3. 应用框架(Application Framework) 应用框架是整个或部分系统的可重用设计,表现为一组抽象构件的集合以及构件实例间交互的方法。 5.2 软件体系结构设计原则 软件工程师在多年的实践中,对软件体系结构的设计总结出一些带有普遍性的原则,这些基本原则包括: 抽象 分而治之 封装和信息隐蔽 模块化 高内聚和低耦合 关注点分离 策略和实现的分离 5.2 软件体系结构设计原则 1.抽象的原则 抽象是人们认识复杂事物的基本方法。它的实质是集中表现事物的主要特征和属性,隐藏和忽略细节部分,并用于概括普遍的、具有相同特征和属性的事物。 2.分而治之的原则 将大的问题分成几个小的问题,软件设计中的分解包括: 横向分解:按照从底层基础到上层问题的方式,将问题分解成相互独立的层次。每层完成局部问题并对上层提供支持。 纵向分解:在每个层次上,将问题分解成多项,相互配合实现完整的解。 5.2 软件体系结构设计原则 3.封装和信息隐藏原则 采用封装的方式,隐藏各部分处理的复杂性,只留出简单的、统一形式的访问方式。这样可以减少各部分的依赖程度,增强可维护性。封装填补了抽象留下的空白。抽象是说:“可以让你从高层的细节来看待一个对象。”而封装则说:“除此之外,你不能看到对象的任何其他细节层次。” 4.模块化原则 模块是软件被划分成独立命名的,并可被独立访问的成分。模块划分,粒度可大可小。划分的依据是对应用逻辑结构的理解。 5.2 软件体系结构设计原则 5.高内聚和低耦合 内聚性是指软件成分的内部特性。成分中各处理元素的关联越紧密越好。耦合性是指软件成分间关系的特性。软件成分间的关联越松散越好。 6.关注点分离原则 软件成分被用于不同的场景时,会有对于不同场景的适应性问题。但是,所必须适应的内容并非全部,只是一部分,即所谓的关注点。软件设计要将关注点和非关注点分离,关注点的部分可以设定,而非关注点的部分用来复用,非关注点应选择与条件、场景独立的软件成分。 5.2 软件体系结构设计原则 7.策略和实现的分离原则 策略指的是软件中用于处理上下文相关的决策、信息语义和解释转换、参数选择等成分。实现指的是软件中规范且完整的执行算法。 软件设计中要将策略成分和实现成分分离,至少在一个软件成分中明显分开。这样可以提高维护性。因为实现的变动远比策略要少的多。 5.2.1软件体系结构风格研究 软件体系结构风格是指在众多系统中所拥有的共同的组织结构框架和语义特性,指导如何将各个模块和子系统组织成一个完整的系统。 1.C/S(Client/Server)客户端/服

文档评论(0)

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

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

1亿VIP精品文档

相关文档