1. 列出用户以及客户需要的主要功能
2. 对所列出的功能进行一个排序并筛选(对列出的功能作减法运算):
给所列出的功能均赋予重要度系数(用户的依赖程度,依赖程度越大就越重要,如果失去了整个软件就越无法运转)与紧张度系数(虽不重要但是客户很喜欢,能吸引客户),两个系数的取值范围均设定为1~10. 将系数确定后,将系数加和,对第一步所列出的功能进行第一次排序和筛选。
将留下的功能按照困难与否分配难易程度百分比,从10%~100%,%10为最难,100%为最简单,将之前确定的每个功能的重要度与紧张度得到的分数之和乘以难易程度百分比,得到其最终分数。再次排序筛选。
(或者可以1)和2)的步骤计算完成之后统一排序筛选)
3、将最终留下的功能进行两方面的评估:用户需求与客户需求,综合考量两方面需求之后再次排序,可不筛选。
4、第三步得到的排名可以取前几名在用户需求说明书中主要介绍说明,其余可作辅助说明。
5、说明书的展示技巧: 流程图+角色管理。
任何一个程序都是由用户作为主体去操作的,所以我们可以通过流程图的方式来模拟用户操作步骤来展现软件功能,并且在用户操作的每一个步骤上面都注明用户的角色,以显示用户的权限——例如登录用户可以看到哪些内容,未登录用户可以进行哪些操作,都必须标注清楚,才能更好的避免日后软件设计与客户用户需求的冲突。
6、后期功能的扩展描述(功能的加法运算):
可以充分考虑到后期软件的发展,详细描述后期项目或可实现的功能,给用户一个美好的未来
(即项目分期实现的思想,功能需求说明书里应该详细介绍本期项目的实现目标以及概括介绍后期项目将要实现的功能)
提醒自己:一定要注意项目的前期设计,而不是盲目地投入到写代码中,就比如本次项目的数据库设计就是一个教训,需谨记。