软件工程例题Word格式.docx
- 文档编号:22137392
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:30
- 大小:306.76KB
软件工程例题Word格式.docx
《软件工程例题Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程例题Word格式.docx(30页珍藏版)》请在冰豆网上搜索。
real;
varx:
real)
begin
if(y>
1)and(z=0)thenx:
=x/y;
if(y=2)or(x>
l)thenx:
=x+l;
end.
该子程序接受x,y,z的值,并将计算结果x的值返回给调用程序。
完成下列各题:
(1)画出程序流程图。
(2)用条件组合覆盖设计测试用例,并写出其中一组测试用例。
答:
(1)程序流程图
(2)用白盒法中条件组合覆盖设计测试用例:
①y=2,z=0,x=4;
②y=2,z=1,x=1;
③y=1,z=0,x=2;
④y=1,z=1,x=1. (注:
也可有其它答案)
5.选择排序的伪代码如下,请根据代码画出其PAD图。
select_sort(a[1],a[2],…,a[n])
{
for(i=1;
i<
n;
i++)
{
k=i;
for(j=i+1;
j<
=n;
j++)
{
if(a[j]<
a[k])k=j;
if(k!
=i)exchange(a[i],a[k]);
}
}
}
6.一本书有一个封面、一个目录、一个前言、若干章、每章有若干节、每节有若干段,有若干句子,有0个或多个插图,还有0个或多个表格,书最后有一个附录。
试建立该书的对象模型。
7.根据伪码画出N-S图和PAD图。
START
IFATHEN
X1
DOUNTILB
ELSE
X2
Y
ENDIF
Z
STOP
N-S图:
PAD图:
8.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:
(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。
(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。
(3)报社负责分类并统计各个发行站送来的报刊订阅信息。
请就此需求建立对象模型。
9.指出下列数据流图中存在的问题。
B
F
O
P
Q
D
C
E
父图子图
(1)父图没有输入数据流;
(2)子图的输入数据流应该是C,而不是B;
(3)子图的输出数据流应该只有D和E,而不应有F。
10.某公司为本科以上学历的人重新分配工作,分配原则如下:
(1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;
(2)如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务;
(3)如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员;
(4)学历是硕士,任课题组组长。
画出分析过程,得出判定表,并进行化简。
(1)判定条件可能取值表:
条件名称
取值
符号
取值数
性别
男
M
M1=2
女
年龄
不满18岁
M2=3
满18岁小于50岁
超过50岁
L
文化程度
硕士
G
M3=2
本科
U
(2)计算条件组合数2*3*2=12;
(3)初步判定表
1
2
3
4
5
6
7
8
9
10
11
12
性
别
年
龄
组
长
√
领
导
科
研
行
政
资料员
考
(4)简化后的判定表
1,2,3
7,8,9
5,11
------
-----
11.建立以下有关“微机”的对象模型。
一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。
主机包括一个机箱,一个主板,一个电源及储存器等部件。
储存器又分为固定储存器和活动存储器两种,固定存储器为内存和硬盘,活动存储器为软盘和光盘。
12.某商场在“五一”期间,顾客购物时付款有4种情况:
普通顾客一次购物累计少于100元,按A类标准付款(不打折),一次购物累计多于或等于100元,按B类标准付款(打9折);
会员顾客一次购物累计少于1000元,按C类标准付款(打8折),一次购物累计等于或多于1000元,按D类标准付款(打7折)。
(1)请使用程序流程图来设计付款算法。
(2)按照路径覆盖法设计一组测试用例。
(2)按照路径覆盖法设计测试用例如下:
(注:
累计消费可取其它值)
是会员,累计消费900元,覆盖路径1-2-6-8
是会员,累计消费2000元,覆盖路径1-2-7-9
不是会员,累计消费80元,覆盖路径1-3-4
不是会员,累计消费300元,覆盖路径1-3-5-10
13.试将下面程序流程图用N-S图和PAD图表示,并计算它的McCabe环路复杂度。
MCCABe环路复杂度=2+1=3
14.用Jackson图表示下图所示的二维表格:
表头
学生名册
姓名
学号
表体
……
该学生名册由表头和表体两部分组成。
其中表头又顺序包括表名和字段名。
表体可由任意行组成,每行包括学生的姓名、性别、年龄和学号。
15.某培训中心要研制一个计算机管理系统。
它的业务是:
将学员发来的信件收集分类后,按几种不同的情况处理。
(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
对以上问题画出数据流程图。
16.已知被测试模块流程图如下,按照条件覆盖法,在表格中填入满足测试要求的数据。
题44图
假设几种可能的条件是:
T1:
A>
3F1:
A<
=3T2:
B=1F2:
B≠1T3:
A=1F3:
A≠1T4:
M>
1F4:
M<
=1
填写下表
数据
覆盖路径
覆盖条件
M值
T1,T2,F3,F4
F1,F2,T3,T4
A=4,B=1,M=2
cd
T1,T2,F3,F4
A=1,B=2,M=4
be
F1,F2,T3,T4
-1
17.设计一个软件的开发成本为50000元,寿命为3年。
未来3年的每年收益预计为22000元﹑24000元﹑226620元。
银行年利率为10%,不计复利。
试对此项目进行成本效益分析,以决定其经济可行性。
解:
三年后,50000万的价值为
50000*(1+3*10%)=65000元
三年软件总获利为
22000*(1+2*10%)+24000*(1+1*10%)+26620=79420元
而79420元>65000元
所以此项目盈利,经济可行。
18.如图1和图2所示是某公司员工工资管理的一部分,他们分别是同一功能的两个不同设计方案,你认为那种设计方案较好?
请陈述理由。
如图2所示的设计方案2好。
利用衡量模块独立性的两个标准耦合性和内聚性(模块划分时应尽量做到高内聚、低耦合,提高模块独立性)判断设计方案优劣。
图1中模块B的功能是取平均工资或最高工资,可见模块B包含两个功能,故模块B内聚弱,而模块B与模块A的耦合是控制耦合,耦合程度较高,模块的相对独立性差。
而在图2中,模块B分解成两个相对独立的模块B1和B2,模块B1和B2内聚程度高,模块B1和B2与模块A之间的耦合是数据耦合,耦合程度较低,因此模块的独立性好,所以图2的设计方案2好。
19.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。
请用等价类划分法设计测试用例。
划分等价类:
输入条件
合理等价类
不合理等价类
职称
①教授
②副教授
③讲师
⑤四种职称之外任意一种
职称兼工龄
④助教兼工龄大于2年
⑥助教兼工龄等于两年
⑦助教兼工龄小于两年
设计测试用例:
输入数据
预期结果
覆盖范围
教授
输入有效,进行调整工资处理
①
副教授
②
讲师
③
助教
④
助教
输入有效,不调整工资处理
⑥
⑦
工程师
输入无效
⑤
20.试用判定表描述下列加工逻辑。
加工逻辑为:
如果申请者的年龄在21岁以下,要额外收费;
如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;
如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;
如果申请者是21岁以下的女性或是26岁以下的单身,适用于C类保险。
附此之外的其他申请者都适用于A类保险。
21.假设对顾客的订货单按如下原则处理:
将顾客的信用度分三个档次:
欠款时间不超过30天;
欠款时间超过30天但不超过100天;
欠款时间超过100天。
对于上述三种情况,分别根据库存情况来决定对顾客订货的态度。
情况之一(欠款时间≤30天),如果需求数≤库存量,则立即发货,如果需求数>
库存量,则只发现有库存,不足部分待进货后补发。
情况之二(30天<
欠款时间≤100天),如果需求数≤库存量,则要求先付款再发货,如果需求数>
库存量,则不发货。
情况之三(欠款时间>
100天),则通知先付欠款,再考虑是否发货。
试用判定树的形式予以描述(设欠款时间D,需求数N,库存量Q)。
22.有一过程,其流程如下图所示。
其中b1、b2、b3为判定的逻辑条件,s1、s2为加工处理。
试用判定表给予描述。
T
b1
b2
b3
s1
×
s2
或者
/
23.有一过程如下图所示的流程,试用判定表予以描述。
条件
…
结果
24.对一个长度为48000条机器指令的程序进行测试,第一个月由甲、乙二人分别测试它。
甲改正20个错误,使程序的平均无故障时间为8小时。
乙在测试该程序副本时改正了24个错误,其中6个错误与甲改正的下同。
然后,由甲继续测试该程序。
根据上述数据完成下列各题:
(每题5分,共15分)
1.程序中固有的错误总数是多少?
2.为使MTTF达到240小时,如果甲不利用乙的工作成果,则他还需改正多少个错误?
3.为使MTTF达到480小时,如果甲利用乙的工作成果,则他还需改正多少个错误?
附:
ET=B2*B1/bc
ET:
测试前程序的错误总数IT:
程序长度(机器指令总数)Ec(t):
t时间内改正的错误数
B1、B2分别为测试员1、测试员2发现的错误数,bc为测试员1、测试员2发现的相同错误数
1.ET=802.583.41
25.计算出如下工程网络图中各节点的最早开始时刻和最迟开始时刻(10分)
简答题
1.软件产品的特性是什么?
a.软件产品是一种逻辑产品。
b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。
c.软件产品不会用坏,不存在磨损、消耗问题。
d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"
定做"
的。
e.软件费用不断增加,成本相当昂贵。
2.什么是软件危机?
其产生的原因是什么?
软件危机:
软件发展第二阶段的末期,由于计算机硬件技术的进步。
一些复杂的、大型的软件开发项目提出来了,但软件开发技术的进步一直未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
主要表现在以下几个方面:
a.经费预算经常突破,完成时间一再拖延。
b.开发的软件不通满足用户要求。
c.开发的软件可维护性差。
d.开发的软件可靠性差。
软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:
a.软件的规模越来越大,结构越来越复杂。
b.软件开发管理困难而复杂。
c.软件开发费用不断增加。
d.软件开发技术落后。
e.生产方式落后。
f.开发工具落后,生产率提高缓慢。
3.什么是软件工程?
它的目标和内容是什么?
软件工程:
用科学知识和技术原理来定义、开发、维护软件的一门学科。
软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:
a.付出较低的开发成本;
b.面到要求的软件功能;
c.取得较好的软件性能;
d.开发的软件易于移植;
e.需要较低的维护费用;
f.能按时完成开发任务,及时交付使用;
g.开发的软件可靠性高;
软件工程的内容:
1)软件开发技术:
软件开发方法、软件开发过程、软件开发工具和环境。
2)软件开发管理:
软件管理学、软件经济学、软件心理学。
4.软件工程面临的问题是什么?
软件工程面临的问题:
a.软件费用。
b.软件可靠性。
c.软件维护。
d.软件生产率。
e.软件重用。
5.什么是软件生存周期模型?
有哪些主要模型?
软件生存周期模型:
是描述软件开发过程中各种活动如何执行的模型。
(模型:
是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。
)
软件生存周期主要模型:
瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等
6.可行性研究的任务是什么?
a.技术可行性:
考虑的因素
(1).开发的风险
(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。
b.经济可行性。
c.社会可行性。
7.可行性研究有哪些步骤?
a.确定项目规模和目标
b.研究正在运行的系统
c.建立新系统的高层逻辑模型
d.导出和评价各种方案
e.推荐可行的方案
f.编写可行性研究报告
8.可行性研究报告有哪些就要内容?
a.引言
b.可行性研究前提
c.对现有系统的分析
d.所建议系统的技术可行性分析
e.所建议系统的经济可行性分析
f.社会因素可行性分析
g.其他可供选择方案
h.结论意见
9.成本---效益分析可用哪些指标进行度量?
有形效益度量:
a.货币的时间价值
b.投资回收期
c.纯收入
无形效益:
主要从性质上、心理上进行衡量,很难直接进行量的比较。
通常以有形效益度量作为成本---效益分析的度量。
10.什么是需求分析?
需求分析阶段的基本任务是什么?
需求分析是指:
开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。
需求分析阶段的基本任务是:
(1)问题识别:
双方对问题的综合需求:
a.功能需求b.性能需求c.环境需求d.用户界面需求.
(2)分析与综合,导出软件的逻辑模型.
(3)编写文档
11.什么是结构化分析方法?
该方法使用什么描述工具?
结构化分析方法:
是面向数据流进行需求分析的方法。
描述工具:
a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。
12.结构化分析方法通过哪些步骤来实现?
结构化分析方法步骤:
a.了解当前系统的工作流程,获得当前系统的物理模型.
b.抽象出当前系统的逻辑模型.
c.建立上标系统的逻辑模型.
d.作进一步补充和优化.
13.什么是字据字典?
其作用是什么?
它有哪些条目?
字据字典:
简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.
作用:
1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.
2)为分析人员查找数据流图中有关名字的详细定义而服务的.
3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分.
条目:
数据流、数据项、数据存储、基本加工。
14.什么是软件概要设计?
该阶段的基本任务是什么?
软件概要设计:
在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转换为软件包表示的过程。
基本任务:
(1)设计软件系统结构(简称软件结构)
a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)
b.确定模块的功能。
(功能)
c.确定模块之间的调用关系。
(调用)
d.确定模块之间的接口,即模块之间传递的信息。
(接口)
e.评价模块结构的质量。
(质量)
(2)数据结构及数据库设计
a.数据结构设计
b.数据库设计:
(概念设计、逻辑设计、物理设计)
(3)编写概要设计文档(文档主要有:
概要设计说明书、数据库设计说明书、用户手册、修订测试计划)
(4)评审
15.衡量模块独立性的两个标准是什么?
它们各表示什么含义?
两个定性的度量标准:
耦合与内聚性
耦合性:
也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
内聚性:
也称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
模块内元素联系越紧密,内聚性越高。
16.模块间的耦合性有哪几种?
耦合性有六种:
无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合
无直接耦合:
两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。
数据耦合:
指两个模块之间有调用关系,传递的是简单的数据值相当于高级语言中的值传递。
标记耦合:
指两个模块之间传递的是数据结构。
控制耦合:
指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能。
公共耦合:
指通过一个公共数据环境相互作用的那些模块间的耦合。
内容耦合:
一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
17.模块的内聚性有哪几种?
各表示什么含义?
模块间的内聚性有6种:
偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。
偶然内聚:
一个模块内的各处理元素之间没有任何联系。
逻辑内聚:
模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
时间内聚:
把需要同时执行的动作组合在一起。
通信内聚:
指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 例题