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

    Conceptual Architecture阶段通过小张还有老王加班的故事向我们介绍了概念架构的内容。小张对架构的理解可以概括为一个公式:架构=模块+接口。但是在小张的实际工作中却发现有点乱,“可执行单元”都没搞清楚,就考虑“模块+接口”一级的设计,的确有些武断了。

    通过对一篇文章的了解,概念性架构就是对系统设计的最初构想,就是把最关键的设计要素和交互的机制确定下来,然后考虑具体技术的运用,设计出实际架构。概念性架构应该抓大局、不拘小节。小张归纳出五大元素1.系统涉及不同使用者。2.分工式的特点明显。3.集成的特点明显。4.较高的持续可用性要求。5.降低HIS系统差异带来的影响。

    老王的问题在于当前的架构描述根本没有体现产品特点,无法说服客户,只有满足客户需求的产品才是好的产品,因此,抓住客户关心的价值和担心的问题成立老王重点关注的内容。

    最终,小张和老王都如愿以偿,完成了自己的任务。总结一下,在概念架构设计中,不关注明确的接口定义;之后才是“模块+接口”一级的设计。对大型系统而言,这一点恰恰是必需的。概念架构是售前的必修课。所谓金牌售前,必备的能力之一是:能否清晰地讲解概念架构,并借此说明“客户关心的价值如何实现,担心的问题如何解决”。

    概念架构满足“架构=组件+交互”的基本定义,只不过概念架构仅关注高层组件,概念架构对高层组件的“职责”进行了笼统的界定,概念架构不应涉及接口细节。

    大而言之,概念架构设计分为3个步骤:

    1. 初步设计。基于关键功能,借助鲁棒图进行以发现职责为目的的初步设计。这-一步并不总是需要,但对于架构师而言,是“新系统"就必须重视这一-步。

    2.高层分割。对系统这个黑盒子进行高层切分,例如切分复杂系统为多个二级系统,或者直接切分系统为具体子系统。

    3.考虑非功能需求。概念架构≠理想化架构,所以不仅要考虑功能,也必须考虑非功能。具体方法是采用ADMEMS推荐目标-场景决策表。

     “高层分割”的两种实践套路切系统为系统,切系统为子系统。

    非功能需求往往非常笼统,而场景是一种明确性很强的技术。目标-场景-决策表可以让架构师理性地应对非功能需求。

  • 相关阅读:
    MySQL的视图和存储
    MySQL的练习题及答案
    C#调用SQL Server参数过程传参
    C#显示SQL语句格式
    在SQL2008R2查询分析器出错(在执行批处理时出现错误。错误消息为: 目录名称无效。)
    公用表表达式(CTE)引发的改变执行顺序同WHERE条件顺序引发的bug
    【同步复制常见错误处理3】找不到存储的过程 sp_MSins_tablename
    SQL2012数据库加密方法
    【整理贴】DBA-常用到的动态视图分析语句
    【同步复制常见错误处理2】同步复制数据引起的同步失败错误
  • 原文地址:https://www.cnblogs.com/lixv2018/p/13110428.html
Copyright © 2011-2022 走看看