基于用例的需求分析模式 PPT课件
合集下载
《需求分析》PPT课件 (2)
2021/4/26
14
3.1.4 修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体的 了解,可以比较准确地估计系统的成本和进度,修 正以前制定的开发计划。
2021/4/26
15
3.2 与用户沟通获取需求的方法
• 访谈 • 面向数据流自顶向下求精 • 简易的应用规格说明技术 • 快速建立软件原型
2021/4/26
33
2021/4/26
34
为了消除用自然语言书写的软件需求规格说明书中
可能存在的不一致、歧义、含糊、不完整及抽象层
为了解决上述问题,人们研究出一种面向团队的需
求收集法,称为简易的应用规格说明技术。这种方
法提倡用户与开发者密切合作,共同标识问题,提 出解决方案要素,商讨不同方案并指定基本需求。 今天,简易的应用规格说明技术已经成为信息系统 领域使用的主流技术。
2021/4/26
22
典型过程如下:
1. 进行初步的访谈,开发者和用户分别写出“产 品需求”。
2021/4/26
19
3.2.2 面向数据流自顶向下求精
软件系统本质上是信息处理系统,而任何信息处理 系统的基本功能都是把输入数据转变成需要的输出 信息。数据决定了需要的处理和算法,看来数据显 然是需求分析的出发点。在可行性研究阶段许多实 际的数据元素被忽略了,当时分析员还不需要考虑 这些细节,现在是定义这些数据元素的时候了。
2021/4/26
28
(3) 形式化规格说明和原型环境
在过去的20多年中,人们已经研究出许多形式化规 格说明语言和工具(参见第4章),用于替代自然语言 规格说明技术。今天,形式化语言的倡导者正在开 发交互式环境,以便可以调用自动工具把基于形式 语言的规格说明翻译成可执行的程序代码,用户能 够使用可执行的原型代码去进一步精化形式化的规 格说明。
《需求分析》幻灯片PPT
❖ 从数据流图的输出端着手分析,这是因为系 统的根本功能是产生这些输出的关键原因。
❖ 输出数据决定了系统必须具有的最根本的组 成元素〔包括功能和数据构造组成〕。
3.2.2 面向数据流的自顶向下求精
❖ 注意1:第2章给出了1种数据流图的分析方法 〔教材〕,其目的主要是导出较高层次较粗 糙的数据流图,而需要准确地收集需求,采 用本章的从数据流图的输出向输入的回溯方 法。
面向数据流方法的分析过程
❖ 沿数据流图回溯 ❖ 用户复查 ❖ 细化数据流图 ❖ 修正开发方案 ❖ 书写文档 ❖ 审查和复审
沿数据流图回溯
❖ 从数据流图的输出向输入回溯,依次确定每 个数据元素的来源〔组成和实现算法〕;
❖ 把数据元素的信息记录到数据字典中; ❖ 把对算法的简明描述记录到IPO图中; ❖ 补充的数据流、数据存储和处理应该添加到
❖ 简易的应用规格说明技术 ❖ 快2.1 访谈
❖ 最早并且仍然广泛使用 ❖ 正式的访谈:具体问题的问答形式 ❖ 非正式的访谈:开放式、交互性的问答 ❖ 需要调查大量人员时采用“调查表〞技术 ❖ 还使用“情景分析技术〞〔用户角度〕,就是
对用户将来使用目标系统解决某个具体问题 的方法和结果进展分析。
明
(DD)
说
明
状态转换图
(STD图)
控制说明
面向对象分析模型的组成构造
操作、
类/对象
对象-关
模型
使用实例
(Use Case)
系模型
对象-行为模型
3.3 分析建模与规格说明
❖ 构造化分析方法的创立的几个主要模型及关 键元素如下:
❖ 数据模型:E-R图〔E-RD〕〔本章介绍〕 ❖ 功能模型:数据流图〔DFD〕 ❖ 行为模型:状态转换图〔STD〕〔本章介绍〕 ❖ 数据字典:模型中心〔DD〕 ❖ 根据上述模型整理出软件需求规格说明书
❖ 输出数据决定了系统必须具有的最根本的组 成元素〔包括功能和数据构造组成〕。
3.2.2 面向数据流的自顶向下求精
❖ 注意1:第2章给出了1种数据流图的分析方法 〔教材〕,其目的主要是导出较高层次较粗 糙的数据流图,而需要准确地收集需求,采 用本章的从数据流图的输出向输入的回溯方 法。
面向数据流方法的分析过程
❖ 沿数据流图回溯 ❖ 用户复查 ❖ 细化数据流图 ❖ 修正开发方案 ❖ 书写文档 ❖ 审查和复审
沿数据流图回溯
❖ 从数据流图的输出向输入回溯,依次确定每 个数据元素的来源〔组成和实现算法〕;
❖ 把数据元素的信息记录到数据字典中; ❖ 把对算法的简明描述记录到IPO图中; ❖ 补充的数据流、数据存储和处理应该添加到
❖ 简易的应用规格说明技术 ❖ 快2.1 访谈
❖ 最早并且仍然广泛使用 ❖ 正式的访谈:具体问题的问答形式 ❖ 非正式的访谈:开放式、交互性的问答 ❖ 需要调查大量人员时采用“调查表〞技术 ❖ 还使用“情景分析技术〞〔用户角度〕,就是
对用户将来使用目标系统解决某个具体问题 的方法和结果进展分析。
明
(DD)
说
明
状态转换图
(STD图)
控制说明
面向对象分析模型的组成构造
操作、
类/对象
对象-关
模型
使用实例
(Use Case)
系模型
对象-行为模型
3.3 分析建模与规格说明
❖ 构造化分析方法的创立的几个主要模型及关 键元素如下:
❖ 数据模型:E-R图〔E-RD〕〔本章介绍〕 ❖ 功能模型:数据流图〔DFD〕 ❖ 行为模型:状态转换图〔STD〕〔本章介绍〕 ❖ 数据字典:模型中心〔DD〕 ❖ 根据上述模型整理出软件需求规格说明书
需求分析与用例建模.最全优质PPT
– 用户资源和要求:开发新系统用户可以提供的 人力、物力和财力等情况,用户的时间要求、 人员分工、功能要求、非功能要求和开发目标 等。
– 现有系统存在的问题:可以通过调查表,收集 一些信息。了解现有系统存在的主要问题。
7
1、系统调查划性原则 – 科学性原则 – 前瞻性原则
求,使用合适的调查研究技术验证事实。
14
2、系统需求陈述
• 为获得正确的业务模型,要建立需求陈述。 内容包括:问题范围、功能需求、性能需 求、出错处理需求、接口需求、约束、应 用环境、假设条件及将来可能提出的要求 等。
• 需求陈述应该阐明“做什么”,哪些是必 须的,哪些是任选的。
• 需求陈述案例(见备注)
8
1、系统调查
• 详细调查的内容
– 全面调查内容:与初步调查一样,要了解现行 系统的发展历史、现状、规模、经营状况、业 务范围、与外界的联系、确定系统的边界;对 系统的组织结构进行调查,了解各个部门的权 限、职责、人员分工和关系等;了解系统的资 源状况,现有系统的物资、资金、设备、建筑 平面布局和其他的资源。
5
1、系统调查
• 初步调查主要关注的内容
– 现行系统的概况:规模、目标、历史、组织结 构、管理体制、人员分工、技术条件及技术水 平等。
– 系统外部的资源:现行系统和外部环境有哪些 联系,哪些外部条件制约系统的发展。
– 现行系统的资源:现行系统有哪些资源,信息 系统的状况。
6
1、系统调查
• 初步调查主要关注的内容
– 详细调查:在系统分析阶段进行的,即在确定 系统可行并立项后,投入大量的人力,展开大 规模、全面详细的系统调查。
4
1、系统调查
• 初步调查
– 是接受客户提出建立新系统的要求后,系统研 制人员和用户管理人员的第一次沟通。
– 现有系统存在的问题:可以通过调查表,收集 一些信息。了解现有系统存在的主要问题。
7
1、系统调查划性原则 – 科学性原则 – 前瞻性原则
求,使用合适的调查研究技术验证事实。
14
2、系统需求陈述
• 为获得正确的业务模型,要建立需求陈述。 内容包括:问题范围、功能需求、性能需 求、出错处理需求、接口需求、约束、应 用环境、假设条件及将来可能提出的要求 等。
• 需求陈述应该阐明“做什么”,哪些是必 须的,哪些是任选的。
• 需求陈述案例(见备注)
8
1、系统调查
• 详细调查的内容
– 全面调查内容:与初步调查一样,要了解现行 系统的发展历史、现状、规模、经营状况、业 务范围、与外界的联系、确定系统的边界;对 系统的组织结构进行调查,了解各个部门的权 限、职责、人员分工和关系等;了解系统的资 源状况,现有系统的物资、资金、设备、建筑 平面布局和其他的资源。
5
1、系统调查
• 初步调查主要关注的内容
– 现行系统的概况:规模、目标、历史、组织结 构、管理体制、人员分工、技术条件及技术水 平等。
– 系统外部的资源:现行系统和外部环境有哪些 联系,哪些外部条件制约系统的发展。
– 现行系统的资源:现行系统有哪些资源,信息 系统的状况。
6
1、系统调查
• 初步调查主要关注的内容
– 详细调查:在系统分析阶段进行的,即在确定 系统可行并立项后,投入大量的人力,展开大 规模、全面详细的系统调查。
4
1、系统调查
• 初步调查
– 是接受客户提出建立新系统的要求后,系统研 制人员和用户管理人员的第一次沟通。
第三章:需求分析PPT课件
-
3.2 获取需求的方法
1、访谈
访谈有两种基本形式,分别是正式的和非正式的访谈。
当需要调查大量人员的意见时,向被调查人分发调查表 是一个十分有效的做法。
在访问用户的过程中使用情景分析技术往往非常有效。
情景分析技术的用处主要体现在下述两个方面:
(1) 它能在某种程度上演示目标系统的行为,从而便于用户 理解,而且还可能进一步揭示出一些分析员目前还不知道 的需求。
一般使用第三范式。
17
-
3.6 状态转换图
在需求分析过程中应该建立起软件系统的行为模型。状态转换图(简 称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统 的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例 如,处理数据)。
1、状态
状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种 行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可 以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是 既改变状态又做动作。
7.其它需求
-
3.4概念模型
最常用的表示概念性数据模型的方法:实体—联 系方法(Entity-Relationship Approach),简称ER模型。
E-R模型包含三个基本成分:“实体”、“联 系”、“属性”
(1)实体:是客观世界中存在的且可相互区分的事物。 它可以是人或物,也可以是具体事物或抽象事物。 – 例如:教师、学生、课程是实体。 实体用矩形框表示,如: 教师
在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态) 和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。
状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。
第三章:需求分析PPT课件
②会议准备:邀请开发者和用户双方组织的代表出席会议,并 在开会前预先把写好的产品需求分发给每位与会者。要求每位 与会者在开会的前认真审查产品需求,并且列出作为系统环境 组成部分的对象、系统将产生的对象以及系统为了完成自己的 功能将使用的对象。此外,还要求每位与会者列出操作这些对
象或与这些对象交互的服务(即处理或功能)。最后还应该列出 约束条件(例如,成本、规模、完成日期)和性能标准(例如,速 度、容量)。
②用户复查:从输入端开始,分析员借助数据流图、数据字 典和IPO图向用户解释输入数据是怎样一步一步地转变成输 出数据的。通过复查,再次完善数据流程图。
③细化DFD:两条原则
加细前后的I\O须相同。
分解到须考虑具体实现的代码时即可仃止。
7
2021/3/12
3.2获取需求的方法
面向数据流自顶向下求精的过程
(2) 由于情景分析较易为用户所理解,使用这种技术能保证 用户在需求分析过程中始终扮演一个积极方法
2、面向数据流自顶向下求精
①沿DFD回溯:DFD的输出端是系统的最终目的。向从“输 出端”到“输入端”回溯确定每个数据元素的来源,可加 细DFD及DD,并将相关算法记录在IPO图中。
4
2021/3/12
3.1 需求分析的任务
2、分析数据要求 ⑴建立概念性数据模型: E-R 图 ⑵形象描绘数据结构: 层次方框图, Warnier 图 ⑶数据结构规范化(“范式”):减少数据冗余,避免数据操作异常 3、导出逻辑模型:
DFD +状态转换图+E-R+ DD + IPO
4、修正计划:重估成本、进度等。
有补充 修正
需要 分解
分析追踪 数据流图
用户复查
需求分析用例
语音邮箱系统----用例描述
扩展路径: 6a.用户选择“存储当前信息”. 6a1. 当前信息从新信息队列中删除并添 加到旧信息队列中.
理清责任
书写用例文档
ATM系统“取款”用例的两个错误描述:
Use case: Withdraw cash
Actor: customer 主事件流:
Use case: Withdraw cash
–指贯穿用例的一条单一路径,用于显示用例中的某 个特殊情况。 –脚本是用例的实例。 –每个用例都包括一个主要脚本和多个次要脚本。 –脚本用具体的文字描述来表示。
脚本
例:
–从绵阳去北京的过程可以有多种“场景”
坐飞机 – 订票、去机场、登机、… … 坐火车 – 买票、去车站、检票、… … 驾车 - … …
语音邮箱系统----用例描述
用例4: 接收信息 参与者:邮箱用户 前臵条件:邮箱用户完成登录操作. 后臵条件:语音邮件系统播放信息 基本路径: 1. 邮箱用户选择 “接收信息”菜单选项. 2. 语音邮件系统播放信息菜单: 按1收听当前信息; 按2存储当前信息; 按3删除当前信息; 按4返回邮箱菜单. 3. 邮箱用户选择“收听当前信息”菜单选项. 4. 语音邮件系统播放当前新信息,若无新信息,播放当前已有信 息.(注意: 只播放,不删除) 5. 语音邮件系统播放信息菜单. 6. 用户选择”删除当前信息”,则信息被永久删除. 7. 继续执行第3步.
用例名称 表明用户的意图或用例的用途 参与者 与此用例相关的参与者
前臵条件 一个条件列表, 这些条件必须在访问用例前得到满足 后臵条件 一个条件列表, 这些条件必须在用例完成之后得到满足 基本路径 描述用例中各项工作都顺利进行时用例的工作方式 扩展 描述出现异常或发生错误的情况下的路径
需求分析概述PPT课件
界面需求
评估产品的用户界面设计,确保用户友好、 易于操作。
评审方法
专家评审
邀请行业专家对需求进行评估和审查。
用户评审
邀请目标用户参与评审,收集用户意 见和建议。
原型评审
制作产品原型进行评审,直观展示产 品功能和界面设计。
文档评审
对需求文档进行详细审查,确保文档 的完整性和准确性。
评审步骤
准备阶段
分析需求
对筛选出的需求进行深入分析, 明确需求的具体内容、实现方 式和预期效果。
评审和确认
组织相关人员进行评审,确保 需求分析的准确性和可行性, 并获得用户的最终确认。
04
需求规格说明
需求规格说明的内容
01
02
03
04
功能需求
描述软件或系统的所有功能, 包括用户直接使用或间接使用 ,以及系统内部处理的功能。
用于记录和整理用户提出的需求。
思维导图
帮助梳理需求的逻辑关系和层次结构。
需求管理工具
如Jira、Trello等,用于跟踪和管理需求状态。
整理需求的步骤
筛选需求
根据业务目标和实际情况,筛 选出有价值的需求。
整理需求
将分析后的需求整理成文档, 明确需求的优先级、责任人和 时间计划。
收集需求
通过访谈、问卷调查、会议等 方式收集用户需求。
01
02
变更评估
对变更申请进行评估,分析其对项目 进度、成本、质量等方面的影响。
03
变更决策
根据评估结果,决定是否接受变更, 并制定相应的实施计划和调整方案。
变更验证
对实施后的变更进行验证,确保其满 足预期效果,并对项目其他部分的影 响进行监控。
05
评估产品的用户界面设计,确保用户友好、 易于操作。
评审方法
专家评审
邀请行业专家对需求进行评估和审查。
用户评审
邀请目标用户参与评审,收集用户意 见和建议。
原型评审
制作产品原型进行评审,直观展示产 品功能和界面设计。
文档评审
对需求文档进行详细审查,确保文档 的完整性和准确性。
评审步骤
准备阶段
分析需求
对筛选出的需求进行深入分析, 明确需求的具体内容、实现方 式和预期效果。
评审和确认
组织相关人员进行评审,确保 需求分析的准确性和可行性, 并获得用户的最终确认。
04
需求规格说明
需求规格说明的内容
01
02
03
04
功能需求
描述软件或系统的所有功能, 包括用户直接使用或间接使用 ,以及系统内部处理的功能。
用于记录和整理用户提出的需求。
思维导图
帮助梳理需求的逻辑关系和层次结构。
需求管理工具
如Jira、Trello等,用于跟踪和管理需求状态。
整理需求的步骤
筛选需求
根据业务目标和实际情况,筛 选出有价值的需求。
整理需求
将分析后的需求整理成文档, 明确需求的优先级、责任人和 时间计划。
收集需求
通过访谈、问卷调查、会议等 方式收集用户需求。
01
02
变更评估
对变更申请进行评估,分析其对项目 进度、成本、质量等方面的影响。
03
变更决策
根据评估结果,决定是否接受变更, 并制定相应的实施计划和调整方案。
变更验证
对实施后的变更进行验证,确保其满 足预期效果,并对项目其他部分的影 响进行监控。
05
基于用例的需求分析
用例示例
完整的用例模板
用例名:用主动语态动词短语表示的目标 使用语境:该用例的上下文环境 范围:设计范围,将系统作为一个黑盒来考虑 级别:概要(业务用例)、用户目标(系统用例)和子功能 主执行者:角色名称或描述 项目相关人员和利益:用例中的项目相关人员和关键利益列表 前置条件: 最小保证:在所有操作退出前,至少应达到的要求。 成功保证:在成功后,应达到的状态。
系局限性
适合于描述具有交互性的功能性需求 不适合描述数据变换和科学计算性质的需求
需求规格说明书中的功能需求可以采用用例
需求分析中的用例
实体关系 模型 外部接口
…
用例
UI需求
维护和可 移植性需 求 安全需求
性能需求
开发过程中的用例
用例 模型 《跟踪》 分析 模型 《跟踪》 设计 模型
储户输入密码,系统验证用户密 码正确后,允许用户进入系统。
储户输入取款金额,系统验证该 账户金额大于或等于取款金额后, 提供给储户相应金额的现金,并
问题:为什么要写系统验证账 户金额的过程?
在该账号上扣除相应的金额。
用例之间的关系
扩展关系
包含关系
泛化关系
什么是用例?
Alistair Cockburn的定义
李杭 2009年3月
议题
前言 什么是用例? 完整的用例格式 用例的核心要素 需求分析中的用例 开发过程中的用例 讨论
前言之一
软件开发过程中常见的场景
这个做还不错,不过 好像不是我想要的。 你这做的是什么 东西!
我们这很混乱,你这 个系统应该把我们的 所有问题全部解决掉!
“弱弱”地问:“您 到底想要什么?”
需求分析与用例模型75页PPT
需求分析用例模型
6、法律的基础有两个,而且只有两个……公平和实用。——伯克 7、有两种和平的暴力,那就是法律和礼节。——歌德
8、法律就是秩序,有好的法律才有好的秩序。——亚里士多德 9、上帝把法律和公平凑合在一起,可是人类却把它拆开。——查·科尔顿 10、一切法律都是无用的,因为好人用不着它们,而坏人又不会因为它们而变得规矩起来。——德谟耶克斯
谢谢!
36、自己的鞋子,自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽全力做你应该做的事吧。——美华纳
40、学而不思则罔,思而不学则殆。——孔子
6、法律的基础有两个,而且只有两个……公平和实用。——伯克 7、有两种和平的暴力,那就是法律和礼节。——歌德
8、法律就是秩序,有好的法律才有好的秩序。——亚里士多德 9、上帝把法律和公平凑合在一起,可是人类却把它拆开。——查·科尔顿 10、一切法律都是无用的,因为好人用不着它们,而坏人又不会因为它们而变得规矩起来。——德谟耶克斯
谢谢!
36、自己的鞋子,自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽全力做你应该做的事吧。——美华纳
40、学而不思则罔,思而不学则殆。——孔子
面向对象需求分析实例PPT
– 使用实际业务语言,不要抽象 – 条件分支不要太多,可用多个场景来描述 – 忘掉我们的系统,描述目前业务情况
• 演示
19
北京北大方正电子有限公司
三、业务用例描述
• 内容提要
– 描述业务目标 – 描述业务现状、数据结果要求 – 描述业务分析视角、列出典型业务场景 – 业务用例描述,详细介绍
• 演示
23
北京北大方正电子有限公司
UML常用视图分类
模型视图
1
用例图
2
需求图
3
活动图
4
序列图
5
状态图
6
类图
7
组件图
8
协作图
9
部署图
需求分析 ★ ☆ ★ ★
系统设计
★ ★ ★ ★ ★
☆
详细设计
★ ★ ★ ★ ☆ ☆
24
北京北大方正电子有限公司
二、需求分析视图
• 用例建模的疑惑
– 快速原型,让用户先认同原型,再不断开发 – 软件就是设计很多功能,最终能满足需求 – 前期无法确定需求,先尽快完成再调整 – 用户不懂用例,我们也不懂,也没时间建模 – 直接告诉程序员要做什么,更准确快捷
5
北京北大方正电子有限公司
一、用例分析技术概述
• 快速原型法 vs 面向对象分析
– 快速原型法的前提是必须了解实际业务需求 – 前者是具体的一种实现方式,易丢失原始需求,
掺入过多细节、华丽功能、个人设计习惯 – 可结合起来,用后者来分析,当成编写电影脚
本,用前者来直观呈现和印证挖掘,佐证结果 按使用者角度记载下来,保留业务需求 – 不要以建模成本高而放弃OOA思想
• 用例
– 用例就是做一件事情,完成某个目标。 – 一件事要按一系列步骤完成活动 – 做事有不同的方式和相应的步骤用例场景
• 演示
19
北京北大方正电子有限公司
三、业务用例描述
• 内容提要
– 描述业务目标 – 描述业务现状、数据结果要求 – 描述业务分析视角、列出典型业务场景 – 业务用例描述,详细介绍
• 演示
23
北京北大方正电子有限公司
UML常用视图分类
模型视图
1
用例图
2
需求图
3
活动图
4
序列图
5
状态图
6
类图
7
组件图
8
协作图
9
部署图
需求分析 ★ ☆ ★ ★
系统设计
★ ★ ★ ★ ★
☆
详细设计
★ ★ ★ ★ ☆ ☆
24
北京北大方正电子有限公司
二、需求分析视图
• 用例建模的疑惑
– 快速原型,让用户先认同原型,再不断开发 – 软件就是设计很多功能,最终能满足需求 – 前期无法确定需求,先尽快完成再调整 – 用户不懂用例,我们也不懂,也没时间建模 – 直接告诉程序员要做什么,更准确快捷
5
北京北大方正电子有限公司
一、用例分析技术概述
• 快速原型法 vs 面向对象分析
– 快速原型法的前提是必须了解实际业务需求 – 前者是具体的一种实现方式,易丢失原始需求,
掺入过多细节、华丽功能、个人设计习惯 – 可结合起来,用后者来分析,当成编写电影脚
本,用前者来直观呈现和印证挖掘,佐证结果 按使用者角度记载下来,保留业务需求 – 不要以建模成本高而放弃OOA思想
• 用例
– 用例就是做一件事情,完成某个目标。 – 一件事要按一系列步骤完成活动 – 做事有不同的方式和相应的步骤用例场景
用例分析与用例图ppt课件
前言之一
软件开发过程中常见的场景
这个做还不错,不过 好像不是我想要的。
我们这很混乱,你这 个系统应该把我们的 所有问题全部解决掉
!
你这做的是什么 东西!
“弱弱”地问:“您 到底想要什么?”
前言之二
需求分析与管理—软件开发过程中的“永远 的痛”
基于用例的分析与设计
以用例为中心组织需求
性能 可用性
√
会员
检索零件
系统执行:结果值由系统生成
出纳员
吃饭
系统需要处理的,由系统生成
参与者观测:用户观点而非系统观点
旅客
订票 查看今日航班
用户观点
旅客
处理订票 显示今日航班
系统观点
用例粒度
• 用例要有路径,路径要有步骤;而 这一切都是可观测的
• 最常犯错误:粒度过细,陷入功能 分解
–过细的粒度,一般都会导致技术语 言的描述,而不再是业务语言
• 所有业务最终会成为CRUD? • CRUD能为Actor提供价值? • CRUD掩盖业务,锐变成关系数据库的建模:
– “系统就是数据的增删改查” – 关心数据的存储和维护,反而忽略了用户的目的
用例粒度-4
• 如果确实是CRUD?
– 如果CRUD不涉及复杂的交互,一个 用例“管理××”即可
– 不管是C、R、U、D,都是为了完成
– 关键词:边界 – 参与者:在系统之外,透过
系统边界与系统进行有意义 交互的任何事物
边界---Boundary
• 也叫系统边界,用于界定系统功能范围
用一个带名称的矩形框,把描述系统功能的用 例都置于其中,而描述的与系统交互的角色都 置于其外
系统----完整系统或子系统 一个系统包括一个或多个用例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
角色与用例
❖ 角色:在系统之外与系统进行交互的某人或某事; ❖ 用例:系统执行的,外部可见的,产生对角色有价
值结果的动作序列。 ❖ 用例命名:能够说明目标的动名词组
use case 的识别应 从角色开 始
5
用户识别常考虑的问题
uc 用例图
边界如何确定用例
价值
每个角色的目标是什么?
➢为什么该角色想要使用该系统?
Use Case
➢该角Act色or 是否要创建、保存、更改、移动或读取系统的数据?
如果是。为什么?
➢该角色是否要通知系统外部事件或变化?
1.谁使用系统的主➢要该功能角?色是否需要知道系统内1.使部用业的务语特言而定不事是技件术语?言;
系统是否向业务提供了所有的正确的行为? 2.谁改变系统的数据
3.谁从系统获取信息
67..系系统统需需要要应和付哪些(外处我部理认系)统哪为交些互硬:设?备一?个用例应该是完掩5.关盖成于真达C实R的U到D业务最。 小一个业务目标功能
89..谁有没(有或集自什动么,发)生对如的系事统:件运行?验产证生的用结果户感兴(趣达? 到身份验证的警所惕有业业CR务务U最D泛目后滥都标;会成)为C是UR一D 个用例, 而用户信息输入,密码验证就不是用多问例一下。:为什么要CRUD,光是CRUD能为actor提供价值Βιβλιοθήκη ?6用例的有效性测试
❖ 1.老板测试:
如因果 为老 你板 的问 回你 答不“整具天有都可在量做化什的么价”,值而。你不的具一 能回有般 算答可是量来 是:化说 有“的登, 效价陆通 用值系就过 例统是”以 ,,不上但这具显三是有然提个也不高测存能工试在让作老才着效板率高、兴产,生 有价值结果的操作,即该操作对老板来说例没外有价。值。如果你写的用例不具有可量化的价值, 则不能通过老板测试,也就不是一个有效如用:例。老板测试是最低级别的用例有效性测试。
即在一个用例中是包括了业务的描述、系统功能的描述、业务流程的 描述、业务规则的描述;
2、从原则上来讲,用例之间都是并列的,它们之间 并不存在着包含从属关系。
但是从保证用例模型的可维护性和一致性角度来看,我们可以在用例 之间抽象出包含(include)、扩展(extend)和泛化 (generalization)这几 种关系
❖ 2.EBP测试(Element过aEry分BPB析测u、试s查;in询e、ss统计Pr类o不ce能s通s):
一值个 ,人 并于 且某 以个 持时 久间 状某 态个 保地 留点 下,数为据响,应则业可务以事通件过用所EB户执P行测身的试份任。认务证,如不果能能通增过加可老量板化的业务价 测试;
EBP测试用一种更加精确的方式量化了用例的有效性。它除了要求进行有价值的业务操作 以外,还必须产生有价值的、持续保留的数据。同时,它还要求了完成这个任务的时效性, 即必须在一个会话中完成。持续数日或跨越多个会话的用例都不能通过这个测试。
❖ 3.规模测试:
即一个用例必须达到一定的规模才能算有效。必须达到什么样的规模呢?通常必须包含多 个步骤,在详述形式的用例说明通常会持续数页。不能通过规模测试的一个典型错误,就 是将一系统步骤中的一个作为用例。
7
用例包括那些
1、用例包括了:actor、case、使用场景、事件流、 输入、输出、前后置条件、约束等。
8
包含关系(include)
❖ 如果许多用例中都有一种共同行为,把该行为通过用例来模 型化,被其他用例重用,则这种关系称为“包含”关系。
❖ 被包含的用例不能自己独立存在。它只能作为包含它的用例 的一部分。
2.发自用户观点而不是系统观点; 3.从参与者的角度:状语 动词 (+(+定语)宾语);
那么,怎么确定一个用例呢? 4.谁需要系统的支持以完成日常工作任务?
5.谁负责维护、管理并保持系统正常运行?
4.小心:慎用弱动词(进行、使用、复制、加载、重复…) 和弱名词(数据、报表、表格、表单、系统…),否则:会
需求管理之
基于用例的需求分析模式
1
本次课程的结构
❖ 1、回顾一下需求调研的方法和过程,及关于一个 BUG管理系统的基本需求;
❖2、介绍use case的各种概念和建模方法和技巧 ❖ 3、课堂练习BUG管理系统的用列建模; ❖ 4、分析和讨论大家的用例; ❖ 5、介绍常见的各种用例错误;
2
回顾一下需求调研的过程
❖ 在需求的调研的过程中我们得到了什么? ❖ 假设我们要为公司做一个BUG管理系统 ❖ 通过需求调研我们可以确BUG管理系统的哪些东西?
▪ 目标、涉众、主要工作流程、业务规则?
目标
1、构建一个系统可以很好的管理各项目中的BUG,并方便测试人员和开发人员处理 BUG; 2、该系统可以通过对BUG的统计和分析,来辅助项目经理管理项目的质量,评价开 发人员的工作质量和效率; 3、该系统可以为公司管理人员评价项目的质量和效率; 4、该系统可以作为开发人员和测试人员的绩效评价的依据;
涉众:
程序员、项目经理、部门经理、测试人员,测试部经理、质量管理员、公司领导
3
如果进行需求分析
❖ 需求分析目标是将用户的模糊的业务需求转化成精确的系统需求模型, 并以一种开发人员和用户都能看懂的方式表达出来;
❖ 常❖用什的需么求是分用析例方建法:模法 ▪ 功❖能分捕解捉法等、原开型发法系、功用统例能行法分为解的法方的缺法点 ❖ 非表常达容易系混统淆需行求为和设的计方的界法限,这样的表述实际上已经包含了部分 的设❖计识在内别。谁由此或常什常导么致与这样本的系迷惑统:交系统互需,求应和该本详细系到统何种应程该度?做一什 个极端么就是需求可以详细到概要设计,因 为这样的需求表述既包含了外部需 求也❖包验含了证内所部设有计的。 需求都已经被捕捉到 ❖ 用分例割的了各特项点系统功能的应用环境,从各项功能项入手,你很难了解到这 些功❖能外项是部如可何相见互:关联用来户实现行一为个完、成系的系统统响服务应的。所以在传统的SRS 文档❖中有,我价们值往往需要另外一些章节来描述系统的整体结构及各部分之间的 相互❖关详联,细这程些内度容:使得能SR让S需主求要更象涉是众一个对设需计文求档达。 成共识 ❖ 语言精确,使用无岐义的词汇
角色与用例
❖ 角色:在系统之外与系统进行交互的某人或某事; ❖ 用例:系统执行的,外部可见的,产生对角色有价
值结果的动作序列。 ❖ 用例命名:能够说明目标的动名词组
use case 的识别应 从角色开 始
5
用户识别常考虑的问题
uc 用例图
边界如何确定用例
价值
每个角色的目标是什么?
➢为什么该角色想要使用该系统?
Use Case
➢该角Act色or 是否要创建、保存、更改、移动或读取系统的数据?
如果是。为什么?
➢该角色是否要通知系统外部事件或变化?
1.谁使用系统的主➢要该功能角?色是否需要知道系统内1.使部用业的务语特言而定不事是技件术语?言;
系统是否向业务提供了所有的正确的行为? 2.谁改变系统的数据
3.谁从系统获取信息
67..系系统统需需要要应和付哪些(外处我部理认系)统哪为交些互硬:设?备一?个用例应该是完掩5.关盖成于真达C实R的U到D业务最。 小一个业务目标功能
89..谁有没(有或集自什动么,发)生对如的系事统:件运行?验产证生的用结果户感兴(趣达? 到身份验证的警所惕有业业CR务务U最D泛目后滥都标;会成)为C是UR一D 个用例, 而用户信息输入,密码验证就不是用多问例一下。:为什么要CRUD,光是CRUD能为actor提供价值Βιβλιοθήκη ?6用例的有效性测试
❖ 1.老板测试:
如因果 为老 你板 的问 回你 答不“整具天有都可在量做化什的么价”,值而。你不的具一 能回有般 算答可是量来 是:化说 有“的登, 效价陆通 用值系就过 例统是”以 ,,不上但这具显三是有然提个也不高测存能工试在让作老才着效板率高、兴产,生 有价值结果的操作,即该操作对老板来说例没外有价。值。如果你写的用例不具有可量化的价值, 则不能通过老板测试,也就不是一个有效如用:例。老板测试是最低级别的用例有效性测试。
即在一个用例中是包括了业务的描述、系统功能的描述、业务流程的 描述、业务规则的描述;
2、从原则上来讲,用例之间都是并列的,它们之间 并不存在着包含从属关系。
但是从保证用例模型的可维护性和一致性角度来看,我们可以在用例 之间抽象出包含(include)、扩展(extend)和泛化 (generalization)这几 种关系
❖ 2.EBP测试(Element过aEry分BPB析测u、试s查;in询e、ss统计Pr类o不ce能s通s):
一值个 ,人 并于 且某 以个 持时 久间 状某 态个 保地 留点 下,数为据响,应则业可务以事通件过用所EB户执P行测身的试份任。认务证,如不果能能通增过加可老量板化的业务价 测试;
EBP测试用一种更加精确的方式量化了用例的有效性。它除了要求进行有价值的业务操作 以外,还必须产生有价值的、持续保留的数据。同时,它还要求了完成这个任务的时效性, 即必须在一个会话中完成。持续数日或跨越多个会话的用例都不能通过这个测试。
❖ 3.规模测试:
即一个用例必须达到一定的规模才能算有效。必须达到什么样的规模呢?通常必须包含多 个步骤,在详述形式的用例说明通常会持续数页。不能通过规模测试的一个典型错误,就 是将一系统步骤中的一个作为用例。
7
用例包括那些
1、用例包括了:actor、case、使用场景、事件流、 输入、输出、前后置条件、约束等。
8
包含关系(include)
❖ 如果许多用例中都有一种共同行为,把该行为通过用例来模 型化,被其他用例重用,则这种关系称为“包含”关系。
❖ 被包含的用例不能自己独立存在。它只能作为包含它的用例 的一部分。
2.发自用户观点而不是系统观点; 3.从参与者的角度:状语 动词 (+(+定语)宾语);
那么,怎么确定一个用例呢? 4.谁需要系统的支持以完成日常工作任务?
5.谁负责维护、管理并保持系统正常运行?
4.小心:慎用弱动词(进行、使用、复制、加载、重复…) 和弱名词(数据、报表、表格、表单、系统…),否则:会
需求管理之
基于用例的需求分析模式
1
本次课程的结构
❖ 1、回顾一下需求调研的方法和过程,及关于一个 BUG管理系统的基本需求;
❖2、介绍use case的各种概念和建模方法和技巧 ❖ 3、课堂练习BUG管理系统的用列建模; ❖ 4、分析和讨论大家的用例; ❖ 5、介绍常见的各种用例错误;
2
回顾一下需求调研的过程
❖ 在需求的调研的过程中我们得到了什么? ❖ 假设我们要为公司做一个BUG管理系统 ❖ 通过需求调研我们可以确BUG管理系统的哪些东西?
▪ 目标、涉众、主要工作流程、业务规则?
目标
1、构建一个系统可以很好的管理各项目中的BUG,并方便测试人员和开发人员处理 BUG; 2、该系统可以通过对BUG的统计和分析,来辅助项目经理管理项目的质量,评价开 发人员的工作质量和效率; 3、该系统可以为公司管理人员评价项目的质量和效率; 4、该系统可以作为开发人员和测试人员的绩效评价的依据;
涉众:
程序员、项目经理、部门经理、测试人员,测试部经理、质量管理员、公司领导
3
如果进行需求分析
❖ 需求分析目标是将用户的模糊的业务需求转化成精确的系统需求模型, 并以一种开发人员和用户都能看懂的方式表达出来;
❖ 常❖用什的需么求是分用析例方建法:模法 ▪ 功❖能分捕解捉法等、原开型发法系、功用统例能行法分为解的法方的缺法点 ❖ 非表常达容易系混统淆需行求为和设的计方的界法限,这样的表述实际上已经包含了部分 的设❖计识在内别。谁由此或常什常导么致与这样本的系迷惑统:交系统互需,求应和该本详细系到统何种应程该度?做一什 个极端么就是需求可以详细到概要设计,因 为这样的需求表述既包含了外部需 求也❖包验含了证内所部设有计的。 需求都已经被捕捉到 ❖ 用分例割的了各特项点系统功能的应用环境,从各项功能项入手,你很难了解到这 些功❖能外项是部如可何相见互:关联用来户实现行一为个完、成系的系统统响服务应的。所以在传统的SRS 文档❖中有,我价们值往往需要另外一些章节来描述系统的整体结构及各部分之间的 相互❖关详联,细这程些内度容:使得能SR让S需主求要更象涉是众一个对设需计文求档达。 成共识 ❖ 语言精确,使用无岐义的词汇