软件体系结构知识点总结 (4)

构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。

异质的体系结构

(Heterogeneous Architectures)

组合方式

聚合方式

组件的体系结构。例如:编译器中的文法分析组件

联合放式

某一个组件或连接件成为两种以上体系机构联系的纽带

可能是聚合方式的展开

例如:视频点播系统

混合方式

把多种体系结构的优点,混合使用。主要体现在连接件的混合使用。

例如:事件驱动的CASE系统。

B/S与C/S混合软件体系结构

内外有别模型

查改有别模型

对等网(P2P)

特点:

整体稳定,不会因为一点的错误影响全局

资源共享,任务分摊

我为人人,人人为我

每点还要承担一定量的中转负荷

对网络带宽占用极大

内容很难有效控制

质量属性:

质量属性场景:

刺激源

刺激

制品

环境

响应

响应量度

系统质量属性:U-STAMP

可用性 availability

可修改性 modifiability

性能 performance

安全性 security

可测试性 testability

易用性 usability

设计体系结构: Tactics:

满足特定质量属性的具体设计手段

Availability tactics:

尽可能降低“故障”所造成的影响

故障检测

故障恢复:备份的方法

错误避免:

软件体系结构知识点总结

modifiability tactics:

关注的是:

时间和花费

局部化修改

保持语义的一致性

预期期望的变更

一般化模块

限制可能的选项

阻止连锁反应

隐藏信息

维护已存在的接口

限制通信路径

使用中间人

location of A

每次搬家把新地址告诉父母,朋友联系不到你,也可以通过父母知道你的住址

existence of A

A的资源的行为/A的资源的控制

由资源管理器来调配资源

延迟绑定时间

运行时注册

发布/订阅

配置文件

多态

构件更换

定义协议

软件体系结构知识点总结

performance tactics:

资源申请:干的事少一点

提高计算的效率

降低计算的开支

管理事件的速率

控制采样的频率

控制执行的时间

控制队列的等待人数的多少

资源管理:牛一点

引入并发机制

提高可用的资源

资源仲裁:获取资源快一点

先进/先出

固定优先级调度

动态优先级调度

静态调度(顺序不能改变)

软件体系结构知识点总结

security tactics:

关注点:合法用户可以用,非法用户不能使用

抵抗攻击

认证用户

对用户进行授权

维护数据的私密性

维护完整性

限制曝光

限制访问

检测攻击

存储状态

攻击者的识别

从攻击中恢复

审查跟踪

软件体系结构知识点总结

testability tactics:

关注点:测试成本,是不是容易在测试的时候,发现错误

黑盒

记录/重放

实现与接口分离

特殊化访问线路/接口

白盒

设置断点

软件体系结构知识点总结

usability tactics:

运行时

维护系统的模型

维护用户模型

维护任务的模型

设计时

用户界面与其他部分分开

软件体系结构知识点总结

tactics summary:

从涉众处了解要达到的质量属性要求(如教务系统和银行关于安全的设置的不同)

pattern/style和tatics分别处理高层和具体细节

软件体系结构的评估

ATAM (Architecture Trade-off Analysis Method)架构权衡分析法

目的:

风险:可能在将来损害某些质量属性的方案

非风险:可以提高质量、帮助实现目标的决策

关键点/敏感点(sensitivity points):方案中一个小小的变化,就可能对某些质量属性有很大的影响

权衡点(tradeoffs):影响一个以上质量的决策

步骤:

phase 0: 合伙和准备 partnership and prepartion

phase 1:初始化评估 Initial Evaluation

phase 2:比较评估 complete evaluation

phase 3:后续 follow-up

最重要的是画一个效用树:

从两边往中间画

场景:

用例场景:系统的预期用途

成长场景:系统的预期变化

探索场景:系统为预料到的压力

软件体系结构的建模和文档 基于体系结构的开发的过程:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpfxw.html