软件工程复习题一、 选择题,请从四个可选项中选择正确答案。 1.以下哪一项不是软件危机的表现形式( )
A.成本高 B.生产率低 C.技术发展快 D.质量得不到保证
2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。(A.演化模型 B.喷泉模型 C.原型模型 D.螺旋模型 3.可行性研究的目的不包括( )
A.分析开发系统的必要性 B.确定系统建模的方案 C.分析系统风险 D.确定是否值得开发系统 4.可行性分析研究的费用大约是项目总经费的( )。 A.2% B.8% C.20% D.50% 5.在E-R 模型中,包含以下基本成分( )。 A.数据、对象、实体 B.控制、联系、对象 C.实体、联系、属性 D.实体、属性、联系 6.软件需求分析产生一个重要文档是( )。 A.软件维护说明书 B.需求规格说明书 C.可行性报告 D.初步用户手册 7.内聚程度较低的是( )。
A.通信内聚 B.过程内聚 C.顺序内聚 D.时间内聚
8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( ) A.把软件划分成模块 B确定模块之间的调用关系 C.确定各个模块的功能 D.设计每个模块的伪代码 9.UML 语言支持的建模方式不包括有( )。
A.静态建模 B.动态建模 C.模块化建模 D.功能建模 10.以下哪一项不是面向对象的特征。( )
A.多态性 B.继承性 C.封装性 D.过程调用
11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( )
一
) A.软件危机 B.软件工程 C.程序设计革命 D.结构化程序设计 12.瀑布模型的关键不足在于( )
A.过于简单 B.不能适应需求的动态变更 C.过于灵活 D.各个阶段需要进行评审 13.可行性研究的四大要素是( )。 A.经济、技术、法律和社会环境
B.经济、技术、开发组织能力和领导者水平 C.经济、技术、计算机硬件环境和网络带宽 D.经济、技术、软件开发工具和人员的稳定性 14.经济可行性研究的主要内容包括( )
A.开发过程 B.开发工具 C.风险分析 D. 效益分析 15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是( )。 A.要求软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率如何 D.要求软件具有什么样的结构 16.DFD中的每个加工至少需要( )
A.一个输入流 B.一个输出流
C.一个输入或输出流 D.一个输入流和一个输出流 17.PDL是描述处理过程( )。
A.做什么 B.为什么做 C.怎么做 D.对谁做
18.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( ) A.数据耦合 B.公共耦合 C.标记耦合 D.内容耦合 19.按照模块独立性,耦合程度由弱至强正确的顺序是( )。 A.数据耦合、控制耦合、外部耦合、内容耦合 B.控制耦合、数据耦合、内容耦合、外部耦合 C.内容耦合、外部耦合、控制耦合、数据耦合 D.外部耦合、内容耦合、数据耦合、控制耦合
20.UML 中,包图是一种( )。
A.集合 B.数据结构 C.分组机制 D.对系统的动态描述 21.面向对象设计首先要确定系统的总体结构和风格,构造系统的( )。 A.逻辑模型 B.物理模型 C.数据模型 D.用例模型 22.面向对象设计的步骤中,正确的顺序是( )。
A.系统构架设计、用例设计、类设计 B.系统构架设计、数据库设计和用户界面设计 C.类设计、用例设计、构架设计 D.用例设计、构架设计、类设计 23.类有3种类型,即( )。
A.边界类、实体类、控制类 B.实体类、控制类、界面类 C.控制类、实体类、虚类 D.界面类、控制类、公共类
24.( )是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。 A.消息连接 B.参数传递 C.方法重写 D.继承 25.结构化程序设计主要强调的是( )。
A.程序的规模 B.程序效率 C.程序语言的先进性 D.程序易读性 26.下列关于功能性注释不正确的说法是( )。
A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释 27.软件测试的目的是( )。
A.评价软件的质量 B.发现软件的错误 C.找出软件中的所有错误 D.证明软件是正确的 28.在设计黑盒测试用例时,主要研究( )。 A. 概要设计说明书 B.详细设计说明 C.项目开发计划 D. 需求规格说明 29.以下属于完善性维护的有( )。
A.解决开发时未能测试各种可能条件带来的问题 B.增加联机求助命令
C.缩短系统的应答时间,使其达到特定要求 D.为提高软件的可靠性和可维护性,主动修改软件 40.软件项目管理的内容包括( )。
A.人员的组织与管理 B.软件配置管理 C.软件开发进度计划 D.以上所有
31.以下哪一项不属于面向对象的软件开发方法( )
A.coad方法 B.booch方法 C.jackson方法 D.omt方法 32.面向对象分析的核心在于( )。
A.建立正确的模型 B.识别问题域对象 C.识别对象之间的关系 D.上面都有 33.在面向对象方法中,描述系统控制结构的模型是( )模型。 A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型
34.面向对象分析和设计涉及到三个方面的内容:( )、一系列有效的分析步骤和一个方便易用
的建模工具。
A.一套完善的建模符号 B.有效的数据结构 C.灵活的体系结构 D.稳定的系统架构
35.每个子系统的接口上定义了若干( ),体现了子系统的功能。 A.说明 B.操作 C.属性 D.关系 36.程序设计语言的技术特性不应包括( )。 A.数据结构的描述性 B.抽象类型的描述性 C.数据库的易操作性 D.软件的可移植性 37.以下哪种测试方法不属于白盒测试技术( )。
A.语句覆盖测试 B.边界值分析测试 C.条件覆盖测试 D.判断覆盖测试 38.软件测试的主要特点是( )。
A.软件测试的开销不大 B.软件测试要依靠工具 C.软件不能进行“穷举”测试 D.软件测试要依靠人工 39.在软件生存期的维护阶段,继续诊断和修正错误的过程称为( )。 A.完善性维护 B.适应性维护 C.预防性维护 D.改正性维护 40.不属于软件项目管理的是( )。
A.开发机构能力评估 B.项目风险评估 C.质量监控 D.软件销售利润
二、 简答题
1.什么是软件危机?试简述至少3种软件危机的典型表现。
2. 简述软件过程模型
3.简述结构化分析的主要步骤
4. 请给出软件工程七条基本原理中的任意6条基本原理。
5.软件工程为什么要强调规范化和文档化? 6.简述模块独立性,内聚与耦合。 7.设计下列伪程序的语句覆盖测试用例。
BEGIN
INPUT(A,B,C) IF A>5 THEN
X=10 ELSE
X=1 END IF IF B>10 THEN
Y=20 ELSE
Y=2 END IF IF C>15
THEN Z=30 ELSE Z=3 END IF PRINT(X,Y,Z)
END
8. 为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。 9.简述在项目开发时选择程序设计语言的主要考虑的因素。 10.设计下列伪程序的条件组合覆盖测试用例。 BEGIN INPUT(A,B)