一、填空题(15分,每空0.5分)
二、判断题(20分,每空2分)
三、名词解释题(15分,每题5分)
四、简答题(20分,每题5分)
五、计算题(30分,每题10分)
一、填空题
1、软件是计算机系统中与硬件相互依存的另一个部分,它包括程序、数据及其相关文档的完整组合。
2、按照软件的不同功能进行分类,可分为系统软件、支撑软件、应用软件。
3、软件作为一个产品或服务,与硬件产品相比,软件是信息产品,具有无形性、抽象性、可复制性和共享性。
4、软件工程的定义:将系统化的、规范化的、可量化的方法应用于软件的开发、运行和维护。
5、常用的软件模型有瀑布模型、V模型、增量模型、原型模型、螺旋模型等。
6、软件规模的度量最主要的技术有代码行度量和功能点度量,其中运用公式计算程序规模的估算值L=a+4m+b/6。
7、用于功能点度量的五个基本信息域是用户输入数、用户输出数、用户查询数、文件数以及外部接口数。
8、软件的可靠性通常用公式MTBF=MTTF+MTTR进行计算。
9、软件工程经济学是属于软件工程学和工程经济学之间的交叉学科。我们将其定义为以研究工程领域中的经济问题和经济规律为主的一门经济学分支学科。
10、软件工程经济分析的基本要素有投资、筹资与融资、成本与费用、销售收入与利润、主要税金等。
11、软件工程项目的资金来源,按照所取得资金的权益特性不同,可分为权益资金和负债资金。
12、融资的方式主要包括项目融资、招商融资、股权融资、债券融资等。
13、项目的投资通常有投资前期、投资期以及生产期三个阶段。其中,投资前期是决定项目效果的关键阶段,也是可行性研究的重点。
14、总成本费用主要由生产成本、经营成本和期间费用等构成。
15、资金的时间价值是指资金经过一定时间的投资和再投资所产生的价值增加量。
16、对软件工程项目的成本与工期预算的方法较多,通常有功能分解法、驱动因子法、类比法。
17、价值工程设计的三个基本概念:价值、功能和全寿命周期成本。
18、根据价值的基本原理,价值的提高取决于功能和成本两个因素。
19、生产函数是指一定时期内生产要素的数量与某种组合同其所能产出的最大产量之间存在的函数关系。
20、软件开发过程的4个主要阶段分别为:设计与需求、概要设计、详细设计与编码以及集成与测试。
21、风险管理的步骤分为风险识别→风险分析→风险规划→风险控制。
22、风险识别的输入一般包括软件工程项目的历史项目数据、WBS、项目计划、项目资源与要求等信息。
23、软件工程的项目风险识别方法主要有头脑风暴法、德尔菲法、访谈法等。
24、风险评估分析是指对识别出的风险做进一步分析,对风险发生的概率、风险影响范围、风险后果的严重程度以及对风险发生的时间进行评估和评价。
25、软件测试模型是软件测试与测试对象的基本特征、基本关系的抽象。
26、对应软件开发主要的模型,可引申出对应的测试模型为V模型、W模型、H模型、X模型、前置测试模型等。
27、按照开发阶段划分,软件测试可分为单元测试、集成测试、系统测试和验收测试。
28、常见的软件测试技术主要有黑盒测试法与白盒测试法。
29、白盒测试常用的工具:内存泄露检查工具、性能测试工具以及代码覆盖率检查工具。
30、软件项目后评价的6个步骤:组建评价机构→制定评价计划→收集和整理相关资料和数据→整理分析资料和数据,应用评价方法分析论证→编制评价报告→上报评价报告。
二、判断题
1、项目可行性研究是银行贷款、工程设计等的有力依据,是决策科学化的必要步骤。()(P29)
2、文案调查法又称一手调查法、文献调查法、间接调查法、室内研究法等。()(P33)
3、利息和利率分别是衡量资金时间价值的相对衡量尺度和绝对衡量尺度。()(P41)
4、单利是以本金作为基数来计算利息的,而复利是以本金和累计利息和作为基数的计息方法。()(P46)
5、招标人与中标人应当自中标通知书发出之日起60日内,按照招标文件和中标的投标文件签订书面合同。()(P56)
6、招标文件要求中标人提交履约保证金的,中标人必须按招标文件的要求提交,履约保证金不得超过中标合同金额的10%。()(P59)
7、第II类有形磨损通常和使用程度成正比关系。()(P69)
8、设备的无形磨损的度量一般用设备再生产费用的变量除以原设备的原值。()(P70)
9、生产函数通常满足资本与劳动力的边际产出总为非负值,在劳动力(或者资本)投入量不变的情况下,资本(或者劳动力)的增加将引起产出的增加。()(P106)
10、生产函数通常满足资本与劳动力的边际产出总为正值,在劳动力(或者资本)投入量不变的情况下,资本(或者劳动力)的增加将引起产出的减少。()(P106)
11、期望值又称数学期望,是随机事件的各种变量和相应概率的平均值。()(P116)
12、期望值又称数学期望,是随机事件的各种变量和相应概率的加权平均值。()(P116)
13、设备的无形磨损是指随着科技的进步等原因导致设备价值不断降低的现象。()(P70)
14、在软件成本测算中,国外主要采用统计模型通过参数估计来求解预测成本,前提是建立在少量的历史数据的基础上。()(P64)
15、结构化成本模型提出对软件工作量的因素等级进行细分,共涉及14个因素,以便于按照驱动因子的原理来求解U值。()(P67)
16、结构化成本模型提出对软件工作量的因素等级进行细分,共涉及16个因素,以便于按照驱动因子的原理来求解U值。()(P67)
17、在软件工程项目实施的过程中,自购入设备以后都会产生磨损,不论是无形磨损还是有形磨损,均导致设备原始价值降低。()(P71)
18、双倍余额递减法是指在考虑设备预计残值的情况下,用每年年初设备净值以及双倍的平均年限法计算设备折旧的一种方法。()(P72)
19、系统运行前后对比法通常应用于项目实际效益估算以及项目前评价。()(P110)
20、经验参数估计法主要适用于系统规划阶段所作的效益预测。()(P111)
21、定量风险分析中的决策树分析法是一种图形分析法,可以帮助决策人员在未来结果不确定的情况下做好行动路径的选择。()(P155)
22、当软件工程项目的风险被识别并量化之后,为了增加正面风险、减少负面风险,需要制定风险响应计划。()(P157)
23、Alpha测试,是开发方对软件进行局部的自我检查和验证,证明软件系统是否满足需求说明的要求。()(P168)
24、Beta测试主要是将软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件系统。()(P168)
三、名词解释题
1、BS法(头脑风暴法):(P150)
2、CF(现金流量):(P96)
3、WBS(工作分解结构):(P119)
4、EVM(挣值管理):(P78)
5、SWOT技术:(P152)
6、软件工程项目后评价:(P190)
四、简答题
1、简述可行性研究报告的作用。(P31)
2、简述在软件工程项目中,资金的等值计算所涉及的概念及其具体定义。(P49)
3、简述软件工程项目投标文件的具体内容。(P60)
4、简述软件工程项目效益的特点与分类。(P108)
5、简述项目不确定性因素产生的原因并简要分析。(P114)
6、简述项目不确定性分析的步骤并简要分析。(P115)
7、简述项目经理的基本职责。(P144)
8、简述项目经理应具备的素质。(P145)
9、简述商业影响风险检查表的内容。(P151)
10、简述软件产品规模风险检查表的内容。(P151)
11、简述动态测试与静态测试的区别。(P170)
12、简述黑盒测试法与白盒测试法的区别。(P169)
五、计算题
1、某IT企业2019年年初的房产原值为4000万元,6月1日将其中原值为1500万元的闹市房出租给某企业商用,月租金为6万元。当地政府规定计税方式为按房产原值减去25%的余值。请确定该企业当年缴纳的房产税额。(P42)
2、某IT企业现投入某项目2000万元,按年利率10%的复利计算,若每年年末均可获得等额收益,计划10年内收回全部本利,则每年应收回的资金是多少?(P61)
3、某软件公司曾开发过一种规模为20k代码量的软件Sx,现预将其改编为嵌入型软件Sy,经估算其设计、代码与集成修改的系数分别为30%、40%和110%,工作量综合影响因素U=1.2,工时费用率a=8000元/人.月。试用类比法估算目标软件Sy的成本。(P69)
4、ABC公司购买了一套存储设备,购买价格为300000元,预计其使用寿命为5年,预计其残值为5%。请用双倍余额递减法计算每年的折旧率。(P72)
5、某汽车制造企业欲投资建设 ERP 系统,需进行经济效果评价。已知该企业目前的整车单位成本 C1 为 2 万元/每辆,货币劳动率α1为 2 万元/年,平均流动资金占用额 F1 为 500 万元/年,库存周转天数 I1 为 30 天/辆,O1 能耗支出为 5 万元/年。若该企业运行拟建设的 ERP系统后各效益指标的相对变化率分别取表 5-2 的下限,ERP系统的寿命 T0 为 5 年,运行后企业整车产量为Q2为1000 辆/年,职工人数 L2 为3000人,整车库存费用β为 0.01万元/天,试在银行贷款利率为 8%,各效益指标权系数W1、W2为 0.2,W3、W6 为 0.15,W4 为 0,W5为 0.3 的情况下估计 ERP系统的经济效果。(P118)
6、某软件企业在项目规划阶段,拟对 A、B、C 三个独立方案作组合方案排序,此三个项目方案寿命期均为 8 年,现金流量表如表 4-18 所示,企业的投资金额上限为 110 万元。试在基准率IC = 8%的水平下选择最优投资组合方案。(P105)
大总结
《软件工程经济学》课后习题答案
第 1 章练习题
- 按功能分类软件可分为什么类型?
答:(1)系统软件。系统软件指能与计算机硬件紧密配合在一起,使计算机
系统各个部件、相关的程序和数据协调、高效工作的软件,如操作系统、数据库
管理软件、设备驱动程序、通信处理程序等。
(2)支撑软件。支撑软件是指协助用户开发软件的工具性软件和中间件,
既包括程序人员开发软件产品的工具,也包括帮助管理人员控制开发进程的工具,
如文字处理软件、数据模型构造器、商业图形软件、C/S 开发工具等。
(3)应用软件。应用软件指在特定领域内开发,为特定目的服务的一类
软件。相较于系统软件和支持软件,应用软件的涉及面最宽,如呼叫中心控制软
件、铁路调度软件、通信控制软件、办公软件、图像处理软件等。 - 软件的特点有哪些?
答:软件作为一个产品或服务,与硬件产品相比,具有如下特点:
(1)软件是信息产品,具有无形性、抽象性、可复制性和共享性。
(2)软件的生产过程几乎都是从零开始。
(3)软件的价值以及成本构成与传统工业制品不同,如没有库存成本。
(4)软件的开发和运行常常受不同的计算机软件和硬件平台的限制,对计
算机软件和硬件系统有不同程度的依赖性。
(5)软件开发过程很复杂。
(6)软件开发是一项创造性活动。
(7)软件开发需要大量的资金投入。
(8)软件产对用户有黏性。
(9)软件产品的更新速度快。 - 软件产业的特点有哪些?
答:软件产业具有如下五个特点:
(1) 高技术、高附加值及高效益。
(2) 国际化。
(3) 服务化。
(4) 专业化分工越来越细。
(5) 高关联度 - 项目管理的包括哪十个领域?
答:项目管理包括项目整合管理、项目范围管理、项目进度管理、项目成
本管理、项目质量管理、项目资源管理、项目沟通管理、项目风险管理、项目采
购管理以及项目相关方(干系人)管理十个领域。 - 软件根据需求分析,得到环境复杂性因子为 18, 五个信息量的数值 dj
及其对应权系数 aj的取值见表 1,求软件系统的需求功能点为多少?
表 1 dj和 aj取值表
1 2 3 4 5
dj 18 30 20 9 5
aj 3 3 4 15 10
解:(1)依题意及表 1 求 CT
𝐶𝑇 = ∑𝑎𝑗𝑑𝑗
5
𝑗=1
= 18 × 3 + 30 × 3 + 20 × 4 + 9 × 15 + 5 × 10 = 409
(2)
TCF = 0.65 + 0.01∑Fi
14
i=1
= 0.65 + 0.01 × 18 = 0.83
(3)功能点 FP = CT ∙ TCF = 409 × 0.83 = 339.47 - 软件工程经济学主要包括哪些内容?
答:软件工程经济学主要包括以下四部分的内容:
(1)学科研究的对象、任务、特征、研究范围与研究方法;
(2)软件系统内部构成要素与经济活动及其关联分析,如投资、融资、工
期、成本、效益、效率、质量保证、开发、管理、运行与维护等及其关联分析;
(3)软件系统的组织结构、管理决策以及与经营活动的关系;
(4)软件系统的资金流、物流、信息流的输入和输出以及对系统外部(如
国家、地区、社会、经济等)的影响。 - 软件工程经济学的研究特点有哪些?
答:软件工程经济学的研究特点有:
(1)软件工程经济学研究的重点始终环绕着软件产品的质量、成本/效益、
项目进度、效率等目标要素的关联分析,以及人的组织与协调管理。
(2)软件工程经济学的研究思想主要来自于系统工程,因此软件系统目标
的整体性、要素的层次性与关联性、系统环境的适应性等始终是人们研究的指导
准则。
(3)软件工程经济学采用定量与定性分析相结合、理论与实证验证相结合
的方式进行研究。
(4)考虑到我国与西方发达国家在文化与价值观念、技术水平、经营机制、
管理水平与生产效率以及软件工程环境上的差异,我们在大力学习与借鉴西方发
达国家有关软件工程经济学的理论、方法与应用成果的同时,还要注意环境的差
异性对数量分析的影响,可在数学分析的思路与方法的通用性基础上来寻找适合
于我国国情的研究结果。 - 软件工程经济学的方法体系有哪些?
答:软件工程经济学作为一门交叉学科,其理论与方法体系与以下五类学科
有着紧密的关系:
(1)管理学、社会学等;
(2)经济学,主要包括微观经济学、宏观经济学、工程经济学、管理经济
学、信息经济学等;
(3)软件工程学,主要包括软件工程技术学、软件工程管理学;
(4)计算机通信网络与信息系统;
(5)系统工程与运筹学、应用统计学、模糊数学、系统动力学等。
第 2 章练习题 - 某 IT 企业向银行贷款 240 万元,按年利率为 6%进行复利计息,试求该
企业第 5 年末连本带利一次偿还银行的金额。
解:方法 1::
𝐹 = 𝑃(1 + 𝑖)
𝑛 = 240 × (1 + 0.06)
5
= 240 × 1.3382 = 321.168(万元)
方法 2::
𝐹 = 𝑃(𝐹/𝑃,𝑖,𝑛) = 240(𝐹/𝑃,6%,5)
查表可得,(𝐹/𝑃,6%,5)的值为 1.3382,则有
𝐹 = 240(𝐹/𝑃,6%,5) = 240 × 1.3382 = 321.168(万元) - 某 IT 企业希望通过某项目投资在第 5 年末得到 5000 万元的资金,若按
年利率为 6%进行复利计息,试问该企业现需要一次性投入多少资金。
解:方法 1::
𝑃 = 𝐹(1 + 𝑖)
−𝑛 = 5000 × (1 + 0.06)
−5
= 5000 × 0.7473 = 3736.5(万元)
方法 2::
𝑃 = 𝐹(𝑃/𝐹,𝑖,𝑛) = 5000(𝑃/𝐹,6%,5)
查表可得,(𝑃/𝐹,6%,5)的值为 0.7473,则有
𝑃 = 5000(𝑃/𝐹,6%,5) = 5000 × 0.7473 = 3736.5(万元) - 某系统集成企业在 4 年内,每年年末存入银行 350 万元,如按年利率均
为 5%的复利计算,则在第 4 年末该企业可以连本带利取出多少资金?
解:方法 1::
𝐹 = 𝐴
(1 + 𝑖)
𝑛 − 1
𝑖
= 350 ×
(1 + 0.05)
64
− 1
0.05 = 350 × 4.3103
= 1508.605(万元)
方法 2:依据题目所给条件可知,F=350,𝑖 = 5%,n=4,代入公式可得:
𝐹 = 𝐴(𝐹/𝐴,𝑖,𝑛) = 350(F/A,5%,4)
经查表可得,(F/A,5%,4) = 4.3103,则有:
𝐹 = 350(F/A,5%,4) = 350 × 4.3103 = 1508.605(万元) - 某 IT 企业希望在 8 年后获得 2000 万元,假设这 8 年银行利率保持 5%不
变,则从今年开始每年年末应存入银行多少钱?
解:依题意有:F=2000,𝑖 = 5%,n=8
代入公式可得:𝐴 = 𝐹(𝐴/𝐹,𝑖,𝑛) = 2000(𝐴/𝐹,5%,8)
经查表可得:(𝐴/𝐹,5%,8) = 0.1047,则有
𝐴 = 2000(𝐴/𝐹,5%,8) = 2000 × 0.1047 = 209.4(万元) - 某 IT 企业现投入某项目投资 2000 万元,按年收益率为 10%的复利计算,
若每年年末均可获得等额收益,计划 10 年内收回全部本利,则每年应收回的资
金是多少?
解:依据题意可知 P=2000,𝑖 = 10%,n=10,
𝐴 = 2000(𝐴/𝑃,10%,10)
经查表得:(𝐴/𝑃,10%,10) = 0.1627,则有
𝐴 = 2000(𝐴/𝑃,10%,10) = 2000 × 0.1627 = 325.4(万元) - 招标、投标工作的基本特性是怎样的?
答:招标、投标工作的基本特性有:
(1)招标、投标的公平竞争。
(2)招标、投标的交易规范。
(3)招标、投标的一次机会。
(4)招标、投标的定制方案特性。
(5)招标、投标的复合职业特性。 - 公开招标和邀请招标的区别是怎样的?
答:公开招标和邀请招标的区别有:
(1) 发布信息的方式不同。公开招标的发布形式是招标公告,而邀请招
标则是投标邀请书。
(2) 选择的范围不同。公开招标方式针对的对象是一切潜在的对招标项
目感兴趣的法人或者其他组织,招标人事先不知道投标人的数量;而邀请招标针
对的是已经了解的法人或者其他组织,且事先是知道投标者数量的。
(3) 竞争的程度不同。公开招标的竞争范围比较广,竞争性较强,能较
容易获得最佳招标效果;邀请招标的投标人数限制导致其竞争范围有限,有可能
会漏掉某些在技术上或报价上更有竞争力的企业。
(4) 公开的程度不同。公开招标涉及的所有活动必须严格按照预先指定
并且所有投标人都知道的程序和标准公开进行,作弊的可能性较少;而邀请招标
的公开程度相对于公开招标会逊色一些,相对而言产生不法行为的机会多一些。
(5) 时间与费用不同。公开招标的程序较为复杂,招标周期长,费用也
较高;而邀请招标不需要发公告,招标文件只送给被邀请的企业即可,招标时间
短,费用也较低。 - 可行性研究报告的作用有哪些?
答:可行性研究报告的作用主要有:
(1) 作为经济主体投资决策的主要依据。
(2) 作为筹资和向银行申请贷款的依据。
(3) 作为从国外引进技术、设备以及与国外厂商谈判签约的依据。
(4) 作为与项目协作单位(如项目分包)签订经济合同的依据。
(5) 作为向当地政府、相关部门申请有关建设许可文件的依据。
(6) 作为该项目基础设施建设的基础资料。
(7) 作为项目有关生产组织工作、职工培训等的依据。
(8) 作为对项目考核以及项目后评价的依据。
第 3 章练习题 - 影响软件成本测算的主要因素有哪些?
答:影响软件成本测算的主要因素有:
(1) 软件的预测成本估算通常是在系统规划阶段作出的,预测人员有可
能由于进行申请基金、投标工作等原因而仓促从事的预测工作,对整个系统需求
理解还不够全面。
(2) 部分大型的软件工程项目周期长,用户会随着时间的推移以及对系
统的进一步认识和了解,对整个系统的性能或者功能提出调整,甚至新增需求,
这必然会使原有的预算成本和实际成本存在差异。
(3) 有些软件工程项目的成本预算会受外界环境的限制影响,如上级部
门对投资经费的限制;投标过程中为了迎合用户或者投资方的成本认识等。
(4) 在成本预算中,国外主要采用统计模型通过参数估计来求解预测成
本,前提是建立在大量的历史数据的基础上,但目前我国软件企业的数据信息存
储制度较差,因此会影响成本测算误差。
(5) 由于信息技术的迅速发展,一些新的开发技术,如软件重用技术,
计算机辅助技术等都影响了软件成本的预算。 - 某 IT 企业拟开发某嵌入型软件项目,预计 20k LOC 的代码量,根据该软
件的各项需求以及开发投入情况,用 COCOMO 模型求得该项目的综合影响因子 U
为 1.28,从信息库得知工时费用率a = 8000 元/人月,试对该软件的成本、工作
量与工期做出估算。
解:依据题意和查阅教材表 3.2 中的嵌入型软件的形式参数可得
𝑀0 = 𝑟 ∙ 𝐿
𝑘 = 2.8 × 201.2 =101.95 人月
𝑀𝑠 = 𝑈 ∙ 𝑀0 = 1.28 × 101.95 = 130.50 人月
𝑇𝑑 = ℎ(𝑀𝑠
)
𝑑 = 2.5 × 130.500.32 = 11.88 月 ≅ 12 月
𝐶𝑠 = 𝑎 ∙ 𝑀𝑠 = 8000 × 130.50 = 104.4 万元 - 某 IT 公司已开发过一种规模为 15k LOC 的软件 SA,现欲将其改编为半独
立型软件 SB,经估算其设计、编码与集成修改系数是:DMC=30%,CMC=40%,
IMC=110%,并有工作量乘数 U=1.3,工时费用率 a=6000 元/人月。试用类比法估
算目标软件 SB的成本。
解:有公式 3.10 可得:
AAF = W1 ∙ DMC + W2 ∙ CMC + W3 ∙ IMC
= 0.4 × 30% + 0.3 × 40% + 0.3 × 110% = 0.57
L𝐵 = L𝐴 ∙ AAF = 15kLOC × 0.57 = 8.55kLOC
由于题目中告知该软件属于嵌入型软件,由公式 3.10,并查表 3.2 可得
M𝑠 = U ∙ M0 = U ∙ r ∙ L
𝑘 = 1.3 × 3 × 8.551.12 = 43.13 人月
C𝑠 = a ∙ M𝑆 = 6000 元/人月 × 43.14 人月 = 258840 元
故该目标软件 SB的成本估计为 258840 元 - A 公司购买的服务器在使用过程中发生磨损,现需要修理,修理费用 8000
元,购买原价为 40000 元,若重置同类设备价值为 30000 元,且新旧设备生产率
及单位产品消耗是相同的,试求该电子设备的综合磨损程度及其剩余价值。
解:由题意可知 K0=40000(元),R=8000(元),K1=30000(元)
由公式 3.13 可得 A 电子设备的有形磨损程度:
α𝑝 =
𝑅
𝐾1
=
8000
40000 = 0.2
由公式 3.14 可得 A 电子设备的无形磨损程度:
a𝑞 = 1 −
𝐾1
𝐾0
= 1 −
30000
40000 = 0.25
由公式 3.15 可得 A 电子设备的综合磨损程度:
a = 1 − (1 − a𝑝)(1 − a𝑞) = 1 − (1 − 0.2)(1 − 0.25) = 40%
由公式 3.17 可得 A 电子设备的剩余价值
𝐾 = 𝐾1 − 𝑅 = 40000 − 8000 = 32000(元)
故该电子设备的综合磨损程度是 40%,其剩余价值是 32000 元。 - Z 企业花 50000 元钱购进一台电子设备,预计使用 6 年,预计到期后残
值为 5000 元。试用平均年限法求该服务器的年折旧额及其年折旧率。
解:由题意可知𝑘0 = 50000 元,𝑂 = 2000 元, 𝑇 = 6 年,则带入公式 3.18
可得:
A𝑏 =
𝑘0 − 𝑂
𝑇
=
50000 − 2000
6
= 8000(元)
由公式 3.19 可求折旧率:
a =
A𝑏
𝑘0
× 100% =
8000
50000 × 100% = 16%
由以上求解过程可得,该服务器的年折旧额为 8000 元,年折旧额为 16% - X 公司购买了一台服务器,购买价格为 85000 元,预计其使用寿命为 10
年,预计其残值为 6%。请用双倍余额递减法计算每年的折旧额。
解:由题意及式 3.20 可求得该设备的年折旧额
a =
2
𝑇
× 100%=
2
10
× 100% = 20%
第 1 年折旧额为:85000 × 20% = 17000(元)
第 2 年折旧额为:(85000 − 17000) × 20% = 13600(元)
第 3 年折旧额为:[(85000 − 17000) − 13600] × 20% = 10880(元)
第 4 年折旧额为:[(85000 − 17000) − 13600 − 10880] × 20% = 8704(元)
第 5 年折旧额为:[(85000 − 17000) − 13600 − 10880 − 8704] × 20% =
6963.2(元)
第 6 年折旧额为:[(85000 − 17000) − 13600 − 10880 − 8704 − 6963.2] ×
20% = 5570.56(元)
第 7 年折旧额为:[(85000 − 17000) − 13600 − 10880 − 8704 − 6963.2 −
5570.56] × 20% = 4456.448(元)
第 8 年折旧额为:[(85000 − 17000) − 13600 − 10880 − 8704 − 6963.2 −
5570.56 − 4456.448] × 20% = 3565.158(元)
从第 9 年开始改按年限平均法对设备进行计提折旧,则:
第 9、10 年折旧额为:
85000 − 17000 − 13600 − 10880 − 8704 − 6963.2 − 5570.56 − 4456.448 − 3565.158 − 85000 × 6%
2
= 4580.317(元) - 提高软件工程项目价值的途径有哪些?
答:提高软件工程项目价值的途径有:
① 双向型:提高软件产品的功能,同时降低软件产品的成本,可大幅提高
软件产品的价值
② 节约型:软件产品的功能不变,降低软件产品的成本,则软件产品的价
值提高
③ 改进型:软件产品的成本不变,提高软件产品的功能,则软件产品的价
值提高
④ 牺牲型:略微降低软件产品的功能,大幅减低软件产品的成本,则软件
产品的价值提高
⑤ 投资型:略微提升软件产品的成本,大幅增加软件产品的功能,则软件
产品的价值提高 - 挣值分析的四个绩效指标是什么?
答:挣值分析的四个绩效指标是
① 成本偏差(CV,Cost Variance),成本偏差是一种测量成本绩效的指标,
表示为挣值与实际成本之差,计算公式如下所示。
CV = EV − AC
② 进度偏差(SV,Schedule Variance),进度偏差是一种测量成本绩效的
指标,表示为挣值与计划价值之差,计算公式如下所示。
SV = EV − PV
③ 进度绩效指标(SPI,Schedule Performed Index),进度绩效指标是一
种测量进度效率的指标,表示为挣值和计划价值之比,主要反应项目团队完成工
作的效率,其计算公式如下所示。
SPI = EV/PV
当SPI > 1时,表示实际工作进度超前。
当SPI = 1时,表示实际工作进度与计划进度相同。
当SPI < 1时,表示实际工作进度延误。
④ 成本绩效指标(CPI,Cost Performed Index),成本绩效指标是一种测
量预算资源的成本效率指标,表示为挣值与实际成本之比。其计算公式如下所示。
CPI = EV/AV
当CPI > 1时,表示低于预算,即实际费用低于预算费用 ,成本有结余。
当CPI = 1时,表示实际费用与预算费用持平 。
当CPI < 1时,表示超出预算,即实际费用高于预算费用,成本超支。 - 软件企业常采用的定价策略主要有哪些?
答:软件企业常采用的定价策略主要有以下四种:
1)捆绑定价策略
2)撇脂和渗透定价策略
3)歧视定价策略
4)免费使用定价策略 - 软件产品的促销策略有哪些?
答:软件产品的促销策略主要有:
1)品牌促销
2)教育促销
3)人员促销
第 4 章练习题 - 简述软件工程项目的评价与决策的常用操作步骤。
答:软件工程项目的评价与决策问题通常都是一个多属性问题,其解决步骤
主要有以下五个方面:
(1) 确定评价主体(单位或者项目负责人)。
(2) 确定评价对象,如方案选择的评价对象就是各个方案,项目经理的选择
就是各候选人。
(3) 建立相应的指标体系,即确定评价对象的评价指标及其子指标;
(4) 确定各指标的权重系数,权重表示各个指标之间的相对重要性,且同一
个级别的指标加权和必须等于 1;
建立综合评价模型。 - 设有 5 个待评方案,采用 4 种综合评价方法求解,其求解所得的排序结
果如表 4-16 所示,试运用平均值法确定这 5 种方案的最终排序。
表 4.16 项目求解排序表
M1 M2 M3 M4
A1 1 3 2 4
A2 3 1 3 5
A3 2 2 1 2
A4 4 5 4 3
A5 5 4 5 1
解:
d1 =(1+3+2+4)/4=2.5
d2 =(3+1+3+5)/4=3
d3 =(2+2+1+2)/4=1.75
d4 =(4+5+3+3)/4=3.75
d5 =(5+4+5+1)/4=3.75
由于d3 <d1 <d2 <d4 =d5 ,故有最终排序结果为:A3>A1>A2>A4>A5 - 某软件企业欲从事 A 信息产品的生产与销售,经过市场调查,现已选定
X、Y、Z 三种备选产品方案,各方案经论证其初始投资额 K0,每年净收益 Bi- Ct,
使用寿命 n 如表 4-17 所示,若不考虑残值,请在基准率 12%时讨论这三种产品
方案的可行性,并从中选出最优方案。
表 4-17 A 信息系统现金流量表
方案 K0 Bt- Ct n(年)
X 180 58 10
Y 230 48 10
Z 46 36 10
解:
NPV(X) = ∑
𝐵𝑡 − 𝐶𝑡 − 𝐾𝑡
(1 + 𝑖)
𝑡
= −180 +
10
𝑡=0
58∑
1
(1 + 0.12)
𝑡
=
10
𝑡=1
− 128.24
NPV(Y) = ∑
𝐵𝑡 − 𝐶𝑡 − 𝐾𝑡
(1 + 𝑖)
𝑡
= −230 +
10
𝑡=0
48∑
1
(1 + 0.12)
𝑡
=
10
𝑡=1
− 187.17
NPV(Z) = ∑
𝐵𝑡 − 𝐶𝑡 − 𝐾𝑡
(1 + 𝑖)
𝑡
= −46 +
10
𝑡=0
36∑
1
(1 + 0.12)
𝑡
=
10
𝑡=1
− 13.87
由于三种方案的净现值都小于 0,故三种方案都不可行,也没有必要继续进
行最优方案的选择。 - 某软件企业在项目规划阶段,拟对 A、B、C 三个独立方案作组合方案排
序,此三个项目方案寿命期均为 8 年,现金流量表如表 4-18 所示,企业的投资
金额上限为 110 万元。试在基准率iC = 8%的水平下选择最优投资组合方案。
表 4-18 独立投资方案参数表
方案 初始投资(单位:万元) 年净收益(单位:万元) 寿命/年
X 30 6.6 10
Y 55 9 10
Z 68 12.5 10
解:表 4-18 所列出的三个独立方案构成的所有可能组合,共有2
3 = 8个组
合方案,详见下表所示。表中方案组合栏中填入 1 表示被选中,填 0 表示未被选
中;组合方案的顺序按照各组方案的初始投资额自小到大进行排列;初始投资一
列和净收益一列中各组合方案的数据均进入组合方案的各独立方案数据之和;净
现值一列中各数据是根据各组合方式的初始投资与年净收益以及基准贴现率所
计算的组合方案的净现值。
以 Y 方案为例计算净现值= NPV = ∑
𝐵𝑡−𝐶𝑡−𝐾𝑡
(1+𝑖)
𝑡
10
𝑡=0 =-55+∑
9.5
(1+0.08)
10
10
𝑡=0 =8.75
表组合投资方案参数表
序号 方案组合 组合方案 初始投资
(万元)
年净收益
(万元)
寿命
(年)
净现值
X Y Z (万元)
1 0 0 0 0 0 0 0 0
2 1 0 0 X 30 6.6 10 14.29
3 0 1 0 Y 55 9.5 10 8.75
4 0 0 1 Z 68 12.5 10 15.88
5 1 1 0 X&Y 85 16.1 10 23.04
6 1 0 1 X&Z 98 19.1 10 30.17
7 0 1 1 Y&Z 123 22 10 24.63
8 1 1 1 X&Y&Z 153 28.6 10 38.92
由上的计算结果可知,在该企业投资额上限为 110 元的约束条件下,组合 7
和组合8方案被排除,从组合方案1~6中进行选择,根据净现值最大的优化准则,
方案 6 组合(选择 X 和 Z 两种方案组合)方案确定为最优方案。
第 5 章练习题 - 什么是生产函数?其主要特征是什么?
答:生产函数是指一定时期内生产要素的数量与某种组合同其所能产出的最
大产量之间存在的函数关系。
生产函数通常满足以下三个特征:
(1) 资本与劳动力的边际产出总是为正值,在劳动力(或者资本)投入量不
变的情况下,资本(或者劳动力)的增加将引起产出的增加;
(2) 边际产量递减特性。当其他生产要素固定不变时,随着某一要素投入量
的增加,其边际产量将逐渐减少;
(3) 生产函数具有非负性,总产出必须是正值,且总产量是生产要素组合的
结果,单一要素的投入是不能获得产出的。 - 规模经济是如何判断的?
答:规模报酬又称为规模经济。规模报酬主要研究所有要素都同比例增加时,
产量发生变化的情况。当所有投入均增加一倍时,产出也相应的增加一倍,则称
该生产技术是规模报酬不变;当所有投入均增加一倍时,产出的的增加是小于一
倍的,则称该生产技术是规模报酬递减;当所有投入均增加一倍时,产出的增加
是大于一倍的,则称该生产技术是规模报酬递增。现实生产活动中,究竟出现哪
一种情况,通常依赖于规模所达到的程度。在规模较小时,增加投入可以促进规
模报酬递增,而当规模达到一定程度时,则会出现规模报酬递减的情况。 - 什么是软件生产率?影响软件生产率的因素有哪些?
答:软件生产率是指软件开发的效率,是衡量软件开发水平的一个重要因素。
影响软件生产率的因素众多,主要有技术因素、管理因素以及文化因素。 - 提高软件生产率的主要措施有哪些?
答:提高软件生产率的主要举措有以下几个方面。
(1) 技术方面
强调对企业研发人员个人职业能力的综合评估。为了提升个人对软件企
业的贡献,有必要从专业、技能、经验、学历以及年龄等多方面进行考量。
软件技术领域最好根据研发人员所擅长的技术能力来划分不同的专业技
术组。
培养研发人员对新技术的学习掌握,并创新应用。
(2) 管理方面
建立良好的人才激励机制,通过物质、精神奖励以及职务晋升制度提高
研发人员的工作热情。
建立科学、合理的研发人员梯队制度,明确划分管理与技术领域人才。
依据软件企业所处的市场环境及企业自身发展的要求适时变革管理,用
以应对不断变化的 IT 市场,进而增强软件企业的核心竞争力。
(3) 文化方面
建立良好的企业学习氛围。通过研发人员个人知识的学习、交流及其共
享来形成群体效应,提升整个企业的知识资源。
注重软件工程项目团队建设,加强团队合作精神,提高团队沟通能力。 - 效益的特点有哪些?
答:软件工程项目的效益特点有:
(1) 软件工程项目的效益主要依赖于项目主体及其所追求的目标。如项目主
体如果是国家或者政府,其基本目标大多是社会效益(如出入境自助系统,智能
交通系统等);项目主体如果是一个企业,则其基本目标是利润的最大化。
(2) 软件工程项目的效益主要依赖于其基本目标提出时的历史时代背景。
(3) 软件工程项目的投资主体和受益主体有两种形式,一种是二者相结合地,
另一种是两者相分离的。 - 为什么要进行不确定性分析?
答:在进行软件工程项目的财务分析和经济分析时,所依据的项目的现金流
量是估算和预测的,这些估算或预测值难免与将来实际发生的费用不一致,导致
这些数据因素的不确定性。这些不确定性是决策者事先不知道决策的可能结果,
其变化会对项目的评价产生影响。因而要进行不确定性分析。 - 不确定性分析的步骤是怎样的?
答:不确定性分析的步骤是:
(1) 鉴别不确定性因素。
(2) 界定不确定性因素的性质。
(3) 选择不确定性分析的方法。
(4) 明确不确定性分析的结果。 - 概率分析的步骤是怎样的?
答:概率分析的步骤通常有以下六步:
① 选定软件工程项目的效益指标(如内部收益率、净现值等)作为分析对
象。
② 选定需要进行概率分析的不确定性因素,通常有软件产品的价格、投资
额等。
③ 估计出每个不确定性因素的变化范围以及可能出现的概率。
④ 计算在不确定性因素变量的影响下投资经济效益的期望值。
⑤ 计算出表明期望值稳定性的标准偏差。
综合考虑期望值与标准偏差,说明在该不确定性因素的情况下,软件工程项
目的经济效益指标的期望值以及获得的可能性。 - 某汽车制造企业欲投资建设 ERP 系统,需进行经济效果评价。已知该企
业目前的整车单位成本 C1 为 2 万元/每辆,货币劳动率α1为 2 万元/年,平均流动
资金占用额 F1 为 500 万元/年,库存周转天数 I1 为 30 天/辆,O1 能耗支出为 5 万
元/年。若该企业运行拟建设的 ERP 系统后各效益指标的相对变化率分别取表 5-2
的下限,ERP 系统的寿命 T0 为 5 年,运行后企业整车产量为 Q21000 辆/年,职工
人数 L2 为 3000 人,整车库存费用β为 0.01 万元/天,试在银行贷款利率为 8%,
各效益指标权系数W1、W2为 0.2,W3、W6 为 0.15,W4 为 0, W5为 0.3 的情况
下估计 ERP 系统的经济效果。
解:J1 = C1 ∙ U𝐶 ∙ Q2 ∙ T0 = 2 万元/辆 × 12 × 1000 辆/年 × 5 年 = 12000 万元
𝐽2 = 𝛼1
(𝐿1 − 𝐿2
)𝑈𝛼 ∙ 𝑇0 = 2 万元/年 × 3000 × 10 × 5 年 = 300000 万元
𝐽3 = 𝐹1 ∙ 𝑈𝐹 ∙ 𝑖 ∙ 𝑇0 = 500 万元/年 × 15 × 0.08 × 5 年 = 3000 万元
𝐽5 = 𝐼1 ∙ 𝑈1 ∙ 𝜃2 ∙ 𝑇0 ∙ 𝛽 =
30 天
辆
× 15 × 1000 辆/年 × 5 年 × 0.01 万元/天
= 22500 万元
𝐽6 = 𝑂1 ∙ 𝑈𝑂 ∙ 𝑇0 = 5 万元/年 × 5 × 5 年 = 75 万元
𝐽 = 𝑊1𝐽1 + 𝑊2𝐽2 + 𝑊3𝐽3 + 𝑊4𝐽4 + 𝑊5𝐽5 + 𝑊6𝐽6
= 0.2 × 12000 + 0.2 × 300000 + 0.15 × 3000 + 0.3 × 22500 + 0.15
× 75 = 69611.25 万元
故该 ERP 的经济效益为 69611.25 万元。
第 6 章练习题 - 软件工程项目管理人员在创建 WBS 时应注意的要点有哪些?
答:①项目的某一项工作应且仅在 WBS 中的一个地方出现;②WBS 中某项
工作的内容是其下一层级所有 WBS 项目的总和;③WBS 必须与项目实际工作中
的执行方式一样;④同一层次的 WBS 应为相同性质,每个 WBS 工作单元都要有
负责人。 - 简述创建 WBS 的具体步骤。
答:①识别可交互成果及相关工作;②确定 WBS 分解方式和编排结构;③
创建 WBS;④验证 WBS 的合理性及正确性;⑤建立 WBS 编码系统,即为 WBS
的每个工作包建立分配控制账户并编制唯一的编码。 - 关键工作及关键线路的确定需要符合哪些规定?
答:①总时差最少的项目工作应确定为关键工作,关键工作的总时差TFi-j=0;
②在网络计划图中,关键线路一般用粗线、双线或者彩色线标注出来。③一般情
况下,一个网络计划图中至少会有一条关键线路,最多只能有有限条关键线路; - 网络计划主要有 哪两种资源优化方式?软件工程项目的网络计划资源
优化主要使用哪种方法?
答:网络计划主要有 “资源有限,工期最短”和“工期固定,资源均衡”
的两种资源优化方式。软件工程项目的网络计划资源优化主要使用“工期固定,
资源均衡”的优化方式。 - 简述软件工程项目工期优化的计算步骤。
答:软件项目工期优化的计算应按照以下步骤进行:
(1) 计算并找出初始网络计划的计算工期 Tp 、关键工作和关键线路。
(2) 按照要求工期 Tr 计算应缩短的总工作时长。
(3) 确定软件工程项目中各个关键工作能缩短的工作时长。
(4) 选择缩短工作时长的关键工作。选择是应该优先考虑有作业空间、有充足的备用资
源以及将会增加费用额最小的项目工作;选定后,缩短工作时长,并重新计算整个网络计划
的计算工期 Tp 。如果被压缩的关键工作在工期优化后,变成了非关键工作,则应延长其工
作时长,使之仍为关键工作;
(5) 当重新计算的工期仍然超过项目要求的工期时,则需重复以上(1)~(4)的步骤,
直至满足项目的要求或不能再压缩了为止。
(6) 当项目的所有关键工作的工作时长都已达到其能缩短的极限,而计算工期 Tp 仍然
不能满足项目的工期要求时,应对原软件工程项目计划的技术方案、组织方案进行调整,或
者对项目要求工期 Tr 进行重新审定。 - 简述双代号网络计划图的绘制规则。
答:双代号网络计划图的绘制规则有:
(1) 网络计划图应正确表达各项目工作之间已定的逻辑关系:在网络计
划图中,一个工作(任务/活动)只有唯一的一条箭线以及相应的一对节点编号,
箭尾的节点编号要小于箭头的节点编号。工作的名称应该标注在箭线的上方,工
作持续时间(工作时长)则应标注在箭线的下方;
(2) 不得出现回路
(3) 不得出现双向箭头或者不带箭头的活动;
(4) 不得出现没有箭头节点或没有箭尾节点的箭线;
(5) 当起点节点有多条外向箭线或终点节点有多条内向箭线时,对起点
节点和终点节点可使用母线法绘图;
(6) 绘制网络计划图的箭线时不宜有交叉;当交叉不可避免时,可用过
桥法、断线法或指向法;
(7) 网络计划图中必须只有一个起点节点(编号为①);在不分期完成任
务的网络图中,必须只有一个终点节点;其他所有节点均为中间节点;
(8) 不允许出现相同编号的工作(任何/活动)或者节点;
(9) 绘制的箭线应主要以水平线为主,竖线和斜线为辅,不应画成曲线。
绘制的箭线不应出现箭头指向左方的水平箭线或箭头偏向左方的斜向箭线,应保
持自左向右的方向;
(10) 绘制网络计划图时应该条理清楚,布局要力求合理,尽量把关键线
路安排在中心醒目的位置。 - 关于软件工程项目的先行工作 A 与后继工作 B,主要包括的依赖关系有
哪些?
答:关于软件工程项目的先行工作 A 与后继工作 B,主要包括的四种依赖关
系有:①完成对开始:指后继工作 B 的开始要等到先行工作 A 的完成;②开始
对开始:指后继工作 B 的开始要等到先行工作 A 的开始。例如,开始写测试结
果(后继工作)必须在测试(先行工作)开始之后开始;③完成对完成:指后继
工作 B 的完成要在先行工作 A 完成之后完成。例如,文档(后继工作)的完成
要等到系统架构(先行工作)的完成;④开始对完成:指一个工作 A 的完成要在
后继工作 B 开始之后。 - 某软件工程项目经工作分解后,给出了活动明细表,如表 7.9 所示:
(1) 求解每个活动的 te值,并填入表中;
(2) 绘制对应计划网络图;
(3) 求解该计划网络图的关键活动、关键节点和关键路线
表 7.9 某软件项目活动明细表
编号
活动
代号
紧前
活动
1 a 3 4 5 -
2 b 5 7 15 -
3 c 8 10 14 -
4 d 1 3 5 a
5 e 2 5 8 b
6 f 0 0 0 c
7 g 1 3 5 d
8 h 3 6 9 e、f
9 i 2 4 6 c
10 j 2 5 8 g、h、i
答:(1)
编号
活动
代号
紧前
活动
1 a 3 4 5 4 -
2 b 5 7 15 8 -
3 c 8 10 14 11 -
4 d 1 3 5 3 a
5 e 2 5 8 5 b
6 f 0 0 0 0 c
7 g 1 3 5 3 d
8 h 3 6 9 6 e、f
9 i 2 4 6 4 c
10 j 2 5 8 5 g、h、i
(2)对应计划网络图;
(4) 求解该计划网络图的关键活动、关键节点和关键路线:
关键活动:b、e、h、j
关键节点:①、③、⑥、⑦、⑧
关键线路:b→e→h→j
1
5
3
2
4
6 7
a
4
b
8
d
3
e
5
f
0
g
3
h
6 j
5 8 0 0
4 13 7 16
8 8 13 13 19 19
11 15
24 24
c
11 i
4
第 7 章练习题
- 软件工程项目团队的特点主要有哪些?
答:软件工程项目团队的特点主要有:
(1) 软件工程项目团队的目的性。
(2) 软件工程项目团队的临时性。
(3) 软件工程项目团队的合作性。
(4) 软件工程项目团队的凝聚力。 - 软件工程项目团队的作用有哪些?
答:软件工程项目通常以团队的形式来完成任务,其团队的作用主要有:
(1) 能够更有效的实现目标。
(2) 能够满足团队成员的心理需求。
(3) 能够使个人得到较快的进步。
(4) 能够提高决策质量。 - 软件工程项目经理的基本职责有哪些?
答:软件工程项目经理的基本职责有:
(1) 确保软件工程项目目标的实现,领导项目团队按时并优质地完成全部项
目相关工作。
(2) 保持与客户的沟通,了解项目的整体需求,能即时的反馈阶段性成果,
并对客户提出的合理需求进行相应的变更。
(3) 制订软件工程项目开发计划文档,量化各阶段任务,并合理分配给相应
的团队人员。
(4) 跟踪软件工程项目的进度,协调项目组团队成员之间的合作。
(5) 监督软件工程项目进展中各阶段的文档,保持与质量保证人员的沟通,
保证文档的完整与规范性。
(6) 如果项目开发过程中有需求的变更,项目经理需要向客户了解需求,在
无法判断新的需求对项目的整体影响的情况下,需同项目组团队成员商量,最后
决定是否接受客户的需求,再跟客户协商;在确定要变更需求的情况下,需产生
需求变更文档,更改开发计划,同步通知质量保证人员。
(7) 项目提交测试后,项目经理需了解测试结果,根据测试的 bug(漏洞)
严重程度更改开发计划。
(8) 及时向上级汇报项目的进展情况、需求变更等所有项目相关信息。
软件工程项目完成的时候项目经理需要做项目总结,产生软件工程项目总结文档。 - 在确定软件工程项目各个阶段的人数时,需要注意的问题有哪些?
答:在确定软件工程项目各阶段的人数时,需要注意以下几个问题:
(1) 应该尽量使各阶段活动的全职软件人员人数为整数,确实不足的地方可
以将同一阶段的其他活动全职人员的人数进行合并。
(2) 当项目规模较大的时候,编程或者测试阶段可以将程序员再分成若干个
小组,但每个小组(基本单元)原则上不要超过 7 人。
(3) 在配置各个团队小组的人员时,尽量注意每个全职软件人员在完成项目
任务时工作时间上的连续性问题,为了提高工作效率,保证项目进度,不宜将项
目团队人员进行频繁的调动与更换工作任务。 - 风险有哪些特点?
答:软件工程项目风险的特点:
(1) 风险存在的普遍性与客观性。
(2) 风险的偶然性和必然性。
(3) 风险的不确定性。
(4) 风险的多样性与层次性。 - 风险识别的过程是怎样的?
答:软件工程项目风险的识别如下图所示。风险识别的输入可以依据软件项目的
历史项目数据、WBS、项目计划、项目资源与要求等信息。
风险识别
的输入 标识风险 风险列表
评审风险
对风险进行
分类排序
软件工程项目风险识别过程图
风险识别是有规律的贯穿于整个软件项目过程中的。风险识别主要包括三方
面的内容:①识别并确定软件工程项目有哪些潜在的危险;②识别引起这些项目
风险的主要影响因素有哪些;③识别软件工程项目风险可能引起的后果。 - 应对负面的风险的基本策略有哪些?
答:应对负面的风险的基本策略有如下 4 种:
① 风险规避策略
当项目风险潜在的威胁可能性非常大,并有可能带来非常严重的后果时,通
常采用风险规避策略,但并不是所有的风险都可以完全规避和消除,具体的风险
事件则可以。如坚决不在软件工程项目实施中采用不成熟的技术就是典型的风险
规避策略。但在规避风险的同时,也就彻底放弃了所规避事件能为项目所带来的
各种收益。
② 风险承担策略
风险承担就是指直接接受风险所带来的所有后果。
③ 风险转移策略
风险转移策略主要指将风险的结果以及其管理责任转移到第三方。
④ 风险缓解策略
风险缓解策略通常从缓解软件工程项目风险产生的主要原因,进而达到控制
与应对风险的措施。 - 软件工程项目风险控制的主要措施有哪些?
答:软件工程项目风险控制的主要措施有:
① 项目权变措施。
② 风险纠正措施。
③ 软件工程项目变更申请的应对措施。
④ 对风险应对计划进行实时更新。
⑤ 定期进行风险预警。 - 影响软件质量的因素有哪些?
答:影响软件质量的因素有人的因素、过程因素和技术因素 - 请简要介绍 McCall 质量模型。
答:McCall 质量模型将软件质量面向软件产品的运行、修正和转移三个方面
的 11 个特性之上,如下图 7-6 所示。
产品运行
产品
修正 产品
转移 正确性 可靠性 完整性 可使用性 效率
互连性
可移植性
可复用性 互维护性 可测试性 灵活性
McCall 模型图
正确性:软件代码满足需求规约并实现用户目标的程度。
可靠性:软件代码达到所需精度与完成预期功能的程度。
完整性:对未授权人使用软件及其数据的可控情况。
可使用性:了解、操作程序,为程序的输入数据的准备以及解释程序输
出所需要的工时量。
效率:程序完成其各项功能所需要的资源与代码的数量。
可维护性:查找并修复程序中所存在错误所需要的工时量。
可测试性:测试程序,以确保系统能完成客户期望的功能所需要的工时
量。
灵活性:修改运行程序所需付出的工时量。
互连性:软件和其他软件相互连接的情况及其工时量。
可移植性:将程序从一个软件或者硬件系统环境移植到另一个新的环境
所需要的工时量。
可复用性:软件代码可以在其他应用程序中重复使用的程度。 - 软件质量保证的内容有哪些?
答:软件质量保证(Software Quality Assurance,SQA)的主要工作内容有:
(1) 与软件质量保证计划直接相关的各项工作。
(2) 参与软件工程项目的阶段性评审及其审计。
(3) 对软件工程项目常规活动与规程的符合性进行检查。
(4) 对项目的配置管理工作的检查及其审计。
(5) 跟踪所发现问题的解决情况。
(6) 在软件质量保证过程中收集新方法,提供过程改进的相关依据。
生成软件质量审计报告。
第 8 章练习题 - 简要介绍软件测试 X 模型。
答:软件测试 X 模型是也是一种对软件测试 V 模型的改进模型,X 模型主要
针对单独的程序片段进行相互分离的编码与测试,然后通过频繁的交换与集成,
最终合成为可执行的程序。软件测试 X 模型的优点是强调了单元测试和集成测试
的重要性,引入了探索性测试使测试模型与现实更为接近,缺陷修复时不受项目
组内部人员限制;缺点是只强调测试过程中的部分内容,没有对需求测试、验收
测试等内容进行说明。 - 按开发阶段划分软件测试类型,并简要介绍其测试方法。
答:按照开发阶段划分测试类型主要有单元测试、集成测试、系统测试与验
收测试。
- 单元测试
单元测试(Unit Testing)又称为模块测试,是指对软件中的最小可测试单
元进行检查与验证。关于单元,要根据实际开发语言的情况来判定,如 Java 中
的单元指一个类,C 语言则指一个函数,而图形化软件中的单元是指一个窗口或
一个菜单。单元测试是在软件开发过程中进行的最低级别的测试活动,通常将独
立单元与程序的其他部分相隔离后再进行测试。
单元测试可作为无错编码的一种辅助手段,可看作是编码工作的一部分,由
程序员负责,也就是说,经过了单元测试的代码才是已完成的代码,且提交产品
代码时也要同时提交相关单元测试代码。无论在软件修改,还是移植到新的运行
环境过程中必须是可重复的。单元测试要把握尽早、自动化、可重复性等原则。
测试的主要内容包括:单元功能测试、单元接口测试、单元局部数据结构测试、
单元的各类错误处理路径测试、单元中重要的执行路径测试以及单元边界条件测
试。 - 集成测试
集成测试(Integration Testing)又称为组装测试、子系统测试、联合测
试或部件测试,是指在单位测试的基础上,将所有模块按照概要设计的要求组装
成一个系统或子系统来进行的测试活动,它是单元测试的逻辑扩展。
集成测试通常由专门的测试人员来负责。测试依据主要来自于软件的概要设
计规格说明,集成测试组装的对象与单元测试相比较其对象级别要高很多。测试
的主要内容包括模块间的接口测试(把各个模块连接起来时,所穿越模块接口的
数据是否会丢失;全局数据结构是否会有问题;会不会被异常修改等)和模块集
成后的功能测试(将软件的各个子功能组合起来,测试能否达到父功能的预期要
求。一个模块的功能是否会对另一个模块的功能产生不利的影响。单个模块的误
差积累起来,是否会放大,从而达到不可接受的程度)。 - 系统测试
系统测试(System Testing)是对已集成好的软件系统所进行的测试,将软
件、硬件以及操作人员看成一个整体,以验证其正确性以及性能是否能满足规约
所指定的要求。系统测试由测试工程师依据项目需求来负责贯彻和执行,验证最
终软件系统是否满足用户规定的需求。测试的主要内容包括功能测试(测试软件
系统的功能是否正确)和健壮性测试(测试软件系统在异常情况下能否正常运行,
主要包含容错能力测试与恢复能力测试)。 - 验收测试
验收测试(Acceptance Testing)又称为确认测试、交付测试或发布测试,
是在软件产品完成系统测试之后、产品正式交付或软件产品发布之前所进行的软
件测试活动。
验收测试通常由用户或者独立的测试人员负责,依据项目任务书或合同、供
需双方约定的验收依据等文档,对整个软件系统进行的测试与评审,根据测试结
果决定是否接受软件系统。测试的主要内容包括安装测试、易用性测试、兼容性
测试以及用户手册、操作手册等文档的测试。
-
功能测试的主要内容是什么?
答:功能测试的主要内容主要有:
① 每一个界面的菜单、工具栏、按钮、切换/链接/快捷键/触发键、单选/
复选按钮、业务流程等选择项的功能是否正确;
② 多个界面之间的切换/下拉框是否正确;
③ 数据项的关联与限制功能是否正确;
④ 找出设计文档中要求的,但未被包含在上述测试中的功能;
⑤ 增加、删除、修改、查找、刷新等操作的结果是否正确;
⑥ 有查询或报表操作时,检查各种选择项的合理组合下所产生的结果,对
照数据库中的数据是否正确;在不符合条件时是否有相应的提示信息;
对照设计文档要求,测试系统所有的功能是否正确。 -
动态测试与静态测试的主要区别是什么?
答:静态测试与动态测试的区别主要有
① 静态测试主要用于预防,而动态测试则主要用于校正。
② 多次静态测试通常比动态测试的效率要高。
③ 静态测试需要综合测试程序代码。
④ 在短时间的测试过程中,静态测试的覆盖率能达到 100%,而动态测试却
只能达到 50%。
静态测试的执行可以在程序的编码编译前,而动态测试只能在程序编译后才
能执行。 -
流程测试的主要注意事项有哪些?
答:在流程测试过程中,需要注意以下几点:
① 为了方便软件系统测试的多次使用,最好要有基本数据,也有助于自动
化测试工具的介入。
② 流程测试中所构建的数据,要有用户真实工作流程的意义,严禁使用 1、
2、3;a、b、c 等类似用代号来表示的数据。
③ 测试的流程要符合用户平时工作时的操作习惯,尽量按用户的实际操作
来进行测试。
④ 流程测试没有必要覆盖软件系统的所有功能点。
测试过程中不受具体模块的限制,可以对各个软件模块进行交叉测试。 -
按照质量属性可将软件测试分为哪些类型?
答:按照质量属性划分软件测试分为容错性测试、可靠性测试、兼容性测试、
维护性测试、安全性测试和可移植性测试。 -
划分等价类的方法是怎样的?
答:等价类划分法是将软件程序的输入区域划分为若干子集,然后从每一个
子集中选取少数具有代表性的数据作为测试用例。每一类的代表性数据在测试中
的作用等价于这一类中的其他值,划分等价类的方法有以下 6 种。
① 在输入条件规定了取值范围或值的个数时,可确立一个有效等价类与两
个无效等价类。
② 在输入条件规定了输入值的集合或规定了“必须如何”的条件时,可确
立一个有效等价类与一个无效等价类。
③ 在输入条件是一个布尔量时,可确定一个有效等价类与一个无效等价类。
④ 在规定了输入数据的一组值(假设是 n 个),且程序要对每一个输入值分
别处理时,可确立 n 个有效等价类与一个无效等价类。
⑤ 在规定了输入数据必须遵守的规则时,可确立一个有效等价类(符合规
则)与若干个无效等价类(从不同角度违反规则)。
⑥ 在确知已划分的等价类中各元素在程序处理中的方式不同时,应再将该
等价类进一步划分为更小的等价类。
在确立了等价类后,需要建立等价类表,列出所有划分出的等价类,再从划
分出的等价类中按以下 3 个原则设计测试用例。
① 必须为每一个等价类确定一个唯一的编号。
② 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,
重复这一步骤,直到所有的有效等价类完全被覆盖为止。
③ 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效的等价类,
重复这一步骤,直到所有的无效等价类完全被覆盖为止。 -
某软件系统要求输入的范围是 400 至 900,采用边界值分析法设计测试
用例。
答:根据边界值分析法测试用例的取值原则,应取刚达到与刚超出取值范围
的值来作为测试用例。对于边界 400,应取 399 和 400;对于边界 900,应取 900
和 901。 -
边界值分析法选择测试用例的原则有哪些?
答:边界值分析法选择测试用例原则有以下 6 种:
① 如果输入条件规定了值的范围,就应取刚达到所规定范围的边界值与刚
刚超越所规定范围边界的值来作为测试输入数据。
② 如果输入条件规定了值的个数,就用最大个数,最小个数,比最小个数
少 1,比最大个数多 1 的数来作为测试数据。
③ 将①、②种的 2 条原则应用于输出条件,即设计测试用例使输出值达到
边界值及其左右的值。
④ 如果程序的规格说明所给出的输入域或输出域是有序集合,就应选取集
合的第 1 个元素与最后 1 个元素来作为测试用例。
⑤ 如果程序中使用了 1 个内部的数据结构,就应选择这个内部数据结构的
边界上的值来作为测试用例。
⑥ 分析规格说明,尽可能地找出其他可能的边界条件。 -
静态白盒测试的主要技术有哪些?
答:静态白盒测试主要有以下三种技术:
(1) 代码检查法。主要检查代码与设计的一致性,代码对标准的遵循,
可读性,代码逻辑表达的正确性,以及代码结构的合理性等方面的检查工作。代
码检查主要有桌面检查、代码走查和代码审查三种方法。其目的是发现违背程序
编写标准的问题;发现程序中不安全、模糊以及不明确的部分;找出程序中不可
移植部分;找出违背程序编程风格的问题,包括命名、变量检查和类型审查、程
序语法检查、程序逻辑审查以及程序结构检查等。
(2) 静态结构分析法。在静态结构分析法中,测试人员通过工具分析程
序源代码的系统结构、数据接口、数据结构、内部控制逻辑等内部结构,来生成
函数调用关系图、部分文件调用图、模块控制流图、函数参数表、子程序表以及
宏等图表,可以清晰的标识整个软件系统的组成结构,然后通过分析这些图表,
检查软件是否存在缺陷。
(3) 静态质量度量法。静态质量度量法主要根据 ISO/IEC9126 国际标准
中软件质量的功能性、易用性、可靠性、有效性、可移植性和可维护性来构造软
件质量度量模型,进而用于评估软件质量。
第 9 章练习题 -
软件工程项目后评价的特点是什么?
答:软件工程项目后评价的特点有:
(1) 现实性
(2) 全面性
(3) 反馈性
(4) 合作性
(5) 独立性
(6) 可信性 -
软件工程项目后评价与前评价的区别是什么?
答:软件工程项目后评价与前评价的区别是:
(1) 所处的阶段不同。软件工程项目前评价和可行性分析属于项目建设的前
期工作,主要为企业管理层决策项目是否开展提供可靠依据。而软件工程项目后
评价则是在软件工程项目完成后对项目进行的再评价,是软件工程项目管理的延
伸。
(2) 评价的组织结构不同。软件工程项目前评价和可行性分析是由项目的投
资主体、贷款机构或审批机构共同组织实施的。而软件工程项目后评价则一方面
由项目运行管理机构或专门的项目后评价机构来完成的,用以保证其评价工作的
客观性与独立性;另一方面是由承建方自愿完成,便于总结现有项目并为将来其
他项目的开展提供有效的数据依据。
(3) 评价的依据不同。软件工程项目前评价和可行性分析主要依据国家或相
关部门颁布的定额标准、参数;部分依据国内外企业或行业类似项目的经验数据
来衡量软件工程项目建设的必要性、可行性和合理性。而软件工程项目后评价虽
然也会参照国家或相关部门颁布的定额标准、参数,但主要是拿本项目的实际数
据与项目前评价或者行业类似项目进行对比,检查项目的实际情况与预测数据的
差距,并分析其产生的原因,并提出改进措施。
(4) 评价的内容不同。软件工程项目前评价和可行性分析所研究的主要内容
是建设条件、设计方案、设计计划及经济社会效果。而软件工程项目后评价所研
究的内容主要是对项目前评价的基础上进行再评价,还包括软件工程项目对策、
实施效率等的评价,以及对项目实际运营状况进行深入的评价和分析。
(5) 在投资决策中的作用不同。软件工程项目前评价和可行性分析直接作用
于投资方或承建方的项目决策,是项目取舍的重要依据。而后评价则是间接作用
于投资决策,主要用于投资决策的信息反馈以及作为将来项目的参考依据。 -
软件工程项目后评价的作用是什么?
答:软件工程项目后评价的作用是:
(1)提高建设软件工程项目决策的科学化水平服务
(2)为政府制订和调整有关经济政策提供参考
(3)为银行调整信贷政策提供依据
(4)为提高出资人建设软件工程项目监管水平提出建议
(5)有利于提高生产能力和经济效益
(6)有利于提高引进技术和装备的成功率
(7)有利于控制项目造价 -
软件工程项目后评价的基本程序是怎样的?
答:软件工程类项目因其规模、复杂程度的不同,不同的软件工程项目后评
价的工作程序会有所差异。但通常遵循客观与循序渐进的过程。具体可以概括为
以下六个步骤。
1)软件工程项目后评价机构的组建
2)制订软件工程项目后评价计划
3)收集和整理相关资料和数据
4)整理分析资料和数据,应用项目后评价方法分析论证
5)编制项目后评价报告
6)上报软件工程项目后评价报告 -
软件工程项目后评价的内容是什么?
答:软件工程项目后评价包括以下内容:
- 软件工程项目目标评价
- 软件工程项目实施过程评价
- 软件工程项目经济效益评价
- 软件工程项目可持续性评价
- 软件工程项目的影响评价
- 软件工程项目综合评价
- 软件工程项目后评价的方法有哪些?
答:软件工程项目后评价的方法主要有:
1)对比分析法
2)因素分析法
3)逻辑框架法
4)成功度评价法
5)综合评价法 - 软件工程项目营运后评价的目的是什么?
答:软件工程项目营运后评价的目的是通过软件工程项目建成后的实际数
据或者重新预测的数据来衡量其实际经营情况与投资效益,分析并评价其与同类
项目经营状况与投资效益的偏离程度及原因,比较系统的总结软件工程项目投资
的经验教训,并进一步为提高投资效益提出切实可行的建议。 - 软件工程营运后评价的意义是什么?
答:软件工程营运后评价的意义是
- 全面衡量软件工程项目实际投资效益。
- 系统地总结软件工程项目投资的经验教训,进而指导未来项目投资活动。
- 通过采取一些补救措施,提高软件工程项目运营的实际经济效益。
- 软件工程营运后评价的内容和方法是什么?
答:软件工程项目营运后评价的主要内容有:
1)企业经营管理状况的评价
① 企业项目上线以后经营管理机构的设置和调整情况。
② 企业高层领导班子的情况。
③ 企业管理人员配备情况。
④ 经营管理的主要策略与实施效果。
⑤ 企业现行管理规章制度。
⑥ 归纳总结从企业经营管理中可吸取的经验教训,提出改善企业经营管理
及其进一步发挥项目投资效益的相关建议。
2)软件产品方案的评价
① 软件工程项目上线运行后到项目后评价时为止的软件产品规格和版本的
变化情况。
② 分析软件产品方案的调整对发挥项目投资效益的影响,评价软件产品方
案调整的成本。
③ 现行软件产品方案是否适应消费对象的消费需求,现行软件工程产品方
案与前评价或可行性研究时的设计方案相比的变化程度,软件产品方案的变化会
多大程度上影响到项目投资效益。
④ 软件产品选择的销售方式。如广告的形式以及广告的成本与效果,对软
件产品销售的影响情况。
3)软件工程项目达产年限的评价
软件工程项目达产年限评价的内容和步骤是:
① 计算软件工程项目实际达产年限。
② 计算软件工程项目实际达产年限的变化情况。其主要与项目前期设计的
或项目前评价预测的达产年限进行对比,一般以实际达产年限变化率或实际达产
年限与设计或预测的达产年限的差值来表示。
③ 查找软件工程项目实际达产年限和设计达产年限,相比两者发生变化的
原因。
④ 分析并计算软件工程项目达产年限变化所带来的实际效益或损失。
⑤ 分析软件工程项目达产年限评价的结论,总结经验教训,为促使项目早
日达产制定可行的对策与措施。
4)软件产品生产成本的评价
软件产品生产成本评价的内容和步骤如下:
① 计算软件工程项目实际软件产品的生产成本,包括生产总成本与单位生
产成本。在进行软件工程项目后评价时,软件产品生产成本不需要重新计算,可
以直接查阅企业相关财务报表获得。
② 分析软件产品总成本的构成及其变化情况。
③ 分析软件产品实际单位生产成本的构成及其变化情况。
④ 与软件工程项目前评价或可行性研究中的预测成本进行比较,计算实际
生产成本变化率并分析实际生产成本与预测成本的偏差及其产生的原因。
⑤ 分析软件工程项目实际生产成本发生变化对项目投资效益的影响程度,
并提出降低软件工程项目实际生产成本的有效措施。
5)软件产品销售利润的评价
软件产品销售利润评价的内容与步骤如下:
① 计算软件产品上线或是投产后历年实际销售利润的变化及其原因。
② 计算实际软件产品销售利润变化率。
③ 分析项目实际软件产品销售利润偏离预测销售利润的原因,并计算各种
因素对实际软件产品销售利润的影响程度。
④ 提高实际软件产品销售利润的对策与建议。
6)软件工程项目经济后评价
7)对软件工程项目可行性研究水平进行综合评价。其评价的内容和步骤是:
① 分析与评价软件工程项目实施过程的实际情况和预测情况的偏差。
② 分析与评价软件工程项目预测因素的实际变化和预测情况的偏离程度。
主要包括投资费用、软件产品的产量、生产成本、销售收人、价格、市场需求、
各项费率和国家参数等偏差。
③ 分析与评价可行性研究各种假设条件与实际情况的偏差。主要包括软件
产品的销售量;贷款利率、通货膨胀率等偏差。
④ 分析与评价实际投资效益指标和预测投资效益指标的偏离程度。主要包
括实际投资利润率、实际投资利税率、实际净现值、实际内部收益率、实际投资
回收期、实际贷款偿还期等变化。
⑤ 分析与评价软件工程项目实际敏感性因素与敏感性水平。
⑥ 对软件工程项目可行性研究深度进行总体评价。