• 《一线架构师实践指南》读后感(四)


    《一线架构师实践指南》读后感(四)

    什么是Pre-architecture

    • Pre-architecture就是架构设计的最前期阶段,其工作目标包括:理解需求、建立需求大局观、确定架构设计方向等

    实际意义

    需求理解的大局观

    • 有效处理互相矛盾的需求目标
    • 识别重大需求、特色需求、高风险需求
    • 相对短的时间内设计架构

    降低架构失败风险

    • 架构师在需求的理解、权衡、取舍和补充这些方面能力严重不足。

    尽早开始架构设计
    Pre-architecture阶段的好处:能够在需求没有“全面完成”的情况下开始架构设计。
    为了尽早开始架构设计,需要做好:让架构师参与需求分析工作;不能被动地等待完善的《软件需求规则说明书》出现的那一刻。
    只要满足下面3个条件就可以开始架构设计工作:
    1.有了明确的业务需求:必须保证甲、乙双方就建设系统的目标达成共识,《愿景文档》经过正式评审,并且明确了投资、工期标准、整合等约束条件;
    2.了解全面的用户需求:系统能帮助用户干什么、不能干什么已经非常明确。如果采用用例技术,表现为“用例图”比较完善,没明显遗漏;
    3.有了典型的行为需求;如果采用用例技术,表现为核心功能的《用例约束》已经定义;

    明确架构设计的“驱动力”
    除了需要关注《软件需求规格说明书》之外,必须关注其他很多因素,最终理性地确定真正的架构设计“驱动力”。

    实践要领

    不同需求影响架构的不同原理,才是架构设计思维的基础

    “需求决定架构”是对的,但不同需求影响架构的不同原理,才是架构设计思维的基础。
    不同需求是如何以不同原理影响架构设计:

    二维需求观与ADMEMS矩阵方法

    ADMEM方法提倡的“二维需求观

    观念是行为的向导,有怎样的观念存在,就有怎样的行为方式产生。

    关键需求决定架构,其余需求验证架构
    关键需求决定架构:功能需求做减法;质量属性需求做加饭;约束性需求做加法;

    需求结构化
    需求结构化可以将复杂的需求集合梳理得井井有条,为进一步分析不同需求之间的联系、识别遗漏的重要需求打下坚实的基础。

    需求如何结构化

    • 1.超越《软件需求规则说明书》
      需求文档往往不够全面;
      需求经常变更,仅依赖需求文档往往使架构设计工作非常被动;
      架构师通过需求结构化真正全面地“鸟瞰”需求大局,就必须超越《软件需求规则说明书》;
      能够摆脱对《软件需求规则说明书》提交时间、文档质量、内容变更的“呆板依赖”;

    • 2.ADMEMS矩阵

      业务级需求:包含客户或出资者要达到的业务目标、预期投资、工期要求,以及要符合哪些标准、对哪些遗留系统进行整合等约束条件。
      用户级需求:用户使用系统来辅助完成哪些工作?对质量有何要求?用户群及所处的使用环境方面有何特殊要求?
      开发级需求:开发人员需要实现什么?开发期间、维护期间有何质量考虑?开发团队的哪些情况会反过来影响架构?

      需求还要从下面3个方面考虑:
      功能需求:更多体现各级直接目标要求。
      质量属性:运行期质量 + 开发期质量。
      约束需求:业务环境因素 + 使用环境因素 + 构建环境因素 + 技术环境因素

  • 相关阅读:
    K8S入门学习
    CentOs7安装docker(第二篇)
    使用NFS时的一些问题
    linux的一些基本命令
    centOS7搭建NFS服务器
    ELK日志系统+x-pack安全验证
    如何在网页中用echarts图表插件做出静态呈现效果
    3.29——工作日志
    导航选中,背景变色效果
    网站滚动n个像素后,头部固定
  • 原文地址:https://www.cnblogs.com/weixiao1717/p/14941620.html
Copyright © 2020-2023  润新知