需求工程简答题--复习资料
最新需求分析师笔试题-有参考答案资料
需求分析师笔试题考号:姓名:一.单项选择题(每题2分)◆在项目立项阶段应该进行需求定义,此时定义的需求属于需求三个层次中的(1)A:它不应该包括的内容是(2)C。
(1) A.业务需求 B.用户需求 C.软件需求 D.设计约束(2) A.用上下文关系图表示的项目范围 B.包含的主题域及主题域之间的关系C.业务活动的详细事件流D.系统涉及的业务事件◆根据下面所示的构件图可以得知,接口提交采购申请是(3)C实现的,客服管理子系统共使用了(4)D接口。
(3) A.门店管理子系统 B.客服管理子系统C.采购管理子系统D.无法确定(4) A.1个 B.2个 C.3个 D.4个◆以下关于需求定义的描述中,正确的是(5)D;对于酒店管理系统而言,以下各个选项中,(6)C最不适合表示为业务事件。
(5) A.上下文关系图能够清晰地界定出系统与人的职责边界B.鱼骨图和帕累托图是来界定系统范围的C.项目涉众(stakeholder)就是将使用系统的用户D.需求定义的产物主要包括项目目标、范围以及需求大纲的初稿(6) A.入住 B.换房 C.付款 D.续房◆在需求捕获的过程中,用户经常会制定解决方案而不是阐述需求,有效识别这一情况的措施是(7)A:以下措施中,(8)A是用来克服用户非正事心理的。
(7) A.询问用户提出需求的理由 B.提前向用户提供访谈计划C.利用原型来及时验证用户的需求D.让用户介绍工作场景(8) A.选择打扰较少的访谈场所 B避免向用户提出过细的问题C.让用户以介绍工作场景为主D.通过业务流程图确认访谈正确的对象◆在下面关于需求验证任务的描述中,不正确的是(9)D:需求验证属于需求工程中的(10)A范畴。
(9) A.需要核查功能描述的正确性 B.需要核查功能描述的清晰性C.需要明确需求的完整性D.除管理者外的用户不能参与评审(10) A.需求开发 B.需求管理 C需求文档化 D.需求跟踪◆根据下面的活动图,最可能是不合适的用例的是(11)D,理由是(12)。
需求工程习题
一、选择题1、需求获取的成果()。
A、获取笔录、录音或摄像B、客户C、需求规格说明文档D、设计说明书2、项目前景与范围文档中,项目前景不应包括什么信息()。
A、前景概述B、详细的功能需求C、主要特性D、假设与依赖3、下列不属于需求开发的活动的是( )。
A、需求获取B、需求管理C、需求验证D、需求分析4、面谈的类别不包括()。
A、结构化面谈B、半结构化面谈C、封闭式面谈D、非结构化面谈5、采用观察方法进行需求获取的原因()。
A、用户多B、客户变化D、事件的情景性 D、存在默认知识6、确定需求优先级的常用的方法()。
A、累计投票B、协商C、需求细化D、需求建模7、需求评审是()中常用的一种方法。
A、需求获取B、需求验证C、需求分析D、需求管理8、需求跟踪是()中的一个活动。
A、需求获取B、需求验证C、需求分析D、需求管理9、针对客户需求文档进行文档审查的时候,采用的方法是()。
A、需求重用B、文档分析C、需求剥离D、民族志10、下列不是过程建模中使用的技术是()。
A、上下文图B、数据流图C、E-R图D、微规格说明二、名词解释1、系统需求2、需求基线3、涉众4、用例模型5、民族志三、填空题1、功能需求通常体现为三个层次:、和系统需求。
2、面向对象建模中用到的技术包括:、、行为模型、状态机模型和对象约束语言。
3、常见的需求定义错误:没有反映用户真实需要、、信息遗漏、、。
4、涉众分析包括哪些活动:、涉众描述、和。
5、微规格说明是一些被用来描述过程处理逻辑的技术,主要有三种常用的技术:、、。
6、在需求工程中原型方法步骤:、、、原型修正。
四、简答题1、需求获取活动的主要步骤包括哪5步?2、涉众分析有哪些活动?解释每一个活动的具体内容?3、需求工程定义?需求工程的活动包括?4、什么是过程建模?过程建模中用到哪些技术?并对每一个技术详细解释?5、需求管理的活动包括哪些?并具体说明每一个活动内容?。
需求工程总复习
18、需求验证的含义?需求验证有哪些常用的方法?问题修 正方法? 答:
需求验证:是专指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。 常用的方法有:需求评审、原型与模拟、测试用例开发、用户手册编写、利用跟踪关系和 自动化分析。 问题修正方法: 1)需求澄清: 理解偏差:重新进行分析工作;分析遗漏:重新分析和文档化这部分信息; 表达不当:重新以合适的方式表达 2)缺失需求: 重新执行需求获取等一系列工作 3)需求冲突: 协商解决 4)不切实际的期望 : 项目调整与需求协商
16、什么是面向对象建模?UML面向对象建模中用到哪些技术?并对每一 个技术详细解释? 答:
面向对象建模:是一种用于辨识系统环境中的对象及这些对象之间关系的技术; UML面向对象建模中用到哪些技术:1)对象模型2)用例模型 3)行为模型 4)状态机模型 5)对象 约束语言OCL 对每一个技术详细解释:1)对象模型: 以对象和类的概念为基础,描述了系统中的对象和这些对象之 间的关系; 2)用例模型:就是以用例为基本单位建立的一个系统功能展示模型,它是系统所有用例的集合,以统 一、图形化方式展示系统的功能和行为特性; 3)行为模型: 是实现用例模型到对象模型的桥梁,以更加详细的方式说明了用例所描述的系统行为; 4)状态机模型: 以状态机理论为基础建立的对系统行为的描述手段; 5)对象约束语言:OCL语言是一种基于类型的描述语言,有着严格的类型定义,可以保证它进行形式 化描述的能力,描述系统的各个方面;
23、需求管理的活动包括哪些?并作具体说明每 一个活动内容?
答: 需求管理的3个活动: 1)维护需求基线 将需求基线纳入配置管理 2)实现需求跟踪 以软件需求规格说明文档为基线,在前向和后向两个方向上, 描述需求以及跟踪需求变化的能力 3)控制需求变更 以可控、一致的方式进行需求基线中需求的变更处理
需求工程期末复习
1.: 需求工程导论2.需求工程定义:3.是所有需求处理活动的和, 它收集信息、分析问题、整合观点、记录需求并验证其正确性, 最终反映软件被应用后与其环境互动形成的期望效应。
1)需求工程的基本活动:2)需求开发:需求获取, 需求分析, 需求规格说明, 需求验证3)需求管理1)各个活动的目的:2)需求获取的目的是从项目的战略规划开始建立最初的原始需求;3)需求分析的目的是保证需求的完整性和一致性;4)需求规格说明的目的是将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;4.需求验证的首要目的是保证需求及其文档的正确性, 即需求正确的反映了用户的真实意图;另一个目标是通过检查和修正, 保证需求及其文档的完整性和一致性;5.需求管理的主要工作是跟踪后继阶段中的需求实现与需求变更情况, 确定需求得到了正确的理解并被正确的是想到了软件产品中。
第一章软件需求规格说明定义:第二章软件需求开发用来确定系统需求中应该由软件满足的部分, 将其映射为软件行为, 产生软件需求规格说明。
5.: 需求基础6.软件系统能够与问题域进行交互和相互影响的原因在于, 软件系统中的某些部分对问题域中的某些部分具有模拟特性。
1)需求分类:2)功能需求:业务需求, 用户需求, 系统需求3)性能需求4)质量属性5)对外接口6)约束第三章: (不考)7.: 需求获取概述1)需求工程需要获取的内容主要有三种:2)需求3)问题域描述4)环境与约束1)需求获取信息的主要来源:2)涉众3)硬数据4)相关产品5)重要文档6)相关技术标准和法规1)获取信息的方法:2)传统方法: 问卷调查, 面谈, 文档分析, 文档检查, 需求剥离3)集体获取方法:头脑风暴, 专题讨论会, JAD, JRP4)原型5)模型驱动方法: 基于场景, 基于用例8.认知方法: 任务分析, 协议分析第四章基于上下文的方法:观察, 民族志, 话语分析第五章常见的组织方式是依照系统特性, 确定系统的边界, 建立上下文图或系统用例图, 然后按照遍历上下文图和系统用例图的方式开展获取活动。
软件需求工程考试复习资料:复习提纲.doc
第二章:描述1、需求的定义a用户为了解决问题和解释或达到某些目标所需要的条件能力b系统或系统部件为了满足合同,标准,规范或其他正式文档所规定的要求而需要具备的条件或能力c对a或b中的一个条件或一种能力的一种文档表述。
2、需求的内涵:问题域、解系统与共享现象a要解决问题,就需要改变现实中某些实体的状态,或者改变实体状态变化的演进顺序,使其达到期望的状态和理想的演进顺序。
这些实体与状态构成了问题解决的基本范围,称为该问题的问题域。
b软件系统通过影响问题域,能够帮助人们解决问题,称为解系统。
c共享现象:通过映射建立的共同知识,就是问题域中与解系统中的共享现象。
3、分类:类别有:功能需求,性能需求,质量需求,对外接口,约束4、功能需求的三个层次:5、需求工程的路线图问题分析:明确问题定义业务需求制定解决方案及系统特性->需求获取:用户需求,性能需求质量属性对外接口约束问题域特性->需求分析:系统需求系统模型->文档化与验证第四章:描述6、需求获取的困难用户和开发人员的背景不同,立场不同首先是知识理解的困难。
尽力去研究应用的背景,理解组织的状况,形成一个能够和用户进行有效沟通的粗略的知识框架默认(Tacit)知识现象利用有效的获取方法与技巧(角色扮演、观察等)来发现并获取默认知识普通用户缺乏概括性、综合性的表述能力普通用户的知识结构就相对局限于一些具体的业务细节善于表达具体业务的细节问题专家用户的知识结构因其渊博性而具有概括性和广泛性能够回答概括性和综合性的问题开发人员在与用户接触之前就先行确定获取的内容主题,然后设计具体的应用环境和场景条件,由用户根据细节业务的执行来描述问题、表达期望。
7、需求获取的流程第五章8、定义项目前景和范围的流程:描述9、问题分析:应用第六章:描述+应用10、涉众分析的流程11、涉众识别的方法12、涉众评估的内容13、涉众选择的策略第7——9章:描述+应用14、面谈的问题类型15、面谈的结构16、面谈的优缺点17、原型的各种特征分类18、原型的优缺点利用原型的好处有:及时、有力的响应用户需求的变化;减少返工;帮助控制不完整需求所带来的风险;可以将一个大的难以处理的开发过程细分成一些更小更容易处理的步骤;减少开发成本,提高经济效益;增加开发者之间的交流,帮助确定技术解决方案的可行性;有效的识别风险和解决风险,帮助进行风险管理;提高用户在软件开发中的参与程度。
软件工程 需求分析 复习答案
一、单项选择题1. 以下哪一项不是软件危机的表现( B)A.开发的软件可维护性差 B.软件极易被盗版C.经费预算经常被突破 D.开发的软件不能满足用户需求2.下面不属于软件工程的三个要素是( B )。
A 过程B 环境C 方法D 工具3. 需求分析阶段的任务是确定( D )。
A 软件开发方法B 软件开发工具C 软件开发费用D 软件开发功能4. 下列不属..于.需求分析工具的是( D )。
A.数据流图B.用例图C.状态图D.程序流程图5.关于软件测试的目的,下面观点错误的是( C)A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试6. 软件详细设计阶段的任务是( A)。
A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计7. 下列属于静态测试方法的是( A )A.人工检测 B.路径覆盖C.黑盒测试 D.白盒测试8.汽车是一种交通工具,汽车类和交通工具类之间的关系是( C)A.组合聚集关系 B. 共享聚集关系C.一般-具体关系 D. 整体-部分关系9.结构化程序设计的风格,主要强调的是( C )。
A.程序的执行效率B.模块的内聚C.程序的可理解性 D.模块的耦合10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是( D)。
A.校正性维护 B.适应性维护C.预防性维护 D.完善性维护11. “软件工程的概念是为解决软件危机而提出的”这句话的意思是( C )A.强调软件工程成功解决了软件危机的问题B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题12. 在软件工程的需求分析阶段,不属于问题识别内容的是( A )A. 输入/输出需求B.性能需求C.环境需求D.功能需求13. 软件需求规格说明书的作用不包括( C)A.软件验收的依据B.软件设计的依据C.软件可行性研究的依据D.用户与开发人员对软件要做什么的共同理解14.一个成功的测试可以( B )A.表明程序没有错误B.发现了尚未发现的错误C.发现所有错误D.提高软件的可靠性15. 下列属于详细设计工具的是( D )A.数据流图B.用例图C.状态图D.程序流程图16. 下列不属于动态测试方法的是( A)A.人工检测 B.路径覆盖C.白盒测试 D.黑盒测试17.大学生是学生,学生类和大学生类之间的关系是( C )A.组合聚集关系 B. 共享聚集关系C.一般-具体关系 D. 整体-部分关系18.为了提高软件的可维护性,编程阶段应注意( B )。
需求工程试卷AB
一、单选题(每小题2分,共 20 分)1、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( C )。
A.数据库设计B.数据通讯C.数据定义D.数据维护2、需求验证的任务是( A )。
A.要求各方人员从不同的技术角度对需求规格说明文档做出综合性评价。
B.分析用户要求,将软件功能和性能描述为具体的规格说明书。
C.确保需求规格说明具有良好的特性。
D.发现和修复需求规格说明书存在的问题,并避免在软件系统设计和实现时出现返工。
3、下面哪一项不是软件设计规格说明中应包括的内容( D )。
A.接口描述B.性能需求C.功能需求D.商业约束4、陈述“只有电梯停在某一楼层时,电梯才能改变方向”属于( B )。
A.问题域的描述B.功能需求C.性能需求D.商业约束5、关注于问题域描述和需求的文档是(D )。
A.测试计划书B.规格说明C.用户手册D.需求文档6、对象汽车和客车之间的关系属于(B )。
A.一般-特殊关系B.共享聚集C.复合聚集D.合作链接7、数据流图中,下列哪一种数据流的流向是不可能发生的( B )。
A.从加工流向加工B.从数据存储流向外部实体C.从加工流向外部实体D.从外部实体流向加工8、下列哪种建模技术属于行为建模( C )。
A.数据流图B.E-R图C.状态图D.类图9、需求获取的技术主要有(D )。
A.阅读背景资料B.检查文档C.面谈D.以上都对10、有限状态机的表示方法有(B)。
A.有向图和数据流图B.有向图和表C.时序图和表D.状态图和表二、多选题(每小题2分,共10分)1、性能需求主要包括(ABCD )。
A.速度性能B.容量性能C.可靠性D.可用性E.开发时间2、规格说明书的主要内容有(ABCDE )。
A.引言B.综合描述C.外部接口需求D.系统特性E.非功能需求3、面向对象的需求分析需要建立的模型主要有(ACD )。
A.对象模型B.行为模型C.动态模型D.功能模型E.表示模型4、正式评审中,评审人员按分工可分为(ABDE )。
需求工程简答题复习
什么是需求:用户为了解决问题或达到某些目标所需要的条件或能力;系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;对它们的一种文档化表述.需求的分类:1。
功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。
功能需求主要表现为系统和环境之间的行为交互。
2.性能需求:系统整体或系统组成部分应该拥有的性能特征,例如CPU 使用率、内存使用率等.3。
质量属性:系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。
4。
对外接口:系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
需求工程:是所有需求处理活动总和,它收集信息、分析问题、整理观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应.需求工程的活动包括:需求开发和需求管理需求开发包括:1。
需求获取:目的从项目规划开始建立最初的原始需求。
它从相关人员、资料和环境中得到系统开发所需要的相关信息;2.需求分析:需求获取的这些信息还不是开发者能够立即加以实现的解决方案。
还需要对需求获取得到的信息,进行需求分析;目的保证需求的完整性和一致性;3.需求规格说明:定义用户需求,准确描述需求及其解决方案,目的将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;4。
需求验证:目的保证需求及其文档的正确性,即需求真实地反映了用户的真实意图;以及通过检查和修正保证需求及其文档的完整性和一致性;需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。
需求规格说明:就是将需求及其软件的解决方案进行定义和文档化,并传递给开发人员;为什么要建需求规格说明:1)更好的传递软件系统的需求信息和解决方案给所有的开发者;2)拓展人们的知识记忆能力:复杂系统信息含量较多书面的文档可以弥补人的记忆能力不足; 3)开发者和客户作为合同协议的重要部分;4)作为项目开发活动的一个重要依据;5)发现和减少可能的需求错误,减少项目的返工,降低项目的工作量; 6)作为有效的智力资产,可以帮助新加入成员更快融入项目需求规格说明文档常见读者:项目管理者2)设计人员与程序员3)测试人员4)文档写作人员5)涉众(用户)需求管理:就是这样一个管理活动,在需求开发之后的产品生命周期当中保证需求作用的有效发挥;为什么要执行需求管理:在需求开发结束之后,需要有一种力量保证后续的系统开发活动依照需求的基线进行展开,保证系统的质量;需求管理的主要任务有: 1)交流涉众需要什么;2)将需求应用、实施到解决方案;3)驱动设计和实现工作;4)控制变更;5)将需求分配到子系统;6)测试和验证最终产品;7)控制迭代式开发中的变化;8)辅助项目管理;需求管理的3个活动:1)维护需求基线:将需求基线纳入配置管理2)实现需求跟踪:以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力3)控制需求变更以可控、一致的方式进行需求基线中需求的变更处理需求分析的根本任务:1。
需求工程简答题--复习资料
需求工程简答题--复习资料四、名词解释题1、需求工程:需求工程是软件工程的一个分支,它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素和准确的软件行为规格说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
2.需求:需求是用户对问题域中的实体状态或事件的期望描述。
2、需求:IEEE对需求的定义为:①用户为了解决问题或达到某些目标所需要的条件或能力。
②系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的要求而需要具备的条件或能力。
③对①或②中的一个条件或一种能力的一种文档化表述。
3、需求分析:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题域特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
4、前景(Vision):前景描述了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。
5、范围(scope):范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目划定了需求的界线。
7、硬数据:表格和文档资料是用户对实际业务进行加工和抽象之后的结果,是一种精化过的知识。
这些文档资料被称为硬数据。
硬数据分为定量硬数据和定性硬数据两种类型。
8、结构化面谈:结构化面谈指在面谈的过程中,会见者会完全按照事先的问题和结构来控制面谈。
结构化面谈通常被用来获取一些比较确定或者选择空间比较有限的信息,一些统计性倾向信息的获取也可以使用结构化面谈。
9、半结构化面谈:半结构化面谈指在面谈的过程中,事先需要根据面谈内容准备面谈的问题和面谈结构。
但在面谈过程中,会见者可以根据实际情况采取一些灵活的策略。
半结构化面谈是在需求获取中应用最多的一种面谈类型,能够处理大部分的需求获取任务。
10、非结构化面谈:在非结构化面谈的过程中,没有事先预定的议程安排。
在比较极端的情况下,会见者甚至会在没有太多事前准备的情况下就直接到访被会见者的工作地,就某个主题开展会谈。
需求工程复习要点
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层图 ⑸ 定义原始过程的逻辑说明 ⑹ 定义数据流和数据存储的数据 说明
需求工程思考题
1. 除了需求开发的四个活动和需求管理活动之外,需求工程当中还有没有需要执行的活动?如果有的话,它们是哪些活动?给出你的理由。
答:过程管理活动和项目管理活动。
过程管理活动是跟踪项目开发过程,记录项目开发过程当中所遇到的问题或者教训项目管理活动是管理项目开发的一系列问题与进度,管理人员配置,以达到最该效益。
2. 需求开发过程具有迭代特性,但是不是所有项目的需求开发过程都必须是迭代完成的?如果不是,请给出举例和理由。
答:不是,一般对于业务领域不熟悉的项目,需求是具有迭代性的,需要对业务领域的认知,有一个从认识到知识重构的过程。
对于某些固定需求且熟悉的项目,就不需要迭代开发需求获取——>需求分析——>需求规格说明——>需求验证。
当然并不是所有项目的需求开发过程是迭代完成的,当某一项目开发过程中,用户需求非常简单,开发人员已经相当明确用户需求,这时,就不需要返回到需求获取阶段以继续用户需求的获取,这样,也就不需要迭代完成。
3. 需求开发的迭代特性与软件开发过程的迭代式开发有什么关系?它们之间会互相影响吗?如果会,那么有哪些影响?答:需求开发的迭代特性只是软件开发过程的迭代式开发的一个子过程,软件开发过程是一个相当庞大的工程,需要在软件开发过程的各个阶段都需要进行开发工作的迭代,当然也包括需求开发中的迭代。
它们之间互相影响。
如果需求开发中的迭代不能很好地完成需求分析任务,就必将影响到软件开发过程的其他迭代阶段的进行。
4.需求工程细节知识的实践性对不同项目的需求开发过程的差异性有没有影响?如果有,请说明影响是什么。
如果没有,请说明是哪些因素产生了不同项目的需求开发过程的差异性。
答:没有影响。
其实是需求开发过程的差异性一定程度上导致了细节知识的实践性。
现实世界问题的复杂性和差异性主要导致了需求开发过程的差异性。
第四章3. 在各种关于软件的调研中,无一例外地发现“缺乏用户参与”是导致软件失败的最大原因,试说明有哪些原因会使得用户参与不足?应该怎样解决?答:(1)用户数量太多,选择困难;(2)用户认识不足,不愿参与;(3)用户情绪抵制,消极参与;(4)没有明确的用户;解决:要求开发者在进行需求获取时,能够对系统的用户以及用户的替代源等相关涉众进行分析,了解他们的特征、类别、任务、取向等,并在需求获取中采取对策避免用户参与不足现象的发生。
需求工程复习要点
需求是用户对问题域中实体状态或事件的期望的描述。
规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
需求的分类:功能需求,性能需求,质量需求,对外接口,约束。
从需求的概念看需求工程:1、问题分析2、需求获取3、需求分析4、文档化和验证需求获取活动的要求:1.研究应用背景,建立初始的知识框架。
2.根据获取的的需要,采用必要的获取方法和技巧;3.先行确定获取的内容和主题,设定场景;4.分析用户的高层目标,理解用户的意图;5.进行涉众分析,针对涉众的特点开展工作。
需求获取活动的步骤;1.确定待获取信息的内容2. 确定待获取信息的来源3.确定应采用的获取方法4.执行获取5.记录成果获取信息的内容:1.需求:获取的主要对象和系统期望达到的目标。
2.问题域的描述:用来承载和解释需求的问题域特征,主要是现实世界的业务运行状况。
3.环境与约束:属于一种特殊的问题域特征,限定了解系统部署的环境和条件。
获取信息的来源:1涉众2.硬数据3.相关产品4.重要文档5.相关技术标准和法规获取信息的方法:1.传统2.集体获取3.原型4.模型驱动5.认知6.基于上下文等方法为什么要确定项目的前景和范围?在看待现实世界时世界是复杂的,从不同的角度观察,会看到不同的内容。
保证项目涉众以符合项目需要的角度描述现实世界?描述哪些事物和事件才会尽可能的符合项目的需要?定义项目前景:有的涉众都从共同认同的项目前景出发,理解和描述问题域及需求。
定义项目范围:围内的事物和事件是描述的目标。
常见的涉众有:用户,客户,开发者,管理者,领域专家,政府力量,市场力量任务包括:1.寻找软件系统的涉众类别,辨别关键和涉众类别。
2.描述不同涉众类别的特征,包括个人特征和工作特征。
3.分析不同涉众类别的输赢条件和受影响程度。
4.描述不同涉众类别饿关注点和兴趣取向。
5.分析不同涉众类别的重要性和影响力。
6.为每种涉众类别选择合适的代表和项目开发。
需求工程复习
4个上下文刻面:主体、使用、IT系统、开发3类需求制品:目标、场景、面向方案的需求3个核心活动:获取、文档化、分析2个横切活动:确认、管理软件工程(Software Engineering):对于软件开发、操作以及维护的系统化、规范化和可量化的应用方法。
需求工程(requirement engineering):是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应,需求工程是软件工程关于现实世界的目标、功能和软件系统约束的一个分支,它也关注着上述因素之间的关系来精确软件行为的规格说明和它们随时间随产品族的演化。
需求(Requirements):⑴用户解决某个问题或者达到某个目标所需要的条件或能力;⑵一个系统或系统组件为了实现某个契约、标准、规格说明(规约)或其他需要遵循的文件而必须满足的条件或拥有的能力;⑶对⑴或⑵中所描述的条件或能力的文档化表示。
需求制品(requirement artifacts):需求制品是文档化的需求。
需求类型(requirement types):⑴domain, application⑵system, software, user⑶function, quality(nonfunctional, performance), constraints⑷目标需求、商业需求用户需求(User requirement):用户或其他涉众期望系统实现的目标或功能。
系统需求(System Requirement):系统作为一个整体所实现的需求。
功能性需求(Functional Requirement):是关于系统应提供的服务、系统针对特定输入如何响应,以及系统在特定情况下的行为的陈述。
在某些情况下,功能性需求还会陈述系统不应做什么。
非功能性需求(Non-Functional Requirements):是一个不明确的功能性需求或者是一个质量需求。
需求工程课后重点答案
1。
需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做"。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3。
需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章:1。
解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题.解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分.而不是他们的全部。
软件系统仅仅是现实世界的一种抽象.所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征. 问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
需求分析-简答题答案
需求分析复习重点考试简答题重点:一、软件需求从层次上分哪三类?业务、用户、系统1业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目前景和范畴文档中予以说明2用户需求(user requirement)描述了用户使用产品必须要完成的任务,通过使用实例(use case)和情景描述(scenario)予以说明3系统需求描述了系统中各个方面的需求,可能包含硬件、软件、其它关联系统,而且系统的功能及非功能描述并不依赖于物理层次,如软件和硬件的划分。
系统和软件需求分析人员需要将软件需求部分独立出来。
二、软件需求分哪几种活动?包括需求开发和需求管理需求开发4(获取、分析、规格说明,需求验证)+1(需求管理:版本管理,追踪,控制)软件需求工程分为需求开发和需求管理两部分1、需求开发的任务可进一步细分为4点需求获取(是从人、文档或者环境当中获取需求的过程)分析(建模来整合各种信息)规格说明(获取的需求需要被编写成文档,在系统涉众之间交流需求信息) 验证(确保需求规格说明文档能正确、准确的反映用户的意图)2、需求管理保证需求作用在整个软件的产品生命周期中的连续、稳定和有效发挥需求管理子活动有以下3点:建立和维护需求基线集建立需求跟踪信息进行变更控制三、需求获取有哪几种方法?(要举例)传统方法、集体获取方法、认知方法、采样…1.传统方法问卷调查、面谈、硬数据分析、文档检查、需求剥离等2.集体获取方法头脑风暴(Brainstorming)、专题讨论会(Workshop)、JAD等3.认知方法任务分析(Task Analysis)、协议分析(Protocol Analysis)等4.采样随机采样、分层采样5.原型书面描绘、幻灯片演示、程序代码6.基于上下文的方法观察、民族志(Ethnography)和话语分析(Conversation Analysis)四、分析建模有哪几种常见的手段,分别举例(ppt有)1、结构化需求分析建模过程建模(过程建模以DFD为中心,结合使用微规格说明、数据字典、ERD、FDD、PDD等技术一起完成结构化分析的建模任务)数据建模(模型建立:ERD)2、面向对象需求分析建模:它以UML为基础,综合使用了多种不同的分析技术,主要有:对象模型、用例模型、行为模型、状态机模型、对象约束语言。
需求复习要点
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需求管理的主要内容需求管理主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、名词解释题1、需求工程:需求工程是软件工程的一个分支,它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素和准确的软件行为规格说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
2.需求:需求是用户对问题域中的实体状态或事件的期望描述。
2、需求:IEEE对需求的定义为:①用户为了解决问题或达到某些目标所需要的条件或能力。
②系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的要求而需要具备的条件或能力。
③对①或②中的一个条件或一种能力的一种文档化表述。
3、需求分析:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题域特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
4、前景(Vision):前景描述了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。
5、范围(scope):范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目划定了需求的界线。
7、硬数据:表格和文档资料是用户对实际业务进行加工和抽象之后的结果,是一种精化过的知识。
这些文档资料被称为硬数据。
硬数据分为定量硬数据和定性硬数据两种类型。
8、结构化面谈:结构化面谈指在面谈的过程中,会见者会完全按照事先的问题和结构来控制面谈。
结构化面谈通常被用来获取一些比较确定或者选择空间比较有限的信息,一些统计性倾向信息的获取也可以使用结构化面谈。
9、半结构化面谈:半结构化面谈指在面谈的过程中,事先需要根据面谈内容准备面谈的问题和面谈结构。
但在面谈过程中,会见者可以根据实际情况采取一些灵活的策略。
半结构化面谈是在需求获取中应用最多的一种面谈类型,能够处理大部分的需求获取任务。
10、非结构化面谈:在非结构化面谈的过程中,没有事先预定的议程安排。
在比较极端的情况下,会见者甚至会在没有太多事前准备的情况下就直接到访被会见者的工作地,就某个主题开展会谈。
11、头脑风暴(Brainstorming):是一种特殊的群体面谈方式,它的目的不是发现需求,而是“发明”需求,或者说是发现“潜在”需求。
它鼓励参与者在无约束的环境下进行某些问题的自由思考和自由讨论,以产生新的想法。
它是需求获取中用于“发明”需求的方法,但它会增加需求的数量。
12、原型:原型是一个系统,它内化了(Capture)一个更迟系统(Later System)的本质特征。
原型系统通常被构造为不完整的系统,以在将来进行改进、补充或者替代。
”13、严格意义上的原型:严格意义上的原型主要被用在需求分析阶段,是开发者在建立系统信息模型的同时建立的原型,通常被用来阐明用户界面或者系统功能的某些特定方面,帮助人们及时地澄清问题。
14、场景:场景是对系统和环境行为的局部描述,或者说场景是对行为或者事件序列的描述,序列中的行为和事件是系统需要完成的一个任务的特殊示例。
(也可以说,场景是用户为了达到某个目标而和软件系统发生的行为交互序列,是开发者描述软件功能和需求的一种重要形式。
)15、情境性:情景性是指某些事件只有和它们发生时的具体环境联系起来,才能得到理解,它也是用户无法完成主动信息告知的主要原因。
16、民族志:民族志是由人类学家最早提出来的,用来理解原始社会(Primitive Societies)的社会机制。
它要求人类学家花费长期的时间(通常是数年)在被研究的社会中生活并且仔细观察该社会中的实际活动,得到第一手的观察数据。
对这些观察数据的分析可以揭示被研究社会的社会结构、组织方法和具体活动。
17、模型驱动法:模型驱动法是一类以定义明确的模型为理论基础,依据模型指导和组织活动开展的需求工程方法。
18、用例驱动法:用例是一种场景的文本化表现方式,使用叙述性的文本来描述场景。
以用例为核心,围绕用例开展活动的软件开发方法被称为用例驱动的软件开发方法。
19、企业建模:企业建模是以使用产品的组织团体为系统的环境,进行分析。
它主要用来理解组织的结构、行为规则、目标、重要成员的任务与职责、操纵的数据等。
企业建模利用企业的目标、任务、策略、资源等来刻画组织的行为,并依此来发现组织开发系统的目的,建立系统的业务需求。
20、过程建模:过程建模是结构化分析方法的典型技术。
过程建模将系统看做是过程的集合,其中一些由人来执行,另一些由软件系统来执行。
过程建模使用的主要技术有上下文图、数据流图、微规格说明和数据字典等。
21、上下文图:上下文图是DFD最高层次的图,是系统功能的最高抽象,它将整个系统看做是一个过程,这个过程实现系统的所有功能。
上下文图中存在且仅存在一个过程,表示整个系统。
这个单一的过程通常编号为0。
26、交互图(UML行为模型):交互图用于描述在特定上下文环境中一组对象的交互行为,该上下文环境就是被实现用例的某个场景。
所以,交互图通常描述的是单个用例的典型场景。
交互图中的每一个交互都描述了环境中的对象为了实现某个目标而执行的一系列消息交换。
28、基线:基线是已经通过正式评审和批准的规格说明或产品,可以作为进一步开发的基础,并且只有通过正式的变更控制过程才能修改它。
29、需求基线:需求基线(Requirements Baseline)就是被明确和固定的需求集合,是项目团队需要在某一特定产品版本中实现的特征和需求集合。
已经通过正式评审和批准的规格说明或产品,它可以作为进一步开发的基础,并且只有通过正式的变更控制才能修改它30、需求跟踪:需求跟踪是一种有效的控制手段,能够在涉众的需求变化中协调系统的演化,保持各项开发工作对需求的一致性。
需求跟踪是以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力,分为前向跟踪(Pre—Traceabmty)和后向跟踪(Post—Traceability)两种。
3.规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
4.用户需求:就是执行实际工作的用户,对系统所能完成的具体任务的期望,描述了系统能够帮助用户做什么。
5.涉众:软件系统的涉众可以定义为:所有能够影响软件系统的实现,或者会被实现后的软件所影响的个人和团体。
7.文档审查:是一种传统的需求获取方法,是针对文档进行的需求获取活动8.用例:在系统和外部对象的交互当中所执行的行为序列的描述,包括各种不同的序列和错误的序列,它们能够联合提供一种有价值的服务10.微规格说明:是一种被用来描述过程处理逻辑的技术,主要有三种:a.结构化英语b.行为图c.决策表/树11.交互图:交互图是用于描述在特定上下文环境中的一组对象的交互行为,该上下文环境就是被实现用例的某个场景五、问答题1、简述需求工程的主要任务。
答:需求工程有以下三个主要任务:①需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式、方法所施加的限制和约束,也即要同时说明软件需要“做什么”和“为什么”需要做。
②需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
需求规格说明是需求工程最为重要的成果,是项目规划、设计、测试、用户手册编写等很多后继软件开发阶段的工作基础。
③现实世界是不断变化的世界,因此需求工程还需要妥善处理目标、功能和约束随着时间的演化情况。
同时,为了节省开支和进行需求规格说明的重用,需求工程还需要对目标、功能和约束在软件产品族中的演化和分布情况进行综合考虑与处理。
2、简述常见的需求定义错误。
答:①需求并没有反映用户的真实需要。
②模糊和歧义的需求。
③信息遗漏。
④不必要的需求。
⑤不切实际的期望。
3、简要说明需求获取活动的过程。
答:(1)收集和应用背景资料,建立初始的知识框架。
分析涉众的高层次问题,总结出系统的业务需求。
(2)设计一个高层次的解决方案,并确定解决方案需要具备的系统特性。
高层次的解决方案和系统特性定义了项目的前景和范围。
(3)在项目的业务范围内,需求工程要寻找相关的涉众,并分析和涉众选择。
(4)对组织里存在大量的表格、单据等与业务相关的硬数据进行采样,它们是需求获取活动中一个重要的信息来源。
(5)针对某一次具体的需求获取活动,要依据项目范围确定主题和内容,涉众特征和硬数据,从而确定信息来源。
获取方法通常只有综合内容、来源和系统环境三者才能做出正确的决定。
在内容、来源和方法都确定之后,需求工程师就可以开展具体的获取活动,获取用户需求和问题域特性。
获取得到的具体信息要记录下来,以获取笔录的形式进行保存。
4、简述涉众识别的基本过程。
答:①将初始涉众集中起来,进行一次头脑风暴,尽可能地列出一个涉众类别列表。
②对上一步产生的涉众类别列表进行分析,判断它们和软件系统的相关性,找出其中的键涉众类别。
③为上一步的各个关键涉众类别选择代表,集中起来进行进一步的头脑风暴,列出新的涉众类别列表。
如果新列出的涉众类别列表趋于稳定,就可以结束涉众识别过程。
如果新列出的涉众类别列表有了新的发现,就提交新的涉众类别列表,转向第②步。
5、试比较面谈问题组织的三种结构。
答:(1)金字塔结构面谈问题的归纳式组织被看做是金字塔形状。
使用这种形式时,会见者以很具体的问题(通常是封闭式的问题)开始,然后逐渐提高问题的开放度,同时允许被会见者用越来越笼统的答案来回答问题。
在主动的情况下,如果会见者认为被会见者需要对话题进行预热,可以采用金字塔结构,通过逐步的引导使被会见者进入讨论。
在被动的情况下,如果会见者发现自己事先对事实的确认存在较大偏差或者被会见者看上去不情愿讨论某个话题,也可以采用金字塔结构。
在某个话题讨论结束的时候,使用金字塔结构的提问顺序也是有用的。
(2)漏斗结构在这种结构中,会见者使用演绎的方法,以一般的、开放式的问题开始,然后用封闭式的问题缩小可能的答复。
这种面谈结构可看做是漏斗型。
在主动的情况下,漏斗结构为开始一场面谈提供了一种容易而轻松的途径。
答复者即使答错了开放式问题,也不会感到压力。
在被动的情况下,当被会见者对话题有情绪,并且需要自由表达这些情绪的时候,需要采用漏斗型提问顺序。
或者在会见者事先对事实了解不多时,也应该采用漏斗结构的问题组织方式。
使用漏斗结构的一个好处是:用这种方式组织面谈能得出很多的详细信息,以至于没有必要使用长序列的封闭式问题。
(3)菱形结构人们在面谈中常常会将上述两种结构结合起来使用,其中菱形结构就是一种最好的结合结果。
这种结构以一种非常明确的方式开始,然后考察一般问题,最后得出一个非常明确的结论。
会见者首先提出一些简单的、封闭式的问题,为面谈过程做好铺垫。