需求框架分析

107 阅读5分钟

微信技术群:Day9884125

一 架构与系统

递进关系
架构核心:结构是一种思想,它是为了降低系统复杂度

image.png

二 概念/功能的区别

2.1 概念

   概念: 是一种用于描述事物、事件、情况或现象的基本思想或理论。它是对客观事物或现象的抽象和概括,可以帮助我们更好的理解和记忆复杂的信息。
   举例: 汽车、鸟

2.2 功能

   功能: 是指一个事物或系统所能完成的任务或效用
   举例: 汽车可以运输货物、鸟会飞的生物

2.3 区别

   概念是定义,功能是实现。概念是目标,功能是实现目标的方法

2.4 商旅平台的概念和功能是什么?

   概念: 为企业和个人提供数字化的一站式旅行服务平台
   功能: 机票预订、酒店预订、旅游服务、火车票预订、旅游服务、打车服务、美食推荐、外卖服务、行程管理

2.5 功能分类

2.5.1 显性功能

   显性功能: 暴露出来的比较明显的功能,用户可以感知到的
   例如: 机票、酒店、火车、旅行、打车、美食、外卖、搜索、支付、退改、查看、精选、定制、咨询、投诉、建议
   当我们识别不出这些功能的时候,可以问谁?问产品、业务、架构。问了这些人谁得出的东西更细化,问方向性的问题,这时候我们更建议问产品。

2.5.2 隐性功能

   隐性功能: 虽然没有提到,但是在整个系统中又要用到,有哪些呢?
   例如: 注册、登录、联登、分析、结算、预管、推送
   解决功能要解决用户能感知到的功能,其他的可以后边慢慢来

2.5.3 什么是分类

   含义: 是根据对象的某种特征或属性将其划分到不同的类别或范畴
   主观的判断总结: 这些都是我们已经知道的,呈现给我们的结果分类

2.5.3.1 分类的标准有哪些

  • 特征相似性
       根据对象的特征是否相似来进行分类
  • 功能相似性
       根据对象的功能是否相似来进行分类
  • 目的和用途
       根据对象的目的和用途来进行分类
  • 时空分布法
       根据对象在时空上的分布来进行分类

前提是有特征的:
   机票:价格、航班时间、航空公司、座位等级、折扣、旅行日期、出发地和目的地、行李限制等。
   酒店:价格、地理位置、星级、客房类型、设施、入住和退房时间、酒店客服等
   火车:价格、出发和到达时间、车次、座位类型、车厢等级、行程时间、出发地和目的地等
   美食:菜系、价格、口味、食材、餐厅环境、服务等
   特征分类就是建模的过程,自己习惯通过什么进行分类,觉得分出来之后对于目前的架构和未来的维护比较好。就可以这样分,分出来的东西要往未来看,不能凭感觉,凭感觉做出来的事很容易走偏。

2.5.3.2 划分标准总结

   按照大家的理解,很多时候理解东西的详细,完全自己对东西的看法和理解,看的东西多了,就会有自己的理解。一个人的认知是有局限的,可以找一些人讨论,一些专业的人。
   特征相似 在很大程度上,我们会找关键字一样的内容。在很多时候我们需要常识去做判断,防止常识出错,我们需要大量的学习和总结归纳验证
   作为架构师,划分的时候要有自己的标准,用准确有力量的词语去表达,而不是觉得含糊之类的描述。

2.5.3.3 功能分类的目的

   表达将来一些东西自己的边界,将来来一个需求,需要识别特征归属的边界,为后面领域划分做准备。
   如果有一些功能,确实干的一些事情差不多,这时我们就可以按照目的和用途再一次进行收缩,向上总结。

三 用子域进行战略设计

   分类之后如何抽象

3.1 抽象的产物

3.1.1 抽象产物的方法

  • 抽象出来的东西,范围够不够宽,是不是等同归了一个大类
  • 归类出来的大类,下面的小类,是不是可以理解为一个个子问题
  • 子问题是否可以合并,还是说不能合并

3.1.2 如何拆分子类、子域

3.1.3 用子域如何进行战略设计

子域是一个"重要部分"

image.png

四 绘制三种架构图

4.1 业务架构图

   站在业务视角俯瞰业务群体结构
   业务架构要大致让人看懂你系统的流程,不会体现技术的内容。让业务和产品理解公司要干的事情。 image.png

4.2 微服务架构图

   业务群体结构落地后的系统规划
   是给技术看的,也可能会有产品看,更好的和技术沟通 image.png

4.3 数据流规划图

   主体数据的走向与系统之间的关系
   给一些不懂功能的人看的, image.png

五 架构师思维模型

5.1 思维三部曲

  1. 概念、功能
  2. 特征分类:特征相似性、功能相似性、目的和用途、时空分步法
  3. 类比抽象

5.2 划分子域

  1. 赋予子域功能边界
  2. 根据子域划分系统
  3. 绘出三种架构图

六 作业

6.1 动手题

   试着按照需求分析思路理解和分析自己的业务,输出架构图文档

6.2 思考题

   试着思考自己所负责的系统,在整个系统中,解决了什么问题,边界职责是什么