zoukankan      html  css  js  c++  java
  • 软件架构实践阅读笔记2

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

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

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

  • 相关阅读:
    Spring的设计理念和整体架构
    垃圾收集器与内存分配策略(3)
    垃圾收集器与内存分配策略(2)
    实践一次有趣的sql优化
    PHP之static
    PHP之const
    MySQL数据库常用操作
    PHP之__aotoload()自动加载机制
    PHP之类的属性方法重写
    MYSQL工具类简单实现
  • 原文地址:https://www.cnblogs.com/jbwen/p/13229638.html
Copyright © 2011-2022 走看看