软件工程基础习题docxWord格式文档下载.docx
《软件工程基础习题docxWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程基础习题docxWord格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
2
DATA
3
CPLX
4
TIME
5
STOR
正常
6
VIRT
7
TURN
8
ACAP
低
9
AEXP
1()
PCAP
11
VEXP
12
LEXP
很低
13
MODP
14
TOOL
15
SCED
17..什么是软件方程?
写出每个量的意义。
1&
某大公司第二开发部所属的第二软件工程项H部开发一个航天监控系统软件,程序用汇编语言实现,共有120个模块,平均的模块规模为500句指令/模块,计划用20个月完成,祈取3万元,试用Aron模型估算成木和工作量。
19.开发某软件系统S有3种选择策略:
完全自行开发、购买成品软件、承包给软件公司开发,以下是经分析后的结果。
若完全口行开发则困难的概率为0.6,经估算成本为158力元。
在简单的情况下,估算成本为112万元。
若购买成品软件,则较少修改的概率为0.8,估算费用为92万元;
在较大修改的情况下复杂的概率为0.7,估算费用为108万元,简单的情况下估算费用为88万元。
若承包给外部软件公司开发,则没有变化的概率为0.7,估算费用为110万元,在有变化的情况下,估算费用为140万元。
利用决策树计算并给出结论,哪种方式具有最低的成本?
20.某软件工程项目由A、B、C三项子工程纽成,其中A包扌?
iAl、A2、A3三项顺序工作,所用时间分别为2、3、4个月,B包插Bl、B2、B3、B4四项顺序工作,所用时间分别为2、2、2、4个月,C包插Cl、C2、C3三项顺序工作,所用时间分别为4、3、4个月,要求A1必须完成后才能开始子工稈B,A3完成后才能开始进行B2,B2完成后才能开始C1,B3完成后才能开始C2,C3、B4均完成后工程才能算结束,试分别用Gantt图和PERT图描述该工程进度安排,给出关键路径,标出各任务的机动吋间。
21.图2・9是一个软件开发项目的PERT图,图上每条边上的数字表示完成这条边所代表的任务所需周数,对于每项任务请计算出最早时刻EET、最迟时刻LET及机动时间TsIack,最后确定关键路径。
图2・9题21需完成的PERT图
22.某公司开发一个软件系统,该系统包括XI、X2、X3、X4四个子系统,每个子系统均包含下列工作:
需求分析(A)->概要设计(P)->详细设计(D)->编码(C)->测试(T),其屮“需求分析”主要由市场部及工程部完成,“概要设计”及“详细设计'
'
主要由软件部完成,“编码”主要由程序设计部完成,“测试"
主要由质监部完成,各项工作所需时间如表2・14,试分别用Gantt图和PERT图描述该工程进度女排,给出关键路径。
表2・14题22中各项工作所需时间(单位:
人月)
任务
子系
需求分析
(A)
概要设计
(P)
详细设计
(D)
编码
(C)
测试
(T)
XI
1
X2
X3
—
X4
23•试用代码行技术完成表2-15,并计算代码行总误差LcL
表2-15题23中已知表项
功能
a
m
b
L
每行成本(元/行)
生产率(行/人月)
成本(万元)
工作址(人月)
A
2000
2400
2650
200
B
3000
3300
25
350
C
3560
4000
4250
340
D
1900
2(XX)
21()0
30
300
E
2120
2200
2300
18
280
F
1890
2KX)
20
总计
24.表2-16是某软件成本估算表,试将其完成。
表2・16题24中已知表项
3500
140
5200
16
260
40
100
9300
3600
2()
240
G
6000
总讣
25.根据表2J7计算软件开发成木及工作量
表2J7题25屮已知表项
需求分析(人月)
设计(人月)
编码(人月)
测试(人月)
总计(人月〉
3.5
2.5
6.5
10
工资率(元/人月)
15000
12000
8000
11000
总计(万元)
习题3
1.软件需求分析屮主要应完成哪些工作?
2.什么是SRS?
为什么说SRS是软件开发过程中一个重要的里程碑?
一份好的SRS应具有哪些特征?
3.DFD的基本组成元素有哪些?
如何表示?
4.什么是数据词典?
编写数据词典应注意哪些问题?
5.分层数据流图的平衡指的是什么?
6.如何检査数据流图的正确性?
如何改进数据流图?
7.指岀数据流图中的错谋。
图3・17题7的数据流图
图中相关的数据流及包含的数据项如下。
A:
al,a2,bl,m;
B:
al,bl,b2;
M:
m,a2;
N:
t,ns;
C:
T:
m,a2,ns。
8.
图3・18是某系统的分层数据流图,试将其重新分解,使各部分Z间的联系故少。
图3-18题8的数据流图
9.试针对图3・1编写数据词典。
10.写出结构化英语的约束和原则。
11・分别用结构化英语(或汉语)、判定树和判定表描述下列问题。
某商场顾客购物时收费有4种情况:
普通顾客一次购物累计少V100元,按A类标准收费(不打折),一•次购物累计等于或多于100%,按B类标准收费(打9折);
会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。
12.抛齐式原型开发有什么特点?
分析抛弃式原型开发的主要问题。
13.演化式原型开发有什么优势?
在使用这种方法时要注意哪些问题?
14.增量式的原型开发过程有什么特点?
15.有哪些比较实用的快速原型技术?
16.简述Coad/Yourdon方法中对象模型的5个层次。
17.Booch方法的OOA包扌舌哪些活动?
18.什么是OMT方法?
该方法将开发过程分为几个阶段?
各个阶段的工作任务是什么?
各个阶段都生成什么?
19.在Jacobson方法中需求分析阶段应该完成哪些工作?
该方法的一个关键概念是usecase,usecase模型与哪些系统模型关联?
20.简要说明UML的主要模型图有儿种?
每种图的作川是什么?
21.简述基于UML的软件开发过程,与传统方法相比有什么特点?
习题4
1.软件设计阶段主要应完成哪些工作?
简要给出软件设计的流程。
2.简述软件设计的目标和准则。
3.软件体系结构主要研究哪些内容?
4.软件模块化是为了降低软件复杂性,以减少设计、编程、测试及维护工作量和成本。
设C(X)为问题X的复朵度,E(X)为解决X所花费的工作量,
若有X/和X2且C(X/)>
C(X2),则E(XI)>
E(X2),
因为C(X/+X2)>
C(X7)+C(X2),所以E(X/+X2)>
E(X7)+E(X2)。
这样我们可以得出结论,若将软件无限模块化就可将以后的工作量及成本降低为0,这种说法显然不对,试给出有说服力的说明。
5.指出图4-49所示软件结构的宽度、深度,模块E的扇入、扇出数,哪些模块统帅了E,哪些模块从属于E。
图4-49题5的软件结构图
6.Myers给出了2种衡量模块独立性的度量,给出它们的名称。
每一种乂是如何划分的,给出从弱到强或从强到弱的排列,我们追求的目标是什么?
7.血向数据流的设计方法、血向数据结构的设计方法、面向对彖的设计方法以及血向
Agent的设计方法有什么不同?
8.在软件结构的设计过程屮,若发现一个判定的作川范围不在该判定模块的控制范围Z内应如何改进?
9.概要设计和详细设计有什么不同?
10.什么是信息隐蔽原理?
11.什么是软件的冗余设计、防卫设计?
12.给出典型的“变换型”数据流图的结构,给出典型的“事务型'
数据流图的结构,它们有什么不同?
13.
分别计算图4・50所示程序图(a)和(b)的环行复杂度。
14.已知n1=672,Nl=2128,n2=541,N2=1882,试用Halstcad的软件科学估算程序中的错误数。
15.把图4-51的结构化流程图分别转换成PAD图和N・S图。
图4-51题15的结构化流程图
16.先将图4・52描绘的N・S图转换为结构化流程图,然后计算它的环行复杂度(要求:
计算Z前先画出程序图)。
图4-52题16的N・S图
17.试用SD方法将图4-53的数据流图映射成软件结构图。
图4-53题17的数据流图
18.简述00D的任务。
19.简述对软件设计进行综合评判的意义。
20.简述Jackson设计方法的步骤。
21.简述用LCP方法设计程序的步骤。
22.解释OOD基本概念:
对象、类、封装、继承、消息、结构与连接、多态性。
23.简述Coad与Yourdon的OOD方法。
24.简述层次化OOD方法。
25.求一元二次方程ax2+bx+c=0的两个实根xl和x2,并打印结果。
用结构化英语描述解决该问题的算法。
26.分别用结构化英语、判定表和判定树描述下列问题。
所有住户50平方米以内每平方米2800元,超过50平方米以后:
在本人住房标准面积以内每平方米3600元,其中住房标准为:
教授140平方米,副教授120平方米,讲师90平方米,标准而积以外每平方米6000元。
27.某公路收费站对载客车过路费的收费标准如下:
20座及以下客车:
7元/车;
21座及以上至50座客车:
15元/车;
51座及以上客车:
25元/车;
特殊车辆不收费。
试分别用结构化英语(或汉语)、判定表和判定树对上述收费问题进行描述。
2&
图4・54是用Jackson图描述的某程序结构,试用伪码将其描述出来。
图4-54题28的Jackson图
其循环调用及选择调用条件如下:
当be成立吋,B调用E;
当dc=truc,D调用F,当dc=false,则D调用G;
当fc=lruc,则F调用J;
当genrue,则G调用K,否则G调用L。
29.根据题28的描述,先用Warnier图表示出程序的处理层次,假设E重复8次,J重复m次。
然后,根据Warnier图所表示的程序处理层次画出程序流程图。
习题5
1.简述程序编码在软件工程过程中的作用。
2.程序设计语言是如何进行分类的?
3.简要说明编码风格的重要性。
4.简述在用计算机语言实现软件过程描述时,应遵循的参考规则。
5.源程序文档化主要包括哪些方面?
6.简述Wasserman原则的内容,什么是“用户软件工程”?
7.说出儿种较有影响的而向对象的编程语言,简要介绍卞列语言:
C++、JavaC#。
习题6
1.简述Myers提出的软件测试Fl标。
2.简述Davis提出的软件测试原则。
3.什么是软件的可测试性?
良好的可测试性软件应包括哪些特征?
4.简述良好软件测试的4个属性。
5.简述或用图示的方式给出软件测试与开发过程的对应关系。
6.软件单元测试包含哪些内容?
什么是单元测试坏境?
为什么耍构建单元测试环境?
7.什么是软件集成测试的增殖方式和非增殖方式?
简述采用自顶向下和自底向上增殖方式进行软件集成测试的步骤,为什么要进行冋归测试?
9.什么是(X测试和卩测试?
它们有什么区別?
10.软件确认测试主要包括哪些工作?
11•什么是系统测试?
主要有哪些方而?
12.图6・10是某软件结构图,已经过模块测试,现进行整体测试,试分别写出川自顶向卜和自底向上的整体测试方法进行测试的增殖次序。
图6-10题12的软件结构图
13.若开发出一个某项大型活动网上售票系统,说明如何进行压力测试。
14.为什么说软件的穷举测试是不可能的?
举例说明。
15.软件的口盒测试和黑盒测试有什么不同?
16•简述软件白盒测试中的6种覆盖标准,针对一个具体程序设计测试用例,使其分别满足这6种覆盖标准。
17.简述软件划分测试与随机测试方法。
18•简述软件鉛误推测法的基本思想。
19.等价类划分是软件白盒测试方法还是黑盒测试方法?
简述使用等价类划分方法设计测试用例的依据。
20.简述在使用等价类划分方法设计软件测试用例时,有助于等价类划分的启发式规则。
21.简述因果图法设计软件测试用例的具体步骤。
22.人工测试程序主要有哪些方法?
说出名称。
23.软件调试与软件测试有什么不同?
简述软件调试的步骤。
24.主耍的软件调试方法有哪些?
25.简述程序调试原则。
26.软件可靠性和可用性是如何定义的?
在软件生存期内影响软件可靠性的因素主要有哪些?
27.简述而向对象的软件测试策略,每一步的测试重点是什么?
面向对象类测试方法主要有哪些?
习题7
1.软件维护可分为几种?
用图示的方式给出各种维护的工作量分布。
2.根据变化的不同,可将现实壯界的系统分为S・系统、P■系统和E■系统3类,它们各有什么特点?
3.衡量软件可维护性的特性主要有哪些?
4.简述软件的“90-10测试”方法。
5.简述软件可修改性的定量度量方法。
6.为什么说软件的文档化对提高软件的可维护性非常重耍?
7.为什么要建立软件质量特性的优先级?
为了提高软件的可维护性,可以采川哪些类型的软件审查?
9•丿U图示的方式描述软件开发过程中不同的检查点及审查的重点。
10.什么是软件再工程?
Pressman提出的软件再工程过程模型包括哪些活动?
11.用图示方式给出软件的逆向工程过程。
12.软件重构的目的是什么?
如杲重构工作是为了改变软件的体系结构,则重构是逆向工程还是正向工程?
13.简述用户界面再工程的4个步骤。
14.简述Sneed提出的软件再工程成本■效益分析模型,给出各参数的意义。
15.某企业现有3个应用软件系统X、Y和乙欲对它们进行软件再工程,以使其适应公司业务的变动,经估算和分析,得参数如下:
系统X的参数:
Pi=10万元,P2=24万元,P3=1200万元,P4=5万元,P5=12万元,P6=1800万元,卩7=60万元,P»
=1年,P尸1.25,L=10年。
系统Y的参数:
P|=6万元,卩2二10万元,P3=8OO7j'
元,Pq=3万元,P§
=5万元,P6=1000Zj'
兀,卩7=46力元,P&
=1年,卩9=1.25,L=8年。
系统Z的参数:
P|=l万元,P2=l万元,P尸75万元,Pq=2万元,卩5=2万元,P6=100万元,P7=38万元,P8=0.5年,P9=1.2,L=10年。
试根据Sneed模型对这3个应川系统进行成木-效益分析,给出它们的再工程次序。
习题8
1.软件复用可以分为横向复用和纵向复用,请解释这2种复用。
2.简述CaperJones定义的10种软件复用类型。
3.给出软件复用类型的制品按照复用粒度从小到大的分类,简要给出每类制品的优缺
4.领域工程的主要任务是什么?
5.为了使构件便于复用,可复用构件应具有什么特征?
6.简述OMA体系结构。
与OMA体系结构相对应的CORBA的4个对象接口是什么?
7.可复用构件库常用的分类模式有几种?
给出名称。
8.什么是对复用构件库的枚举分类模式?
它有什么优缺点?
9.什么是构件的刻面?
什么是可复川构件库的刻面分类模式?
10.什么是可复川构件库的属性一值分类模式?
U.nJ-g用构件的检索方法有哪些?
12.什么是构件合成?
构件合成技术大致可分为儿种?
13.简述动态软件复用思想。
14.简述在面向对象软件复川技术屮可复川类库的组织方式、常用的类库检索方法以及新软件中类的合成方法。
习题9
1.为什么说传统软件工程方法与血向对彖方法Z间不能建立直接的联系?
2.什么是类的多重继承?
什么是类的简单继承?
在简单继承方式下,类的层次结构是什么结构?
多重继承是什么结构?
3.简述封装和多态的区别。
4.简述软件建模的亜要性。
5.简述OOA、00D及OOP的主要任务。
6.什么是UML中的用例图?
7.“场景”是用户使用系统的一个实际的、特定的场而,先写出顾客在餐厅用餐的场景,然后用UML表示出餐厅管理系统的用例图。
什么是UML中的类图和对彖图?
它们Z间有什么关系?
9“教学,,、“学生”、“A级车”、“三国演义”、“校园卡”、“号码为20120909135的学生证”中,哪些是对象?
哪些是类?
10.什么是UML小的关联?
普通关联、递归关联、多觅关联以及或关联有什么不同?
11.什么是UML中的泛化关系?
解释单一-泛化和多重泛化。
12.什么是UML中的依赖关系?
13.什么是UML中的聚集关系?
解释共享聚集和组合聚集。
14.解释UML中的包图。
15.什么是UML中的交互图?
交互图包括哪些图?
16.试用UML表示出自动车锁系统中,实现“锁车”用例的顺序图。
17.在饮料自动销售系统中,顾客从机器的前端钱币口投入钱币,然后选择想要的饮料。
钱币到达钱币记录仪,记录仪更新自己的选择。
正常时记录仪通知分配器分发饮料到机器前端,但可能饮料已售完,也可能用完了找给顾客的零饯而无法销售饮料。
先写出“买到饮料"
的场景、“饮料已售完”的场景以及“机器没有合适的零钱”的场景,然后根据场景,用UML分别表示出“买到饮料”、“饮料己售完”以及“机器没有合适的零钱”的顺序图。
18.UML中的行为图包括哪些图?
19.在飞机航班订票系统中,飞机票有无预订、部分预订、预订完和预订关闭4种状态。
在刚确定飞行计划时,显然是没有任何预定的,并月.在顾客预订机票Z前都将处丁•“无预订"
状态。
对于订座而言,有“部分预订”和“预订完"
两种状态。
当航班快要起飞时,显然要“预订关闭S飞机票无论处于哪种状态,可能有的外部事件有4种:
①预订():
顾客预订机票;
②退订():
顾客退订机票;
③关闭():
机票管理员关闭订票系统;
④取消航班():
飞机调度人员取消飞行计划。
试确定状态间的转换,画出用UML表示的飞机航班订票系统的初步状态图。
20.UML屮的实现图包括哪些图?
21.UML的扩展机制包括哪些?
22.简述软件开发方法的进化过程。
习题10
1.如何理解软件设计质量和符合质量?
2.软件产品质量管理包括哪几个方面?
给出简要解释。
3.SQA小组的活动主要有哪些?
4.简要给出软件可靠性定义。
5.软件质量检验的kl的是什么?
软件质量检验的类型有哪些?
6.软件复审的作用是什么?
软件工程过程中主耍有哪些复'
市?
7.缺陷(defect)和错误(error)有什么不同?
8.在软件复审计划中应确定哪些内容?
9.什么是正式技术复审(FTR)?
简述FTR的目标、形式、要求,以及指导原则。
10.简述FTR小组的组成,当FTR会议结束时,参会人员必须做出什么决定?
11.考虑表10-1的例子,若从“总数”上考虑,首先应分析哪些类型的错误并寻找错误的原因?
12.参看表10-1的例子,若已找到了IES、EDR、PLT和EDL这4类错误的原因并进行了改正。
假定上述4类错谋经改正后,每类仍有20%的遗留错谋,数据表屮其它统计数据不变,请重新构造该表,并计算表屮各错谋数量的百分比。
构造出新表后,若只考虑“严重”错误时,应首先分析并改正哪些类型的错误?
13.ISO的含义是什么?
写出英文全称°
14.解释ISO/TR10017:
2003的含义。
15.ISO9000认证标准中的核心标准有哪些?
16.什么是IS09000确定的质量管理八项基木原则?
叙述各原则的优点体现在哪些方面?
17.2000版IS09000族标准的优点有哪些?
如何增强软件企业与软件产品的国际竞争力?
19.如何理解ISO9000对软件企业的作川?
20.川图示方式简要说明软件质量特性、软件质量