软件工程读书笔记(八)——需求分析

私以为软件工程的起点便是需求分析。准确全面地找到这些需求主要有以下几个步骤

一、            获取和引导需求

作为本科生,身边共性的需求不难获取,实验室信息,导师信息,实习信息等等,总结起来便是我们需要一个综合的官方的信息发布平台。而这其中又牵扯到一个问题,要分的清用户需求和产品需求。用户需求是用户从自身角度出发,自以为的需求。用户经常提出的需求,从他们角度而言都是正确的,但更多是从自身情况考虑,对于产品的某个功能有自己的期望,但对产品定位、设计的依据等情况不了解,他们的建议也许并不是该功能的最好实现方式,也就不足以直接作为产品规划的直接依据。产品需求是提炼分析用户真实需求,并符合产品定位的解决方案。解决方案可以理解为一个产品,一个功能或服务,一个活动,一个机制。而后者才是我们最终要实现的东西。

二、            用户调研

(1) How the customer explained it / 客户如此描述需求

(2) How the project leader understood it / 项目经理如此理解

(3) How the analyst designed it / 分析员如此设计

(4) How the programmer wrote it / 程序员如此编码

(5) How the business consultant described it / 商业顾问如此诠释

(6) How the project was documented / 项目文档如此编写

(7) What operations installed / 安装程序如此“简洁”

(8) How the customer was billed / 客户投资如此巨大

(9) How it was supported / 技术支持如此肤浅

(10) What the customer really needed / 实际需求原来如此

漫画很写实了,首先用户就很难完全明确地表达出自己的意图,而经过产品与设计再到编码,中间信息的损失只会越来越多。

应对这种情况,我们通常采用如下方法:

  1. 焦点小组:即找到一群目标用户的代表,来讨论,这样跟更有针对性但同时也容易出现某些善辩人士控制主题的情况。
  2. 用户问卷调查:可以得到一些可以作为参考的依据,因为问卷调查的样本很难控制地即有统计意义又不至于样本过大。
  3. 深入面谈:个人觉得这是一种切实有效的方法,尤其是对我们选题是面向一小部分受众的情况,此时只要和行业代表沟通好,便能很大程度上了解整个受众群体的声音。

原文地址:https://www.cnblogs.com/hhhua/p/8952043.html

时间: 2024-10-10 06:44:45

软件工程读书笔记(八)——需求分析的相关文章

《构建之法——现代软件工程》读书笔记之——需求分析

人们为了解决实际的问题,需要软件来解决人们的需求.人们的需求有很多,那么如何清晰的了解人们的需求,就显得十分的重要,所以会产生用户的需求分析. 如何了解用户的软件需求呢? 1.获取和引导需求 软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出软件的需求.软件团队需要设身处地的为用户着想,引导出需求. 2.分析和定义需求 这是指对从各个方面获取的的需求进行规整,定义需求的内涵,从各个角度将需求量化. 3.验证需求 软件团队要跟利益相关者沟通,通过分析报告.技术原型.用户调

软件工程——读书笔记(八/九/十)

第八章 在本章中着重介绍了需求分析的具体流程及内容,在以往我们往往只是认为这仅仅只是通过市场调研,通过数据的分析便可以开始一个项目或是对一个项目进行优化.而今却是认识到了其实一次好的需求分析并不是仅靠几个简单的市场调研数据就可以解决的,在进行单纯的数据调研上本身就是存在着天然的缺陷的,我们并不能从简单的123中看到用户真实的情感反馈,这只是将计算机的10判断方式移植了过来,但若是进行一次详细的调查,却又往往需要花费大量的时间与资金亦是难以获得周全的数据,故而这也是需求分析里一直使人头疼的点之一.

软件工程读书笔记(1)——第一章 概述

第一章 概述 一.软件工程概念的提出 1968年NATO(North Atlantic Treaty Organization,北大西洋公约组织)会议首次提出“软件工程”概念. 软件工程是为了解决开发成本效益和软件质量的问题而产生. 二.软件 1.什么是软件? <IEEE Standard Glossary of Software Engineering Terminology>给出了有关软件的如下定义: 软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.(软件≠程序) 根据软

软件工程-读书笔记

第一章 概论 主要阐述了软件工程是什么,软件工程与计算机科学的关系,软件工程与软件的关系 通过类比航空产业的发展,引出为什么需要软件工程,软件工程是什么 软件工程对于计算机科学来说是一个完整的体系,但与计算机科学亦有交融 介绍了软件工程的目标--创造“足够好”的软件 第二章 个人技术和流程 讲明个人技术对项目开发的影响,以及对软件开发团队的影响 为了让我们开发的软件足够好,在开发中需要有一定的流程 单元测试.回归测试.效能分析对软件开发的帮助 第三章 软件工程师的成长 同上一章个人技术相呼应,个

软件工程读书笔记(2)——第二章 软件过程

第二章 软件过程 软件工程的目标是在规定的时间和预算内开发出高质量软件. 软件项目失败的主要原因几乎与技术和工具没有任何关系,更多的是由于缺少过程规范,只有建立规范的软件开发过程,并持续不断地加以改进,才能管理和控制软件产品的质量. 一.软件过程的概念 1.任务思维与过程思维 软件发展的前期阶段:强调软件开发结果,忽略软件开发过程.(类似于黑盒子) Watts Humphery首先将过程管理的原则和思想引入软件开发过程中,将软件开发任务看做是一个可控的,可度量的和可改进的过程. 2.软件过程的定

这就是搜索引擎--读书笔记八--检索模型与搜索排序

检索模型与搜索排序 前言 搜索结果排序是搜索引擎最核心的构成部分,很大程度上决定了搜索引擎的质量好坏以及用户接受与否.尽管搜索引擎在实际结果排序时融合了上百种排序因子,但最重要的两个因素还是用户查询和网页的内容相关性及网页链接情况.那么,我们得到用户搜索词之后,如何从内容相关性的角度上对网页进行排序输出呢? 判断网页内容是否与用户查询相关,这依赖于搜索引擎所采用的检索模型.搜索引擎的核心是判断哪些文档是和用户需求相关的,并按照相关程度排序输出,所以相关程度计算是将用户查询和文档进行匹配的过程,而

读书笔记(八)

让开发板发出声音:蜂鸣器驱动 蜂鸣器是S3C6410 开发板上带的个硬件设备.可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声.介绍蜂鸣器的实现原犁,并实现完整的蜂呜器驱动,可以打开和关闭蜂鸣 器时驱动的实现方式不同于LED PWM 驱动将由多个文件组成.这也是大多Linux 驱动的标准实现方式也就是说个复杂的驱动不太可能将所有的代码都放在个文件中.最好将关的代码放在相应文件中.在编译 Linux 驱动时将这些文件进行联合编译.本节将介绍把Linux 驱动分成多个文件的方式.这些文件中的数据结

软件工程读书笔记(10)——第十章 软件测试

第十章 软件测试 一.验证与确认 1.软件的错误 有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所以由人做的工作都不会是完美无缺的. 2.验证与确认 为把握软件开发各个环节的正确性,需要进行各种确认和验证工作.验证和确认是贯穿软件生命周期的规范化评估方法. 二.软件测试基础 1.什么是软件测试 广义上讲,测试是指软件产品生存周期内所有的检查.评审和确认活动,如设计评审.系统测试. 狭义上讲,测试是对软件产品质量的检验和评价,它一方面检查软件产品质量中存在的质量问题,同时对产品进行客

软件工程读书笔记(9)——第九章 软件实现

第九章 软件实现 软件实现是软件产品由概念到实体的一个关键过程,它将详细设计的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码. 一.程序设计语言 程序设计语言一直在不断地演化和演变,其发展经历了从机器语言到高级语言的过程. 二.软件编码的规范 以java为例 1.文件命名与组织 一般来说,一个java源文件由若干节(Section)组成,每一节都用空行和相关的注释隔开,文件的长度最好不要超过2000行. 2.代码的版式 ①适当的空行 ②代码行及行内空格 ③分行.对齐与缩进 ④命名规