构建之法 chapter 8 需求分析 ——读书心得
需求分析,是软件工程开发的第一步,准确全面地找到用户的需求,尽可能满足用户的要求,是软件惺惺发展的基础。所以需求分析很重要。具体来说有以下几个步骤:
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.辅助需求:可以做各种皮肤。
一个软件项目要在一段时间内完成诸多任务,光是满足用户的需求,就要做大量的用户需求分析,实现团队的目标,所以需要每个成员之间的配合和效率,大家各司其职,一起努力。
构建之法 chapter 8 需求分析 ——读书心得的更多相关文章
- 《构建之法》chapter5,6 读书心得
<构建之法>第五章用体育运动等团队例子引出软件开发团队的形式,用更加生活化.形象化的例子让读者更能理解软件开发团队的形式.软件团队形式多样,适用于不同的人员与需求.团队可能会演变的模式有: ...
- 《构建之法》CH5~6读书笔记 PB16110698 第九周(~5.15)
这段时间我阅读了<构建之法>的大部分章节,包括个人技能.软件测试.用户体验和需求分析等相关内容.之前的个人作业和结对作业结束后,我们的工作重心终于转向了团队项目,作为团队中前端组的组长,我 ...
- <<构建之法第三版>>读书遇到的5个问题
1.书中第4章4.5节所说的结对编程让我感觉有一点困惑,书中书写的是结对编程,说实话我是第一次接触这个词汇,我能感到这种方式的新特之处,但是对比我现实的编程经历,我很难想象在一般的企业开发中这样的行为 ...
- 《构建之法》MSF&需求分析
第七章 MSF MSF基本原则 推动信息共享与沟通 为共同的远景而工作 充分授权和信任 各司其职,对项目共同负责 交付增量的价值 保持敏捷,预期和适应变化 投资质量 学习所有的经验 与顾客合作 MSF ...
- 《构建之法》需求分析 读书笔记 Week6
本周选读<构建之法>第8章——需求分析.由于有团队项目初期调研阶段做调查问卷的经历,这一章节中很多知识点我都比较有体会.对我而言,这一章节最有价值的内容就是厘清了关于需求分析的两个误解和近 ...
- 软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 构建之法 chapter1 心得
阅读完了<构建之法>第一章后,觉得我们平时使用的软件并不是自己想象中的那样简单,用的时候是觉得很方便,但从来没有考虑过一个软件的背后需要一个团队多少的付出才能换来一个获得用户频频好评的软件 ...
- 软工读书笔记 week 7 ——《构建之法》
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目.于是这几天决定对<构建之法>一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中 ...
随机推荐
- loj.ac:#10024. 「一本通 1.3 练习 3」质数方阵
CSDN的博客 友键 题目描述 质数方阵是一个\(5×5\)的方阵,每行.每列.两条对角线上的数字可以看作是五位的素数.方格中的行按照从左到右的顺序组成一个素数,而列按照从上到下的顺序.两条对角线也是 ...
- mysql 关于数据库和数据表的基本操作
-- 备注: -- .每一条mysql语句后面都需要加上半角分号 -- .可以用``符号(1键旁边的那个键)将字段名称引用起来,如`Name` -- .mysql在windows下不区分大小写,在li ...
- java读取各种类型文件
用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-dev.jar/lucene ...
- [Leetcode 37]*数独游戏 Sudoku Solver 附解释
[题目] 每一行.每一列.每个3*3的格子里只能出现一次1~9. [思路] 参考了思路,附加了解释. dfs遍历所有非空格子,n是已经填好的个数. 初始化条件.n=81,都填了,返回结束.对于已经填好 ...
- HDU2138(Miller-Rabin素数检测)
最近在看RSA,找到一个一个大素数是好多加密算法的关键一步,而大素数无法直接构造,一般情况下都是生成一个随机数然后判断是不是素数.判断是否是素数的方法有好多,有的能够准确判断,比如可以直接因式分解(R ...
- tfs增加用户
1.windows上添加用户 2.tfs对应项目添加该用户 3.注意: 要设置服务器对应的本地安全策略 从网络上允许该用户访问
- 关于react的分页
基于antdesign分页:表格属性pagination <Table pagination={{ total: this.state.totalNum, showSizeChanger: tr ...
- centos7 下zookeeper 部署 单机多实例模式
centos7 下zookeeper 部署 本文参考https://www.linuxidc.com/Linux/2016-09/135052.htm 1.创建/usr/local/zookeeper ...
- 利用svn的补丁文件打包生成增量文件
下面的代码是maven版本 1. 创建patch.txt增量文件 保存到 文件目录下 比如 E:\aa\patch.txt 2. 编写java代码 package utils; import java ...
- Linux:Linux Mint系统的安装
今天就更新一篇了,其实Linux系统大部分都是用虚拟机来安装的,毕竟Windows系统才是我们常用的系统,而Linux系统只是我们工作时才用的,而且使用虚拟机是非常方便的,不用重启电脑就可以使用另一种 ...