软件工程复习题课后答案

上传人:第*** 文档编号:34262474 上传时间:2018-02-22 格式:DOC 页数:8 大小:741KB
返回 下载 相关 举报
软件工程复习题课后答案_第1页
第1页 / 共8页
软件工程复习题课后答案_第2页
第2页 / 共8页
软件工程复习题课后答案_第3页
第3页 / 共8页
软件工程复习题课后答案_第4页
第4页 / 共8页
软件工程复习题课后答案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《软件工程复习题课后答案》由会员分享,可在线阅读,更多相关《软件工程复习题课后答案(8页珍藏版)》请在金锄头文库上搜索。

1、1、假设你负责为一个数字电话制造商开发一个原料控制系统,开发预算是 430000 美元。 按软件工程的推算,每个周期的开发成本,维护费用该如何。答:因为开发阶段的花费约占整个生命周期的33%,所以开发该软件的总开销约为430000/33%=1300000 美元。维护阶段开销约占整个生命周期的 67%,则维护阶段的投入为 1300000*67%=871000 美元。2、 描述使用瀑布生命周期模型时的内在风险。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:1) 各个阶段的划分完全固定,阶段之间产生

2、大量的文档,极大地增加了工作量;2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。4) 各个软件生命周期衔接花费时间较长,团队人员交流成本大。5) 瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。3、简述 RUP 的核心工程工作流。(1)商业建模(Business Modeling) 商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程、角色和责任。 (2)需求(Requirements)需求工作

3、流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。(3)分析和设计(Analysis & Design) 分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。(4)实现工作流: 建立代码的分层结构,实现类和对象,进行单元测试和系统集成。(5)测试(Test) 测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现, 识别并确认缺陷在软件部署之前被提出并处理。(6)配置工作流:在目

4、的是成功的生成版本并将软件分发给最终用户,实际使用中主要包括:软件打包、生成软件本身以外的产品、安装软件、培训最终用户及销售人员。4、使用 RUP 过程开发软件系统,软件的生命周期分为哪几个阶段。(1)初始阶段初始阶段也称为初始的目标,是“获得项目的基础”。初始阶段的主要人员是项目经理和系统设计师,任务包括对系统的可行性分析,创建基本需求,界定系统范围;识别软件系统的关键任务。 初始阶段的焦点是需求和分析工作流。(2)细化阶段细化阶段的主要目标是创建可执行构件基线;细化风险评估;定义质量属性;捕获大部分的系统功能需求用例;为构造阶段创建详细计划。 细化阶段的焦点是需求、分析和设计工作流。(3)

5、构造阶段构建阶段完成了所有需求、分析、设计和实现,所有的功能被详细测试,细化阶段的工作产品将演化为最终系统,构造的主要问题是维护系统框架的完整性。 构建阶段的焦点是实现工作流。(4)交付阶段交付是将完整的系统部署到用户所处的环境,交付阶段的重点是完成系统部署确保软件可用。 交付阶段的焦点是实现和测试工作流。5、使用 RUP 过程中交付阶段的主要目标是什么。交付阶段的主要目标是确保软件完全满足用户需求。1.进行 Beta 测试以确保满足用户的期望;2.培训用户和维护人员来达到用户的自我依赖;3.准备交付环境并转换数据库系统;4.包装准备投放市场的产品;进行宣传并演示系统;交付销售力量;进行人员培

6、训;5.通过得到的经验改进未来的项目。6、用例驱动、以构架为中心、采用迭代和增量模型是统一软件过程中三个核心概念。 对CMM 等级(1)所有的软件开发都是用户需求驱动的。统一软件开发过程采用用例来描述用户需求,同时提供一套方法把用例转化为设计的类图,进一步变成最终的程序代码。在整个软件开发过程中,要求用例是可跟踪的,也就是说,无论是设计阶段还是实现阶段的产品,都可以找到相应的需求。用例还可以作为用户测试和验收最终软件产品的标准。(2)构架是一个皮包骨头的系统,它实现了用户的核心需求,包括了系统中最重要的静态和动态特征。构架刻画了系统的整体设计,它舍弃了细节部分,突出了系统的重要特征。统一软件过

7、程提供了创建构架的相应方法和过程,可以帮助分析人员和设计人员很好地完成构架的设计。(3)统一软件过程采用迭代和增量的开发方式,把一个软件产品划分成多个较小的部分,每一次完成一个部分,每次要迭代部分是产品的一个增量部分。每个增量部分的生产过程是受控的。CMM( Capability Maturity Model)是用于衡量软件过程能力的事实上的标准,同时也是目前软件过程改进最好的参考标准。CMM 共分五级。在每一级中,定义了达到该级过程管理水平所应解决的关键问题和关键过程。每一较低级别是达到较高级别的基础。其中五级是最高级,即优化级,达到该级的软件公司过程可自发地不断改进,防止同类问题二次出现;

8、四级称为已管理级,达到该级的软件公司已实现过程的定量化;三级为已定义级,即过程实现标准化;二级为可重复级,达到该级的软件公司过程已制度化,有纪律,可重复;一级为初始级,过程无序,进度、预算、功能和质量等方面不可预测。7、 要比较一个大型软件公司里两个不同的小组组织-TO1 和 TO2,得出下面的试验:两个不同的小组建造相同的软件产品,一个有 TO1 来组织,另一个有 TO2 来组织。公司估计每组需要大约 18 个月完成产品。请列出三条理由来说明这个试验是不可行的,并且不会产生任何有意义的结果。(1)如果他们每个人都有自己的电脑,他们将成为多个个体,而不是作为两个团队;(2)产品将被重建两次,时

9、间长,公司成本较大;(3).两队之间观察到的差异可能是由于个别程序员之间的差异,而不是在团队组织。为了克服这个问题,该产品的许多拷贝将必须与两个种队伍建立以便可用于比较的统计方法。(4)我们不能确定哪一个团队组织是更好的,直到该产品已经在维修模式的若干年。这将要求这两个版本保持在平行的数年,进一步增加了成本。(5)很难衡量一个团队成员离开的影响。他或她的替换将要进行培训,再运到项目速度上。8、假定将要构造的系统有 7 个输入,15 个输出,过去有一个项目有 8 个输入,17 个输出,这两个项目的欧几里的距离是多少?欧几里的距离(Euclidean Distance)公式distance=(目标

10、系统参数 1-原系统参数 1)2+(目标系统参数 2-原系统参数 2)2+)的平方根 =(7-8)2+(15-17)2 的平方根 2.249、结构化成本估算法与改进的结构化估算法 2 有什么区别,请叙述。COCOMO:Constructive Cost Model 构造性成本模型基本的公式为:Effort=csizek其中 effort 采用“ 人月(152 个工作小时)”pm 来度量,size 采用 kdsi 即千行交付源代码指令(thousands of delivered source code instructions)事实上,基本 COCOMO 模型对工作量的衡量不稳定,Boehm

11、本人也发现了此问题,因而提出名义成本估算的概念。首先从基本模型得到名义成本,然后采用开发成本乘法算子(development effort multiplier,dem)进行修正,即:Pm=Pmnomdem10、软件度量的维度、内容和侧重点。软件度量(Metrics)是指对软件产品、软件开发过程或者资源的简单属性的定量描述。度量方法:代码行、平均故障时间、职员流动性等等度量方法。软件度量的内容,三个方面:产品:软件开发过程中所生成的各种文档和程序过程:与软件开发有关的各种活动,如软件设计等资源:软件开发过程中所需支持,如人员、费用等二个层次内部属性:(1)软件产品,过程和资源本身所具有属性,如

12、软件产品的复杂度、程序长度等(2)易于度量外部属性:(1)软件产品,过程和资源与外部环境(用户、管理人员等) 间的关系如成本、效益、可靠性、可维护性等(2)难以度量,但由内部属性所决定11、三种专家判断法中的 Delphi 是怎么开展的。 德尔菲法的步骤是: (1)协调人向各专家提供项目规格和估算表格; (2)协调人召集小组会和各专家讨论与规模相关的因素; (3)各专家匿名填写迭代表格; (4)协调人整理出一个估算总结,以迭代表的形式返回给专家; (5)协调人召集小组会,讨论较大的估算差异; (6)专家复查估算总结并在迭代表上提交另一个匿名估算; (7)重复 46,直到最低估算和最高估算一致。

13、 12 一个软件开发组织目前雇佣了 85 名软件专业人员,包括 17 名管理者,所有的人进行软件的开发和测试,最新的数据表明他们 32%的时间消耗在测试活动上。公司管理者平均每年的成本是 167000 美元,而非管理性专业人员的成本每年平均为 123000 美元,这两个数据都包含加班的成本。请使用成本-效益分析法来确定是否应在组织内部建立一个单独的SQA 小组。答:如果组织重构,因此 26 个专业人员,其中管理人员 5,是能够独立地 SQA(软件质量保证),提高了生产效率和产品质量可以预期的。该公司的成本包括重组的时间(两天的劳动,大约 77$825+19$1,100 名,或约$84,500)

14、和培训时间和成本 5 SQA 经理(也许是$75 000)。根据总成本在 160000 元,要收回一年即使生产率仅增加 3%。假设产品开发是由五个专业人士,包括一名经理做的,而 SQA 是由其他两个专业人士,包括其他的经理完成。重组成本现在大约$6,350(即,不到十分之一的成本问题)只有一个经理的培训费用约为$15,000,再一次的总成本将很快被收回。13 你负责移植一个 750 000 行的 COBOL 产品到公司的新计算机中,你复制了源代码到新机器中,但编译的时,发现超过 15000 个输入-输出语句都以非标准的 COBOL 语法写成,而这些非标准的 COBOL 语法在新的编译器中已被废

15、弃,你将怎么办?答:不能正常工作,是因为输入/输出程序需要有变可变参数,而 COBOL 不支持。写预编译器,将非标准的语法改造成标准的语法,在新的编译器上使用,编辑宏,写COBOL 子程序与非标准的名字输入/输出程序,使那些子程序调用标准 COBOL 输入/ 输出程序。掌握:COCOMOII 估算法在应用构成阶段,采用对象点计算的方法,在早期设计阶段,采用功能点计算的方法。功能点可以转换为 SLOC。Pm=AsizesfMPm 为“人月”工作量, A 是一个常数(2.5),size 以 SLOC 为单位,sf 是规模指数(1.2-1.24)。Sf1.01+0.01 因素指数的和M 基于简化了的

16、有关项目和过程的 7 项形成因素:可靠性和复杂性 RCPX、复用数RUSE、平台困难程度 PDIF、个人能力 PERS、个人经验 PREX、进度 SCED、支持设施FCILM=em1*em2*.em7例子 1:对于某一个软件企业,一个新的项目的新颖性一般,因而在先前经验方面给 3 分,开发灵活性方面很低,因而给以 0 分,但是需求可能会变化得比较厉害,因而风险解决指数给 4 分,团队很融洽,给 1 分,但是过程不标准,因而过程成熟性给 4 分,请计算规模因素 sf:计算工作量乘法算子 em,类似于 dem 的计算,在不同的阶段有不同的 em,如果每一项对于项目而言无特别影响,则取 1例子 2:在某企业中,绝大多数系统技术上,产品,计算机和项目等属性都是类似的。只有人员的属性有所差异。该企业制定了下表:分析员非常优秀,编程人员也很优秀但是对该项目面向的领域不熟悉并准备用新的编程语言。他们对操作系统很熟悉。请计算 dem。如果名义工作量是 4 人

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号