需求工程复习资料
- 格式: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.对于现在的销售方法,你有什么更好的改进方法么?。