好文档 - 专业文书写作范文服务资料分享网站

软件需求工程随堂测试参考答案

天下 分享 时间: 加入收藏 我要投稿 点赞

《软件需求工程》随堂测试参考答案

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、系统关联图:

4(12)什么是软件原型(3)使用原型的目的有哪些(3)说明软件原型的种类和使用原型技术应遵守的主要原则(6)。

软件原型是一种技术,可以利用这种技术减少客户对产品不满意的风险。一个软件原型是所提出的新产品的部分实现,通过使用原型可以使开发小组正确理解需求,发现和解决在产品开发的早期阶段不确定的问题以及需求中的二义性和不完整性问题,最终明确如何最好地实现这些需求并最终明确并完善需求、探索设计选择方案、发展为最终的产品。同时用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。

使用原型有三个主要目的:

明确并完善需求: 原型作为一种需求工具,它是对部分系统的初步实现。用户对原型的评价可以指出需求中存在的问题,在开发真正产品之前,可以最低的费用来解决这些问题。

探索设计选择方案: 原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统达到最佳的易用性,并且可以评价可能的技术方案。

发展为最终的产品原型: 作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。

软件原型的种类:水平原型和垂直原型、抛弃型原型和进化型原型、电子原型和书面原型。

通过水平和垂直原型让用户体验或者验证需求实现的具体行为(或操作)以及部分确定性的功能,而抛弃型和进化型原型则针对不确定性的问题通过原型进行探讨和研究最终剔除掉需求的不确定性。

为了帮助开发者在需求开发过程中建立有效的原型,请遵循如下原则: 项目计划中应包括原型风险。安排好开发、评价和可能的修改原型的时间。 计划开发多个原型。因为很少能一次成功。

尽快并且廉价地建立抛弃型原型。用最少的投资开发那些用于回答问题和解决需求的不确定性的原型。不要努力去完善一个抛弃型原型的用户界面。

在抛弃型原型中不应含有代码注释、输入数据有效性检查、保护性编码技术,或者错误处理的代码。 对于已经理解的需求不要建立原型。

不能随意地增加功能。当一个简单的抛弃型原型达到原型目的时,就不应该随便扩充它的功能。

不要从水平原型的性能推测最终产品的性能。原型可能没有运行在最终产品所处的特定环境中,并且你开发原型的工具与开发产品的工具在效率上是存在差异的。

在原型屏幕显示和报表中使用合理的模拟数据。那些评价原型的用户会受不现实数据的影响而不能把原型看成真正产品的模型。

不要期望原型可以代替需求文档。原型只是暗示了许多后台功能,因此必须把这些功能写入软件需求规格说明,使之完善、详细并且可以有案可稽。 5.(12)简述软件需求的几种典型来源。 典型的软件需求来源:

与潜在用户进行交谈和讨论 描述现有产品或竞争产品的文档 系统需求规格说明

现有系统的问题报告和改进要求

市场调查和用户问卷调查 观察用户如何工作 用户工作的情景分析 事件和响应 并做适当的解释。

6 (12分)本课程中涉及的主要图形化分析方法有哪些(5)绘制系统数据流图应遵循哪些原则(7)

答:1、本课程中涉及的主要的图形化分析方法有:

用例图,数据流图,实体联系图,状态转换图,对话图,类图。 2、绘制系统数据流程图应遵循的原则有:

(1)把数据存储放在0层数据流图或更低层子图上,不要放在关联图上; (2)过程是通过数据存储进行通讯,而不是从一个过程直接流到另一过程。类似地,数据不能直接由一个数据存储直接流到另一个数据存储,它必须通过一个过程圆圈;

(3)使用数据流图时,不要试图让数据流图反映处理的顺序;

(4)用一个简明的动作命名过程:动词+对象。数据流图中所用的名字应对客户有意义,并且与业务或问题域相关;

(5)对过程的编号要唯一且具有层次性。在0层图上,每个过程的编号用整数表示。如果你为过程3创建子图,则子图中的过程编号应表示为,等等;(6)不要在一个图中绘制多达7-10个以上的过程,否则就很难绘制、更改和理解; (6)不要使某些圆圈只有输入或只有输出。数据流图中圆圈所代表的处理过程通常要求既有输入又有输出。

7.(12分)优秀需求及需求规格说明应具有哪些主要特性(5)图示并论述需求审查的过程(4),并说明需求规格说明书进入和退出审查的标准(3)。 答:

主要特性:完整性,正确性,可行性,必要性,划分优先级,无二义性,可验证性,一致性,可修改性,可跟踪性。 需求评审要经历如下过程:

软件需求工程随堂测试参考答案

《软件需求工程》随堂测试参考答案1.(15分)为什么在软件开发项目中维护阶段发现错误的修复成本是需求阶段发现错误修复成本的100倍到200倍(3-5)详细说明这些成本的主要构成(10-12)答:1、因为维护是建立在需求、设计、编码等的基础之上的,如果在维护阶段发现错误,那么要修复,或许就要从编码、设计、需求等阶段开始修复,随之伴随而来的,可能就是要重新进行规格
推荐度:
点击下载文档文档为doc格式
67p8l116ge6tck19hpxv8jj329nz7x003pw
领取福利

微信扫码领取福利

微信扫码分享