软件工程模拟题1带答案
- 格式:docx
- 大小:174.61 KB
- 文档页数:9
软件工程期末试卷A
试题一、结构化分析与设计(共20 分,每小题10分)
需求陈述:
高考录取统分子系统有如下功能:
(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作:
(1)给出高考录取统分子系统的功能模型(用数据流图表示)。(10分)
(2) 给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。(10分)
答案
网上搜的答案
结构图即软件的模块
试题二、下面是程序流程图,试分别用N-S图和伪代码(类C语言描述)表示。(共20分)
答案:
我做的:do {
if(!p) {
g
真假
假
开始
结束
p
>0
q
真
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 中判定节点的数量。 何为判定节点:即存在一个输入,两个或两个以上输出路径的节点。
环形复杂度V(G)=区域数=边-结点+2=判定结点
+1
环形复杂度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
2
3
4
5
6
7
(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分)