资源描述
软件工程综合应用例题
精品文档
综合应用例题
第一部分 传统软件开发方法
1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
解:
第一步:建立等价类表
输入条件
有效等价类
无效等价类
十六进制整数
1、 0x或0X开头的1-2位数字串
2、以- 0x开头的 1-2位数字串
3、在-7f至7f之间
4、非0x或非-开头的串
5、含有非数字且(a,b,c,d,e,f)以外字符
6、多于5个字符
7、-后跟非0的多位串
8、-0后跟数字串
9、-后多于3个数字
10、小于-7f
11、大于 7f
第二步:为有效等价类设计测试用例
测试用例
期望结果
覆盖范围
0x23
显示有效输入
1,3
-0x15
显示有效输入
2,3
第三步:为无效等价类至少设计一个测试用例
测试用例
期望结果
覆盖范围
2
显示无效输入
4
G12
显示无效输入
5
123311
显示无效输入
6
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ])
{
int k=0;
for ( int j=1; j<n; j++ )
if ( datalist[j] > datalist[k] ) k=j;
return k;
}
画出该程序的程序流程图,并计算其McCabe复杂度。
解:程序流程图如下:
McCabe复杂度为3。
3、有下列伪码程序:
START
INPUT (M,N)
IF M>=10
THEN X:=10
ELSE X:=l
ENDIF
IF N>=20
THEN Y:=20
ELSE Y:=2
ENDIF
PRINT(X,Y)
STOP
设计该程序的语句覆盖和路径覆盖测试用例。
解:
语句覆盖测试用例为
①M=9(或<l0),N=l9(或<20);
②M=l0(或>=10),N=20(或>=20)
路径覆盖的测试用例为
①M=9,N=19;
②M=9、N=20;
③M=l0,N=l9;
④M=10,N=20
4、根据伪码程序画出程序流程图,盒图(N-S图)。
START
a
IF x1 THEN
REPEAT UNTIL x2
b
END REPEAT
ELSE
BLOCK
c
d
END BLOCK
END IF
STOP
解:(1) 程序流程图 (2) N-S (3)PAD图
5、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。
6、画出下列伪码程序的程序流程图,盒图(N-S图)。
START
IF p THEN
WHILE q DO
F
END DO
ELSE
BLOCK
g
n
END BLOCK
END IF
STOP
解:
7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。
WHILE P DO
IF A>O THEN A1 ELSE A2 ENDIF;
IF B>0 THEN B1;
IF C>0 THEN C1 ELSE C2 ENDIF
ELSE B2
ENDIF;
B3
ENDWHILE;
答:
McCabe复杂度=5
8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
PROCEDURE EX(A,B:REAL;VAR X:REAL);
BEGIN
IF(A=3)OR(B>1)THEN X:=A×B
IF(A>2)AND(B=0)THEN X:=A-3
END
解:先画出程序流程图:
语句覆盖测试用例:[A=3,B=0]
路径覆盖测试用例:[A=3,B=0] [A=3,B=1] [A=4,B=0] [A=2,B=1]
边覆盖测试用例:[A=3,B=0] [A=2,B=1]
9、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。
如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
1.对以上问题画出数据流程图。
2.画出该培训管理的软件结构图的主图。
解:
10、教师申报科研成果的过程如下:
接收教师交来科研材料和申报表,首先根据科研管理条例进行审核。对审查后的材料,再根据科研管理条例和科研档案进行分类,分类完成后将科研成果存储到科研档案,并报科研处备案。画出处理过程的数据流程图。
11、请使用流程图、PAD图和PDL语言描述下列程序的算法。
在数据A(1)~A(10)中求最大数和次大数。
解:如图所示:
PDL语言描述:
GET(a[1],a[2],...a[10])
max=a[1];
max2=a[2];
FOR i=2 TO 10
IF a[i]>max
max2=max;
max=a[i];
ELSE
IF a[i]>max2
max2=a[i];
ENDIF
ENDIF
ENDFOR
PUT(max,max2)
END
12、求一组数组中的最大数, 数组表示为A[n] ,n=1,2……n的自然数。
1) 请画出程序流程图
2) 请画出该算法的N-S图
3) 请用PAD图来表示该算法
解:
13、画出下面程序流程图所对应的程序流图,并计算其环形复杂度V(G)。
解: (1)程序流图如下所示:
(2)计算其环形复杂度:V(G)=E –N +2=13 –10 +2=5
14、画出下面程序流程图所对应的程序流图,并计算其环形复杂度V(G)。
解:环形复杂度V(G)=6
15、分别画出顺序结构、选择结构、while结构、until结构的程序图,并计算它们的V(G)值。
解:
16、某公司承担空中和地面运输业务。计算货物托运费的比率规定如下:
空运,如果货物重量小于等于2kg.则一律收费6元;如果货物重量大于2 kg而
又小于等于20 kg,则收费3元/kg;如果货物重量大于20 kg,则收费4元/kg。
地运,若为慢件每kg收费为l元,若为快件,当重量小于等于 20 kg时,收费为 2
元/kg,当货物重量大于 20 kg时,则收费为 3元/kg。
请画出对应于计算托运费比率的判定树和判定表。
解:
判定表:
方式
空运
空运
空运
地运
地运
地运
货物重量
≤20Kg
>2Kg、≤20Kg
>20Kg
慢件
重量≤20Kg
>20Kg
收费
6元
3元/Kg
4元/Kg
1元/Kg
2元/Kg
3元/Kg
17、工资计算系统中的一个子系统有如下功能:
( 1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;
( 2 )计算奖金部分—根据职工的出勤情况计算出奖金;
( 3 )计算工资总额部分—根据输入的扣除额及奖金计算出工资总额;
( 4 )计算税金部分—由工资总额中计算出应扣除各种税金;
( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。
试根据要求画出该问题的数据流程图。
18、把事务型数据流图映射成软件结构图:
19、 把变换型数据流图映射成软件结构图:
20、根据下面程序代码,画出程序流程图,然后设计满足条件/判定覆盖、条件组合覆盖的测试用例。
T:=0
IF ( X>=80 AND Y>=80 )THEN
T:=1
ELSE IF ( X>=90 AND Y>=75 ) THEN
T:=2
ENDIF
IF (X>=75 AND Y>=90) THEN
T:=3
ENDIF
ENDIF
测试用例:
条件/判定覆盖:
1 X=80 Y=80
2 X=90 Y=75
3 X=50 Y=50
条件组合覆盖:
1 X=80 Y=80
2 X=80 Y=75
3 X=75 Y=80
4 X=75 Y=75
5 X=90 Y=75
6 X=90 Y=70
7 X=80 Y=75
8 X=80 Y=70
9 X=75 Y=90
10 X=75 Y=90
11 X=70 Y=90
12 X=70 Y=85
21、现为某银行开发一个计算机储蓄管理系统。要求系统能够完成:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,同时要求储户输入口令,并打印出存款单给储户;如果是取款,则系统首先要求储户输入口令,储户身份确认后,系统计算结算清单给储户,结算清单中的信息包括本息金额和利息金额。
试根据要求画出该系统的数据流程图。
解:
22、科研项目费用支付过程是:接收项目负责人的费用收据,通过项目存档文件对收据进行审核,审核通过后参照项目账目文件进行费用计算,计算后将付款通知交财务处,将领款通知交项目负责人。画出处理过程的数据流程图。
23、高考录取统分子系统有如下功能:
(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
试根据要求画出该系统的数据流程图,并将其转换为软件结构图。
解:(1)数据流图: (2)软件结构图:
① 原始分 ② 标准分 ③ 招生计划 ④ 录取线
24、输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”. 要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度; 3.设计路径覆盖的测试用例。
答:
25、一个考务处理系统的要求如下,试画出该系统的数据流图。
(1) 对考生送来的报名表进行检查;
(2) 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;
(3) 对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;
(4) 填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;
(5) 按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。
解:
(1)顶层数据流图
(2) 第1层数据流图
(3) 第2层数据流图
加工1子图:
加工2子图:
26、根据以下描述画出相应的状态转换图:
到ATM机前插入磁卡后输入密码,如果密码不正确则系统会要求再次输入密码,如三次输入不正确则退出服务;密码正确后,系统会提示选择服务类型,如选择存款则进行存款操作,存款完毕后可选择继续服务,也可以选择退出服务;如选择取款则进行存款操作,取款完毕后可选择继续服务,也可以选择退出服务
27、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。
答:
28、欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;
(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;
(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;
(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
绘制该系统的数据流图和软件结构图。
第二部分 面向对象软件开发方法
1、小李新接了一个项目:设计一个简单的1,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。
答:
对象类图:功能模型:动态模型:
2、 某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:
(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。
(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。
(3)报社负责分类并统计各个发行站送来的报刊订阅信息。
请就此需求建立对象模型。
解:
3、根据下列问题描述,建立自动售货机系统的对象模型。
(1) 设置
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况进行调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
(2) 销售
顾客将硬币投入售货机,经累加金额足够的饮料选择键灯亮,等待顾客按键选择,顾客按键后饮料由取饮料口掉出,并自动结算及找零。
(3) 取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易,收回硬币。
解:
4、问题描述为:储户用存折取款,首先填写取款单,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。
请确定系统的类,并给出你认为最重要的2-3 个类的描述模板。
解:
确定系统的类:储户、存折、取款单、帐卡、储户存款数据库、付款
5、现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。用户提出
的系统功能要求如下:
在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。
当病症出现异常时,系统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。
解:
6、交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;火车汽车又分为客车、货车;水上交通工具分为客轮、货轮、客货混合轮。建立交通工具的对象模型。
7、在下列用例图中,哪些是系统角色(执行者)?
答: Bank network、Manager、Clerk
8、请构建有关“工程蓝图”的类图。
一幅工程蓝图由许多图形组成,图形可以是直线、圆、多边形或组合图,而多边形由直线组成,组合图由各种线型混合而成。
构建类图如下:
9<include>
业务员
、网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。
“远程网络教学系统”的功能需求如下:
l 学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。
l 教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、 修改教学心得。
l 系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用 户注册。
(1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。
(2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。
解(1):
10、图书管理系统功能性需求说明如下:
² 图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识 其存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。
² 当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接 与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。
² 系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、 删除和修改。并且能够查询借阅者、图书和图书管理员的信息。
² 可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。
回答下面问题:
1) 该系统中有哪些参与者?
借阅者 图书管理员 系统管理员
2) 确定该系统中的类,找出类之间的关系并画出类图 用户类、用户角色类、图书类、预定类、借阅类、书目类
收集于网络,如有侵权请联系管理员删除
展开阅读全文