中科院需求工程 需求工程(第四讲)面向目标的方法_

合集下载

需求分析简答重点

需求分析简答重点

第一部分软件需求的基本概念*好需求的特征:无歧义、完整、一致、可检验、确定、可跟踪的,正确的,可行的和必要的。

软件开发的目标,简单而言,就是满足用户的需要。

三种最经常使项目“遇到困难"的因素是:⏹缺乏用户介入:占所有项目的13%⏹不完整的需求和规格说明:占所有项目的12%⏹不断改变的需求和规格说明:占所有项目的12%三种项目最主要的“成功因素"是:⏹用户介入:占所有成功项目的16%⏹高层管理的支持:占所有成功项目的14%⏹需求陈述清晰:占所有成功项目的12%高质量的需求过程带来的好处:在开发后期和整个维护阶段的重做的工作大大减少了。

IEEE软件工程标准词汇表定义需求为:1.用户解决问题或达到目标所需的条件或能力。

2.系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力.3.一种反映上面(1)或(2)所描述的条件或能力的文档说明.第二章需求的层次*需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求。

业务需求反映了组织机构或客户对系统、产品高层次的目标要求,位于需求链中的最顶层,在项目视图和范围文档中予以说明。

用户需求描述了用户使用产品必须要完成的任务,这在实例文档或方案脚本予以说明。

功能需求定义了开发人员必须实现的软件功能,使得用户完成他们的任务,从而满足了业务需求。

和非功能需求在SRS中说明。

非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。

需求路线图:涉众需要-〉系统的特性—〉建立软件需求软件的6个质量特征(非功能性需求):可靠性,可用性,有效性,可维护性,可移植性,约束。

有效性(Efficiency)是在规定的条件下,软件性能水平与所使用资源量之间关系有关的一组属性.可靠性(Reliability)是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性可维护性(Maintainability)是与进行指定的修改所需的努力有关的一组属性约束定义为:对开发人员在软件产品设计和构造上的限制。

最新需求工程(考前整理)

最新需求工程(考前整理)

需求工程(考前整理)第一部分(绪论)1.什么是需求(1)用户为了解决问题或达到某些目标所需要的条件或能力;(2)系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;(3)对1或2中的一个条件或一种能力的一种文档化描述2.需求的分类[IEEE1998]将需求分为5种类别:(1)功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。

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

(2)性能需求:系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。

(3)质量属性:系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。

(4)对外接口:系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。

(5)约束:进行系统构造时需要遵守的约束,例如编程语言、硬件设施等3.软件质量属性常见的有哪些功能性、可靠性、可用性、效率、可维护性、可移植性4.需求工程过程需求工程过程是系统开发当中需求开发活动的集成,它以用户面临的业务问题为出发点,进行分析和各种转换,最终产生一个能够在用户环境下解决用户业务问题的系统方案。

并将其文档化为明确的规格说明。

5.需求的困难一.用户和开发人员的背景不同,立场不同(1)知识理解的困难(2)默认知识现象二.普通用户缺乏概括性、综合性的表述能力三.用户存在认知困难四.用户越俎代庖(1)用户提出的不是需求,而是解决方案(2)用户执着地坚持某些特征和功能五.缺乏用户参与(1)用户数量太多,选择困难(2)用户认知不足,不愿参与(3)用户情绪抵制,消极参与(4)没有明确的用户6.需求的内涵与外延内涵:(1)问题域与解系统(2)共享现象(3)需求与规格说明(4)问题域特性(5)从问题域、需求和规格说明的关系看需求工程外延:(1)需求的分类(2)功能需求:①业务需求②用户需求③系统需求(3)性能需求:速度、容量、吞吐量、负载、实时性(4)质量属性(5)对外接口(6)约束7.什么是软件过程用软件工程的方法解决软件的开发与实施8.软件生命周期是软件的产生直到报废停止使用的生命周期,它包括开发期和运维期。

第3章.需求工程过程-1(1)

第3章.需求工程过程-1(1)

内容
技术、方法 问题分析 明确问题 发现业务需求 定义问题解决方案和系统特性 定义问题解决方案的边界 定义系统边界 涉众识别方法 涉众的描述特征 涉众的优先级评估 涉众的风险评估 涉众的共赢分析 代表采样 制定参与策略 使用用户替代源 用户参与 涉众分析的各种方法(如前述) 硬数据采样 建立合作关系,维护交流气氛 利用适当的交流途径、交流方式 面谈/调查问卷 群体会议面谈/头脑风暴原型 观察 文档分析/需求重用/需求剥离 面向目标的方法 基于场景的方法 基于用例的方法
差异性管理
获取
分析
确定可行性 形式化建模
规格
基于视图的文 档化 确保可跟踪性 文档化需求理 由 描述可度量、 可测试的需求 使用标准的文 档结构 原型
验证
获取非功能需 求
获取任务与业 务过程
GUI界面建模
用户行为建模
确定范围
获取目标
领域建模
数据建模
文档化客户需 求 文档化开发者 需求
形式化需求验 证
需求工程过程实例 RUP
商业建模:
1.评价组织的当前状态,包括支持新系统的能力; 2.探索当前业务的过程、角色和职责; 3.识别与评价业务过程改造的潜在策略; 4.开发反映业务内容的领域模型。
需求:
1.与项目涉众紧密接触,理解他们的需要; 2.定义项目的范围; 3.通过恰当的建模,探索功能、非功能、业务规 则、用户界面等需求; 4.识别项目中新的及变更的需求,并明确他们的 优先级。
2. 需求工程过程的活动

需求获取子活动

收集背景资料 定义项目前景和范围 选择信息的来源 选择获取方法,执行获取 记录获取结果
2. 需求工程过程的活动

需求工程期末复习总结

需求工程期末复习总结

填空:1.在导致需求问题的原因中,一个最为重要的原因是:未能很好的掌握应用型软件的模拟特性以及由此产生的一系列的影响和要求。

2.面向专业用户的纯工具型软件的首要成功标准是:要具有功能的复杂性和使用的高效性。

3.需求开发过程中产生的主要文档有三种:项目前景和范围文档,用户需求文档,需求规格说明文档。

4.系统用例图和上下文图通常被用来定义系统的边界。

5.在需求建模时,常用的技术包括:数据流图,实体联系图,状态转换图,类图等半形式化建模技术。

6.业务需求,高层解决方案及系统特性都应该被记录下来,定义为项目前景与范围文档。

7.每一个明确,一致的问题都意味着涉众存在一些相应的期望目标,即业务需求。

8.业务需求中需要特别注意的特征是可行性和可验证性。

9.在会谈中使用的问题基本上可以分为两种:开放式和封闭式问题10.面谈的类别:结构化,半结构化和非结构化面谈11.原型的需求内容可以从三个纬度上分析:外观,角色,实现12.民族志一个主要的应用目的就是研究和解决复杂的协同问题13.分类框架将场景方法从场景的形式(又分为描述和外观两个方面),目的,内容和生命周期四个方面进行了分类和描述14.工程利用场景的目的有三种:描述,探索,解释15.抽象和分解是建模最为常用的两种手段16.抽象通过强调本质的特征,减少了问题的复杂性;分解的手段体现了分而治之的思想17.分析模型是半形式化的18.建模语言有三个要素:语法,语义,语用19.按照Zachman的矩阵框架,分析技术就是用来对第二行(企业模型)的各列进行建模和描述的技术20.面向对象分析方法以对象为基础,结构化分析方法以功能和数据为基础21.结构化,信息工程和面向对象三中方法学下的需求分析技术都是面向解系统的22.使用面向问题的技术称为前期需求阶段的分析,使用面向解系统的技术称为后期需求阶段的分析23.数据流图建模时使用的基本模型元素有四种:外部实体,过程,数据流和数据存储24.DFD定义了三个层次的DFD图:上下文图,0层图和N层图25.实体联系图用实体,属性和关系三个基本构建单位来描述数据模型26.除了静态的事物和抽象的概念之外,行为和事件也是常见的实体类型27.在关系的命名上通常使用动词28.用例模型的基本元素:用例,参与者,关系,系统边界29.UML的行为模型有三种:交互图,状态图,活动图30.在目标模型中使用的其他模型元素有行为者,场景,操作,任务,资源,UML元素等//31.需求跟踪是以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力名词解释:1.需求工程:是软件工程的一个分支,它关注与软件系统所应予实现的现实世界目标,软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素的准确的软件行为规范说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。

需求工程_精品文档

需求工程_精品文档

需求工程单项选择C1、软件生产中产生需求问题的最大原因在于对应用软件的()理解不透彻或应用不坚决。

(A)复杂性(B)目的性(C)模拟性(D)正确性B2、需求分析的目的是保证需求的()。

(A)目的性和一致性(B)完整性和一致性(C)正确性和目的性(D)完整性和目的性B3、现实世界中的()构成了问题解决的基本范围,称为该问题的问题域。

(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作D4、功能需求通常分为三个层次,即业务需求、用户需求和()。

(A)硬件需求(B)软件需求(C)质量属性(D)系统需求C5、下列()属于定量硬数据?(A)工作手册(B)规章手册(C)统计报表(D)备忘录D6、下列()属于定性硬数据?(A)数据收集表(B)月报表(C)年报表(D)规章手册C7、下列()不属于面谈组织方法(A)金字塔结构(B)漏斗结构(C)柱状结构(D)菱形结构C8、按照开发方法进行分类,原型可分为:演化式原型和抛弃式原型,其中抛弃式原型又被细分为()。

(A)演示原型和试验原型(B)系列首发原型和选定特征原型(C)探索式原型和实验式原型(D)样板原型和纸上向导原型A9、原型的需求内容可以从三个纬度上分析:即()。

(A)外观、角色和实现(B)开发、实现和作用(C)成本、技术和实现(D)需求、作用和角色D10、下列()不是需求获取常见的模型驱动方法?(A)面向目标的方法(B)基于场景的方法。

(C)基于用例的方法(D)基于采样的方法B11、功能目标可以分为()。

(A)安全目标和可用性目标(B)满足型目标和信息型目标(C)软目标和硬目标(D)维护目标和实现目标B12、描述场景所使用的表示法要符合正规性要求,一般可使用非形式化语言、半形式化语言和形式化语言。

在实践中,()是主要的描述方式。

(A)形式化的程序语言(B)非形式化的自然语言(C)形式化的图形工具(D)非形式化的设计语言A13、需求工程利用场景的目的可能有三种:即:()。

第10章.模型驱动方法

第10章.模型驱动方法

场景用什么样的 形式进行表达?
旨在
目的
场景
基于...表达
形式
演化
生命周期
怎样处理和应用 一个场景?
• 场景的形式:场景的表达模式 –描述(Description) • 表示法的正规性 450 400 –非形式化语言、半形式化语言和形式化语言 350 媒介形式(Medium) • 300 –叙述性的自由文本、结构化文本、强限制文本、表 250 格、图表、图像等 200 150 –外观 100 • 动态、静态、交互
• 为详细信息的分析提供背景基础和上下文知识
– 模型驱动方法则是侧重于前期需求阶段的方法,是传统 需求分析方法的一个很好的补充
• 帮助组织需求文档的结构 • 作为需求验证的知识基础
– 发现细节知识与模型内容的偏差和错误 – 指导需求验证行为的开展
第2节 面向目标的方法
2.1 目标模型
–目标:是系统被开发的目的
•可以在不同的抽象层次上进行描述 •它有着明确的定义方式 •功能目标(Functional Goal)和非功能目标(Non-functional Goal) –满足型目标(Satisfaction Goal)和信息型目标(Information Goal) –安全目标(Safety Goal)、性能目标(Performance Goal)、 可用性目标(Usability Goal)等等 •软目标(Soft Goal)和硬目标(Hard Goal) •实现目标(Achieve Goal,又称为终止目标Cease Goal)、维护目 标(Maintain Goal,又称为避免目标Avoid Goal)和优化目标 (Optimize Goal)
需求模型 c)
需求模型 d)

软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年

软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年

软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年1.软件需求规格说明文档结束审查的标准有()。

参考答案:以上都可能是。

2.后向跟踪是指需求被定义到()之后的演化过程。

参考答案:软件需求规格说明书3.如果用户新增需求或变更需求,正确的做法是()参考答案:灵活处理需求4.需求开发阶段包括需求获取、需求分析、需求规格说明和()四个具体的活动。

参考答案:需求验证5.已经通过正式评审和批准的规格说明或产品,可作为进一步开发的基础,只有通过正式的变更控制过程才能修改的是()参考答案:需求基线6.在实际的项目开发中,人们总是希望使用自动工具来执行需求变更控制过程。

下列描述中()不是这类工具所具有的功能。

参考答案:定义变更控制计划,并指导设计人员按照所制定的计划实施变更。

7.原型可以说是一个()。

参考答案:演示系统8.性能需求、质量属性、约束、接口属于()参考答案:非功能性需求9.需求评审是()中常用的一种方法。

参考答案:需求验证10.下列描述中,属于需求基线的内容的是()参考答案:标识符、版本号、源头11.文档审查是()中常用的一种方法。

参考答案:需求获取12.需求评审的困难有哪些()。

参考答案:以上都是13.在验证过程中发现的问题应及时修正,常见的问题修正方法有()。

参考答案:以上都是14.需求验证的目的()。

参考答案:保证需求及其文档的正确性,即需求正确反映了用户的真实意图15.需求规格说明的目的()。

参考答案:将完整、一致的需求与能够满足需求的软件行为以文档的形式明确的固定下来16.需求分析的目的()。

参考答案:保证需求的完整性和一致性17.需求获取的目的()。

参考答案:从项目的战略规划开始建立最初的原始需求18.需求确认指()。

参考答案:确认每一条需求都是符合用户的真实意愿。

19.以下对需求验证的过程说法正确的是()。

参考答案:需求验证的过程,就是在软件需求规格说明文档完成后,对文档采用相应的验证方法进行验证。

需求工程复习要点

需求工程复习要点

2020
第10章需求的组织——需求获取中的模型驱动方法
模型驱动方法是一类以定义 明确的模型为理论基础,依据模 型指导和组织活动开展的需求工 程方法。需求获取的常见模型驱 动方法有3种: ① 面向目标的方法。 ② 基于场景的方法。 ③ 基于用例的方法。 场景是用户为了达到某个 目标,需要和软件系统发生交 互的行为序列。 场景方法在需求工程中的 应用主要有3种:1组织需求获 取得到的信息。2帮助进行详 细的需求分析3. 结合面向目标 的方法,指导需求获取活动的 开展 用例是在系统(或者子系统 或者类)和外部对象的交互当中 所执行的行为序列的描述。 用例之间的关系主要有: 包含(Include)、扩展(Extend) 和泛化(Generalization)三种。
1212
第 5章
确定项目的前景与范围
5.4 前景与范围文档
业务需求、高 层次解决方案和系 统特性都应该被定 义到项目前景与范 围文档之中。
1313
第 6章
6.1 涉众
涉众分析与硬数据采样
6.5 硬数据
文档资料被称为硬数据 1. 定量硬数据: ① 数据收集表 ② 统计报表
所有能够影响软件系 统的实现,或者会被实现后 的软件系统所影响的个人和 团体。 1. 用户 2. 客户 3. 开发者 4. 管理者 5. 领域专家 6. 政府力量 7. 市场力量
2222
第12章 过程建模
过程建模是结构化分析方法 的典型技术。 过程建模使用的主要技术有: ⑴ 上下文图 ⑵ 数据流图 ⑶ 微规格说明 ⑷ 数据字典 电梯控制系统的DFD创建实例: ⑴ 创建上下文图 ⑵ 发现并建立DFD片段 ⑶ 根据DFD片段组合产生0层图 ⑷ 功能分解,产生N层图 ⑸ 定义原始过程的逻辑说明 ⑹ 定义数据流和数据存储的数据 说明

需求工程复习题【填空题部分】

需求工程复习题【填空题部分】
86、ERD中被关系影响的实体主要是弱实体和【关联实体】。
87、用例模型的基本元素有四种:用例、参与者、关系和【系统边界】。
88、UML行为模型是用例模型的实现,以更加详细的方式说明用例所描述的系统行为。
89、UML行为模型的活动图是依据【处理流程】进行的用例实现。
90、UML行为模型的交互图通常描述的是单个用例的【典型场景】。
13、,如果一个问题的技术解决方案是不清晰的,演示原型也可以被用来展现相应的细节功能以使用户确信该问题解决的可能性。
14、通常来说,如果用户需求出现了模糊、不清晰、不完整等具有一定不确定性的特征,就可以考虑使用原型方法。
15、角色是指原型物件在用户工作中的价值,也就是说它为什么对用户是有用的。
16、外观是指用户对原型物件的具体感觉体验,即用户在使用原型物件时会看到什么、听到什么和感觉到什么。
47、单个用例描述了系统的功能片段,系统的所有用例基于一定的关系组织起来,建立【用例模型】,就可以描述整个系统的功能。
48、原有用例和新建立的【抽象用例】的关系即为包含关系。
49、在需求工程中,主要产生三类重要的文档:项目前景和范围文档、用户需求文档以及需求规格说明。用例文档通常被用来代替用户需求文档,起到记录、交流领域信息和用户期望的作用。
30、如果当前存在一份客户的需求文档,就可以使用需求剥离技术,从需求文档中抽取单个的需求并加入到新的需求文档之中。
31、需求工程师可以使用模型驱动方法来进行信息的整理和归类,其中模型驱动方法所建立的模型是进行信息整理和归类的很好的框架依据。
32、模型驱动方法的模型是在前期需求阶段的分析中建立的。
33、目标模型的一个核心要素是元素之间的关系,称为链接。
1、传统的需求分析方法都是从【设计领域】转入分析领域的。

需求工程中的思想方法

需求工程中的思想方法

需求工程中的思想方法崔强(南开大学软件学院天津300071)摘要本文从需求工程的基本内容和需求工程活动阶段出发,从更高的层次上审视需求工程,分析需求工程方法中的思想方法,指出不同的需求工程方法中内在的一致性,进而提出需求工程标准化的可行性。

关键词需求工程综述思想方法内在一致性标准化Thinking Method in Requirements EngineeringCui Qiang(College of Software, Nankai University, Tianjin, 300071)Abstract This paper is based on general concepts of Requirements Engineering and phases of Requirements Engineering Activities. It scans the Requirements Engineering from a higher layer and analyses the thinking methods in Requirements Engineering with pointing out the uniformity of different Requirements Engineering methods. And then the feasibility of Requirements Engineering standardization is proposed.Keywords Requirements Engineering Summary Thinking method Internal feasibility Standardization1. 引言需求工程是软件工程过程中的关键阶段,对保证软件产品的质量有重要作用[12]。

经典软件工程将软件的开发过程划分为五个阶段:沟通、策划、建模、构建和部署。

需求工程思考题

需求工程思考题

1. 除了需求开发的四个活动和需求管理活动之外,需求工程当中还有没有需要执行的活动?如果有的话,它们是哪些活动?给出你的理由。

答:过程管理活动和项目管理活动。

过程管理活动是跟踪项目开发过程,记录项目开发过程当中所遇到的问题或者教训项目管理活动是管理项目开发的一系列问题与进度,管理人员配置,以达到最该效益。

2. 需求开发过程具有迭代特性,但是不是所有项目的需求开发过程都必须是迭代完成的?如果不是,请给出举例和理由。

答:不是,一般对于业务领域不熟悉的项目,需求是具有迭代性的,需要对业务领域的认知,有一个从认识到知识重构的过程。

对于某些固定需求且熟悉的项目,就不需要迭代开发需求获取——>需求分析——>需求规格说明——>需求验证。

当然并不是所有项目的需求开发过程是迭代完成的,当某一项目开发过程中,用户需求非常简单,开发人员已经相当明确用户需求,这时,就不需要返回到需求获取阶段以继续用户需求的获取,这样,也就不需要迭代完成。

3. 需求开发的迭代特性与软件开发过程的迭代式开发有什么关系?它们之间会互相影响吗?如果会,那么有哪些影响?答:需求开发的迭代特性只是软件开发过程的迭代式开发的一个子过程,软件开发过程是一个相当庞大的工程,需要在软件开发过程的各个阶段都需要进行开发工作的迭代,当然也包括需求开发中的迭代。

它们之间互相影响。

如果需求开发中的迭代不能很好地完成需求分析任务,就必将影响到软件开发过程的其他迭代阶段的进行。

4.需求工程细节知识的实践性对不同项目的需求开发过程的差异性有没有影响?如果有,请说明影响是什么。

如果没有,请说明是哪些因素产生了不同项目的需求开发过程的差异性。

答:没有影响。

其实是需求开发过程的差异性一定程度上导致了细节知识的实践性。

现实世界问题的复杂性和差异性主要导致了需求开发过程的差异性。

第四章3. 在各种关于软件的调研中,无一例外地发现“缺乏用户参与”是导致软件失败的最大原因,试说明有哪些原因会使得用户参与不足?应该怎样解决?答:(1)用户数量太多,选择困难;(2)用户认识不足,不愿参与;(3)用户情绪抵制,消极参与;(4)没有明确的用户;解决:要求开发者在进行需求获取时,能够对系统的用户以及用户的替代源等相关涉众进行分析,了解他们的特征、类别、任务、取向等,并在需求获取中采取对策避免用户参与不足现象的发生。

软件工程中的需求分析方法

软件工程中的需求分析方法

软件工程中的需求分析方法在软件工程领域中,需求分析是一个非常重要的步骤,因为它为后续开发流程提供了关键的指导信息。

如果需求分析不充分或不准确,那么开发出的软件可能无法满足客户的要求,甚至可能带来经济上的损失。

那么,如何进行有效的需求分析呢?本文将分享一些常用的需求分析方法,供大家参考。

1.面向目标的需求工程方法(Goal-Oriented Requirements Engineering)面向目标的需求工程方法是一种比较流行的需求分析方法,它将客户需求转化为一系列目标,并分析这些目标之间的依赖关系。

这种方法的优点在于可以帮助开发人员更好地理解和管理复杂的系统需求,以及更好地控制需求变化的影响。

在使用面向目标的需求工程方法时,需要先确定系统的愿景和目标,然后将这些目标分解为更具体的任务和活动,最后将这些任务和活动转化为具体的需求项。

在此过程中,需要与客户沟通,确保系统需求的准确性和完整性。

2.用例建模方法(Use Case Modeling)用例建模是另一种常见的需求分析方法,这种方法主要用于描述系统功能和用户在使用系统时的交互行为。

在用例建模中,需要确定每个用户的行为和期望,并定义系统如何响应这些行为。

这种方法的优点在于可以帮助开发人员更好地理解用户需求,并确保系统提供了满足这些要求的功能和交互方式。

在使用用例建模方法时,需要先进行用户调研,以了解他们的需求和期望。

然后,需要按照用户使用系统的步骤,建立一个用例图,并定义每个用例的详细说明。

在此过程中,需要注重用户需求的细节,并确保每个用例都覆盖了用户的所有需求。

3.面向问题的需求分析方法(Problem-Oriented Requirements Analysis)面向问题的需求分析方法主要用于解决复杂问题,这种方法的重点在于分析问题根源,并找出解决问题的最佳方法。

在使用这种方法时,需要先进行问题分析,以明确问题的本质和影响,然后制定相应的解决方案并进行评估,最后实施方案并跟踪效果。

测试需求分析方法

测试需求分析方法

测试需求分析方法
有很多不同的需求分析方法可以用于测试,以下是几种常见的方法:
1. 传统的需求分析方法:这种方法侧重于将用户需求转化为详细的规范和规格文件,以便开发人员和测试人员能够理解和验证这些需求。

2. 用户故事:这种方法强调与用户合作,通过与用户和利益相关者交流,了解他们的需求和期望。

用户故事是以用户的视角编写的简短描述,重点描述用户的目标、需求和期望。

3. 原型:在需求分析阶段使用原型可以帮助测试人员更好地理解用户的需求,并提供有关系统界面和功能的细节。

原型可以是静态的或交互式的。

4. 用例:用例是描述如何使用系统的情节。

通过编写用例,测试人员可以更好地理解用户需求和期望,并根据这些情节设计和执行测试。

5. 面向问题的需求工程(Problem-Oriented Requirement Engineering,PORE):这种方法侧重于从问题的角度来分析需求。

测试人员可以通过分析问题和问题的背景来理解和识别相关的需求。

6. 面向目标的需求工程(Goal-Oriented Requirement Engineering,GORE):这种方法强调从目标的角度分析和规划需求。

测试人员可以通过理解和识别系统
的目标来指导测试的规划和执行。

不同的需求分析方法适用于不同的测试场景和项目需求,测试人员可以根据具体情况选择合适的方法来进行需求分析。

软件需求工程选择题

软件需求工程选择题

选择题1。

软件生命周期包括哪些阶段?AA。

需求、设计、编码、单元测试、接收测试和维护阶段.B. 设计、编码、单元测试、接收测试和维护阶段。

C. 需求、设计、编码、单元测试和接收测试阶段.D。

需求、设计和编码阶段。

2。

好的软件需求具有哪些特性?AA. 一致性和全面性.B。

易读性和充分性。

C。

充分性。

D。

易读性。

3。

RUP的十大要素是:开发一个前景、达成计划、标识和减小风险、分配和跟踪任务、检查商业理由、设计组件构架、对产品进行增量式的构建和测试、验证和评价结果、_________和_________。

AA. 管理和控制变化及提供用户支持。

B. 迭代的开发和提供用户支持。

C. 迭代的开发和管理和控制变化。

D。

建立模版和迭代的开发.4。

下列哪个不是RUP的核心工作流?CA。

业务建模B。

分析和设计C。

用户需求了解。

D。

需求5.RAD的缺点不包括___D______。

A. 如果用户不能持续地参与整个生命周期中,最终产品会受到负面影响。

B。

要求系统能适当模块化,如果没有可重用的组件,它的效率就会下降。

C。

盲目应用时,会缺乏成本概念和项目完成的时间限制.项目有永远不能完结的风险. D。

工作重点从文档转为构建,所见即所得。

6。

螺旋模型的优点不包括____C______.A。

能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。

B。

使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。

C。

大量的中间阶段会产生额外的内外部文档。

D。

可以方便地评估和验证每次迭代的成果;实现从开发到维护的无缝连接。

7。

迭代方法中的常见问题不包括___B________.A。

过分详细的规划B。

项目收敛C。

回避棘手问题D. 不同的小组按自己的进度进行工作8。

用户故事的书写遵循一定的原则,其中不包括___C_____.A. 作为(系统的一个涉众)B。

我想要(做一件事)C。

是什么(用户的需求是什么)D。

从而(达到一个商业价值)9.指出RUP的核心工作流不包括__D______。

需求复习要点

需求复习要点

1.1好的需求应具备的特征:无歧义性、完整性、一致性、可检验性、确定性、可跟踪性、正确性、可行性、必要性1.2若干个关于需求定义Ⅰ.IEEE软件工程标准词汇表定义需求为:(1)用户解决问题或达到目标所需的条件或能力。

(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。

(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。

Ⅱ.MERLIN DORFMAN 和RICHARD H. THAYER 的定义:(1)用户解决某一问题或达到某一目标所需的软件功能。

(2)系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。

2.1软件需求的四个层次及其内容(1)业务需求某个特定组织希望系统能达成的目标(2)用户需求用户要求系统必须能完成的任务(3)功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求(4)非功能需求描述系统展现给用户的行为和执行的操作2.2需求的特性及其描述可靠性、可用性、有效性、可维护性、可移植性、约束约束定义为:对系统的设计或开发系统过程的限制。

它不影响系统的外部行为,但必须被遵守执行以符合技术上、商业上的要求。

3.1软件生命周期的概念是软件的产生直到报废或停止使用的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。

3.2主要的生命周期模型快速应用开发模型、迭代式模型、瀑布模型、螺旋模型4.1需求工程的概念和基本组成概念:需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。

组成:完整的软件需求工程包括需求开发和需求管理两个部分。

4.2需求开发的一般过程需求开发的一般过程分为需求获取、需求建模、需求规格说明、需求验证四个阶段。

4.3需求管理的主要内容需求管理主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。

需求分析考试重点答案

需求分析考试重点答案

第一章3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义5.需求工程包含的活动?为什么重视需求工程?需求工程包含需求开发和需求管理,而需求开发又包括需求获取、需求分析、需求规格说明、需求验证。

因为计算机应用于现实世界的广泛性,所以软件工程师的工作也具有行业上的广泛性,但是软件工程师不可能了解所有的领域,所以常常需要将工作中的很大一部分用来定义问题,然后再为其设计解决方案,定义问题就是需求工程的任务,开发软件系统最困难的部分就是准确说明开发什么,最为困难的概念性工作便是编写详细技术需求,这包括所有面向用户,面向机器和其他软件系统的接口,同时这也是一旦有错,最终将给系统带来极大损害的部分,并且以后要对他进行修改也极为困难。

第二章3。

解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。

问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。

需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。

2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明.3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。

1、进行需求开发,确定用户的期望效果R2、研究问题背景,描述问题域特性E3、构建解系统,描述解系统行为S,使得E,S—>R.5.业务需求、用户需求、系统需求之间的区别与联系?业务需求:描述了组织为什么要开发系统,通常来自项目的投资人,购买产品的顾客,实际用户的管理者,市场营销部门等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 要实现“快的帐户响应时间”这个软目标,可以“采 用索引技术”,“采用索引技术”就是一个可操作的 目标。
可操作目标的表示
• NFR框架:图形表示为边界加重的云形图案 • KAOS:圆角的矩形 • i*和Tropos:表示为任务
目标间的关联
• 目标间的关联: – 自顶向下的分解关系 – 自底向上的贡献关系 – 横向的副作用关系
目标类型和层次
满足请求的目标
满足型目标 功能目标 目标 非功能目标 信息型目标 精确性目标 性能目标 安全性目标 完整性目标 实现型目标(停止型目标) 目标 维护型目标(避免型目标) 优化型目标
限制行为要求目 标特性在将来永 久保持(拒绝)
提供信息的目标
响应时间 吞吐量
可满足性还 不明确
目标
软目标 ‘硬’目标
• 一种略微结构化的软目标表示方法是:“软目标类型[软 目标主题]”,例如,
– 用“响应时间短[账户]”来表示软目标“账户的响应时间”。
• 软目标可以有多于一个主题,例如,
– 界面灵活性[普通客户,金卡账户]。
目标的操作化
• 可操作的目标是对目标与软目标进行分解和求精 的结果。 • 可操作的目标是目标分解树中靠近底层叶节点的 目标,用于表示满足高层目标的具体设计方案。 例如:
为什么需要目标
• 避免无关需求(最小性)
– 目标是需求相关性的精确评判标准 – 需求相对于一组关于所涉及领域的目标是恰当 或相关的, 如果 其规格说明至少被用来证明一个目标 若sS, g G ,D,s |= g => S相对于G是 最小相关的
为什么需要目标
• 向需求相关者解释需求
– 目标给出了需求的说明 对应于设计过程中的设计目标 – 出现一个需求是因为有一个目标作为它的基础 – 目标求精树提供了从高层策略目的到低层技术 需求的可跟踪链 – 对业务系统来说,目标将未来软件和组织和业 务上下文关联起来
方法主线
• 建模主线:系统的目标层次结构。 • 围绕目标的伸展关联:
– 目标操作化为“约束”, – 约束由“活动”和活动所操作的“对象”来保证, – 对象被区分为“事件”、“实体”、“关系”和“主 体”四类, – 约束由主体负责完成, – 主体执行活动并具有活动的能力, – 事件可以触发或者终止活动,等等
什么是目标
• 不同层次的目标
策略性的、粗粒度 的、作用于组织范 围的抽象目标 技术性的、细粒度 的、作用于系统设 计层面的具体目标
高层策略 型目标
运送更多旅客
低层技术 型目标
及时发出加速指令 3次密码错误则不退卡
提供随处可用的提现服务
什么是目标
• 不同类型的目标
– 功能性目标:要实现的服务,是需求相关者期望发生 的所有场景的集合。 – 非功能性目标:与提供服务的质量关联,如良好的保 密性,较高的安全性,较强的准确性,较好的易用性 等 ,或者对开发过程质量的期望,例如良好的适应性, 较强的互操作性,较高的可重用性等

– 只有采用全局的俯瞰的视角才能有效地分析 和解决这类目标。
为什么需要目标
• 保证需求的完整性
– 目标是需求足够完整的精确评判标准 – 规格说明相对于一组目标是完整的, 如果 可以证明所有目标(G)是能实现的 由 规格说明 (S)和 所涉及的领域的特性(D) D,S |= G => S相对于G是完备的
目标模式
• 完成型目标(Achieve):要求系统最终满 足某性质; • 终止型目标(Cease):要求系统最终不再 满足某性质; • 维持型目标(Maintain):要求系统始终 满足某性质; • 避免型目标(Avoid):要求系统从不满足 某性质。
目标模式的规约
• 完成型目标(Achieve):P Q 语义:如果P成立,则将来某个时候Q成立 • 维持型目标(Maintain) :P • Q 语义: 如果P成立,则将来Q总成立 PPWQ 语义:维持P成立直到Q成立 • 终止型目标(Cease):P Q 语义: 如果P成立,则将来某个时候Q不成立 • 避免型目标(Avoid):P • Q 语义: 如果P成立,则将来Q总是不成立
• 可以通过在目标树上添加标记来表示目标间的正 向和负向的强弱影响。
目标的表示
• 目标名:每个目标都有名字 • 简短描述:自然语言陈述句描述 • 例如:
– 用户提出“要为核电站设计安全的制冷系统”。 则“安全的核电站制冷系统”将作为一个高层 抽象目标的描述被抽取出来。 – 会议调度系统要满足的目标之一是“每个会议 都将在所有预期与会人参加的情况下召开。”
软目标的组成
• 非功能性软目标通常由两部分组成:类型和主题。例如,
– 软目标“账户的准确性”中,“准确性”是类型,“账户”是主 题。 – 如果类型改变为“响应时间”则软目标“账户响应时间”的含义 也随之改变。
• 当主题发生改变,软目标的含义也随之改变。
– “账户的准确性”与“账户的响应时间”,或与“存款机的响应 时间”是完全不同的。
为什么需要目标
• 目标精化过程,为复杂需求文档的结构化 提供直观自然的机制,增加其可理解性 • 目标精化过程中的选择,具有恰当的抽象 程度
为什么需要目标
• 目标便于表达和处理冲突需求。
– 目标的冲突是多视点冲突的根源, – 目标的不同满足标准有助于帮助开发人员对 采用哪种方式处理冲突进行决策。
为什么需要目标
目标从何而来?
• 显式的
– 系统的需求相关者(Stakeholders) – 需求工程师掌握的初步材料
目标从何而来?
• 隐式的:需要进行目标抽取
– 分析当前的系统,发现问题和不足(精确构型 并列举出来),对其取否,导致未来系统要实 现的目标集 – 从初步文档中寻找一些与意图相关的关键词发 现目标 – 对目标进行精化和抽象获得 – 归结目标冲突或障碍导致新的目标
可满足性可 以验证
比较行为,偏 向更好保证软 目标特性行为
产生行为使得目 标特性在将来总 要被满足(拒绝)
为什么需要目标
• 目标分析提供一种关于系统的全局的视角
– 目标的满足由整个系统及环境主体共同完成。 例如:
• 铁路运输系统的安全性目标是由火车司机、轨道 管理系统、车站管理系统、通讯设备、乘客等共 同参与完成的; ATM系统保持用户合法性的目标是由ATM控制软 件、感应器、效应器、用户等共同协作完成的。
目标的形式化表示
• KAOS语言,NFR建模框架以及i*/Tropos语言: 特定的语法 • 一阶时序逻辑断言算子:
– – – – – – – P P P P P P P 表示“在当前状态下,性质P成立”; 表示“在下一个状态,性质P成立”; 表示“在当前或未来某一状态,性质P成立”; 在当前以及未来所有状态,性质P成立; 在前一个状态,性质P成立; 在当前或以前某一状态,性质P成立; 在当前和以前所有状态,性质P成立;
– 贡献的影响和贡献的程度。 – 贡献的影响可以是正向、负向或未知; – 贡献的程度可以是完全的、部分的或程度未知。
目标的副作用关系
• 副作用包括贡献副作用和冲突副作用。例 如:
– “提高性能”会导致“成本提高”,是横向副 作用关系,表明一种冲突。即一个目标被满足 会阻止另一个目标的满足。 – “信息的保密性”会提高“信息的安全性”, 也是横向副作用,表明一种贡献。即一个目标 被满足会帮助另一个目标的满足。
– 一般目标的满足性标准是客观的,能够清楚定义和表 达的。 – 软目标的满足标准则是主观的、相对的、依评价者的 个人判断而定,是满意度(Satisficing)而非满足性 (Satisfying)的问题。
软目标的表示
• NFR框架:软目标的图形化表示为一 个云形( ) • i*和Tropos方法:软目标图形化表示为 一个不规则的花生形( )。
需 求 工 程
金芝 中国科学院数学与系统科学研究院 zhijin@
第四讲:面向目标的方法
• • • • 方法概述 建模原语 基于目标的建模和分析 应用情况
面向目标的方法
What You Get Is What You Want (WYGIWYW)
什么是目标
• 什么是目标?
– A goal is an objective that the system under consideration should achieve – Goal formulations refer to intended properties to ensured – They are optative statements as opposed to indicative ones, and bounded by the subject matter
目标分类
• 满足性目标(Satisfaction Goals):是满 足各主体愿望的完成型目标; • 信息目标(Information Goals):是将环境 状态信息通报给主体的完成型目标; • 安全目标(Security Goals):是避免灾难 状态/恶意攻击发生的持续型目标; • 精确性目标(Accuracy Goals):是促使主体 对环境的信念保持精确的持续型目标。
• 目标相对比较稳定,利于需求演化
– 实现目标的需求比目标演化的要快,它很容易 被另一个实现相同目标的需求替代 – 越高层的目标越稳定,不同版本的系统常常具 有相同的高层目标
为什么需要目标
• 目标能够表达和分析非功能性需求。
– 非功能性需求是工程研究中的重点和难点, 目前大多采用非形式化的方法来描述, – 常用的建模工具UML也存在着难以为非功能 性需求建模的缺陷。 – 在面向目标的需求分析中,非功能性需求用 软目标来表示,软目标可以逐步分解为子目 标
建模原语:目标与/或树
建模原语:其它关联
• 目标与其它需求建模元素的关联
– 目标与操作:操作的前提条件、后置条件、触 发条件,保证目标目标的可满足性 – 目标与情景:互补
相关文档
最新文档