《软件构架实践》读后感03
系统的构架是整个系统的框架,就好像是盖房子的时候我们要先搭好房子的框架结构,所以系统的软件构架是非常重要的。
我在学会了如何创建系统的软件构架的质量属性之后要学习如何设计构架。
属性驱动的设计(ADD)是用于设计构架的以满足质量需求和功能需求的方法。ADD把一组质量属性场景作为输入,并使用对质量属性实现和构架之间的关系的了解,对构架进行设计。ADD将分解过程建立在软件必须满足的质量属性之上。它是一个递归的分解过程,其中在每个阶段都选择战术和构架模式来满足一组质量属性场景,然后对功能进行分配,以实例化由该模式所提供的模块类型。
ADD的结果是构架的模式分解视图和其他视图的最初的几个层次。但是并不是视图的所有的细节都是通过ADD实现的,系统被描述为功能和功能之间交互的一组容器。由ADD得到的构架和已经为实现做好准备的构架的区别是,需要做出更详细的设计决策。
ADD的输入是一组需求,与其他设计方法一样,ADD把功能需求和限制作为输入。然而,在处理质量需求时,ADD与其他方法不同。ADD要求把质量需求表示为一组特定与系统的质量场景。
使用ADD方法设计构架时所执行的步骤:
- 选择要分解的模块;
- 选择构架驱动因素;
- 选择构架模式;
- 实例化模块并使用多个视图分配功能;
- 验证并求精用例和质量属性场景(作为对子模块的限制);
构架设计必须按需求分析进行,但不需要在需求分析完成后再开始构架设计。实际上,在确定了关键的构架驱动因素后,就可以开始构架设计了。当设计了构架的足够多的部分后,就可以开发骨架系统了。该骨架系统是在上面进行迭代开发的框架。
ADD是一种自上而下的设计过程,它使用质量属性需求来定义适当的构架模式,并使用功能需求来实例化由该模式给定的模式类型。
构架通过确定所必须的通信路径,确定了某种级别的组织结构。现有的组织结构通过为组织部门提供专门技术和既得利益,同样也对构架产生了影响。