构建之法 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 ——《构建之法》
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目.于是这几天决定对<构建之法>一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中 ...
随机推荐
- Mybatis逆向工程自动生成代码(Ubuntu18.04-idea环境)
最近在学习taotao商城项目,有一节是关于mybatis逆向工程的,参考了这个博文,https://blog.csdn.net/yerenyuan_pku/article/details/71909 ...
- spring(spring mvc)整合WebSocket案例(获取请求参数)
开发环境(最低版本):spring 4.0+java7+tomcat7.0.47+sockjs 前端页面要引入: <script src="http://cdn.jsdelivr.ne ...
- django中的Q查询
转载于:https://mozillazg.com/2015/11/django-the-power-of-q-objects-and-how-to-use-q-object.html 原文写的很详细 ...
- MyLog
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;us ...
- .NET--------未能加载文件或程序集“System.Net.Http.Formatting”或它的某一个依赖项。
未能加载文件或程序集“System.Net.Http.Formatting”或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配. (异常来自 HRESULT:0x80131040) 解决方 ...
- Linux文件打包与解压缩
一.文件打包和解压缩 常用的压缩包文件格式.在 Windows 上我们最常见的不外乎这三种*.zip,*.rar,*.7z后缀的压缩文件,而在 Linux 上面常见常用的除了以上这三种外,还有*.gz ...
- 最近在学习Flask框架,那么就说下jinja2吧~~~
jinja是组成Flask的模板引擎,先写一个demo吧 {% block body %} <ul> {% for user in users %} <li><a hre ...
- C++面试笔记(3)
20. 浅拷贝与深拷贝 如何理解C++中的浅拷贝与深拷贝 深拷贝和浅拷贝 在进行对象拷贝时,当对象包含对其他资源的引用,如果需要拷贝这个独享所引用的对象,那就是深拷贝,否则就是浅拷贝 *** 21.构 ...
- Qt 文件的操作
文件操作是应用程序必不可少的部分.Qt 作为一个通用开发库,提供了跨平台的文件操作能力.从本章开始,我们来了解下 Qt 的文件以及输入输出的功能,也就是 I/O 系统. Qt 通过QIODevice提 ...
- io 的一些简单说明及使用
io 流简述: i->inputStream(输入流) o->outputStream (输出流) IO流简单来说就是Input和Output流,IO流主要是用来处理设备之间的数据传输, ...