漫谈需求分析

我们知道软件开发过程中第一步就是进行需求分析,但是很多人认为需求没有什么可以分析的,客户想要什么我们就给他做什么。举个具体实例,客户想看一下杭州地区的专利情况,面对这个需求很多人会觉得很简单,直接从数据库中查询杭州地区所有专利不就可以了吗?答案显然不是这么简单的。我们需要从5W(Who、When、Where、What、Why)、1H(How)和8C(8个约束,即Constraints,包括性能Performance、成本Cost、时间Time、可靠性Reliability、安全性Security、合规性Compliance、技术性Technology以及兼容性Compatibility)这三个方面进行深入分析。

5W

首先,我们需要明确需求利益相关人(Who),根据需求的生命周期流程来分类,包括购买者、管理者、使用者以及评估者,对于上面那个例子中的购买者、管理者、使用者分别是政府机构、政府机构和企业。其次,我们需要罗列需求中相关的时间(When),比如说哪一年中的专利情况。接着,我们还需要明确需求相关地点(Where),譬如各个区县的专利分布情况。此外,我们还需要明确需求最终的输出(What),即客户需要得到什么东西,是一份文件?还是一张可视化页面。最后,也是最重要的一点就是客户为什么提这个需求,我们要实现的功能解决了客户什么痛点,说白了就是需求的驱动力(Why),实现上面那个需求,一方面,政府可以摸清“家底”,以及各个产业、各个时间段的专利分布情况进而服务各产业,另一方面,企业可以选择更好的专利代理机构从而提升专利申请成功率。

1H

这里需要注意的是需求分析阶段的How不是指如何实现需求,而是指需求本身的流程。为了帮助大家理解,举一个大家日常都能碰到的需求--ATM取款需求,我们需要经过插卡、输入密码、输入金额、取钱等步骤,这些步骤就是通过How来描述的。

8C

性能Performance主要从响应时间和吞吐量两个维度考虑,成本Cost指的是客户愿意为这个需求花多少钱,可靠性Reliability指的是系统能够长时间提供服务而不出现宕机情况,安全性Security指的是保证用户信息不泄露,例如手机号、身份证,合规性Compliance指的是要满足行业标准、法律法规,比如说违法的事情我们不能干哦,兼容性Compatibility指的是新开发的系统要和原有系统进行兼容,实现互联互通。

写在最后

更多文章尽在公众号"木可大大"。

你可能感兴趣的:(漫谈需求分析)