《需求工程简答题复习.doc》由会员分享,可在线阅读,更多相关《需求工程简答题复习.doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、什么是需求:用户为了解决问题或达到某些目标所需要的条件或能力;系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;对它们的一种文档化表述。需求的分类:1.功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。2.性能需求:系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。3.质量属性:系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。4.对外接口:系统和环境中其他系统之间需要建
2、立的接口,包括硬件接口、软件接口、数据库接口等等。需求工程:是所有需求处理活动总和,它收集信息、分析问题、整理观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应.需求工程的活动包括:需求开发和需求管理需求开发包括: 1.需求获取:目的从项目规划开始建立最初的原始需求。它从相关人员、资料和环境中得到系统开发所需要的相关信息;2.需求分析:需求获取的这些信息还不是开发者能够立即加以实现的解决方案。还需要对需求获取得到的信息,进行需求分析;目的保证需求的完整性和一致性;3.需求规格说明:定义用户需求,准确描述需求及其解决方案,目的将完整、一致的需求与能够满足需求的软件行为以
3、文档的方式明确地固定下来;4.需求验证:目的保证需求及其文档的正确性,即需求真实地反映了用户的真实意图;以及通过检查和修正保证需求及其文档的完整性和一致性;需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。需求规格说明:就是将需求及其软件的解决方案进行定义和文档化,并传递给开发人员;为什么要建需求规格说明:1)更好的传递软件系统的需求信息和解决方案给所有的开发者; 2)拓展人们的知识记忆能力:复杂系统信息含量较多书面的文档可以弥补人的记忆能力不足; 3)开发者和客户作为合同协议的重要部分; 4)作为项目开发活动的一个重要依据;5)发
4、现和减少可能的需求错误,减少项目的返工,降低项目的工作量; 6)作为有效的智力资产,可以帮助新加入成员更快融入项目需求规格说明文档常见读者:项目管理者 )设计人员与程序员 3)测试人员 )文档写作人员 )涉众(用户)需求管理:就是这样一个管理活动,在需求开发之后的产品生命周期当中保证需求作用的有效发挥;为什么要执行需求管理:在需求开发结束之后,需要有一种力量保证后续的系统开发活动依照需求的基线进行展开,保证系统的质量;需求管理的主要任务有: 1)交流涉众需要什么;2)将需求应用、实施到解决方案;3)驱动设计和实现工作;4)控制变更;5)将需求分配到子系统;6)测试和验证最终产品;7)控制迭代式
5、开发中的变化;8)辅助项目管理;需求管理的个活动:1)维护需求基线:将需求基线纳入配置管理2)实现需求跟踪:以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力3)控制需求变更 以可控、一致的方式进行需求基线中需求的变更处理需求分析的根本任务:1.建立分析模型 2.建立解决方案需要执行活动:1.问题分析2.确定系统边界3.需求建模4.需求细化5.确定需求优先级6.需求协商需求验证:是专指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。常用的方法:需求评审、原型与模拟、测试用例开发、用户手册编写、利用跟踪关系和自动化分析。问题修正方法:1)需求澄清:理解
6、偏差:重新进行分析工作;分析遗漏:重新分析和文档化这部分信息; 表达不当:重新以合适的方式表达2.缺失需求:重新执行需求获取等一系列工作3.需求冲突:协商解决 4)不切实际的期望: 项目调整与需求协商需求跟踪:以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力前向跟踪:是指被定义到软件需求规格说明文档之前的需求演化过程;后向跟踪:是指被定义到软件需求规格说明文档之后的需求演化过程;需求跟踪的实现方法主要有哪3种:1.需求跟踪矩阵2.实体关系模型3.交叉引用需求变更控制的过程如下: 1.提出需求变更2.接受变更请求3.变更评估4.变更决策5.执行变更6.变更验证
7、前景:描述了产品的作用以及最终的功能;范围:为项目划定了需求的界限;确定项目前景与范围的流程:1.问题分析2.发现业务需求3.定义解决方案及系统特性硬数据:人们在实际工作中产生的各种各样的表格和文档资料;常见硬数据分为定量硬数据和定性硬数据两种类型;1.定量硬数据:指经过仔细设计、具有严格规范要求的格式化文档;2.定性硬数据:使用自然语言进行描述的文本资料。1.金字塔组织形式:会见者以很具体的问题开始,然后逐渐提高问题的开放度,同时允许被会见者越来越笼统的答案来回答问题;2.漏斗结构:以一般、开放式的问题开始,然后采用封闭式的问题缩小可能的答复;这种面谈结构可以看作一个漏斗型;3.菱形结构:就
8、是将上述2中方法集合起来使用;该结构会见者首先提出一些简单、封闭式的问题,为面谈过程做好铺垫;在面谈中间阶段向被会见者提出明显没有“正确答案”的一般话题看法;然后会见者再次限制问题以获得明确答复;面向对象建模:是一种用于辨识系统环境中的对象及这些对象之间关系的技术;UML面向对象建模中用到哪些技术:1.对象模型2.用例模型3.行为模型4.状态机模型5.对象约束语言OCL1.用例模型:就是以用例为基本单位建立的一个系统功能展示模型,它是系统所有用例的集合,以统一、图形化方式展示系统的功能和行为特性;2.行为模型:是实现用例模型到对象模型的桥梁,以更加详细的方式说明了用例所描述的系统行为;3.对象
9、模型:以对象和类的概念为基础,描述了系统中的对象和这些对象之间的关系;三者关系:对象模型无法直接被用来记录和描述从用户那里得到的信息。因此,面向对象建模方法提出了用例模型,用来处理开发人员直接从用户那里得到的信息,行为模型就是实现用例模型到对象模型的桥梁4.状态机模型: 以状态机理论为基础建立的对系统行为的描述手段; 5.对象约束语言:OCL语言是一种基于类型的描述语言,有着严格的类型定义,可以保证它进行形式化描述的能力,描述系统的各个方面;过程建模:就是分析需求获取活动获得的信息,根据数据在系统中的流动,发现系统的功能和其与外界的交互,建立能够实现系统功能的过程分解结构,形成系统的过程模型,
10、并用图行的方式将过程模型描述出来过程建模中用到哪些技术:1.上下文图:用来说明系统的上下文环境,确定系统边界;2.数据流图:用来建立过程的分解结构;3.微规格说明:用来描述数据流图过程分解结构中最底层过程的处理逻辑;4.数据字典:用来说明系统中涉及的数据的结构;过程建模与数据建模区别:过程建模更多是侧重数据产生和使用的时间、地点和方式,而没有描述数据的定义、结构和关系等特性;数据建模弥补了过程建模在数据说明方面的不足,描述数据的定义、结构和关系等特性的模型;涉众分析有哪些活动:1)、涉众识别:目的是寻找和发现各种涉众类别;2)、涉众描述:描述对涉众的基本特征描述、也会包括地理和社会特征;3)、
11、涉众评估:是将孤立的描述信息联合起来进行分析,以便得到更深层次信息的过程;4)、涉众选择: 在发现关键涉众类别,完成对他们角色和职责的定义之后,还需要为每个涉众类别选择合适的代表,为项目的最终成功起到应有的作用。涉众分析主要任务:1)寻找软件系统的涉众类别,辨别关键的涉众类别;2)描述不同涉众类别的特征,包括个人特征、工作特征;3)分析不同涉众类别的输赢条件和受影响程度; 4)描述不同涉众类别的关注点和兴趣取向;5)分析不同涉众类别的重要性和影响力;6)为每种涉众类别选择合适的代表参与项目开发。计划面谈1)确定参与人员(涉众、主持人、负责人、分析人员、记录人员、观察员 )2)安排会谈时间 (全
12、职的24天参与会议 ,拟定一份议程 )3) 选择会谈地点 (充足的空间,道具支持,良好的餐饮服务 )4)准备会谈内容 (面谈的主题和范围,会议的议程,需求的预期和会谈的目标,各种材料)开放式问题:指被会见者对答复的选择可以是开放和不受限制的,他们可能答复两个词,也可能答复两段话; 封闭式问题:指答案有基本的形式,被会见者的回答是受到限制的; 2)、优缺点:开放式问题的优点:让被会见者感到自在;会见者可以收集被会见者使用的词汇,这能反应他的教育、价值标准、态度和信念;提供丰富的细节;对没采用的进一步的提问有启迪作用;被会见者更感兴趣;容许更多的自发性;会见者可以在没有太多准备的情况下进行面谈。开放式问题的缺点:提此类问题可能会产生太多不相干的细节;面谈可能失控;开放式的回答会花费大量的时间才能获得有用的信息量;可能会使会见者看上去没有准备。封闭式问题的优点:节省时间;切中要点;保持对面谈的控制;快速探讨大范围问题;得到贴切的数据;封闭式问题的缺点:使得被会见者厌烦;得不到丰富的细节;不能建立和面谈者的友好关系。