《需求分析知识点总结.pdf》由会员分享,可在线阅读,更多相关《需求分析知识点总结.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-.z.一、二填空与判断 1.软件系统通过影响问题域,能够帮助人们解决问题称为解系统 2.需求分析的分类功能需求、性能需求、质量属性、对外接口、约束 3.对于寻找涉众的必要性通过分析不同复杂度的信息系统的涉众特点将信息系统分为小型统统、组织及系统、战略信息系统、组之间系统 4.获取信息的方法传统方法、集体获取方法、原型、模型驱动方法、认知方法、基于上下文方法 5.常见的涉众类别有用户、客户、开发者、管理者、领域专家、政府力量、市场力量 6.需求获取方法利用面谈可获得的信息内容包括 事实和问题、被会见者的观点、被会见者的感受、组织和个人目标 7.原型的分类按照使用方式分类:演示、严格意义上的、试
2、验、引示系统按照媒介载体分类:样板、纸上向导 按照开发方式:演化式、抛弃式 按照构建技术:水平、垂直。原型 8.需求开发的一些特性决定了需求开发过程只能是一个迭代式的增量过程,而且还不是一个简单的线性增量过程,它的各个活动之间存在这复杂的组织关系。9.头脑风暴是一种特殊的群体面谈方式 10.面谈就是在需求获取活动中发生在需求工程师和用户之间的面对面的会见,它是一种使用问答格式,具有特定目的的直接会话,也是事件中最为广泛的需求获取方法之一。11.需求验证最主要的方法是需求评审。判需求是用户对问题域中的实体状态或事件的期望描述 判为了满足用户的业务需求,需求工程师需要描述系统高层次的解决方案,-.
3、z.定义系统应该具备的特性。判所有对软件的开发和应具有发言权和决定权的人统称为涉众。判软件系统的涉众群体不是固定不变的 判模型驱动方法是一类以定义明确的模型为理论根底,依据模型指导和组织活动开展的需求工程方法。判一对一的面谈是时间本钱比较高的需求获取方法,尤其是在获取一个或多个涉众方相关的主题时,需反复和多个涉众方安排逐步深入的面谈解决问题。判原型系统通常被构造为不完整的系统,以在将来进展改进、补充或代替。判不同涉众对同一问题的目标要求,或者不同业务需求之间,可能会互相矛盾。这些矛盾将使开发人员无法同时满足多方需求,最终导致工程的失败。因此,这些矛盾在这个阶段必须得到妥善解决。在大多数情况下,
4、业务需求的冲突可通过涉众之间的协商达成一致。三、名词解释 1解释以下名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的 问题域:现实的状况与人们期望的状况产生差异就产生问题,这些实体和状态构成了问题解决的根本范围,称为该问题的问题域。解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统。共享现象:软件系统能够与问题域进展互交和相互影响的原因在于软件系统中的*些局部对问题域中的*些局部具有模拟性。问题域中的*些信息能够和模拟中的信息建立映射关系。这些通过映射建立的共同知识,就是域和解系统之间的共享现象。共享现象就是问题域和解系统实现互交和互相影响的途径
5、与接口,问题域和解系统都通过改变这些共识来影响,或承受对方的影响。-.z.2.解释以下名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求:是用户对问题域中的实体状态或事件的期望描述 规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统 的行为特征。问题域特性:问题域的自治规律性称为问题域特性。约束:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。需求工程的主要任务:(1)需求工程必须说明软件系统将应用的环境及目标,说明
6、用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。(2)需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进展准确的规格说明。(3)需求工程还要妥善处理目标、功能和约束随着时间的演化情况。3.系统(级)需求:系统需求是用户对系统行为的期望,一系列的系统需求在一起可以帮助用户完成任务,达成用户需求,进而满足业务需求系统需求可以直接映射为系统需求行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么。4需求验证与确认 一方面它要确保以正确的的形式建立需求(需求验证),得到足以作为软件创立根底的
7、需求,另一方面,它要确保得到内容语义正确的需求(需求确认),得到能够准确反映用户意图的需求。四、问答题-.z.1软件需求工程的特性(1)重要性(2)复杂性。表达在以下几个方面:处理范围广泛 处理内容多样。需求工程处理的知识内容多种多样,既有用户的功能需求和非功能需求,又有软件将来所处的环境及其约束。处理活动互相交织。需求工程包括需求获取,需求分析,需求规格说明和需求验证等,它们互相衔接,顺序处理。涉及诸多参与方。需求处理过程中涉及很多参与者,他们来自不同领域,有不同的表达方式和期望值,使得需求处理过程更为复杂。处理结果要求苛刻。作为需求处理结果的需求规格说明要满足正确性、完整和一致性等苛刻要求
8、。2.为什么要确定工程前景与范围。业务需求、高层解决方案及系统特性都应呗记录下来,定义为工程的前景与范围文档。前景描述了产品的作用及最终功能,它将所有涉众都统一到一个方向上。范围则指出了当前工程是要解决产品长远规划中的哪一局部,范围声明它为工程规划了需求的界限。根据系统的高层解决方案和系统特性,可以定义系统的上下文环境,建立系统的边界。这将是需求分析活动的起点。3需求工程师具备的知识和技能有那些?知识:(1)软件技术是最重要的一种知识(2)认知学和社会学方面的知识(3)应用哲学知识 技能:(1)专业技能(2)分析技能。(3)交流技能。(4)建模技能。(5)写作技能。(6)创新技能。(7)观察技
9、能。(8)协调技能。-.z.4对软件概念的理解(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。(2)程序能够满意地处理信息的数据构造。(3)描述程序功能需求以及程序如何操作和使用所要求的文档。以开发语言作为描述语言,可以认为:软件=程序+数据+文档 或:软件是计算机系统中与硬件相互依存的一局部,包括程序、数据以及与其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令系列;数据是使程序能正常操纵信息的数据构造;文档是与程序开发、维护和使用有关的图文材料。5涉众分析的活动有哪些?它们的工作根底、工作目标和工作成果分别是什么?(1)涉众识别:涉众分析的第一个步骤,目的
10、是寻找和发现各种涉众类别。涉众识别的理想结果是一个细化的关键涉众类别列表。(2)涉众描述:在识别出关键涉众类别后,要描述涉众类别的特征,这些描述可以帮助形成对涉众类别的理解。(3)涉众评估:在涉众描述之后,可得到大量关于涉众的信息,这些信息分别描述了射中*些方面的特征。涉众评估是将这些鼓励的描述心里联合起来进展分析,以得到更深层次信息的过程。(4)涉众选择:在发现关键涉众类别,完成对他们角色和职责的定义之后,还需为每一个涉众类别选择适宜的代表,这些代表要能够扮演涉众类别的角色并履行相应的责任,为工程的最终成功起到应有的作用。6需求分析的根本任务是什么?获取结果用户的理解问题的描述需求分析建立分
11、析模型创立解决方案需求开发目标共同的理解解决方案的描述-.z.(1)建立分析模型,达成开发者和用户对需求信息的共同理解。分析可以将复杂的系统分解成简单的局部以及它们之间的联系,确定本质特征,并抛弃次要特征。分析的活动主要包括识别、定义和构造化,他的目的是获取*个可以转化为知识的事务信息,这种分析活动被称为建模(2)依据共同的理解,发挥创造性,创立软件系统解决方案。分析可将一个问题分解成独立、更简单易于管理的子问题来帮助解决方案并有助于确定事物之间的逻辑关系。创立解决方案的过程是创造性的。五、案例题 1你的公司的一位副总裁对你开发新的采购信息系统的重要用户参与时间的请求回复道:“我们很忙,我不能
12、让我的采购部人员放下手头的活来给你的工程团队效劳。而且你的人是 系统开发人员,是你们开发这个系统,我们只是使用它。对这个回复,你打算怎么办?解答:说明缺乏涉众的危害性,说服他。2.“我有一个绝妙的主意!Bea Kwicke 宣布,他是系统团队的一位新来的需求工程师,“让我们跳过所有的 SDLC 垃圾,直接为一切设计原型。我们的工程会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。(1)列出你作为与 Bea 同一个团队的成员 用来劝阻她不要试图放弃 SDLC,而直接为所有工程设计原型的原因。(2)Bea对你所说的话很失望。为了鼓励她,用一段
13、话向她说明,你认为适用于原型化方法的情形。答:1主要原因:原型仅仅是开发当中使用的一种手段,它利用得当可以加速开发的进程,但不能代替软件开发中的所有工作。-.z.2情形见下表。3.Ceci Awill 说:“我想我能记得他所做过的大局部事情。Ceci 准备与 OKorral 公司战略规划副总裁 Biff Weblldon 进展面谈。OK orral 是一家拥有130间牛排连锁店的公司。“我的意思是说,我有好的记性。我认为听他说什么比看他做什么更重要。作为需求工程团队的一员,Ceci Awll 向你诉说了他要写下在面谈中对 Biff 的办公司和 Biff 的活动进展观察的愿望。(1)用一段话来说
14、服 Ceci,在面谈时仅仅倾听是不够的,观察和记录所观察的内容同样是很重要的。(2)Ceci 似乎承受了你认为观察时很重要的观点,但是不知道该观察什么。列出需要观察的工程和行为,在每一项行为的旁边用一句话指名 Ceci 通过观察应该得到的信息。答:(1)面谈并不能确保用户能够将所有的信息都告知需求工程师,诸如一些语言无法确切描述的事务,而观察能够了解用户真正做什么,还能够获取到其他方法不能得到的用户及其工作环境的信息,还可以对从其他方法获取的信息进展确认,所以我们应该重视观察方法的应用。废弃型 演化型 水平型 说明并细化用例和功能性需求 识别遗漏功能 研究用户界面方法 实现核心用例 根据优先级
15、实现其他用例 使得系统适应快速变化的需要 垂直型 演示系统可行性 实现并扩大核心功能 实现并扩大核心算法 测试并调整性能 -.z.(2)观察客户所处的环境得出何种需求才能更适合客户。观察客户行为、习惯特征得出更适合客户使用的软件需求 4分析你所在学校使用的选课系统,给出它的 DFD 描述。5你被任命为替换学生财务资助工程的工程经理。你想开发一个工作陈述来定义范围并降低范围蔓延的风险。财务资助部门的主管坚持要你15个月、600000美元的预算内替换他现有的系统就可以了。他说这就是你需要知道的全部,不需要浪费时间开发一个工作陈述了。省略工作陈述的风险是什么?你将如何说服主管?解答:省略工作陈述的风险是不能明确工程的前景和范围。如果省略了工作陈述的话,我们就不能和用户进展很好的沟通与交流,这样,工程的问题也就不能明确,开发人员无法与涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决方案及系统特性,继而无法明确工程的前景和范围,这样就会造成工程的不稳定甚至失败!