第一,引论
需求分析是开发的第一步,也是我个人认为最重要的一步。
技术难题的克服,甚至在我心里,还要排在需求分析后面。
如果需求分析做好了,数据库就更容易建立,数据库建好了,业务逻辑写起来也更加顺畅。
业务逻辑好写,那么前端页面需要考虑的就少了,就能更专注于页面美化。
第二,需求分析方法
我在此不总结那些老生常谈的方法,只针对地说几个我最常用、也是我个人认为效果最好的方法。
1.确定任务人员
首先,我们必须确定,这次的开发,谁是甲方?
我们的一切工作,都是围绕着甲方去做的,所以,需求分析,必须把甲方带上。
2.确定开发日程
比如给自己1个周的时间进行需求分析,那么,这个周内,全心全意去进行需求分析,其它的不要考虑。
在这个周过去后,如果有多出来的需求,可以记录在灵感中,但不要改需求文档。
3.查阅资料
在拿到项目书、确定项目题目后,首先要查阅各种资料。
我建议,相关的资料,技术博主写的,看3篇以上。
非技术博主写的,看3篇以上。
只有一点点联系的,看3篇以上。
这样,能够保证自己对项目有一些了解。
以社区管理系统为例,这虽然是个老生常谈的项目,但实际上有很大的开发价值,现在国内有几千个社区,管理系统却很过时。
那么,我们是不是应该接入AI技术?
是不是应该接入人脸识别技术?
这些都是查阅资料,可以查到的,但是我们应该综合开发硬件、开发拨款来看,不应该以技术为导向,而是以需求为导向。
4.总结需求
针对查到的资料,进行总结、扩写。
这一步,一般可以写好一个简略的需求文档。
5.询问相关人员
自己对相关方的需求分析一般是不完全的。
所以,针对有关人员,去询问,可以得到更多有效信息。
第三,用例图绘制
用例图的主要目标,是知道一个系统、一个角色会执行什么功能。
继续以社区管理系统为例,假如这个系统有个角色叫做保安。
保安会有哪些功能?
为业主开大门。
拦住陌生人。
夜间巡查。
根据这个角色,便能绘制出一份属于保安角色的用例图。
用例图的绘制,功能描述尽可能简洁、功能之间最好不要重合。
假如功能有重合,最好拆成多个功能,而不是让一个人做一件不明确的事。
第四,绘制流程图。
流程图的绘制,实际上是把一个功能拆成一段段的行为。
这个图,能够明确一个人(或一个系统),在这个功能中,应该怎么样去做。
比如夜间巡查。
明确了功能应该怎样进行,就能更快速地进行开发。
因为实际上,一个流程图,就代表着一个功能。