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


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

    什么是Pre-architecture

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

    实际意义

    需求理解的大局观

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

    降低架构失败风险

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

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

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

    实践要领

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

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

    二维需求观与ADMEMS矩阵方法

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

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

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

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

    需求如何结构化

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

    • 2.ADMEMS矩阵

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

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

  • 相关阅读:
    相册 垂直居中; 水平居中. 1)宽度 大于高度, 宽度 100%; 2) 高度 大于 宽度 , 高度100%; getimagesize , list --->line-height , text-align, vertical-align, max-height, max-width
    PHPexcel 导入import 数据到 mysql: mysql 查询数据是否存在, 如果存在返回id, 不存在, 插入返回id. 2) mysql_query , mysql_connect, mysql_select_db, mysql_error, mysql_num_rows,mysql_close
    css 利用border 绘制三角形. triangle
    css 1) calc() 函数的使用. 2)box-sizing:border-box
    css 实现省略号. text-overflow: ellipsis; 同时设置四个属性才可以.
    table 表头固定 thead固定. 1) 使用jquery.freezeheader.js
    MapReduce的Shuffle机制
    MapReduce的ReduceTask执行机制
    MapReduce的MapTask执行机制
    MapReduce逻辑切片规则
  • 原文地址:https://www.cnblogs.com/weixiao1717/p/14941620.html
Copyright © 2020-2023  润新知