1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A.软件工程 B.软件周期
C.软件危机 D.软件产生
2.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 3.模块的内聚性最高的是( )
A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 4.在SD方法中全面指导模块划分的最重要的原则是( ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5.软件详细设计主要采用的方法是( )
A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计 6.黑盒测试在设计测试用例时,主要需要研究( )
A.需求规格说明与概要设计说明 B.详细设计说明
C.项目开发计划 D.概要设计说明与详细设计说明 7.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 8.下列属于维护阶段的文档是( )
A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 9.快速原型模型的主要特点之一是( )
A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 10.下列文档与维护人员有关的有( )
A.软件需求说明书 B.项目开发计划 C.概要设计说明书 D.操作手册 二、名词解释(每小题3分,共15分) 1.信息隐藏
2.结构化分析方法 3.数据字典(DD) 4.内聚性 5.静态测试
三、简答题(每小题5分,共25分)
1.简述软件工程目标和面临的主要问题。
2.简述结构化程序设计方法的基本要点。 3.简述文档在软件工程中的作用。 4.简述提高可维护性的方法。 5. 模块的内聚性包括哪些类型?
答案
一、选择题
1 c 2 b 3 d 4 d 5 d 6 a 7 c 8 c 9 d 10 c 二、名词解释
1. 信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数
据),对于不需要这些信息的其他模块来说是不能访问的。
2. 结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。
3. 数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、
无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定
义和详细的描述。
4. 内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
5. 静态测试:基本特征是在对软件进行分析、检查和审阅,不实际运行被测试
的软件。
三、简答题
1. .软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
面临的主要问题是:软件费用 软件可靠性 软件维护 软件生产率 软件重用。 2. .(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环 (3)采用主程序员组的组织形式。 3.(1)提高软件开发过程的能见度 (2)提高开发效率
(3)作为开发人员阶段工作成果和结束标志
(4)记录开发过程的有关信息便于使用与维护; (5)提供软件运行、维护和培训有关资料; (6)便于用户了解软件功能、性能。 4.(1)建立明确的软件质量目标
(2)利用先进的软件开发技术和工具 (3)建立明确的质量保证工作 (4)选择可维护的程序设计语言 (5)改进程序文档 5. 模块的内聚性包括: (1) 偶然内聚 (2) 逻辑内聚 (3) 时间内聚 (4) 通信内聚 (5) 顺序内聚 (6) 功能内聚
一、填空题
1. 软件生存周期一般可分为 、 、 、 、 、
六个阶段。 2. 结构化分析方法是面向 进行需求分析的方法。结构化分析方法使用 与
来描述。
3. 常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的
____________,以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的____________。
4. 在面向对象的开发中,类与类之间的存在着关联、聚集和 等关系。 5. 在数据词典中,“C=[x|y]”的含义是 。 二、选择题
1. 总体设计的目标:
A.确定系统的功能与模块结构 B.确定系统的费用
C.确定系统的算法
D.确定开发系统所使用的语言
2. 是用户和设计交换最频繁的方法
A.原型化方法 B.瀑布模型方法
C.螺旋模型方法 D.构件组装模型
3. 软件测试的目的:
A.避免软件开发中出现的错误 B.发现软件开发中出现的错误
C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D.修改软件中出现的错误
4. 软件测试可能发现软件中的 ,但不能证明软件 。( )。
A.所有错误、没有错误
B.错误、没有错误
C.逻辑错误、没有错误 D.设计错误、没有错误
5. 下列哪一个不是N-S图的基本控制结构:
A. 顺序型 B. 选择型 C. REAPET重复型 D. UNTIL重复型
三、判断题:
1. 软件开发小组人数越多越好。
2. 在程序运行之前没法评估其质量。
3. 需求是变化的,因为软件是灵活的,总可以满足需求。 4. 有了对目标一般描述,就可以编程序,以后在详细描述。 5. 模块越小,模块的优点越大。
四、简答题:
1. 什么是软件工程?
五、分析设计题
1. 画出下列伪码程序的程序流程图,盒图(N_S图)。
START
IF m THEN
WHILE n DO
A
B
END DO ELSE BLOCK
C D
END BLOCK
END IF STOP
2. 求一组数组中的最大数, 数组表示为A(n) ,n=1,2„„n的自然数。
a) 请画出该算法的N-S图 b) 请用PAD图来表示该算法
模拟试题答案
一、填空题
1、 问题定义、需求分析与可行性研究、设计、编码、测试、运行与维护 2、 数据流、数据流图DFD、数据字典DD
3、 结构化设计方法(SD) 面向对象设计方法(OOD) 4、 关联
5、 C由x或者y构成 二、选择题 1、 A 2、 A 3、 C 4、 B 5、 C
三、判断题:
1. ╳ 2. ╳ 3. ╳ 4. ╳ 5. ╳
四、简答题
1、软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
五、分析设计题 1、
2、
一、单项选择
1、软件开发时,一个错误发现得越晚,为改正它所付出的代价就( A、越大 B、越小
C、越不可捉摸 D、越接*均水平
。 )
2、总体设计目的是确定整个系统的( )。
A、规模 B、测试方案
C、费用 D、功能及模块结构 3、模块在同一段时间内完成各种初始化工作,这属于( )。 A、偶然内聚 B、逻辑内聚 C、时间内聚 D、过程内聚 4、在编程安全方面,一般来说无法做到( )。
A、避开错误 B、完美无缺,绝无错误 C、冗余 D、涉及防错程序 5、在衡量软件质量时,最重要的标准是( )。
A、成本低 B、可维护性好 C、符合要求 D、界面友好
6、软件详细设计的主要任务是确定每个模块的( )
A、算法和使用的数据结构 B、外部接口 C、功能 D、编程
7、软件结构图的形态特征能反映程序重用率的是( )
A、深度 B、宽度 C、扇入 D、扇出 8、为了提高模块的独立性,模块内部最好是( )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚
9、软件结构图中,模块框之间若有直线连接,表示它们之间存在( )
A、调用关系 B、组成关系
C、链接关系 D、顺序执行关系 10、软件是一种( )
A、程序 B、数据 C、逻辑产品 D、物理产品 11、需求分析最终结果是产生( )
A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 12、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A、教正性维护 C、完善性维护
B、适应性维护 D、预防性维护
13、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品
B、及早提供全部完整的软件产品 D、及早提供工作软件
C、开发完毕后才见到工作软件
14、下列属于维护阶段的文档是( )
A、软件规格说明 C、软件问题报告
B、用户操作手册 D、软件测试分析报告
15、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法
B、等价分类法
C、边界值分析法 A、Pascal
D、错误推测法
B、 C
16、适合作为科学工程计算的语言是( )
C、Fortran A、模块设计 C、PDL语言 面。
A. 技术可行性
B. 经济可行性
C. 社会可行性 D. 法律可行性 二、判断题(正确的在括号内打上“√”,错误的打上“×”。) 1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。 ( ) 2、HIPO图是由一组IPO图加一张HC图组成。是美国IBM公司在软件设计中
使用的主要表达工具。 ( )
3、在软件开发中采用原型系统策略的主要困难是成本问题。( ) 4、下图表示的是WHILE型循环。 ( ) S P
5、数据流图与程序流程图的主要区别是程序流程图中各处理框之间有严格的时间上的顺序。而数据流图只反映数据的流向,不反映处理逻辑的先后( ) 6、软件产品与其他任何产品不同,它是无形的,完全没有物理属性。( ) 7、使用好的开发工具可以降低开发成本。 ( )
D、 Prolog B、结构化设计 D、结构化程序设计
17、软件详细设计主要采用的方法是( )
18、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方
8、需求分析报告只有软件分析人员能看懂。( ) 三、问答题
1. 什么是软件?
2. 为保证模块的独立性,在确定系统的模块结构时对耦合与内聚分别把握什么原则?
应使模块的耦合程度尽可能低。数据耦合最理想,最好少用控制耦合,必要时可考虑使用公共耦合但是应尽量少用。为保证模块的独立性,绝对不能采用内容耦合。设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。
3.可行性研究的目的?
用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
4.数据流图的类型 5.白盒测试与黑盒测试 6.不同内聚类型及含义
7.什么是软件危机?为什么会产生软件危机?
产生原因:
⑴ 软件规模越来越大,结构越来越复杂。 ⑵ 软件开发管理困难而复杂。 ⑶ 软件包开发费用不断增加。 ⑷ 软件开发技术落后。
⑸ 生产方式落后,仍采用手工方式。 ⑹ 开发工具落后,生产率提高缓慢。
8.耦合性有哪几种类型? 其耦合度的顺序如何? 9.什么是软件工程? 四、 分析题
1. 根据伪码程序画出程序流程图、盒图(N-S图)。 START a
IF x1 THEN REPEAT UNTIL x2 b
END REPEAT ELSE BLOCK c d
END BLOCK END IF STOP
答案:
选择题:ADCBB ACCAC BBDCC CBB 判断题:错对对错对对对错
因篇幅问题不能全部显示,请点此查看更多更全内容