软件工程复习题-快来划重点

2021-09-14 11:24:18 浏览数 (1)

文章目录

  • 写在前面
  • 选择题
  • 填空题
  • 计算题
  • 分析题

写在前面


各校教学和考试大纲肯定有差异,此份复习总结仅作参考。

选择题


10’

  • CMM2级过程区域有7个:需求管理项目策划项目监督和控制供方协定管理测量和分析过程和产品质量保证配置管理。P42
  • PSP是一种可用于控制、管理和改进个人工作方式的自我改善过程,是一个包括软件开发表格指南过程的结构化框架。P45
  • 甘特图,也称为条状图,是在1917年由亨利·甘特开发的,其内在思想简单,基本是一条线条图,横轴表示时间纵轴表示活动(项目),线条表示在整个期间上计划和实际的活动完成情况。P69
  • LOC指所有的可执行的源代码行数,包括可交付的工作控制语言语句数据定义数据类型声明等价声明输入/输出格式声明等。P79
  • 功能点测量是在需求分析阶段基于系统功能的一种规模估计方法。P80
  • COCOMO模型估算软件成本、工作量和进度计划。P85
  • Putnam模型表示规模、工作量、开发时间之间的关系。P90
  • 资金的时间价值是指资金在运动过程中,随时间的推移而发生的增值。P102
  • 净现值(Net Present Value,NPV)法是一种项目评价技术。净现值就是净的现在价值。一个投资项目的净现值等于一个项目整个生命周期内预期未来每年净现金流的现值减去项目初始投资支出P107
  • 软件配置管理是控制软件系统演进的学科,软件配置管理是指通过执行版本控制变更控制等规程、以及使用合适的配置管理软件,来保证所有的配置项的完整性可跟踪性。P115
  • 正式技术复审(Formal Technical Review,FTR)是一种由软件工程师进行的软件质量保证活动。P122
  • 项目风险源于任何项目中都存在的不确定性。P125
  • 一般认为软件风险有3种类型,即项目风险技术风险商业风险。P130
  • 测试的目的是以最少的时间和人力找出软件中潜在的各种错误和缺陷。P214
  • 封装是按照信息隐蔽的原则,把对象的属性方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。P262

填空题


10’

  • 软件工程是将系统化规范化可度量的方法应用于软件的开发、运行和维护的工程。P3
  • 软件工程所研究的主要内容包括软件开发技术软件工程管理两个方面。P3
  • 从广义上讲,软件是依据某一特定的观念,原则所形成的某类操作行为文件。P3
  • 复杂性是“软件危机”的本质原因。P6
  • 软件研究的主要内容有方法工具过程三要素。整个体系结构反映了以质量为中心的观点。关注质量是软件工程的根本出发点和最终目标。P11
  • 软件过程则是指将软件工程方法软件工具相结合,实现合理、及时地进行软件开发的目的,为开发高质量软件规定各项任务的工作步骤。软件工程的根基在于质量关注点。P12
  • 因为软件的实质是人们以计算机编程语言为桥梁,将现实世界映射于计算机世界中,已解决人们在客观感知世界中的问题。P12
  • 结构化开发方法由结构化分析结构化设计结构化程序设计三部分组成。P13
  • 结构化软件开发方法是以面向数据面向过程面向功能面向数据流的观点来映射问题的。P13
  • 在瀑布模型中,开发被认为是按照需求分析设计实现(编码)、测试维护阶段顺序地进行,当线性序列完成之后就能够交付一个完善的系统。P29
  • 演化模型是利用一种迭代的思想方法,它的特征是使软件工程师渐进地开发逐步完善的软件版本。主要包括增量模型螺旋模型两种范型。P30
  • 增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它对规定在开始下一个阶段的工作之前,必须完成前一个阶段的所有细节;而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段的小细节,从而较早地产生工作软件。P31
  • 项目范围管理是确保项目包括成功完成项目所需的全部工作,但又只包含必须完成的工作的各个过程。P52
  • 软件项目管理就是为了使软件项目能够按照预订的成本、进度、质量顺利完成,而对人员产品过程项目进行分析和管理的活动。P52
  • 在项目规划的过程中,人们往往会求助于WBS方法进行项目工作内容的分解。在此基础上再进行资源的分配进度计划评估项目的成本。P63
  • 进度管理,可以从两个方面解释,一方面是要制定一个可行而且高效率的计划,而另外一方面则是要执行此计划。P66
  • 软件成本预测的直接目的是估算出成本工作量,而其最终目的是为了项目的过程和结果提供概率意义上的预测,同时可以用来改进软件工程。P75
  • 系统论也可以说是一种方法论,系统论的基本思想方法就是:以所研究和处理的对象作为一个系统,分析系统的结构和功能,研究系统要素环境3者的相互关系和变动的规律性,并优化系统观点看问题。P154
  • 程序设计风格就是人们在长期的编程实践中形成的一套独特的系统做法编程方式。P211
  • 面向对象开发的思想与人类习惯的思维方法一致,它从对象出发去认识客观世界,分析问题域,如实地描述问题域中事物之间存在的各种关系。P257

计算题


35’

P109

  1. 已知有一个典型的软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168 000美元。试计算开发该软件的生产率P和每代码行平均成本C。

解 软件生产率P=项目规模(LOC或FP)/项目总工作量(人月,PM) 单位LOC/PM或FP/PM

  • P = 12.1 × 1000 24 = 504.2 P=frac{12.1×1000}{24}=504.2 P=2412.1×1000​=504.2(LOC/人月)

每行代码平均成本C=总成本/项目规模(LOC)

  • C = 168000 12.1 × 1000 = 13.88 C=frac{168000}{12.1×1000}=13.88 C=12.1×1000168000​=13.88(美元/LOC)
  • 使用COCOMOⅡ模型来估算一个软件系统所需的工作量,该系统产生12个屏幕、10个报表,需要大约80个软件构件。假定该软件具有“中等”复杂度和“正常开发者环境”成熟度,复用的百分比为40%。试完成以下计算: (1)计算项目的NOP。 (2)进行工作量估算(人月)。 (3)假设软件人员劳动力平均价格是每月5000元人民币,求每个NOP的成本。

解 新对象点数目NOP

  • N O P = 对 象 点 数 目 × ( 100 − R E U S E % ) / 100 NOP=对象点数目×(100-REUSE%)/100 NOP=对象点数目×(100−REUSE%)/100

生产率PROD

  • P R O D = N O P 人 月 PROD=frac{NOP}{人月} PROD=人月NOP​

工作量人月数PM

  • P M = N O P P R O D PM=frac{NOP}{PROD} PM=PRODNOP​

表4-8 对象点复杂度权重

表4-9 对象点工作量转换

开发人员的经验和能力非常低低正常的高非常高生产率(PROD)47132550

(1)NOP= ( 12 × 2 10 × 5 80 × 6 ) × ( 100 − 40 ) / 100 = 332.4 (12×2 10×5 80×6)×(100-40)/100=332.4 (12×2 10×5 80×6)×(100−40)/100=332.4

(2)PM= 332.4 / 13 = 25.57 332.4/13=25.57 332.4/13=25.57(人月)

(3)每个NOP的成本= 5000 / 13 = 338.4 5000/13=338.4 5000/13=338.4(元/NOP)

  1. 根据下面信息域特性值:

外部输入数

外部输出数

外部查询数

内部接口数

外部文件数

10

12

15

8

8

根据各项加权因子均为5,不考虑复杂度调整值(即: ∑ F i = 0 sum{F_i}=0 ∑Fi​=0),试完成以下计算:

(1)计算项目的功能点的总计数值FP。

(2)设平均生产率为10FP/pm,软件人员劳动力平均价格为5000元人名币,求每个FP的成本。

(3)根据FP值计算总的项目成本,并进行工作量估算(人月)。

解 P81 功能点(Function Point,FP)测量是在需求分析阶段给予系统功能的一种规模估计方法

  • F P = 总 计 数 × [ 0.65 0.01 × S U M ( F i ) ] FP=总计数×[0.65 0.01×SUM(F_{i})] FP=总计数×[0.65 0.01×SUM(Fi​)]

(1)FP=(10 12 15 8 8)×5×0.65=172.25

(2)每个FP=5000/10=500(元)

(3)总成本=500×172.25=86125(元)

代码语言:txt复制
      E=172.25/10=17.225(人月)
  1. 在人员和时间之间的关系是高度非线性的。使用Putnam的软件公式,编制一个表,反映软件项目中人员数量于项目持续时间之间的关系,该项目需要50 000LOC和15人年的工作量(生产率参数为5000,且B=0.37)。假定该软件必须在24个月和加减12个月的时间期限内交付。

解 Putnam模型:

  • L = P × E 1 3 t d 4 3 L=P×E^{frac{1}{3}}t^{frac{4}{3}}_d L=P×E31​td34​​
  • E = L 3 / ( P 3 t d 4 ) E=L^3/(P^3t_d^4) E=L3/(P3td4​)L为源代码行数(以LOC计); E为开发于维护的工作量(以人年计); td为开发时间(以年计); P为生产率参数,与开发环境有关,取值如下

开发环境P值差2000一般8000好11000

代码语言:txt复制
                                                E                               2                                      =                            15                            ,                            人                                       年                               2                                      =                                       E                               2                                      /                            2                            =                            7.5                                  E_2=15,人年_2=E_2/2=7.5                     E2​=15,人年2​=E2​/2=7.5
代码语言:txt复制
                                                            E                                  1                                                      E                                  2                                                 =                                                                L                                     3                                              /                                               P                                     3                                                           t                                     d                                     4                                                                               L                                     3                                              /                                               P                                     3                                              (                                  2                                               t                                     d                                                           )                                     4                                                                   frac{E_1}{E_2}=frac{L^3/P^3t_d^4}{L^3/P^3(2t_d)^4}                     E2​E1​​=L3/P3(2td​)4L3/P3td4​​
代码语言:txt复制
                                                E                               1                                      =                            15                            ×                            16                            =                            240                            ,                            人                                       年                               1                                      =                            240                            /                            1                            =                            240                                  E_1=15×16=240,人年_1=240/1=240                     E1​=15×16=240,人年1​=240/1=240
代码语言:txt复制
                                                            E                                  3                                                      E                                  2                                                 =                                                                L                                     3                                              /                                               P                                     3                                              (                                  3                                               t                                     d                                                           )                                     4                                                                               L                                     3                                              /                                               P                                     3                                              (                                  2                                               t                                     d                                                           )                                     4                                                                   frac{E_3}{E_2}=frac{L^3/P^3(3t_d)^4}{L^3/P^3(2t_d)^4}                     E2​E3​​=L3/P3(2td​)4L3/P3(3td​)4​
代码语言:txt复制
                                                E                               3                                      =                            15                            ×                                       16                               81                                      =                            2.96                            ,                            人                                       年                               3                                      =                                       E                               3                                      /                            3                            =                            0.99                                  E_3=15×frac{16}{81}=2.96,人年_3=E_3/3=0.99                     E3​=15×8116​=2.96,人年3​=E3​/3=0.99

1年2年3年E240152.96人年2407.50.99

  1. 表4-13是某公司的一个项目的历史书籍,假设评价时间为2008年4月1日,试利用获得值分析公式计算如下指标: 表4-13 项目历史数据

工作任务

估计工作量成本人天

实际工作量成本

估计完成日期

实际完成日期

1

5

10

2008-1-25

2008-2-1

2

20

15

2008-2-15

2008-2-15

3

50

6

2008-5-15

4

40

50

2008-4-15

2008-4-1

5

60

50

2008-7-1

6

80

70

2008-9-1

(1)预计工作的预算成本BCWS。

(2)已完成工作的预算成本BCWP。

(3)完成工作的预算成本BAC。

(4)已完成工作的实际成本ACWP。

解 P99

  • 计划完成工作的预算成本(Budgeted Cost of Work Scheduled,BCWS): 是到目前为止的总预算成本,它表示”到目前为止原来计划成本是多少“或者说”到该日期为止本应该完成的工作是多少‘,它是根据项目计划计算出来的。
  • 已完成工作的预算成本(Budgeted Cost of Work Performed,BCWP): 又称为以获取价值,是到目前为止已完成的工作的原来预算成本,它表示了“到该日期为止完成了多少工作”
  • 工作完成的预算成本(Budgeted At Completion,BAC): 是项目计划中的成本估算结果,是项目完成的预计总成本。
  • 已完成工作的实际成本(Actual Cost of Work Performed,ACWP): 是到目前为止所完成工作的实际成本,它说明了“到该日期为止实际花了多少钱”,可以由项目组统计。

(1)BCWS=5 20=25 (估计日期4-1前的估计成本加起来)

(2)BCWP=5 20 40 =65(已完成的估计成本加起来)

(3)BAC=5 20 50 40 60 80=255 (所有估计成本加起来)

(4)ACWP=10 15 50=75 (已完成的实际成本加起来)

  1. 假设一10%的年利率借得30 000元,投资于某个生命周期为10年得项目,为使该投资项目成为有利得项目,每年至少应收回得现金数额为多少?

解 年金现值: P = A × 1 − ( 1 i ) − n i P=A×frac{1-(1 i)^{-n}}{i} P=A×i1−(1 i)−n​;年金现值系数用符号(P/A,i,n)表示 P=A×(P/A,10%,10) A=30000÷6.1446=4882.34(元)

  1. 某个固定资产投资项目需要原始投资1000万元,有A、B、C、D4个互相排斥的备选方案可供选择,各方案的净现值指标分别为420.89万元,511.72万元,620.60万元和556.26万元。试按净现值法进行比较决策。

解 620.60万元

  1. 某人拟存入一笔资金以备3年后使用。假定银行3年期存款年利率为5%,3年后需用的投资金额为34 500元,则在单利计算情况下,目前需存入的资金是多少元?

解 单利现值: P = F / ( 1 i × t ) P=F/(1 i×t) P=F/(1 i×t) 单利终值: F = P ( 1 i × t ) F=P(1 i×t) F=P(1 i×t) P=34500/(1 5%×3)=30000(元)

  1. 某公司准备购置一台设备,有甲、乙两种可供选择,甲设备比乙设备高5030元,但每年使用费可节约600元。该设备可以使用10年,假设年利率为6%。该公司应选择使用哪一种设备?

解 P=A×(P/A,6%,10)=600×7.3601=4416.06 4416<5030 故选乙

小结

现值

终值

单利

F / ( 1 i × t ) F/(1 i×t) F/(1 i×t)

P ( 1 i × t ) P(1 i×t) P(1 i×t)

复利

F ( 1 i ) − n F(1 i)^{-n} F(1 i)−n

P ( 1 i ) n P(1 i)^n P(1 i)n

年金

A 1 − ( 1 i ) − n i Afrac{1-(1 i)^{-n}}{i} Ai1−(1 i)−n​

A ( 1 i ) n − 1 i Afrac{(1 i)^n-1}{i} Ai(1 i)n−1​

插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

分析题

45’

P181

  1. 一个机票预订系统完成如下功能:工作人员把预定机票的旅客信息(姓名、身份证号码、航班号、出行时间、出行起始地、出行目的地等)输入该系统,系统为旅客预订航班(如果航班满员,系统自动查出满足出行时间、出行起始地、出行目的地的其他航班供选择),打印出取票通知,旅客在飞机起飞前一天凭取票通知缴款取票,工作人员通过使用该系统核对旅客信息无误后,确认缴款并打印出机票给旅客;系统需要工作人员登录才能进入,系统登录后上一次操作后,都会返到选择操作界面(选择“预订航班”还是“缴款”)。请用数据流图描述该系统。

  1. 某储蓄所的存、取款业务需求如下:储户将填好的存(取)款但及存折交给业务员,业务员进行分类处理。如存取(款)单填写有误,将存折及存(取)款单返还储户;如果是存款,将存折及存款单、现金交存款业务员处理,存款业务员通过读存折器查出储户账款信息,录入存款信息,打印存折后将存折返还给储户;如果是取款,将存折及取款单交取款业务员处理,取款业务员通过读存折器查出储户账款信息,录入取款信息,打印存折后将存折于现金交付储户。试画出该系统分层的数据流图。

  1. 某学校的教材购销系统又如下功能:学生买书,首先填写购书单,计算机根据各班学生用书表及售书登记表审查有效性。若有效,计算机根据教材库存表进一步判断书库中收费有书;若有书,把领书单返回给学生,学生凭领书单到书库领书。对脱销的教材,系统用缺书单的形式通知书库,新书购进库后,也由书库将通知返回系统。就以上系统功能画出分层的数据流图。

P208

  1. 储户将填好的存(取)款单、存折交给银行,银行工作人员做如下处理:根据存(取)款单选择存款还是取款操作;如果是存款则进行存款处理;如果是取款则进行取款处理;存(取)款后打印存折。图8-24~图8-27是该系统的分层数据流图,是将其转换为软件结构图。

  1. 将第七章思考题8的数据流程图转换为软件结构图。

  1. 画出下面由PDL写出的程序的PAD(其中A、B、C1、C2、D1、D2、D3、E、F表示语句块)。
代码语言:javascript复制
A
loop while a
	B
	if b>0 then
		C1
	else 
		C2
	end if
	case d of
		case d1:D1
		case d2:D2
		default:D3
	end case
	E
end loop
F

  1. 画出第4题中由PDL写出的程序的N-S图。

  1. 邮寄包裹收费如下:若收件地点在1000千米以内,普通件每千克2元,挂号件每千克3元。若收件地点在1000千米以外,普通件每千克2.5元,挂号件每千克3.5元。任何包裹若重量大于30千克,超出部分每千克加收0.5元。请绘制确定收费的判定树和判定表。

给需求=》归并用例=》画用例图=》写用例规约

可参考UML用例图

0 人点赞