长沙小平
我的建议最好是文字和图相结合,可以更好地描述需求;当然这也就要看是老项目的新需求还是新项目,以及需求规模的大小了。
如果是老项目的新需求,当需求比较小,这时候几行文字就能描述清楚,那么只用文字描述就行了;如果涉及到业务流程、服务交互的话,我们通常会使用这几种图表对文字进行补充。
01. 业务流程图
流程图就是用图形描述一个工作流程的步骤,先做什么,后做什么,哪里有判断,根据判断的结果进行不同的处理;流程图通常用一些图框表示操作步骤(业务节点),然后用带箭头的线把各个操作步骤连接起来;流程图常用的结构有:
顺序结构:每一个步骤是顺序执行的;
分支结构:判断条件,根据结果控制程序的流程;
循环结构:在一定的条件下,会重复执行某一个或多个步骤;
02. 接口文档
很多同学可能会认为接口文档应该是开发过程中才制定和确认的,但是我建议最好可以在需求阶段就能确认,最迟也要在设计阶段(正式开发之前)确认。
因为涉及到接口文档,那么就意味着这个需求至少有两个项目需要开发,在开发前确认接口文档,不仅可以让两个项目并行开发,也能够在讨论和确认接口文档的过程中,早一些将隐藏的问题暴露出来。
如果是一个新项目,或者老项目的需求比较大,设计到了架构的变化,那么需要的图就更多了。
03. 功能架构图
用于描述系统有哪些功能模块,具体的分层是怎么样的,模块和模块之间的关系是怎么样的。
04. 部署方案
通常新项目在立项的时候,是一定要有部署方案的,包括应用服务器、数据库服务器、缓存服务器、消息队列服务器等部署信息,需要几台机器,采用什么方式部署等等。
另外,我们还可以通过技术架构图描述系统所用的技术栈和分层,使用网络方案图描述项目部署的位置和流量走向等等。
总之,使用图表对需求进行描述,会比只用文字描述更加直观和形象,易于理解。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
会点代码的大叔
一个需求的业务解决方案,我认为最好的方式是图文结合的方式进行阐述,首先图比较明了,基本上都能看懂,然后在针对图进行细节阐述。