需求工程复习资料

  • 格式:docx
  • 大小:154.38 KB
  • 文档页数:11

软件需求工程30 题重要概念:需求:1.用户为了解决问题或达到某些目标所需要的条件或能力。

2.系统或系统部件为了满足合同,标准,规范或其他正式文档所规定的要求而需求具备的条件或能力。

3.对1或2中的一个条件或一种能力的文档化表述。

需求工程:所有需求处理活动的总和,它收集信息,分析问题,整合观点,记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。

问题域:问题的发生地,也是问题解决的基本范围————解决问题必须涉及的时间和事物。

问题域特征:问题域是自治的,它有自己的运行规律,而且这些归规律不会因解系统的引入而发生改变。

约束:是不受解系统影响,却会给解系统带来极大影响的问题域特性,是在总体上限制了开发人员设计和构建系统时的选择范围。

需求获取:从人,文档或环境中获取需求的过程。

需求分析:通过建模来整合各种信息,以使人们更好的理解问题。

需求规格说明:将需求及软件方案进行定义和文档化,以有效将信息传递给开发人员的需求工程活动。

解系统:软件系统通过影响问题域帮助人们解决问题。

前景:用一简洁的声明概括系统的长期目标和意图。

涉众:所有能够影响软件系统的实现,或者会被实现后软件系统所影响的个人和团体。

硬数据:人们在进行实际工作时产生的各种各样的表格和文档资料用例:UML将用例定义为在系统(或者子系统或者类)和外部对象的交互中所执行的行为序列的描述,包括各种不同的序列和错误的序列,他们能够联合提供一种有价值的服务。

场景:根据用户请求和请求时的系统条件,系统将执行不同的行为序列,这个行为序列就叫场景。

领域模型:关注用户问题域的对象模型重点知识1、导致软件需求问题的主要原因。

(模拟特征、非技术性及社会性因素、传统方法的局限,软件规模)答:○1未能很好的理解和掌握“应用”型软件的模拟特性以及由此而产生的一系列影响和要求。

○2非技术性和社会性因素重视不足○3传统需求分析方法的缺陷○4软件规模的日益扩大○5需求问题的高代价性2、需求工程的主要任务和活动。

(图1-6)答:○1.需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成所用方式,方法所施加的限制和约束,即要同时说明软件需要“做什么”和“为什么”需要做。

○2需求工程必须将目标,功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。

○3现实世界是不断变化的世界,因此需求工程还需要妥善处理目标,功能和约束随着时间的演化过程。

3、常见的需求的三个抽象层次(业务,用户,系统图2-6)。

答:目标} 业务需求解决方案与系统特性任务} 用户需求问题域知识系统行为} 系统级需求需求分析模型4、IEEE 1998对需求的分类。

答:○1功能需求○2性能需求○3质量属性○4对外接口○5约束5、常见的约束的类型。

(page 43):○1系统开发及其运行环境。

○2问题域内的相关标准。

○3商业规则。

○4社会性因素。

6、需求开发过程中常见的文档及其作用。

(page 53)答:○1项目前景和范围文档:定义系统的业务需求,明确了系统开发的努力方向和工作范围。

○2用户需求文档:定义系统的用户需求,以用户的立场表达了对系统行为的期望。

○3需求规格说明文档:定义了系统的系统级需求,指出了开发者应该完成的任务。

7、需求获取的常见困难。

(page 75)答:○1用户和开发人员的背景不同,立场不同。

○2普通用户缺乏概括性,综合性的表述能力。

○3用户存在认知困境。

○4用户越俎代庖○5缺乏用户参与8、需求获取的主要内容(page 80)答:○1需求○2问题域描述○3环境与约束9、需求获取信息的来源。

(page 81)答:○1涉众○2硬数据○3相关产品○4重要文档○5相关技术标准和法规10、需求获取信息的常见方法(page 81)答:○1传统方法○2集体获取方法○3原型○4模型驱动方法○5认知方法○6基于上下文方法11、为何要定义前景和范围。

(page 95)答:前景描述了产品用来干什么以及最后将是什么样。

范围则指出了当前项目是要解决的产品长远规划中的哪一部分。

前景声明将所有涉众都统一到一个方向上来。

范围声明则为项目划定了需求的界限12、问题分析的过程(page 96图5-2)○1获取问题○2明确问题○3发现业务需求○4定义问题解决方案及系统特性13、上下文图和用例图在定义系统边界上的区别。

(page 134)答:上下文图更注重系统与环境的输入/输出数据流交互;系统用例图更注重系统与环境的有价值的交互。

14、涉众分析包括的主要活动。

(page 147)答:○1涉众识别○2涉众描述○3涉众评估○4涉众代表选择○5制定涉众代表参与需求开发乃至软件系统的参与策略。

15、常见的定量硬数据和定性硬数据。

(page 166)答:定量硬数据:1.数据收集表格。

2.统计报表定性硬数据:1.整个组织的描述文档。

2.业务指导文档。

3.业务备忘。

16、用例./场景分析的主要作用(page 172)答:用例/场景模型能够及时将每次需求获取活动的进展组织起来,展示、提供给分析活动,并在得到分析结果后进一步指导后续获取活动,所以用例/场景模型在用户需求获取活动中有着主线索的作用。

17、采用用例/场景与采用需求列表组织需求的区别(page 175).答:用例/场景:利于需求阶段的开发工作,不利于后期开发工作而需求列表组织有利于后期开发工作18、用例描述的基本格式(或内容)。

(page 176)19、用例/场景的三个层次(page 177)答:用例/场景可以用于组织业务需求内容,用户需求内容,系统级需求内容。

20、开放式问题和封闭式问题的优缺点。

(page 199)答:开放式问题:优:让被会见者感到自在;会见者可以收集被会见者使用的词汇,这能反应他的教育、价值标准,态度和信念;提供丰富情节。

缺:可能产生太多不相干的细节,面谈可能会失控;需花费大量时间才能获得有用的信息。

封闭式问题:优:节约时间;切中要点;保持对面谈的控制,快速探讨大范围问题,得到贴切的数据。

缺:使会见者厌烦;得不到丰富情节;出于上述原因,失去主要思想;不能建立面谈者友好的关系。

21、采用面谈方法获取需求的优点和局限性。

(page 209)答:优点:①面谈的开展条件较为简单,经济成本较低②能获得包括事实、问题、被会见者观点、被会见者态度和被会见者信仰等各种信息类型在内的广泛内容。

③通过面谈,需求工程师可以和涉众(尤其是用户)建立友好关系。

④通过参与面谈,被会见者会产生一种主动为项目作出贡献的感觉,提高涉众的项目参与热情。

缺点和局限性:①面谈比较耗时,时间成本较高②在被会见者地理分散的情况下往往难以实现③面谈参与者的记忆和交流能力对结果影响较大,尤其是面谈的成功很大程度上依赖于需求工程师的人际交流能力④交谈当中常见的概念结构不同、模糊化表述、默认知识、潜在知识和态度偏见等各种问题都不可避免,进而影响面谈的效果,导致产生不充分的、不相关的或错误的数据。

⑤在会见者不了解被会见者认知结构的情况下,面谈不可能取得令人满意的效果。

22、调查问卷和头脑风暴的适用场合。

(page 214)调查问卷:面谈方法受到局限的一些情况头脑风暴:①发明并描述以前不存在的全新的业务功能②明确模糊的业务③在信息不充分的情况下做出决策23、原型模型的在需求获取中的作用及适用情景(page 482)作用:将未来事物所含的知识带回到现在进行展示,可以用来解决不确定性。

适用情景:用户需求出现了模糊、不清晰、不完整等具有一定不确定性的特征,产品的需求存在不确定性用户需求细化为系统需求应注意的问题(page 280)①需要将用户需求细化②需要补充隐含因素③非功能需求也需要随着功能需求的细化而细化④会发现新的细节⑤在足够具体时停止24、需要确定需求优先级的情况及方法。

(page 283)情况:①一个项目的资源(时间、人力和成本等)有限,无法满足用户的所有需求②目采用了分阶段的开发方式③项目的开发阶段,并不能明确所有的用户需求,或者无法保证最终满足所有的用户需求。

常用方法有以下几种:累计投票、区域划分、Top-N和数据量化。

25、面向对象分析与设计的典型步骤(page 340 图14-2)答:需求获取-> 需求分析-> 软件设计-> 软件实现26、类之间的关系(page 345)答:关联,聚合和组合,继承,多态27、识别候选对象与类的方法(page 350)及优缺点(page 352)答:方法:1.概念类分类列表。

2.名词分析。

3.行为分析。

优缺点:概念类分类列表和名词分析被称为经典方法。

产生的概念类容易出现数据驱动缺陷。

概念类类别比较依赖于分析人员的个人技能,分析和行为比较依赖于用例文本的写法。

名词分析方法容易使用和有效得到较为广泛的应用,帮助解决常见情况下的候选类识别工作,但不够严谨。

三种方法共同缺点:需要一明确的需求描述为前提。

时序图的作用(page 359)①突出消息的时间顺序②将交互图表示成一个二维图表③示了交互行为中的消息序列28、状态图的作用(page 378)答:可以帮助发现需求内容的行为缺陷应用1、上下文图和用例图的绘制.(page 486 案例题2 ,page 479 案例题1)。

上下文数据流图:用例图:2、问题分析中对问题和业务需求的描述。

(page 475 案例题2 ,3 )案例二:答:关键句:保持财务业绩与它的发展同步;有效地追踪客户账单和收据;降低成本;实行特价时能够知道是否有利可图,是否带动去他的销售;增加回头客。

方案:BR1:实现客户账单和收据的有效追踪;BR2:实现产品特价时的利润和相关销售情况检查;BR3:实现一个客户数据库。

3、面谈时问题类型的识别与改进(page 480 案例题第一题)答:重写:1.你对计算机的使用态度如何?2.我问的问题如何,你有什么要补充的么?3.问题拆分成两个问题:你在销售计算中最常用的信息资源是什么?使用频度如何?4.你和其他经理一样,都同意一些月度销售商品放到Web上,然后做趋势分析会是一种改进,是吗?5.对于现在的销售方法,你有什么更好的改进方法么?。