构建之法 chapter 8 需求分析 ——读书心得

时间:2023-03-08 22:16:09

需求分析,是软件工程开发的第一步,准确全面地找到用户的需求,尽可能满足用户的要求,是软件惺惺发展的基础。所以需求分析很重要。具体来说有以下几个步骤:

1.获取和引导需求:软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出真实的需求。不同的项目需要不同的手段,这一步骤也被叫做“需求捕捉”,形容真正的需求稍纵即逝,需要靠火眼金睛和敏捷的身手来发现并抓住它们。另外,有些用户并不知道自己确切的需求,或者不愿意表达完整的需求,这时候软件团队需要替用户着想,引导出需求。

2.分析和定义需求:这时指对从各个方面获取的需求进行规整,定义需求的内涵,从各个角度将需求量化,例如,需求实现的最后期限,实现需求大致需要的时间和成本,等等。

3.验证需求:软件团队要跟利益相关者沟通,通过分析报告、技术原型、用户调查或演示等形式向他们验证软件团队对于这些需求的认知。

4.在软件产品的生命周期中管理需求:在软件的生命周期中,需求在发生变化,所以技术也在发展,团队成员的能力也在随之提高。

对于软件的需求,也可以从不同角度做下面的划分:1.对产品功能性的需求:要求产品必须实现某些功能。 2.对产品开发过程的需求:要求软件的开发流程必须满足某些约束条件。 3.非功能性需求:也称为“服务质量需求”。 4.综合需求:有些需求不单单一个软件模块就能满足。

那么,我们该如何获取用户的需求呢?以下是几种常用的用户调研方法:

1.焦点小组:找到一群目标用户的代表,加上项目的利益相关者来讨论用户想要什么,用户对软件的评价等等。焦点小组是很常用的调研方法。

2.深入面谈:通过详细的面谈,广泛而深入的了解用户的背景、心理、需求等。这通常是一对一的采访。

3.卡片分类:通常,团队收集到的需求都是杂乱无章的,我们可以利用“卡片分类”的方法把各种需求做成便于规整的小卡片。

4.用户调查问卷:向用户提供事先设计好的问题,让用户回答。在设计问题时需要注意一些小细节:要准确定义问题;避免使用含糊不清的形容词;问题尽量简洁;问题不能具有导向性。

5.用户日志研究:这一调研方法要求用户记录自己日常工作或生活中与所用软件相关的行为,供软件团队分析。

6.人类学调查:简单来说,就是和目标用户“同吃同住同劳动”。

7.眼球跟踪研究:用户通常游览通栏标题,然后目光沿着左侧下行,再平行游览下面的子标题。所以这决定了重要内容放的位置。

8.快速原型调研:拿一些纸张模型,让用户去使用,得到反馈。

9.A/B测试:具体实施过程:决定试验哪两种不同的UI,以及衡量标准、数据收集流程、试验运行时间、人数;在技术上实现A/B测试;收集数据,分析数据,形成结论。

有市场就会有竞争,所以除了对用户的需求进行分析以外,软件团队还需要对竞争性需求进行分析,NABCD模型是一个有效的方法:N,need,需求;A,approach,做法;B,benefit,好处;C,competitors,竞争;D,delivery,推广。得到了需求之后,软件团队就要考虑实现这些需求,主要有以下四种划分来更好的实现需求:1.杀手功能:OCR文字识别技术,可以在屏幕上取词解释,拥有独家权威词典,等等。2.外围功能:良好的界面设计,在各个平台上都能运行。3.必要需求:单词短语释义的准确性。4.辅助需求:可以做各种皮肤。

一个软件项目要在一段时间内完成诸多任务,光是满足用户的需求,就要做大量的用户需求分析,实现团队的目标,所以需要每个成员之间的配合和效率,大家各司其职,一起努力。