读《一线架构师实践指南》笔记(-)

   《一线架构师实践指南》作者:温昱

    本书讲述的架构设计与传统软件工程的架构设计有一定的区别,也有很多优点,对架构设计的定位有了一定的变化,将架构设计贯穿整个产品开发过程。
    传统的架构设计很片面,评定需求,根据需求确定物理架构,技术架构则到此为止了,下面的内容则是开发人员的事了。
    而本书讲述的架构设计在整个产品开发过程中都有角色,将架构设计分成了3个阶段,
    需求阶段做前置架构设计(Pre-architecture),主要是针对需求做一些架构预言,需要提炼的内容主要有:确定关键需求,关键功能,关键质量
    不同的需求影响架构的不同原理,利用admems矩阵方法(需求层次-需求方面矩阵)来提取上面所提的内容;
    三因素:功能,质量,约束;
    四步法:需求结构化,分析约束影响,确定关键质量,确定关键功能;
    通过二维需求观从业务级需求,用户级需求,开发级需求多视图来分析上面三个因素;
    第二阶段就是根据关键需求,来完成概念架构的设计,概念架构的职责用于界定系统的高层组件,确定高层组件之间的关系,对系统进行适当的分解,但不关注细节。此架构面对管理人员,市场人员,用户,并不能做为开发人员架构,可用于投标或售前。
    重大的需求(包含功能,质量与约束)塑造概念架构,
    在做概念架构设计时,应该分三个步骤:
    首先是初步设计,基于关键功能,利用鲁棒图,以发现职责为目的进行初步设计,考虑职责之间的关系;
     然后对系统进行高层分割,以利于进一步的分析设计;
    第三就是要考虑非功能需求,具体的方法可以采用目标-场景-决策表。

    在初步设计中,注意不要关注细节,不要过分关注UI,采取增量建模的方式。

    细化架构从多视图,多方位的去开展工作,
    运行架构,逻辑架构,物理架构,开发架构,数据架构,我们很多时候只关注于后面三项。
    主要的工作有进程、线程相关设计,接口的定义,子系统的划分,服务器的选型,结构化模块设计,考虑逻辑层,考虑物理层,源程序目录结构定义,数据分布与数据库设计,文件存储格式定义,如果针对嵌入式系统,还得进行flash存储结构设计;
   
    多视图方法有多种,如RUP 4+1视图, SEI3视图,5视图
   

   


  
  
  

猜你喜欢

转载自szgaea.iteye.com/blog/848886