软件构架实践_第二版阅读笔记3

Posted on 2020-04-15 00:31  咳咳你  阅读(118)  评论(0编辑  收藏  举报

  设计架构:

   生命期中的构架也就是把构架作为软件开发过程基础的任何组织都需要理解构架在其生命期中的位置。把构架放在一个适当位置的模型是演变交付生命期模型。在生命期模型中,构架设计就是从初步的需求分析开始逐步进行迭代。几乎在我们遇到的所有成功的面向对象系统中都具有但失败的系统中缺少的两个特性是:存在一个强大的构架构想,应用管理良好的迭代式增量开发周期。功能、质量和商业需求的某个集合“塑造”了构架。我们把这些塑造需求称为“构架驱动因素”

  构架设计必须按需求分析进行,但不需要在需求分析完成后在开始构架设计。实际上,在确定了关键的构架驱动因素后,就可以开始构架设计了。当设计了构架的足够多的部分后,就可以开始开发骨架系统了。该骨架系统在上面进行迭代开发(以及其在任何一个点交付的能力)的框架。组织结构对构架产生影响。

属性驱动的设计(ADD)是一个用于设计构架以满足质量需求和功能需求的方法。ADD把一组质量属性场景作为输入,并使用对质量属性实现和构架之间的关系的了解,对构架进行设计。

ADD步骤:

(1)       选择要分解的模块。

(2)       根据这些步骤对模块进行求精。

(3)       对需要进一步分解的每个模块重复上述步骤。
  在这里需要提到的是组织和构架的结构,软件构架是要完成各种相互矛盾的需求,这就要考虑到系统构建的各种因素,分析好各种组织之间与系统的联系,才能更好的实现质量属性属性

对构架进行了充分设计,并且团队为开始构建构架做好准备后,就可以构造骨架系统。在这个过程中,最好首先对骨架子系统中的接口进行协商,然后再运用骨架系统来提高开发效率。很重要的一点还有构架设计必须按需求分析进行,但是并不需要在需求分析完成后再开始构架设计。

  构架编档:

 构架编档是创建构架的最有价值的一步。即使构架非常完美,但如果你对系统的理解和设计没有人懂,它也没有什么用处。系统如果有一个非常强大的构架,那么,就必须用足够的细节明确地描述它,并以一种其他人可以快速找到所需要信息的方式对其进行组织。这也是老师为什么说在真实职场上,写报告占了工作时间的%70.报告中的信息传导使整个大的团队理解到系统的核心。其中最常用的方法就是UML表示法
 

  这两步是我认为在软件架构过程中最为重要的两步,当架构师经过准备后的初步尝试并设计文档下放,充分的也会大大降低系统的风险系数