if ( datalist[j] > datalist[k] ) k=j; return k; }画出该程序的程序流程图,并计算其McCabe复杂度。 解:程序流程图如下:
123456
McCabe复杂度为3。
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; 解:
3
PTA>0TA1A2FPTA>0TFFA2B>0TB1A1B2B>0TFC>0TC1TB3FC2B1B2C>0TC1TFC2
8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖B3的测试用例。
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 OR B>1FTX=A+BTA>2 AND B=0FX=A-3 语句覆盖测试用例:[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)画出该培训管理的软件结构图的主图。 解:
结束 4
10、求一组数组中的最大数, 数组表示为A[n] ,n=1,2……n的自然数。
(1)请画出程序流程图 (2)请画出该算法的N-S图 (3)请用PAD图来表示该算法 解:
开始MAX=A[1]K=2FK<=NT结束TMAX<=A[K]FMAX=A[K]K=K+1
11、把事务型数据流图映射成软件结构图:
12、把变换型数据流图映射成软件结构图:
5
13、某仓库管理系统每天要处理大批单据所组成的事务文件。单据分为订货单和发货单两种,每张单据由多行组成,订货单包括零件号,零件名,单价,数量等四个数据项,发货单每行包括零件号,零件名,数量等三个数据项,用jackson结构图表示该事务文件的数据结构。 解:
事务文件单据*订货单行*发货单行*零件号零件名单价数量零件号零件名数量 14、一个考务处理系统的要求如下,试画出该系统的数据流图。 (1) 对考生送来的报名表进行检查; (2) 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给
阅卷站;
(3) 对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者; (4) 填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;
(5) 按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,
产生统计分析表。
解:
(1)顶层数据流图
(2) 第1层数据流图
6
(3) 第2层数据流图
加工1子图: 加工2子图:
15、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 \"一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。\"
要求:设三角形的3条边分别为A、B、C,并且 (1) 列出等价类表,格式如下: 输入条件 有效等价类 (注意:将等价类编号) 无效等价类 (注意:将等价类编号) (2) 设计测试用例,格式如下: 用例n:输入【A,B,C】覆盖等价类……(列出等价类序号),输出结果为……。 解:
(1) 列出等价类表
输入条件 有效等价类 无效等价类 (1)A>0且B>0且C>0(2)A≤0或B≤0或C≤0 且 是否构成一个三角形 (3)A+B≤C或A+C≤B A+B>C且B+C>A且 或B+C≤A A+C>B。 是否等腰三角形 是否等边三角形 (2) 设计测试用例 用例1:输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。 用例2:三者取一
7
(4)A=B或A=C或B=C (5)A≠B且A≠C且B≠C (6)A=B且A=C且B=C (7)A≠B或A≠C或B≠C
输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。 输入【1,0,2】覆盖等价类(2),输出结果为不构成三角形。 输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。 用例3:三者取一
输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。 输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。 输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。 用例4:三者取一
输入【3,3,4】覆盖等价类(1)(4),输出结果为等腰三角形。 输入【3,4,4】覆盖等价类(1)(4),输出结果为等腰三角形。 输入【3,4,3】覆盖等价类(1)(4),输出结果为等腰三角形。 用例5:输入【3,4,5】覆盖等价类(1)(5),输出结果为不是等腰三角形。 用例6:输入【3,3,3】覆盖等价类(1)(6),输出结果为等边三角形。 用例7:三者取一
输入【3,4,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。 输入【3,4,3】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。 输入【3,3,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
16、下面是用PDL表示的某种算法过程,请画出与之对应的流图,并计算环形复杂度。
Procedure: sort
1: do while records remain 2: read record;
if record field 1=0 3: then process record; store in buffer; increment counter; 4: else if record field 2=0 5: then reset counter; 6: else process record; store in file; 7a: endif endif 7b: enddo 8 : end
解:V(G)=4
8
第二部分 《面向对象软件开发方法》
1、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下: (1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,
份数等项目,订户通过填写订单来订阅报刊。
(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。 (3)报社负责分类并统计各个发行站送来的报刊订阅信息。 请就此需求建立对象模型。 解:
::书刊信息-书号-书名-定价::订单信息-书刊代码-订期-名称-单价-份数nnn1::发行站1n1::出版社11::客户信息-客户名称-客户地址-客户电话n1+接受订单()+打印收款凭据()+分类统计订单信息()
2、问题描述为:储户用存折取款,首先填写取款单,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。
请确定系统的类,并给出你认为最重要的2-3 个类的描述模板。 解:
确定系统的类:储户、存折、取款单、帐卡、储户存款数据库、付款
3、现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。用户提出 的系统功能要求如下:
在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到监视系统进行分析处理。在中心值班室里,值班护士使用监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。
当病症出现异常时,系统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。 解:
9
4、建立以下有关“微机”的对象模型。
一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,一个电源及储存器等部件。储存器又分为固定储存器和活动存储器两种,固定存储器为内存和硬盘,活动存储器为软盘和光盘。 解:
5、交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;火车汽车又分为客车、货车;水上交通工具分为客轮、货轮、客货混合轮。建立交通工具的对象模型。 解:
6、QQ软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,请用类的继承关系描述QQ用户群。 解:
10
7、下面是自动售货机系统的用例图,请写出行为者和用例。
解:行为者:顾客、供货人、收银员,用例:售货、供货、取货款
8、学校拟开发一套实验上机安排系统,可以帮助教师的安排上机。系统的主要功能有以下几个方面:
教师可提交课程实验项目,安排实验机房,查询实验安排结果,打印实验安排报表等。 学生可查询实验项目,查询课程实验安排等。
管理员可管理教师、学生、课程等基本信息,同时还能管理新闻公告、查询实验安排等。 所有用户均有修改密码,查看新闻公告等功能。 要求:
(1) 分析从教师提交实验项目,到形成实验安排报表的数据流图。(注:安排实验时首先
需要提交实验项目,然后选择有空闲的机房,再查询学生的空余时间。安排好每次的实验时间后,经过汇总形成实验安排报表)
(2) 绘制出系统的用例图
11
(3) 绘制系统的类图
(4) 设计出数据库表结构
9、网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。
“远程网络教学系统”的功能需求如下:
学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。 教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、 修改教学心得。系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用 户注册。 (1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。
(2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。 解:
12