“在设计系统或者软件时,肯定会遇到各个模块之间相互配合或者是接入外部资源,共享和传输数据,在标识出各个子功能系统(模块)之间的服务关系后,就需要针对这些接口做逐一分析以便达到相互之间快速接入后业务也能运行畅通,下图是针对业务接口分析的整体思路,后面会在正文中详解”
/ 小小知识点 /
问:业务接口分析和系统接口设计有什么区别?
答:概念不相同:一个业务接口是可以由多个系统接口来支持实现的。
内容不一样:接口分析只需要明确用途与业务价值(相关联部分)、双方的交互过程以及约束点,不涉及解决方案只做分析。
/ 正文 /
一、明确接口用途与业务价值
如整体思路图所示,在做业务接口分析时首先要明确定义出接口的用途与业务价值,思考下面三个问题可以帮助明确定义
1.1、哪个子系统实现该接口是合适的?
针对这个问题举个小例子:
例如:现在有一个“反馈客户体检报告情况”的接口,是由“客服管理子系统”来提供还是由“体检业务子系统”来提供比较好?肯定是首选“体检业务子系统”来提供呀,因为反馈客户体检报告情况的具体格式,应该是由体检业务部门来决定的,所以由该部门相应的子系统来实现比较好。
小例子中就是采用了“知行合一”原则来判断,由知道接口所需要信息的子系统来提供。
1.2、哪些子系统会用到,用来实现什么价值?
一个业务接口可能会有很多个系统来使用,遇到这种情况,逐一标识说明为什么会使用该接口,达成的业务目的是什么,这样也能够帮助看文档的人快速理解之间的关系。
1.3、使用频率?
最好是能给出一个精确值,如果实在给不出来,也可以是范围值,在范围值后能带一个业务使用相关的场景信息就更好了。
二、细化接口交互过程
细化接口交互过程时,一般会用到两种工具:1、时序图,能很好呈现双方的交互过程,2、数据包,能整理出交互过程中数据的构成情况
时序图:
三、确定接口设计约束
这个肯定要首先问技术大哥们,是否有要求使用特定的数据符号、通信协议、或者是系统技术上原有的限制,在就是看业务本身对数据传输、查询、加密等方面的性能要求了。
当然,时间充足的情况下,也可以考虑服务器、网络等部署环境啦。
四、产 物
思考了以上令人头疼的东西后,肯定要整理出分析后的产物,“业务接口描述”
下图就是业务接口分析的产物模板啦,欢迎大家来自取。
写在最后:公众号:顾四秋
大家可以关注我的公共号,里面有更多关于产品、技术方面的文章哦,还会有不定期的福利送(书、资料之类的)