软件工程模拟题1带答案

  • 格式:docx
  • 大小:174.61 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程期末试卷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分)