Skip to content

用户手册

开发流程

使用松果应用开发应用的过程如下:

  1. 数据建模:对业务中的核心概念进行抽象,开发数据模型描述业务核心概念;
  2. 表单设计:根据设计好的数据模型,配置收集表单的格式,用于收集数据;
  3. 搭建逻辑:表单设计好之后就可以用于收集数据,搭建逻辑则是可以依据收集到的数据进行运算;
  4. 设计流程:将表单收集和逻辑运算串联在流程中,根据业务的实际情况进行排列组合以适应多种多样的业务场景。

数据建模

数据建模的过程就是对事物进行抽象的过程,数据中只需要记录我们关心的信息。 例如在学校中,有老师和学生,通常我们会关心学生的年龄却不太关心老师的年龄,一个老师可能会教多个班级,但是学生只会在一个班级里。

建模就是根据这些信息设计一个合理的数据结构来描述各种各样的事物,并描述事物之间的关系,例如在描述一个学生的时候,我们通常会说明他的姓名、年龄、性别、班级等信息,这些我们称为学生的属性。

属性有各种各样的类型,比如名称是文本类型的,年龄是数字类型的,性别则是枚举类型的,在定义属性的时候,同时需要明确属性的类型。

除了使用类型控制属性以外,我们也需要使用各种各样的形式对属性进行进一步约束,比如年龄只能是正整数,电话号码需要是1开头的11个数字组成的文本,这些约定我们成为约束。

数据类型

数据类型包含:文本、数字、布尔、列表、对象等,下面我们会详细介绍每一种类型。

  1. 对象: 我们在描述一个概念的时候,通常会使用对象进行描述,对象会包含多个属性,例如学生可以有:姓名、年龄、性别等属性,这种将多个数据组合在一起的数据类型,我们称为对象。
  2. 文本: 最常见的数据类型是文本类型,例如:姓名、电话号码、邮箱地址,这些都是文本类型,文本类型可以用来记录各种各样的信息。
  3. 数字: 数字类型通常是用来做数学计算的,比如年龄是当前年份减去出生年份得到的差值,这些都是计算出来的,我们会使用数字类型记录。需要注意的是电话号码虽然看起来是数字形式,但实际上是它属于是文本,因为我们不会使用一个手机号码经过加减乘除之后得到另外一个收集号码。
  4. 布尔: 布尔这个词看起来虽然奇怪,但实际上表示的就是是非对错,例如作业是否完成、是否进入房间,这些状态我们使用布尔来表示。
  5. 列表: 列表是一系列数据的组合,比如花名册记录了一个班里所有的学生,这就是一个列表,我们会为列表中的每个项目设置一个序号。有时候列表记录的所有数据都是一种类型的,但有时候列表项可能是不同类型的数据,这要根据需要进行设计。

约束

约束是在类型的基础上进一步对属性进行限制,例如性别只能是男性或者是女性,年龄应该是正整数等等。

  1. 枚举: 枚举是一个特殊的类型,不同于上面所说的类型,枚举不是用来直接限制属性的,它可能是文本,也可能是数字,枚举用来为数据提供限制内的选项。比如性别的枚举有两个选项:男性和女性,行程有三个状态,准备中、在路上和已到达,这些都是根据我们的需要设计的,枚举是为属性提供有限制的选项。
  2. 模板: 模板对属性的形式进行限制,比如手机号码是1开头的11个数字组成的文本,电子邮箱地址是用@符号链接的收件人名称和服务商域名组成的文本。这些都是通过组成的形式对属性进行限制,我们使用模板来管理这些数据形式。
  3. 范围: 范围通常是通过最小值和最大值限制的,比如招聘的时候限制应聘人员的年龄是25-40周岁之间,这里最小值是25,最大值是40。

设计表单

表单是用来收集信息的工具,用户填写表单之后提交,通过一定的逻辑转换,将表单中的数据保存起来,在数据建模完成后,我们已经知道我们要手机哪些数据了,设计表单可以对要要收集的数据进行组织,方便用户录入信息。

我们日常工作中见到的表格,有些结构很简单,只需要在对应的表头下方填写内容即可,有一个却比较复杂,根据数据的关系,可能分成多个板块。虽然要收集的数据是一样的,但是我们可以通过布局的方式,让表单更加易读。

布局过程中最常用的两种方式就是水平布局和垂直布局,水平布局的表单项从左向右排列,符合阅读的习惯,适合琐碎简单的项目。垂直布局则是从上往下排列,通常我们使用垂直布局对要收集的数据进行分组,水平布局和垂直布局也可以互相嵌套,配置出更加复杂的表单。

搭建逻辑

即使没有接触过软件开发,也可以使用搭积木的方式,搭建出符合业务需求的逻辑。只需要学习一些简单的概念,就可以开始搭建逻辑了。

  1. 数据库: 数据库是用来保存表单收集的数据的,相同表单收集的数据保存在同一个集合中,我们可以使用查询条件,在指定的集合中查询出想要的数据。
  2. 上下文: 上下文是逻辑运行的内容,类似于我们在做数学题的时候的已知条件,和解题步骤中的中间值,这些我们称为上下文。运算的过程就是根据已知条件计算中间值最终得到结果的过程,这些计算中使用到的数据组成了逻辑运算的上下文。
  3. 条件分支: 运算过程中,我们会根据不同的情况执行不同的运算,这些根据条件产生的不同过程,我们就叫他们条件分支,比如还没有开始考试时,有学生进入考场,我们就允许他进入,当考试已经开始之后,再有学生进入考场,我们就不允许他继续进入了,这里的允许和不允许就是因为条件不同产生的分支。
  4. 循环执行: 有时候我们会对一组数据的每一个成员执行相同的操作,我们会从列表的第一个成员开始反复执行处理的过程,这个过程就是一个循环执行的过程。

流程开发

流程是对事物发展的描述,通过流程可以将逻辑串联起来。

实例