第1页共11页需求工程习题集一、选择题1、需求获取的成果(A)。A、获取笔录、录音或摄像B、客户C、需求规格说明文档D、设计说明书2、项目前景与范围文档中,项目前景不应包括什么信息(B)。A、前景概述B、详细的功能需求C、主要特性D、假设与依赖3、下列不属于需求开发的活动的是(B)。A、需求获取B、需求管理C、需求验证D、需求分析4、面谈的类别不包括(C)。A、结构化面谈B、半结构化面谈C、封闭式面谈D、非结构化面谈5、采用观察方法进行需求获取的原因(C)。A、用户多B、客户变化D、事件的情景性D、存在默认知识6、确定需求优先级的常用的方法(A)。A、累计投票B、协商C、需求细化D、需求建模7、需求评审是(B)中常用的一种方法。A、需求获取B、需求验证C、需求分析D、需求管理8、需求跟踪是(D)中的一个活动。A、需求获取B、需求验证C、需求分析D、需求管理9、针对客户需求文档进行文档审查的时候,采用的方法是(C)。A、需求重用B、文档分析C、需求剥离D、民族志10、下列不是过程建模中使用的技术是(C)。A、上下文图B、数据流图C、E-R图D、微规格说明11、针对相关产品的需求规格说明进行文档审查的时候,采用的方法是(C)。A、需求剥离B、文档分析C、需求重用D、民族志12、下列不是用例模型的基本元素的是(A)。A、用例B、参与者C、实体D、系统边界13、下列不属于需求验证的方法的是(B)。A、需求评审B、需求分析C、利用跟踪关系D、开发测试用例14、下列不属于变更控制过程的步骤是(D)。A、提出需求变更B、接受变更请求C、变更评估D、需求依赖第2页共11页15、需求分析的最终结果产生的是(C)。A、项目开发计划B、可行性分析报告C、需求规格说明书D、设计说明书16、最常见的IEEE1998将需求分成5种类别,下列哪个不是5种类别的是(D)。A、功能需求B、性能需求C、质量属性D、需求获取17、下列不属于面向对象建模中所使用的技术是(C)。A、用例模型B、行为模型C、数据模型D、对象模型18、下列不属于获取信息的内容的是(D)。A、需求B、问题域描述C、环境与约束D、涉众19、下列不属于涉众的是(C)。A、用户B、客户C、相关软件D、开发者20、面谈中,问题组织结构中,下列不属于问题的组织结构的是(C)。A、金字塔结构B、漏斗结构C、封闭式结构D、菱形结构21、下列哪种不属于原型的表现方法(A)。A、角色B、静态画面C、动态程序D、情景串联图板22、下列不属于需求分析方法的是()。A、传统分析B、结构化分析C、信息工程D、面向对象分析23、下列不属于文档审查方法的是(D)。A、需求重用B、文档分析C、需求剥离D、采样观察24、下列不属于UML行为模型的是(A)、A、流程图B、交互图C、状态图D、活动图25、文档审查是(A)中常用的一种方法。A、需求获取B、需求验证C、需求分析D、需求管理26、在面谈中不属于问题的组织结构的是(B)。A、金字塔结构B、梯形结构C、漏斗结构D、菱形结构27、需求获取中常见的困难不包括下列哪个(D)。A、用户越俎代庖B、知识理解困难C、用户存在认知困境D、模型建立第3页共11页二、名词解释1、业务需求:答:描述了新系统将带给投资人、购买者和用户的主要利益,说明了项目的最终目标。2、涉众:答:所有能够影响软件系统的实现,或者会被实现后的软件系统所影响的个人和团体。3、需求基线:答:被明确和固定的需求集合,是项目团队的需要在某一特定产品版本中实现的特征和需求集合。4、情景性事件:答:需要将事件放在它们发生时情境中进行解释,才能明确其意图。5、数据建模:答:描述数据的定义、结构和关系的特性。6、用户需求:答:执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做什么!7、黑洞:答:如果过程接收了数据输入却没有产生输出。8、项目前景与范围:答:前景描述了产品的作用以及最终的的功能,将所有的涉众都统一到方向上;范围指出了当前项目是要解决产品长远规划中的哪一个部分,为项目划定了需求的界限。9、需求工程:答:是所有需求处理活动的总和,它收集信息、分析问题、整合观念、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形式的期望效应。10、硬数据:答:登记表格、单据、报表等定量文档、备忘录、日志等定性文档。11、系统需求:答:是用户对系统行为的期望。12、用例模型:答:是将获取得到的用例进行集中展示的图形表示法。13、民族志:14、行为模型:答:是用例模型的实现,以更加详细的方式说明了用例所描述的系统行为。第4页共11页三、填空题1、最常见的IEEE1998,将需求的分为5类:功能需求、性能需求、质量属性、对外接口和约束。2、优秀需求的特性:完整性、正确性、精确性、可行性、必要性、无歧义、可验证。3、需求获取的信息来源可能有哪些:涉众、硬数据、相关产品、重要文档、相关技术标准和法规。4、常用的两种抽样技术:随机抽样、分层抽样。5、文档审查有哪三种方法:需求重用、文档分析、需求剥离。6、DFD的基本元素:外部实体、过程、数据流和数据存储。7、过程建模中常用的技术:上下文图、数据流图、微规格说明、和数据字典。8、涉众分析包括哪些活动:涉众识别、涉众描述、涉众评估和涉众选择。9、在需求工程中原型方法步骤:确定原型需求、原型开发、原型评估、原型修正。10、常见的需求定义错误:没有反映用户真实需要、模糊和歧义的需求、信息遗漏、不必要的需求、不切实际的期望。11、需求获取常用的方法:传统方法、集体获取方法、原型、模型驱动方法、认知方法、基于上下文的方法。12、微规格说明是一些被用来描述过程处理逻辑的技术,主要有三种常用的技术:结构化英语、行为图、决策表/树。13、用例模型的基本元素有四种:用例、参与者、关系和系统边界。14、面谈中相关问题的组织结构有:金字塔结构、漏斗结构、菱形结构。15、DFD层次结构建立步骤:创建上下文图、发现并建立DFD片段、根据DFD片段组合产生层图、产生N层数据流图。16、需求跟踪的实现方法主要有:矩阵、实体联系模型和交叉引用三种。17、功能需求通常体现为三个层次:业务需求、用户需求和系统需求。18、面向对象建模中用到的技术包括:对象模型、用例模型、行为模型、状态机模型和对象约束语言。19、需求规格说明活动就是将需求和软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。20、业务需求、高层解决方案、系统边界都应该被定义到项目前景与范围文档中。第5页共11页四、简答题1、需求工程包括哪些活动,并简要说明其内容?软件开发中为什么要重视需求工程?答:1、需求工程活动包括:需求开发和需求管理;2、1)、需求开发包括:需求获取、需求分析、需求规格说明和需求验证4个部分;2)、需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。2、需求获取活动包括那几个部分,并对每一部分活动作简要解释?答:1、确定获取信息的内容2、确定待获取信息的来源3、确定应采用的获取方法4、执行获取5、获取的结果3、需求分析的根本任务是什么?需求分析阶段需要执行哪些活动?答:需求分析的根本任务:1、建立分析模型2、建立解决方案需求分析阶段需要执行活动:1)问题分析2)确定系统边界3)需求建模4)需求细化5)确定需求优先级6)需求协商4、什么是需求规格说明?为什么要建需求规格说明?需求规格说明有哪些描述手段?需求规格说明文档常见的读者?答:1、需求规格说明:就是将需求及其软件的解决方案进行定义和文档化,并传递给开发人员;2、1)更好的传递软件系统的需求信息和解决方案给所有的开发者;2)拓展人们的知识记忆能力:复杂系统信息含量较多书面的文档可以弥补人的记忆能力不足;3)开发者和客户作为合同协议的重要部分;4)作为项目开发活动的一个重要依据;5)发现和减少可能的需求错误,减少项目的返工,降低项目的工作量;6)作为有效的智力资产,可以帮助新加入成员更快融入项目;3、4、几个常见的读者群:1)项目管理者2)设计人员与程序员3)测试人员4)文档写作人员5)涉众(用户)5、什么是需求管理?为什么要执行需求管理?需求管理的主要任务有哪些?答:需求管理:就是这样一个管理活动,在需求开发之后的产品生命周期当中保证需求作用的有效第6页共11页发挥;在需求开发结束之后,需要有一种力量保证后续的系统开发活动依照需求的基线进行展开,保证系统的质量;需求管理的主要任务有:1)交流涉众需要什么;2)将需求应用、实施到解决方案;3)驱动设计和实现工作;4)控制变更;5)将需求分配到子系统;6)测试和验证最终产品;7)控制迭代式开发中的变化;8)辅助项目管理;6、描述需求工程的各个活动,并说明各个活动的任务?答:需求工程活动包括:需求开发和需求管理;需求开发包括:需求获取、需求分析、需求规格说明和需求验证4个部分;需求获取:目的从项目张罗规划开始建立最初的原始需求。它从相关人员、资料和环境中得到系统开发所需要的相关信息;需求分析:需求获取的这些信息还不是开发者能够立即加以实现的解决方案。还需要对需求获取得到的信息,进行需求分析;目的保证需求的完整性和一致性;需求规格说明:定义用户需求,准确描述需求及其解决方案,目的将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;需求验证:目的保证需求及其文档的正确性,即需求真实地反映了用户的真实意图;以及通过检查和修正保证需求及其文档的完整性和一致性;需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。7、什么是面谈中的开放式问题?什么是封闭式问题?并比较二者的优缺点?答:1、开放式问题:指被会见者对答复的选择可以是开放和不受限制的,他们可能答复两个词,也可能答复两段话;封闭式问题:指答案有基本的形式,被会见者的回答是受到限制的;2、优缺点:开放式问题的优点:让被会见者感到自在;会见者可以收集被会见者使用的词汇,这能反应他的教育、价值标准、态度和信念;提供丰富的细节;对没采用的进一步的提问有启迪作用;被会见者更感兴趣;容许更多的自发性;会见者可以在没有太多准备的情况下进行面谈。开放式问题的缺点:提此类问题可能会产生太多不相干的细节;面谈可能失控;开放式的回答会花费大量的时间才能获得有用的信息量;可能会使会见者看上去没有准备。封闭式问题的优点:节省时间;切中要点;保持对面谈的控制;快速探讨大范围问题;得到贴切的数据;封闭式问题的缺点:使得被会见者厌烦;得不到丰富的细节;不能建立和面谈者的友好关系。8、什么是UML,它可以用于什么类型的建模?分别使用了哪些技术?答:UML称为统一建模语言UML就是一种主要的面向对象建模技术包含技术有:1)对象模型ObjectModel(DomainModel)2)用例模型UseCaseModel3)行为模型BehaviorModel4)状态机模型5)对象约束语言OCL第7页共11页9、需求验证的含义?需求验证有哪些常用的方法?问题修正方法?答:需求验证:是专指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。常用的方法有:需求评审、原型与模拟、测试用例开发、用户手册编写、利用跟踪关系和自动化分析。问题修正方法:1)需求澄清:理解偏差:重新进行分析工作分析遗漏:重新分析和文档化这部分信息表达不当:重新以合适的方式表达2)缺失需求:重新执行需求获取等一系列工作3)需求冲突:协商解决4)不切实际的期望:项目调整与需求协商10、涉众分析的过程?答:1、涉众识别2、涉众描述3、涉众评估4、涉众选择11、需求工程中需要获取的内容主要有哪3种?获取信息的主要来源有哪些?常见的需求获取方法有哪些(最少写4种)?答:需要获取的内容主要有:1、需求2、问题域描述3、环境与约束获取信息的主要来源有:1、涉众2、硬数据3、相关产品4、重要文档5、相关技术标准和法规获取信息的方法:1、传统方法2、集体获取方法3、原型4、模型驱动方法5、认知方