需求工程课后重点答案
需求工程考试答案
下面是邵坤老师给的一些复习资料,帮忙发给大家吧主要内容都在PPT上,好好复习PPT中的内容,重点在前面的三讲,最后一讲方法内容仅仅是一些概念!主要答题是如下五题中得三题。
这些题目都没有标准的答案,请同学根据自己学习需求工程课程的理解答题!答案不可雷同,如果有雷同的答案,将以分值除以雷同数计算分数!请将上述内容转达到每位参加考试的同学!谢谢!1.“我知道你有很多材料。
那些材料里到底有什么?”Betty Kant问道,她是MIS特别工作组的负责人。
MIS特别工作组是你的系统团队联络Sawder家具公司的桥梁。
你拖了一大堆材料,正准备离开这栋楼“哦,是过去6个月的一些财政决算、生产报表,还有Sharon给我的一些业绩报表,业绩报表涵盖了过去6个月的目标和工作业绩。
”你在回答时,有些纸掉到了地上,“你为什么问这个问题呢?”。
Betty为你拾起纸并把它放到最近的桌子上,回答道:“因为你根本不需要这些垃圾。
你来这里要做一件事情,就是和我们这些用户谈话。
从这些材料中得不到任何有益的信息。
”问题1.)只有告诉Betty你从每份文档中找到的东西才能使她相信每份文档都是重要的。
用一段文字解释文档为需求工程师提供了什么帮助?2.)在你和Betty谈话的时候,意识到实际上也需要其他的定量文档。
列出你缺少的东西。
1.阅读、研究得到的硬数据,从中发现需求信息问题域信息工作流程业务细节从这些报表中就可以看出报表数据要求的数据大小、精度与格式等其他业务细节。
2.员工的工作指南和公司规章手册:解释业务的详细执行过程,反映业务的具体细节公司的成员以及职位、职责组织管理结构表图。
门户网站各种业务的统计报表,如财务报表业务备忘记录:反映业务的实际执行情况2.请说出下列引号内的文字的需求的类型,是否存在问题?“开发意图: 片面性减少人力成本, 功能需求提高办公效率,功能需求成本统计、查询,性能需求历史信息查询,性能需求支持WEB 操作,对外接口3.作为系统分析项目的一部分,需要为生产数字钟的Chronos公司更新自动化会计功能。
需求工程简答题复习
什么是需求:用户为了解决问题或达到某些目标所需要的条件或能力;系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;对它们的一种文档化表述。
需求的分类:1.功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。
功能需求主要表现为系统和环境之间的行为交互。
2.性能需求:系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。
3.质量属性:系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。
4.对外接口:系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
需求工程:是所有需求处理活动总和,它收集信息、分析问题、整理观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应.需求工程的活动包括:需求开发和需求管理需求开发包括:1.需求获取:目的从项目规划开始建立最初的原始需求。
它从相关人员、资料和环境中得到系统开发所需要的相关信息;2.需求分析:需求获取的这些信息还不是开发者能够立即加以实现的解决方案。
还需要对需求获取得到的信息,进行需求分析;目的保证需求的完整性和一致性;3.需求规格说明:定义用户需求,准确描述需求及其解决方案,目的将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;4.需求验证:目的保证需求及其文档的正确性,即需求真实地反映了用户的真实意图;以及通过检查和修正保证需求及其文档的完整性和一致性;需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。
需求规格说明:就是将需求及其软件的解决方案进行定义和文档化,并传递给开发人员;为什么要建需求规格说明:1)更好的传递软件系统的需求信息和解决方案给所有的开发者;2)拓展人们的知识记忆能力:复杂系统信息含量较多书面的文档可以弥补人的记忆能力不足; 3)开发者和客户作为合同协议的重要部分; 4)作为项目开发活动的一个重要依据;5)发现和减少可能的需求错误,减少项目的返工,降低项目的工作量; 6)作为有效的智力资产,可以帮助新加入成员更快融入项目需求规格说明文档常见读者:项目管理者2)设计人员与程序员3)测试人员4)文档写作人员5)涉众(用户)需求管理:就是这样一个管理活动,在需求开发之后的产品生命周期当中保证需求作用的有效发挥;为什么要执行需求管理:在需求开发结束之后,需要有一种力量保证后续的系统开发活动依照需求的基线进行展开,保证系统的质量;需求管理的主要任务有:1)交流涉众需要什么;2)将需求应用、实施到解决方案;3)驱动设计和实现工作;4)控制变更;5)将需求分配到子系统;6)测试和验证最终产品;7)控制迭代式开发中的变化;8)辅助项目管理;需求管理的3个活动:1)维护需求基线:将需求基线纳入配置管理2)实现需求跟踪:以软件需求规格说明文档为基线,在前向和后向两个方向上,描述需求以及跟踪需求变化的能力3)控制需求变更以可控、一致的方式进行需求基线中需求的变更处理需求分析的根本任务:1.建立分析模型2.建立解决方案需要执行活动:1.问题分析2.确定系统边界3.需求建模4.需求细化5.确定需求优先级6.需求协商需求验证:是专指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。
软件工程(软件需求)习题与答案
软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。
对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。
本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。
2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。
软件需求的编写和理解对于项目的成败具有决定性的作用。
准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。
2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。
2.3 习题三:请列举几个软件需求的常见问题。
答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。
- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。
- 模糊的需求:需求描述含糊不清,无法量化和验证。
- 可测量性问题:需求无法被准确地测量和评估。
- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。
3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。
软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。
缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。
3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。
3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。
软件需求课后答案
第一部分绪论第1章需求工程导论思考题1.如何理解下述的“软件”概念定义:a)软件=程序+文档+数据b)软件是知识的载体c)软件是对现实的模拟解答:a) 软体是指计算机系统中的程序及其文档。
程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
b) 软件是反映真实世界的。
c) 软件的模拟特性来源于其知识载体的特性:软件在运行中表现出来的特性、行为应该和应用的现实情况保持一致,这样,人们通过观察软件的表现就可以得出相应现实问题的答案,即软件“模拟”了现实。
第2章需求基础思考题1.你认为计算机系统能够改变现实世界的能力和潜力有多大?说明理由。
解答:软件开发的任务是构建软件系统,并将它们部署到现实世界当中,通过软件系统与其周围环境的交互,解决人们对现实世界遇到的问题。
当现实世界的状况与人们期望的状况产生差距时,就产生了问题,继而产生了问题域。
软件系统通过分析问题域,产生了解系统,软件系统通过接系统影响现实世界。
所以当现实世界有问题发生,而且软件系统又能模拟这些问题,软件系统就有能力解决这些问题,进而影响和改变现实世界。
所以,我认为计算机系统能够改变现实世界的能力和潜力非常大。
案例题1.从下面的事件当中,你可以替Jeannine总结出哪些教训?投资经理Jeannine对一个新的投资跟踪系统具有强烈的需求。
她需要做出快速决策来考虑可能进行的投资和撤销投资,耽误一个小时就可能给公司造成几千美元的损失。
最后她放弃了使用公司的信息系统,因为公司的信息系统没有给予她的请求足够高的服务优先级。
她找到软件开发商,购买了一套看似可以满足她要求的软件。
但高层管理人员不同意使用,而且还遇到了其他一些问题。
首先,财务审计员重新评估了公司的投资策略和投资政策。
Jeannine并不知道这一点,于是新的系统没有计入正在被考虑的新政策。
她自己的职员抵制这个系统产生的有关投资和撤销投资的建议。
需求工程思考题
第三章1.除了需求开发的四个活动和需求管理活动之外,需求工程当中还有没有需要执行的活动?如果有的话,它们是哪些活动?给出你的理由。
答:过程管理活动和项目管理活动。
过程管理活动是跟踪项目开发过程,记录项目开发过程当中所遇到的问题或者教训项目管理活动是管理项目开发的一系列问题与进度,管理人员配置,以达到最该效益。
2.需求开发过程具有迭代特性,但是不是所有项目的需求开发过程都必须是迭代完成的?如果不是,请给出举例和理由。
答:不是,一般对于业务领域不熟悉的项目,需求是具有迭代性的,需要对业务领域的认知,有一个从认识到知识重构的过程。
对于某些固定需求且熟悉的项目,就不需要迭代开发需求获取——>需求分析——>需求规格说明——>需求验证。
当然并不是所有项目的需求开发过程是迭代完成的,当某一项目开发过程中,用户需求非常简单,开发人员已经相当明确用户需求,这时,就不需要返回到需求获取阶段以继续用户需求的获取,这样,也就不需要迭代完成。
3.需求开发的迭代特性与软件开发过程的迭代式开发有什么关系?它们之间会互相影响吗?如果会,那么有哪些影响?答:需求开发的迭代特性只是软件开发过程的迭代式开发的一个子过程,软件开发过程是一个相当庞大的工程,需要在软件开发过程的各个阶段都需要进行开发工作的迭代,当然也包括需求开发中的迭代。
它们之间互相影响。
如果需求开发中的迭代不能很好地完成需求分析任务,就必将影响到软件开发过程的其他迭代阶段的进行。
4.需求工程细节知识的实践性对不同项目的需求开发过程的差异性有没有影响?如果有,请说明影响是什么。
如果没有,请说明是哪些因素产生了不同项目的需求开发过程的差异性。
答:没有影响。
其实是需求开发过程的差异性一定程度上导致了细节知识的实践性。
现实世界问题的复杂性和差异性主要导致了需求开发过程的差异性。
第四章3.在各种关于软件的调研中,无一例外地发现“缺乏用户参与”是导致软件失败的最大原因,试说明有哪些原因会使得用户参与不足?应该怎样解决?答:(1)用户数量太多,选择困难;(2)用户认识不足,不愿参与;(3)用户情绪抵制,消极参与;(4)没有明确的用户;解决:要求开发者在进行需求获取时,能够对系统的用户以及用户的替代源等相关涉众进行分析,了解他们的特征、类别、任务、取向等,并在需求获取中采取对策避免用户参与不足现象的发生。
软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年
软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年1.软件需求规格说明文档结束审查的标准有()。
参考答案:以上都可能是。
2.后向跟踪是指需求被定义到()之后的演化过程。
参考答案:软件需求规格说明书3.如果用户新增需求或变更需求,正确的做法是()参考答案:灵活处理需求4.需求开发阶段包括需求获取、需求分析、需求规格说明和()四个具体的活动。
参考答案:需求验证5.已经通过正式评审和批准的规格说明或产品,可作为进一步开发的基础,只有通过正式的变更控制过程才能修改的是()参考答案:需求基线6.在实际的项目开发中,人们总是希望使用自动工具来执行需求变更控制过程。
下列描述中()不是这类工具所具有的功能。
参考答案:定义变更控制计划,并指导设计人员按照所制定的计划实施变更。
7.原型可以说是一个()。
参考答案:演示系统8.性能需求、质量属性、约束、接口属于()参考答案:非功能性需求9.需求评审是()中常用的一种方法。
参考答案:需求验证10.下列描述中,属于需求基线的内容的是()参考答案:标识符、版本号、源头11.文档审查是()中常用的一种方法。
参考答案:需求获取12.需求评审的困难有哪些()。
参考答案:以上都是13.在验证过程中发现的问题应及时修正,常见的问题修正方法有()。
参考答案:以上都是14.需求验证的目的()。
参考答案:保证需求及其文档的正确性,即需求正确反映了用户的真实意图15.需求规格说明的目的()。
参考答案:将完整、一致的需求与能够满足需求的软件行为以文档的形式明确的固定下来16.需求分析的目的()。
参考答案:保证需求的完整性和一致性17.需求获取的目的()。
参考答案:从项目的战略规划开始建立最初的原始需求18.需求确认指()。
参考答案:确认每一条需求都是符合用户的真实意愿。
19.以下对需求验证的过程说法正确的是()。
参考答案:需求验证的过程,就是在软件需求规格说明文档完成后,对文档采用相应的验证方法进行验证。
需求工程简答题--复习资料
需求工程简答题--复习资料四、名词解释题1、需求工程:需求工程是软件工程的一个分支,它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素和准确的软件行为规格说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
2.需求:需求是用户对问题域中的实体状态或事件的期望描述。
2、需求:IEEE对需求的定义为:①用户为了解决问题或达到某些目标所需要的条件或能力。
②系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的要求而需要具备的条件或能力。
③对①或②中的一个条件或一种能力的一种文档化表述。
3、需求分析:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题域特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
4、前景(Vision):前景描述了产品的作用以及最终的功能,它将所有涉众都统一到一个方向上。
5、范围(scope):范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目划定了需求的界线。
7、硬数据:表格和文档资料是用户对实际业务进行加工和抽象之后的结果,是一种精化过的知识。
这些文档资料被称为硬数据。
硬数据分为定量硬数据和定性硬数据两种类型。
8、结构化面谈:结构化面谈指在面谈的过程中,会见者会完全按照事先的问题和结构来控制面谈。
结构化面谈通常被用来获取一些比较确定或者选择空间比较有限的信息,一些统计性倾向信息的获取也可以使用结构化面谈。
9、半结构化面谈:半结构化面谈指在面谈的过程中,事先需要根据面谈内容准备面谈的问题和面谈结构。
但在面谈过程中,会见者可以根据实际情况采取一些灵活的策略。
半结构化面谈是在需求获取中应用最多的一种面谈类型,能够处理大部分的需求获取任务。
10、非结构化面谈:在非结构化面谈的过程中,没有事先预定的议程安排。
在比较极端的情况下,会见者甚至会在没有太多事前准备的情况下就直接到访被会见者的工作地,就某个主题开展会谈。
《需求工程》知识要点
~ 1 ~
பைடு நூலகம்录
1 引言....................................................................................................................................... 4 2 软件需求............................................................................................................................... 4 2.1 需求的内涵................................................................................................................ 4 2.1.1 什么是需求?................................................................................................. 4 2.1.2“做什么”与“怎么做” ............................................................................... 5 2.2 需求分类.................................................................................................................... 5 2.2.1 广义需求分类.............................
软件工程第十版课后习题答案(中文版)
第一章概述1.2 通用的软件产品开发和定制化软件开发之间最重要的区别是什么?这在实践中对于通用软件产品的用户意味着什么?根本区别在于,在通用软件产品开发中,规范由产品开发者拥有。
对于定制产品开发,规范由客户拥有和控制。
这一点的影响是重大的——开发者可以根据一些外部变化(例如竞争产品)迅速决定更改规范,但当客户拥有规范时,更改必须在客户和开发者之间进行协商,并且可能会产生合同影响。
对于通用产品的用户,这意味着他们无法控制软件规范,因此无法控制产品的演变。
开发者可能会决定包含/排除功能并更改用户界面。
这可能会对用户的业务流程产生影响,并在安装新版本的系统时增加额外的培训成本。
这也可能会限制客户改变自己业务流程的灵活性。
1.3 软件产品应该具有的4个重要属性是什么?另外举出4个可能有意义的属性。
四个重要的属性是可维护性、可靠性和安全性、效率和可接受性。
其他可能重要的属性可能是可重用性(它是否可以在其他应用程序中重用)、可分布性(它是否可以分布在处理器网络上)、可移植性(它是否可以在多个平台上运行,例如笔记本电脑和移动平台)和互操作性(它是否可以与广泛的其他软件系统一起工作)。
对 4 个关键属性的分解,例如可靠性分解为安全性、安全性、可用性等,也是这个问题的有效答案。
1.4 除了异构性、企业和社会的变革、可信和信息安全之外,说一说软件工程在21世纪有可能面对的其他问题和挑战(提示:想一想环境)。
软件工程面临的问题与挑战众多,主要包括:1.开发节能系统,以提升其在低功耗移动设备上的适用性,并减少IT设备的整体碳排放。
2.开发模拟系统的验证技术,这对于预测和应对气候变化的程度至关重要。
3.开发适合多文化背景用户使用的系统。
4.开发能够迅速适应新商业需求的灵活系统。
5.设计便于外包开发的系统架构。
6.开发具有高安全性的系统,能够抵御各种攻击。
7.开发易于最终用户调整和配置的系统。
8.探索测试、验证和维护最终用户开发系统的有效方法。
软件需求工程随堂测试参考答案
软件需求工程随堂测试参考答案1.15分为什么在软件开发项目中维护阶段发现错误的修复成本是需求阶段发现错误修复成本的100倍到200倍3-5详细说明这些成本的主要构成10-12答:1、因为维护是建立在需求、设计、编码等的基础之上的,如果在维护阶段发现错误,那么要修复,或许就要从编码、设计、需求等阶段开始修复,随之伴随而来的,可能就是要重新进行规格说明,重新进行设计,重新进行编码等,这就成倍的增加了修复的成本;如下图所示,该图是许多公司项目生命周期各阶段修复成本的度量和计算,由图可得,如果把编码阶段发现和修复一个错误所需要的努力用“1”个成本单元表示的话,那么,需求阶段的错误修复成本是它的5—10,而在维护阶段发现和修复一个错误的成本超过20倍,因此,软件开发项目中维护阶段发现错误的修复成本是需求阶段发现错误修复成本的100倍到200倍;2、这些成本由以下方面构成:1重新进行规格说明:2重新设计;3重新编码;4重新测试;5版本升级:用一个修正后的版本来替代有缺陷的版本;6纠正活动:消除由于不正确的系统错误造成的一切危害,这可能涉及到偿还不满用户的经济损失,以及重新运行系统所付出的代价等;7报废:包括以最好的意图完成的代码、设计和测试用例,当发现它们是依据于不正确的需求时则不得不全部丢弃8收回有缺陷的软件版本以及相关的用户手册;有时软件可能会已经嵌入到数字手表、微波炉或汽车等产品中,这时所收回的内容也包括有形的产品和嵌入该系统的软件;9保修成本;10产品赔偿:客户可能要求对有缺陷软件造成的损害进行赔偿;11公司代表到客户那里重新安装软件所必须支付的服务成本;12建档成本;2.12分什么是软件需求5说明软件需求的层次并描述其相互关系7;答:1、IEEE软件工程标准词汇表1997年中定义需求为:1用户解决问题或达到目标所需的条件或权能Capability;2系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能;3一种反映上面1或2所描述的条件或权能的文档说明;或答:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望;通过对问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段;2、软件需求的三个不同层次之间的关系可用下图表示图正确得4分:软件需求包括三个不同的层次:(1)业务需求 business requirement:反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明;(2)用户需求user requirement:文档描述了用户使用产品必须要完成的任务,这在使用实例use case,简称用例文档或方案脚本scenario说明中予以说明;(3)功能需求functional requirement:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求;此外,还包括系统需求和其他需求,其他需求分为质量属性或其他非功能需求和设计约束等;3.15分选定一不少于四种用户类的简单项目,论述该项目的视图陈述4,确定并分析项目的用户类及特征4,给出系统用例模型4,并绘制系统关联图3;答:新闻发布系统1、项目陈述如下:“新闻发布系统”可使任何人方便的对新闻内容进行浏览,任何人可以通过注册成为会员,会员可以享有对新闻和评论进行评论的权限,同时会员也可以对自己的个人信息进行修改,管理员登录系统后,可以在后台发布并管理新闻,后台的系统管理员可以管理新闻、评论和会员信息;系统可以对新闻进行有效的管理,包括新闻的各种内容、属性还有评论和会员信息等,通过不同用户所拥有的管理权限,方便对新闻等信息进行删除更改,同时用户通过登录功能可以帮助用户随时了解新闻状态,保持新闻的时效性和正确性,同时扩大新闻的阅读量和传播率,避免新闻发布可能产生的管理混乱,严格用户职责,做到责任追溯,评论追溯等科学化管理;2、用户类及特征分析略3、用例模型参考:4、系统关联图:412什么是软件原型3使用原型的目的有哪些3说明软件原型的种类和使用原型技术应遵守的主要原则6;软件原型是一种技术,可以利用这种技术减少客户对产品不满意的风险;一个软件原型是所提出的新产品的部分实现,通过使用原型可以使开发小组正确理解需求,发现和解决在产品开发的早期阶段不确定的问题以及需求中的二义性和不完整性问题,最终明确如何最好地实现这些需求并最终明确并完善需求、探索设计选择方案、发展为最终的产品;同时用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化;使用原型有三个主要目的:明确并完善需求: 原型作为一种需求工具,它是对部分系统的初步实现;用户对原型的评价可以指出需求中存在的问题,在开发真正产品之前,可以最低的费用来解决这些问题;探索设计选择方案:原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统达到最佳的易用性,并且可以评价可能的技术方案;发展为最终的产品原型:作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发;软件原型的种类:水平原型和垂直原型、抛弃型原型和进化型原型、电子原型和书面原型;通过水平和垂直原型让用户体验或者验证需求实现的具体行为或操作以及部分确定性的功能,而抛弃型和进化型原型则针对不确定性的问题通过原型进行探讨和研究最终剔除掉需求的不确定性;为了帮助开发者在需求开发过程中建立有效的原型,请遵循如下原则:项目计划中应包括原型风险;安排好开发、评价和可能的修改原型的时间;计划开发多个原型;因为很少能一次成功;尽快并且廉价地建立抛弃型原型;用最少的投资开发那些用于回答问题和解决需求的不确定性的原型;不要努力去完善一个抛弃型原型的用户界面;在抛弃型原型中不应含有代码注释、输入数据有效性检查、保护性编码技术,或者错误处理的代码;对于已经理解的需求不要建立原型;不能随意地增加功能;当一个简单的抛弃型原型达到原型目的时,就不应该随便扩充它的功能;不要从水平原型的性能推测最终产品的性能;原型可能没有运行在最终产品所处的特定环境中,并且你开发原型的工具与开发产品的工具在效率上是存在差异的;在原型屏幕显示和报表中使用合理的模拟数据;那些评价原型的用户会受不现实数据的影响而不能把原型看成真正产品的模型;不要期望原型可以代替需求文档;原型只是暗示了许多后台功能,因此必须把这些功能写入软件需求规格说明,使之完善、详细并且可以有案可稽;5.12简述软件需求的几种典型来源;典型的软件需求来源:与潜在用户进行交谈和讨论描述现有产品或竞争产品的文档系统需求规格说明现有系统的问题报告和改进要求市场调查和用户问卷调查观察用户如何工作用户工作的情景分析事件和响应并做适当的解释;6 12分本课程中涉及的主要图形化分析方法有哪些5绘制系统数据流图应遵循哪些原则7答:1、本课程中涉及的主要的图形化分析方法有:用例图,数据流图,实体联系图,状态转换图,对话图,类图;2、绘制系统数据流程图应遵循的原则有:(1)把数据存储放在0层数据流图或更低层子图上,不要放在关联图上;(2)过程是通过数据存储进行通讯,而不是从一个过程直接流到另一过程;类似地,数据不能直接由一个数据存储直接流到另一个数据存储,它必须通过一个过程圆圈;(3)使用数据流图时,不要试图让数据流图反映处理的顺序;(4)用一个简明的动作命名过程:动词+对象;数据流图中所用的名字应对客户有意义,并且与业务或问题域相关;(5)对过程的编号要唯一且具有层次性;在0层图上,每个过程的编号用整数表示;如果你为过程3创建子图,则子图中的过程编号应表示为3.1,3.2等等;6不要在一个图中绘制多达7-10个以上的过程,否则就很难绘制、更改和理解;(6)不要使某些圆圈只有输入或只有输出;数据流图中圆圈所代表的处理过程通常要求既有输入又有输出;7.12分优秀需求及需求规格说明应具有哪些主要特性5图示并论述需求审查的过程4,并说明需求规格说明书进入和退出审查的标准3;答:主要特性:完整性,正确性,可行性,必要性,划分优先级,无二义性,可验证性,一致性,可修改性,可跟踪性;需求评审要经历如下过程:(1)规划;作者和调解者协同对审查进行规划,以决定谁该参加审查,审查员在召开审查会之前应收到什么材料并且需要召开几次审查会;(2)总体会议;总体会议可以为审查员提供了解会议的信息,包括他们要审查的材料的背景,作者所作的假设和作者的特定审查目标;如果所有的审查员对要审查的项目都很熟悉,那么就可以省略本次总体会议;(3)准备;在正式审查的准备阶段,每个审查员以典型缺陷清单为指导,检查产品可能出现的错误,并提出问题;(4)审查会议;在审查会进行过程中,读者通过软件需求规格说明指导审查小组,一次解释一个需求;当审查员提出可能的错误或其它问题时,记录员就记录这些内容,其形式可以成为需求作者的工作项列表;会议的目的是尽可能多地发现需求规格说明中的重大缺陷;另外,审查会不应该超过两个小时,如果需要更多的时间,就另外再安排一次会议;(5)重写;几乎每一个质量控制活动都可能发现一些需求缺陷;因此,作者必须在审查会之后,安排一段时间用于重写文档,解决需求中的二义性、消除模糊性,并且为成功开发一个项目打下坚实的基础;(6)重审;这是审查工作的最后一步,调解者或指派人单独重审由作者重写的需求规格说明;重审确保了所有提出的问题都能得到解决,并且正确修改了需求的错误;重审结束了审查的全过程并且可以使调解者做出判断:是否已满足审查的退出标准;具体流程如下图:需求规格说明书进入审查的标准:(1)文档符合标准模板;(2)文档已经做过拼写检查和语法检查;(3)作者已经检查了文档在版面安排上所存在的错误;(4)已经获得了审查员所需要的先前或参考文档,例如系统需求规格说明;(5)在文档中打印了行序号以方便在审查中对特定位置的查阅;(6)所有未解决的问题都被标记为TBD待确定;(7)包括了文档中使用到的术语词汇表;需求规格说明书退出审查的标准:(1)已经明确阐述了审查员提出的所有问题;(2)已经正确修改了文档;(3)修订过的文档已经进行了拼写检查和语法检查;(4)所有TBD的问题已经全部解决,或者已经记录下每个待确定问题的解决过程,目标日期和提出问题的人;(5)文档已经登记入项目的配置管理系统;(6)检查是否已将审查过的资料送到有关收集处;8.10需求管理的主要活动有哪些6,给出需求变更控制过程描述4;答: 需求管理包括在工程进展过程中维持需求约定集成性和精确性的所有活动如下:变更控制建议变更分析影响决定变更更新需求文档变更计划测量需求的稳定性版本控制定义版本标识方法确定需求文档版本确定单个需求文档版本需求跟踪定义对其它需求的连接链定义对其它系统元素的连接链需求状态跟踪定义可能的需求状态记录每一个需求状态记录所有需求的状态分布情况需求变更控制过程描述如下加必要解释: 1.概述1.1 目的1.2 范围1.3 定义2.角色和职责3.变更请求状态4.开始条件5.任务5.1 评估请求5.2 做出决策5.3 执行变更5.4 通知受变更影响的各方6.验证6.1 验证变更6.2 安装产品7.结束条件8.变更控制状态报告。
需求工程考试答案
下面是邵坤老师给的一些复习资料,帮忙发给大家吧主要内容都在PPT上,好好复习PPT中的内容,重点在前面的三讲,最后一讲方法内容仅仅是一些概念!主要答题是如下五题中得三题。
这些题目都没有标准的答案,请同学根据自己学习需求工程课程的理解答题!答案不可雷同,如果有雷同的答案,将以分值除以雷同数计算分数!请将上述内容转达到每位参加考试的同学!谢谢!1.“我知道你有很多材料。
那些材料里到底有什么?”Betty Kant问道,她是MIS特别工作组的负责人。
MIS特别工作组是你的系统团队联络Sawder家具公司的桥梁。
你拖了一大堆材料,正准备离开这栋楼“哦,是过去6个月的一些财政决算、生产报表,还有Sharon给我的一些业绩报表,业绩报表涵盖了过去6个月的目标和工作业绩。
”你在回答时,有些纸掉到了地上,“你为什么问这个问题呢?”。
Betty为你拾起纸并把它放到最近的桌子上,回答道:“因为你根本不需要这些垃圾。
你来这里要做一件事情,就是和我们这些用户谈话。
从这些材料中得不到任何有益的信息。
”问题1.)只有告诉Betty你从每份文档中找到的东西才能使她相信每份文档都是重要的。
用一段文字解释文档为需求工程师提供了什么帮助?2.)在你和Betty谈话的时候,意识到实际上也需要其他的定量文档。
列出你缺少的东西。
1.阅读、研究得到的硬数据,从中发现需求信息问题域信息工作流程业务细节从这些报表中就可以看出报表数据要求的数据大小、精度与格式等其他业务细节。
2.员工的工作指南和公司规章手册:解释业务的详细执行过程,反映业务的具体细节公司的成员以及职位、职责组织管理结构表图。
门户网站各种业务的统计报表,如财务报表业务备忘记录:反映业务的实际执行情况2.请说出下列引号内的文字的需求的类型,是否存在问题?“开发意图: 片面性减少人力成本, 功能需求提高办公效率,功能需求成本统计、查询,性能需求历史信息查询,性能需求支持WEB 操作,对外接口3.作为系统分析项目的一部分,需要为生产数字钟的Chronos公司更新自动化会计功能。
需求工程期末考试题及答案
需求工程期末考试题及答案# 需求工程期末考试题及答案一、选择题(每题2分,共20分)1. 需求工程的主要目的是:A. 确保软件按时交付B. 确保软件成本控制C. 确保软件满足用户需求D. 确保软件技术先进答案:C2. 需求分析阶段不包括以下哪项活动?A. 需求获取B. 需求规格化C. 需求验证D. 软件编码答案:D3. 以下哪个不是需求工程的基本原则?A. 需求应该是可验证的B. 需求应该是可追踪的C. 需求应该是可修改的D. 需求应该是不可变更的答案:D4. 需求优先级排序的目的是为了:A. 减少项目成本B. 提高开发效率C. 确定开发顺序D. 增加用户满意度答案:C5. 需求变更控制的目的是:A. 保证需求的完整性B. 避免需求的变更C. 降低需求变更的成本D. 确保需求变更的合理性答案:D二、简答题(每题10分,共30分)1. 简述需求工程中的“需求获取”和“需求分析”两个阶段的主要任务。
答案:需求获取阶段的主要任务是与用户沟通,收集用户的需求信息,包括功能需求、性能需求、约束条件等。
需求分析阶段的主要任务是对收集到的需求进行分析,明确需求的具体内容,消除需求中的矛盾和模糊性,形成清晰、准确、一致的需求规格说明。
2. 描述需求验证的重要性以及常见的需求验证方法。
答案:需求验证的重要性在于确保需求的准确性和完整性,避免在开发过程中因需求理解错误而导致的返工。
常见的需求验证方法包括:需求评审、原型测试、需求跟踪矩阵、需求一致性检查等。
3. 解释什么是需求变更控制,以及它在软件开发过程中的作用。
答案:需求变更控制是指在软件开发过程中对需求变更进行管理和控制的过程。
它的作用是确保需求变更不会对项目的进度、成本和质量产生负面影响,同时保证需求变更的合理性和必要性。
三、案例分析题(每题25分,共50分)1. 假设你是一个软件开发团队的需求工程师,你的团队正在开发一个在线购物平台。
请描述你将如何进行需求获取和需求分析。
需求工程课后重点答案
需求工程课后重点答案在需求工程课程中,我们学习了许多与软件需求相关的内容,包括需求的定义、分类、获取、分析、规格等方面。
这里汇总了一些课后重点答案,帮助大家更好地掌握课程内容。
需求的定义1. 什么是需求?需求是用户和系统之间的桥梁,其本质是对用户需求描述的标准化表示。
需求对于软件系统的开发、测试、部署和维护都至关重要。
2. 需求的分类有哪些?需求可以分为以下几类:•功能性需求:系统需要完成的任务和功能。
•非功能性需求:系统需要满足的性能、安全、可用性等方面的要求。
•业务需求:与特定业务领域相关的需求。
•约束性需求:来自系统外部的限制条件。
需求的获取1. 需求获取的方法有哪些?•面试、访问和问卷调查等人际交流方式;•观察、现场调研、用户追踪等观察获取方式;•归纳分析、数据挖掘、机器学习等数据分析方法;•技术原型、模拟、实验等实践方式。
2. 为什么需求获取是关键的一步?需求获取是软件开发过程中最关键、最困难的一步,如果获取不足或不准确,将会导致系统无法满足用户需求,甚至出现安全漏洞等隐患。
需求的分析1. 什么是需求分析?需求分析是识别、梳理和综合用户需求,并将之转化为软件能够实现的具体要求的过程。
2. 需求分析的目的是什么?需求分析的目的是保证系统需求的准确性和完整性,从而确保软件能够满足用户和利益相关者的需求。
需求的规格1. 为什么需要对需求进行规格化?规格化可以将不准确或不一致的需求变成可以明确验证的具体描述,同时,规格化可以让需求的修改和追踪更加容易。
2. 需求规格的形式有哪些?需求规格的形式有以下几种:•自然语言描述;•面向对象的UML图形描述;•简要说明书或用户手册;•数据流图、时序图等其他模型。
需求的验证1. 需求验证的目的是什么?需求验证的目的是检查和确认需求是否正确、完整和一致,以及系统是否满足了用户需求。
2. 需求验证的方法有哪些?•代码审查;•模拟和测试;•用户使用评估;•评审或验收会议。
需求工程课后重点答案
1。
需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做"。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3。
需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章:1。
解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题.解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分.而不是他们的全部。
软件系统仅仅是现实世界的一种抽象.所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征. 问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
需求工程期末复习
1.: 需求工程导论2.需求工程定义:3.是所有需求处理活动的和, 它收集信息、分析问题、整合观点、记录需求并验证其正确性, 最终反映软件被应用后与其环境互动形成的期望效应。
1)需求工程的基本活动:2)需求开发:需求获取, 需求分析, 需求规格说明, 需求验证3)需求管理1)各个活动的目的:2)需求获取的目的是从项目的战略规划开始建立最初的原始需求;3)需求分析的目的是保证需求的完整性和一致性;4)需求规格说明的目的是将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来;4.需求验证的首要目的是保证需求及其文档的正确性, 即需求正确的反映了用户的真实意图;另一个目标是通过检查和修正, 保证需求及其文档的完整性和一致性;5.需求管理的主要工作是跟踪后继阶段中的需求实现与需求变更情况, 确定需求得到了正确的理解并被正确的是想到了软件产品中。
第一章软件需求规格说明定义:第二章软件需求开发用来确定系统需求中应该由软件满足的部分, 将其映射为软件行为, 产生软件需求规格说明。
5.: 需求基础6.软件系统能够与问题域进行交互和相互影响的原因在于, 软件系统中的某些部分对问题域中的某些部分具有模拟特性。
1)需求分类:2)功能需求:业务需求, 用户需求, 系统需求3)性能需求4)质量属性5)对外接口6)约束第三章: (不考)7.: 需求获取概述1)需求工程需要获取的内容主要有三种:2)需求3)问题域描述4)环境与约束1)需求获取信息的主要来源:2)涉众3)硬数据4)相关产品5)重要文档6)相关技术标准和法规1)获取信息的方法:2)传统方法: 问卷调查, 面谈, 文档分析, 文档检查, 需求剥离3)集体获取方法:头脑风暴, 专题讨论会, JAD, JRP4)原型5)模型驱动方法: 基于场景, 基于用例8.认知方法: 任务分析, 协议分析第四章基于上下文的方法:观察, 民族志, 话语分析第五章常见的组织方式是依照系统特性, 确定系统的边界, 建立上下文图或系统用例图, 然后按照遍历上下文图和系统用例图的方式开展获取活动。
第一章需求工程导论 (2)
第一章需求工程导论1.软件开发中碰到的需求问题的现象是什么?答:(1)用户参与度不够。
(2)高层管理支持力度不够。
(3)没有清晰的需求说明。
(4)没有清晰的目标和前景。
(5)期望不切合实际。
(6)需求变化影响。
(7)增加了无用的额外功能。
2.在需求处理当中要注意哪些非技术性因素,为什么?答:(1)需求处理的任务:需求处理的任务主要是发现问题并解决问题。
现实是问题的发生地,软件系统是人们应对问题的手段。
但是单纯的软件系统是不能解决问题的。
它只有和现实之间形成一种有效的互动才能解决问题。
(2)需求处理的手段:建模与分析技术是进行需求处理的主要手段,这些技术本身都是概念性的,不依赖于某些特殊的应用环境条件。
可以被广泛的应用于各种应用场景。
(3)需求处理的过程:试图单纯的通过技术的应用建立一个一致完整的需求模型是不太可能的。
因为在现实中,因涉众的不同立场而产生的利益冲突的场景非常常见。
这些冲突是根本无法通过技术手段所能解决的。
3.解释需求分析与需求工程之间的联系答:“需求工程”就是利用工程化的手段进行需求处理,以保证需求处理的正确进行,而“需求分析”是需求处理中的核心活动,他用一些形式化或半形式化的语言进行知识的分析,但是建立需求工程还离不开需求分析。
4.解释软件工程与系统工程之间的联系,这种联系对需求工程的工作有何影响?答:(1)系统工程通常是指计算机引入某一现实系统,并用他来改变现实系统的运作方式,达到一个理想效果的过程。
而且系统工程中除了含有处理系统的软件工程之外,还包括硬件工程和人力工程。
因此,在系统工程中,虽然应该重点关注软件工程部分的内容,但并不能完全以软件为中心来看待和处理整个系统。
(2)影响:系统需求开发的主要目的是获得整个系统的期望目标,包含功能特性和非功能特性。
因此需要判定系统的涉众,采集他们的目标与要求研究系统的环境确定系统的要求,并进行一些整体性的分析。
5.需求工程包括哪些活动?软件开发活动当中为什么要重视需求工程?答:需求工程包括(1)需求开发(2)需求管理。
需求分析考试重点答案
第一章3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义5.需求工程包含的活动?为什么重视需求工程?需求工程包含需求开发和需求管理,而需求开发又包括需求获取、需求分析、需求规格说明、需求验证。
因为计算机应用于现实世界的广泛性,所以软件工程师的工作也具有行业上的广泛性,但是软件工程师不可能了解所有的领域,所以常常需要将工作中的很大一部分用来定义问题,然后再为其设计解决方案,定义问题就是需求工程的任务,开发软件系统最困难的部分就是准确说明开发什么,最为困难的概念性工作便是编写详细技术需求,这包括所有面向用户,面向机器和其他软件系统的接口,同时这也是一旦有错,最终将给系统带来极大损害的部分,并且以后要对他进行修改也极为困难。
第二章3.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
1、进行需求开发,确定用户的期望效果R2、研究问题背景,描述问题域特性E3、构建解系统,描述解系统行为S,使得E,S->R。
5.业务需求、用户需求、系统需求之间的区别与联系?业务需求:描述了组织为什么要开发系统,通常来自项目的投资人,购买产品的顾客,实际用户的管理者,市场营销部门等。
需求工程(习题集)最新
需求工程习题集一、选择题1、需求获取的成果(A)。
A、获取笔录、录音或摄像B、客户C、需求规格说明文档D、设计说明书2、项目前景与范围文档中,项目前景不应包括什么信息(B)。
A、前景概述B、详细的功能需求C、主要特性D、假设与依赖3、下列不属于需求开发的活动的是(B)。
A、需求获取B、需求管理C、需求验证D、需求分析4、面谈的类别不包括(C)。
A、结构化面谈B、半结构化面谈C、封闭式面谈D、非结构化面谈5、采用观察方法进行需求获取的原因(C)。
A、用户多B、客户变化D、事件的情景性D、存在默认知识6、确定需求优先级的常用的方法(A)。
A、累计投票B、协商C、需求细化D、需求建模7、需求评审是(B)中常用的一种方法。
A、需求获取B、需求验证C、需求分析D、需求管理8、需求跟踪是(D)中的一个活动。
A、需求获取B、需求验证C、需求分析D、需求管理9、针对客户需求文档进行文档审查的时候,采用的方法是(C)。
A、需求重用B、文档分析C、需求剥离D、民族志10、下列不是过程建模中使用的技术是(C)。
A、上下文图B、数据流图C、E-R图D、微规格说明11、针对相关产品的需求规格说明进行文档审查的时候,采用的方法是(C)。
A、需求剥离B、文档分析C、需求重用D、民族志12、下列不是用例模型的基本元素的是(A)。
A、用例B、参与者C、实体D、系统边界13、下列不属于需求验证的方法的是(B)。
A、需求评审B、需求分析C、利用跟踪关系D、开发测试用例15、需求分析的最终结果产生的是(C)。
A、项目开发计划B、可行性分析报告C、需求规格说明书D、设计说明书16、最常见的IEEE1998将需求分成5种类别,下列哪个不是5种类别的是(D)。
A、功能需求B、性能需求C、质量属性D、需求获取17、下列不属于面向对象建模中所使用的技术是(C)。
A、用例模型B、行为模型C、数据模型D、对象模型18、下列不属于获取信息的内容的是(D)。
习题-3-需求工程-参考答案[4页]
第三章需求工程
习题参考答案
一.选择题
1. C
2. D
3. B
4. C
5. A
6. D
7. A
8. B
9. D
10.A
二、问答题
1、需求工程是指系统分析人员通过细致的调研分析,准确的理解用户需求,将不规范的需求陈述转化为完整的需求定义,再将需求定义写成需求规约的过程。
需求工程包括需求开发和需求管理两部分。
需求开发是一个包括创建和维持系统需求文档所必需的一切活动的过程。
需求管理是一种系统化方法,可用于获取、组织和记录系统需求并使客户和项目团队在系统变更需求上达成并保持一致。
2、当前系统就是客户组织中当前正在使用的手工系统或计算机系统。
当前系统的物理模型主要考虑的是系统的业务流程,而当前系统的逻辑模型则是在物理模型的基础上,提取系统的本质,所建立的模型。
3、
业务流程图:
(1)存款业务流程图
(2)取款业务流程图
数据流图:
顶层图
一层图
二层图
4、
实体关系图:
数据流图:顶层图
一层图
二层图
款额。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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章一、原型的定义原型是一个系统,他内化了一个更迟系统的本质特征。
二、说明原型在需求获取中的作用和试用情景因为原型是在最终系统产生之前的一个局部真实表现,所以原型方法可以让人们在系统的开发过程中,就能对一些具体问题进行基于事物有效沟通,从而帮助人们今早解决软件开发过程中存在的各种不确定性。
场景:产品以前从未存在过,而且难以可视化,这些产品属于创新产品,他们的基本需求是潜在的,有很大的不确定性产品的用户对相关类别的产品没有经验,而且对将要采用的技术也没有经验。
此时用户无法明确工作的具体细节,产品的细节需求存在着不确定性用户进行自己的工作已经有一段时间了,但在完成工作的方式上依然存在障碍。
用户清晰说明他们的需求方面存在困难。
在澄清和理解之前,这些需求存在着不确定性需求的可行性值的怀疑,即具体需求的可满足性存在着不确定性三、案例题“我有一个绝妙的主意!”Bea Kwicke宣布,他是系统团队的一位新来的需求工程师,“让我们跳过所有的SDLC垃圾,直接为一切设计原型。
我们的项目会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。
”a)列出你(作为与Bea同一个团队的成员)用来劝阻她不要试图放弃SDLC,而直接为所有项目设计原型的原因。
b)Bea对你所说的话很失望。
为了鼓励她,用一段话向她说明,你认为适用于原型化方法的情(1)主要原因:原型仅仅是开发当中使用的一种手段,它利用得当可以加速开发的进程,但不能代替软件开发中的所有工作。
(2)情形见下表,尤其是其中红色的部分四、说明下列典型的应用情景适合使用哪种类型的原型(1)人机交互界面--信息表格或者报表(2)人机交互界面--具体功能的设置(3)人机交互界面--任务的执行过程(4)功能探索--任务的功能内容(5)功能探索--任务的执行过程(6)功能探索--任务的执行结果第九章一、为什么需要观方法?观察方法的适用情景是什么?答:很多时候用户无法完成主动的信息告知,或者说用户和需求工程师之间的语言交流无法产生有效的结果,这时就有必要采用观察的方法。
采样观察:根据明确的目的选取特定的时间段或者特定的事件进行观察。
民族志:观察者深入到用户中,花费较长的时间(一般为几个月)来观察用户的活动。
话语分析:它通过观察和分析用户交谈中的交互方式或者特定的话语形式的内部结构来发现和获取相关信息。
协议分析:对用户任务的观察。
它要求观察对象一边执行任务,一边大声地解释他们在执行任务时产生的各种想法。
任务分析:专门针对人机交互行为的观察。
它引入了相关的模型方法来观察、记录和分析用户与软件系统的交互行为二、案例题1.Ceci Awill说:“我想我能记得他所做过的大部分事情。
”Ceci准备与OK Corral公司战略规划副总裁Biff Weblldon进行面谈。
OK Corral是一家拥有130间牛排连锁店的公司。
“我的意思是说,我有好的记性。
我认为听他说什么比看他做什么更重要。
”作为需求工程团队的一员,Ceci Awll向你诉说了他要写下在面谈中对Biff 的办公司和Biff的活动进行观察的愿望。
(1)用一段话来说服Ceci,在面谈时仅仅倾听是不够的,观察和记录所观察的内容同样是很重要的。
(2)Ceci似乎接受了你认为观察时很重要的观点,但是不知道该观察什么。
列出需要观察的项目和行为,在每一项行为的旁边用一句话指名Ceci通过观察应该得到的信息。
答:(1)面谈并不能确保用户能够将所有的信息都告知需求工程师,诸如一些语言无法确切描述的事务,而观察能够了解用户真正做什么,还能够获取到其他方法不能得到的用户及其工作环境的信息,还可以对从其他方法获取的信息进行确认,所以我们应该重视观察方法的应用。
(2)①观察客户所处的环境(得出何种需求才能更适合客户)。
②观察客户行为、习惯特征(得出更适合客户使用的软件需求)。
第十一章一、什么是系统模型,他与需求分析和系统设计有什么关系?系统模型是指以某种确定的形式(如文字、符号、图表、实物、数学公式等),对系统某一方面本质属性的描述。
需求分析是挖掘和整理知识的过程,它在已掌握知识的基础上进行。
初步捕获到的需求信息往往处于不同层次,也有一些主观甚至不正确的信息。
而经过必要的需求分析工作之后,需求会更加系统、更加有条理、更加全面。
那么系统分析呢?如果说,需求分析致力于搞清楚软件系统要“做什么”的话,那么系统分析已经涉及“怎么做”的问题了。
需求捕获、需求分析以及系统分析之间的关系我们必须理解透彻,否则就会影响工作的有效性进行。
同样,在实践中,需求分析和系统分析也常常被混淆。
需求分析致力与搞清软件系统要“做什么”,而系统分析更关注“怎么做”的问题,比如大多数分析方法(如OOA)应该术语系统分析的范畴。
第十二章:一、什么是系统思想?过程模型如何反应系统思想?系统是指由相互制约、相互作用的一些部分组成的具有某种功能的有机整体。
因此系统思想可以理解为,用整体、全局的、联系的观点看问题、办事情,而不能用片面的、孤立的观点。