【免费下载】 需求分析知识点总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(判)所有对软件的开发和应具有发言权和决定权的人统称为涉众。
(判)软件系统的涉众群体不是固定不变的
(判)模型驱动方法是一类以定义明确的模型为理论基础,依据模型指导和组织活动开展的需求工程方法。
(判)一对一的面谈是时间成本比较高的需求获取方法,尤其是在获取一个或多个涉众方相关的主题时,需反复和多个涉众方安排逐步深入的面谈解决问题。(判)原型系统通常被构造为不完整的系统,以在将来进行改进、补充或代替。(判)不同涉众对同一问题的目标要求,或者不同业务需求之间,可能会互相矛盾。这些矛盾将使开发人员无法同时满足多方需求,最终导致项目的失败。因此,这些矛盾在这个阶段必须得到妥善解决。在大多数情况下,业务需求的冲突可通过涉众之间的协商达成一致。
三、名词解释
1.解释下列名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的
问题域:现实的状况与人们期望的状况产生差异就产生问题,这些实体和状态构成了问题解决的基本范围,称为该问题的问题域。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统。
共享现象:软件系统能够与问题域进行互交和相互影响的原因在于软件系统中的某些部分对问题域中的某些部分具有模拟性。问题域中的某些信息能够和模拟中的信息建立映射关系。这些通过映射建立的共同知识,就是域和解系统之间的共享现象。
共享现象就是问题域和解系统实现互交和互相影响的途径与接口,问题域和解系统都通过改变这些共识来影响,或接受对方的影响。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?
需求:是用户对问题域中的实体状态或事件的期望描述
规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域特性:问题域的自治规律性称为问题域特性。
约束:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:(1)需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。(2)需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。(3)需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
3.系统(级)需求:
系统需求是用户对系统行为的期望,一系列的系统需求在一起可以帮助用户完成任务,达成用户需求,进而满足业务需求系统需求可以直接映射为系统需求行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么。
4.需求验证与确认
一方面它要确保以正确的的形式建立需求(需求验证),得到足以作为软件创建基础的需求,另一方面,它要确保得到内容语义正确的需求(需求确认),得到能够准确反映用户意图的需求。
四、问答题
1.软件需求工程的特性
(1)重要性
(2)复杂性。体现在以下几个方面:
①处理范围广泛
②处理内容多样。需求工程处理的知识内容多种多样,既有用户的功能需求和非功能需求,又有软件将来所处的环境及其约束。
③处理活动互相交织。需求工程包括需求获取,需求分析,需求规格说明和需求验证等,它们互相衔接,顺序处理。
④涉及诸多参与方。需求处理过程中涉及很多参与者,他们来自不同领域,有不同的表达方式和期望值,使得需求处理过程更为复杂。
⑤处理结果要求苛刻。作为需求处理结果的需求规格说明要满足正确性、完整和一致性等苛刻要求。
2.为什么要确定项目前景与范围。
业务需求、高层解决方案及系统特性都应呗记录下来,定义为项目的前景与范围文档。前景描述了产品的作用及最终功能,它将所有涉众都统一到一个方向上。范围则指出了当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目规划了需求的界限。根据系统的高层解决方案和系统特性,可以定义系统的上下文环境,建立系统的边界。这将是需求分析活动的起点。
3.需求工程师具备的知识和技能有那些?
知识:(1)软件技术是最重要的一种知识(2)认知学和社会学方面的知识(3)应用哲学知识
应的责任,为项目的最终成功起到应有的作用。
6.需求分析的根本任务是什么?
获取结果(①用户的理解②问题的描述)→需求分析(①建立分析模型②创建解决方案)→需求开发目标(①共同的理解②解决方案的描述)
(1)建立分析模型,达成开发者和用户对需求信息的共同理解。
分析可以将复杂的系统分解成简单的部分以及它们之间的联系,确定本质特征,并抛弃次要特征。分析的活动主要包括识别、定义和结构化,他的目的是获取某个可以转化为知识的事务信息,这种分析活动被称为建模
(2)依据共同的理解,发挥创造性,创建软件系统解决方案。
分析可将一个问题分解成独立、更简单易于管理的子问题来帮助解决方案并有助于确定事物之间的逻辑关系。创建解决方案的过程是创造性的。
五、案例题
1.你的公司的一位副总裁对你开发新的采购信息系统的重要用户参与时间的请求回复道:“我们很忙,我不能让我的采购部人员放下手头的活来给你的项目团队服务。而且你的人是系统开发人员,是你们开发这个系统,我们只是使用它。” 对这个回复,你打算怎么办?
解答:说明缺乏涉众的危害性,说服他。
2.“我有一个绝妙的主意!”Bea Kwicke宣布,他是系统团队的一位新来的需求工程师,“让我们跳过所有的SDLC垃圾,直接为一切设计原型。我们的项目会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。”(1)列出你(作为与Bea同一个团队的成员)用来劝阻她不要试图放弃SDLC,而直接为所有项目设计原型的原因。