软件体系结构基本概念.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多

软件体系结构基本概念

展开全文

声明:本文总结于软件体系结构课程

第1章软件体系结构基本概念

1.1软件体系结构基本概念

1.2软件体系结构风格、模式和框架

1.3软件结构的基本元素和连接

1.4软件体系结构设计的基本原则

1.1软件体系结构的基本概念

软件体系结构是软件工程的重要研究领域,软件体系结构并没有

统一的定义。

90年代开始,很多专家学者对软件体系结构引起广泛关注,综合

软件体系结构的定义,比较权威性的论述是:

总体组织

全局控制

通讯、同步、协议

设计元素的功能

物理分布和集成

软件体系结构要点:

软件体系结构是软件设计过程的一个层面,是相对独立的、有价

值的软件设计方法的总结,可作为软件开发指导性的策略和途径。

强调设计过程,而非分析的过程。分析的目标是理解和表示,设

计的目标是实现。

非用户的观点及非功能的观点。对于用户,结构是软件系统功能

的组合。对于设计者,结构是为特定目标而设立的软件成分以及成分

之间的关系。

1.2软件体系结构风格、模式和框架

软件体系结构风格(ArchitectureStyles)

风格是表达特定系统元素和组织方式的通用范例

(idiomaticparadigm)。软件体系结构风格,反映众多系统共有结

构的习惯用法和语义,表述系统的静态结构方式,强调软件元素的组

织形式和通常用法。

软件设计模式(DesignPattern)

设计模式是软件问题高效和成熟的设计模板(pattern),模板包

含了固有的问题的处理逻辑,强调处理逻辑采用方式的直接复用。

软件应用框架(ApplicationFramework)

框架是待实例化的、可复用的大粒度部件结构。框架面向不同规

模的应用问题,是通用的结构。强调针对实际问题和通用结构。

1.3软件结构的基本元素和连接

软件结构的表示从低层到高层,高层软件结构是建立在基础结构

之上的。

软件构成的基础结构包括:

①数据类型结构

②控制流连接结构

③中断触发连接结构

④层次结构

①数据类型结构

数据类型是最基本的软件结构元素,是描述复杂算法和软件结构

的基础,即数据结构。

数据类型包括:

基本数据类型

抽象数据类型

②控制流连接结构

控制流结构直接对应程序结构

包括:

条件连接

循环连接

控制转向连接

控制流连接方式

进程中的控制连接(内部调用)进程之间的连接

同一机器空间链询调用方式分析调用方式

不同机器空间(远程过程调用)

④软件的层次结构

层次结构是分析和解决问题普遍适用的方法

单项依赖层次结构:

下层仅向相邻的上层提供支持,上层依赖相邻的下层被建造

开放式层次结构:

使用及支持关系不仅限制在相邻的层次之间

1.4软件体系结构设计的基本原则

在大量的软件开发实践中,对于软件结构的设计有被普遍性采用

的原则,这些原则和策略多年来一直被广泛地运用着。它们独立于具

体的软件开发方法。

基本原则包括:

抽象

分而治之

信息隐蔽

模块化

高内聚和低耦合

关注点分离

策略和实现分离

接口和实现分离

抽象的原则

抽象:

人们认识复杂事物的基本方法。抽象的实质是突出表现事物的主

要特征和属性,忽略细节部分;并且,运用这些特征和属性,提取具

有普遍意义的事物行为。

软件设计中的抽象:

数据抽象:描述特定数据对象的属性集合

过程抽象:特定操作过程命名的操作序列

控制抽象:隐含内部细节的控制逻辑

分而治之原则

将大的问题分解,分别处理分解的局部问题,会降低问题的

文档评论(0)

130****4083 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档