需求工程总复习_第1页
需求工程总复习_第2页
需求工程总复习_第3页
需求工程总复习_第4页
需求工程总复习_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、需求工程复习1、什么是需求?简述需求的分类。答:(1)用户为了解决问题或达到某些目标所需要的条件或能力;系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;对它们的一种文档化表述。 (2)需求的分类:功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。性能需求:系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。质量属性:系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。对外接

2、口:系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。一、简答题2、需求工程包括哪些活动,并简要说明其内容?软件开发中为什么要重视需求工程?答: (1)、需求工程活动包括:需求开发和需求管理; (2)、需求开发包括:需求获取、需求分析、需求规格说明和需求验证4个部分;(3)、需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。 3、描述需求工程的各个活动,并说明各个活动的任务?答: 需求工程活动包括:需求开发和需求管理;需求开发包括:需求获取、需求分析、需求规格说明和需求验证4个部分;需求获取:目的从项目

3、规划开始建立最初的原始需求。它从相关人员、资料和环境中得到系统开发所需要的相关信息;需求分析:需求获取的这些信息还不是开发者能够立即加以实现的解决方案。还需要对需求获取得到的信息,进行需求分析;目的保证需求的完整性和一致性;需求规格说明:定义用户需求,准确描述需求及其解决方案,目的将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;需求验证:目的保证需求及其文档的正确性,即需求真实地反映了用户的真实意图;以及通过检查和修正保证需求及其文档的完整性和一致性;需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。4、需求工

4、程中需要获取的内容主要有哪3种?获取信息的主要来源有哪些?常见的需求获取方法有哪些(最少写4种)? 答: 需要获取的内容主要有:1)、需求 2)、问题域描述 3)、环境与约束获取信息的主要来源有:1)、涉众 2)、硬数据 3)、相关产品 4)、重要文档 5)、相关技术标准和法规获取信息的方法 :1)、传统方法 2)、集体获取方法 3)、原型 4)、模型驱动方法 5)、认知方法 6)、基于上下文的方法 5、需求获取活动包括那几个部分,并对每一部分活动作简要解释?答:1)、确定获取信息的内容2)、确定待获取信息的来源3)、确定应采用的获取方法4)、执行获取5)、获取的结果6、什么是面谈中的开放式问

5、题?什么是封闭式问题?并比较二者的优缺点?答:1)、开放式问题:指被会见者对答复的选择可以是开放和不受限制的,他们可能答复两个词,也可能答复两段话; 封闭式问题:指答案有基本的形式,被会见者的回答是受到限制的; 2)、优缺点:开放式问题的优点:让被会见者感到自在;会见者可以收集被会见者使用的词汇,这能反应他的教育、价值标准、态度和信念;提供丰富的细节;对没采用的进一步的提问有启迪作用;被会见者更感兴趣;容许更多的自发性;会见者可以在没有太多准备的情况下进行面谈。开放式问题的缺点:提此类问题可能会产生太多不相干的细节;面谈可能失控;开放式的回答会花费大量的时间才能获得有用的信息量;可能会使会见者

6、看上去没有准备。封闭式问题的优点:节省时间;切中要点;保持对面谈的控制;快速探讨大范围问题;得到贴切的数据;封闭式问题的缺点:使得被会见者厌烦;得不到丰富的细节;不能建立和面谈者的友好关系。n7、金字塔结构、漏斗结构、菱形结构定义?n答: n金字塔组织形式:会见者以很具体的问题开始,然后逐渐提高问题的开放度,同时允许被会见者越来越笼统的答案来回答问题;n漏斗结构:以一般、开放式的问题开始,然后采用封闭式的问题缩小可能的答复;这种面谈结构可以看作一个漏斗型;n菱形结构:就是将上述2中方法集合起来使用;该结构会见者首先提出一些简单、封闭式的问题,为面谈过程做好铺垫;在面谈中间阶段向被会见者提出明显

7、没有“正确答案”的一般话题看法;然后会见者再次限制问题以获得明确答复;n8、在需求获取中获取信息的主要来源有哪些? n答:获取信息的主要来源有:n1、涉众 2、硬数据 3、相关产品 4、重要文档 5、相关技术标准和法规n n9、什么是前景? 什么是范围?n答: n 前景:描述了产品的作用以及最终的功能;n 范围:为项目划定了需求的界限;n10、确定项目前景与范围的流程?(步骤)n答:n问题分析 发现业务需求 定义解决方案及系统特性11、需求分析的根本任务是什么?需求分析阶段需要执行哪些活动?答:需求分析的根本任务:1)、建立分析模型 2)、建立解决方案需求分析阶段需要执行活动:1)问题分析 2

8、)确定系统边界 3)需求建模 4)需求细化 5)确定需求优先级 6)需求协商12、什么是硬数据?分为哪两类,分别说明?答: 硬数据:人们在实际工作中产生的各种各样的表格和文档资料;常见硬数据分为定量硬数据和定性硬数据两种类型; 定量硬数据:指经过仔细设计、具有严格规范要求的格式化文档; 定性硬数据:使用自然语言进行描述的文本资料。13、详细解释面向对象建模中用到的3种模型:什么叫用例模型?什么叫行为模型?什么叫对象模型?以及这3个模型之间的关系?答:用例模型:就是以用例为基本单位建立的一个系统功能展示模型,它是系统所有用例的集合,以统一、图形化方式展示系统的功能和行为特性; 行为模型:是实现用

9、例模型到对象模型的桥梁,以更加详细的方式说明了用例所描述的系统行为;对象模型:以对象和类的概念为基础,描述了系统中的对象和这些对象之间的关系;三者关系:对象模型无法直接被用来记录和描述从用户那里得到的信息。因此,面向对象建模方法提出了用例模型,用来处理开发人员直接从用户那里得到的信息,行为模型就是实现用例模型到对象模型的桥梁14、涉众分析有哪些活动?解释每一个活动的具体内容? 答:1)、涉众识别:目的是寻找和发现各种涉众类别;2)、涉众描述:描述对涉众的基本特征描述、也会包括地理和社会特征;3)、涉众评估:是将孤立的描述信息联合起来进行分析,以便得到更深层次信息的过程;4)、涉众选择: 在发现

10、关键涉众类别,完成对他们角色和职责的定义之后,还需要为每个涉众类别选择合适的代表,为项目的最终成功起到应有的作用。15、涉众分析的主要任务?答:涉众分析主要任务:1)寻找软件系统的涉众类别,辨别关键的涉众类别;2)描述不同涉众类别的特征,包括个人特征、工作特征;3)分析不同涉众类别的输赢条件和受影响程度; 4)描述不同涉众类别的关注点和兴趣取向;5)分析不同涉众类别的重要性和影响力;6)为每种涉众类别选择合适的代表参与项目开发。16、什么是面向对象建模?UML面向对象建模中用到哪些技术?并对每一个技术详细解释? 答:面向对象建模:是一种用于辨识系统环境中的对象及这些对象之间关系的技术;UML面

11、向对象建模中用到哪些技术:1)对象模型2)用例模型 3)行为模型 4)状态机模型 5)对象约束语言OCL对每一个技术详细解释:1)对象模型: 以对象和类的概念为基础,描述了系统中的对象和这些对象之间的关系; 2)用例模型:就是以用例为基本单位建立的一个系统功能展示模型,它是系统所有用例的集合,以统一、图形化方式展示系统的功能和行为特性; 3)行为模型: 是实现用例模型到对象模型的桥梁,以更加详细的方式说明了用例所描述的系统行为;4)状态机模型: 以状态机理论为基础建立的对系统行为的描述手段; 5)对象约束语言:OCL语言是一种基于类型的描述语言,有着严格的类型定义,可以保证它进行形式化描述的能

12、力,描述系统的各个方面;17、什么是需求规格说明?为什么要建需求规格说明?需求规格说明文档常见的读者?答:(1)、需求规格说明:就是将需求及其软件的解决方案进行定义和文档化,并传递给开发人员;(2)、 1)更好的传递软件系统的需求信息和解决方案给所有的开发者; 2)拓展人们的知识记忆能力:复杂系统信息含量较多书面的文档可以弥补人的记忆能力不足; 3)开发者和客户作为合同协议的重要部分; 4)作为项目开发活动的一个重要依据;5)发现和减少可能的需求错误,减少项目的返工,降低项目的工作量; 6)作为有效的智力资产,可以帮助新加入成员更快融入项目(3)、几个常见的读者群:1)项目管理者 )设计人员与

13、程序员 3)测试人员 )文档写作人员 )涉众(用户)18、需求验证的含义?需求验证有哪些常用的方法?问题修正方法?答:需求验证:是专指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。常用的方法有:需求评审、原型与模拟、测试用例开发、用户手册编写、利用跟踪关系和自动化分析。 问题修正方法:1)需求澄清: 理解偏差:重新进行分析工作;分析遗漏:重新分析和文档化这部分信息; 表达不当:重新以合适的方式表达2)缺失需求: 重新执行需求获取等一系列工作 3)需求冲突: 协商解决 4)不切实际的期望 : 项目调整与需求协商19、需求验证中常用的方法(最少写3种)?常见的问题修正行为有哪3种?答:

14、需求评审、原型与模拟、测试用例开发、用户手册编写、利用跟踪关系和自动化分析。 20、需求工程定义?需求工程的活动包括? 答:1)、需求工程是所有需求处理活动总和,它收集信息、分析问题、整理观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应.2)、需求工程的活动包括:需求开发和需求管理21、什么是需求验证?需求验证中常用的方法?需求验证活动的流程?答:需求验证:是专指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。常用的方法有:需求评审、原型与模拟、测试用例开发、用户手册编写、利用跟踪关系和自动化分析。22、什么是需求管理?为什么要执行需求管理?需求管理的主要

15、任务有哪些?需求管理:就是这样一个管理活动,在需求开发之后的产品生命周期当中保证需求作用的有效发挥; 在需求开发结束之后,需要有一种力量保证后续的系统开发活动依照需求的基线进行展开,保证系统的质量; 需求管理的主要任务有: 1)交流涉众需要什么;2)将需求应用、实施到解决方案;3)驱动设计和实现工作;4)控制变更;5)将需求分配到子系统;6)测试和验证最终产品;7)控制迭代式开发中的变化;8)辅助项目管理;23、需求管理的活动包括哪些?并作具体说明每一个活动内容?答: 需求管理的个活动:1)维护需求基线 将需求基线纳入配置管理2)实现需求跟踪 以软件需求规格说明文档为基线,在前向和后向两个方向

16、上,描述需求以及跟踪需求变化的能力3)控制需求变更 以可控、一致的方式进行需求基线中需求的变更处理24、什么是过程建模?过程建模中用到哪些技术?并对每一个技术详细解释?过程建模与数据建模之间的区别与联系?答:(1)、过程建模:就是分析需求获取活动获得的信息,根据数据在系统中的流动,发现系统的功能和其与外界的交互,建立能够实现系统功能的过程分解结构,形成系统的过程模型,并用图行的方式将过程模型描述出来(2)、过程建模中用到哪些技术:1)上下文图:用来说明系统的上下文环境,确定系统边界; 2)数据流图:用来建立过程的分解结构; 3)微规格说明:用来描述数据流图过程分解结构中最底层过程的处理逻辑;4

17、)数据字典:用来说明系统中涉及的数据的结构;(3)、过程建模:更多是侧重数据产生和使用的时间、地点和方式,而没有描述数据的定义、结构和关系等特性;数据建模弥补了过程建模在数据说明方面的不足,描述数据的定义、结构和关系等特性的模型;25、需求管理包括哪3个活动?并详细解释每一个活动? 答: 需求管理的个活动:1)维护需求基线 将需求基线纳入配置管理2)实现需求跟踪 以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力3)控制需求变更 以可控、一致的方式进行需求基线中需求的变更处理26、什么叫需求跟踪?什么叫前向跟踪?什么叫后向跟踪?需求跟踪的实现方法主要有哪3种?

18、答:需求跟踪:以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力前向跟踪:是指被定义到软件需求规格说明文档之前的需求演化过程;后向跟踪:是指被定义到软件需求规格说明文档之后的需求演化过程;需求跟踪的实现方法主要有哪3种:1)需求跟踪矩阵 2)实体关系模型 3)交叉引用27、需求变更的控制过程?答:需求变更控制的过程如下: )提出需求变更 )接受变更请求 )变更评估 4、变更决策 5)执行变更、 6)变更验证28.假设现在由你来负责所在学校选课系统的需求工作,现在需要你来安排一次群体面谈,你打算怎么做?(面谈的准备阶段)答:计划面谈1)确定参与人员(涉众、主持人

19、、负责人、分析人员、记录人员、观察员 )2)安排会谈时间 (全职的24天参与会议 ,拟定一份议程 )3) 选择会谈地点 (充足的空间,道具支持,良好的餐饮服务 )4)准备会谈内容 (面谈的主题和范围,会议的议程,需求的预期和会谈的目标,各种材料)二、案例题二、案例题一、从下面的事件当中,你可以替Jeannine总结出哪些教训?投资经理Jeannine对一个新的投资跟踪系统具有强烈的需求。她需要做出快速决策来考虑可能进行的投资和撤销投资,耽误一个小时就可能给公司造成几千美元的损失。最后她放弃了使用公司的信息系统,因为公司的信息系统没有给予她的请求足够高的服务优先级。她找到软件开发商,购买了一套看

20、似可以满足她要求的软件。但高层管理人员不同意使用,而且还遇到了其他一些问题。首先,财务审计员重新评估了公司的投资策略和投资政策。Jeannine并不知道这一点,于是新的系统没有计入正在被考虑的新政策。她自己的职员抵制这个系统产生的有关投资和撤销投资的建议。新系统使用了公司信息系统现有的文件结构,却发现她的职员两年前就放弃使用那些文件了,因为那些文件没有包括全面分析可选替代投资方案所需的数据。她的职员也批评新系统的设计,说很小的操作错误就会把系统带入“混乱”状态,而且很难恢复过来。她的一些下级经理坚持要有图形形式的报告,而新系统无法产生这些报告。最后的问题是,Jeannine不能确定新的系统是否

21、可以进行适当的修改(数据库结构修改和程序修改)以满足新的需求而不用重写所有的程序。而且她的老板也不能肯定是否会出资请一位顾问来解决这些问题。一:(1)她没有仔细认真地分析问题; (2)她没有及时跟相关人员交流信息,没能把握住有价值信息; (3)她没能及时跟公司员工交流,引用过时的文件结构; (4)她没有仔细研究分析新引进的系统的性能需求是否满足; (5)她没有仔细研究新引进的系统的功能需求是否满足; (6)她没有仔细研究引进的系统的质量属性,对外接口是否满足。二:业务需求中没有和高层管理人员沟通好;她提出的用户需求没有和用户(自己的职员)沟通好,也没有向开发人员提出可行性、质量属性(可扩展性)

22、等。三:没有获得高层支持;财政部支持;下属抵制使用;信息不流通,文件使用不一致;要求的图形报告没有;不知道是否能修改二、根据下列描述,说明新的直接销售和财务处理系统的业务需求有哪些?Especially for You Jewelers是大学城的一个小珠宝零售商。在过去的两年里,Especially for You在它的商业方面经历了极大的发展,可是,它的财务业绩却与它的发展不同步。现在的事务处理系统部分手动、部分自动,不能有效的追踪客户账单和收据,Especially for You难以确定为什么它的成本这么高。此外,Especially for You频繁地实行特价以吸引顾客。它不知道这些

23、特价是否有利可图,是否带来其他的销售。Especially for You也想增加回头客,所以它需要一个客户数据库。Especially for You想按照一个新的直接销售和财务处理系统以帮助解决这些问题。解答1:业务需求:保持财务业绩与它的发展同步;有效地追踪客户账单和收据;降低成本;实行特价时能够知道是否有利可图,是否带动去他的销售;增加回头客。解答2:业务需求。BR1:实现客户账单和收据的有效追踪;BR2:实现产品特价时的利润和相关销售情况检查;BR3:实现一个客户数据库。三、某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从

24、两年前的250个账户增加到现在的1250个账户。为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据。过去半天的工作量现在增加到了每周三天。即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话、断绝信用或将这个账户转给一个收账代理)。另外,Liz需要报告所有账户中过期未付款的、拖欠债务的、严重拖欠债务的和呆死账的比例。目前的报告中并没有给她提供这个信息。假设现在需要你来开发一个软件,解决Liz面对的难题。那么你认为Liz现在遇到的问题有哪些

25、?你希望新的软件应该达成哪些业务目标?你怎样设计软件的高层解决方案和系统特性?问题问题业务目标业务目标高层解决方案高层解决方案系统特性系统特性帐户太多,工作量太大减少检查人员的工作量能够快速、自动查询客户账户建立一个数据库系统用来存放客户账户信息降低工作复杂度能够分析一个客户是否为问题账户根据特定的判定问题账户的算法检索辨别出问题账户需查阅账户的大量历史数据能够给出一个问题账户的三年内的历史数据工作人员能够检查该账户的三年内的历史数据能够按账户号查询该账户三年历史数据四、职工福利和工资顾问遇到了一些问题。她的工作是为雇员提供他们的福利建议。公司刚刚磋商了一个新的医疗保险方案,这个方案要求雇员从

26、7个保健组织和首选的供应商方案中进行选择。保健组织和供应商按照雇员的分类、贡献、免赔额、受益人、服务内容和允许的服务提供商而各不相同,目的是尽可能为雇员提供最灵活的福利,用以使公司的花费极小化并控制付给保险商的费用(这将对公司被收取的后续保险费产生一定的影响)。这个顾问被请来为雇员选择最合适的保险方案。她目前以手工方式答复这些请求。但目前的选择比新计划中的选择要直接得多。她需要解释新的选择:它们包括什么,不包括什么,它们的费用和可能费用是多少,具有什么优缺点。但是,雇员对新计划不信任,这种情况迫使她需要向雇员提供更多具体的建议和答复。她可能不得不为许多雇员逐步建立假定情境可能的最坏假定情境。这

27、种假定将要根据每个雇员的收入、婚姻和家庭状况、目前的健康风险等进行个人定制。在逐步建立一些样本假定时,她发现:(1)从信息系统部门获得工资和个人数据需要一天时间。(2)雇员数据存储在许多文件夹中,而且并不总是被正确地更新。当冲突数据变得很明显时,除非解决了矛盾,否则就不可能继续她的工作。(3)计算复杂。为一个雇员创建投资和退休假定常常需要花费一整天或更长时间。 (4)有些人担心保险计划会被提供给未授权的个人,例如以前的配偶或者非直系亲属。(5)计算中可变条件的复杂性导致经常出错,很多错误可能一直未被发现。假设现在需要你来开发一个软件,解决职工福利和工资顾问的问题。那么你认为她现在遇到的问题有哪

28、些?你希望新的软件应该达成哪些业务目标?你怎样设计软件的高层解决方案和系统特性?解决方案有哪些重要的约束?问题问题业务目标业务目标高层解决方案高层解决方案不能有效地从信息部门获得工资和个人数据减少从信息部门获得工资和个人数据的时间;度量标准(Scale):一次从信息部门获得工资和个人数据的时间;计量方法(Meter):检查信息部门数据库日志;理想标准:减少50%;一般标准:减少30%;最低标准:减少20%;由软件从信息部门的数据库中检索出工资和个人数据,减少所需信息获取的时间雇员数据太过分散,而且不能及时正确地更新集中雇员数据,并且正确更新由软件来分析雇员数据的各种特征,及早识别出数据所在位置

29、;或由软件集中处理雇员数据,及早识别出不准确的或没有及时更新的数据,提交人工处理或自行更新计算复杂降低计算的复杂性由软件来处理投资和退休假定的计算的复杂过程雇员信息不能得到及时有效正确的更新及时有效正确地更新雇员信息由软件来分析个人数据的准确性,及早识别出不准确的个人信息,提交人工处理;或定时更新数,提高数据的准确性;计算中可变条件的复杂性降低计算中可变条件的复杂性由软件来处理计算中可变条件的复杂性,降低出错率系统特性:1)根据信息部门提供的数据库查询工资和个人数据;2)根据原始数据重新整理数据并更新;3)提交查询信息;4)创建投资和退休假定的计算过程;5)通过公司的内联网访问系统,根据个人情

30、况更新信息;6)模拟计算中可变条件的变化;7)提供最灵活的福利方案。五、下面是系统分析团队的一名成员提出的第一份面谈报告:“在我看来,面谈进行的很好。我和他就这个问题聊了一个半小时。他告诉我有关公司的所有历史,很有意思。他也提到,自他来到该公司的16年间,公司没有任何变化。我们不久将再次举行会面,以及结束这次面谈,因为我们还没有深入研究我准备的问题。”试评论这个面谈报告。假设你要团队成员使用图1提供的报表,那么他漏了什么主要信息?什么信息对面谈报告来说是无关紧要的?如果真的发生了报告中提及的情况,则必须向队友提出哪3个建议,以帮助他更好地举行下一次面谈。面谈对象:SalDomask 日期:会见者:S.Cabbot 主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论