软件工程第十版课后习题答案(中文版).docxVIP

软件工程第十版课后习题答案(中文版).docx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第一章概述

1.2通用的软件产品开发和定制化软件开发之间最重要的区别是什么?这在实践中对于通用软件产品的用户意味着什么?

根本区别在于,在通用软件产品开发中,规范由产品开发者拥有。对于定制产品开发,规范由客户拥有和控制。这一点的影响是重大的——开发者可以根据一些外部变化(例如竞争产品)迅速决定更改规范,但当客户拥有规范时,更改必须在客户和开发者之间进行协商,并且可能会产生合同影响。

对于通用产品的用户,这意味着他们无法控制软件规范,因此无法控制产品的演变。开发者可能会决定包含/排除功能并更改用户界面。这可能会对用户的业务流程产生影响,并在安装新版本的系统时增加额外的培训成本。这也可能会限制客户改变自己业务流程的灵活性。

1.3软件产品应该具有的4个重要属性是什么?另外举出4个可能有意义的属性。

四个重要的属性是可维护性、可靠性和安全性、效率和可接受性。其他可能重要的属性可能是可重用性(它是否可以在其他应用程序中重用)、可分布性(它是否可以分布在处理器网络上)、可移植性(它是否可以在多个平台上运行,例如笔记本电脑和移动平台)和互操作性(它是否可以与广泛的其他软件系统一起工作)。

对4个关键属性的分解,例如可靠性分解为安全性、安全性、可用性等,也是这个问题的有效答案。

1.4除了异构性、企业和社会的变革、可信和信息安全之外,说一说软件工程在21世纪有可能面对的其他问题和挑战(提示:想一想环境)。

软件工程面临的问题与挑战众多,主要包括:

开发节能系统,以提升其在低功耗移动设备上的适用性,并减少IT设备的整体碳排放。

开发模拟系统的验证技术,这对于预测和应对气候变化的程度至关重要。

开发适合多文化背景用户使用的系统。

开发能够迅速适应新商业需求的灵活系统。

设计便于外包开发的系统架构。

开发具有高安全性的系统,能够抵御各种攻击。

开发易于最终用户调整和配置的系统。

探索测试、验证和维护最终用户开发系统的有效方法。

1.5参考1.1.2节讨论的应用类型,举例说明为什么设计和开发不同类型的应用需要特殊化的软件工程技术。

不同应用类型需要使用不同的开发技术,原因如下:

成本与变更频率。一些系统(如消费设备中的嵌入式系统)更改成本极高;其他系统则需要频繁变化以响应需求变化(如业务系统)。更改成本极高的系统需要进行广泛的前期分析以确保需求一致性,并进行广泛的验证以确保系统符合规格。这对于快速变化的系统来说并不具成本效益。

最重要的“非功能”需求。不同系统对非功能需求的优先级不同。例如,飞机中的实时控制系统以安全为主要优先级;交互式游戏则以响应性和可用性为优先级。用于实现安全的技术不适用于交互式游戏;游戏所需的广泛用户界面设计在安全关键的控制系统中不需要。

软件生命周期和交付计划。一些软件系统的生命周期相对较短(如许多基于网络的系统),而其他系统的生命周期可达数十年(如大型指挥和控制系统)。某些系统需要快速交付以便实用。开发短生命周期、快速交付系统的技术(如使用脚本语言、原型开发等)不适用于需要长期支持的系统,这些系统需要采用允许长期支持的技术,如设计建模。

1.8讨论一下职业工程师是否应该和医生或律师一样颁发资格证书。

这些是可能的讨论要点——任何讨论都会涉及广泛的范围,并触及诸如职业操守等其他问题。

认证的优势

认证向雇主表明具备某种最低水平的能力。

认证提升了职业的公众形象。

认证通常意味着建立和检查教育标准,因此是一种确保课程质量的机制。

认证在争议发生时意味着责任。认证机构可能被接受为在国家和国际层面代表该职业的权威

认证可能提高软件工程师的地位,并吸引特别有能力的人进入该职业。

认证的劣势

认证往往导致保护主义,认证成员往往不保护他人免受批评。

认证并不保证能力,仅表明在认证时达到了最低标准。

认证费用高昂,会增加个人和组织的成本。

认证往往会抑制变革。在技术发展非常迅速的领域,这是一个特别的问题。

第二章软件过程

2.1针对以下每个系统,请推荐最合适的可以管理其开发的基础的通用软件过程模型,按照所开发系统的类型给出你的理由。

一个汽车中的防抱死刹车控制系统;

一个支持软件维护的虚拟现实系统;

一个准备替换现有系统的大学会计系统;

一个交互式的旅行规划系统,可以帮助用户以最小的环境影响规划旅程。

1.防抱死制动系统:这是一个安全关键系统,因此在实施前需要大量的前期分析。它肯定需要一个计划驱动的开发方法,要求进行仔细的需求分析。因此,瀑布模型是最适合使用的方法,或许可以在不同开发阶段之间进行正式转换。

2.虚拟现实系统:这是一个需求会变化并且具有大量用户界面组件的系统。增量开发可能是最合适的模型,或许需要一些UI原型开发。可以使用敏捷过程。

3.大学会计系统:这是一个需求相对明确的系统,并且将在与许多其他系统(如研

文档评论(0)

book_zhj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8002066073000063

1亿VIP精品文档

相关文档