需求工程考试答案
软件工程期末考试参考题及答案

软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。
题目一:根据给定的需求文档,设计一个在线购物系统。
请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。
答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。
请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。
答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。
题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。
```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。
软件工程(软件需求)习题与答案

软件工程(软件需求)习题与答案软件工程(软件需求)习题与答案1. 引言在软件工程领域,软件需求是项目成功的关键之一。
对于开发者来说,了解和熟悉软件需求的基本概念和流程是至关重要的。
本文将针对软件工程中的软件需求进行习题和答案的探讨,帮助读者更好地理解和应用相关知识。
2. 习题集2.1 习题一:什么是软件需求?为什么软件需求很重要?答案:软件需求是指软件开发过程中,对于所要开发的软件系统的功能、性能以及其他特点的描述和规定。
软件需求的编写和理解对于项目的成败具有决定性的作用。
准确的软件需求能够指导开发团队进行开发工作,并确保最终的软件产品符合用户的期望。
2.2 习题二:软件需求的分类是什么?答案:软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,非功能需求则描述了软件系统的性能、可靠性、安全性等方面的需求。
2.3 习题三:请列举几个软件需求的常见问题。
答案:常见的软件需求问题包括:- 不完整的需求描述:缺少必要的细节和规范,导致开发团队无法准确理解用户需求。
- 冲突的需求:不同的用户提出了矛盾的要求,导致开发过程复杂化。
- 模糊的需求:需求描述含糊不清,无法量化和验证。
- 可测量性问题:需求无法被准确地测量和评估。
- 可行性问题:需求不符合项目的可行性要求,无法被合理地实施。
3. 答案解析3.1 习题一解析软件需求是对软件系统功能、性能和其他特点的描述和规定。
软件需求的重要性在于它能够指导开发团队进行开发工作,并确保最终产品符合用户期望。
缺乏准确的软件需求往往导致项目失败或产品无法满足用户需求。
3.2 习题二解析软件需求可以分为功能需求和非功能需求两类。
功能需求描述了软件系统应具备的功能和行为,如注册、登录等;非功能需求描述了软件系统的性能、可靠性、安全性等方面的需求,如响应时间、可扩展性等。
3.3 习题三解析常见的软件需求问题包括需求描述不完整、冲突的需求、模糊的需求、可测量性问题以及可行性问题。
需求分析习题一、二(答案)

习题1一、单项选择题1、软件生产中产生需求问题的最大原因在于对应用软件的(C)理解不透彻或应用不坚决。
(A)复杂性(B)目的性(C)模拟性(D)正确性2、需求分析的目的是保证需求的(B)。
(A)目的性和一致性(B)完整性和一致性(C)正确性和目的性(D)完整性和目的性3\现实世界中的(B)构成了问题解决的基本范围,称为该问题的问题域。
(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作4、比较容易发现的涉众称为初始涉众,又称为(B),通常包括客户、管理者和相关的投资者。
(A)关键涉众(B)涉众基线(C)普通涉众(D)一般涉众5、按照使用方式进行分类,原型可分为:演示原型、(D)、试验原型和引示系统原型。
(A)非操作原型(B)系列首发原型(C)选定特征原型(D)严格意义上的原型二、填空题1、传统的需求分析方法都是从设计领域转入分析领域的。
2、需求工程是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。
3、软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明。
三、简答题1、简述需求工程的主要任务。
答:需求工程有以下三个主要任务:①需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式、方法所施加的限制和约束,也即要同时说明软件需要“做什么”和“为什么”需要做。
②需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
需求规格说明是需求工程最为重要的成果,是项目规划、设计、测试、用户手册编写等很多后继软件开发阶段的工作基础。
③现实世界是不断变化的世界,因此需求工程还需要妥善处理目标、功能和约束随着时间的演化情况。
同时,为了节省开支和进行需求规格说明的重用,需求工程还需要对目标、功能和约束在软件产品族中的演化和分布情况进行综合考虑与处理。
软件需求工程选择题

软件需求工程选择题1. 软件生命周期包括哪些阶段?AA. 需求、设计、编码、单元测试、接收测试和维护阶段。
B. 设计、编码、单元测试、接收测试和维护阶段。
C. 需求、设计、编码、单元测试和接收测试阶段。
D. 需求、设计和编码阶段。
2. 好的软件需求具有哪些特性?A A. 一致性和全面性。
B. 易读性和充分性。
C.充分性。
D.易读性。
3. RUP的十大要素是:开发一个前景、达成计划、标识和减小风险、分配和跟踪任务、检查商业理由、设计组件构架、对产品进行增量式的构建和测试、验证和评价结果、_________和_________。
AA. 管理和控制变化及提供用户支持。
B. 迭代的开发和提供用户支持。
C. 迭代的开发和管理和控制变化。
D. 建立模版和迭代的开发。
4.下列哪个不是RUP的核心工作流?C A. 业务建模B. 分析和设计C. 用户需求了解。
D. 需求5. RAD的缺点不包括___D______。
A. 如果用户不能持续地参与整个生命周期中,最终产品会受到负面影响。
B. 要求系统能适当模块化,如果没有可重用的组件,它的效率就会下降。
C. 盲目应用时,会缺乏成本概念和项目完成的时间限制。
项目有永远不能完结的风险。
D. 工作重点从文档转为构建,所见即所得。
6. 螺旋模型的优点不包括____C______。
A. 能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。
B. 使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。
C. 大量的中间阶段会产生额外的内外部文档。
D. 可以方便地评估和验证每次迭代的成果;实现从开发到维护的无缝连接。
7. 迭代方法中的常见问题不包括___B________。
A. 过分详细的规划B. 项目收敛C. 回避棘手问题D. 不同的小组按自己的进度进行工作8. 用户故事的书写遵循一定的原则,其中不包括___C_____。
A. 作为(系统的一个涉众)B. 我想要(做一件事)C. 是什么(用户的需求是什么)D. 从而(达到一个商业价值)9. 指出RUP的核心工作流不包括__D______。
软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年

软件需求工程_金陵科技学院中国大学mooc课后章节答案期末考试题库2023年1.软件需求规格说明文档结束审查的标准有()。
参考答案:以上都可能是。
2.后向跟踪是指需求被定义到()之后的演化过程。
参考答案:软件需求规格说明书3.如果用户新增需求或变更需求,正确的做法是()参考答案:灵活处理需求4.需求开发阶段包括需求获取、需求分析、需求规格说明和()四个具体的活动。
参考答案:需求验证5.已经通过正式评审和批准的规格说明或产品,可作为进一步开发的基础,只有通过正式的变更控制过程才能修改的是()参考答案:需求基线6.在实际的项目开发中,人们总是希望使用自动工具来执行需求变更控制过程。
下列描述中()不是这类工具所具有的功能。
参考答案:定义变更控制计划,并指导设计人员按照所制定的计划实施变更。
7.原型可以说是一个()。
参考答案:演示系统8.性能需求、质量属性、约束、接口属于()参考答案:非功能性需求9.需求评审是()中常用的一种方法。
参考答案:需求验证10.下列描述中,属于需求基线的内容的是()参考答案:标识符、版本号、源头11.文档审查是()中常用的一种方法。
参考答案:需求获取12.需求评审的困难有哪些()。
参考答案:以上都是13.在验证过程中发现的问题应及时修正,常见的问题修正方法有()。
参考答案:以上都是14.需求验证的目的()。
参考答案:保证需求及其文档的正确性,即需求正确反映了用户的真实意图15.需求规格说明的目的()。
参考答案:将完整、一致的需求与能够满足需求的软件行为以文档的形式明确的固定下来16.需求分析的目的()。
参考答案:保证需求的完整性和一致性17.需求获取的目的()。
参考答案:从项目的战略规划开始建立最初的原始需求18.需求确认指()。
参考答案:确认每一条需求都是符合用户的真实意愿。
19.以下对需求验证的过程说法正确的是()。
参考答案:需求验证的过程,就是在软件需求规格说明文档完成后,对文档采用相应的验证方法进行验证。
软件工程-期末考试题(含答案)

软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。
需求获取的方法可以包括面谈、问卷调查、观察等。
通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。
1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。
在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。
通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。
1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。
在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。
需求规格书通常包括用例图、类图、时序图等各种工具和技术。
1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。
在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。
需求验证也可通过模拟测试、原型验证等方式进行。
2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。
下面介绍几个常用的软件设计原则。
2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。
这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。
2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。
2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。
软件工程习题及答案解析
软件工程习题及答案解析导言:软件工程作为一门与计算机科学紧密相关的学科,旨在研究和应用一系列工程原则、方法和过程来开发和维护高质量的软件系统。
对于软件工程的学习和理解,习题练习是巩固知识和提高技能的重要手段。
本文将针对软件工程领域的一些习题,提供详细的答案解析,帮助读者更好地掌握软件工程的各个方面。
一、软件需求工程1. 什么是软件需求?请举例说明。
答案解析:软件需求是对即将开发的软件系统或软件改进的功能、性能、可靠性、约束等方面的描述和规范。
例如,一个在线购物系统的需求可以包括用户注册、商品浏览、购买结算等功能,以及响应时间、并发用户数等性能要求。
2. 软件需求工程的主要任务是什么?答案解析:软件需求工程的主要任务包括需求获取、需求分析、需求规格、需求验证和需求管理。
其中,需求获取是通过与用户、领域专家的交流和文档的分析,了解用户需求的过程;需求分析则是对获取到的需求进行识别、分类和理解,以明确软件系统的功能特性;需求规格是将需求以规范化的方式进行表达,通常使用需求文档或者UML建模工具;需求验证是通过测试、模拟等方式验证需求的正确性和可行性;需求管理是对需求进行变更控制、版本管理和追踪反馈。
二、软件设计与实现1. 请介绍一种常用的软件开发模型,并分别说明各个阶段的任务。
答案解析:常用的软件开发模型之一是瀑布模型。
它包含需求分析、系统设计、详细设计、编码、测试和维护等阶段。
需求分析阶段的任务是明确软件系统的功能需求以及性能需求;系统设计阶段则是定义软件系统的整体框架和架构设计;详细设计阶段是对系统设计进行进一步的细化,明确具体的模块、类和接口设计;编码阶段是将设计好的模块或类转化为实际的编程代码;测试阶段是对编码后的软件进行各个功能的单元测试、集成测试和系统测试,以验证软件的正确性和性能;维护阶段则是对软件进行错误修复、性能优化和功能升级等活动。
2. 什么是软件设计模式?请举例说明一种常用的软件设计模式。
软件需求工程随堂测试参考答案
软件需求工程随堂测试参考答案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公司更新自动化会计功能。
软件需求工程试题
软件需求试题一、单选题1.[单选题]获取软件需求困难的原因不包括。
A.客户说不清楚需求B.需求自身经常变动C.分析人员或客户理解有误D.提供的需求没有满足用户的需求正确答案:D1*******2.[单选题]以下哪一项不是软件危机的表现。
A.开发的软件可维护性差B.软件极易被盗版C.经费预算经常被突破D.开发的软件不能满足用户需求正确答案:B16711067 3.[单选题]IEEE公布的需求定义包括从用户角度以及从(______)角度来阐述需求。
A.开发者B.设计者C.客户D.使用者正确答案:A4. [单选题][IEEE1998]将需求分为功能需求、非功能性需求和设计约束,其中非功能性需求不包括()。
A.性能需求B.质量属性D.改变产品的功能正确答案:D1*******5.[单选题]用户需求不可能来自()。
A.用户B.销售人员C.售后支持人员D.开发人员正确答案:D1*******6. [单选题]系统需求描述了()。
A.为什么要开发系统B.系统能够帮助用户做些什么C.开发人员需要实现什么D.怎样实现用户的需求正确答案:C195549627.[单选题]系统的性能需求不包括()。
A.速度B.容量C.吞吐量D.延迟性正确答案:D8.[单选题]需求工程过程不包括()。
A.获取需求C.验证需求D.实现需求正确答案:D2*******9.[单选题]软件需求分析阶段的工作,可以分成4个方面:需求获取,需求分析,编写需求规格说明书以及()。
A.用户B.需求评审C.总结D.都不正确正确答案:B2261814110.[单选题]确定需求优先级常用的方法是()。
A.累积投票B.协商C.需求细化D.需求建模正确答案:A2261814211.[单选题]下列不属于需求开发活动的是()。
A.需求获取B.需求分析C.需求验证D.需求管理正确答案:D12.[单选题]需求获取是需求工程()活动。
A.早期B.中期C.晚期D.末期正确答案:A2556858813.[单选题]需求获取的成果可以是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下面是邵坤老师给的一些复习资料,帮忙发给大家吧主要内容都在PPT上,好好复习PPT中的内容,重点在前面的三讲,最后一讲方法内容仅仅是一些概念!主要答题是如下五题中得三题。
这些题目都没有标准的答案,请同学根据自己学习需求工程课程的理解答题!答案不可雷同,如果有雷同的答案,将以分值除以雷同数计算分数!请将上述内容转达到每位参加考试的同学!谢谢!1.“我知道你有很多材料。
那些材料里到底有什么?”Betty Kant问道,她是MIS特别工作组的负责人。
MIS特别工作组是你的系统团队联络Sawder家具公司的桥梁。
你拖了一大堆材料,正准备离开这栋楼“哦,是过去6个月的一些财政决算、生产报表,还有Sharon给我的一些业绩报表,业绩报表涵盖了过去6个月的目标和工作业绩。
”你在回答时,有些纸掉到了地上,“你为什么问这个问题呢?”。
Betty为你拾起纸并把它放到最近的桌子上,回答道:“因为你根本不需要这些垃圾。
你来这里要做一件事情,就是和我们这些用户谈话。
从这些材料中得不到任何有益的信息。
”问题1.)只有告诉Betty你从每份文档中找到的东西才能使她相信每份文档都是重要的。
用一段文字解释文档为需求工程师提供了什么帮助?2.)在你和Betty谈话的时候,意识到实际上也需要其他的定量文档。
列出你缺少的东西。
1.阅读、研究得到的硬数据,从中发现需求信息问题域信息工作流程业务细节从这些报表中就可以看出报表数据要求的数据大小、精度与格式等其他业务细节。
2.员工的工作指南和公司规章手册:解释业务的详细执行过程,反映业务的具体细节公司的成员以及职位、职责组织管理结构表图。
门户网站各种业务的统计报表,如财务报表业务备忘记录:反映业务的实际执行情况2.请说出下列引号内的文字的需求的类型,是否存在问题?“开发意图: 片面性减少人力成本, 功能需求提高办公效率,功能需求成本统计、查询,性能需求历史信息查询,性能需求支持WEB 操作,对外接口3.作为系统分析项目的一部分,需要为生产数字钟的Chronos公司更新自动化会计功能。
你将要同首席会计Harry Straiter面谈。
1.)说明你将如何联系Harry以安排一次面谈。
2.)说明在这场面谈中你会使用哪种面谈结构?为什么?3.)Harry有3个下属也使用这个系统。
你和他们面谈吗?为什么?打电话或者email给Harry,因为要进行深入面谈,可以先将一些问题通过 email 发给他(2)采用菱形面谈结构,因为目的是要更新自动化会计功能.也可以考虑使用漏斗结构(3)应当面谈,因为下属和领导应该具有不同的目标,而这些目标是领导不能提供的考察点:涉众的分类采用漏斗型。
以一般的开放式的问题开始,有助于分析人员取得总体认识,然后再逐步就某些问题展开深入面谈4.描述:Maverick公司是一家有15年历史的国内货物运输公司,假设你的小组担当Maverick公司的系统分析与设计团队,为Maverick公司的所有业务设计一个计算机化或者增强设计计算机化的项目。
Maverick主要进行卡车零运,管理人员按照实时处理(Just In Time)原则工作。
在这个原则指导下,他们建立了包括发货人、收货人和承运公司的伙伴关系,目的是准时运输和交付生产线上需要的材料。
Maverick主张用626台拖拉机拖运货物,它拥有45000平方英尺的仓库和21000平方英尺的办公场地。
问题:1.)制定分析Maverick公司的信息需求时,应当收集的硬数据列表。
(提示:想像一下该公司要开展的工作,应该会有哪些登记表格)⏹。
定量硬数据❑数据收集表格⏹反映了组织的信息流⏹收集正在使用的每张空白表格表格、填写和分发说明⏹对比填写好的表格❑表格中是否有从来都不填写的数据项;❑应该收到表格的人是否真的收到了;❑他们是否按照正常程序使用、存储和丢弃表格❑等等❑统计报表⏹反映了组织过去的主要业务和业务目标⏹统计规则也是一种丰富的知识,统计项分解为细节业务数据的过程往往也就是组织目标分解到具体业务的过程⏹根据实际工作填写过的统计报表,就可以发现组织实际的业务执行状况,从中发现组织面临的具体问题⏹定性硬数据❑整个组织的描述文档⏹组织结构图:帮助发现项目的关键涉众⏹门户网站:反映组织的业务开展状况❑业务指导文档⏹工作指南和规章手册:解释业务的详细执行过程,反映业务的具体细节❑业务备忘⏹反映业务的实际执行情况⏹形成对组织工作过程的清晰理解⏹解答:(1) 描述发货人、收货人和承运公司的伙伴关系的表⏹发货及收货的时间表⏹货物的中转表⏹拖拉机和仓库的使用情况表⏹参考硬数据的类型:教材上册,P892.)设计一种采样机制,使得小组在不必查看这家公司15年来产生的所有文档的情况下,形成对该公司的清晰认识。
⏹(2)将这15年公司的情况用图表表达出来,形成对15年以来公司状况的认识,获取生产情况的时候将大致相同的年份列出来,采样时候只需要在大致相同的年份中抽取一份作为样本。
⏹参考采样规则:教材上册,P905.描述:“某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。
她每周都收到一份过期未付款的账户名单。
这份报告已经从两年前的250个账户增加到现在的1250个账户。
为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。
严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据。
过去半天的工作量现在增加到了每周三天。
即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话、断绝信用或将这个账户转给一个收账代理)。
另外,Liz需要报告所有账户中过期未付款的、拖欠债务的、严重拖欠债务的和呆死账的比例。
目前的报告中并没有给她提供这个信息。
”问题:1.)假设现在需要你来开发一个软件,解决Liz面对的难题。
那么你认为Liz现在遇到的问题有哪些?2.)你希望新的软件应该达成哪些业务目标?3.)你怎样设计软件的高层解决方案和系统特性?解答:Liz现在遇到的问题有:(1)工作量的增加;(2)客户账户的历史数据;(3)问题账户所占比例没有显示…新的软件应该达成的业务目标有:(1)能够快速查询客户账户;(2)能够分析一个客户是否为问题账户;(3)能够给出一个问题账户的三年内的历史数据;(4)能够计算问题账户所占比例…软件的高层解决方案和系统特性:(1)建立一个数据库系统用来存放客户账户信息;(2)根据特定的判定问题账户的算法检索辨别出问题账户;(3)工作人员能够检查该账户的三年内的历史数据;(4)即时显示问题账户所占比例…1. 需求工程包括哪些基本活动?各项基本活动的主要任务是什么?答:需求工程过程包括如下主要活动:⑴获取需求。
深入实际,在充分理解用户需求的基础上,获取足够多的问题领域的知识,积极与用户交流,捕捉、分析和修订用户对目标系统的需求,并提炼出符合解决领域问题的用户需求。
需求获取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等。
⑵需求分析与建模。
对已获取的需求进行分析和提炼,进行抽象描述,建立目标系统的概念模型,需求概念模型的要求包括实现的独立性:不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。
进一步对所建立的模型(原型)进行分析。
需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。
⑶需求规格说明。
对需求模型进行精确的、形式化的描述,为计算机系统的实现提供基础。
⑷确认需求。
以需求规格说明为基础输入,通过符号执行、模拟或快速原型等方法,分析和验证需求规格说明的正确性和可行性,确保需求说明准确、完整地表达系统的主要特性,就是对需求规格说明与用户达成一致。
其主要任务是冲突求解,包括定义冲突和冲突求解两方面。
常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。
⑸需求管理。
在整个需求工程过程中,贯穿了需求管理活动。
需求管理主要包括跟踪和管理需求变化,支持系统的需求演进。
由于客户的需要总是不断(连续)增长的,但一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件管理的首要问题。
对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。
当前的发展是软件家族法,即产品线方法。
多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性,并进行关于变化的推理。
进化需求是十分必要的。
2.简述抽取需求的主要方法,并比较它们的特点。
⑴面谈法。
这是一种重要而直接简单,随时可使用的发现和获取需求的方法。
面谈的对象主要有用户和领域专家:与用户面谈主要了解和提取需求,与领域专家面谈,是一个对领域知识的学习和转换过程。
使用该方法时应注意面谈前要充分准备,面谈后认真分析总结,同时注意掌握面谈的人际交流技巧,才能取得好的效果。
⑵问卷法调查法。
通过采用向用户发问卷调查表的方式,达到彻底弄清项目需求的一种需求获取方法。
这是一种从多个用户处收集需求信息的有效方式,是对面谈法的补充。
⑶会议讨论法。
所谓会议讨论法,是指开发方和用户方召开若干次需求讨论会议,达到彻底弄清项目需求的一种需求获取方法。
这种方法适合于开发方不清楚项目需求的情况。
⑷原型法。
对于某些试验性、探索性的项目,更是难于得到一个准确、无二义性的需求。
而原型化方法(Prototyping Method)是获取这一类项目需求的有效方法。
⑸面向用例的方法。
分析建立“用例”的过程,也就是提取需求的过程。
在实际应用中,常常将以上方法进行综合应用。
5.什么是软件复用?答:软件复用是指重复使用已有的软件产品来开发新的软件系统,以达到提高软件系统的开发质量与效率、降低开发成本的目的。
在软件复用中重复使用的软件产品不仅仅局限于程序代码,而是包含了在软件生产的各个阶段所得到的各种软件产品,这些软件产品包括:领域知识、体系结构、需求分析、设计文档、程序代码、测试用例和测试数据等。
将这些已有的软件产品在软件系统开发的各个阶段重复使用,这就是软件复用的原理。