软件工程考试题(带答案)

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

软件⼯程考试题(带答案)
⼀、选择题
1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)
A) 可⾏性研究,问题定义,需求分析。

B) 问题定义,可⾏性研究,需求分析。

C) 可⾏性研究,需求分析,问题定义。

D) 以上顺序都不对。

2.可⾏性研究主要从以下⼏个⽅⾯进⾏研究:(A)
A)技术可⾏性,经济可⾏性,操作可⾏性。

B)技术可⾏性,经济可⾏性,系统可⾏性。

C)经济可⾏性,系统可⾏性,操作可⾏性。

D)经济可⾏性,系统可⾏性,时间可⾏性。

3 耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下:(C)
A) 内容耦合,控制耦合,数据耦合,公共环境耦合。

B) 内容耦合,控制耦合,公共环境耦合,数据耦合。

C) 内容耦合,公共环境耦合,控制耦合,数据耦合。

D) 控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使⽤到的设计⼯具是:(A)A) 程序流程图,PAD图,N-S图,HIPO图,判定表,
判定树.
B) 数据流程图,Yourdon 图,程序流程图,PAD图,
N-S图,HIPO图。

C) 判定表,判定树,PDL,程序流程图,PAD图,N-S
图。

D) 判定表,判定树,数据流程图,系统流程图,程序流
程图,层次图。

5 按照软件⼯程的原则,模块的作⽤域和模块的控制域之间的关系
是:(A)
A)模块的作⽤域应在模块的控制域之内。

B)模块的控制域应在模块的作⽤域之内。

C)模块的控制域与模块的作⽤域互相独⽴。

D)以上说法都不对。

6在软件⽣命周期中,能准确确定软件系统的体系结构的功能阶段是(C)
A.概要设计
B.详细设计
C.需求分析
D.可⾏性分析
7下⾯不是软件⼯程的3个要素的是(C)
A过程 B.⽅法 C.环境 D.⼯具
8.下⾯不属于软件的组成的是(B)
A程序 B.记录 C.⽂档 D.数据
9在瀑布模型中,将软件分为若⼲个时期,软件项⽬的可⾏性研究⼀般归属于(C)
A.维护时期
B.运⾏时期
C.定义时期
D.开发时期
10.在瀑布模型中,下⾯(C)是其突出的缺点。

A.不适应平台的变动
B.不适应算法的变动
C.不适应⽤户需求的变动
D.不适应程序语⾔的变动
11下⾯不属于软件的特点的是(D)。

A软件是⼀种软件产品
B软件产品不会⽤坏,不存在磨损、消耗问题
C软件产品的⽣产主要是研制
D软件产品⾮常便宜
12 软件开发⼯具是协助开发⼈员进⾏软件开发活动所使⽤的软件或环境。

下⾯不是软件开发⼯具的是(A)。

A.维护⼯具
B.编码⼯具
C.测试⼯具
D.需求分析⼯具
13.下列叙述中不属于软件⽣命周期模型的是(D)。

A.原型模型
B.瀑布模型
C.螺旋模型
D.快速组装模型
14.软件设计中,⽤抽象和分解的⽬的是(B)。

A.提⾼易读性
B.降低复杂性
C.增加内聚性
D.降低耦合性
15软件⽣命周期中所花费⽤最多的阶段是(D)。

A.详细设计
B.软件编码
C.概要设计
D.软件测试和维护
16.开发软件时对提⾼开发⼈员⼯作效率⾄关重要的是(B)。

A.操作系统的资源管理功能
B.先进的软件开发⼯具和环境
C.程序⼈员的数量
D.计算机的并⾏处理能⼒
17.开发软件所需⾼成本和产品的低质量之间有着尖锐的⽭盾,这种现象称作(B)。

A.软件投机
B.软件危机
C.软件⼯程D软件产⽣
18软件开发的结构化⽣命周期⽅法将软件⽣命周期划分成(A)。

A.定义、开发、运⾏维护
B.设计阶段、编程阶段、测试阶段
C.总体设计、详细设计、编程调试
D.需求分析、功能定义、系统设计
19.软件⼯程的理论和技术性研究的内容主要包括软件开发技术和(B)。

A.消除软件危机
B.软件⼯程管理
C.程序设计⾃动化
D.实现软件可重⽤
20软件⼯程的出现是由于(C)。

A.程序设计⽅法学的影响
B.软件产业化的需要
C.软件危机的出现
D.计算机的发展
21.在软件⽣命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)。

A.概要设计
B.详细设计
C.问题定义
D.需求分析
22. 开发⼤型软件时,产⽣困难的根本原因是(A)。

A.⼤系统的复杂性
B.⼈员知识不⾜
C.客观世界千变万化
D.时间紧、任务重
23. ⽂档是软件开发⼈员、软件管理⼈员、维护⼈员、⽤户以及计算机之间的(B),软件开发⼈员在各个阶段以⽂档作为前段⼯作成果的体现和后段⼯作的基础。

A.接⼝
B.桥梁
C.科学
D.继续
24软件⼯程学的⽬的是以较低的成本,研制(A)质量的软件。

A较⾼B较低C.可靠D.优秀
25软件从⼀个计算机系统或环境转换到另⼀个计算机和环境的容易程度称为(D)。

A.可⽤性
B.兼容性
C.可靠性
D.可移植性
26.软件⽣存周期是指(D)阶段。

A.软件开始使⽤到⽤户要求修改为⽌
B.软件开始使⽤到被淘汰为⽌
C.从开始编写程序到不能再使⽤为⽌
D.从⽴项制定计划,进⾏需求分析到不能再使⽤为⽌
27.软件⼯程学是应⽤科学理论和⼯程上的技术指导软件开发的学科,其⽬的是(B)。

A引⼊新技术提⾼空间利⽤率
B⽤较少的投资获得⾼质量的软件
C缩短研制周期扩⼤软件功能
D硬软件结合使系统⾯向应⽤
28. 软件可⾏性分析是着重确定系统的⽬标和规模。

对成本-效益进⾏发现应属于下列选项中的(A)。

A.经济可⾏性
B.操作可⾏性
C.技术可⾏性
D.社会可⾏性
29在数据流图中,⽤圆或者椭圆来表⽰(B)。

A.数据流
B.加⼯
C.数据存储
D.数据源点或终点
30. 需求分析阶段的任务是确定(C)。

A.软件开发⽅法
B.软件开发费⽤
C.软件系统功能
D.软件开发⼯具
31(D)的⽬的就是⽤最⼩的代价在尽可能短的时间内确定该软件项⽬是否能够开发,是否值得去开发。

A需求分析B概要设计C总体设计D可⾏性研究
32.下列选项中(D)不是软件需求规格⽬标。

A.便于⽤户、分析员和软件设计⼈员进⾏理解及交流
B.控制系统的实施过程
C.作为软件测试和验收以及维护的依据
D.便于软件的维护
33下⾯描述中,不符合结构化程序设计风格的是(B)。

A使⽤顺序、选择和重复(循环)三种基本控制结构表⽰程序的控制逻辑
B模块只有⼀个⼊⼝,可以有多个出⼝
C注重提⾼程序的执⾏效率
D不使⽤goto语句
34. 下列⼯具中属于需求分析常⽤⼯具的是(D)。

A.PAD
B.PFD
C.N-S
D.DFD
35. 在数据流图(DFD)中,带有名字的箭头表⽰(C)。

A.控制程序的执⾏顺序
B.模块之间的调⽤关系
C.数据的流向
D.程序的组成成分
36. 在软件⽣产过程中,需求信息的给出是(D)。

A.程序员
B.项⽬管理者
C.软件分析设计⼈员
D.软件⽤户
37下列叙述中,不属于结构化分析⽅法的是(C)。

A.⾯向数据流的结构化分析⽅法
B.⾯向数据结构的结构化数据系统开发⽅法
C.⾯向对象的分析⽅法
38结构设计是⼀种应⽤最⼴泛的系统设计⽅法,是以(B)为基础、⾃顶向下、逐步求精和模块化的过程。

A.数据流
B.数据流图
C.数据库D数据结构
39需求分析是由分析员经了解⽤户的要求,认真细致地调研、分析,最终应建⽴⽬标系统的逻辑模型并写出(B)。

A.模块说明书
B.软件规格说明书
C.项⽬开发计划
D.合同⽂档
40. 结构化分析⽅法以数据流图、(D)和加⼯说明等描述⼯具,
即⽤直观的图和简洁的语⾔来描述软件系统模型。

A.DFD图
B.PAD图
C.IPO图
D.数据字典
41. 数据字典是软件需求分析阶段的重要⼯具之⼀,它的基本功能是(A)
A.数据定义
B.数据维护
C.数据通讯
D.数据库设计
42. 以下(A)不是详细设计中常⽤的图形描述⼯具。

A.数据流图
B.程序流图
C.盒图(N-S)
D.问题分析图(PAD)
43. 在结构图的有关术语中,⽤于表⽰软件结构中控制的层数的是(C)
A.扇⼊B扇出C深度D宽度
44. 模块的独⽴程度是评价设计好坏的重要标准。

(A)是衡量
软件的模块独⽴性的两个定性度量标准。

A耦合性和内聚性B内聚性和可靠性
C耦合性和独⽴性D可靠性和独⽴性
45. 软件设计包括(B)两个阶段。

A.接⼝设计和结构设计
B.概要设计和详细设计
C.数据设计和概要设计
D.结构设计和过程设计
46在详细设计阶段,经常采⽤的⼯具是(A)。

A.PAD
B.SA
C.SC
D.DFD
47. 在软件开发中,下⾯任务不属于设计阶段的是(D)。

A.数据结构设计B给出系统模块结构
C定义模块算法D定义需求并建⽴系统模型
48.对建⽴良好的程序设计风格,下⾯描述正确的是(A)。

A程序应简单、清晰、可读性好B符号名的命名要符合语法
C充分考虑程序的执⾏效率D程序的注释可有可⽆
49.下⾯不属于软件设计原则的是(C)。

A抽象B模块化C⾃底向上D信息隐蔽
50. 为了避免流程图在描述程序逻辑时的灵活性,提出了⽤⽅框图来
代替传统的程序流程图,通常也把这种图称为(C)。

A PAD图 B.N-S图 C.结构图D数据流图
51软件测试按照功能划分可以分为(B)。

A⿊盒测试和单元测试B⽩盒测试和⿊盒测试
C集成测试和单元测试D⽩盒测试和静态测试
52在软件测试过程的4个步骤中,测试依据是需求规格说明的是( C) A单元测试B集成测试C确认测试D系统测试53⿊盒测试法属于(C)。

A集成测试B系统测试C动态测试D静态测试
54下列叙述中错误的是(C)。

A测试是为了寻找错误⽽运⾏程序的过程
B⼀个成功的测试是揭⽰了迄今为⽌尚未发现的错误的测试
C测试的⽬的是为了证明程序是正确的
D⼀个好的测试⽤例是指很可能找到迄今为⽌尚未发现的错误的测试
55软件测试过程是软件开发过程的逆过程,其最基础性的测试应是(B)
A集成测试B单元测试C有效性测试D系统测试
56. 程序的三种基本控制结构是(B)。

A. 过程、⼦程序和分程序
B. 顺序、选择和重复
C. 递归、迭代和回溯
D. 调⽤、返回和转移
57. ⾯向对象的分析⽅法主要是建⽴三类模型,即( D)。

A) 系统模型、ER模型、应⽤模型
B) 对象模型、动态模型、应⽤模型
C) E-R模型、对象模型、功能模型
D) 对象模型、动态模型、功能模型
58. 在E-R模型中,包含以下基本成分( C)。

A) 数据、对象、实体
B) 控制、联系、对象
C) 实体、联系、属性
D) 实体、属性、操作
59.软件测试的⽬标是(A)。

A. 证明软件是正确的
B. 发现错误、降低错误带来的风险
C. 排除软件中所有的错误
D. 与软件调试相同
60.软件⽣命周期中所花费⽤最多的阶段是(D)
A.详细设计 B.软件编码 C.软件测试 D.软件维护61.在数据流图中, 圆或椭圆表⽰(1) __A__ ,平⾏线表⽰(2) __D__ 。

(1) A、加⼯B、外部实体
C、数据流
D、存储
(2) A、加⼯B、外部实体
C、数据流
D、存储
62.瀑布模型(Waterfall Model)突出的缺点是不适应( D)的变动。

A、算法
B、平台
C、程序语⾔
D、⽤户需求
63.结构化分析⽅法(SA)的⼀个重要指导思想是( C ) 。

A.⾃顶向下,逐步抽象
B.⾃底向上,逐步抽象
C.⾃顶向下,逐步分解
D.⾃底向上,逐步分解
64.模块的控制范围包括它本⾝及它所有的从属模块,模块的作⽤范围是指模块内⼀个判定的作⽤范围,凡是受到这个判定影响的所有模块都属于这个判定的作⽤范围,理想的情况是( A)
A.模块的作⽤范围应在控制范围之内
B.模块的控制范围应在作⽤范围之内
C.模块的作⽤范围与控制范围交叉
D.模块的作⽤范围与控制范围分离
65关于模块设计的原则,以下叙述中正确的是( B)
A.模块的内聚性⾼,模块之间的耦合度⾼
B.模块的内聚性⾼,模块之间的耦合度低
C.模块的内聚性低,模块之间的耦合度⾼
D.模块的内聚性低,模块之间的耦合度低
66.软件的⽤户界⾯作为⼈机接⼝起着越来越重要的作⽤,⽤户界⾯的( D)是⽤户界⾯设计中最重要的也是最基本的⽬标。

A.灵活性B.风格多样性
C.美观性D.易操作性
67.原型化⽅法是⼀种动态定义需求的⽅法,( D)不具有原型化⽅法的特征。

A.简化项⽬管理
B.尽快建⽴初步需求
C.加强⽤户参与和决策
D.提供严格定义的⽂档
68.数据流图包含的成分有( B)
A.关系、实体和属性
B.数据流、加⼯和数据存储
C.数据流、数据源和数据实体
D.数据流、属性、数据存储和加⼯
69.如果⽤户对系统的⽬标不是很清楚,需求难以定义,这时最好使⽤( A)进⾏系统开发。

A.原型
B.瀑布模型
C.V-模型
D.螺旋模型
70.在软件开发的各个阶段中,对软件开发成败影响最⼤的是(A)
A.需求分析
B.概要设计
C.详细设计
D.编码
71.模块内聚度⽤于衡量模块内部各成分之间彼此结合的紧密程度。

1)⼀组语句在程序的多处出现,为了节省内存空间把这些语句放在⼀个模块中,该模块的内聚度是__A__ 的。

2)将⼏个逻辑上相似的成分放在⼀个模块中,该模块的内聚度是__B__ 的。

3)模块中所有成分引⽤共同的数据,该模块的内聚度是__C__ 的。

4)模块内的某成分的输出是另⼀些成分的输⼊,该模块的内聚度是__D__ 的。

5)模块中所有成分结合起来完成⼀项任务,该模块的内聚度是__E__ 的。

它具有简明的外部界⾯,由它构成的软件易于理解、测试和维护。

A 5 B 7 C 3 D 2 E 1
供选择的答案
A~E:①功能性②顺序性③通信性④过程性⑤偶然性⑥瞬时性⑦逻辑性
72.软件设计中划分模块的⼀个准则是(3)。

两个模块之间的耦合⽅式中,(4)耦合的耦合度最⾼,(2)耦合的耦合度最低。

⼀个模块内部的内聚种类中(3)内聚的内聚度最⾼,(1)内聚的内聚度最低。

两个模块之间的耦合⽅式通常可分为7种,按其耦合度从低到⾼的次序依此为:⾮直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。

内聚度从低到⾼的次序依此为:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚
供选择的答案:
A:①低内聚低耦合②低内聚⾼耦合
③⾼内聚低耦合④⾼内聚⾼耦合
B:①数据②⾮直接③控制④内容
C:①数据②⾮直接③控制④内容
D:①偶然②逻辑③功能④过程
E:①偶然②逻辑③功能④过程
⼆、填空
1.⿊盒测试⼜称为_功能测试数据驱动测试或基于规格说明的测试,⽩盒测试也称为_结构测试或逻辑驱动测试
2、如果⽤户对系统的⽬标不是很清楚,需求难以定义,这时最好使
⽤__原型模型进⾏系统开发。

3、在软件开发的各个阶段中,对软件开发成败影响最⼤的是_需求分析阶段。

4、研究可⾏性从技术可⾏性,经济可⾏性,操作可⾏性可⾏性进
⾏研究。

5.结构化⽅法的指导思想是⾃顶向下,逐步分解
6、在软件开发的各个阶段中,软件维护阶段成为软件的⼆次开发。

7、类是指具有相同数据结构和相同操作的对象的集合。

8.数据流程图按照信息流的类型主要分为事务流和变换流两种。

9.软件危机是指在计算机软件开发和维护过程中所遇到的⼀系列严重问题
10、阶段是解决⽬标系统做什么的问题,阶段
是解决⽬标系统怎么做的问题。

11、内聚是度量⼀个模块内的各个元素彼此结合的紧密程度,它是信息隐藏概念的⾃然扩展。

12.⾯向对象的三个⼦模型分别是对象模型、动态模型和功能模型
13.结构化设计简称,分为和
14.软件⼯程⽅法学的三要素是⽅法⼯具过程
15.软件设计的准则是、、和16.JACKSON⽅法是⾯向⾯向数据结构的设计⽅法,它有种逻辑结构
17.软件过程模型中模型是描述⽤户的动态需求的,
模型是带有风险驱动的
18.结构化设计⽅法是⾯向过程的设计⽅法
19.传统的软件⼯程⽅法学采⽤结构化分析技术完成系统分析⼯作的
20.模块的独⽴性要求⾼内聚低耦合
21.在软件测试的步骤中,单元测试是检验每个模块能否单独⼯作
22.调试是是在测试发现错误之后(排除错误)纠错的过程
23.成本/效益分析是从⽅⾯进⾏可⾏性研究
24.Jackson⽅法是⾯向数据结构的软件设计⽅法
25.内聚越⾼模块的独⽴性越好;耦合越⾼模块的独⽴性越差
26.软件维护⼜称为软件的⼆次开发
三.判断:
1、开发软件就是编写程序。

(×)
2、系统测试的主要⽅法是⽩盒法,主要进⾏功能测试、性能测试、安全性测试及可靠性等测试。

(×)
3、⽣产⾼质量的软件产品是软件⼯程的⾸要⽬标。

(√)
4、只有了解⽤户、了解任务,才能设计出好的⽤户界⾯。

(√)
5、对象是具有相同状态的⼀组操作的集合。

(√)
6、⽤户本⾝的技能,个性上的差异,⾏为⽅式的不同,不会对⼈机
界⾯使⽤造成影响。

(×)
7、编程序时应尽可能利⽤硬件特点以提⾼程序效率. (×)
8、软件开发⼈员对⽤户需求的理解有偏差,这将导致软件产品与⽤
户的需求不⼀致,是产⽣软件危机的唯⼀原因。

(×)
9、开发⼀个软件项⽬总存在某些不确定性,即存在风险。

有些风险
如果控制得不好,可能导致灾难性的后果。

(√)
10. 程序的可靠性、可维护性和效率通常由程序设计语⾔、源代码的
质量、和语⾔的实现机制决定的。

(√)
11、⼀般单元测试不可以并⾏进⾏。

( ×)
12.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。

(√)
13.数据字典是对数据流图中的数据流,加⼯、数据存储、数据的源
和终点进⾏详细定义。

(×)
14.如果通过软件测试没有发现错误,则说明软件是正确的。

(×)
15.快速原型模型可以有效地适应⽤户需求的动态变化。

(√)
16.⽩盒测试⽆需考虑模块内部的执⾏过程和程序结构,只要了解模
块的功能即可。

(×)
17.⽤PDL语⾔写出的程序不可以在计算机上运⾏(√)
18.⿊盒测试主要⽤于测试步骤的后期阶段(√)
19.⽩盒测试主要⽤于测试步骤的后期阶段(×)
20.测试就是调试,都是在计算机上运⾏程序的(×)
四、简答题
1.什么是软件危机
计算机软件的开发和维护过程所遇到的⼀系列问题。

2.什么是⿊盒测试和⽩盒测试
⿊盒测试:已知产品的功能设计规格,可以进⾏测试证明每个实现了的功能是否符合要求。

⽩盒测试:已知产品的内部⼯作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

3.软件开发和写程序有什么不同
软件包含程序,程序是软件的⼀部分。

软件是程序、数据及其相关⽂档的完整集合。

程序只是为了实现软件的功能和性能要求⽽编写的指令序列
4.软件设计的准则
5.什么是软件的⽣命周期,包含哪些阶段
是软件产⽣直到报废的⽣命周期,周期内有问题定义、可⾏性分析、总体描述、系统设计、编码、调试和测试、验收与运⾏、维护升级到废弃等阶段
6.软件测试的步骤有哪些,含义是什么
7.软件过程模型有那些,各⾃特点是什么
8. ⽐较⿊盒测试和⽩盒测试的优缺点
⿊盒测试的优点:适应于阶段测试,从产品功能⾓度测试,容易⼊⼿⽣成测试数据。

缺点:某些代码得不到测试,如果规格说明有误,可能⽆法发现,不易进⾏充分性测试。

⽩盒测试的优点:可构成测试数据使特定程序部分得到测试,有⼀定的充分性度量⼿段,可⽣成较多⼯具⽀持。

缺点:不易⽣成测试数据,⽆法对未实现规格说明的部分进⾏测试,作量⼤通常只⽤于单元测试有应⽤局限。

9. 衡量模块独⽴性的标准是什么,并解释与模块独⽴的具体关系
内聚性和耦合性。

模块的内聚性越⾼耦合性越低则模块越独⽴,反之越不独⽴。

10.详细设计⽤到的有哪些⼯具
五.综合题
1.画出银⾏储蓄系统、航空售票系统、患者监护系统、运动会管理
系统的DFD,信⽤卡管理系统
2.给出DFD会转换为SC(结构图)
3.给出⼀段代码会画出PAD(问题分析图)
作业总汇:
⼀.以下说明和数据流图,回答问题1-4,讲解答填⼊答题纸的对应栏内。

说明:现准备为某银⾏开发⼀个信⽤卡管理系统CCMS,改系统的基本功能为:1.信⽤卡申请。

⾮信⽤卡客户填写信⽤卡申请表,说明所要申请的信⽤卡类型及申请者的基本信息,提交CCMS。

如果信⽤卡被银⾏接受,CCMS将记录该客户的基本信
息,并发送确认函给客户,告知客户信⽤卡的有效期限及信贷限额;否则该客户将会收到⼀封拒绝函。

⾮信⽤卡客户收到确认函后成为信⽤卡客户。

2.信⽤卡激活。

信⽤卡客户向CCMS提交激活请求,⽤信⽤卡号和密码激活该信⽤卡。

激活操作结束后,CCMS将激活通知发给客户,告知客户其信⽤卡是否成功激活。

3.信⽤卡客户信息管理。

信⽤卡客户的个⼈信息可以在CCMS中进⾏在线管理。

每位信⽤卡客户可以在线查询和修改个⼈信息
4.交易信息查询。

信⽤卡客户使⽤信⽤卡进⾏的每⼀笔交易都会记录在CCMS 中。

信⽤卡客户可以通过CCMS查询并核实其交易信息(包括信⽤卡交易记录及交易⾦额)
下⾯是它的顶层图和0层图:
问题:
1. 将顶层图中得E1-E3填充完整
2. 顶层图中缺少三条数据流,根据上⾯的说明,分别指出这三条数据流的起点
和终点
3. 0层图中有两条数据流是错的,请指出这两条数据流的名称,并改正
4. 根据说明,将0层图中得P1—P4的处理名称填充完整
⼆.是某系学籍管理的⼀部分(A)(B)分别是同⼀模块A的两个不同的设计⽅案,你认为哪⼀个设计⽅案较好?请陈述理由
我认为(b)⽅案较好。

要评价⼀个软件结构设计,主要看模块的独⽴性,要从软件结构的耦合性和内聚性两个⽅⾯来衡量。

对于(a)⽅案,模块A 与模块B 之间形成了控制耦合,因此独⽴性不⾼,⽽在B 模块内部,有两个不同的功能被放在⼀起,形成的是逻辑内聚,内聚性不⾼。

对于(b)⽅案,模块A 与B1 和B2 之间是数据耦合,独⽴性较强,在B1 和B2 内部,只完成单⼀的功能,是功能内聚,因此内聚性⾼,可维护性好,因此相⽐⽽⾔(b)⽅案⽐(a)⽅案更好些。

平均/ (A )图(B )图
3(07年下)对于如下的程序流程,当采⽤语句覆盖法设计测试案例时,⾄少需要设计( 2 )个测试⽤例。

4(09年)当选⽤分⽀覆盖法对以下流程图进⾏测试时,⾄少需要设计(6)个测试⽤例。

相关文档
最新文档