zoukankan      html  css  js  c++  java
  • 一线架构师实践指南阅读笔记3

    本书讲述的架构设计与传统软件工程的架构设计有一定的区别,也有很多优点,对架构设计的定位有了一定的变化,将架构设计贯穿整个产品开发过程。

    传统的架构设计很片面,评定需求,根据需求确定物理架构,技术架构则到此为止了,下面的内容则是开发人员的事了。

    而本书讲述的架构设计在整个产品开发过程中都有角色,将架构设计分成了3个阶段,需求阶段做前置架构设计(Pre-architecture),主要是针对需求做一些架构预言,需要提炼的内容主要有:确定关键需求,关键功能,关键质量不同的需求影响架构的不同原理,利用admems矩阵方法(需求层次-需求方面矩阵)来提取上面所提的内容;

    三因素:功能,质量,约束;

    四步法:需求结构化,分析约束影响,确定关键质量,确定关键功能;

    通过二维需求观从业务级需求,用户级需求,开发级需求多视图来分析上面三个因素;

    第二阶段就是根据关键需求,来完成概念架构的设计,概念架构的职责用于界定系统的高层组件,确定高层组件之间的关系,对系统进行适当的分解,但不关注细节。此架构面对管理人员,市场人员,用户,并不能做为开发人员架构,可用于投标或售前。

    重大的需求(包含功能,质量与约束)塑造概念架构,

    在做概念架构设计时,应该分三个步骤:

    首先是初步设计,基于关键功能,利用鲁棒图,以发现职责为目的进行初步设计,考虑职责之间的关系;

    然后对系统进行高层分割,以利于进一步的分析设计;

    第三就是要考虑非功能需求,具体的方法可以采用目标-场景-决策表。

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

    细化架构从多视图,多方位的去开展工作,

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

    多视图方法有多种,如RUP 4+1视图, SEI3视图,5视图

  • 相关阅读:
    Opencv学习笔记(六)SURF学习笔记
    各种加解密算法比較
    DWZ使用笔记
    Android反编译-逆天的反编译
    C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
    Java 中队列的使用
    从svn下载项目后build path为灰色
    Java菜鸟学习笔记--面向对象篇(十六):Object类方法
    Java实现 蓝桥杯VIP 算法训练 矩阵乘方
    Java实现 蓝桥杯VIP 算法训练 矩阵乘方
  • 原文地址:https://www.cnblogs.com/zhoulonghai/p/13096932.html
Copyright © 2011-2022 走看看