本次是阅读了《软件架构设计》中关于“概念性架构设计”的相关知识,以下是学习总结:
一、概念性架构设计大致可以分为如下三步:
第一步,鲁棒性分析。
第二步,引入架构模式。
第三步,质量属性分析。
各层之间的单向依赖又可以分为两种:严格的分层架构要求第n层只能被第n+1层调用,与此相对的是不严格的分层架构,第n层可以被位于其上层的任意一层调用。在概念性架构设计时,功能需求是鲁棒性分析最主要的输入,而质量属性需求是质量属性分析的最主要的输入。
二、属性——场景——决策
“属性——场景——决策”表方法提倡通过一组具体场景将要达到的质量属性需求目标细化,再根据这些实实在在的场景制定架构决策。“属性——场景——决策”表方法使软件架构设计的决策过程从“黑盒”变成了“灰盒”,这样做有以下好处:
1.可操作性强。
2.避免过度设计。
3.便于系统升级时参考。
一般而言,逻辑架构的设计应完成下列工作:
细化功能单元;
发现通用机制;
细化领域模型;
确定子系统接口和交互机制。
三、机制
机制(Mechanism)是模式的实例。机制必须进一步细化才能成为特定模型中的协作,因此,机制是独特上下文中重复出现的问题的特定解决方案。进程被称为“重量级控制流”,因为它既是处理机资源的分配单位,又是其他计算机资源的分配单位。线程则被称为“轻量级控制流”,它仅仅是处理机资源的分配单位。一个进程内可以包含多个线程,这些线程共享所在进程的资源。