产品经理与架构师的基本思维框架

产品经理与架构师的最关键的素质

产品经理和架构师如何开始具备基本的思路?关键就是:要理解眼睛观察到的东西都长什么样

平时使用应用程序时,就要注意观察这个应用程序长成什么样,不要只是盲目使用。

人思考容易想歪歪,就是因为总想发明以前没有的东西。
人能做的东西,都是以前已有的,是在之前的基础上改进出来的。

产品经理和架构师怎么才能知道自己要做的新产品要长成什么样?就是回归到最基本的观察点,看清楚我们日常所用的东西长什么样,具有哪些最基本的特征。

我们最常见的应用程序,最基本的特征就是:

  • 一个数据表格
  • 表格的每一行有几个操作的按钮
  • 页面上会有新增按钮和搜索框

看多了以后,就会发现所有东西都长得差不多。

要学会思考,先从“抄作业”开始,换句话说,就是要从已有的系统开始分析、学习。

作为产品经理和架构师,最重要的素质就是要看得多,见多识广。没见过的东西,就不要干了。如果看过的东西很少,那就是见识短浅。

常见的应用种类

第一类应用:一个表的CRUD

最常见的应用,就是一个数据表的CRUD操作。

这一个表的CRUD操作,基本就可以用一个页面来解决。

应用的基本架构,就是:Table and Page。也就是页面与数据表格之间进行通讯。

第二类应用:三个表的CRUD

稍微复杂一些的应用:三个表的CRUD

三个表包括:两个单独的数据表,与它们之间的关联表。例如:学生与班级,以及记录哪个学生在哪个班的关联表。

三个表的CRUD操作,包括这些页面:

  • 两个表各自的增删改查页面
  • 关联表的两个增删改查页面

例如:学生与班级各自的增删改查页面,以及按照班级查找该班级的学生,或者按照学生查找该学生所在的班级。

要抓住事物的本质,应用程序千变万化,但这两类应用,是最常见、最基本的类型。

我们可以使用江湖脚手架的jianghu-init命令,来直接生成这两类应用的数据库和页面。

一旦你能理解这两类应用,设计产品就开始有章法了。

第三类应用:两个表的CRUD

两个表的增删改查适用于一对多的数据关系,也就是把两张表的关联表保存在其中一个表内部。
两个表的CRUD是三个表的CRUD的一种变化形式。

例如:如果一个学生只可能属于一个班级,那可以把班级的ID直接保存在学生表里。

第四类应用:报表

报表不是解决数据录入的问题,而是解决数据的统计和分析的问题。
例如:对照账单和收费,找出交钱和没有交钱的学生。

报表使用的方法:SQL查询,JS计算,页面只是用来显示查询和计算结果,不是录入数据的。

架构师必须去思考的问题

开始设计一个产品时,架构师要去思考三个基本问题:

  1. 页面长什么样?
  2. 数据表长什么样
  3. 算法长什么样

能把这三个问题回答清楚,就是架构师了。

最后还剩下一个问题:权限。谁能干什么、看到什么。这是架构师要考虑的最后一个问题。

有了江湖JS,这些问题就迎刃而解了。你不需要会编程,但是你得理解你的应用的本质:是一个表的CRUD,还是三个表、两个表,还是个报表。绝大多数的应用,都属于这个范畴。

几个基本常识:

做应用的几个基本常识:

  • 鉴权功能一定要有。但是江湖JS把鉴权的代码给简化了,你只需要在数据库里做好配置即可。
  • 数据备份:这不是架构师要管的,这是运维的工作职责。架构师不用管如何备份,只要知道有这回事就可以。
  • 日常使用中如何创建与删除用户,这不是系统架构师要解决的问题。

以上都不是架构师工作的重点。提这几件事,只是为了避免架构师把不相干的问题混到一起思考。

接下来的课程内容

接下来,我们会一个案例一个案例的分析、设计架构。