法一:环形复杂度=E-N+2=18-16+2=4 法二:环形复杂度=P+1=3+1=4
5.简述结构化程序设计方法的基本特点。
答:
(1)尽可能少用goto语句的程序设计方法; (2)每个代码块都单入单出;
(3)使用控制结构:顺序、选择和循环; (4) 自顶向下逐步求精。
6.请比较快速原型模型和螺旋模型的优缺点,并说明各自的适用范围。
答: 模型 优点 缺点 适用范围 快速原型模易于获取客户真可能导致系统设计差、效率低,适用于对软件需求缺乏准型 实需求 难于维护 确认识的情况 螺旋模型 风险驱动,降低风风险分析人员需要有经验且经内部开发的大型软件项目 险 过充分训练 7.衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?
答:
衡量模块独立性的两个定性标准是内聚和耦合(2分)。
耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度(2分)。 在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(1分)。
8.什么是黑盒测试法?
答:
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程(2分)。它只检查程序功能是否能按照规格说明书的规定正常使用(1分),程序是否能适当地接收输入数据(1分),产生正确地输出信息(1分)。
9.面向对象设计中,存在有哪几种耦合和内聚? 答:
弱耦合:交互耦合,继承耦合
强内聚:服务内聚,类内聚,一般-特殊内聚
10.某个程序的伪码如下(前面的标号只用于标明语句顺序,不参与程序运行): START IFL1THEN
S1
DOWHILE L2
S2
IF L3THEN
S3 ELSE
S4 ENDIF END DO EISE
S5 ENDIF STOP
(1) 试将其转换成PAD图(5分)
(2) 计算程序的环路复杂度(5分)
法一:环路复杂度=E-N+2=15-13+2=4 法二:环路复杂度=P+1=3+1=4
11.简述面向对象的4个要点的含义。
答:
面向对象的4个要点是:对象分解、数据专有、继承、封装性。(1分) 1)对象分解:认为客观世界是由各种对象组成的。 (1分)
2)数据专有,方法共享:把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。 (1分)
3)继承:按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。(1分)
4)封装性:对象彼此之间仅能通过传递消息互相联系。(1分)
12.在下面用例图中,有哪些行为者,有哪些用例?
答:
行为者:Bank network, Manager, Clerk
用例:Authorize purchase, Log onto redister, Sell goods, Restock inventory, Open store
13.航空公司托运行李规定:乘客可以免费托运重量不超过20公斤的行李。当行李超过20公斤时,对头等舱的国内乘客超重部分每公斤收费3元,对其它舱的国内乘客超重部分每公斤收费5元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。要求用判定树来表示计算行李费的算法。
答:
头等舱:(w-20)*3国内乘客- 其他舱:(w-20) *5非残疾头等舱:(w-20)*6外国乘客其他舱:(w-20) *10>20kg头等舱:(w-20)*3/2国内乘客- 其他舱:(w-20) *5/2残疾头等舱:(w-20)*6/2外国乘客其他舱:(w-20) *10/2<=20kg免费
相关推荐: