- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
架 构 设 计
作者:毛国红
议 程
架构的定义
架构风格
架构视图
架构开发模式
构架设计方法
什么是软件架构
自从软件系统首次被分成许多模块, 模块之间有相互作用,组合起来有整体的属性,就具有了体系结构
解决复杂问题的对策
核心思想
任何作为复合整体的系统都有架构
分而治之
关注大局、把握整体
架构的定义
架构的定义从系统的构造或对系统设计的决策方面进行定义
学院派定义
IEEE 610.12-1990软件工程标准词汇中是这样定义架构的:架构是以组件、组件之间的关系、组件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理(Principle)。
SEI(美国卡内基梅隆大学软件研究所)的定义
某个软件或计算机系统的软件架构是该系统的一个或多个结构,每个结构均由软件元素、这些元素的外部可见属性、这些元素之间的关系组成
大师对架构的定义
构造派
Garlan和Shaw的定义
Shaw 的定义软件系统的架构将系统描述为计算组件及组件之间的交互(The architecture of a software system defines that system in terms of computational components and interactions among those components.)。
这里的计算组件包括我们所说的模块、子系统、类等不同粒度的承担计算任务的软件单元。
架构包括组件(Component)、连接件(Connector)和约束(Constrain)三大要素。组件可以是一组代码(例如程序模块),也可以是独立的程序(例如数据库服务器)。连接件可以是过程调用、管道和消息等,用于表示组件之间的相互关系。“约束”一般为组件连接时的条件。
Perry和Wolf的定义
Perry和Wolf提出:软件架构是一组具有特定形式的架构元素,这些元素分为三类:负责完成数据加工的处理元素(Processing Elements)、作为被加工信息的数据元素(Data Elements)及用于把架构的不同部分组合在一起的连接元素(Connecting Elements)。
Boehm的定义
Barry Boehm和他的学生提出:软件架构包括系统组件、连接件和约束的集合,反应不同涉众需求的集合,以及原理(Rationale)的集合。其中的原理,用于说明由组件、连接件和约束所定义的系统在实现时,是如何满足不同涉众需求的。
决策派
Woods的观点
Eoin Woods是这样认为的:软件架构是一系列设计决策,如果作了不正确的决策,你的项目可能最终会被取消(Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled.)
Booch、Rumbaugh和Jacobson的定义(RUP)
架构是一系列重要决策的集合,这些决策与以下内容有关:软件的组织,构成系统的结构元素及其接口的选择,这些元素在相互协作中明确表现出的行为,这些结构元素和行为元素进一步组合所构成的更大规模的子系统,以及指导这一组织——包括这些元素及其接口、它们的协作和它们的组合——架构风格。
总结
架构首先是对系统的抽象
它是一个软件系统从整体到部分的最高层次的划分。
核心即软件系统的结构、行为、属性的高级抽象,基本要素包括组件、连接件及其约束(连接语义)等各种粒度的计算单元及其交互、任务流,同时还要关注与外界的交互。
建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。
不同的视角、不同的侧重点。
软件架构风格
什么是软件架构风格
软件架构风格就是指软件架构的模式。
什么是模式
模式是特定环境(上下文)出现的重复问题的解决方案。
因此软件架构风格是描述某一特定应用领域中系统架构的惯用模式。软件架构定义了特定领域的计算模式,反映了领域中众多系统所共有的结构和语义特性,定义了一组指导构建系统的规则。
软件架构风格
分层系统(OSI模型、TCP协议栈)
C2风格
客户/服务器风格(C/S风格)
浏览器/服务器(B/S风格)
公共对象请求代理构架(CORBA)
WEB SERVICE 风格
SOA 面向服务架构
其它风格
MVS、虚拟机、管道过滤器、数据流、仓库等其它风格。
分层系统
分层设计的要点
1
您可能关注的文档
最近下载
- 车位所有权人许可建设充电桩证明.pdf VIP
- 红辽卷烟公司品牌竞争力分析结论与参考文献.docx VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人笔试备考试题及答案解析.docx VIP
- 【泛微客户期刊】2023年36期:某医药集团费控管理项目案例分享.pptx VIP
- 区域土地利用土地覆盖遥感调查.pdf VIP
- 泛微软件集团管控解决方案文档资料.pptx VIP
- 廉租房、公租房维修项目方案.pdf VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人笔试备考题库及答案解析.docx VIP
- 农业产业化发展规划-特色农业发展规划.doc VIP
- 采购与供应商控制程序(ISO9001 IATF16949).pdf VIP
文档评论(0)