美文网首页
产品人员如何理解数据结构和接口

产品人员如何理解数据结构和接口

作者: 帅春风 | 来源:发表于2021-04-27 10:11 被阅读0次

最近一个小妹妹说去面试产品,面试官,有些问什么是数据结构,有些问接口之类的东西,一脸懵逼。找我这边倾诉,我想着其实很好理解,但是她不大理解的可能的原因,是因为,她没有学过技术,非技术科班出身,所以会被这些技术“说法”吓蒙。

其实只要说清楚了,就很好理解的,并不需要在意面试的人那一套套的专业名词,因此,我简单花了几分钟,屡了一个例子给她。现在也把这个例子记录下来,有和她有相似的理解难题的人,都可以花几分钟理解一下。

针对这两个名词的解释,我们还是从产品设计的角度切入,带入场景进行理解。

一、业务需求

假设有下面的一个小业务需求,我们需要进行产品设计:

实现对一个学校的学生,老师,和班级的管理。管理需要满足:

1.针对学生,老师,班级,可以增删改查

2.查询老师,可以看到老师教了哪些学生,以及教哪些班级

3.查询班级,可以看到班级有哪些学生

二、实体对象识别

我们定义:客观存在的事物,就是实体对象,那么学生,老师,班级,就是实体对象。

三、数据结构设计

步骤1:设计数据字典

学生:姓名、年龄、班级,举例如下:

学生的数据项及内容

班级:班级、名称,举例如下:

班级的数据项及内容

老师:姓名,教授课程,举例如下:

老师的数据项及内容

步骤2:建立数据关系

学生,老师和班级的关系

数据关系描述:

1.一个班级包含多个学生,一个学生只会在一个班级【一对多关系】

2.一个学生由多个老师教授,一个老师教授多个学生【多对多关系】

3.一个班级会有多个老师上课,一个老师会去多个班级上课【多对多关系】

(图里面的1,和n,通过上面的举例,代表的就是关系类型,如班级和学生,就是1对多的关系)

为什么第二步要定义实体对象,我们可以看到第三步是和实体对象紧密联系在一起的。设计数据结构,就是描述实体对象的数据字典,以及描述实体对象之间的关系。如果实体对象不存在,则数据结构也不会存在。

四、功能设计

老师管理包含功能如下:

【增加,删除,查看,列表查询,修改,删除,同时可看其教授的班级,班级的学生】

学生管理包含功能如下:

【增加,删除,查看,列表查询,修改,删除,同时可看其所在的班级,教他的各个学科的老师是哪些】

班级管理包含功能如下:

【查看班级的学生,以及班级各学科由哪些老师教授的】

五、接口提取

关于功能,我们可以理解成,用户需要做的每一个操作的集合。如查看某个老师教授的学生,这个操作的过程就是:

用户操作过程

在用户这个操作过程中,系统就是通过调用“查看某个老师教授的学生”接口,来提供用户最终看到的“学生集合”。

这个接口的设计,和用户操作过程是一致的,不过就是以机器能读懂的方式来写输入和输出而已。

接口实现过程

可以讲,用户的每一项业务操作,都需要调用一个或多个接口来完成。

举例列表项的删除操作,就是调用两次接口,一次删除操作接口,一次刷新列表操作接口。最终达到让用户连贯地进行删除,并使页面保持最新的状态,符合用户的操作预期过程。

六、内部接口和外部接口的定义

举例某个学校“华南可爱小学”有教务系统,学校所在教育局有县在校生管理系统。那么就有一个问题,县教育局,希望各个学校能提供学生的名单,并定时更新到在校生管理系统中。

那么这里有一个解决方法,就是各个学校提供“查询学生列表”的接口给在校生管理系统。

站在“华南可爱小学”教务系统的角度,“查询学生列表”这个接口的调用有分内部和外部

1.如果是在教务系统上面,用户操作查询学生的时候,调用“查询学生列表”接口,那么这个接口就是内部接口。

2.如果是在校生管理系统,定期查询“华南可爱小学”教务系统,调用“查询学生列表”的接口,那么这个接口就是外部接口。

在这里,所谓的内部接口,和外部接口,都是相对而言的,没有明确的某个接口就是内部,或者是外部的,主要还是看调用方,和接口产出的系统相互之间的关联关系。

相关文章

网友评论

      本文标题:产品人员如何理解数据结构和接口

      本文链接:https://www.haomeiwen.com/subject/rcdurltx.html