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

软件工程模拟题1带答案

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

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

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

(10分)
答案
网上搜的答案
结构图即软件的模块
(共20分)
试题二、
答案:
我做的:
do {
if(!p) {
exit();
}
g;
} while(q);
我自己做的,可以不太对
Do
{
If(p为真)
{
执行g
If(g为真)
{
do nothing
}
Else if(g为假)
{
return
}
}
Else if(p为假)
{
Return
}
}while(g为真)
试题三、(共20 分,每题10 分)
阅读下面的程序段,回答后面的问题:
float calculateTotal( int N) //计算满足条件的N个数的和
{
float count = 0.0;
int i=1;
while ( i<=N )
{
if( i % 4 == 0) count += i;
i++;
}
return count;
}
(1)画出上述程序的有向流图,并计算该函数的环形复杂度。

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

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

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

可用如下三种方法之一来计算环形复杂度:(1)控制流图中环形区域的数量对应于环形复杂度。

(2)给定控制流图G的环形复杂度—V(G),定义为V(G) = E-N+2 其中,E是控制流图中边的数量,N是控制流图中的节点数量。

(3)给定控制流图G的环形复杂度—V(G),也可定义为V(G) = P+1 其中,P是控制流图G中判定节点的数量。

何为判定节点:即存在一个输入,两个或两个以上输出路径的节点。

+1
环形复杂度V(G)=区域数=边-结点+2=判定结点
环形复杂度3
基本路径3条
路径1:1-2-3-4-6-3-7对应的测试用例N=1
路径2:1-2-3-4-5-6-3-7对应的测试用例N=4
路径3:1-2-3-7对应的测试用例N=0
路径1:1-2-3-4-6-7对应的测试用例N=1(???不太确定)
路径2:1-2-3-4-5-6-7对应的测试用例N=4
路径3:1-2-3-4-6-3-7对应的测试用例N=4
试题四、面向对象分析与设计(共40分,每题10分)
需求陈述:
atm系统包括软件和硬件两部分,其业务大概分为4个部分:查询帐户余额、取款、存款和更改用户的密码。

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

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

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

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

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

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

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

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

(1)客户将卡插入A TM机,开始用例。

(2)A TM显示欢迎消息并提示客户输入密码。

(3)客户输入密码。

(4)ATM确认密码有效。

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

如果与主机联接有问题,则执行异常事件流e。

(5)A TM提供以下选项:存钱,取钱,查询。

(6)用户选择取钱选项。

(7)A TM提示输入所取金额。

(8)用户输入所取金额。

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

如果余额不够,则执行子事件流b,如果与主机联接有问题,则执行异常事件流e。

(10)ATM从客户帐户中减去所取金额。

(11)ATM向客户提供要取的钱。

(12)ATM打印清单。

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

子事件流a:
a1.提示用户输入无效密码,请求再次输入;
a2.如果三次输入无效密码,系统自动关闭,退出客户银行卡。

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

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

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

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

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

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

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

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

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

(共20分)
N-S图:
伪代码:
while(!k) {
X;
do {
Y;
}while(!p);。

相关主题