需求工程第三讲-需求获取

合集下载

跟我学软件系统需求工程——如何获得软件系统的用户需求

跟我学软件系统需求工程——如何获得软件系统的用户需求

1.1跟我学软件系统需求工程——如何获得软件系统的用户需求在本单元中希望重点了解和掌握什么是用户需求,需求的表达形式,如何获取用户需求,如何细分需求,同时在此阶段所应该形成的制品;另外也应该掌握如何采用用例图(Use Case)对用户的需求进行建模,以及Use Case方法最主要的优点。

1.1.1需求工程1、需求工程(1)需求工程结构图(2)需求开发和需求管理的流程其中,需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,确保需求的变更不会失去控制而导致项目发生混乱。

1.1.2如何获得用户需求1、什么是用户需求(1)关于用户需求1)它主要是说明系统所必须符合的条件或者应该具备的的功能,也即它用来描述系统应该和不应该做什么也即决定本系统应该有什么功能,从而开发者和用户可以创建一个初始化的商业联系。

2)重点在是应该做什么,而不是应该如何做。

3)需求最根本的挑战在于:寻找、交流并记录什么是真正需要的,并能够向用户和开发团队讲解。

(2)一个关于影响项目进展的因素的研究如下图(Jim Johnson 1994 Chaos:Charting the Seas of Information Technology. Published Report .The Standish Group)可见37%的问题都与需求有关,这就需要“需求开发”和“需求管理”。

(3)“需求管理”的两种方法●瀑布式在项目的第一阶段,在任何设计和实现工作之前,尽可能的推敲,把需求完全定义清楚,并把它稳定下来,并且实际开发前冻结需求,但历史证明这种方式是失败的,在项目很大的时候,冻结需求几乎没有可能。

●迭代式用一种条理化的方法来寻找、记录、组织和跟踪不断变化的需求。

这里的关键是“不断变化”这个词,把需求变化作为项目进展的不断驱动力,另一个重要的词是“寻找”,可以通过写出用例和召开需求研讨会等手段巧妙的得出需求。

整个问题都来自于,用户往往对自己的愿望并不清晰,需求会不断的变化。

需求分析概述—需求获取及用例使用

需求分析概述—需求获取及用例使用

需求分析概述—需求获取及用例使用需求获取(requirement elicitation)是需求工程的主体。

对于所建议的软件产品,获取需求是一个确定和理解不同用户类的需要和限制的过程。

获取用户需求位于软件需求三个层次的中间一层。

业务需求决定用户需求,它描述了用户利用系统需要完成的任务。

从这些任务中,分析者能获得用于描述系统活动的特定的软件功能需求,这些系统活动有助于用户执行他们的任务。

需求获取是在问题及其最终解决方案之间架设桥梁的第一步。

获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。

一旦理解了需求,分析者、开发者和客户就能探索出描述这些需求的多种解决方案。

参与需求获取者只有在他们理解了问题之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。

把需求获取集中在用户任务上—而不是集中在用户接口上—有助于防止开发组由于草率处理设计问题而造成的失误。

需求获取、分析、编写需求规格说明和验证并不遵循线性的顺序,这些活动是相互隔开、增量和反复的。

当你和客户合作时,你就将会问一些问题,并且取得他们所提供的信息(需求获取)。

同时,你将处理这些信息以理解它们,并把它们分成不同的类别,还要把客户需求同可能的软件需求相联系(分析)。

然后,你可以使客户信息结构化,并编写成文档和示意图(说明)。

下一步,就可以让客户代表评审文档并纠正存在的错误(验证)。

这四个过程贯穿着需求分析的整个阶段。

需求获取可能是软件开发中最困难、最关键、最易出错及最需要交流的方面。

需求获取只有通过有效的客户—开发者的合作才能成功。

分析者必须建立一个对问题进行彻底探讨的环境,而这些问题与产品有关。

为了方便清晰地进行交流,就要列出重要的小组,而不是假想所有的参与者都持有相同的看法。

对需求问题的全面考察需要一种技术,利用这种技术不但考虑了问题的功能需求方面,还可讨论项目的非功能需求。

确定用户已经理解:对于某些功能的讨论并不意味着即将在产品中实现它。

第三章 需求获取综合版

第三章    需求获取综合版
第三章
需求获取
项目类别
科研类项目 工程类项目 产品类项目
需求获取的类型
依据需求的来源,需求获取活动可分为三类:
首次工程 再工程 界面工程。
应搜集什么信息 从什么来源中搜集信息 用什么机制或技术搜集信息
需求分析员
即使没有明确指定,软件项目组中也会有某个人会担当需求分
析员的角色。 企业的IS组织中,行使这一职责的专家被称为业务分析员。
需求开发的作用是各方对用于解决客户问题的系统形成了一致的理 解。 需求分析员负责编写条理清晰的需求规格说明,从而清楚地表述出 这种理解。
为需求建模
需求分析员应该适时地选用文字以外的方式来表达需求。
需求分析员的工作
主持对需求的验证
分析员还要对设计、代码和测试用例(源于需求说明)进行检查。
引导对需求的优先级划分
需求调研通常会遇到的几个问题:
1. 甲方没有经验,没有派出真正的用户来提供需求,乙方没 有接触和获取到甲方真正的业务需求。 2. 甲方派出的用户七嘴八舌,就同一个问题提出多种想法, 搞得乙方无所适从,不知道该听谁的。 3. 甲方的用户对于计算机一无所知,寄希望于通过计算机系 统来解决所有的问题,通常的提法是,用这个系统把我们 所有的事情都能解决了。 4. 乙方的人员对甲方的业务领域不熟悉,也不擅于沟通,开 会时与甲方没有办法形成互动,大眼瞪小眼,形成冷场。
需求调查对象 对组织的高层管理者,进行组织管理目标或经营方针等组织战略问题 的调查 对中层的管理者,进行全部业务流的调查 对业务工作人员,进行详细业务信息的调查 市场调查 了解市场对待开发软件有什么样的要求;了解市场上有无与待开发软件 类似的系统 考察现场 了解用户实际的操作环境、操作过程和操作要求。对照用户提交的问题陈 述,对用户需求可以有更全面、更细致的认识。 观察用户工作流程 用户和开发人员共同组成联合小组

需求获取

需求获取



第3项任务:画出目标系统的数据流图DFD,即 单据和报表的流图,掌握业务规则,获得初步数 据模型(真正的数据模型是E -R图加上相应的数 据字典)。 数据流图中要突出单据流,分清不同单据之间的 先后流动次序,以及同一单据中的不同数据项的 先后流动次序。数据流图的画法多种多样,各软 件组织可根据自身的习惯和特点,制定一套图形 规则,在本组织内统一遵守。数据流图的制作工 具,可以是微软的桌面办公工具Office(Word , Visio),也可以是Power Designer中的数据流图 绘制工具Process Analyst。
判定表
判定表



计算所有可能的条件组合,确定规则个数,填写判定表 的右上限。 将每一组合指定的操作,添入右下限相应的位置。 简化规则,合并及删除等价的操作。 合并原则是:找出操作在同一行的,检查上面的每一个 条件是否影响该操作的执行,如果条件不起作用,则可 以合并等价操作,否则不能简化。 如果对判定表进行了化简,就需要将化简后的结果重新 排列。
馆长室
采编部 藏书部 借书处
全馆业务的组织领导,全馆信息 的查询 图书的采购、分编
图书的入库、保存、迁移、出库 图书的借书、还书
5
6
阅览室
读者服务部
杂志和书报的开架阅览与借还管 理
读者信息管理、读者网上图书查 询
岗位 编号 1011
岗位 名称
所在 部门
岗位职责 图书采购、进货 合同的签订、出 版社的选择



需求是一个迭代过程 由于人们对客观事物的认识不断深化,所以需求 过程是一个迭代过程,每次迭代提供更高质量和 更详细内容的软件需求。 这种迭代会给项目带来一定的风险,上一次迭代 的设计实现可能会因为需求不足而被推翻。但是 ,软件分析师应根据项目计划,在给定的资源条 件下得到尽可能高质量的需求。

广工2013级需求工程复习重点

广工2013级需求工程复习重点

一、需求工程的活动1.需求获取:需求获取是从人、文档或者环境中获取需求的过程。

2.需求分析:需求分析的主要工作是通过建模来整合各种信息,从而使人们更好地理解问题。

3.需求规格说明:获取的需求需要被编写成文档,其中项目前景和范围文档记录业务需求、用户需求文档记录用户需求、系统需求文档被写入需求规格说明记录系统需求。

4.需求验证:以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性,包含有效性检查,一致性检查,可行性检查和确认可验证性;5.需求管理:支持系统的需求演进,如需求变化和可跟踪性问题。

二、业务需求、用户需求、功能需求、非功能性需求1.业务需求:是抽象层次最高的需求,是系统建立的战略出发点,表现为高层次的目标,它描述了组织为什么要开发系统。

2.用户需求:是执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么。

3.功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。

功能需求主要表现为系统和环境之间的行为交互。

4.非功能性需求:除了功能需求之外的其他4种类别需求,包括性能需求,质量属性,对外接口,约束。

三、项目前景和范围的内容项目前景:1.前景概述:用一个简洁的声明概括系统的长期目标和意图。

2.主要特性:为新产品的每一项主要特性或用户功能进行固定的、唯一的命名或编号,突出其超越原有产品或竞争产品的特性。

3.假设与依赖:记录构思项目和编写前景与范围文档过程中涉众所提出的每一项假设,能够避免可能的混乱以及这种混乱会在将来造成的影响。

项目范围:1.第一版范围:概述计划在产品的第一个版本中实现的主要特性。

描述产品的质量特性,产品依靠这些特性为不同类别的用户提供预期利益。

2.后续版本范围:后续版本能够实现更多的需求和特性,并可完善最初的功能。

3.限制与排除:管理范围蔓延的方法之一是,定义项目包含的需求与不包括的需求之间的界限。

需求工程 ppt课件

需求工程  ppt课件

场景
场景是用例的具体描述。一个用例封装了一组场景,
每个场景就是一个单个线程。
ppt课件
21
例1:列出图书馆系统与以下参与者(角色)交互的最 小用例集:借阅者、借书员、图书管理员、会计系统。
借阅者: • 按题目查询书籍 • 按作者查询书籍 • 按主题查询书籍 • 预定已被其他人借出的书籍 • 查询借阅者的个人信息并列出借阅的书籍
领域分析 需求获取 需求分析与建模 需求规约与验证 需求管理
ppt课件
1
2.1 领域分析
1、领域分析的概念 软件工程要处理两类工程:
(1)面向用户的业务过程工程 (2)面向市场的产品工程 (见下图)
领域(domain),就是指解决问题的范围,从最高层的 角度(业务域)描述系统。
系统分析可以发生在许多不同的抽象层次: 在业务或企业级层次,可定义描述模拟整个业务的功 能、结构和行为的模型; 在应用层次,建模着重于特定的用户需求。
(3)需求的描述
• 自然语言、结构化语言、PDL • 图形化表示(使用Rational Rose、Microsoft Visio、Enterprise Architect等工具) • 数学描述(形式化语言描述)
ppt课件
15
2、需求工程过程
需求工程是一个包括创建和维持系统需求文档所必 需的一切活动的过程。它包含了如下活动:
• 经济和业务环境决定了分析是动态的,需求在分 析过程中会发生变更。个别需求的重要程度会改变, 新的需求会从新的项目相关人员那里得到。
ppt课件
19
需求获取技术
• 建立由客户(用户)、系统分析员、领域专家参加的 联合小组。
• 需求获取的方法:个别访谈、召集会议、文档研究、 问卷调查、观察用户工作流程、建立原型。

第4章需求获取

第4章需求获取

关方对目标软件系统的需求,并以其容易理解 的业务语言阐述这些需求,形成文档。 需求获取是需求工程中后续活动(分析、规范 化等)的基础,需求工程又是后续软件开发活 动的基础。 需求获取对于软件项目的成败具有决定性影响。 需求获取活动的主要完成者是来自软件开发方 的需求工程师。 其他参与者包括来自委托方或投资方的客户, 来自使用方的用户,以及项目软件经理和质量 保证工程师(见第十六章)。
国防科技大学计算机学院 20
2019/3/16
图的布局攸关其可理解性。建议读者采纳以下
布局规则: 主要的执行者应置于用例图的左上区域。 触发用例执行的主动执行者应位于用例的左面,接 收用例产生的信息的被动执行者应置于用例的右面。 多个用例沿垂直方向排列。如果用例A的执行时间 一定在B之前,那么最好将A置于B之上。 在水平方向绘制包含关系,并将被包含的用例置于 包含用例的右侧。 在垂直方向绘制扩展和继承关系,并将扩展用例置 于被扩展用例的下方。将继承用例置于被继承用例 的下方。
2019/3/16 国防科技大学计算机学院 18
用例之间的关系
为避免语义上的复杂性,用例之间的关系不应超过
两层。 如,如果用例A、B、C、D之间依次两两之间都有包 含关系,则表明建模者采用了功能分解方法,这与 用例建模所处的需求工程阶段不协调,也不符合面 向对象的思维方式。 在用例图中,每个执行者必须至少与一个用例相关 联;反之,除被包含、被扩展的用例外,每个用例 必经至少与一个执行者相关联。 如果一个执行者未与任何用例相关联,那么它就没 有必要在用例图中出现。 如果被继承的用例未与任何执行者相关联,那么应 该将它与其(用例继承意义上的)特化用例合并。
国防科技大学计算机学院 17

第3章 需求分析、需求获取

第3章 需求分析、需求获取
指明数据在系统中移动时如何被变换; 指明数据在系统中移动时如何被变换; 描述对数据流进行变换的功能; 描述对数据流进行变换的功能; DFD中每个功能的描述包含在加工规约 DFD中每个功能的描述包含在加工规约 小说明) (小说明)。
状态变迁图(STD) 状态变迁图(STD)
指明作为外部事件的结果, 指明作为外部事件的结果,系统将如何 动作。 动作。
(1) 调查 -> 当前系统的物理模型
购 书 购 领 发 申 书 书 书 请 教务科 单 会计室 票 出纳员 单 学 教材科 107 206 206 303 生 王 张 李 赵
学 生
学生购买教材的物理模型
(2) 去掉非本质因素->当前系统的逻辑模型 去掉非本质因素购 书 申 学 请 购 书 单 开发票 发 票 领 书 单 发书
§3.2 需求获取
3.2.1 需求获取的目的 清楚地理解所要解决的问题 完整地获取用户需求
需求获取面临的挑战: 需求获取面临的挑战:
(1)问题空间理解 (1)问题空间理解 (2)人与人之间的通信 (2)人与人之间的通信 (3)需求的不断 (3)需求的不断变化 需求的不断变化
某出版社系统调查表
编 号
第三章
软件需求分析
§3.1 需求分析的任务
准确地定义 准确地定义未来系统的目 定义未来系统的目 标,确定为了满足用户的需求 系统必须做什么。 系统必须做什么。用 <需求规 格说明书> 格说明书> 规范的形式准确地 表达用户的需求 需求。 表达用户的需求。
思考、涉及的几个问题
如何定义系统需求? 如何定义系统需求?
描述加工逻辑的工具: 描述加工逻辑的工具: 结构化语言 判定表 判定树
处理名: 处理名:核实订票处理(MHGP3200MD) 编号: 编号: 3.2 激活条件: 激活条件:收到取订票信息 处理逻辑:1 :1读订票旅客信息文件 处理逻辑:1读订票旅客信息文件 2搜索此文件中是否有与输入信息 中姓名及身份证号相符的项 IF 有 THEN 判断余项是否与文件中信 息相符 IF 是 THEN 输出已订票信息 ELSE 输出未订票信息 ELSE 输出未订票信息 执行频率: 执行频率: 实时

软件工程-需求获取

软件工程-需求获取

§4 Capturing the requirements第4章需求获取引言:前几章,讨论了系统开发的阶段。

成功的软件开发都有几个关键的步骤,每个软件开发过程模型都包括捕捉软件需求的活动:理解顾客和用户期望这个系统能做什么。

这是整个开发活动的基础,能不能获取用户真正的需求直接决定着项目的成败。

In this chapter, we look at(本章,我们来看一下):●Eliciting requirements from our customers(从顾客诱导需求)●Types of requirements(需求类型)●Notations and methods for capturing(需求获取的符号和方法)●Reviewing requirements to ensure(复查需求以保证质量)●Documenting requirements for use by the design and test teams(文档化需求以供设计和测试团队使用)首先,确切地检查一下需求是什么以及我们如何同用户、顾客一同定义并文档化需求。

4.1 the requirements process(需求过程)(1). what is the requirements?Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the system’s purpose. (需求就是系统的特征或者说是系统为完成系统的目标所能做的某事的描述。

)(2). the process of determining the requirements(Shown by Figure 4.1)1) First, we work with our customers to elicit the requirements, by asking questions, demonstrating similar systems, or even developing prototypes (首先我们通过问问题、论证相似系统,甚至开发目标系统的全部或部分原型同顾客共同工作以引出需求。

03-3 需求分析(需求获取技术)

03-3 需求分析(需求获取技术)

必要的补充说明(数据结构、业务规则)
21:55 河海大学计算机及信息工程学院 郭学俊 30
书写用例文档:示例1
1、用例:登记成绩(Submit Grades) 2、用例目标:本用例允许教师提交一门课程的学生成绩。 3、事件流 基本流程:当教师希望提交上学期完成的一门或多门课程的学 生成绩时,本用例开始执行。 (1)系统显示教师上学期所教的课程列表; (2)教师选择所教课程; (3)系统检索出已注册此课程的学生列表,显示每个学生及其以 前所给的成绩; (4) 对于列表中的每个学生,教师输入百分制成绩,系统记录所 提供课程的学生成绩。如果教师希望跳过某个特定的学生,其相应的 成绩可以为空,以后在进行填写。教师可以修改学生的成绩。 可选流程:在主流程中,如果教师在上学期没有教课,系统将显 示错误信息,教师接受此信息,用例结束。 4、前提条件:用例开始之前,教师必须在系统登录成功。 5、后置条件:如果用例执行成功,所提供课程的学生成绩被更新,否 则,系统状态不变。

事件流描述:哪些角色在什么情况下启动执行用例;信息交互流
程;不同条件下可以选择的交互流程。描述语法:主+谓+宾,主语是 角色或系统。
基本流程
1. 角色做什么; 2. 系统做什么; 3. … … X X X X;
可选流程(扩展流程)
3a. X X X X; 3a1. … … X X X X; 3a2. … … X X X X; 3b. X X X X; 3b1. … … X X X X;
21:55 河海大学计算机及信息工程学院 郭学俊 1
本章主要内容

3.1 软件需求概念
-软件需求的问题、定义、层次、来源、依据、目标

3.2 需求工程过程

需求分析二三话之获取需求的几种简单方法

需求分析二三话之获取需求的几种简单方法

需求获取的几种简单方法很多做需求的都会遇到这类需求“我想要的是这个。

,我想做的是这个。

,但是却没有具体内容和实际实务支撑只能是一个大致模糊的想法”。

这样就需要需求分析师自己在判断客户的想法以及客户想要的东西的专业上,具现化这些需求(简单的说无中生有)。

遇到这类问题好多人都不知道我该做什么,因为没人会告诉你做什么、怎么做。

在我以往的工作中也经常遇到这类模糊需求,曾经饱受折磨。

在痛苦中学到几个小技巧在此分享。

一弄清楚需求根源与目的弄清楚需求的根源与目的是需求分析工作的核心,所有工作都是围绕这两点展开的。

首先要弄清楚需求是如何产生的,(例如:1 客户提出的需求,这样就会有具体业务支撑。

2 领导想做出一份需求用来说服客户等)。

然后要弄清楚需求的最终目的是什么。

有了上述两项然后制定需求的获取方法。

二如何具现化需求这里我们要说的就是需求的获取方法,我个人有三种小方法学习、创造和实践,一个需求可以采用其中一种方法也可以两到三种方法叠加使用。

下面我们就具体的说一说每一种方法。

1 学习法学习是一种效率最高的方法,我的学习就是查需求相关的资料或直接找需求相关的产品来学习。

当理解了之后在针对自己这边的具体需要来整理和修改需求使其能够适应需求。

学习的重点就是如何理解已有产品的各项功能,并找到其为什么要这样做的目的,这样需求就明确了(即:怎么做,为什么这样做)。

有了模版需求就可以按自己的需求来整理和修改了(注意:一定要弄清楚整体的需求结构,在不是理解非常透彻的情况下不要去改变结构,切记勿断章取义)。

2 创造法创造是最好的一种方法,但是创造需要有基础没有基础是创造不出来的。

首先目的是什么一定要非常明确,就是说要非常明确需求的目标和客户想要的结果(不能有些微的误差、便宜和分歧)。

其次要对业务非常的了解,在目标确定之后要对产生目标的整个业务流程的理解都要达到专业级的,每一个分支每一个步骤都要有理有据,并且需要与需求目的贴切(例如:需求目的是简单便捷,就不能做功能复杂的需求)。

《软件需求分析》第3章 需求获取课件

《软件需求分析》第3章 需求获取课件
分的时间与开发人员进行交流和讨论 ; 2. 有时用户希望通过简单的方法和说明,或者
通过简单回答开发人员的询问后,软件开发 人员就能清楚地理解他们的需求,而不需要 花费太多的时间进行讨论;
2023/6/25
15
3.4实地收集需求信息
3. 用户和开发人员都只考虑自己的利益;如: 有些用户由于缺乏使用计算机的经验,导致 产生畏难情绪;有些用户认为开发软件系统 自己的关系不大,对待需求信息的收集工作 采取消极的态度。
4
3.2确定项目的目标和范围
此阶段的基本任务是根据项目目标把项目 相关人员定位到一个共同的和明确的方向上, 并决定软件系统的范围。
项目的范围与项目的目标特别是软件系统 的目标需求是密切相关的。
2023/6/25
5
3.2确定项目的目标和范围
在收集目标需求时,目标需求会来源于各 个不同的人,这些人对要开发的软件系统及该 系统最终能为用户或客户提供哪些价值有比较 清楚的了解。
理。
10)尊重需求工程中开发人员采用的流程(过程)。
2023/6/25
10
3.3确定调查对象
软件需求可来自与各个方面,而且用户类 也不一定都是指人。有时也可以把其它应用系 统或计算机硬件设备和接口等视为附加的用户 类成员,这样就可确定软件系统与哪些外部应 用系统或计算机硬件相关的需求。这就是说需 求信息来源除了来自用户类外,还可来自于其 它方面。
7
3.3确定调查对象
软件系统面临的用户是很多的,而这些用 户由于所在的部门、职责和掌握的知识不同而 存在差异,为了避免忽视和遗漏某些用户的情 况,可以根据用户的某些方面将用户分类。
2023/6/25
8
3.3确定调查对象
在将用户分类后,在分类的基础上进一步 寻找每类用户的代表或联络人,这些人代表了 一个特定的用户类,并可充当该用户类与开发 人员之间的“窗口”。

需求获取名词解释

需求获取名词解释

需求获取名词解释需求获取,这四个字听起来好像有点专业,有点高大上,是不是?但其实啊,它就像我们每天找东西吃一样常见和重要!你想想,当你肚子饿了,你得知道自己想吃啥,是热气腾腾的饺子,还是香甜可口的蛋糕?这就是在获取你肚子的“需求”嘛。

需求获取也是这个道理,只不过对象不是我们的肚子,而是各种各样的事情、项目、产品等等。

比如说,一家公司想要开发一款新的手机应用程序。

那首先得搞清楚用户到底想要什么样的功能,什么样的界面设计,什么样的使用体验。

这就需要去获取用户的需求啦。

要是不搞清楚这些,闷头就开始开发,那结果可能就像做了一道没人爱吃的菜,白忙活一场!再比如,学校要组织一场运动会。

那得先知道同学们喜欢哪些项目,是跑步、跳远,还是篮球比赛?还得了解大家希望运动会在什么时候举行,是周末还是工作日?这也是在获取需求呀。

如果不了解清楚,运动会可能就会冷冷清清,没人愿意参加。

需求获取可不是随便问问就行的。

就像医生给病人看病,得仔细询问症状,做各种检查,才能准确诊断病情。

获取需求也得有方法,有技巧。

不能像没头的苍蝇到处乱撞,也不能像个糊涂虫啥都不清楚。

要获取需求,就得学会倾听。

听别人怎么说,怎么想。

可别人家还没说完,你就打断,那能获取到啥准确的需求呀?就像听故事,得让人家把故事讲完,你才能明白到底是怎么回事。

还得学会观察。

有时候,人们说的和做的不一定一样。

比如有人说喜欢跑步,可每次跑步都偷懒,那说不定他不是真的喜欢跑步,只是嘴上说说。

所以得观察观察他们的实际行动,才能更准确地获取需求。

而且,需求是会变化的。

今天喜欢这个,明天可能就喜欢那个了。

就像你今天想吃冰淇淋,明天可能就想吃巧克力了。

所以获取需求不是一锤子买卖,得持续关注,不断更新。

总之,需求获取是个非常重要的工作。

做好了,事情就能顺顺利利,大家都满意;做不好,那可就麻烦啦,浪费时间、浪费精力,还可能一事无成。

所以,咱们可不能小看这需求获取,得用心去做,才能得到想要的结果!。

第03章-需求-02-需求获取技术

第03章-需求-02-需求获取技术
我们可以证明这种技术能够实现我们想让它完成的那些功能吗?
构建系统原形,以验证可行性和发现需求

产生、评估方案

创建系统的最好方案是什么?我们是否已经构建出一些原形可以 使用户完全理解新系统的潜在功能
我们应不应该继续、设计和实现我们提出的新系统
6.
同管理部门一起复查各种建议

1、收集信息

原则:
1)自顶向下;

例:



3.3 系统需求类别(cont.)
4. 环境需求Environments 硬件设备:


计算机型号、外部设备、设备接口、安装地点 分布场地、环境温度要求、环境湿度要求、磁场干扰要求、 等等
操作系统、数据库、编程语言等


软件:

网络
3.3 系统需求类别(cont.)

观察方法


使用工作流图来进行记录

3)观察并记录业务流程
请假
学生 申请 辅导员 系主任
N
申请
请假单
一天内吗
Y N
N
同意
同意
Y Y
审批
请假单
归档
归档

4)建立系统原形

快速收集用户信息需求的特定信息的重要技术。 系统分析师设法寻求用户和管理层对原型的反映 用户关于改变或清理原型化系统的建议 可能的创新和修订计划

复查笔记的准确性、完整性和可理解性 将所收集的信息转化为适当的模型和文档 确定需要进一步澄清的问题领域 适当的时候向参加会议的每个人发一封感谢信
举行面谈清单(样例)

面谈目的 确定销售佣金率的处理规则 日期、时间和地点 2008年3月21日,9:00am, 市场总监办公室 用户参加人员 市场总监,财务经理,市场销售部经理及几个职员 项目小组参加人员 ***,*** 面谈/讨论

工程项目需求获取的几种方法及其适用环境

工程项目需求获取的几种方法及其适用环境

工程项目需求获取的几种方法及其适用环境摘要:我们知道,需求调研不充分、用户需求描述不完整不准确,轻则影响项目建设的顺利程度,重则影响应用系统的质量,甚至决定项目的成败。

俗话说,“良好的开端是成功的一半”。

需求获取作为项目伊始的活动,是非常重要的。

目前我们所开发的软件项目一般有两种类型:产品项目和工程项目。

产品项目一般都会有充足的时间进行非常仔细的需求调研和分析,而工程项目却并非如此(因为它往往受诸多因素的影响)。

本文拟讨论如何根据工程项目的实际特点,采用合适的方法低成本高效率地获取用户的需求。

关键词:工程项目需求获取方法产品项目一般是根据公司战略和市场需求研发的旨在进行批量出售或推广的项目,工程项目一般是根据与用户签定的合同研发的旨在满足特定用户需求的项目。

笔者所开发和管理的项目主要是工程项目,在项目的建设过程中,感觉到最头疼的是项目需求的获取;我们往往要花相当大的精力在需求获取和需求确认上,然而有时效果还很不理想。

经过几年时间的项目实践,我们逐步总结出针对不同项目情况所适合采用的需求获取方法,这些方法能大大提高需求获取的效率。

现总结之,愿与大家分享。

我们知道,一个工程项目,如果从开发方(即承建方)和用户方(即建设方)对需求的清楚程度来分,大致可以分为如下四种:开发方和用户方都清楚项目需求、开发方不清楚项目需求但用户方清楚、开发方和用户方都不清楚项目需求、开发方清楚项目需求但用户方不清楚。

针对这四种类型的项目,我总结出四种对应的需求获取方法:问卷调查法、会议讨论法、界面原型法和可运行原型系统法。

以下逐一解析之。

一、问卷调查法所谓“问卷调查法”,是指开发方就用户需求中的一些个性化的、需要进一步明确的需求(或问题),通过采用向用户发问卷调查表的方式,达到彻底弄清项目需求的一种需求获取方法。

这种方法适合于开发方和用户方都清楚项目需求的情况。

因为开发方和建设方都清楚项目的需求,则需要双方进一步沟通的需求(或问题)就比较少,通过采用这种简单的问卷调查方法就能使问题得到较好的解决。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

v
v
要点:需要有一个经验丰富、能够把控大局的主 持人。 如何计划并实施需求专题讨论会
§ 专题讨论会准备 § 实施 § 总结
会前有准备
推销概念:充分的准备是会议的关键,要推销需 求专题讨论会的好处 v 确保真正的风险承担人参与 v 后勤保障 v 热身材料:在开会前散发资料 > 项目专有信息:需求文件草案、已排序的特 性… > 摆脱束缚思想的:提供创新方法、自由讨论规 则… > 2天~1周内散发,太早会使人忘记!
需求获取技术-问卷调查
v
当潜在使用者太多或分布太广时,可以考虑采用 问卷调查方式。是面最广的技术。
§ 利:面广,能够获得更多的人的反馈。这点是对用户 访谈技术不足之处的最好补充。 § 弊:不够深入,容易形而上学。而这点是正是用户访 谈技术所能够解决的。
v
一般来说,问卷调查适合于大型企业或公众信息 系统的设计,因为它所涉及的使用范围或对象太 广,需求分析人员无法逐一亲自调查,所以利用 问卷调查方式来收集使用者需求比较好。
v
用户访谈:异常现象
案例练习1:期刊传阅
v
v
v
v
一个约有1000名员工的保险公司订阅了大约50份期刊(杂志、 报刊)。期刊在公司内部传阅,员工可以要求加入传阅队列。目前 的传阅过程是:图书室登记公司收到的期刊,为期刊附上一份传阅 名单,并交给名单中的第一位员工。期刊经由公司内部邮递系统传 递。员工应在三个工作日完成阅读,并在名单上签名及写上日期, 然后交给名单的下一位员工。最后一位员工阅读完毕后,将期刊交 还图书室以便共用。 但是,员工经常忘记已收到期刊,或者未将其传递给名单中的 下一位员工。在一段时间后,无人知道期刊应该在谁手上。整个传 递过程难以记录,员工也往往互相指责健忘、粗心等。 公司的IT部门负责开发内部商业应用,该部门建议一个计算机 管理系统以记录期刊的传阅情况。员工阅读完毕后通知系统,系统 回应下一位阅读者,下一位员工必须确认已收到期刊。系统也应能 在员工忘记传递期刊时发出提醒信息。 管理图书室的人事部门认为这是一个很好的主意。尤其是他们 系统能够根据假期(员工请假两周将无法阅读),以及根据员工是 否守时(能否在三天内将期刊传递给下一位员工),安排传阅名单 的次序。
v
构建需求变更的感应器
流程变化:流程顺序变化,流程细节变化,流程 负责人变化,流程输入变化,流程输出变化。 v 数据变化:数据格式变化、数据规则变化、数据 输出变化、数据项变化 v 业务规则:规则增加、规则减少、规则变化 v 系统表现形式变化:界面、风格、输入形式、 展现方式、访问方法、网络环境 v 目标变化
v
问:怎样获取需求?
答:
用户 开发商 引导
需求采集 需求分析
方法论
《需求规格说明书》 《需求分析建议报告》
需求定义
获取需求定义
1
需求采集
采集什么内容? § 系统建设目标
从哪里采集? § 横向:各业务 科室 § 纵向:省、部 标准规范 § 经验:核心平 台、同行业其 他城市、现有 系统
怎么采集? § 调查问卷 § 座谈 § 考察、培训
用户访谈的类型
用户访谈
一般建议不超过1小时,否则应安排下一次面谈 v 时间安排: > 开场白:陈述理解 5~15 Min > 预先计划问题:主体工作 25~30 Min > 即兴问题:展开性 20~30 Min > 总结:陈述理解 5~10 Min v 地点选择:适当的不受干扰和避免打扰 v 记录:自己做笔记(分神)、专门一同事做笔记 (成本高)、录音 (失去身体语言)/录像(难 操作)à自己做笔记+录音
记录需求理由
v v v v
需求理由是指关于某需求的原因的概要信息 效益:提高对需求的理解 实施 可能存在的问题
§ 使人误解的理由 § 不一致的理由
实际工作的指导原则
针对产品方向建立需求获取问题模板; v 对每个需求问题记录原因和目的; v 在实际工作中不断完善和改进;
v
需求获取前管理准备
需求分析前最好明确系统要采用的技术体 系 v 组织队伍 v 准备相应的文档 v 联系和了解用户方 v 编写计划
v
重点
需求获取的重要性 v 需求获取的策略 v 需求获取前准备 v 需求获取的主要技术 v 需求获取的相关工具
v
需求获取的方法(技术)
访谈(面谈)与问卷调查 v 会议(需求讨论会、重点问题讨论会、业务 专题讨论会、设计专题讨论会) v 文档研究 v 任务示范(观察) v 用例与角色扮演 v 原型设计(小规模试验) v 研究类似公司
难以探索一些新的领域 v 难以继续用户的模糊响应
v
用户调查:问卷设计
v
篇幅与布局 1.由易到难 2.逻辑相关性 3.控制在1~3页内 问题类型选择 1.封闭性问题à半封闭性问题 2.开放性问题:跟随策略+简短
v
需求获取技术-需求专题讨论会
v
一种适用于任何情景的技术。最理想的技术。
§ 优点:客户、开发人员直接的头脑风暴,是击破需求 盲点的关键手段。 § 缺点:成本高,如果缺乏控制会变成一次闲扯大会。
获取需求准备一-相关人员分析
不同层次的用户需求也截然不同
1
需求采集
2
需求分析
3
需求定义
相关人员分析
v v v
相关人员是指那些直接或间接从开发的系统中受 益的人。 效益:发现所有可能的需求源 识别项目相关人员的方法:
§ 系统潜在的最终用户 § 系统打算支持的业务过程描述以及与这些过程相关的 人 § 与管理部门讨论,询问谁会受到系统引入的影响 § 考虑使用系统的组织的客户 § 负责开发和维护系统的工程师和维护人员 § 考虑可能希望给系统添加需求的监管机构和认证机构
准备二-需求获取应明确的问题
v v v v v v v v v v
当前整体业务需求的目的和可行性陈述 系统或产品范围的限制性陈述 要求提供的需求功能列表和应用于每个需求的领域 限制 将来发展的设想 明确服务器、客户机的软、硬件及性能要求(容量、 速度、可操作性等) 用户目前相关的技术人员和业务人员情况 将来最终系统操作人员的技术及业务人员情况 用户需求的系统及用户本身或其它系统的接口要求 一组使用场景,提供在不同运行条件下系统的使用 情况 为更好地定义需求而开发的任意原型
用户调查
v 要点:结合用户访谈技术使用。
> 先访谈,后调查à用调查验证访谈结果 > 先调查,后访谈à用调查理清方向 v 如何进行问卷调查:设计问卷、预先测试、 调查对象划分、问卷总结等
用户调查:主要用途
v
搜索某项假设的统计依据:设计一些封闭的问 题,例如“从现有系统中取得客户统计资料的难易 程度:非常困难、相当困难、容易、非常容易”
v v v
v
v v
v v
确定需求获取计划和问题清单 确定能够帮助刻画需求和了解他们组织的人员 定义系统将放置其中的技术环境(如计算体系结构、 操作系统、电信需要) 确定“领域约束”(即特定于应用领域的业务环境的特 征),这些约束将限制待建造系统的功能和性能。 定义一种或多种需求获取方法 要求很多人员参与,以使得需求能够从不同的视角进 行定义;确定每个要记录需求的理由。 确定有歧义的需求为原型实现的后选 创建使用场景,以帮助客户/用户更好地确定关键需求
需求获取与分析的两个层次
v
项目中标前
§ 目标:项目应标成功 § 获取的要点:全局性、业务需求和用户需求
v
项目中标后
§ 目标:确定项目范围 § 获取的要点:用户需求、功能需求
需求获取的误区
v 缺乏计划性:随意、走过场,预先没计划 v 缺乏科学性:未从本质入手 v 捕获对象不明确,甚至造成岐义 v 过于迷信现有文档 v 过于迷信“听”到的东西
v
会中有控制
中间休息 迟到 1次自由 廉价攻击
规则:每人先发一张,允许迟到一次 而后向罚款箱投入xx元 目的:保持会议的动向
规则:每人先发一张,允许自由攻击 或批评任何个人或部门,而后 再出现就向罚款箱投入xx元 目的:逗趣并提醒人们注意发言
v
措施:设计文档(相关人员列表和需求原因)
用户群划分
§ 明确各类人员的需求权威
v决策层:系统建设目标、原则,业务流程优化程度 v业务人员:业务的把握、政策的把握、业务流程的把握 v技术人员:数据项描述、性能需求 v操作人员:界面的操作风格、输入输出数据项
决策层 技术人员 业务人员 操作人员
用户群划分
v
需求获取技术-用户访谈
v
用户访谈是最基本、最常见的技术
§ 优点:直接有效、形式灵活、交流深入,应该做为主 要的需求捕获技术(宽带通信、固有灵活性、各类信 息) § 缺点:占用时间长(特别当客户忙时更显示出其不 足)、面窄而容易造成信息的片面性。
v
要点:
§ 首先要有准备:通常包括说明对流程的理解,并征得 客户的意见;预先根据流程中的不明确点设计要询问 的问题,并将客户的反馈记录下来;应留有一些即兴 的空间,根据实际情况应变,以确保信息完善。 § 第二是要有计划性:计划好时间、计划好人员、计划 好策略。
搜索意见、建议:询问与用户访谈类似的开放性 问题,例如“日常工作中的三个最大问题是 什么?”,“你对能够更好地支持日 常工作的IT系统有什么建议”。 v 存在的主要问题
v
用户调查:主要困难
相关的问题不能事先决定 v 误解你的问题,你误解他的回答 v 问题背后的假设对答案会造成偏颇
v
§ 例如:这功能符合你的期望吗? § 假设:你有期望,所以这是一个有意义的提问
v
构建需求变更的感应器
转换--捕获时的有效策略
需求捕获阶段一
需求捕获阶段二
事件流

相关需求
界面原型
规则与约束
相关文档
最新文档