当前位置:文档之家› 软件工程模拟题1带答案

软件工程模拟题1带答案

软件工程期末试卷A
试题一、结构化分析与设计(共20分,每小题10分)
需求陈述:
高考录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。

(10分)
(2)给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。

(10分)
答案网上搜的答案
let计创
结构图即软件的模块
软件结构答案
试题二、F面是程序流程图,试分别用表示。

(共20分)
答案:
我做的:
do {
if( ! P) {
g ; } while(q);
我自己做的,可以不太对

开 q 为真
执行
do nothing
Else if(g 为假)
return }
Else if(p 为假) {
Return
}while(g 为真)
试题三、(共20分,每题10分)
float calculateTotal( int N) {
float count = 0.0; int i=1; while ( i<=N )
Do
lf(p
为真) lf(g
为真)
阅读下面的程序段,回答后面的问题:
//计算满足条件的N 个数的和
{
if( i % 4 == 0) cou nt += i; i++; }
retur n count; }
(1)画出上述程序的有向流图,并计算该函数的环形复杂度。

(每问5分,共10分)
(2)请用基本路径的 测试技术完成该函数的 测试。

要求给出 基本路径和测试用例。

(每问5 分,共
10分)
答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础”
对应的测试用例 N=1 对应的测试用例N=4
试用例N=0
对应的测试用例 N=1 (?? ?不太确定) 对应的测试用例 N=4 对应的测试用例 N=4
PPT 的P30页
白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础,
为我们提供了非常有用的软件度量。

算环形复杂度:
(1)控制流图中环形区域的数量对应于环形复杂度。

可用如下三种方法之一来计
(2)给定控制流图
N 是控制
G 的环形复杂度 一V(G),定义为V(G) = E-N+2其中,E 是控制流图中边的数量, 流图中
的节点数量。

(3)给定控制流图 其中,P 是控制流图G 中判定节点的数量。

以上输出路径的节点。

环形复杂度V(G)=区域数=边-结点+2=
4
G 的环形复杂度 一V(G),也可定义为 V(G) = P+1 何为判定节点:即存在一个输入,两个或两个 判定结点+1
环形复杂度3 基本路径3条
路径 1 : 1-2-3-4-6-3-7 路径 2 : 1-2-3-4-5-6-3-7
路径3 : 1-2-3-7

路径 1 : 1-2-3-4-6-7 路径 2 : 1-2-3-4-5-6-7 路径 3 : 1-2-3-4-6-3-7
- 6 -
试题四、面向对象分析与设计(共 40 分,每题 10 分)
需求陈述:
atm 系统包括软件和硬件两部分,其业务大概分为
4个部分:查询帐户余额、取款、存
款和更改用户的密码。

一个完整的 atm 系统包括一下几个模块:
(1) 读卡机模块 允许储户讲银行卡插入读卡机, 读卡机识别卡的种类并在显示器上提 示用户输入密码。

(2) 输入模块 储户可以输入密码和取款金额,并选择要完成的事务。

通常在键盘上只 设数字键和功能键,目的方便储户,该模块需要储户的交互。

(3)ic 认证模块 主要鉴别储户卡的真伪。

基于 ic 卡的安全授权系统,要求从技术上严 格保证卡的唯一性与防伪性,从而保证网络的安全。

( 4)显示模块 显示储户相关的信息, 包括储户交互是的提示信息和确认信息。

5)吐钱机模块 吐钱机按照储户的要求, 选择合适面值的钞票给储户 。

atm 系统“取款”过程的主要事件流的描述。

客户将卡插入 ATM 机,开始用例。

ATM 显示欢迎消息并提示客户输入密码。

客户输入密码。

ATM 确认密码有效。

如果无效则执行子事件流 a 。

如果与主机联接有问题,则执行异 子事件流 a :
a1. 提示用户输入无效密码,请求再次输入;
a2. 如果三次输入无效密码,系统自动关闭,退出客户银行卡。

子事件流 b :
b1. 提示用户余额不够。

b2. 返回( 5),等待客户重新选择。

要求: 请用面向对象方法学对该系统进行分析与设计,按要求用 型和动
态模型。

分别完成以下工作:
(1)给出ATM 系统的用例模型 (10分) (2 )给出ATM 系统的类图(10分)
附:
( 1 ) ( 2 ) ( 3 常事件流 e 。

( 5 ) ( 6 ) ( 7 ) ( 8 ) ( 9 ) 机联接有问题, (10) ATM (11) ATM (12) ATM ATM 提供以下选项:存钱,取钱,查询。

用户选择取钱选项。

ATM 提示输入所取金额。

用户输入所取金额。

ATM 确定该帐户是否有足够的金额。

如果余额不够,则执行子事件流 则执行异常事件流 b ,如果与主
e 。

从客户帐户中减去所取金额。

向客户提供要取的钱。

打印清单。

ATM 退出客户的卡,用例结束。

UML 建立ATM 机的静态模
(3 )给出ATM 取款顺序图(时序图)(10分)
⑷给出ATM 取款协作图 (10分) 答:这道题课本 P 281有,基本一模一样,不过感觉课本上的答案不对
软件工程期末试卷 B
试题一、结构化分析与设计(共 20分,每小题10分)
需求陈述:
现有一图书预定系统,接收由顾客发来的订单,并对订单进行校验,验证过程是根据 图书目录检查订单的正确性, 同时根据顾客档案确定是新顾客还是老顾客,
是否有信誉。


过验证的正确订单,暂存在待处理的订单文件中。

对订单进行成批的处理, 根据出版社档案, 将订单按照出版社进行分类汇总,并保存订单存根,然后将汇总的订单发往各出版社。

要求:用结构化方法学对图书预定系统进行分析与设计,分别完成以下工作:
给出图书预定系统的 功能模型(用数据流图表示)。

(10分) 给出图书预定系统的 软件体系结构(用H 图或结构图表示)。

(10分)
试题二、下面是程序流程图,试分别用 N-S 图和伪代码(类 C 语言描述)表示。

(共20分)
N-S 图:
(1)
伪代码:
while (!k) {
X;
do {
Y; } while
(!p);
试题三、(共20 分,每小题10 分)
阅读下面用伪代码编写的程序段,回答后面的问题:start
input (a,b,c,d)
if (a > 0)&& (b > 0)
x = a + b
else x = a — b
endif
if (c > a)|| (d < b)
y = c + d
else y = c - d
endif
print(x , y)
sto p
(1)画出上述程序的有向流图,并计算该函数的环形复杂度。

(每问5分,共10分)(2 )请用基本路径的测试技术完成该函数的测试。

要求给出基本路径和测试用例问5。

(每分,共10分)
试题四、面向对象分析与设计(共40分,每小题10分)
需求陈述:
需求陈述:
在一幢有m层的大厦中安装一套n部电梯的产品,按照下列条件求解电梯在各楼层之间移动的逻辑关系:
①每部电梯有m个按钮,每一个按钮代表一个楼层。

当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,当到达相应楼层时指示灯熄灭。

②除了最底层和最高层之外,每一层楼都有两个按钮分别指示电梯上行和下行。

按钮按下时指示灯亮,当电梯到达此楼层时指示灯熄灭,并向所需要的方向移动。

③当电梯无升降运动时,关门并停在当前楼层。

注释:
(1 )对该电梯问题的非形式化描述为:
在一幢m层楼的大厦里,用电梯内的和每个楼层的按钮来控制n部电梯的运行。

当按
下电梯按钮以请求在某一指定楼层停下时,按钮指示灯亮;当请求获得满足时,指示灯熄_______ 灭。

当电梯无升、降操作时,关门,并停在当前楼层。

___
(2)整个电梯系统由电梯控制器进行调度和控制。

要求:用面向对象方法学对该电梯问题进行分析,分别完成以下工作:(1)给出该电梯问题的类-对象模型。

(10分)
(2)给出该电梯问题的正常工作的跟踪图。

(10分)
(3)给出该电梯问题中电梯的状态转换图。

(10分)。

相关主题