1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做”。当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章:1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。而不是他们的全部。软件系统仅仅是现实世界的一种抽象。所以问题除了共享现象之外。还有很多在进行模型抽象时忽略的其他现实因素。2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。第三章:一、.需求工程过程的工作基础(即输入)存在哪些?他的工作成果(即输出)有哪些??答:需求过程的工作基础是获取用户面临的业务问题,用户期望系统表现出来的各种行为,即需求获取工作成果:产生一个能够在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明。二.、描述需求工程的各个活动,说明他们各自的工作基础,工作目标和工作成果需求获取:工作基础:1.收集背景资料2.定义项目前景和范围3.选择信息的来源4.选择获取方法,执行获取5.记录获取结果工作目标:获取用户需求,了解用户在完成任务的时候遇到的问题与期望工作成果:业务需求,项目的前景和范围,用户需求以及问题域的特征需求分析:工作基础:1背景分析2.确定系统边界3.需求建模4.需求细化5.确定优先权6.需求协商工作目标:1.通过建模整合各种信息,是人们更好地理解问题2.定义一个需求集合,能够为问题界定一个游戏的解决方案工作成果:产生一个需求的基线集,它指定了系统或当前版本的系统开发需完成的任务3.需求规格说明:工作基础1.定制文档模板2.编写文档工作目标:为了系统涉众之间交流需求信息工作成果:需求规格文档说明4.需求验证工作基础1.执行验证2问题修改工作目标:为了尽量不给设计实现测试后续开发活动带来不必要的影响。需求规格说明文档定义必须正确准确地反映用户的意图工作成果:验证之后,问题得以修正需求管理:工作基础:1.建立和维护需求基线集2.建立需求跟踪信息3进行变更控制工作目标:保证需求作用的持续稳定和有效发挥工作成果:需求管理会进变更控制和实现合理的变更请求拒绝不合理的变更请求,控制变更的成本和影响范围三、需求工程师需求具备的技能专业技能,分析技能,交流技能,观察技能,建模技能,写作技能,创新技能,协调技能第五章为什么要定义项目的前景和范围?答、业务需求、高层解决方案和系统特性都应该被记录下来,定义为项目的前景与范围文档,前景描述了产品的作用和最终的功能,它将所有的涉众都统一到一个方向上范围指出了当前项目是要解决产品长远规划的那一部分,它为项目规定了需求的界限案例题:1.你被任命为替换学生财务资助项目的项目经理。你想开发一个工作陈述来定义范围并降低范围蔓延的风险。财务资助部门的主管坚持要你15个月、600000美元的预算内替换他现有的系统就可以了。他说这就是你需要知道的全部,不需要浪费时间开发一个工作陈述了。省略工作陈述的风险是什么?你将如何说服主管?解答:省略工作陈述的风险是不能明确项目的前景和范围。如果省略了工作陈述的话,我们就不能和用户进行很好的沟通与交流,这样,项目的问题也就不能明确,开发人员无法与涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决方案及系统特性,继而无法明确项目的前景和范围,这样就会造成项目的不稳定甚至失败!第六章什么是涉众?涉众分析?软件系统中常见的涉众?涉众是与要建设的业务系统相关的一切人和事.涉众分析就是为软件系统寻找并理解关键涉众的过程常见的涉众:管理着:用户、客户、开发人员、管理者、领域专家、政府力量和市场力量等领域专家:在问题域中具有丰富知识的专家*关注软件中的知识政府力量:法律法规、长远规划、政策意向*起约束和指导作用市场力量:组织中的市场部门人员,关注用户的想法*关注用户想法用户:最终使用和操作产品的人*关注软件功能客户:为软件系统开发付费的人*关注经济的成本、收益开发者:负责实现软件系统的人*关注技术上的成本和利益第七章一、列出面谈的5个步骤面谈准备的主要工作包括:1、阅读背景资料2、确定面谈的主题和目标3、选择被会见者4、准备会见被会见者5、确定问题和类型第8章一、原型的定义原型是一个系统,他内化了一个更迟系统的本质特征。二、说明原型在需求获取中的作用和试用情景因为原型是在最终系统产生之前的一个局部真实表现,所以原型方法可以让人们在系统的开发过程中,就能对一些具体问题进行基于事物有效沟通,从而帮助人们今早解决软件开发过程中存在的各种不确定性。场景:产品以前从未存在过,而且难以可视化,这些产品属于创新产品,他们的基本需求是潜在的,有很大的不确定性产品的用户对相关类别的产品没有经验,而且对将要采用的技术也没有经验。此时用户无法明确工作的具体细节,产品的细节需求存在着不确定性用户进行自己的工作已经有一段时间了,但在完成工作的方式上依然存在障碍。用户清晰说明他们的需求方面存在困难。在澄清和理解之前,这些需求存在着不确定性需求的可行性值的怀疑,即具体需求的可满足性存在着不确定性三、案例题“我有一个绝妙的主意!”BeaKwicke宣布,他是系统团队的一位新来的需求工程师,“让我们跳过所有的SDLC垃圾,直接为一切设计原型。我们的项目会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。”a)列出你(作为与Bea同一个团队的成员)用来劝阻她不要试图放弃SDLC,而直接为所有项目设计原型的原因。b)Bea对你所说的话很失望。为了鼓励她,用一段话向她说明,你认为适用于原型化方法的情(1)主要原因:原型仅仅是开发当中使用的一种手段,它利用得当可以加速开发的进程,但不能代替软件开发中的所有工作。(2)情形见下表,尤其是其中红色的部分四、说明下列典型的应用情景适合使用哪种类型的原型(1)人机交互界面--信息表格或者报表(2)人机交互界面--具体功能的设置(3)人机交互界面--任务的执行过程(4)功能探索--任务的功能内容(5)功能探索--任务的执行过程(6)功能探索--任务的执行结果第九章一、为什么需要观方法?观察方法的适用情景是什么?答:很多时候用户无法完成主动的信息告知,或者说用户和需求工程师之间的语言交流无法产生有效的结果,这时就有必要采用观察的方法。采样观察:根据明确的目的选取特定的时间段或者特定的事件进行观察。民族志:观察者深入到用户中,花费较长的时间(一般为几个月)来观察用户的活动。话语分析:它通过观察和分析用户交谈中的交互方式或者特定的话语形式的内部结构来发现和获取相关信息。协议分析:对用户任务的观察。它要求观察对象一边执行任务,一边大声地解释他们在执行任务时产生的各种想法。任务分析:专门针对人机交互行为的观察。它引入了相关的模型方法来观察、记录和分析用户与软件系统的交互行为二、案例题1.CeciAwill说:“我想我能记得他所做过的大部分事情。”Ceci准备与OKCorral公司战略规划副总裁BiffWeblldon进行面谈。OKCorral是一家拥有130间牛排连锁店的公司。“我的意思是说,我有好的记性。我认为听他说什么比看他做什么更重要。”作为需求工程团队的一员,CeciAwll向你诉说了他要写下在面谈中对Biff的办公司和Biff的活动进行观察的愿望。(1)用一段话来说服Ceci,在面谈时仅仅倾听是不够的,观察和记录所观察的内容同样是很重要的。(2)Ceci似乎接受了你认为观察时很重要的观点,但是不知道该观察什么。列出需要观察的项目和行为,在每一项行为的旁边用一句话指名Ceci通过观察应该得到的信息。答:(1)面谈并不能确保用户能够将所有的信息都告知需求工程师,诸如一些语言无法确切描述的事务,而观察能够了解用户真正做什么,还能够获取到其他方法不能得到的用户及其工作环境的信息,还可以对从其他方法获取的信息进行确认,所以我们应该重视观察方法的应用。(2)观察客户所处的环境(得出何种需求才能更适合客户)。观察客户行为、习惯特征(得出更适合客户使用的软件需求)。第十一章一、什么是系统模型,他与需求分析和系统设计有什么关系?系统模型是指以某种确定的形式(如文字、符号、图表、实物、数学公式等),对系统某一方面本质属性的描述。。需求分析是挖掘和整理知识的过程,它在已掌握知识的基础上进行。初步捕获到的需求信息往往处于不同层次,也有一些主观甚至不正确的信息。而经过必要的需求分析工作之后,需求会更加系统、更加有条理、更加全面。那么系统分析呢?如果说,需求分析致力于搞清楚软件系统要“做什么”的话,那么系统分析已经涉及“怎么做”的问题了。需求捕获、需求分析以及系统分析之间的关系我们必须理解透彻,否则就会影响工作的有效性进行。同样,在实践中,需求分析和系统分析也常常被混淆。需求分析致力与搞清软件系统要“做什么”,而系统分析更关注“怎么做”的问题,比如大多数分析方法(如OOA)应该术语系统分析的范畴。第十二章:一、什么是系统思想?过程模型如何反应系统思想?系统是指由相互制约、相互作用的一些部分组成的具有某种功能的有机整体。因此系统思想可以理解为,用整体、全局的、联系的观点看问题、办事情,而不能用片面的、孤立的观点。软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。第十五章一、什么事需求规格说明?为什么要建立需求规格说明?答:需求规格说明活动就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。建立需求规格说明的必要性是显而易见的:一方面,清晰、明确、结构化的文档可以将系统的需求信息和解决方案更好地传递到所有的开发人员。另一方面,文档可以拓展人们的知识记忆能力。除了必要性外,需求规格说明文档可以成为合同协议的重要部分,可以成为项目开发活动的一个重要依据,可以尽早地发现和减少项目的返工,降低项目的工作量,需求规格女说明文档可以成为有效的智力资产。二、需求规格说明有哪些常见类型?他们的主要内容分别是什么?答:需求规格说明文档常见有项目前景和范围文档、用户需求文档、系统需求规格说明文档、软件需求规格说明文档、接口需求规格说明文档、硬件需求规格说明文档和人机交互文档。项目的前景和范围文档的主要内容是对业务需求的定义,用户需求文档是对用户需求的定义,系统需求规格说明文档是对系统需求、解决方案的定义,软件需求规格说明文档是对整个系统功能分配给软件部分的详细描述,硬件需求规格说明文档是对整个系统功能当中分配给硬件部分的详细描述,接口需求规格说明文档是对整个系统中需要软、硬件