四川大学软件架构复习_第1页
四川大学软件架构复习_第2页
四川大学软件架构复习_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四川大学软件架构重点概念(考试重点在第 4,第 5章,没来的及复习的同学可以尽量背课文的黑体字就ok)第一章:架构商业周期1.Software Structure( 软件架构 ):一个程序和计算系统的架构是这个系统的结构, 它包括了软件元素以及元素的外 部可见属性和它们之间的关系。2. Architecture Business Cycle( ABC):架构商业周期:软件架构是技术、商业和社会的影响的结果。它的存在反过来又影响技术、商 业和社会环境,这种环境还会继续影响将来的架构。我们将这种从环境到架构,然 后又从架构到环境的影响周期称为架构商业周期。3.Stakeholder 涉众是一些对软

2、件系统的构建感兴趣的人和组织,比如:消费者,最终用户,开发 者,项目经理,维护者,甚至是市场营销人员。第二章:什么是软件架构1. Architecture Pattern:架构模型:一个架构模型是元素和相关类型以及一系列关于怎么使用这些元素的限制的描述。2. Reference Model :参考模块:一个参考模块是根据各部件之间的数据流向的功能分解。3. Reference Architecture参考架构: 一个参考架构是映射到软件元素(它们相互协作共同实现参考模型中定义的功 能)及元素之间数据流上的参考模型。4. View视图是构架元素的内聚集的表示,由系统涉众编写和阅读。5.Struc

3、ture结构是元素本身的集合,它们存在于软件和硬件中。 为什么软件架构是重要的(软件架构的重要性)?1. 架构是涉众者进行交流的手段2. 架构是早期决策的体现(1)架构定义了关于实现的约束(2)架构决定了开发组织的组织结构(3)架构支持和阻碍系统质量属性的实现。(4)通过研究系统构架来研究系统质量(5)构架使推理判断和控制更改变得简单(6)构架有助于循序渐进的原型设计(7)可以通过构架进行更加准确的成本和进度评估3. 架构是可传递,可重用的模型(1)软件唱片线共享共同的构架(2)系统可以使用大型的,由其他组织开发的元素(3)少就是多:限制选择范围是值得的4)构架是基于模块开发成为可能(5)构架

4、可以作为培训的基础构架有哪几种结构?三种,一、模块结构 二、组件 - 连接器结构 三、分配结构 基于模块的结构包括哪些内容1、分解 2 、使用 3 、分层 4 、类或泛化 组件连接器的就够包括哪些内容: 并发,共享数据或存储库,客户机 - 服务端 分配模块包括哪些结构1、部署 2 、实现 3 、工作分配 第三章: A-7E案例分析1. 需求和质量2.A-7E 航空电子系统的架构 分解模块结构:硬件隐藏模块 行为隐藏模块 软件决策模块使用模块结构:使用关系: 如果过程 A的运行必须以过程 B的正确运行为前提, 我们就说过程 A使用过 程 B。进程组建和连接器结构:第四章:理解质量属性1.Func

5、tionality : 功能性:功能性是指系统能够完成所期望工作的能力。2. 没有一个质量属性是完全依赖于设计的3. 在复杂的系统中,决不可能一孤立的方式实现质量属性。任何一个质量属性的实 现都会对其他质量属性带来积极和消极的影响。功能性和结构的关系: 功能性可能通过大量可能结构的使用来获得 功能性很大程度上依赖于结构 当其他质量属性很重要的时候,软件构架会限制对结构的功能分配质量属性场景由哪六部分构成1、刺激源 2 、刺激 3 、环境 4 、制品 5 、响应 6 、响应度量 列出质量属性可用性 可修改性 性能 安全性 可测试性 易用性可用性场景刺激源:系统内部或外部 刺激:疏忽、崩溃、时间、

6、响应 制品:通信通道、持久存储器、进程 环境:正常模式,降级模式 响应:系统应该检测部件,并作出如下一个或多个活动:将其记录下来通知适当的各方,包括用户和其他系统 根据已定义的规则,禁止导致错误的事件源在一段预先指定的时间内不可用, 其中时间间隔取决于系统关键程度继续在正常 或降级模式下运行。响应度量:系统必须可用的时间间隔可用时间系统可以在降级模式下运行的时间间隔修复时间可修改性场景:刺激源(由谁来进行变更) :开发人员、系统管理员或最终用户 刺激(要进行的改变) :增加、删除、修改现有的功能制品(可修改什么) :系统用户界面、平台、环境、与目标系统交互的系统 环境(何时进行变更以及由谁进行

7、变更) :在运行时,构建时,编译时,设计时 响应:查找架构中需要修改的位置,进行修改且不会影响其他功能,对所做的修改 进行测试,部署所做的修改 响应度量:根据所影响的元素数量,度量成本,努力,资金,该修改对其他功能或 质量属性所造成的影响性能场景:刺激源:系统内部和外部刺激(事件到达) :定期时间到达,随机事件到达,偶然事件到达 制品:系统环境(系统处于的各种模式) :正常模式,超载模式 响应:处理刺激,改变服务级别 响应度量:等待时间,期限,吞吐量,抖动,缺失率,数据丢失 安全性场景:刺激源:正确识别,非正确识别或未知的个人和系统它来自内部 / 外部;经过授权 / 未经过授权,它访问了有限的

8、资源或大量资源 刺激:试图显示、修改、删除数据,访问系统服务,减低系统服务的可用性 制品:系统服务,系统中的数据 环境:在线或离线、联网或断网,连接有防火墙或直接连接到网络上 响应:对用户进行身份验证,阻止或允许用户对数据或服务的访问,审核踪迹(恢 复)响应度量(用成功的概率来表示) :避开安全防范所需要的时间 / 努力/资源,确定攻 击、访问、修改数据或服务的可能性,在拒绝服务的情况下任然能够获得服务的百 分比;恢复数据、服务;可测试性场景:刺激源:单元测试人员,集成测试人员,系统个测试人员,或客户执行 刺激:完成的设计,构架,分析,类和子系统集成,所交付的系统 制品:设计,代码段,完整的应

9、用环境:设计时,开发时,编译时,部署时 响应:可以控制系统执行所期望的测试 响应度量:已执行的可执行语句的百分比,如果存在缺陷出现故障的概率,执行测 试的时间,测试中最长依赖链的长度,准备测试环境的时间易用性场景:刺激源:最终用户永远是刺激源刺激:最终用户想要有效地使用系统,学习使用系统,把错误的影响降到最低,适 配系统或对系统感到满意。制品:系统环境:系统运行时或配置时 响应:系统为用户提供需要的特性,或预计用户的需要:上下文相关的帮助系统, 导航,撤销、取消操作,从系统故障中恢复,国际化,定制能力 响应度量:任务时间,错误数量,用户满意度商业质量属性:上市时间,成本和收益,所希望的系统生命

10、期的长短,目标市场(通用市场还是专 用市场),推出计划,与老系统的集成。构架的质量属性:概念完整性,正确性和完整性,可构建性 第五章:实现质量属性1. Tactic 战术:战术就是影响质量属性响应控制的决策,我们把战术的集合称为 构架策略 " 。1. 主要用于可用性的战术有哪些: 错误检测:命令 / 响应( ping/echo ) 心跳( dead man计时器) 异常 (命令 / 响应 和心跳主要在不同的进程中操作,异常在同一个进程中操作。异常处理通常将错误 在语义上转换为可以被处理的形式)错误恢复:表决 主动冗余(热启动) 被动冗余(暖启动 / 双冗余 / 三冗余) 备件 sha

11、dow操作 状态再同步 检查点 / 回滚错误预防 : 从服务中删除事务 进程监视器2. 主要用于可修改性的战术有哪些:局部化修改:语义一致性预期期望的变更 泛化模块 限制可能的选择 抽象通用服务防止连锁反应:隐藏信息维持现有的接口(添加接口 添加适配器 提供一个占位程序 A) 限制通信路径使用仲裁者推迟绑定时间:运行时注册配置文件 多态 组件更换 遵守已定义的协议3. 模块之间的依赖性有哪几种:8种,语法 语义 顺序 A 的一个接口的身份 A 的位置 (运行时 ) A 提供的服务 / 数据的质量 A 的存在 A 的资源行为4. 主要用于性能的战术有哪些:资源需求:提高计算效率 减少计算的开销

12、减少事件率 控制采样频率 资源管理:引入并发 维持多个副本 增加可用资源 资源仲裁:调度策略(先进 / 先出 固定优先级 动态优先级 静态调度)5. 主要用于安全性的战术有哪些: 抵抗攻击:身份验证 用户授权 数据加密 数据完整性 限制暴露 限制访问 检测攻击:入侵检测 从攻击中恢复:冗余(恢复) 审计追踪(识别)6. 可测试性主要有哪些战术:管理输入输出:记录 /回收 将接口与实现分离 特化访问路线 / 接口 内部监视:内置监视器7. 主要用于易用性的战术有哪些:分离用户接口支持用户主动:取消 撤销 聚合用户模型:用户模型 系统模型 任务模型8. 战术与构建模式的关系:战术用于响应某个特定的

13、系统质量属性;构架模式是将战术以某种方式进行打 包,以一个战术的集合来支持某种构架。比如,一个系统支持可用性和性能,那么 我们可能会考虑冗余战术,同步战术,并发战术等等,这些特定于一类系统的战术 集合我们称之为构架模式。第七章 设计构架构架驱动因素:功能、质量和商业需求的某个集合塑造了构架,我们把这种塑造成 为架构驱动因素(属性驱动设计) ADD: Add把一组质量属性场景作为输入,并使用对质量属性和构 架之间关系的了解, 对构架进行设计。 ADD设计的结果是构架的模块视图和其他视图 的几个最初的层次。什么时候开始构架设计: 在完成了初步需求分析后就可以开始构架设计了。ADD的方法步骤:1、选

14、择要分解的模块2、根据下面的步骤对模块进行求精:a 从具体的质量场景和功能需求中选择构架驱动因素,进一步确定出对该分解很重 要的事物。b 选择满足构架驱动因素的构架模式。根据可以用来实现驱动因素的战术创建(选 择)模式。确定实现这些战术所需要的子模块。c 实例化模块并根据用例分配功能,使用多个视图进行表示。d 定义子模块接口。该分解提供了模块和对模块交互类型的限制。对于每个模块, 将该信息编写在接口文档中。e 验证用例和质量场景并对其进行求精,是它们成为子模块的限制3、对需要进一步分解的每一个模块重复上述步骤。在工作分配中,分配任务的原则:1、开发小组内部是高内聚,外部是松耦合2、根据开发小组

15、特产进行分配 3、尽量与模块的分界原则一致第九章:构架编档1、构架编档( Documenting Software Architecture ):就是将相关视图编写成文档, 然后对其添加适合多个视图的文件。它是对构架的描述,构架编存在,构架编档不 一定存在。2、视图( View):就是构架元素的内聚集合的表示,由系统涉众编写和阅读3、接口 : 是两个独立的实体相遇并进行交互的边界。4、文档的不同涉众具有不同的需要, 编写技术文档最重要的原则就是从读者的角度 进行编写。5、不同的视图支持不同的目标和用途, 这是我们为什么不采用特定的视图或视图集 的原因。1、选择视图的三个步骤:( 1)产生一个候

16、选视图列表(2)组合视图(3)划分优先等级2、视图编档包括哪 7个部分内容:( 1)展示视图中元素与元素之间关系的主要表示。( 2)元素目录中至少详述了主要表示中所描述的元素和他们之间的关系,大概还有其它内容。(3)展示了视图中描述的系统如何与其环境相关的上下文图。( 4)可变性指南展示了如何应用视图中所展示的构架的一部分的任何变化点。(5)解释了视图中所反映的设计合理性的构架背景。(6)视图中所用的术语表。7)其它信息3、接口编档的模板( 1)接口身份(2)所提供的资源(资源语法,资源语义,资源使用的限制)(3)数据类型定义(4)异常定义( 5)该接口提供的可变性( 6)接口的质量属性特征(

17、7)元素需求(8)基本原理和设计问题( 9)使用指南4、跨视图文档组织的 3个部分:( 1)如何安排和组织构架的文档视图目录视图模板( 2)构架是什么系统概述视图之间的映射元素列表项目词汇( 3)为什么构架会是这样的第十一章: ATAM构架评估方法ATA(M构架权衡分析方法) :这种方法不仅可以揭示出构架满足特定质量目标的情况,而且可以是我们更清楚的认识到质量目标直接之间的联系,即如何全很多个质量目标。敏感点:与某个质量属性相关的构架决策 权衡点:与多个质量属性相关的构架决策 有风险决策:根据所陈述的质量属性需求,可能导致不期望结果的构架决策。 无风险决策:根据分析被认为是安全的构架决策一、评

18、估人员由哪些组成:1、评估小组2、项目决策者3、构架涉众二、ATAM构架评估的结果有哪些?1、一个简洁的构架表述2、表述清楚的业务目标3、用场景集合捕获的质量属性4、所确定的敏感点和权衡点的集合5、有风险决策和无风险决策6、风险主题的集合三、ATAM构架评估的过程:4阶段:第一阶段:活动:关系和准备参与人员:评估小组负责人和组要的项目决策者 一般需要的时间:大约需要几周时间第二阶段:活动:部分评估 参与人员:评估小组和决策者 时间: 1周,然后中断 2-3 周 第三阶段: 活动:全体评估 参与人员:评估小组、项目决策者以及涉众 时间: 2天 第四阶段: 活动:后续工作 参与人员:评估小组和客户 时间: 1周四、ATAM评估的具体步骤有哪些 ?(1) ATAM 方法的表述(2) 商业动机的表述(3) 架构的表述(4) 对构架方法进行分类(5) 生成质量属性效用树(6) 分析构架方法(7) 集体讨论,并确定场景的优先级(8) 分析构架方法(9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论