软考架构师(8)——软件架构设计

 全文链接:

逻辑视图:逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的"辅助功能模块";它们可能是逻辑层、功能模块等。

开发视图:开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。

处理视图:处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题。
物理视图:物理视图关注"目标程序及其依赖的运行库和系统软件"最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。

场景(scenarios):可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发架构时,它可以帮助设计者找到架构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。场景可以用文本表示,也可以用图形表示。

二:架构需求与软件质量属性

1:软件质量属性

一是可在运行时确定的系统系统质量属性,如性能,安全性,可用性和使用性

二是无法通过观察系统运行确定的:可更改性,可移植性,可重用性,可集成性,可测试性

三是架构直接相关的:概念完整性,正确性,完整性,可构建性。

1、可用性及其实现 
故障处置。 
1)错误检测 
日志 心跳 异常捕捉 
2)错误恢复 
冗余,备件,回滚,事务,降级 
3)错误预防 
事务等

2、可修改性及其实现 
1)将修改限制在局部 
高内聚低耦合,降低对其他模块的依赖;提高模块的通用性;限制变更范围等; 
2)防止连锁反应 
对扩展开放, 对更改关闭。 
3)推迟绑定时间 
配置文件,多态,注册

3、性能及其实现 
1)减少及控制资源使用 
2)资源管理 
引入并发,缓存,增加资源 
3)资源仲裁 
资源调度

4、安全性及其实现 
1)防御攻击 
2)检测攻击 
3)恢复

5、可测试性及其实现 

50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信