最近几天在看构建之法中看到了“需求分析”这一章,对于需求分析可能大部分同学都会觉得不陌生,因为在上一学期中的UML统一建模语言中讲过有关需求分析的一些基本的东西。但是,当时并没有完全理解,到现在也忘得差不多了,今天认真的看了一遍,大概说一下我自己的收获。
在做软件时第一件事是要做什么呢?不是一上来就写代码,而是要先做好调研,做好需求分析。在讲需求分析之前,要先知道软件需求是什么,首先你必须要获取和引导需求,在这里要注意有时候用户不是很清楚他要什么,甚至会表达错误,这时候你就必须要引导用户,帮助用户引导出需求。在获取到用户的需求后,你需要分析和定义需求,要清楚的了解需求实现的期限,所花费的时间和资源成本,还有带来的收益等等。在这之后一定不能盲目的展开工作,一定要进行需求验证,看看是否符合用户的要求,如果不符合,那就要重新获取需求了。
那么,怎么获取用户需求呢?就简单的方法就是和用户沟通,进而深入面谈,做调查。在这里有些公司可能有用户调查问卷,用户日志研究等等的辅助措施,这些措施看似简单,实则有很多学问。大家可以参考NABCD模型来做简单的需求分析,N(Need,需求),A(Approach,做法),B(Benefit,好处),C(Competitors,竞争)。