需求工程课后重点答案
- 格式:doc
- 大小:222.00 KB
- 文档页数:7
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.认知方法: 任务分析, 协议分析第四章基于上下文的方法:观察, 民族志, 话语分析第五章常见的组织方式是依照系统特性, 确定系统的边界, 建立上下文图或系统用例图, 然后按照遍历上下文图和系统用例图的方式开展获取活动。
v v
v
v v v v
需求问题。
v
v
v
事出必有因,如果能先看到自己的不是,答案就会不一样。
!
v
v
v v
v
v
v
v
义)
v
v
v
分析)
v v
v v
v
1)忽视软件开发前期的需求分析;
2)开发过程缺乏统一的、规范化的方法论的指导;
3)文档资料不齐全或不准确;
4)忽视与用户之间、开发组员之间的交流;
5)忽视测试的重要性;
6)不重视维护或由于上述原因造成维护工作的困难。
v
v
“可靠的需求工程过程”是v
v
v需求的主要症状与本质分析v不同软件项目的需求视图
信息系统
v
v业务事件为中心
v Report为中心
v v
v
v
v
v v
v模型为中心
v决策模型为中心
v v v
v v v
ØØØ。
需求工程练习题一、单选题(每空1分,共20分,请在备选答案中选择唯一一个正确的选项)1、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B)A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性2、需求包括11个方面的内容,其中网络和操作系统的要求属于(B),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D),规定系统平均出错时间属于(A).A 质量保证B环境需求C安全保密需求D 性能需求3、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。
以下几种图形中,(B)属于功能模型,(A)属于数据模型,(C)属于行为模型。
A 实体-联系图(ERD)B 数据流图(DFD)C 状态转换图(STD)D鱼骨图4、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。
A决策树B数据流图C数据字典D快速原型5、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性.其中,(B)和(C )用完就可以丢弃,而(A)围绕原型修改、增加.A 进化型B 探索型C实验型 D 以上都是6、(D)用于描述数据的处理过程.A 数据字典B决策树C决策表 D 数据流图7、DFD的基本符号不包括下列哪种(A)A 数据字典B 加工C 外部实体D 数据流E 数据存储文件8、DD的主要字典条目包括以下哪种(E)A数据流B文件 C 数据项D加工E以上都是9、常用的动态分析方法不包括以下哪种(B)A 状态迁移图B 层次方框图C时序图 D Petri网10、需求分析阶段的文档包括以下哪些(E)A 软件需求规格说明书B数据要求说明书C初步的用户手册D修改、完善与确定软件开发实施计划E以上都是11、需求验证应该从下述几个方面进行验证:(C)A 可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性C一致性、现实性、完整性、有效性D 功能性、非功能性12、风险管理的要素包括哪项(D)A风险评价B风险避免C风险控制D以上都是13、下列描述中错误的是(D)A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。
需求工程期末考试题及答案# 需求工程期末考试题及答案一、选择题(每题2分,共20分)1. 需求工程的主要目的是:A. 确保软件按时交付B. 确保软件成本控制C. 确保软件满足用户需求D. 确保软件技术先进答案:C2. 需求分析阶段不包括以下哪项活动?A. 需求获取B. 需求规格化C. 需求验证D. 软件编码答案:D3. 以下哪个不是需求工程的基本原则?A. 需求应该是可验证的B. 需求应该是可追踪的C. 需求应该是可修改的D. 需求应该是不可变更的答案:D4. 需求优先级排序的目的是为了:A. 减少项目成本B. 提高开发效率C. 确定开发顺序D. 增加用户满意度答案:C5. 需求变更控制的目的是:A. 保证需求的完整性B. 避免需求的变更C. 降低需求变更的成本D. 确保需求变更的合理性答案:D二、简答题(每题10分,共30分)1. 简述需求工程中的“需求获取”和“需求分析”两个阶段的主要任务。
答案:需求获取阶段的主要任务是与用户沟通,收集用户的需求信息,包括功能需求、性能需求、约束条件等。
需求分析阶段的主要任务是对收集到的需求进行分析,明确需求的具体内容,消除需求中的矛盾和模糊性,形成清晰、准确、一致的需求规格说明。
2. 描述需求验证的重要性以及常见的需求验证方法。
答案:需求验证的重要性在于确保需求的准确性和完整性,避免在开发过程中因需求理解错误而导致的返工。
常见的需求验证方法包括:需求评审、原型测试、需求跟踪矩阵、需求一致性检查等。
3. 解释什么是需求变更控制,以及它在软件开发过程中的作用。
答案:需求变更控制是指在软件开发过程中对需求变更进行管理和控制的过程。
它的作用是确保需求变更不会对项目的进度、成本和质量产生负面影响,同时保证需求变更的合理性和必要性。
三、案例分析题(每题25分,共50分)1. 假设你是一个软件开发团队的需求工程师,你的团队正在开发一个在线购物平台。
请描述你将如何进行需求获取和需求分析。
需求习题集及解答【例1】软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。
供选择的答案:A. 总结B. 阶段性报告C. 需求分析评审D. 以上答案都不正确答案: C.分析:作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性,以及其它需求给予评价。
一般,评审的结果都包括了一些修改意见,待修改完成后再经评审通过,才可进入设计阶段。
【例2】各种需求方法都有它们共同适用的( )。
供选择的答案:A.说明方法B.描述方式 C. 准则D.基本原则答案: D.分析:虽然各种分析方法都有独特的描述方法,但所有的分析方法还是有它们共同适用的基本原则。
这些基本原则包括:▪需要能够表达和理解问题的信息域和功能域;▪要能以层次化的方式对问题进行分解和不断细化;▪要分别给出系统的逻辑视图和物理视图。
【例3】在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。
供选择的答案:A. 数据流图B. 数据词典C. 结构化英语D. 判定表与判定树答案: A.分析:数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,所以,它不是描述数据的静态结构,而是描述数据流的传递和变换。
数据词典主要用于定义数据和控制对象的细节,结构化英语、判定表和判定树主要用于描述加工规格说明,都不是表达数据在系统内运动情况的工具。
【例4】在结构化分析方法中用状态―迁移图表达系统或对象的行为。
在状态―迁移图中,由一个状态和一个事件所决定的下一状态可能会有( )个。
供选择的答案:A. 1B. 2C. 多个D. 不确定答案: C.分析:在状态―迁移图中,由一个状态和一个事件所确定的下一状态可能会有多个。
实际会迁移到哪一个状态,是由更详细的内部状态和更详细的事件信息来决定的,此时在状态―迁移图中可能需要使用加进判断框和处理框的记法。
状态―迁移图的优点:第一,状态之间的关系能够直观地捕捉到,这样用眼睛就能看到是否所有可能的状态迁移都已纳入图中,是否存在不必要的状态等。
软件工程第三章需求工程在软件工程中,需求工程是至关重要的一环。
它就像是一座建筑的蓝图,为后续的设计、开发、测试等工作指明了方向。
如果需求工程做得不好,就好比在没有清晰规划的情况下盲目施工,结果必然是混乱和低效的。
需求工程主要包括需求获取、需求分析、需求规格说明和需求验证这几个关键步骤。
需求获取是需求工程的起点。
这可不是一件简单的事情,它需要与各种利益相关者进行有效的沟通和交流。
这些利益相关者可能包括客户、用户、业务经理、技术专家等等。
他们对于软件系统的期望和需求各不相同,因此获取到全面、准确的需求信息是一个挑战。
在与利益相关者交流时,我们需要运用各种技巧。
比如,倾听是非常重要的。
要让他们能够畅所欲言,表达出自己的真实想法和需求。
同时,提问也是必不可少的。
通过有针对性的问题,可以引导他们深入思考,挖掘出一些潜在的需求。
此外,观察他们的工作流程和操作习惯,也能为获取需求提供有价值的线索。
需求分析是对获取到的需求进行深入理解和梳理的过程。
这就像是把一堆杂乱无章的拼图碎片整理成一幅完整的画面。
我们需要识别出需求中的关键元素,理解它们之间的关系,并且找出可能存在的冲突和不一致。
为了进行有效的需求分析,我们常常会使用一些工具和技术。
比如,用例图可以帮助我们清晰地描述系统的功能和用户与系统之间的交互。
数据流图则能够展示数据在系统中的流动和处理过程。
状态转换图可以用于描述系统中对象的状态变化。
通过这些工具,我们能够更直观地理解需求,发现潜在的问题。
需求规格说明是将分析后的需求以一种清晰、准确、无歧义的方式记录下来。
它就像是一份合同,明确了软件系统应该具备的功能和性能。
需求规格说明通常包括功能需求、非功能需求、约束条件等内容。
功能需求描述了系统应该完成的具体任务和操作。
非功能需求则关注系统的性能、可靠性、可维护性、安全性等方面的要求。
约束条件可能包括技术限制、预算限制、时间限制等。
在编写需求规格说明时,语言要简洁明了,避免使用模糊不清的词汇和语句。
1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做”。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素矚慫润厲钐瘗睞枥庑赖。
3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章:1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
聞創沟燴鐺險爱氇谴净。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
残骛楼諍锩瀨濟溆塹籟。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
酽锕极額閉镇桧猪訣锥。
第三章:一、.需求工程过程的工作基础(即输入)存在哪些?他的工作成果(即输出)有哪些??答:需求过程的工作基础是获取用户面临的业务问题,用户期望系统表现出来的各种行为,即需求获取工作成果:产生一个能够在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明。
二.、描述需求工程的各个活动,说明他们各自的工作基础,工作目标和工作成果需求获取:工作基础:1.收集背景资料2.定义项目前景和范围3.选择信息的来源4.选择获取方法,执行获取5.记录获取结果彈贸摄尔霁毙攬砖卤庑。
工作目标:获取用户需求,了解用户在完成任务的时候遇到的问题与期望工作成果:业务需求,项目的前景和范围,用户需求以及问题域的特征需求分析:工作基础:1背景分析2.确定系统边界3.需求建模4.需求细化5.确定优先权6.需求协商工作目标:1.通过建模整合各种信息,是人们更好地理解问题2.定义一个需求集合,能够为问题界定一个游戏的解决方案工作成果:产生一个需求的基线集,它指定了系统或当前版本的系统开发需完成的任务3.需求规格说明:工作基础1.定制文档模板 2.编写文档工作目标:为了系统涉众之间交流需求信息工作成果:需求规格文档说明4.需求验证工作基础1.执行验证2问题修改工作目标:为了尽量不给设计实现测试后续开发活动带来不必要的影响。
需求规格说明文档定义必须正确准确地反映用户的意图謀荞抟箧飆鐸怼类蒋薔。
工作成果:验证之后,问题得以修正需求管理:工作基础:1.建立和维护需求基线集2.建立需求跟踪信息3进行变更控制工作目标:保证需求作用的持续稳定和有效发挥工作成果:需求管理会进变更控制和实现合理的变更请求拒绝不合理的变更请求,控制变更的成本和影响范围三、需求工程师需求具备的技能专业技能,分析技能,交流技能,观察技能,建模技能,写作技能,创新技能,协调技能第五章为什么要定义项目的前景和范围?答、业务需求、高层解决方案和系统特性都应该被记录下来,定义为项目的前景与范围文档,前景描述了产品的作用和最终的功能,它将所有的涉众都统一到一个方向上厦礴恳蹒骈時盡继價骚。
范围指出了当前项目是要解决产品长远规划的那一部分,它为项目规定了需求的界限案例题:1.你被任命为替换学生财务资助项目的项目经理。
你想开发一个工作陈述来定义范围并降低范围蔓延的风险。
财务资助部门的主管坚持要你15个月、600000美元的预算内替换他现有的系统就可以了。
他说这就是你需要知道的全部,不需要浪费时间开发一个工作陈述了。
省略工作陈述的风险是什么?你将如何说服主管?茕桢广鳓鯡选块网羈泪。
解答:省略工作陈述的风险是不能明确项目的前景和范围。
如果省略了工作陈述的话,我们就不能和用户进行很好的沟通与交流,这样,项目的问题也就不能明确,开发人员无法与涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决方案及系统特性,继而无法明确项目的前景和范围,这样就会造成项目的不稳定甚至失败!鹅娅尽損鹌惨歷茏鴛賴。
第六章什么是涉众?涉众分析?软件系统中常见的涉众?涉众是与要建设的业务系统相关的一切人和事.涉众分析就是为软件系统寻找并理解关键涉众的过程常见的涉众:管理着:用户、客户、开发人员、管理者、领域专家、政府力量和市场力量等领域专家:在问题域中具有丰富知识的专家*关注软件中的知识政府力量:法律法规、长远规划、政策意向*起约束和指导作用市场力量:组织中的市场部门人员,关注用户的想法*关注用户想法用户:最终使用和操作产品的人*关注软件功能客户:为软件系统开发付费的人*关注经济的成本、收益开发者:负责实现软件系统的人*关注技术上的成本和利益第七章一、列出面谈的5个步骤面谈准备的主要工作包括:1、阅读背景资料2、确定面谈的主题和目标3、选择被会见者4、准备会见被会见者5、确定问题和类型第8章一、原型的定义原型是一个系统,他内化了一个更迟系统的本质特征。
二、说明原型在需求获取中的作用和试用情景因为原型是在最终系统产生之前的一个局部真实表现,所以原型方法可以让人们在系统的开发过程中,就能对一些具体问题进行基于事物有效沟通,从而帮助人们今早解决软件开发过程中存在的各种不确定性。
籟丛妈羥为贍偾蛏练淨。
场景:产品以前从未存在过,而且难以可视化,这些产品属于创新产品,他们的基本需求是潜在的,有很大的不确定性产品的用户对相关类别的产品没有经验,而且对将要采用的技术也没有经验。
此时用户无法明确工作的具体细节,产品的细节需求存在着不确定性預頌圣鉉儐歲龈讶骅籴。
用户进行自己的工作已经有一段时间了,但在完成工作的方式上依然存在障碍。
用户清晰说明他们的需求方面存在困难。
在澄清和理解之前,这些需求存在着不确定性需求的可行性值的怀疑,即具体需求的可满足性存在着不确定性三、案例题“我有一个绝妙的主意!”Bea Kwicke宣布,他是系统团队的一位新来的需求工程师,“让我们跳过所有的SDLC垃圾,直接为一切设计原型。
我们的项目会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。
”a)列出你(作为与Bea同一个团队的成员)用来劝阻她不要试图放弃SDLC,而直接为所有项目设计原型的原因。
b)Bea对你所说的话很失望。
为了鼓励她,用一段话向她说明,你认为适用于原型化方法的情渗釤呛俨匀谔鱉调硯錦。
(1)主要原因:原型仅仅是开发当中使用的一种手段,它利用得当可以加速开发的进程,但不能代替软件开发中的所有工作。
铙誅卧泻噦圣骋贶頂廡。
(2)情形见下表,尤其是其中红色的部分四、说明下列典型的应用情景适合使用哪种类型的原型(1)人机交互界面--信息表格或者报表(2)人机交互界面--具体功能的设置(3)人机交互界面--任务的执行过程(4)功能探索--任务的功能内容(5)功能探索--任务的执行过程(6)功能探索--任务的执行结果第九章一、为什么需要观方法?观察方法的适用情景是什么?答:很多时候用户无法完成主动的信息告知,或者说用户和需求工程师之间的语言交流无法产生有效的结果,这时就有必要采用观察的方法。
擁締凤袜备訊顎轮烂蔷。
采样观察:根据明确的目的选取特定的时间段或者特定的事件进行观察。
民族志:观察者深入到用户中,花费较长的时间(一般为几个月)来观察用户的活动。
话语分析:它通过观察和分析用户交谈中的交互方式或者特定的话语形式的内部结构来发现和获取相关信息。
协议分析:对用户任务的观察。
它要求观察对象一边执行任务,一边大声地解释他们在执行任务时产生的各种想法。
贓熱俣阃歲匱阊邺镓騷。
任务分析:专门针对人机交互行为的观察。
它引入了相关的模型方法来观察、记录和分析用户与软件系统的交互行为坛摶乡囂忏蒌鍥铃氈淚。
二、案例题1.Ceci Awill说:“我想我能记得他所做过的大部分事情。
”Ceci准备与OK Corral公司战略规划副总裁Biff Weblldon进行面谈。
OK Corral是一家拥有130间牛排连锁店的公司。
“我的意思是说,我有好的记性。
我认为听他说什么比看他做什么更重要。
”蜡變黲癟報伥铉锚鈰赘。
作为需求工程团队的一员,Ceci Awll向你诉说了他要写下在面谈中对Biff 的办公司和Biff的活动进行观察的愿望。
買鲷鴯譖昙膚遙闫撷凄。
(1)用一段话来说服Ceci,在面谈时仅仅倾听是不够的,观察和记录所观察的内容同样是很重要的。
(2)Ceci似乎接受了你认为观察时很重要的观点,但是不知道该观察什么。
列出需要观察的项目和行为,在每一项行为的旁边用一句话指名Ceci通过观察应该得到的信息。
綾镝鯛駕櫬鹕踪韦辚糴。
答:(1)面谈并不能确保用户能够将所有的信息都告知需求工程师,诸如一些语言无法确切描述的事务,而观察能够了解用户真正做什么,还能够获取到其他方法不能得到的用户及其工作环境的信息,还可以对从其他方法获取的信息进行确认,所以我们应该重视观察方法的应用。
驅踬髏彦浃绥譎饴憂锦。
(2)①观察客户所处的环境(得出何种需求才能更适合客户)。
②观察客户行为、习惯特征(得出更适合客户使用的软件需求)。
第十一章一、什么是系统模型,他与需求分析和系统设计有什么关系?系统模型是指以某种确定的形式(如文字、符号、图表、实物、数学公式等),对系统某一方面本质属性的描述。
猫虿驢绘燈鮒诛髅貺庑。
需求分析是挖掘和整理知识的过程,它在已掌握知识的基础上进行。
初步捕获到的需求信息往往处于不同层次,也有一些主观甚至不正确的信息。
而经过必要的需求分析工作之后,需求会更加系统、更加有条理、更加全面。
锹籁饗迳琐筆襖鸥娅薔。
那么系统分析呢?如果说,需求分析致力于搞清楚软件系统要“做什么”的话,那么系统分析已经涉及“怎么做”的问题了。