软件工程课后习题答案中文翻译版(第八版) 下载本文

在实际中你不能重复测试一个系统,所以你必须用一个模拟器来模拟系统的使用。然而,你没有系统实际工作的经验,用一个模拟器很难测试系统工作时的准确性。

2.LIBSYS系统不一定在专用的电脑上工作――该系统也可以同时在其他应用系统上工作。其他应用系统也会影响整个分布式系统的工作。在测试的时候,这些情况不会重复发生。

3.事实上数据的分布是未知的。数据分布受到特定的服务器的影响,所以对于数据的最初的假设可能是错误的。

23.7解释为什么接口测试是必要的甚至在个别组件已被广泛验证通过组件测试和程序检查。

在单元测试后接口测试的重要性:

①单元的接口可能没有明确的说明。确认这个单元的接口是以他的详细规格说明书为基础而不是以单元或者子系统在实践中的使用为基础的。

②假设了某些单元的操作,接口测试可以检测由这些单元组成的接口是否正确,有效。

③接口测试可以揭示在接口设计时的遗漏和错误。当接口和其他的单元组合在一起的时候这些错误会被发现,那么这些遗漏和错误可以被加到这个接口中。 26.1在什么情况下会公司收费软件系统比建议的费用估计加正常利润更高的价格?

①客户要开发者自己承担大部分的项目风险。

②客户有一些苛刻的要求,比如开发的时间比较短,要快速开发。 ③开发软件这个工作不是公司主要的业务,所以为了开发项目必须从其他的业务上调派人手过来,那么就需要补偿给这些人更多的钱。

④客户很自私,只考虑到自己不能承担太多的钱。

26.2描述两个已被用来衡量程序员生产率度量。简要评述了各自的优点和缺点,这些度量。

已用于生产的测量指标: ?源代码行的每单位时间产生的 ?目标代码指令的每单位时间

?页的每单位时间的文件其他的可能性是:

数据字典条目每单位时间?数(可能是有用的如果使用CASE工具) 数学定义的每单位时间产生的?数(规范) 书面的每单位时间的要求?数 设计图的每单位时间产生的?数

所有这些,当然,遭受同样的问题,其他指标,那就是,他们不考虑质量因素。

解释如何成本估计算法可以由项目经理进行期权分析。建议的情况下,管理者可以选择一种方法,不是基于最低工程造价。

使用算法模型进行项目估算,估算者应该做一系列估算(最坏估算,期望估算和最好估算)而不是单一估算,并用成本计算公式都计算一遍。管理者要估算软件的开发周期以及其他过程和产品因素的估算,比如团队队员的工作经验,硬件设备的更新,购买开发工具等。建立一张工作表,这张表包括了这些变化所产生的影响,并对这些影响进行估算。

由于一些组织机构方面的原因,管理者可能会选择一些相对比较贵的技术或者方法。比如软件工程师的经验相对比较丰富,但是工资也会比较高,但是开发人员还是会选择软件工程师来作为自己团队的成员而不使用新人。 28.6试列举三个为支持机构过程改善项目而开发的专门软件工具)

Elapsed time. 经过时间。做某事需要多长时间。许多可能的例子如时间进行设计评审。

Resource utilisation. 资源利用率。大量的资源使用。如工作需要测试模块。 Events which occur. 事件的发生。例如,一个系统已交付后发现的缺陷数。 29.1解释为什么在明确配置管理系统的文档时不用文档的名字,提出一个标准文档识别目录可用于组织中的所有工程。)

标题不是唯一的,所以不能用来标识文档。不同的子项目中的文档可能含有相同的标题。

文档标识的标准:<项目名称><子项目名称><任务名称><文档类型><文档号码><版本号><数据>

一个里程碑和可交付的关键的区别是什么?

里程碑是一个活动过程的终点。在每一个里程碑,应该有一个正式的输出,如报表,可以提出管理。里程碑报告不需要大的文件。他们可能只是一个已完成的内容简短的报告。里程碑应该代表一个独特的结束,在项目的逻辑阶段。 可交付成果是项目成果交付给客户。它通常是在一些重大项目相如规格或设计底交货。可交付成果是通常的里程碑,但不需要交付的里程碑。 为什么风险管理是软件工程的重要?

软件项目风险管理是特别重要的,因为大多数项目所面临的不确定性因素。这些来自松散定义的要求,估计软件开发所需的时间和资源的困难,在个人的水平和要求的变化,由于变化在客户的依赖需求。 什么是一个可行性研究解决?

可行性研究决定提出的系统是否是值得的。如果系统有助于组织的目标;

如果系统可以设计使用目前的技术和预算范围内;如果系统能够与其他系统,使用集成。

(可能是计算机系统,也可以是手工的系统?) 描述了用户界面设计的原则.P364

熟悉一致性 (最小诧异) (可复原性) (指导性) (多样性) 在这一过程中的3个核心活动:

用户分析。了解用户与系统;系统原型。开发了一系列的原型实验;界面评价。这些原型与用户体验。

How to analysis the user activities in the UI design process?P378 在软件开发中的增量方法的优点是什么?P393

1. 客户服务的快速交付。每个增量提供最高优先级功能给客户。 与系统用户的参与。用户必须参与发展,这意味着系统更容易满足他们的要求,用户更致力于系统。

讨论了增量式开发和原型之间的区别?P395

增量关系的发展提供一个工作系统的最终目的。开始开发这些要求是最好的理解。

目的丢弃原型是验证或派生的系统要求。成型过程开始与这些要求了解甚少。 结对编程的优势是什么?P404 对程序的使用有许多优点:

它有助于发展共同拥有的代码和传播知识在团队。

它作为一种非正式的审查过程的每一行代码都是看了超过1人。 它鼓励重构整个团队可以受益于此。

原型如何可以用在软件开发过程中?什么是使用原型的好处?p409-411