首页 > 其他分享 >如何写接口设计文档?

如何写接口设计文档?

时间:2024-04-28 11:11:52浏览次数:27  
标签:入门 接口 架构图 课程 文档 activity 设计

小系统或单个模块的设计文档

一、「一句话描述」的标题

文件名或标题最好使用「一句话描述」,如:
观测云新 Event 数据结构及处理逻辑设计
观测云云关联处理逻辑设计

二、业务流程

对业务流程进行描述,具体写明「用户做了什么操作,系统进行了什么处理,最后发生了什么」。
image
一般是流程图加上列表描述的方式

三、数据定义

业务流程中产生的业务实体,必须明确所有的字段、字段类型、取值范围、数据来源等信息。

字段 类型 必须/默认值 说明
code String 必须 课程编号,全局唯一
name Enum 必须 课程名称
...

注意:表格中说明不宜过长,对于某些需要复杂说明的字段,应当为其单独开设下级标题进行详细描述
对 JSON 数据,可以直接使用 JSON 格式展现,如:

{
    // [必须] 课程编号,全局唯一
    "code": "CLASS-001",
    // [必须] 课程名称
    "name": "语文 1",
    // [必须] 课程类型,可选值:文科=`liberal`、理科=`science`
	...
}

更复杂的设计文档

需要增加更多内容来说明

一、拆分大型系统的设计文档
将文档划分为层级:
1、基本设计:描述系统整体架构,不涉及具体功能内部的细节
2、详细设计:描述具体功能模块、具体功能所涉及的业务实体、处理流程、字段定义等

二、概念解释
文档中出现的的概念、业务实体需要明确的定义,避免误解。如:

  • 课程class:指的是包含课件、教材的「课程内容」,如:「云计算入门」
  • 场次activity:指的是某一个课程在特定时间地点进行的活动,如:「云计算入门 2021 年上海第一场」

并配合示例示例进行说明。如:

  • 后台管理员创建并录入「云计算入门」课程(这里操作的是「课程class」)
  • 讲师根据排课表,选择「云计算入门」开课,并指定开课时间(这里操作的是「场次activity」)
  • 学生根据已经开设的课程,选择城市和时间进行报名(这里操作的是「场次activity」)
  • 优于疫情,取消了 2020 年所有的培训(这里操作的是「场次activity」)
  • 云计算已经深入人心,没有继续开课的必要,「云计算入门」下架(这里操作的是「课程class」)

三、架构图
无论是系统整体设计,还是单个功能模块的设计,都可以附带架构图方便读者理解。
image
DataFlux Func 中「订阅器」的架构图

四、项目文件目录
已经成型的项目,添加项目文件目录进行说明:

  • 一方面为了让新人能够快速掌握项目整体情况;
  • 另一方面为了规范后续开发工作;

image
DataFlux Func 项目目录说明

后面再补上参考链接

标签:入门,接口,架构图,课程,文档,activity,设计
From: https://www.cnblogs.com/yuanbaobao/p/18163317

相关文章

  • 系统整容纪:责任链设计模式的应用实战(爆灯了,研发工期由45天降为1天)
    本文通过介绍使用责任链设计模式的背景和经历,来使得读者加深对于此设计模式的印象,甚至受到一定的启发来对自己当下所参与、所负责的项目进行“整容”,从而提升系统的“美感”。分享工作中的点点滴滴。一、背景在下所负责的系统中有这么一个模块,分区模块,直接看这个词的话相信很......
  • Paper——可容错的虚拟机实践系统设计.18162229
    目标:通过主备复制手段设计一个可容错的VM,用于用户运行企业级程序。primary日常工作,一旦它宕机,和它保持lock-step的backup会立刻顶上,外界观察不到这些操作,我们制造了只有一台VM永远在正常运行的假象。要考虑的点:使用什么手段保持primary和backup严格同步在虚拟化单核CPU时和多......
  • 【HZERO】数据源表设计
    数据源表设计......
  • XMU《UNIX 系统程序设计》第五次实验报告(编制模拟“五个哲学家”问题的程序)
    想知道第三、四次实验去哪儿了吗?我也想知道。实验五编制模拟“五个哲学家”问题的程序一、实验内容描述编制模拟“五个哲学家”问题的程序目的学习和掌握并发进程同步的概念和方法。要求程序语法philosopher[-t<time>]<time>是哲学家进餐和沉思的持续时间值,......
  • XMU《UNIX 系统程序设计》第六次实验报告(信号处理)
    实验六信号处理完整程序可以在这里下载:点击下载。一、实验内容描述实验目的学习和掌握信号的处理方法,特别是sigaction,alarm,sigpending,sigsetjmp和siglongjmp等函数的使用。实验要求编制具有简单执行时间限制功能的shell:myshell[-t<time>]这个测试程序的功......
  • 双向循环链表接口设计
    /***************************************************filename:DoubleDoubleCirLkList.c*author:[email protected]*date:2024/04/25*brief:通过构建双向循环链表学习顺序存储*note:None**CopyRight(c)2024momolyl@126......
  • 实验一原型设计————电商系统
    一、实验题目:原型设计二、实验目的:掌握产品原型设计方法和相应工具使用。三、实验要求(1)对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点(至少3条)。1.墨刀:适用领域:产品设计,项目管理,可以利用墨刀绘制流程图,明确项目流程和时间节点,提高项目执行效率。优......
  • 对象存储服务中对象业务的非标接口
    本文中讨论的对象存储服务及接口,主要和AWSS3对标。AWSS3提供的对象存储业务,与传统的POSIX规范相比,舍弃了很多特性,比如:文件类型硬链接软链接目录文件相关的操作追加写随机写截断修改名称目录相关的操作创建目录修改名称删除目录元数据时间crtime即......
  • js设计模式(上)
     引用:(23条消息)《Javascript设计模式与开发实践》关于设计模式典型代码的整理(上):单例模式、策略模式、代理模式、迭代器模式、发布-订阅模式、命令模式、组合模式_QQsilhonette的博客-CSDN博客1、单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。使用闭包封装......
  • 使用restful请求华三模拟器上的设备接口数据
    一、resful介绍RESTful采用C/S模型。RESTful客户端为使用Python、Ruby或Java等编程语言开发出的RESTful客户端程序或脚本。RESTful服务器为网络设备。通过RESTful功能配置和维护设备的过程为:(1)客户端向服务器发送HTTP/HTTPS请求报文,通过HTTP的方法来操作指定的RESTfulAPI......