收藏 分销(赏)

软件工程课后习题答案中文翻译版第八版.doc

上传人:精*** 文档编号:9694392 上传时间:2025-04-03 格式:DOC 页数:32 大小:610.54KB 下载积分:12 金币
下载 相关 举报
软件工程课后习题答案中文翻译版第八版.doc_第1页
第1页 / 共32页
软件工程课后习题答案中文翻译版第八版.doc_第2页
第2页 / 共32页


点击查看更多>>
资源描述
软件工程课后习题: 1.解释为什么专业化软件不仅仅涉及为用户所开发程序?   专业化软件在开发上与在与软件就有所不同。专业软件通常是由团队开发而非个人,除了开发者外尚有其他的用户使用。假如你的软件有别的用户,别的工程师会去修改的话,你就必须提供除了程序源码之外的其它附带信息。因此,系统通常除了包含一些单独的程序尚有用于这些程序的配置文献,也许还涉及描述系统结构的系统文档和解释如何使用该系统的用户文档,以及告知用户下载最新产品的Web站点。    2.通用软件产品开发和定制软件开发直接有什么不同?这在实际应用中对通用软件产品用户意味着什么?   (1)重要区别为:在通用软件的开发过程中,具体说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,具体说明(规格说明书)由客户来制定开发者必须按客户规定进行开发。  (2)意味着通用软件很难满足通用软件客户的特殊需求。如可靠性、安全性、快捷性。    3.软件产品应当具有与的4重要属性是那些?此外列举出4个也许故意义的属性。   重要属性:可维护性、可依赖性和安全性、有效性和可用性。 也许故意义的属性:可复用性、可分发性、可移植性和互用性。  4.除了异质性挑战、业务和社会的变革、安全和可信,说出软件工程在21世纪的也许面临的其它问题和挑战。   交付上的挑战:许多传统的软件工程技术需要花费大量的时间,用于提高软件质  量。而今天的软件制作必须响应快、更换迅速,支持软件也必须同样快地进行更换。交付上 的挑战是:在不损及系统质量的前提下,缩短大型、复杂系统的移交时间。    5.参论的应用类型,照1.1.2节讨举例介绍为什么设计和开发不同类型的应用需要专门的软件技术。   如汽车上年的嵌入式控制系统对安全性规定极高,在车上安装是要烧制到ROM中在这里的交互在这里是很少的(或许主线就没有)。基于Web式系统更适合用于迭代式开发和交互。而基于Web的系统编程使用的如Ruby一类的脚本语言,完全不适合嵌入式系统工程。 6.解释为什么软件工程的基本思想合用于所有的软件系统。   软件工程的基本思想:1.应使用有管理和理解了的开发过程进行开发。2.可依赖性和性能对所有类型的系统来说都很重要。3.理解和管理系统描述和需求是很重要,你必须知道不同的客户和用户的盼望是什么。4.赢尽也许搞笑地使用档期存在资源。  软件工程也是从无数实践中提炼出来的一门科学,沟通、需求分析、设计建模、编程、测试和支持都是软件工程方法所依赖于一组的本原则。这些思想和原则涵盖了软件工程所有技术,是软件开发不可缺少的一部分。所以软件工程的基本思想合用于所有的软件系统。    7.解释Web的普遍使用是怎么改变软件系统的。   (1)软件复用已经成为构建基于Web的系统的重要技术。当你在够着这样的系统是就需要考虑在学校恩怨从已有的软件组件和系统开始工作。  (2)基于Web的系统的开发和交付应逐步完毕,提前制定这些系统的所以需求是不切实际的。  (3)用户界面搜到浏览器能力和实用性约束,基于Web的系统上的应用界面通常比专门为Pc系列产品专门设计的用户界面要差。(通俗点讲就是:实用是实用,就是有点丑。)    8.职业人员是否应当和医生或律师同样要颁发资格证书?讨论一下。   我认为:可以给职业人员颁发某种软件技术方面的资格证书以便公司可以快速确认从业人员具有的技能和让社会大众对从业人员的技术资质有更简朴直观的了解。当然,这个证书不能成为他职业道德的证书,软件工程从业人员的职业道德和行为准则因由此方面协会和机构引导,从业人员自己严加自律。    9.对吐1-3的ACM/IEEE职业道德准则中的每一条款,举出一个恰当的例子加以说明。   (1)公众感:软件工程从业人员应当始终与公众利益保持一致。不应当通过软件给某些利益集团谋取私利从而损害广大人民群众的利益。  (2)客户和雇主:不能只站在雇主这边为雇主最求利益最大化而不顾客户利益。 (3)产品:不能做一个没有完毕或某方面如安全性、稳定性未达标的产品给客户。 (4)判断力:软件从业人员应具有达成判断力,知道自己做的产品不是刻意用来危害社会的。  (5)管理:合理管理软件开发方法,不能官僚主义全听领导一句话。 (6)职业感:大家都是从事合法行业的,要多想想怎么为社会谋取福利。  (7)同事:黑社会都说以和为贵,团队成员都是奔着一个目的去的不要由于一些小小分歧就那个啥...周恩来说规定同存异。  (8)自己:注意要有健康积极的职业和生活方式。          什么是四个重要的属性,所有的软件产品应当有?建议四其他属性,有时也许是重要的。可维护性, 可靠性,有效性,可用性.Other可复用性,可分发性,可移植性 ,互用性 给你的答案基于系统正在开发的类型的因素,建议最适当的通用的软件过程模型,可以用来管理跟踪系统发展的基础: 1)防抱死制动系统2)的虚拟现实系统3)高校会计制度4)互动的时间表 (一)防抱死制动系统:安全关键安全鉴定系统方法的基础上,正式的转换等价每段之间的等价证明。(b)的虚拟现实系统:系统的规定,事先无法预测预先地预知所以探索性编程模型是合适的。 (C)大学会计系统:系统的规定应稳定是由于现有的系统因此瀑布模型是合适的。 (d)互动的时间表交互式时间表:系统复杂的用户界面,但它必须是稳定的,可靠的。应根据丢弃原型找到规定然后增量开发或瀑布模型。 为什么一个软件系统,用一个真实的世界环境必须改变或成为progressivelyless有用吗? 这种适应自然生成新的系统需求 系统的环境是动态的,不断产生新的规定,作为对业务变化的后果,业务目的和业务政策。商务的目的以及政治相关除非系统适于反映这些规定,其设施将成为了所需要的设施支持业务和环节,因此,它将变得不那么有用。 为什么一个好的程序员不一定是一个好的软件管理者? 管理活动涉及提出书面建议,项目规划和进度,人员选择和评价,项目监督和评审,和其他队友的交流能力等。程序设计者的任务就不是这些,他们不需要和人交流的能力,假如按照做好一个程序设计者的规定去做管理者的话,他肯定不是一个号的管理者。  为什么项目策划的过程是迭代的,为什么一个计划必须不断审查软件项目中。 软件项目地规划取决于有用地信息。在项目进行期间不断产生新的信息,所以必须经常性的修改原有的计划。原本有用的信息也许会不再有用,而原本一些不拟定的信息反而会变得有用。最初对象目自身的估算是实验性的,所以计划需要不断的修改。 表白他们也许会在一所大学的学生记录系统中的利益相关者。 在一个学生记录系统的利益相关者涉及:大学管理中心,涉及报到,交纳学费,考试,作业和毕业等 记录在这个系统中的学生 大学部门管理者,需要提供和使用这些信息 使用系统信息的学院成员 数据保护工作者 潜在的学生中的雇佣者 在学生记录系统中的参与者涉及: 。学校管理中心涉及负责学生注册,缴费,考试,评估,毕业事宜的相关人员 。那些被记录具体信息的学生 。把学生信息录入到系统并使用系统信息的学校部门人员 。使用这些信息的学术人员 。数据安全人员(本地和国家的) 。潜在的雇用学生的人(或许需要用到这个系统里面的信息) 7.3三在图书馆系统中发现的观点。libysy,建议三的规定,可以通过与相关的利益相关者提出的观点。你可以解决这个问题用头脑风暴的方法。显然,有许多替代解决方案建议,这里。注意印刷冲突是故意的。 观点:图书馆管理 规定:进入汇文系统应限于认可的图书馆用户。 规定:在汇文系统必须提供一个报告的设施,允许使用报告(谁使用系统,多久,是什么库访问)来创建和打印。 规定:在汇文系统的配置应使特定的库服务器允许打印文档。 观点:用户 规定:在汇文系统应可从任何位置,涉及地点离大学校园。 规定:应能保存汇文系统查询,回忆和修改后使用。 规定:在汇文系统应允许文献被打印在用户的打印机。 观点:系统管理员 规定:重新启动时间的汇文系统失败后不得超过5分钟。 规定:在汇文系统必须提供一个用户的个人工作空间的备份设备。 规定:在汇文系统应提供一系列平台涉及Windows 2023,Windows XP和MAC OS X。 7.4汇文系统支持涉及编目工作的新文献系统目录可以分布在多台机器。也许是非功能需求与编目设施有关的最重要的类型? 重要的非功能属性的编目服务的也许: •可用性(由于系统可以在任何需要的时间) •安全(由于图书数据库不能损坏) •效率(由于系统必须迅速作出反映,每个交易) 为浏览服务,这些服务的可用性也是非常重要的应当是易于使用,没有广泛的培训。 n  讨论了一个例子,一个类型的系统的社会和政治因素也许强烈地影响系统的规定。解释为什么这些因素是重要的在你的例子。  社会和政治因素影响系统需求的一个例子是管理成本和公共卫生保健的系统。政治家们对控制成本和保证提供最佳的卫生保健系统都很关心。在这样一个系统中这本来就是一对潜在的矛盾,系统管理人员关心的治疗成本而医生们关心的治疗效果。此时系统需求也许要建立在特殊的涉及一系列组织因素的政策上而不是技术需求。 11.1为什么它也许需要在规范设计系统的体系结构是写的吗? 体系结构设计过程输出了一个体系结构的设计文档,这样的设计文档包含了一系列图形化的系统模型描述和一些相关的描述文本。该文当描述了系统如何有子系统构成以及每个子系统如何有模块构成。 11.4给你答案的因素,建议以下系统的一个合适的结构模型: n        11.4.1一个在铁路站旁,供乘客使用的自动售票系统 答:自动售票系统。最合适的架构模型是有共享数据仓库和定价信息的集中式控制模型。当使用这种模型时,所有机子能立即获取改变的信息。由于没有局部解决的必要,所以使用客户/服务架构没有什么优势。 集中式控制系统允许全局信息和途径被收集和解决。 一个允许在同一时间段,视频,音频,计算机数据对很多参与者是可见的计算机控制视频会议系统答:视频会议系统。最合适的是使用客户/服务模型。很多局部过程用来解决多媒体数据。 11.4.3一个清洁机器人,重要用来清理一些地方比如走廊。该清洁机器人必须能感应墙和其他的障碍物。答:清洁机器人。最适合的模型是贮藏式模型。这时所有的子系统把信息存放在其他子系统得贮藏室,以备后用。以AI系统为例,一种特殊的贮藏室叫做“黑板”被使用 11.8 就分布性讨论数据流模型和对象模型的优点和缺陷。假设应用程序的淡季和分布式版本都是必需的。 两种模型都能作为分布式,数据流程图中的每个转换都可以看作是个分离的过程,而每个对象也可以作为过程实现。函数的分解需要共享状态,并表达为一个或多个过程。在对象模型中分布对象是个问题,对象假如继承的话就如同它的创建同样会导致很多网络阻塞。 n        用例子,解释对象和对象类之间的不同。 对象类就是定义实体(或者说对象)的类型说明,包含可以被辨认的相似的公共特性。对象是真实世界或是在系统中的通过对象类对其属性进行赋值的特殊实例。给对象的赋值操作可用于辨认与其他所有对象的区别,尽管不需如此。在现实世界中,我们只能看到对象和作为抽象实体的构造对象类。在程序中,我们通常可以定义对象类和构造对象,它们的声明周期不超过程序的执行时间。 n       一个对象类的一个实例,是一本具有的属性(特性)如标题,作者,出版社,出版日期,等。 一个叫做“BOOK”的对象类的例子,属性有诸如…… n       一个关于这个对象类的对象的例子“specific book” n   作者:伊恩萨默维尔标题:软件工程n版:7n出版商艾迪生卫斯理 n       假如我们想定义一个书的对象是不同于其他所有的对象,我们需要增长的另一个特点的对象类,如业主。 16.2        说明在什么情况下提供前后一致的用户界面是不明智的或是不也许的。 一致性的用户界面也许不也许提供应拥有大量选项的复杂系统。在这样的系统中,经常使用的不同命令的使用限度有很大差异,因此我们希望用快捷方式。除非所有的命令都有快捷方式,否则一致性的界面是不也许的。 此外在复杂的操作界面中有不同类型的操作实体,这些不同类型的操作实体拥有相同的操作是不也许的。 开放型操作系统就是这样一个系统的例子。甚至是竭力做到尽也许一致性界面的苹果操作系统(MacOS)都会根据不同的用户喜好而由此产生矛盾。 再举个例子,用户要删除一个文献,只要把它拉到垃圾回收站,而删掉一个磁盘映像可不能这样,那要卸载那个磁盘。   在为“临街的”系统(如ATM机)涉及基于菜单的界面时,必须考虑哪些因素?请对你所使用的ATM机的界面提出批评意见。 要考虑的因素在设计步行和使用的系统: •系统的用户也许是虚弱的,或禁用,因此将无法快速响应的规定。 •用户也许无法讲母语的国家机器安装。 •系统的用户可以与技术完全陌生的,可以用机器做几乎任何类型的错误。接口必须尽量减少也许出现的错误的数量必须是有弹性的任何也许的错误。 •一些系统的用户也许是由许多选项吓倒。另一方面,当用户与系统增益的熟悉,他们也许会使用一系列的银行服务。 •不同的人也许会明白不同图标的含义。 •假如系统导航选项,用户几乎肯定是迷路了。 •大多数用户将要使用的系统很简朴的功能(例如提取钞票取款机)和将要这样做,尽快。 有许多不同的ATM接口,每个人都必须单独考虑。我所发现的问题是:当有也许取消交易吗?当我这样做时会发生什么?假如我重新启动事务必须重新输入什么? 通常是不存在任何的方式说给我的最大数额的钱我可以撤回今天。有些机器只支持单一的交易是没有办法说我会做一些交易和相同的验证过程是合用于所有的人 16.5试述图形显示的优点,指出适合用图形显示数值而不适合用数字显示的四种应用。优点是急忙一眼就能获得数值暗示和相对数值暗示。 这里有四个适于图形显示信息,而不合用于数字显示信息的例子. 温度计 速度指示器 气候登记表 一些相关的比较表格.   你在什么情况下会建议不采用灵敏方法进行软件系统开发? 当几个软件开发团队不在同一个地方时不可用灵敏方法。假如其中一个团队用了灵敏方法,就很难跟其它团队协调工作.灵敏方法也要避免用在关键系统,在规格错误的情况下假如用这个方法,会导致严重的后果.在开发系统之前规格就可以用的情况下,可以做具体的规格分析使用灵敏方法成为也许.然而,一些灵敏方法中的思想像 测试优先开发(Test First Development–TFD 又称先行测试开发)当然是可以合用于关键系统的. 解释为什么测试优先开发能帮助程序员获得对系统需求的更好的理解。测试优先的开发有什么潜在的困难。 n  测试优先开发帮助我们更好地理解需求,由于你要写一个测试程序,就需要分析需求,探究具体意图。 n    有时候,在需求不全的情况下,你会发现写一个测试是不也许的。测试优先开发的问题就在于是一些测试很难写,由于在任何一个测试之前都要一个就绪的系统底层结构. 给出四个理由说明为什么结对编程和单个程序员编程的软件生产率基本上是同样的。 结对编程和同等数量的编程人员单独编程同样有效的因素: 1.结对编程会引发连续非正式地复查,这样会比单独编程更快地发现错误。 2.结对编程过程中,信息是共享的。单独编程中,人们不得不花时间来共享信息。 3.结对编程鼓励重构(代码需要让其别人看懂),这样减少了后期开发和变动的成本。 4.结对编程也许花更少的时间在细节优化上,由于这对其他程序员来说没有好处。(译者注:没看懂) n  假设一个软件管理者参与了一个开发某个软件设计支持系统的项目,此系统是要支持将软件需求翻译成形式化软件描述。请评论下列开发策略的优点和缺陷。   开发抛弃式原型,评估,然后审查系统需求。用C语言开发此系统。 丢弃原型化方法:快速的开发和快速的用户反馈. 可以带来合理的需求. 需要多种开发语言. 花费更高. 合用java从现存的需求开始开发系统,然后修改它使之适应任何变更的用户需求。 开发使用C和X-Windows培训较少的问题。 已知的管理策略。需求也许的错误需要交付后的改性。训练几乎没问题,已知的管理策略.需求也许的错误的,所以要交付修改. 合用增量式方法并让用户参与到开发团队来开发此系统。 进化的方法.快速的用户反馈.快速的系统交付.容易适应改变的需求. 很难管理,缺少可移植性的标准.无特定系统结构,将导致以后的维护困难. 18.2解释下为什么通过复用已有的软件所节省的成本并不简朴地与所合用的组件规模成比例。 假如复用节约的成本和复用的代码成比例,那么复用2023行代码就相称于复用两次1000行代码了。然而,复用2023行代码,那些代码必须要被理解,程序理解的费用不是线性的——越多的代码,就需要越多的努力去理解的。 并且,当需要更多的改动时,就需要更大量的代码复用,这也增长了成本。 18.3给出你认为不应当合用软件复用的4种情况。 n  一假如代码提供商的运作状况不拟定,或者提供商歇业,不支持代码的复用。 n  二关键部分的代码不可用。要测试这些代码以达成所需标准,也许非常困难。 n  三再运用所花的成本和再运用所节省下来的差不多的小型系统 四在一些关键需求在于性能的系统里,专门开发的代码通常更有效率。 18.4为什么模式是一种有效的设计复用形式?这种复用方式的缺陷是什么? n        模式是一种有效的再运用设计,是由于它是很多人在应用中积累出来的智慧.这种方法有两种缺陷: n        知道哪一个模式被存档,找到这些模式所花的时间是必要的. 2.很多模式是一般化的,很多性能也许被限制.假如性能是重要规定的话,那么为某一个问题问题特别研究的方法总是更有效率的. xxx拟定了六个也许的风险时也许出现的系统被构造使用COTS。公司可以采用什么环节来减少这些风险呢? 风险时也许出现的系统被构造使用COTS涉及: n   卖主风险:卖方无法提供必要的支持,卖方歇业或结束产品开发. n   产品风险:和其它系统不兼容,和其它系统组装时性能下降,在特定环境下,产品不可靠. n    过程风险:理解如何组装产品的时间超过预期. n   可以通过使用第三方系统来解决.这样的话,可以通过进一步的研究,投入使用前的产品兼容性的测试,和其它用户讨论等方法来保证源代码的可用,假如卖方歇业的话. n     通常,COST是由卖方提供的,要减少风险是困难的. n    19.1为什么它是重要的,所有组件的交互是通过定义的“需要”和“提供”接口? 它是通过定义所有的互相作用重要的需要提供接口,组件的使用是完全独立的,它的实现。假如组件交互使用的一些知识的组成部分,是没有定义的规定/提供接口,然后组件之间的耦合增长,很难互换一个具有相同接口的等效组分的一个组成部分。 n    19.3之间的主线区别是什么组件和Web服务(see Chapter 12).     Web服务只有单一的一个标准,组件则有多个标准,因此服务的内部操作性会更好。 服务的付费是按使用权计算的(你要用时再付费,不用时,可以停止付费),这样用户就不用为一个偶尔使用的组件,支付昂贵的费用。 组件的交互可以作用比Web服务更有效的协议,因此组件更合用于高吞吐量/高性能规定的应用。 一旦一个组件被购买,它就属于用户所有。而与此相反,Web服务总是被提供商拥有,这就意味着用户对于服务的更改永远没有控制权,假如服务变更(或消失),那么也许对用户很不利。而组件不同,用户可以决定什么时候使用新版本。 n        19.6解释为什么它是很难不组件源代码验证的可重用的组件。以什么样的方式将一个正式的组件规范简化验证的问题? 由于在没有源代码的情况下,我们无法知道该组件是如何解决异常的。唯一的办法就是黑盒测试。由于组件的具体规格说明书很少是完整的,黑盒测试也有很大的困难。标准的具体规格说明书定义了组件的功能,尽管能提供一定的帮助,但是标准的说明书也很少说明所有的异常,它并不能帮助我们测试组件的性能,可靠性或其它的非功能性特性。 n   19.8使用的例子,说明需要支持顺序组成的适配器类型不同,分层的组合物和添加剂的组合物。 n        顺序组合的例子:部件C是由部件A和部件B依次组合而成的。 n        附加组合的例子:部件C是由部件A的界面和部件B的界面组成的。 层次组合的例子:部件C是由部件B组成的,而部件B是由部件C组成的。 n   23.1解释为什么测试只能检测到错误的存在,而不是他们的缺席。 n      假定穷举测试的程序,在每一个也许的有效输入检查,是不也许的(合用于所有但平凡的程序)。测试用例不显示故障在程序或显示一个程序故障。假如他们发现一个程序故障则证明错误的存在。假如他们不显示故障,然而,这只是意味着他们已执行的代码序列,–为输入–是不是错误的选择。在相同的编码序列–不同输入–下测试可以揭示故障。 23.3回归测试是什么?解释锄自动化测试的使用和测试框架,如单元简化回归测试。 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。假如设立了自动回归测试,在每次修改代码之后都会自动进行测试,简化了回归测试的工作。一个自动化的测试涉及成功的自身测试和其他测试。这样成功的测试成本和回归测试成本较低。   23.6在一个分布式数据库系统,如LIBSYS开发性能测试的问题是什么?     在软件测试一个系统中碰到的重要问题是:       在实际中你不能反复测试一个系统,所以你必须用一个模拟器来模拟系统的使用。然而,你没有系统实际工作的经验,用一个模拟器很难测试系统工作时的准确性。 2.LIBSYS系统不一定在专用的电脑上工作――该系统也可以同时在其他应用系统上工作。其他应用系统也会影响整个分布式系统的工作。在测试的时候,这些情况不会反复发生。 3.事实上数据的分布是未知的。数据分布受到特定的服务器的影响,所以对于数据的最初的假设也许是错误的。 23.7解释为什么接口测试是必要的甚至在个别组件已被广泛验证通过组件测试和程序检查。 n      在单元测试后接口测试的重要性:       ①单元的接口也许没有明确的说明。确认这个单元的接口是以他的具体规格说明书为基础而不是以单元或者子系统在实践中的使用为基础的。    ②假设了某些单元的操作,接口测试可以检测由这些单元组成的接口是否对的,有效。      ③接口测试可以揭示在接口设计时的漏掉和错误。当接口和其他的单元组合在一起的时候这些错误会被发现,那么这些漏掉和错误可以被加到这个接口中。 n   26.1在什么情况下会公司收费软件系统比建议的费用估计加正常利润更高的价格?    ①客户要开发者自己承担大部分的项目风险。      ②客户有一些苛刻的规定,比如开发的时间比较短,要快速开发。       ③开发软件这个工作不是公司重要的业务,所认为了开发项目必须从其他的业务上调派人手过来,那么就需要补偿给这些人更多的钱。       ④客户很自私,只考虑到自己不能承担太多的钱。 26.2描述两个已被用来衡量程序员生产率度量。简要评述了各自的优点和缺陷,这些度量。       已用于生产的测量指标: •源代码行的每单位时间产生的 •目的代码指令的每单位时间 •页的每单位时间的文献其他的也许性是: 数据字典条目每单位时间•数(也许是有用的假如使用CASE工具) 数学定义的每单位时间产生的•数(规范) 书面的每单位时间的规定•数 设计图的每单位时间产生的•数 所有这些,当然,遭受同样的问题,其他指标,那就是,他们不考虑质量因素。 n26.8解释如何成本估计算法可以由项目经理进行期权分析。建议的情况下,管理者可以选择一种方法,不是基于最低工程造价。     使用算法模型进行项目估算,估算者应当做一系列估算(最坏估算,盼望估算和最佳估算)而不是单一估算,并用成本计算公式都计算一遍。管理者要估算软件的开发周期以及其他过程和产品因素的估算,比如团队队员的工作经验,硬件设备的更新,购买开发工具等。建立一张工作表,这张表涉及了这些变化所产生的影响,并对这些影响进行估算。 由于一些组织机构方面的因素,管理者也许会选择一些相对比较贵的技术或者方法。比如软件工程师的经验相对比较丰富,但是工资也会比较高,但是开发人员还是会选择软件工程师来作为自己团队的成员而不使用新人。 28.6试列举三个为支持机构过程改善项目而开发的专门软件工具) n Elapsed time. 通过时间。做某事需要多长时间。许多也许的例子如时间进行设计评审。 n  Resource utilisation. 资源运用率。大量的资源使用。如工作需要测试模块。 n   Events which occur. 事件的发生。例如,一个系统已交付后发现的缺陷数。 29.1解释为什么在明确配置管理系统的文档时不用文档的名字,提出一个标准文档辨认目录可用于组织中的所有工程。) n     标题不是唯一的,所以不能用来标记文档。不同的子项目中的文档也许具有相同的标题。 n     文档标记的标准:<项目名称><子项目名称><任务名称><文档类型><文档号码><版本号><数据> n    一个里程碑和可交付的关键的区别是什么? 里程碑是一个活动过程的终点。在每一个里程碑,应当有一个正式的输出,如报表,可以提出管理。里程碑报告不需要大的文献。他们也许只是一个已完毕的内容简短的报告。里程碑应当代表一个独特的结束,在项目的逻辑阶段。 可交付成果是项目成果交付给客户。它通常是在一些重大项目相如规格或设计底交货。可交付成果是通常的里程碑,但不需要交付的里程碑。 n     为什么风险管理是软件工程的重要? 软件项目风险管理是特别重要的,由于大多数项目所面临的不拟定性因素。这些来自松散定义的规定,估计软件开发所需的时间和资源的困难,在个人的水平和规定的变化,由于变化在客户的依赖需求。 n      什么是一个可行性研究解决? 可行性研究决定提出的系统是否是值得的。假如系统有助于组织的目的; 假如系统可以设计使用目前的技术和预算范围内;假如系统可以与其他系统,使用集成。 (也许是计算机系统,也可以是手工的系统?) n       描述了用户界面设计的原则.P364 熟悉一致性 (最小诧异) (可复原性) (指导性) (多样性)  在这一过程中的3个核心活动: 用户分析。了解用户与系统;系统原型。开发了一系列的原型实验;界面评价。这些原型与用户体验。 n      How to analysis the user activities in the UI design process?P378 n       在软件开发中的增量方法的优点是什么?P393 1. 客户服务的快速交付。每个增量提供最高优先级功能给客户。 与系统用户的参与。用户必须参与发展,这意味着系统更容易满足他们的规定,用户更致力于系统。 n       讨论了增量式开发和原型之间的区别?P395 增量关系的发展提供一个工作系统的最终目的。开始开发这些规定是最佳的理解。 目的丢弃原型是验证或派生的系统规定。成型过程开始与这些规定了解甚少。  结对编程的优势是什么?P404 对程序的使用有许多优点: 它有助于发展共同拥有的代码和传播知识在团队。 它作为一种非正式的审查过程的每一行代码都是看了超过1人。 它鼓励重构整个团队可以受益于此。 n  原型如何可以用在软件开发过程中?什么是使用原型的好处?p409-411 一个原型可用于:   需求工程过程帮助的需求获取和验证; 在设计过程中探索和开发用户界面设计; 在测试过程中运营的背靠背实验 效益的原型 提高系统的可用性。 更符合用户的实际需求。 提高设计质量。 改善的可维护性。 减少开发工作量。 讨论四个问题integration.p430 COTS系统 在功能和性能控制的缺少 COTS系统也许比他们出现有效的少 n        与COTS系统的互操作性问题。 n       不同的COTS系统也许会做出不同的假设,这意味着整合是困难的  无法控制的系统进化 COTS供应商没有系统的用户控制的演化 COTS供应商的支持 COTS供应商也许不在产品的生命周期提供支持 n什么是一个可重用的组件特性?P443   软件测试的目的是什么?描述了验证测试和缺陷检测的差异??538    验证测试:向开发商和软件满足系统用户;一个成功的实验表白,系统工作的打算。  缺陷检测:发现在软件,其行为是不对的的或不符合其规格与一致故障或缺陷;一个成功的测试是一个使系统执行错误,因此暴露在系统缺陷测试。 n 为什么接口测试是特别重要的面向对象和基于组件的开发?P549 对象和组件的接口定义,可以与其他组件在不同的系统中............组合重用   我们必须考虑在计算程序中的对象点的数量?P618 n       在一个程序中的对象点的数目是一个加权估计: 单独的屏幕显示的号码; 由系统产生的报告的数目程序模块,必须开发以补充数据库代码的数量; n     描述在过程改善的三个阶段?P666 n       过程测量:当前的流程属性的测量。这些是评价改善的基线。 n       过程分析:当前进程的评估和瓶颈和缺陷辨认。 n       过程中的变化:介绍了在分析过程中发现的过程中的变化。      什么会影响产品质量?P668 n       影响产品质量的四个重要因素:  你可以在过限度量收集?p672 为要完毕的过程活动的时间 为过程或活动所需的资源 对某一事件发生的数  考虑开车去机场赶飞机和航空公司,你没有用过。什么样的风险也许是这次到机场的独特的,和那些也许是去机场的正常访问的一部分管理? 答:正常的风险:跑出来的气体,轮胎,天气延误,交通事故,遗忘的手提箱 独特的风险:在公路,机场建设,也许不同的终端,在具体的检查,该航空公司延误  为什么是途径测试通常是不切实际的?  答:大多数程序具有无限数量的也许的途径通过的程序。 1.请简要说明软件过程的概念和基本元素。 答案要点:软件过程是软件工程人员为了获得软件产品在软件工具支持下实行的一系列软件工程活动,它应当明拟定义以下元素:过程中所执行的活动及其顺序关系每一个活动的内容和环节团队人员的工作和职责 2.请描述快速原型过程模型的各个阶段。 答案要点:快速原型方法的目的是解决软件需求不明确给开发带来风险的问题,其关键在于尽也许“快速”地建造原型,通过用户对原型的评价最终拟定系统的需求。快速原型过程模型涉及以下阶段: 原型需求分析:分析和提炼所收集到的客户需求; 原型开发:基于初步的需求快速建造一个可以运营的软件原型,实现客户或未来的用户与系统的交互; 原型评价:由用户或客户对该原型进行评价,需要的话再进一步细化待开发软件的需求,并继续调整原型直至需求拟定下来为止。 3.对于下列每一个过程模型,分别列举一个可以合用的具体软件项目,并说明在开发中如何应用该模型。 (1瀑布模型(2快速原型模型(3增量模型(4形式化方法模型(5基于组件的开发模型 答案要点:(1) 瀑布模型项目举例:某项目需要在一种新型机器上,为一种已知语言开发一个普通的编译器。选用分析:由于该项目的语言是已知的,需求是明确的和稳定的,整个系统属于中小规模,因此适合采用瀑布模型进行软件开发。阶段说明:略。 (2) 快速原型模型项目举例:某公司需要给火车站开发一个交互式火车车次查询系统,这是火车站初次使用该系统。选用分析:本项目的重要问题在于用户需要方面,该系统与最终用户的交互是十分关键的,但是在项目初期用户的需求基本上是不知道的,因此适 合采用快速原型方法来拟定用户需求,在需求拟定的基础上再开发最终系统。阶段说明:略。 (3) 增量模型项目举例:某公司开发一个通用 CAD 软件产品,产品需求是逐步完善的,某些需求在一定范围内是明确的,某些需求需要进一步细化,但是迫于市场竞争的压力产品需要尽快上市。选用分析:通用 CAD 软件产品具有一定的成熟度,总体需求和软 件系统结构是可以拟定的,但是实现该产品所有功能需要比较长的开发周期。为了尽快上市可以采用增量模型实行多版本的发布策略,既可以不久占领市场又可认为后续版本的需求定义奠定基础。阶段说明:略。 (4) 形式化方法模型项目举例:某公司开发一个汽车防抱死刹车控制系统。选用分析:由于该系统对安全性和可靠性规定极高,需要在系统运营之前进行相关性能的检查,因此适合采用形式化方法开发该系统。阶段说明:略。 (5) 基于组件的开发模型项目举例:某公司开发公司管理 ERP 系统,涉及销售、库存、生产、财务、物流、人力资源等部分,在系统实行过程中不同的公司具有一定的需求差异。选用分析:公司 ERP 系统具有组件化的结构,在不同公司实行时应当尽量重用已有的组件,因此适合采用基于组件的开发模型开发该系统,在直接应用或者修改使用的基础上,最终进行组件开发和系统集成。阶段说明:略。 4.在螺旋模型中,风险分析的作用是什么? 答案要点:在螺旋模型中,软件开发是在风险等级的指导下进行的。一方面拟定该阶段的目的,完毕这些目的的选择方案及其约束条件;另一方面从风险角度分析方案的开发策略,努力排除各种潜在的风险,在需求不适当的情况下也许需要建造原型系统;假如某些风险不能排除,该方案也许立即终止,否则继续启动下一步的软件开发和验证工作,并再次通过风险分析规定过程遵循的策略;最后,评价该阶段的结果,并规划下一个迭代。从上述过程中可以看出,风险分析的作用是通过辨认项目中的高风险问题,使开发人员制定适当的开发策略消除这些风险。 5.某大学准备开发一个新的学生注册选课系统,以替换一个现有的系统。请设计一个合用于该系统开发的过程模型,并进一步描述该模型。 答案要点:假设原有的学生注册课程系统是由学生手工提交书面选课单,教师手工提交成绩单,教务管理人员在客户端录入学生选课结果和课程成绩;而在新的选课系统中,所有用户在自己的计算机上通过 Internet 访问和操作该系统,该软件系统需要更新服务器和数据库等系统,并扩充一些新功能和提高系统性能。从该系统的具体情况来看,系统的需求是比较容易明确的,整个系统的结构需要重新设计,但是原有的遗留系统中有些部分是可以重用的,因此我们可以采用组件模型实行软件开发:系统需求分析:由于该系统是现有系统的扩展,因此一方面可以通过一个简朴的需求分析阶 1.3什么是所有专业的软件应当有四个重要的属性?建议四其他属性,有时也许是重要的。回答: 四个重要的属性是可维护性,可靠性,性能和可用性。其他也许是重要的属性,可重用性(它可以反复使用在其他应用程序中),分布性(可以分布在网络解决器),可移植性(可以在多个平台上如有笔记本电脑和移动平台操作)和互操作性(它具有宽范围的其它软件系统的工作)。这4个关键属性例如可靠性分解,安全,安全,有效的分解,等也对这一问题的一个有效的回答。 2.1给你的答案基于系统正在开发的类型的因素,建议最适当的通用的软件过程模型,可以用来管理以下系统发展的基础: •系统控制反在汽车制动锁 •虚拟现实系统的支持软件维护 •大学会计系统取代现有的系统 •互动旅游规划系统,帮助用户计划行程,以最低的环境影响 答:1。防抱死制动系统,这是一个安全关键系统,需要大量的前期分析实行之前。这当然需要一个计划驱动的方法来开发的规定,认真分析。因此,瀑布模型是使用最合适的方法,也许有着不同的发展阶段之间的正式的转换。 2。虚拟现实系统,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服