软件工程理论

1.

面向对象方法中,以下哪项不属于类间的关系( )。

A

关联关系

B

泛化关系

C

依赖关系

D

特例关系

参考答案

D

2.

ISO12207分别将软件活动归结为基本过程、支持过程和组织过程等3大类:基本过程对应于工程开发;支持过程对应于工程支持;组织过程对应于( )。

A

软件开发

B

工程管理

C

软件测试

D

配置管理

参考答案

B

3.

质量保证工作是(

A

只与质量保证小组有关

B

项目生存期的各个阶段都需要实施的

C

只需要做一次

D

只有大的项目才需要的

参考答案

B

4.

在基于代码行的规模估算中如果采用多名专家估算法进行估算,每个专家需要估计至少三种规模,不属于专家估算范围的是( )。

A

最小规模

B

最大规模

C

最可能规模

D

最不可能规模

参考答案

D

5.

下列模型属于成本估算方法的有( )

A

COCOMO 模型

B

McCall 模型

C

McCabe 度量法

D

甘特图法

参考答案

A

6.

问题分析图的英文缩写是(

A

PRD

B

PAD

C

QAD

D

PAS

参考答案

B

7.

)是用系统的功能数量来测量其规模,与实现产品所使用的语言和技术没有关系。

A

功能点

B

对象点

C

代码行

D

用例点

参考答案

A

8.

软件维护的副作用主要有以下哪几种(

A

编码副作用、数据副作用、测试副作用 

B

编码副作用、数据副作用、调试副作用 

C

编码副作用、数据副作用、文档副作用

D

编码副作用、文档副作用、测试副作用

参考答案

C

9.

以下哪项不是对封装的描述( )。

A

对外不可见  

B

黑盒子

C

外部可访问       

D

无须知道内部实现细节

参考答案

C

10.

与确认测试阶段有关的文档是( )。

A

需求规格说明书

B

概要设计说明书

C

详细设计说明书  

D

源程序

参考答案

A

11.

风险的三个属性是(

A

风险发生的时间、地点、负责人

B

风险事件、时间、影响

C

风险事件、概率、影响

D

风险数量、风险影响程度、概率

参考答案

C

12.

使用因果图法最终产生的是( )。

A

用例图

B

判定表

C

因果图

D

等价类

参考答案

B

13.

从技术角度分,不是一类的测试是(

A

黑盒测试

B

白盒测试

C

单元测试

D

语句测试

参考答案

C

14.

关联是建立( )之间关系的一种手段。

A

对象 

B

C

功能

D

属性

参考答案

B

15.

软件结构中, )表示软件结构中从顶层模块到最底层模块的层数。

A

深度

B

宽度

C

扇入数

D

扇出数

参考答案

A

16.

)管理主要通过一系列技术,方法来维护产品的历史,标识和定位产品独有的版本,并在产品的开发和发布阶段控制变化。

A

人员

B

计划

C

配置

D

风险

参考答案

C

17.

RUP的主要特征有以( )、以架构为中心(类、组件、子系统)、迭代和增量的软件开发、以及过程可配置。

A

数据驱动软件的设计和实现

B

性能驱动软件的设计和实现

C

用例驱动软件的设计和实现

D

计划驱动软件的设计和实现

参考答案

C

18.

黑盒测试法主要是根据程序的( )来设计测试用例的。

A

应用范围

B

内部逻辑

C

功能

D

输入数据

参考答案

C

19.

把数据流图分转化为软件结构图,一般把数据流图分为:变换型数据流图和( )。

A

事务型数据流图

B

结构型数据流图

C

流程型数据流图

D

信息型数据流图

参考答案

A

20.

以下不包括在人机交互界面设计准则中的是( )。

A

一致性

B

减少步骤

C

优化美观

D

提供撤销命令

参考答案

C

21.

)先根据以前的项目总成本来推算将要开发的软件的总成本,然后按比例将其分配到各开发单元中。

A

自顶向下估算法

B

自底向上估算法

C

差别估计法

D

专家估算法

参考答案

A

22.

在软件测试中,假定 X 为整数,10≤X≤100,用边界值分析法进行软件测试,那么 X 在测试中应该取( )边界值。

A

X=9X=10X=100X=101

B

X=10X=100

C

X=9X=11X=99X=101

D

X=9X=10X=50X=100

参考答案

A

23.

极限编程和传统方法学的本质不同在于它更强调( )而不是可预测性。

A

可测试性 

B

可适应性

C

代码可复用性

D

系统发布的及时性

参考答案

B

24.

软件调试的目的是( )。

A

找出错误所在并改正之

B

排除存在错误的可能性

C

对错误性质进行分类

D

统计出错的次数

参考答案

A

25.

以下不属于共享聚集的关联有( )。

A

课题组与人员

B

教师与张老师  

C

项目集与项目

D

饮料机与饮料

参考答案

B

26.

以下哪一项不是对象的特点( )。

A

以数据为中心

B

模块的独立性差

C

主动性

D

实现了数据封装

E

本质具有并行性

参考答案

B

27.

基于决策表法设计测试用例的数量与( )的数量有关。

A

条件桩

B

条件项

C

动作项

D

规则

参考答案

D

28.

因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )

A

纠正性维护

B

适应性维护

C

完善性维护

D

预防性维护

参考答案

B

29.

常见的成本估算方法不包括哪一项(

A

自顶向下估算法

B

差别估计法

C

专家估计法

D

关键路径法

参考答案

D

30.

通过软件测试,可以证明被测程序( )。

A

没有错误

B

的确存在错误

C

质量很好

D

错误较少

参考答案

B

31.

程序的三种基本控制结构是( )。

A

过程、子程序和分程序

B

顺序、选择和重复

C

递归、堆栈和队列

D

调用、返回和转移

参考答案

B

32.

以下哪项与面向对象方法的可复用性无关( )。

A

继承

B

多态

C

封装

D

反复迭代

参考答案

D

33.

单元测试时,如果想编写模块代替被测模块实际调用的模块,则应该编写(

A

桩模块  

B

驱动模块 

C

真实模块

D

调用模块

参考答案

A

34.

模块化就是把程序划分成可独立命名且独立访问的模块,每个模块完成(

A

一个子功能

B

二个子功能

C

三个子功能

D

多个子功能

参考答案

A

35.

盒图是由NassiShneiderman 提出了一种符合结构化程序设计原则的图形描述工具,也被称为( )。

A

流程图

B

评定表

C

N-S

D

判定树

参考答案

C

36.

下面所列的性质中,( )不属于面向对象设计的特性。

A

继承性 

B

重用性 

C

封装性 

D

可视化

参考答案

D

37.

以下哪项不属于面向对象分析的内容( )。

A

寻找类与对象

B

识别主题

C

定义服务

D

建立用例模型

参考答案

D

38.

提高健壮性的准则不包括以下哪一项( )。

A

预防用户的操作错误

B

检查参数的合法性

C

先优化后测试

D

不要预先确定限制条件

参考答案

C

39.

在下列语言中,面向过程的语言为 )。

A

C语言

B

Java

C

C++

D

C#

参考答案

A

40.

发现错误能力最弱的是( )

A

语句覆盖  

B

判定覆盖

C

条件覆盖 

D

路径覆盖

参考答案

A

41.

以下哪一项是不正确的( )。

A

对象的每个阶段都对应了一个状态

B

触发状态变化的行为称为事件

C

状态具有持续性

D

状态图不描述对象的行为

参考答案

D

42.

面向对象的主要特征除了对象唯一性、封装、继承外,还有( )。

A

兼容性

B

完整性

C

可移植性

D

多态性

参考答案

D

43.

项目工期紧张时应该集中精力于()。

A

尽可能多的工作

B

非关键工作 

C

加速关键路径上的工作

D

通过降低成本加速执行

参考答案

C

44.

过程设计语言(简称PDL),也称程序描述语言,又称为

A

编程语言

B

代码

C

高级语言 

D

伪码

参考答案

D

45.

以下不属于项目管理主要任务的是( )。

A

计划管理  

B

风险管理 

C

质量管理   

D

投资管理

参考答案

D

46.

下列不是集成测试进行主要原因的是(

A

单个模块可以接受的误差,组装起来可能累积和放大到不能接受的程度

B

一个模块的功能可能会对另一个模块的功能产生不利的影响

C

各个模块组装起来,穿越模块接口的数据可能会丢失

D

模块内部算法实现可能有误

参考答案

D

47.

( )方法需要考察模块间的接口和各模块之间的联系。

A

单元测试   

B

集成测试

C

确认测试 

D

系统测试

参考答案

B

48.

以下哪一项不包括在类图中( )。

A

类名

B

类事件

C

类属性

D

类操作

参考答案

B

49.

用来测试软件在集成系统中的响应时间的是( )。

A

压力测试  

B

容量测试 

C

性能测试  

D

可用性测试 

参考答案

C

50.

如果采用主程序员组结构,则程序设计过程中的事务性工作多由 ( ) 完成

A

主程序员

B

程序员

C

编程秘书

D

后备程序员

参考答案

C

51.

无法通过甘特图获取的计划信息是 ( )

A

全部任务

B

任务计划开始时间 

C

任务计划结束时间

D

任务依赖关系

参考答案

D

52.

以下哪一项不是面向对象方法的优点( )。

A

稳定性好

B

可复用性好

C

实现信息隐藏 

D

可维护性好

参考答案

C

53.

以下哪项不属于复杂系统的对象模型( )。

A

主体层

B

对象层

C

结构层

D

服务层

参考答案

B

54.

以下( )方法不是黑盒测试用例的设计方法。

A

场景法

B

边界值分析法   

C

 因果图法

D

路径法

参考答案

D

55.

线性顺序模型或传统生命周期模型规定了软件过程的活动主要包括:制定计划、需求分析、软件设计、编码、软件测试、运行与维护,这些活动按自上而下、相互衔接,具有很强的顺序性和互相依赖性,这种模型称为( )。

A

瀑布模型

B

螺旋模型

C

RUP模型

D

敏捷开发模型

参考答案

A

56.

以下哪项说法是不正确的( )。

A

静态模型是最重要、最基本、最核心的

B

三种模型各自从不同侧面反映了系统的实质性内容

C

模型是对事物的一种无歧义的书面描述

D

模型是一种思考工具,用于规范地表示知识

参考答案

A

57.

下面( )方法能够有效地检测输入条件的各种组合可能引起的错误。

A

等价类划分

B

边界值分析

C

错误推测

D

因果图

参考答案

D

58.

以下哪一项不是面向对象方法中涉及的模型( )。

A

动态模型

B

对象模型

C

静态模型

D

功能模型

参考答案

C

59.

要显示描绘软件开发项目各作业的依赖关系,应选择( )

A

Gantt  

B

工程网络图

C

COCOMO模型

D

数据流图

参考答案

B

60.

以下哪一项不是用例图包括的内容( )。

A

系统

B

继承

C

用例

D

行为者

E

用例间关系

参考答案

B

61.

下面说法正确的是( )

A

经过测试没有发现错误说明程序正确 

B

测试的目标是为了证明程序没有错误 

C

成功的测试是发现了迄今尚未发现的错误的测试 

D

成功的测试是没有发现错误的测试 

参考答案

C

62.

为了提高软件测试的效率,应该( )。

A

随机地选取测试数据

B

选一切可能的输入数据作为测试数据

C

选择发现错误概率最大的数据作为测试用例

D

ABC均不对

参考答案

C

63.

用例图中的行为者可以不包括( )。

A

外部系统

B

角色

C

具体的人

D

与系统交互的人或物

参考答案

C

64.

提高可扩充性的准则不包括以下哪一项( )。

A

封装实现策略

B

全面覆盖各种条件组合

C

避免使用多分支语句

D

不用一个方法遍历多条关联链

参考答案

B

65.

变化控制需要重点考虑( )。

A

变更对软件质量的影响如何

B

利用加锁技术防止覆盖

C

控制权限的设置

D

渐进模型的建立

参考答案

A

66.

以下不属于面向对象语言选择的因素是( )。

A

可重用性

B

效率

C

开发环境

D

类库

参考答案

B

67.

维护中因删除一个标识符而引起的错误是( )副作用。

A

文档

B

数据

C

编码

D

设计

参考答案

C

68.

用例场景描述中( )是经过用例的最简单、无任何差错的路径。

A

基本流

B

备选流

C

数据流  

D

控制流

参考答案

A

69.

软件结构中,由一模块直接控制的其它模块数称为

A

深度  

B

宽度 

C

扇入数

D

扇出数

参考答案

D

70.

数据流图DFD的主要作用是指明系统中数据是如何流动和变换的,以及描述使数据流进行变换的功能,在DFD图中出现的每个功能的描述是通过加工规格说明来描述的,它们一起构成软件的( )。

A

数据模型

B

行为模型

C

抽象模型

D

功能模型

参考答案

B

1.

PDL具有关键字的固定语法,它提供了结构化控制结构、数据说明和模块化的特点。(

正确

错误

参考答案

正确

2.

模型元素越细分,对于系统的理解和描述就越准确。

正确

错误

参考答案

错误

3.

数据库结构设计包括:概念结构设计、逻辑结构设计和物理结构设计。(

正确

错误

参考答案

正确

4.

包通常用于对模型的组织管理,有时又包称为子系统。

正确

错误

参考答案

正确

5.

软件工程知识体系的英文全名是Software Engineering Body of Knowledge,其缩写是SEBK )。

正确

错误

参考答案

错误

6.

继承关系可以自底向上也可以自顶向下进行。

正确

错误

参考答案

正确

7.

部署图属于实现视图。

正确

错误

参考答案

正确

8.

包与包之间不能共用一个相同的模型元素。

正确

错误

参考答案

正确

9.

方便易用是面向对象语言优于面向过程语言的重要原因。

正确

错误

参考答案

错误

10.

设计必须实现所有包含在分析模型中的需求,而且必须满足用户期望的所有隐含需求。(

正确

错误

参考答案

正确

11.

当模块的控制域是其作用域的子集时,模块之间的耦合度较低。

正确

错误

参考答案

错误

12.

编码风格是指源程序的书写习惯。

正确

错误

参考答案

正确

13.

主题是UML分析设计中必不可少的一个层级。

正确

错误

参考答案

错误

14.

根据软件系统的复杂性,有时可以将概要设计说明书、详细设计说明书、数据库设计说明书合并为一个软件设计说明书。

正确

错误

参考答案

正确

15.

关联只能是2元的,不能有三元关联的存在。

正确

错误

参考答案

错误

16.

PAD图表示的程序结构的执行顺序是自最左边的竖线的上端开始,自上而下,自左向右。(

正确

错误

参考答案

正确

17.

UML的可重用性主要集中于代码级重用

正确

错误

参考答案

错误

18.

软件按照设计要求,在规定的时间和条件下达到不出故障、持续运行要求的质量特性称为可靠性。

正确

错误

参考答案

正确

19.

面向对象编程中,应尽量不适用全局变量。

正确

错误

参考答案

正确

20.

如果用户熟悉软件所使用的语言,那么对软件的使用及日后的维护工作会带来很多方便。(

正确

错误

参考答案

正确

21.

构件图是一种静态模型。

正确

错误

参考答案

正确

22.

任务管理子系统主要就是对进程的管理。

正确

错误

参考答案

错误

23.

对象图是类图的具体实例化。

正确

错误

参考答案

正确

24.

对象是类的别名。

正确

错误

参考答案

错误

25.

模块间联系越多,其内聚性越强,同时表明其独立性越差。

正确

错误

参考答案

错误

26.

部署图是一种静态模型。

正确

错误

参考答案

正确

27.

用例图体现的是需求分析人员对于用户需求的认识,是开发团队内部使用的图形,与用户无关。

正确

错误

参考答案

错误

28.

机器语言是计算机可以识别、执行的指令代码。

正确

错误

参考答案

正确

29.

常用的面向过程包括:C++ JavaC#等高级语言。

正确

错误

参考答案

错误

30.

脚本描写的范围仅限于系统内发生的全部事件。

正确

错误

参考答案

错误

31.

如果某个性质依赖于某个关联链的存在,则该性质是链属性。

正确

错误

参考答案

正确

32.

变换分析的任务是从数据流图中导出具有接受分支和发送分支的软件结构。(

正确

错误

参考答案

错误

33.

面向对象系统的确认测试是面向白盒的,且可以应用传统的白盒方法完成测试工作。

正确

错误

参考答案

错误

34.

设计实现服务的方法,应该首先定义数据结构,然后设计实现服务的算法。

正确

错误

参考答案

错误

35.

设计必须实现所有包含在分析模型中的需求,而且必须满足用户期望的所有隐含需求。

正确

错误

参考答案

正确

36.

活动图是描述动作与动作之间的关系。

正确

错误

参考答案

正确

37.

用户界面是外在的表现形式。

正确

错误

参考答案

正确

38.

协作图是描述相互协作的对象间交互关系的一种模型。

正确

错误

参考答案

正确

39.

对象是类的实例化表现。

正确

错误

参考答案

正确

40.

在详细设计中,程序流程图是一种对过程、算法、流程进行表示的图形工具。

正确

错误

参考答案

正确

41.

集成测试中,主要测试类协作。

正确

错误

参考答案

正确

42.

状态图中的状态是对象执行了一系列活动的结果。

正确

错误

参考答案

正确

43.

服务就是类的行为。

正确

错误

参考答案

错误

44.

根据小型二手货交易平台报价模块的三层数据流图特点,经分析可以知道,其为变换型数据流图

正确

错误

参考答案

正确

45.

类图中的每个类都有且仅有一张状态图。

正确

错误

参考答案

错误

46.

类封装比对象封装更具体、更细致。

正确

错误

参考答案

错误

47.

对控制流产生相同效果的事件可以组合在一起作为一类事件。

正确

错误

参考答案

正确

48.

程序流程图是用特定的图形符号,对过程、算法、流程的一种图表示。

正确

错误

参考答案

正确

49.

功能模型中,需要对处理框进行描述。

正确

错误

参考答案

正确

50.

N-S图可以很方便地表示嵌套关系以及模块之间的层次关系。

正确

错误

参考答案

正确

1.

从工程管理方面来看,软件设计一般分为___________________

参考答案

概要设计、详细设计

2.

UML又称为____________

参考答案

统一建模语言

3.

把待开发的软件项目与过去已完成的软件项目进行类比,区分出类似的部分和不同的部分,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为________________

参考答案

差别估计法

4.

____________描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

参考答案

顺序图

5.

测试需要考察模块间的接口和各模块之间的联系____________

参考答案

集成

6.

模块独立性中,使得每个模块只完成一个相对_________的特定子功能,并且与其它模块的关系___________

参考答案

独立的、很简单

7.

模型是由一组________和组织__________________组成。

参考答案

图示符号、这些符号、规则

8.

数据库结构设计包括:____________结构设计、___________结构设计、_____________结构设计。

参考答案

概念、逻辑、物理

9.

静态模型描述系统的________________间的关系.

参考答案

元素、元素

10.

黑盒测试法包括________ ________ _________、因果图法、决策表法、场景测试等。
 

参考答案

等价划分法、边界值分析法、错误推测法

11.

使用系统的功能数量来测量其规模,它以一个标准的单位来度量软件产品的功能,与实现产品所使用的语言和技术没有关系的__________________

参考答案

功能点

12.

软件测试用例主要由输入数据和_____________两部分组成。

参考答案

预期结果

13.

常用的面向对象高级语言一般有:____________________________________等。

参考答案

C++ 、Java、C#

14.

根据开发阶段的不同,软件测试可分为 ____________________________________________

参考答案

单元测试、集成测试、确认测试、系统测试和验收测试

15.

包与包之间允许建立____________________________等关系

参考答案

依赖、泛化、细化

16.

类图描述的是类之间的________关系。

参考答案

静态

17.

高级语言一般分为:_______________________两类高级语言。

参考答案

面向过程、面向对象

18.

HIPO图是表示________的一种工具。它使用_________描述软件总的模块层次结构,使用________描述每个模块的输入输出数据、处理功能及模块调用的详细情况。

参考答案

H图(层次图)、IPO图

19.

在软件开发的结构化设计方法中,指导模块划分的最重要原则是高的___________和低的___________

参考答案

内聚(或内聚性)、耦合(或耦合性)

20.

在问题分析图(Problem Analysis Diagram)中,常用二维树形结构图表示程序的_____________________

参考答案

控制流、逻辑结构

21.

对象是封装了            及可以施加在这些            的封装体。

参考答案

数据结构、数据结构、操作

22.

视图被划分为:___________________________________ ___________________ 三个视图域。

参考答案

结构分类、动态行为、模型管理

23.

UML语义定义的四层框架包括:____________________________________________ ______________

参考答案

元元模型层、元模型层、模型层、用户模型层

24.

模块化就是把程序划分成可___________________的模块,每个模块完成一个子功能。

参考答案

独立命名、独立访问

25.

面向对象分析大体按照以下顺序进行:寻找类与对象,识别结构,________,__________,___________,__________,定义服务。

参考答案

识别主题,定义属性,建立动态模型,建立功能模型

26.

变换型数据流图(DFD)由三部分组成,它们是__________________________________

参考答案

系统结构、控制结构、信息流

27.

软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及_________

参考答案

变换过程

28.

数据流图(简称DFD)有四种基本元素:外部实体__________、处理或加工_________

参考答案

数据流、数据存储

29.

需求分析的一般步骤是调查研究、分析建模、需求描述和_________

参考答案

需求验证

30.

复杂问题的对象模型包括________________________________________________________________五层。

参考答案

主题层、类与对象层、结构层、属性层和服务层

1.

基本路径测试法

参考答案

基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。基本路径法中,设计出的测试用例要保证在被测程序的每个可执行语句至少执行一次。

2.

关联

参考答案

关联表示两个类的对象之间存在某种语义上的联系。

3.

风险控制

参考答案

风险控制是项目实施过程的一个重要工作,其目的是核对风险管理的策略和实施的实际效果是否与预见相同,同时获取反馈信息,改善风险计划和管理。

4.

IPO

参考答案

IPO图:描述每个模块输入/输出数据、处理功能及模块调用的详细情况。

5.

软件质量

参考答案

软件质量就是“软件与明确地、隐含地定义的需求相一致的程度”。

6.

白盒测试

参考答案

白盒测试(White-box Testing)是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试一般需要分析程序的内部结构,对测试者而言是透明的,测试者可以看到被测程序源代码,并了解其内部构造。因此,白盒测试也叫结构测试或逻辑驱动测试。

7.

耦合

参考答案

耦合指一个软件结构内不同模块之间互连的紧密程度。

8.

参考答案

包是一种组合机制。把各种各样的模型元素通过内在的语义关系连在一起,形成一个高内聚低耦合的整体就叫做一个包。包通常用于对模型的组织管理,因此有些地方又称包为“子系统”。

9.

编码风格

参考答案

编码风格是指源程序的书写习惯。

10.

实体

参考答案

实体是具有相同性质并且彼此之间可以相互区分的现实世界对象的集合。

11.

回归测试

参考答案

回归测试是指软件系统被修改或扩充后重新进行的测试,回归测试是为了保证对软件修改后,没有引入新的错误而重复进行的测试。

12.

Alpha测试

参考答案

Alpha 测试是指在开发者的现场进行,并且开发者提供对用户指导下进行的测试。

13.

软件工具

参考答案

软件工具是指这样一类程序,它可以用来帮助软件项目开发过程中某些阶段或某个环节实现软件过程自动化,从而提高软件的劳动生产率和质量、缩短软件开发周期、降低软件生产成本。有时,人们称其为“帮助开发软件的软件”。

14.

应用软件

参考答案

应用软件是提供特定应用服务的软件,是程序设计人员为各种应用目的而开发的软件,是为解决各类实际问题而设计的程序,计算机用户可以自己开发或购买满足各种需要的应用软件。

15.

甘特图

参考答案

甘特图也叫条形图,是美国科学管理学派创始人亨利?甘特(Henry L.Gantt)在20世纪初设计的一种组织和监控项目进度的工具。

甘特图用水平线段表示任务的工作阶段,线段的起点和终点分别对应着任务的开工时间和完成时间,线段的长度表示完成任务所需的时间。

16.

确认测试

参考答案

确认测试又称有效性测试,它的任务是检查软件的功能与性能是否与需求说明书中确定的指标相符合,是否达到了系统设计确定的全部要求。因而,需求说明是确认测试的基础,确认测试的对象是系统整体。

17.

软件维护

参考答案

软件维护就是在软件运行维护阶段,为了改正软件错误,或为了满足用户新的应用需要,而对软件进行改错、变更或进化的过程。

18.

UML

参考答案

UML即统一建模语言(Unified Modeling Language),是一种标准的图形化建模语言。它是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保证代码满足这些需求,并能方便地回溯需求的过程),它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。

19.

脚本

参考答案

脚本是指系统在某一执行期间内出现的一系列事件。脚本描述用户(或其他外部设备)与目标系统之间的一个或多个典型的交互过程,以便对目标系统的行为有更具体的认识。

20.

软件过程

参考答案

软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及变换过程。

1.

Jackson结构程序设计方法的步骤有哪些?

参考答案

Jackson结构程序设计方法基本上由下述5个步骤组成: (1) 分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。 (2)找出输入数据结构和输出数据结构中有对应关系的数据单元。所谓有对应关系是指有直接的因果关系,在程序中可以同时处理的数据单元(对于重复出现的数据单元必须重复的次序和次数都相同才可能有对应关系)。 (3)用下述3条规则从描绘数据结构的Jackson图导出描绘程序结构的Jackson图: 1)为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框。 2)根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。 3)根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。 (4) 列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置。 (5)用伪码表示程序。

2.

结构图的主要构成是什么?

参考答案

结构图的主要构成有:

(1)模块:用矩形框表示,框中写有模块的名字,说明模块的功能。模块是程序对象有名字的集合。例如:过程、函数、子程序、宏等。

(2)调用:从一个模块指向另一个模块的箭头表示前一模块对后一模块的调用,一般是上层调用下层。

(3)数据:调用箭头边上的小箭头表示调用时从一个模块传送给另一模块的数据。通常在短箭头附近应注有信息的名字。

3.

在面向对象软件设计中如何划分主题?

参考答案

在开发大型、复杂的系统过程中,为了低复杂程度,把系统再进一步划分成几个不同的主题,也就是在概念上把系统包含的内容分解成若干个范畴。 。

在开发很小的系统时,可能根本无须引入主题层;对于含有较多对象的系统,则往往先识别出类与对象的关联,然后划分主题,并用它作为指导开发者和用户观察整个模型的一种机制;对于规模极大的系统,则首先由高级分析员粗略地识别对象和关联,然后初步划分主题,进一步分析后,对系统结构有更深入的了解之后再进一步修改和精炼主题。

在划分主题时应该按问题领域而不是用功能分解方法来确定主题。使用不同主题内的对象相互间依赖和交互最少的原则来确定主题。

4.

软件设计中的启发原则是什么?

参考答案

1.改进软件结构提高模块独立性2.模块规模应该适中3.深度、宽度、扇出和扇入都应适当4.模块的作用域应该在控制域之内5.力争降低模块接口的复杂程度6.设计单入口单出口的模块7.模块功能应该可以预测

5.

人机界面设计应该遵循的原则是什么?

参考答案

人机界面设计应该遵循的原则如下:

(1)置用户于控制之下

以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式,允许用户交互可以被中断和撤消,当技能级别增加时可以使交互流水化并允许定制交互使用户隔离内部技术细节,设计应允许用户和出现在屏幕上的对象直接交互。

(2)减少用户的记忆负担

减少用户对短期记忆的要求,建立有意义的缺省,定义直觉性的捷径,快捷方式,界面的视觉布局应该基于真实世界的隐喻

(3)保持界面一致

用户应以一致的方式展示和获取信息,所有可视信息的组织均按照均按照贯穿所有屏幕显示所保持的设计标准,允许用户将当前任务放入有意义的语境,在应用系列内保持一致性,如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它。

6.

选择编程语言时需要考虑哪些因素?

参考答案

要考虑的因素如下: (1)待开发系统的应用领域,即项目的应用范围。不同的应用领域一般需要不同的语言。 (2)用户的要求 (3)软件开发人员的喜好和能力 (4)系统的可移植性要求 (5)算法和数据结构的复杂性 (6)平台支持

7.

系统定义和分析的主要任务有哪些?

参考答案

系统定义和分析的主要任务有: ①依据系统总目标,定义系统的详细目标、模型、功能、性能和界面 ②确定系统与环境的界面 ③确定硬件、软件功能的合理分担 ④进行多种方案设计,提出建议方案 ⑤对方案进行可行性论证

8.

软件需求分析所关心的问题有哪些?

参考答案

软件需求分析所关心的问题包括如下几个方面: (1)系统服务于什么样的行业?需要解决的具体问题是什么?需要处理哪些信息? 不同的行业有不同的特点。即使是相同的行业,其应用需求也不尽相同。因此系统开发之前,首先要弄清楚系统面向的行业是什么,该行业有何特点,用户需要解决什么问题、涉及的主要业务有哪些、范围有多大,最终的目标是什么等。围绕系统要解决的问题,进一步分析系统要处理的数据或信息的种类、范围、及其规模等。 (2)系统需要具备哪些功能? 实际上,随着用户需求的不同,系统的复杂程度也不一样。一个系统所具备的功能反映了系统能做什么,功能的多少和复杂程度说明了系统处理业务的基本能力,是最主要的需求。 (3)系统的其他需求有哪些? 除了系统功能需求外,围绕系统的功能问题,还常常伴随着许多其他需求问题需要解决,比如运行环境要求、系统的性能、系统的安全、系统的容量、系统的并发、系统的可用性、友好性、便利性等,以及系统与外部的接口需求、界面需求等等。 (4)系统的约束条件有哪些? 任何系统的建造都不是无限制、无条件的,弄清楚用户要求的一些限制条件是必须的。

9.

试简述因果图建立步骤。

参考答案

因果图法的基本原理是通过因果图,把用自然语言描述的功能说明转换为判定表,然后为判定表的每一列设计一个测试用例。其步骤如下:

(1)分析规范

规范是指规格说明描述,如输入、输出的条件及功能、限制等。分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。

(2)标识规范。

标识出规范中的原因与结果,并对每个原因、结果赋予一个标识。

(3)画出因果图 。

分析规范语义,找出原因与结果之间、原因与原因之间的对应关系,画出因果图。此外,由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的,所以在因果图上需要使用若干个特殊的符号来标明约束条件。

10.

建立动态模型的步骤有哪些?

参考答案

建立动态模型的步骤有:

第一步,是编写典型交互行为的脚本;

第二步,从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象;

第三步,排列事件发生次序,确定每个对象可能的状态及状态间的转换,并用状态图描绘它们。

第四步,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。

11.

简述面向对象建模中的三种模型及其异同。

参考答案

面向对象建模中的三种模型

1.描述系统数据结构的对象模型

2.描述系统控制结构的动态模型

3.描述系统功能的功能模型

三种模型的异同:

三种模型都涉及数据、操作、控制等共同的概念,只是在侧重点上有所区别

三种模型从三个不同但又密切相关的角度模拟目标系统,各自从不同的侧面反映了系统的实质性内容,综合起来则又全面反映了对目标系统的需求。

一个典型的软件系统组合了上述3种模型:使用数据结构(对象模型),执行操作(动态模型),完成数据值的变化(功能模型)

12.

等价类划分法的基本步骤是什么?

参考答案

根据已划分好的等价类,按以下步骤来设计测试用例:

(1)为每一个等价类规定唯一的编号。

(2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖过的有效等价类。重复这步,直到所有有效等价类均被测试用例所覆盖。

(3)设计一个新的测试用例,使其只覆盖一个无效等价类。重复这步,直到所有无效等价类均被覆盖。

13.

数据词典的词条中应该包含哪些信息?

参考答案

数据词典的词条中应包含以下信息: ①名称 ②别名或编号 ③ 组成或组织结构的描述 ④类型、长度、取值范围等 ⑤何处使用:使用该词条的加工

14.

面向对象软件设计中如何筛选出正确的类与对象?

参考答案

对每个候选类进行严格考察,从中去掉不正确的或不必要的,仅保留确实应该记录其信息或需要其提供服务的那些对象。

(1)冗余:如果两个类表达了同样的信息,则应该保留在此问题域中最富于描述力的名称。

(2)无关:把与本问题密切相关的类与对象放进目标系统中,其它无关的均删去。

(3)笼统:把笼统的或模糊的类去掉。

(4)属性:把描述其它对象属性的类去掉。

(5)操作:在需求陈述中可能使用一些既可作为名词,又可作为动词的词,应该慎重考虑它在问题中的含义,确定其是类还是类中定义的操作。

(6) 实现:在分析阶段不应过旱地考虑怎样实现目标系统。











 

15.

软件工程标准的意义是什么?

参考答案

必要性 在软件的开发、测试与评价、运行、维护、管理等一系列工作中,都要有一系列的约束和规定,都要求提供统一的行动规范和衡量准则,使得各种工作都能有章可循。 ② 标准化带来的好处 - 提高软件的质量; - 提高软件的生产率; - 提高软件人员之间的通信效率,减少差错和误解; - 有利于提高软件管理水平; - 有利于降低软件的成本; - 有利于缩短软件开发周期。

16.

软件开发环境通常具有哪些功能?

参考答案

软件开发环境通常具有如下功能: - 软件开发的一致性和完整性维护; - 对软件开发方法一种或几种的支持; - 提供配置管理及版本控制; - 支持项目管理和控制; - 支持数据的多种表示形式及其在不同形式之间的转换; - 信息的自动检索及更新; - 支持至少一种语言(可能是4GL——第四代语言)的软件实现等。

17.

简述UML的使用准则。

参考答案

一、不要试图使用所有的图形和符号

UML共定义了九种图形。但并不意味着在开发一个软件系统时需要使用这全部九种图形和符号。相反,应该根据项目的特点,选择最适用的图形和符号。一般来说,优先选用简单的图形和符号。用例图是必须的。

二、不要为每个事物都画一个模型

应该把精力集中于关键的领域。最好只画几张关键的图,经常使用并不断更新、修改这几张图。

三、应该分层次地画模型图

根据项目进展的不同阶段,用正确的观点画模型图。不要过早地陷入实现细节。

四、模型应该具有协调性

模型协调的第一个方面是集成。集成的含义是:把对同一个事物从各种不同角度(静态、动态和架构)描述的模型合成为一个整体,而且在合成时不会出现不一致的问题。

模型协调的第二个方面是建立在不同抽象层次上的各个模型之间的关系,能够用UML中的细化关系表示出来。有了这种喜欢关系才能成功追踪系统的工作状态。

五、模型和模型元素的大小应该适中

如果要建模的问题相当复杂,可以把该问题分解为若干个子问题,分别为每个子问题建模,每个子问题构成原模型中的一个包,以降低建模的难度和模型的复杂度。

18.

简述软件工程管理的主要任务。

参考答案

软件工程管理的主要任务有:软件度量管理、项目计划管理、风险管理、软件质量保证、人员管理、软件配置管理等。

软件度量管理用量化的方法评测软件开发中的费用、生产率、进度和产品质量等要素是否符合期望值,包括过程度量和产品度量两个方面。

项目计划管理主要包括工作量、成本、开发时间的估计,并根据估计值制定和调整项目组的工作。

风险管理预测未来可能出现的各种危害到软件产品质量的潜在因素,并由此采取措施进行预防和控制。

软件质量保证是保证软件产品和服务充分满足用户要求的质量而进行的有计划,有组织的活动。

人员管理主要完成项目组人员的构成和优化。

软件配置管理通过一系列技术,方法和手段来维护产品的历史,标识和定位产品独有的版本,并在产品的开发和发布阶段控制变化。

19.

软件退役或报废的主要原因是什么?

参考答案

主要的原因有: ① 为满足用户的需求所做的维护费用太高,可能比新开发一个软件所花费的代价更高。② 维护的少量变化对于依赖性很强的软件的整体功能而言,有极大的危险。 ③ 环境的变更(如硬件或操作系统)导致软件的更换。 ④ 用户不再需要这个软件。

20.

试简述UML的应用领域。

参考答案

UML的目标是用面向对象的图形方式来描述任何类型的系统,因此它具有很广泛的应用领域。

UML适用于系统开发的全过程,它的应用贯穿于从需求分析到系统建成后测试的各个阶段。

需求分析:可以用用例来捕获用户的需求。通过用例建模,可以描述对系统感兴趣的外部角色及其对系统的功能要求(用例)。需求分析阶段主要关心问题域中的基本概念(如抽象、类、对象等)和机制,需要识别这些类以及它们相互间的关系。可以用UML的逻辑视图和动态视图来描述。类图描述系统的静态结构,协作体、顺序图、活动图和状态图描述系统的动态行为。在这个阶段只为问题域的类建模,而不定义软件系统的解决方案细节。

设计:把分析阶段的结果扩展成技术解决方案,加入新的类来定义软件系统的技术方案细节。设计阶段用和分析阶段类似的方式使用UML。

构造(编码):把来自设计阶段的类转换为某种面向对象程序设计语言的代码。

测试:不同的测试小组使用不同的UML图作为它们工作的依据:单元测试使用类图和类规格说明;集成测试使用构件图和协作图;系统测试使用用例图来验证系统的行为;验收测试则由用户进行,用与系统测试类似的方法,验证系统是否满足在分析阶段定义的所有需求。

总之,UML不仅适用于以面向对象方法来描述任何类型的系统,而且适用于系统开发的全过程。

21.

在采用结构化分析方法建立需求分析模型时,为什么选择使用如PowerDesigner类似的软件工具?

参考答案

因为,第一,使用PowerDesigner这类软件工具来建立需求分析模型,在很大程度上能够支持结构化分析方法,能够提供与结构化方法相一致的模型元素,比如ER模型、DFD功能模型、STD行为模型,使得建立的需求分析模型变得更为容易,并保持模型的一致性; 第二,PowerDesigner这类软件工具使得需求分析工作更趋于自动化、规范化,更有利于提高需求分析工作的效率; 第三,PowerDesigner这类软件工具提供了更为友好的文档功能,它可以很容易生成需求分析文档,而避免投入大量的人力编写文档; 第四,PowerDesigner这类软件工具可以与软件的设计工作有较好的接口。比如可以从ER模型很容易生成关系数据模型以及用某种选定的数据库SQL语言来表达等。

22.

面向数据结构的方法的基本步骤有哪些?

参考答案

1.评价数据结构的特性;

2.把数据依次表示成如顺序、选择和重复的基本形式;

3.数据结构映射成软件的控制层次;

4.利用方法中的指导原则来细化软件层次;

5.最终开发软件的过程性描述。

23.

变换分析步骤是什么?

参考答案

变换分析步骤 ①确定主加工及逻辑输入/输出 变换中心—描述了系统的主要功能、特征。其特点是:输入/输出数据流较多,往往变换中心不止一个。逻辑输入/输出—是指输入/输出变换中心的数据流。 输入流—是把物理输入转换为逻辑输入的数据流。 输出流—是将逻辑输出转换为物理输出的数据流。 ②进行一级分解,设计上层模块 ——为每个输入设计一个输入模块,为每个输出设计一个输出模块,同时为每个主加工设计一个处理模块。 ③进行二级分解,设计中下层模块 ——这一步的工作是自顶向下,逐步细化,为第一层的每一个输入模块、输出模块、处理模块设计它们的从属模块,设计下层模块的顺序一般从设计输入模块的下层开始。

24.

评价设计方法定义有效的模块系统能力的标准是什么?

参考答案

评价设计方法定义有效的模块系统能力的标准如下:

1.模块可分解性

2.模块可组装性

3.模块可理解性

4.模块连续性

5.模块保护性

25.

软件维护的类型有哪些?

参考答案

软件维护大致可以分为以下几种类型。

(1)改正性维护:由于软件测试技术的限制,已投入使用的软件必然会有一些隐藏的错误或缺陷。这些隐藏下来的错误或缺陷,在某些特定的使用环境下可能会暴露出来,并有可能影响到软件的正常使用。因此,软件技术人员需要对暴露出来的软件错误进行诊断,并设法改正这个错误。这个诊断与改正错误的过程,就叫做改正性维护。

(2)适应性维护:随着计算机技术的飞速发展,软件的工作环境,例如硬件设备、软件配置、数据环境、网络环境等,都有可能发生变化。为了使软件适应这种变化,往往需要对软件进行改造。这个为使软件适应新的工作环境而对软件进行改造的过程,就叫做适应性维护。

(3)完善性维护:在软件使用过程中,用户难免会对软件提出一些新的与完善软件有关的要求,例如,要求增加一些新的功能,要求对系统原有的功能关系做一些调整,要求提高数据检索速度,要求操作界面更加人性化等。而为了满足这些要求,就必须对软件进行改造,以使软件在功能、性能、界面等方面有所进化。由于这些原因而对软件进行的维护活动,就叫做完善性维护。

(4)预防性维护:预防性维护是为了提高软件的可维护性和可靠性,采用先进的软件工程方法对需要维护的软件或软件中的某一部分重新进行设计、编制和测试,为以后进一步维护和运行打好基础。

26.

软件设计的意义是什么?

参考答案

软件设计就是把需求规格说明书里归纳的需求,转换为可行的解决方案,并把解决方案反映到设计说明书里。

软件设计是软件开发的关键步骤,直接影响软件的质量。

软件需求确定以后,进入由软件设计、编码、测试三个关联阶段构成的开发阶段。

软件编码前,也必须先进行软件设计。

27.

什么是动态测试?

参考答案

动态测试是指在计算机上运行被测试软件,通过输入测试用例,对其运行情况(输入/输出的对应关系)进行分析,发现其表现的行为与设计规格或用户需求不一致的地方。对软件进行动态测试时,最常使用的方法即为黑盒测试法和白盒测试法。

28.

简述UML的表示方法。

参考答案

UML由视图、图、模型元素、通用机制等几个部分组成。

(1)视图:表示被建模系统的各个方面,即从不同目的出发可以为系统建立多个模型,这些模型都描述同一个系统,只是描述的角度不同,他们之间具有一致性。

(2)图:表达一个视图的内容。通常一个视图由多张图组成。UML定义了9种不同的图,把它们有机地结合起来就可以描述系统的所有视图。

(3)模型元素:可以在图中使用的概念(如用例、类、对象、消息等),统称为模型元素。模型元素在图中用相应的视图元素表示。一个模型元素可以用在多个不同的图中,它总是具有相同的含义和相同的表示符号。

(4)通用机制:UML利用通用机制为图附加一些额外的信息,如注释等。此外,它还提供扩展机制(如构造型、标签、约束等),使UML能够适应一种特殊方法或满足某些特殊用户的需要。

29.

简述决策表的组成。

参考答案

决策表通常由4个部分组成,如下图:

条件桩(condition stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。

动作桩(action stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。

条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。

动作项(action entry):列出在条件项的各种取值情况下应该采取的动作。

30.

结构化分析方法的主要思想是什么?

参考答案

结构化分析方法的主要思想是:用抽象模型的概念,按照软件内部数据传递、变换的关系,运用“抽象-分解”的基本手段,自顶向下(TOP-DOWN),逐层分解,直到找到满足功能需要的所有细节为止。

BY:Vip_Hc 无偿分享 E-mail:xysds@protonmail.com

分享保留出处.禁止用于任何盈利行为,崇拜大神吧。啊哈哈哈哈哈哈哈哈哈哈哈。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵银吉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值