第一周:软件工程概论

软件的定义及特点

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、浏览器

软件工程的起源和概念

1、在()年的NATO会议上,软件工程的术语被首次提出。
    A、1966
    B、1968
    C、1970
    D、1972

2、软件工程是一门交叉性学科,下列哪些学科是软件工程涉及的?
    A、数学
    B、计算机科学
    C、管理科学
    D、工程科学

3、软件工程的目的是倡导以工程的原理、原则和方法进行软件开发。

4、软件工程概念的提出是为了解决()。

软件开发的本质和基本手段

1、软件开发中实现映射的基本手段是()
    A、抽象
    B、分层
    C、隔离
    D、建模

2、下列属于软件模型的是()
    A、概念模型
    B、设计模型
    C、实现模型
    D、部署模型

3、模型一定是在某种特定意图下、从某种特定的角度对物理环境的抽象。

4、软件开发中分层的基本动机是控制开发的复杂性。

5、软件开发是实现()的概念和处理逻辑到()的概念和处理逻辑的映射。(答案用空格隔开)

软件工程框架

1、下列哪项不属于软件工程框架的三元组。()
    A、目标
    B、范围
    C、原则
    D、活动

2、下列哪个不是软件维护的类型。()
    A、完善性维护
    B、纠错性维护
    C、适应性维护
    D、更新性维护

3、只有高水平的(),才能生产出高质量的软件产品。
    A、软件开发技术
    B、软件开发工具
    C、软件工程管理
    D、

4、软件需求阶段所要完成的任务包括()
    A、需求获取
    B、需求完善
    C、需求定义
    D、需求规约

5、软件开发要从客户的需求出发,在满足用户要求的前提下,功能开发的越多越好。

6、为了保证开发进度,软件只需要在最终完成后再进行确认即可。

7、软件设计阶段包括()和()两个阶段。(答案用空格隔开)

第一周:软件过程

软件生存周期过程的概念

1、获取正确软件的关键是()
    A、开发逻辑
    B、开发团队
    C、人员素质
    D、明确需求

2、软件生存周期的含义是表明软件的演化和发展具有周期性,每过一段时间就需要更新。

3、当软件的一个版本被淘汰时,则该软件的生存周期就结束了。

4、软件生存周期过程表示软件生存周期内的一个过程。

5、为了表述软件开发需要做什么映射,引入了三个概念:(请按概念的范围由大到小填写,用空格分隔)

软件生存周期过程的分类

1、按照(),可以将软件生存周期过程分为基本过程、支持过程和组织过程。
    A、软件开发活动的层次关系
    B、软件开发工作的主体
    C、软件开发项目的结构
    D、软件开发任务的重要程度

2、下述过程属于基本过程的是()
    A、获取过程
    B、开发过程
    C、运行过程
    D、供应过程

3、下列关于软件开发过程说法正确的是()
    A、软件生存周期过程就是软件开发过程
    B、软件开发过程是软件开发者所从事的一系列活动
    C、软件开发过程中还包括了系统需求分析、系统结构设计等系统层面的活动
    D、软件开发过程包含了软件升级和演化等活动

4、支持过程是指那些与软件生产组织有关的活动集。

软件生存周期模型的概念

1、软件生存周期模型是对软件生存周期中过程、活动和任务的组织。

2、软件生存周期模型必须要将所有类型的过程、活动和任务考虑在内,形成满足每个软件项目需要的模型。

3、软件开发模型是软件开发过程的活动和任务的结构框架。

常见的软件生存周期模型

1、单选题:下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是()。
    A、演化模型
    B、瀑布模型
    C、喷泉模型
    D、增量模型

2、下列关于瀑布模型的说法正确的是()
    A、瀑布模型仅能依次经过需求、设计、编码、测试、集成和维护这一路径进行项目开发,不能从后一阶段返回到前面的阶段。
    B、瀑布模型在每一阶段都会生成相应的文档。
    C、瀑布模型只有在需求阶段和运行阶段才能有获取方和用户参与,其余阶段只能开发团队参加。
    D、瀑布模型要求需求在最初阶段就要完整和明确。

3、多选题:下列关于增量模型的说法正确的是()
    A、增量模型要求需求在最初阶段就要完整和明确。
    B、相比于瀑布模型,采用增量模型开发的项目所需的成本和时间要少。
    C、采用增量模型时,每一增量必须按照既定顺序依次开发,不能更改。
    D、增量模型能够更早的向用户交付第一个版本的系统。

4、多选题:下列关于演化模型的说法正确的是()
    A、演化模型要求需求在最初阶段就要完整和明确。
    B、演化模型可以弱化需求和设计文档的编写,以提高开发效率。
    C、演化模型在每一次迭代过程中可以采用瀑布模型。
    D、相比瀑布模型,演化模型需要获取方和用户更多的参与。

第二周:软件需求

需求的作用

1、单选题:与软件工程不同,()是系统工程所追求的目标。
    A、最优化
    B、系统化
    C、一体化
    D、情境化

2、判断题:相比硬件而言,软件更容易被修改,而且更容易被正确地进行修改。

3、判断题:任何软件开发过程必须从软件需求入手。

4、判断题:采用瀑布模型的开发过程是一种自顶向下的开发方法,而软件构件复用的开发过程是一种自底向上的开发方法。

需求的定义

1、单选题:下面不属于需求的基本性质是()
    A、必要性
    B、无歧义性
    C、可测性
    D、可扩展性

2、多选题:下列哪些陈述可以作为软件需求()
    A、系统应支持大规模并发用户访问
    B、用户需凭用户名和密码登陆之后才可使用系统
    C、系统界面要美观大方
    D、当用户登录失败时,应弹窗提示失败原因

3、判断题:软件需求是待开发产品或系统的功能描述。

需求的分类

1、单选题:下列需求属于性能需求的是()
    A、并发访问数
    B、网络协议
    C、异常响应
    D、用户友好

2、单选题:下列需求属于外部接口需求的是()
    A、第三方插件
    B、安全隐私
    C、编程语言
    D、字体字号

3、单选题:下列需求属于设计约束的是()
    A、响应时间
    B、运行平台
    C、错误处理
    D、可维护

4、判断题:非功能需求必须依附于功能需求而存在。

5、判断题:质量属性必须要给出量化的测量指标。

6、填空题:与其他类型的非功能需求不同,()是必须予以满足的,且对项目规划、所需的附加成本和工作产生直接影响。

需求发现

1、单选题:当无法与用户进行直接交流时,可采用()的需求发现方式。
    A、自悟
    B、提炼
    C、小组会
    D、思考

2、单选题:下述情况分别最适合采取哪种需求发现的方式() ① 为解决生活中遇到的麻烦事而开发的软件 ② 有较多繁琐环节的社区医保系统的开发 ③ 某小型团体组织开发其内部人员管理系统 ④ 某大型连锁集团开发集团人员管理系统 ⑤ 某专业化软件外包公司接手烂尾的软件开发项目
    A、①-自悟;②-观察;③-交流;④-小组会;⑤-提炼
    B、①-观察;②-自悟;③-小组会;④-交流;⑤-提炼
    C、①-自悟;②-交流;③-观察;④-提炼;⑤-小组会
    D、①-提炼;②-自悟;③-交流;④-观察;⑤-小组会

3、多选题:下列哪些是观察这一需求发现的方法可能带来的问题。()
    A、无法全面了解需求
    B、被客户抵触
    C、让客户误以为开发者已经熟悉了业务
    D、消耗过多的时间

4、判断题:小组会和交流这两种需求发现方式的区别在于参加人员的多少。

5、判断题:需求发现常采用多种方式联合进行,但具体某一项需求常采用某一种具体的方式去捕获。

需求规约的概念和格式

1、单选题:需求规约是一个软件产品/系统的()
    A、开发模型
    B、框架模型
    C、概念模型
    D、功能模型

2、多选题:下列哪些是需求规约的性质。()
    A、完整性
    B、一致性
    C、不可修改性
    D、稳定性

3、判断题:需求规约是一个软件产品所有需求陈述的正式文档,它是不能被修改的。

需求规约的作用

1、单选题:在需求分析阶段会形成()的测试计划。
    A、单元测试
    B、集成测试
    C、确认测试
    D、系统测试

2、多选题:基于需求规约会产生下述哪两个文档。()
    A、初始测试计划
    B、系统测试计划
    C、用户系统操作描述
    D、软件可行性分析报告

3、判断题:需求规约是软件开发组织和用户之间的技术合同书,只有当需求规约完成后才能开始产品的设计。

4、判断题:需求规约对于项目的大多数工作是一个管理控制点,因此需求规约中要给出软件项目的进度和规划。

5、判断题:需求规约作为设计的一个正式的、受控的起始点,它事实上给出了一份初步的设计文档。

第三周:结构化分析方法

结构化分析方法的概念

1、关于软件开发方法,以下说法正确的是
    A、软件开发方法是指软件开发过程所遵循的办法和步骤
    B、软件开发活动的目的是有效地得到一个运行的系统及其支持文档,并且满足有关的质量要求
    C、软件开发方法学指的是规则、方法和工具的集成
    D、以上说法都正确

2、需求分析的目标不包括
    A、解决需求陈述中的歧义、不一致的问题
    B、作为开发人员和客户间技术契约的基础
    C、给出解决问题的具体算法和数据结构
    D、给出问题的形式化或半形式化的描述

3、结构化方法包括了
    A、结构化分析方法
    B、结构化项目管理方法
    C、结构化设计方法
    D、结构化程序设计方法

结构化分析模型

1、结构化分析模型中,支持数据抽象的是哪些术语________ ①数据流 ②数据存储 ③数据源 ④数据潭 ⑤加工
    A、①②
    B、③④
    C、①②③④
    D、③④⑤

2、结构化分析方法使用DFD描述________
    A、系统的功能
    B、系统的控制流程
    C、系统的数据结构
    D、系统的基本加工

3、结构化分析阶段,不适用于描述加工逻辑的工具是
    A、结构化语言
    B、判定表
    C、判定树
    D、流程图

4、在结构化分析方法中,与数据流图配合使用的是________
    A、网络图
    B、数据字典
    C、程序流程图
    D、加工小说明

结构化分析过程

1、通过______可以完成数据流图的细化
    A、结构分解
    B、功能分解
    C、数据分解
    D、系统分解

2、数据字典一般不包括下列选项中的________条目
    A、数据流
    B、数据存储
    C、加工
    D、数据项

3、下列关于数据流图的说法中,正确的是
    A、在结构化分析中,采用自顶向下逐层分解的思想,从零层数据流图开始逐步精化
    B、可以根据加工的编号识别该加工位于哪一层数据流图
    C、加工必须有输入和输出
    D、数据存储在数据流图中的作用是在各加工之间建立合理的关系

4、以下说法正确的是
    A、数据流图中的每个数据流和数据存储必须在数据字典中予以定义
    B、数据流图中的每个加工必须在加工小说明中予以定义
    C、数据流图中的图元个数应当控制在7+2以内
    D、加工小说明中,必须指出该加工的输入数据流和输出数据流

需求规格说明书

1、需求分析最终结果是产生______
    A、项目开发说明书
    B、可行性分析报告
    C、需求规格说明书
    D、设计说明书

2、需求规格说明书中不应包括_______
    A、功能概述
    B、算法设计
    C、故障处理
    D、性能需求

3、需求规约是需求阶段非常重要的文档,它的作用不包括_______
    A、软件开发组织和用户之间达成的共识
    B、软件后续设计、编码、测试的基本依据
    C、软件验收的依据
    D、软件可行性分析的依据

第三周:结构化设计方法-1

结构化设计概念

1、结构化设计的目标是_______
    A、建立系统软件模型
    B、建立软件体系结构和详细的处理算法
    C、产生设计规格说明书
    D、以上全部

2、总体设计不包括_______
    A、体系结构设计
    B、接口设计
    C、数据设计
    D、数据结构设计

3、模块结构图中,如果两个模块之间有直线连接,表示他们之间存在______关系
    A、调用
    B、组成
    C、连接
    D、顺序执行

4、关于总体设计阶段的任务,以下说法错误的是______
    A、主要任务是将DFD转为MSD
    B、针对不同类型的DFD有不同的设计方法
    C、精化MSD不属于总体设计阶段的任务
    D、根据穿越系统边界的数据流确定系统与外界的接口

5、结构化设计一般又可分为概要设计阶段和_______设计阶段。

初始模块结构图的设计

1、对于变换设计的基本步骤,正确的顺序是______ ① 确定输入、变换、输出三部分之间的边界 ② 系统模块结构图顶层和第一层的设计 ③ 复审并精化系统需求模型 ④ 自顶向下,逐步求精
    A、①②③④
    B、②①③④
    C、③①②④
    D、①③②④

2、下列说法错误的是______
    A、变换型DFD是由输入、变换和输出三部分组成
    B、变换设计中,有几个物理输入就设计几个输入模块
    C、事务型DFD一般只接受一个输入数据
    D、通常来说,变换型数据流图更加常见,而事务型数据流图往往作为局部出现

3、关于事务设计,下列说法正确的是______
    A、事务设计的第一步是确定事务处理中心
    B、在第一级分解中,需要为每一条活动路径设计一个事务处理模块
    C、在第一级分解中,需要分别设计输入输出模块
    D、在第二级分解中,对各条路径的细化类似于变换设计的细化过程

4、判断题:所有的数据流图都可以看作变换型数据流图。

初始模块结构图精化的原则

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、模块化的基本原则是________.

第四周:结构化设计方法-2

初始模块结构图精化的启发式规则

1、关于模块的扇入扇出,以下说法正确的是_______
    A、扇入表示有多少个上层模块直接或间接调用它
    B、模块扇入高时应当重新分解,以消除控制耦合的情况
    C、一个模块的扇出太多,说明该模块过分复杂,缺少中间层
    D、一个模块的扇入太多,说明该模块过分复杂,缺少中间层

2、划分模块时,一个模块的______
    A、作用范围应在其控制范围内
    B、控制范围应在其作用范围内
    C、作用范围与控制范围互不包含
    D、作用范围与控制范围不受任何限制

3、在对初始的MSD精化过程中,将多个模块公用的子功能独立出来,形成一个新的模块,这利用了哪一条启发式规则?
    A、改进软件结构,提高模块独立性
    B、模块规模适中,每页60行语句
    C、模块的作用域力争在控制域之内
    D、降低模块接口的复杂性

4、以下说法错误的是______
    A、启发式规则是人们从长期的软件开发实践中总结出来的规则,在设计中应当普遍遵循
    B、扇入扇出应当适中,尽量满足7+2原则
    C、好的设计控制域应当包含作用域
    D、为了降低模块接口的复杂性,应当将多个同类型的参数合并为一个数组进行传递

接口设计

1、接口设计的主要内容是_______
    A、模块或软件构件间的接口设计
    B、软件与其他软硬件系统之间的接口设计
    C、软件与用户之间的交互设计
    D、以上都是

2、用户界面应具备的特性中,最重要的是______
    A、可使用性
    B、灵活性
    C、可靠性
    D、可扩展性

3、设计人机交互的界面时,应当遵循一定的设计原则,不包括______
    A、操作步骤少
    B、提供undo功能
    C、减少人脑的记忆负担
    D、增加复杂的功能

数据设计

1、下面哪种类型的数据适合用文件进行存储?
    A、bbs上的用户名和密码
    B、视频网站上的视频
    C、社交网站上的动态
    D、购物网站上用户的交易记录

2、判断题:如果对响应速度要求很高,可以采用文件来储存数据。

3、判断题:文件一般用于长期存储,数据库一般用于临时存储。

4、判断题:系统日志用文件存储是因为其信息格式较为松散。

第四周:结构化设计方法-3

详细设计工具

1、详细设计的任务是定义每个模块的_______
    A、外部特性
    B、内部特性
    C、算法和数据格式
    D、功能和输入输出数据

2、程序控制分为____________三种基本结构
    A、分块、顺序、循环
    B、顺序、嵌套、选择
    C、顺序、选择、循环
    D、递归、堆栈、队列

3、下面哪条属于伪码的优点?
    A、不仅可以作为设计工具,还可以作为注释工具
    B、形象直观
    C、便于描述较为复杂的条件组合
    D、支持逐步求精

4、下面哪条属于程序流程图的优点?
    A、支持逐步求精
    B、便于表达数据结构
    C、描绘直观,便于掌握
    D、程序员可以很早地开始考虑程序的控制流程

5、以下说法正确的是
    A、程序流程图是一种算法描述工具
    B、PAD图是一种描述程序逻辑结构的工具
    C、PAD图又叫盒图
    D、N-S图相对于PAD图的优点在于其支持自顶向下逐步求精的设计

软件设计规约

1、概要设计规约不应包括______
    A、软件测试方面的要求和说明
    B、系统环境的设定
    C、各处理过程的算法
    D、文件结构和全局数据

2、关于软件设计规约,以下说法错误的是______
    A、详细设计规约对应于系统的单元测试
    B、详细设计规约主要作为软件设计人员与编程人员之间交流的媒体
    C、概要设计规约对应于系统的确认测试
    D、概要设计规约主要作为软件项目管理人员、系统分析人员与设计人员之间交流的媒体

3、判断题:在软件设计规约中,应当有针对出错的处理。

4、判断题:概要设计规约需要对软件的组织和其组成部分的内部结构进行描述。

5、判断题:概要设计阶段和详细设计阶段分别产生不同的设计规约。

结构化方法总结

1、关于结构化方法的世界观说法错误的是______
    A、一切系统都是由信息流构成的
    B、信息流可以没有数据源和数据潭
    C、信息处理主要表现为信息的流动
    D、信息的流动离不开加工的处理

2、下面哪条不是结构化方法的基本原理/原则?
    A、自底向上功能分解
    B、数据抽象
    C、功能抽象
    D、模块化

3、结构化方法的抽象层不包括______
    A、问题层
    B、需求分析层
    C、设计层
    D、实现层

4、结构化方法逐渐被面向对象方法所取代,以下哪一点不属于结构化方法的问题?
    A、分析阶段和设计阶段的术语空间不一致
    B、解的结构没有保持原系统的结构
    C、捕获的“过程”和“数据”都是易变的
    D、没有提供控制信息复杂度的机制

第五周:UML-1

面向对象的概念

1、针对对象之间的动态联系,以下说法正确的是_____。
    A、对象之间只能通过消息进行通信
    B、一个对象可以直接使用另一个对象的属性
    C、对象相互之间不允许进行联系
    D、

2、判断题:面向对象就是一种使用面向对象程序设计语言的程序开发方法。

3、在面向对象方法中,对于客观事物的描述,其静态特征用对象的_____表示。

UML的概念

1、以下哪一项描述了UML的作用_____。
    A、弥补应用系统和运行平台之间的“距离”
    B、建立不同抽象层次的术语空间和模型表达工具
    C、支持多视角地建立系统模型
    D、以上选项都正确

2、UML是一种_____语言。
    A、形式化
    B、半形式化
    C、非形式化
    D、

3、UML不具备一下哪个结构_____。
    A、静态对象结构
    B、动态行为
    C、系统部署
    D、功能结构

表达客观事物的术语——类

1、在类的属性定义中引入可见性,主要是为了支持_____这一软件设计原则。
    A、抽象
    B、信息隐蔽
    C、模块化
    D、自底向上

2、_____是描述类的所有对象的共同特征的一个数据项。
    A、实例属性
    B、类属性
    C、方法属性
    D、对象属性

3、判断题:所有的类都必须与客观事物相对应,都必须有具体的实例。

4、判断题:一个类中可以有多个操作,也可以没有操作。

第五周:UML-2

表达客观事物的术语——接口及其他

1、以下UML术语体现并发行为抽象的是_____。
    A、接口
    B、协作
    C、主动类
    D、用况

2、以下哪些项不属于UML描述客观世界实体的基本术语_____。
    A、类
    B、信号
    C、协作
    D、参与者

3、判断题:接口之间没有关联、泛化、实现和依赖,也不能参与泛化、实现和依赖关系。

4、判断题:接口不仅可以描述类的外部可见操作,而且可以描述其内部结构。

控制复杂性的术语——包

1、判断题:包可以包含其他种类的模型元素,但本身不能嵌套在其他包中。

2、判断题:包间的依赖通常隐含了各包中元素之间存在的一个或多个依赖。

3、UML中为了组织类目,控制信息组织和文档组织的复杂性而引入的术语是______。

表达关系的术语——关联

1、实例连接又称为链,它表达了对象之间的______。
    A、静态关系
    B、动态关系
    C、连接关系
    D、无关系

2、判断题:对于关联另一端的类的每个对象,本端的类只可能会有一个对象出现。

3、判断题:在关联关系中,聚合是组合的一种特殊形式。

4、判断题:在类的一个关联中,可以显示地命名该角色。

表达关系的术语——泛化、细化、依赖及如何使用

1、Jack在Google工作,是公司市场组的一名成员。那么描述Jack的类目Employee和描述Google的类目Company之间是_____关系。
    A、关联
    B、泛化
    C、细化(实现)
    D、依赖

2、以下表达类目之间关系的术语中,其正确的表示方法是无箭头实线线段的是____。
    A、关联
    B、泛化
    C、细化
    D、依赖

3、在用UML对关系进行建模时,以下策略错误的是_____。
    A、仅当要建模的关系不是结构关系时,才使用依赖。
    B、仅当关系是“is-a-kind-of”关系时,才使用泛化。
    C、应保持泛化关系的平衡:继承的层次不要多深,不要过宽。
    D、考虑到建模的复杂性,可以引入循环的泛化关系。

4、判断题:对象的依赖关系是一种使用关系。

第六周:UML-3

UML的模型表达工具_概述

1、以下不属于UML静态建模工具的是_____。
    A、类图
    B、通信图
    C、对象图
    D、制品图

2、以下不属于UML动态建模工具的是_____。
    A、用况图
    B、活动图
    C、部署图
    D、状态图

3、描述UML需求模型的是_____。
    A、状态图
    B、顺序图
    C、用况图
    D、类图

UML的模型表达工具_静态建模——类图

1、可视化地表达系统的静态结构模型的是_____。
    A、用况图
    B、类图
    C、状态度
    D、顺序图

2、判断题:类图主要使用“类”来抽象系统中各个组成部分,不包括系统环境。

3、判断题:对于每一个关联关系都需要说明其多重性,如果不说明,则默认是*。

4、判断题:注解和约束不是类图的一部分。

UML模型表达工具_动态建模——用况图

1、以下哪个不属于用况图中的关系______。
    A、关联
    B、泛化
    C、扩展
    D、依赖

2、判断题:用况表达了参与者使用系统的一种方式。

3、判断题:参与者一般可以表达与系统交互的人、硬件或系统等,因此实质上不是软件应用的一部分。

4、判断题:用况图可以划分系统与外部实体的界限,是系统开发的起点。

第六周:UML-4

顺序图

1、依据顺序图的表示规范,同步消息的回复应当使用以下哪种表示方法_____。
    A、实线枝形箭头
    B、实线实心三角箭头
    C、虚线枝形箭头
    D、

2、顺序图由类角色,生命线,激活期和_______组成。
    A、关系
    B、消息
    C、用例
    D、实体

3、以下哪个不是UML的静态视图____。
    A、类图
    B、对象图
    C、顺序图
    D、用况图

4、在顺序图中,对象生命线用于表示一个对象在一个特定的时间段中的存在,一般表示为垂直的虚线。

状态图

1、以下哪一种不属于UML状态图中对于状态的分类______。
    A、初态
    B、终态
    C、正常状态
    D、中间状态

2、以下哪个UML视图是描述一个对象的生命周期的?
    A、类图
    B、状态图
    C、协作图
    D、顺序图

3、若将活动状态比作方法,那么动作状态即_____。
    A、方法返回值
    B、方法名
    C、方法的可见性
    D、方法体中的每一条语句

4、判断题:一个活动是指状态机中一种可中断的计算,中断处理后仍可继续;而一个动作是指不可中断的原子计算,它可导致状态的改变或导致一个值的返回。因此活动和动作之间没有任何关系。

UML总结

1、UML中的类没有体现下列哪一项软件设计原理______。
    A、数据抽象
    B、过程抽象
    C、功能抽象
    D、信息隐蔽

2、以下哪一项不属于UML的作用_____。
    A、提供了跨越问题空间到目前“运行平台”之间丰富的建模元素。
    B、体现了软件设计的不同原理
    C、提供了相应的模型表示工具。
    D、提供了表达系统结构模型和行为模型的图形化工具。

3、判断题:在UML可模型化的4种事件中,“信号”是一种异步事件,而“调用”一般是同步事件。

4、判断题:UML表达模型元素之间关系的4个术语都体现了结构抽象的原理。

第七周:面向对象分析

面向对象分析概述

1、面向对象分析方法与结构化分析方法的区别之一是________。
    A、一个使用了“抽象”,一个没有使用“抽象”。
    B、一个以问题域的成分为几点来构造一个模块,而另一个不是。
    C、一个目标明确,而另一个不明确
    D、一个需要考虑数据结构,而另一个不需要考虑。

2、判断题:OOA的最终目的是产生一个只能直接反映问题域的OOA模型。

3、判断题:OOA过程中建立模型规约可以集中进行,也可以分散在各个活动中。

识别类

1、以下说法错误的是_____。
    A、吸尘器和电子琴同时作为商品销售,所以可以通过抽象合并为同一类。
    B、轿车和货车都是车,所以可以直接以一个类”车”代替两个类。
    C、轿车和货车都是车,所以可以提取出一个一般类“车”作为他们的父类。
    D、班主任只有一个属性姓名,所以可以取消该类,将属性”班主任姓名”添加至相关的其他类。

2、判断题:与实现条件有关的对象是OOA阶段需要重点关注的对象。

3、判断题:如果一个交互是由系统外的参与者发起的,第一个处理该交互的对象是主动对象。

4、判断题:在对象分类过程中,对于属性及操作相似的类需要考虑能够抽象出一个一般类或部分类。

识别属性和操作

1、以下哪项不属于类范围的操作_____。
    A、创建类的某个对象
    B、读取对象的属性值
    C、通过计算后修改对象的属性值
    D、监控对象的属性值

2、判断题:OOA过程中,为了提高操作的执行速度,可以考虑增加一些属性来保持操作的阶段性执行结果。

3、判断题:一个类的属性必须适合这个类和它的全部特殊类的所有对象,同时,一个类中的操作也应适合这个类及其所有特殊类的每一个对象实例。

4、判断题:在OOA过程中,不需要考虑任何主动对象和主动操作。

识别对象之间的关系

1、在面向对象分析阶段,对于继承关系的简化以下说法正确的是_____。
    A、取消没有特殊性的特殊类
    B、增加属性简化继承关系
    C、取消用途单一的一般类
    D、以上说法均正确

2、判断题:关联关系可用动词或动宾结构来命名,关联的命名不可缺省。

3、判断题:两个对象之间的关联关系只能有一个。

4、判断题:在初步建立类之间的关系时,可以暂时使用关联。在最终的类图中,若能用其他关系明确地指明类之间关系的含义,就不要使用关联。

5、判断题:依赖关系是一种使用关系,如果被使用的类发生变化,那么另一个类的操作也会受到影响。

第七周:面向对象设计-1

面向对象设计概述

1、需求是不断变化的,为了加强可维护性在设计上需要适应不可预见的变化。以下术语的易变性最低的是_____。
    A、类
    B、服务
    C、接口
    D、属性

2、从OOA到OOD的过程以下描述最恰当的是______。
    A、转换
    B、扩展和完善
    C、调整和增补
    D、细化

3、判断题:与结构化的分析和设计类似,面向对象的分析和设计之间也存在一定的鸿沟。

4、判断题:OOD模型的4个部分均采用与OOA一致的概念、表示法、活动及策略。

问题域部分的概念

1、以下实现条件对OOD模型问题域部分影响最大的是______。
    A、编程语言
    B、硬件、操作系统及网络设施
    C、复用支持
    D、数据管理系统

2、判断题:所有的实现因素都能通过一些在OOD中新定义的独立组成部分而实行有效的隔离。

3、判断题:在OOA中未完成的细节定义需要在OOD完成,所以OOD的主要任务是对OOA的细化。

如何进行问题域部分的设计

1、相同的操作名在同一个类中可以被定义多次,按参数的个数、种类或次序等的不同对它们进行区分,这种现象在面向对象方法中被称为______。
    A、多态
    B、重载
    C、泛化
    D、分类

2、以下属于进行问题域部分的设计需要考虑的方面有______
    A、提高性能
    B、考虑复用
    C、编程语言
    D、永久存储

3、判断题:OOA强调如实地反映问题域,OOD考虑实现问题,当所用语言不支持多继承和多态,此时需要按编程语言调整多继承和多态。

第八周:面向对象设计-2

人机交互部分的设计

1、判断题:人机交互是OOD阶段的任务,在OOA阶段不需考虑。

2、判断题:人机交互的设计需要重点考虑比例最大的使用人群的情况,并适当地兼顾其他人。

3、判断题:人机交互的交互内容需求不仅与系统的功能需求有关,而且与人的主观意识也有很大关系。

4、判断题:人机交互部分的设计可以从use case抽取人机交互内容及过程,在抽取过程中需要删除所有与输入输出无关的语句。

控制驱动和数据管理部分的设计

1、控制驱动部分由系统中的______构成。
    A、主动类
    B、抽象类
    C、对象
    D、接口

2、数据管理部分主要目的是为系统中的______提供数据存储和恢复的功能。
    A、长久存储的对象
    B、临时存储的对象
    C、所有对象
    D、

3、为什么需要在OOD阶段考虑控制驱动部分,以下说法正确的是______。
    A、并发行为是现实中固有的,当前大量的系统都是并发系统
    B、多任务的设置
    C、隔离硬件、操作系统、网络的变化对整个系统的影响
    D、

4、判断题:控制流是一个在处理机上顺序执行的动作序列,在目前的实现技术中,一个控制流就是一个进程或线程。

第八周:面向对象编程

程序设计范型和面向对象编程语言的特点发展

1、在以下几种编程语言中,不属于面向对象编程语言的是_____。
    A、C
    B、C++
    C、C#
    D、Objective-C

2、判断题:过程设计是面向对象程序设计范型的特点之一。

3、判断题:面向对象的编程语言强调严格的封装。

4、判断题:C++是一种在C语言基础上扩充OO成分,对封装采取灵活策略的语言,所以属于混合型面向对象语言。

如何选择编程语言

1、判断题:使用非OO语言不能实现OOD模型。

2、判断题:计算机语言中,静态绑定发生在程序执行之前,而动态绑定则只用到运行期的可用信息。

3、判断题:Java和C++在实现对象之间的关联关系的方法上是一致的。

第八周:敏捷开发方法

敏捷开发概述

1、单选题:下列关于敏捷软件开发说法错误的是()
    A、敏捷软件开发是一种应对快速变化的需求的一种开发方法
    B、敏捷软件开发强调文档的重要性
    C、敏捷软件开发注重程序员团队与业务专家的密切协作
    D、敏捷软件开发希望频繁的交付新的软件版本

2、单选题:下列关于敏捷联盟宣言的理解错误的是()
    A、个体和交互胜过过程和工具,表明团队的构建比开发环境的构建重要得多
    B、可以工作的软件胜过面面俱到的文档,表明过多的文档比过少的文档更糟糕
    C、客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队详细明确地制定合同,避免开发时关于工作内容的过多交互
    D、响应变化胜过遵循计划,表明项目计划不能考虑过远,只需要为下两周做详细计划即可,再远的时间可制定简略的规划

3、单选题:下列关于敏捷原则说法错误的是()
    A、在整个项目开发期间,业务人员和开发人员必须天天在一起工作
    B、即使到了开发后期,也可以改变需求
    C、最有效果的、最有效率的传递信息的方法,是面对面的交谈
    D、首要的进度度量标准是代码量

4、单选题:下列软件哪个最适合采用敏捷开发方法()
    A、Windows
    B、铁路12306购票网
    C、学生成绩管理系统
    D、小型创业项目软件

极限编程

1、单选题:极限编程采用()工具来了解与需求相关的内容。
    A、用户素材
    B、用况图
    C、思维导图
    D、访谈大纲

2、单选题:下列哪项不是结对编程的含义()
    A、共同设计
    B、共同编写
    C、功劳均等
    D、酬劳平分

3、单选题:下列关于极限编程原则说法正确的是()
    A、一个特定的模块或技术由一个程序员单独负责
    B、开发人员可参与所有方面的开发工作,不需要某一领域的专业知识
    C、为了保证正确性,程序员每天只能一次检入(check in)他们的模块进行集成
    D、在编写功能代码的时候要同时编写测试代码

4、单选题:下列哪项是极限编程过程的四个阶段()
    A、需求,分析,设计,实现
    B、策划,设计,编码,测试
    C、评估,编码,集成,测试
    D、分析,构造,测试,升级

5、判断题:极限编程是采取必要的手段,充分挖掘软件开发团队人员的极限能力,在最短的时间内交付软件的开发方法。

敏捷设计

1、单选题:敏捷设计要求系统设计在任何时间都尽可能的简单、干净和富有表现力,下面对敏捷设计理解错误的是()
    A、对于用户来说,通过直观、简单的界面呈现出恰当特征的程序
    B、对于软件设计者来说,通过简单、直观的划分,使其具有最小耦合的内部结构
    C、对于开发人员来说,每周都会取得一些重大进展
    D、对于软件管理者来说,只需要做很少的管理工作

2、多选题:下列哪些问题会导致设计不能很好应对需求的变化()
    A、在一部分的设计中包含了对其它部分有用的成分
    B、设计中包含了当前没有用的成分
    C、软件中的重复代码
    D、难于理解的模块

3、判断题:为了防止软件腐化,开发团队不需要一个成熟的初始设计,而是通过多次使用单元测试和验收测试,灵活、持续地改进设计。

Scrum模型

1、单选题:Scrum模型中产品的一次迭代称作一个()
    A、增量
    B、冲刺
    C、循环
    D、接力

2、单选题:在Scrum模型中,为用户提供商业价值的项目需求或特征的优先级列表称作()
    A、产品项
    B、待定项
    C、需求项
    D、功能项

3、单选题:下列关于Scrum模型的说法错误的是()
    A、Scrum模型在规划纲要阶段建立大致的项目目标和设计软件体系结构
    B、Scrum模型每次迭代会开发出一个系统增量
    C、Scrum模型在迭代全部结束后向客户交付软件
    D、Scrum模型在项目结束阶段完善文档,并总结从项目中获得的经验

第十周:项目管理

项目管理的概念

1、关于项目的特性,下面说法错误的是______
    A、项目有一个独特的目的
    B、项目是临时性的
    C、项目应该有一位主要客户或项目发起人
    D、项目应该是确定的

2、关键路径法(CPM)之所以能节省项目时间,是因为_______
    A、缩短了最长路径的时间开销
    B、采用了“三值加权”的方法对计划进行编排
    C、考虑了项目的风险
    D、简化了项目

3、项目管理发展的产物是_______
    A、项目管理协会
    B、项目管理知识体系
    C、人才认证
    D、以上都是

4、判断题:项目管理是指在项目中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期望。

项目管理框架和要素

1、关于项目干系人,以下说法错误的是_______
    A、项目干系人是指参与和受项目活动影响的人
    B、项目干系人包括项目发起人、项目组、协助人员等,不包括项目的反对者
    C、项目经理需要了解和识别各干系人对项目的需求、期望,使其能发挥作用
    D、项目经理需要对所有的项目干系人进行管理

2、项目管理的四大核心知识领域不包括_______
    A、时间
    B、成本
    C、人员
    D、质量

3、项目整体管理所包括的主要过程不包括_______
    A、项目计划制定
    B、项目计划执行
    C、整体变更控制
    D、整体人员调度

4、关于项目管理工具,下列说法错误的是________
    A、工作分解结构支持自顶向下列出一个项目需要做的事情
    B、净值图是当前项目实际成本与总的预算成本的比值
    C、甘特图用来安排和估算项目的进度
    D、网络图主要用来识别关键路径

5、判断题:项目管理的要素包括范围、进度、成本、质量。

软件项目管理的概念

1、软件项目管理是_____一切活动的管理
    A、需求分析
    B、软件设计过程
    C、模块设计
    D、软件生命周期

2、下面哪一条不是范围管理中常用的项目管理工具或技术?
    A、范围说明
    B、工作分解结构
    C、变更请求
    D、需求分析

3、下面哪个图属于时间管理的工具
    A、甘特图
    B、净值图
    C、鱼骨图
    D、项目组织图

第十周:CMM

CMM概念及发展

1、软件质量三因素包括______
    A、人员、成本、技术
    B、人员、范围、过程
    C、人员、技术、过程
    D、需求、设备、过程

2、下列关于CMM说法错误的是______
    A、CMM给出了从混乱、个人的过程到成熟的规范化过程的一个框架
    B、软件组织可以通过CMM去定义、实施、度量、控制和改进自己的软件过程
    C、CMM体现了软件工程和软件管理的优秀实践
    D、CMM中涉及了项目是否成功的所有要素

3、判断题:CMM指的是软件过程能力成熟度等级,共划分了五个等级,1级成熟度最高,5级成熟度最低。

CMM的基本内容

1、关于过程性能和过程能力,说法错误的是_______
    A、过程能力是能够实现预期结果的程度
    B、过程性能是得到的实际结果
    C、一个项目的过程性能可以充分反映其所在组织的整个过程能力
    D、过程能力和过程性能不一定完全匹配

2、下面哪一条不能体现一个过程的成熟度?
    A、可控制的
    B、可扩展的
    C、已定义的
    D、可测量的

3、下面哪些属于低过程能力的基本特征?
    A、非常依赖当前的参与人员
    B、冒险地使用新技术
    C、进度延迟
    D、实现了过程制度化

4、判断题:能力成熟度等级反映的是软件开发组织的软件过程能力成熟程度,一旦满足了某个等级的过程目标,就可以直接提升到该等级。

CMM五级标准

1、按过程能力成熟度由低到高排序的结果是_______
    A、初始级、已定义级、已管理级、可重复级、持续优化级
    B、初始级、可重复级、已定义级、已管理级、持续优化级
    C、初始级、已定义级、持续优化级、可重复级、已管理级
    D、初始级、已管理级、已定义级、可重复级、持续优化级

2、可重复级的特征不包括以下哪一条?
    A、将软件项目的有效管理过程制度化
    B、配备了基本的软件管理控制
    C、项目是稳定的
    D、开发新领域软件的风险是可定量估计的

3、判断题:CMM不包括对人员能力的确认和提升。

4、判断题:虽然CMM不允许跳级,但是对于有志向的项目开发组织,应当一开始就以高级别的标准要求自己。

ISO9000标准

1、判断题:ISO 9000标准和ISO 9001标准分别定义了不同类型开发过程的标准。

2、判断题:ISO 9001标准是建立在ISO 9000标准之上的,所以是最具普遍性的。

3、判断题:ISO 9001标准适用于设计、开发和产品维护等机构内的质量过程。

4、判断题:ISO 9000标准提供了类似于CMM的控制软件过程质量的途径。

第九周:软件测试-1

软件测试的概念

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、测试需要在了解软件设计的条件下完成,调试则需要完整的程序代码

软件测试过程模型和原则

1、单选题:下列哪一项不属于软件测试过程模型的组成部分。()
    A、环境模型
    B、程序模型
    C、被测对象模型
    D、错误模型

2、单选题:下面关于错误、失效、故障的说法错误的是()。
    A、错误是指与所期望的设计之间的偏差
    B、失效是指与所规约的系统执行之间的偏差
    C、故障是由于错误或失效导致的
    D、失效会导致程序出现不正确的状态,影响程序的输出结果

3、单选题:下面关于软件测试的原则说法正确的是()
    A、测试应该从大规模开始,逐渐转向小规模
    B、测试计划应该在编码结束后开始制定
    C、软件最好由编写该程序的程序员自己来测试
    D、穷举测试是不可能的

4、判断题:测试只能保证尽可能多地发现错误,无法保证能够发现所有的错误。

白盒测试技术

1、单选题:白盒测试是结构测试,被测对象基本上是源程序,以程序的()为基础设计测试用例。
    A、应用范围
    B、功能
    C、内部逻辑
    D、输入数据

2、单选题:白盒测试的被测对象模型是()。
    A、程序流程图
    B、控制流程图
    C、事务流程图
    D、模块结构图

3、单选题:下列几种逻辑覆盖测试按查错能力从弱到强排序正确的是(A)。
    A、语句覆盖,分支覆盖,条件组合覆盖,路径覆盖
    B、分支覆盖,条件组合覆盖,语句覆盖,路径覆盖
    C、路径覆盖,条件组合覆盖,分支覆盖,语句覆盖
    D、语句覆盖,路径覆盖,分支覆盖,条件组合覆盖

4、单选题:如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件组合覆盖率,至少需要设计多少个测试用例()。
    A、1
    B、2
    C、3
    D、4

第九周:软件测试-2

黑盒测试技术

1、单选题:黑盒测试是根据软件的()来设计测试用例的。
    A、应用范围
    B、内部逻辑
    C、功能
    D、输入数据

2、单选题:黑盒测试不能发现下面的哪种类型的错误。()
    A、界面错误
    B、性能错误
    C、功能遗漏
    D、是否存在冗余代码

3、单选题:下列方法中,不属于黑盒测试的是()。
    A、基本路径测试法
    B、等价类测试法
    C、边界值分析法
    D、事务流测试法

4、单选题:在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则等价类划分技术,下面划分正确的是()。
    A、可划分为2个有效等价类,2个无效等价类
    B、可划分为1个有效等价类,2个无效等价类
    C、可划分为2个有效等价类,1个无效等价类
    D、可划分为1个有效等价类,1个无效等价类

5、单选题:假定某参数的输入范围是0—10的整数,采用边界值测试技术,最少需要()个测试用例。
    A、1
    B、2
    C、3
    D、4

软件测试的步骤

1、单选题:单元测试计划、集成测试计划、确认测试计划分别在()阶段制定。
    A、详细设计、需求分析、总体设计
    B、总体设计、详细设计、需求分析
    C、需求分析、总体设计、详细设计
    D、详细设计、总体设计、需求分析

2、单选题:单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。
    A、系统功能
    B、局部数据结构
    C、重要的执行路径
    D、错误处理

3、单选题:在单元测试中由被测模块调用,用以代替被测模块所调用的子模块被称作()。
    A、驱动模块
    B、桩模块
    C、骨架模块
    D、响应模块

4、单选题:超出软件工程范围的测试是()。
    A、单元测试
    B、集成测试
    C、确认测试
    D、系统测试

5、判断题:集成测试既可以将所有模块组装到一起然后进行测试,也可以在组装的过程中边连接边测试。

6、判断题:有效性测试是在真实环境下验证被测软件是否满足需求规格说明书列出的需求。

第十一周:软件开发工具与环境

软件开发工具及环境的定义

1、关于CASE的定义,说法错误的是______
    A、是一组工具和方法的集合
    B、在开发/维护中,提供计算机的辅助支持
    C、在开发/维护中,引入工程化方法
    D、支持软件开发的软件工具

2、Alfonso Fuggetta将CASE工具分为了几类,其中,我们较为熟悉的软件开发集成环境(IDE)属于哪一类?
    A、工具
    B、工作台
    C、环境
    D、以上都不是

3、关于CASE工作台,以下说法错误的是_______
    A、CASE工作台是一组工具,支持分析、设计或测试等特定阶段
    B、工作台将一组工具组装,并使这组工具可以协同工作
    C、包括了编译器、编辑器和文件比较器等
    D、分为开放式工作台和封闭式工作台

4、判断题:软件开发环境主要由软件工具构成,包括软件开发的相关过程、活动和任务。

5、判断题:软件工程环境是指以软件工程为依据,支持大型软件生成的系统。

工具集成模型

1、数据集成采用的是以下哪种方式?
    A、共享文件
    B、共享数据仓库
    C、共享数据结构
    D、以上都是

2、关于Wasserman五级模型,说法错误的是______
    A、平台集成是指工具运行在相同的硬件/操作系统平台上
    B、数据集成是指工具共享数据结构,工具之间可以交换数据
    C、控制集成是指各工具采用共同的用户交互标准集
    D、过程集成是指CASE系统嵌入了关于过程活动、约束以及支持这些活动所需的工具等知识

3、关于层次模型,以下说法错误的是______
    A、层次模型中,把环境看作是一组服务的集合
    B、按层次的由低到高,将环境分为平台服务、框架服务和工具应用
    C、有关工具的集成可以分为三个部分,集成工具、半分离工具、外来工具
    D、外来工具管理自己的数据结构和文件,不依赖于平台服务

常用的软件开发工具和环境

1、主流的应用类型不包括______
    A、桌面应用
    B、Web应用
    C、安卓应用
    D、嵌入式系统应用

2、下列开发环境适合用于java开发的是_______
    A、Eclipse
    B、MyEclipse
    C、JBuilder
    D、Xcode

3、下列开发环境适用于C/C++开发的是______
    A、Visual Studio
    B、Android Studio
    C、GCC
    D、Dev C++

期末考试(第一轮)

客观题试卷

1、软件工程最根本的目标是( )。
    A、保证质量
    B、提高效率
    C、降低成本
    D、按时交付

2、软件工程是一种层次化技术,3个层次一般指( )。
    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、一种典型的工作量分布规则称为40-20-40,其中20%的工作量是指( )。
    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、只有顺序结构的程序,其环路复杂度是( )。
    A、0
    B、1
    C、3
    D、5

17、软件产品与硬件产品有很大的区别,软件产品是一种( )产品。
    A、有形
    B、消耗
    C、逻辑
    D、物质

18、软件开发中实现映射的最基本手段是( )。
    A、抽象
    B、分层
    C、求精
    D、建模

19、获取正确软件,下列因素中最关键的是( )。
    A、充足的成本
    B、少而精的开发团队
    C、明确的需求
    D、优秀的架构

20、结构化分析方法的主要建模手段有( )。
    A、系统模块图和流程图
    B、数字字典和数据流图
    C、软件结构图和加工说明
    D、用例图和类图

21、ERD 的基本要素包括( )。
    A、数据、对象和实体
    B、控制、关系和对象
    C、实体、属性和关系
    D、参与者和用例

22、需求分析阶段的工作,可以分为:对问题的识别,分析和建模,编写相关文档,以及( )。
    A、项目计划
    B、阶段性报告
    C、可行性分析
    D、需求分析复审

23、为了提高模块的独立性,模块之间最好是( )。
    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、系统结构图

30、为了提高模块的独立性,模块最好是( )。
    A、逻辑内聚
    B、时间内聚
    C、功能内聚
    D、通信内聚

31、用户界面应具备的特性中,最重要的是( )。
    A、可用性
    B、灵活性
    C、美观
    D、可扩展性

32、结构化程序设计的基本结构分为( )。
    A、顺序
    B、选择
    C、循环
    D、递归
    E、嵌套

33、关于风险管理的说法,下列( )是错误的。
    A、风险管理涉及将要发生的事件
    B、要对所有可能的风险给出管理策略
    C、风险一旦变成现实,会造成损失
    D、零成本的小微型项目不存在风险
    E、风险管理本身也存在风险

34、UML 静态模型包括( )。
    A、用例图
    B、类图
    C、包图
    D、状态图
    E、通信图

35、UML 动态模型包括( )。
    A、类图
    B、通信图
    C、状态图
    D、活动图
    E、顺序图

36、过程框架定义了若干框架活动,一个通用软件工程过程框架包含( )。
    A、沟通
    B、策划
    C、建模
    D、构造
    E、部署

37、RUP(统一过程)把软件生命周期定义为几个主要阶段,分别有( )。
    A、先启
    B、精化
    C、构建
    D、移交
    E、分析

38、当某一开发项目的进度有可能拖延时,应该( )。
    A、增加新的开发人员
    B、分析拖期原因加以补救
    C、从别的小组抽调人员临时帮忙
    D、跟客户沟通尝试推迟预定完成时间

39、设计用户界面时,必须考虑的因素有( )。
    A、信息隐蔽
    B、系统响应时间
    C、应对用户错误
    D、帮助设施

40、属于白盒测试方法的有( )。
    A、压力测试
    B、边界值分析
    C、条件组合覆盖
    D、穷举
    E、独立路径遍历

41、软件工程是一门综合性学科,涉及( )。
    A、数学
    B、计算机科学
    C、管理学
    D、心理学
    E、工程科学

42、写需求分析报告时,应保证文档的( )。
    A、完整性
    B、一致性
    C、无歧义
    D、可读性

43、下列( )可以作为软件需求的陈述。
    A、用户需凭用户名和密码登陆之后才可使用系统
    B、用户登录失败时应弹窗提示失败原因
    C、界面美观大方
    D、系统为解决用户的急迫需求而设计

44、结构化设计的工作产品可以包括( )。
    A、建立系统模型
    B、给出界面设计图
    C、确定逻辑和算法
    D、产生设计说明书

45、接口设计的主要内容是( )。
    A、模块或构件间的接口设计
    B、软件与其他软硬件系统之间的接口设计
    C、软件与用户之间的交互
    D、项目组和用户之间的接洽

46、在项目中应用软件工程方法,就可以满足用户需求,避免软件危机。

47、不是用户的任何要求都可以被列为正式的需求,另一方面,也存在用户没有明确声明但是仍然应该被列入的需求。

48、UML 是一种国际通行的面向对象编程语言。

49、软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。

50、软件测试最好由熟悉项目的开发人员亲自承担,以提高测试的效果。

51、对小的程序进行穷举测试是可能的,用穷举测试能保证程序是百分之百正确。

52、国家标准是由政府或国家级机构制定或批准,适用于全国的标准。这些标准都是强制性的,相关产品必须严格执行标准。

53、无法证明从非形式化的需求说明到源程序的转换是正确的,只能使用评审、测试等各种方法来验证软件。

54、软件开发要从客户的需求出发,在满足用户要求的前提下,功能开发的越多越好。

55、非功能需求必须依附于功能需求而存在。

56、软件的质量属性必须要给出量化的可测量指标。

57、所有的类都必须与客观事物相对应,也应该有具体的实例。

58、UML 中,两个类之间只能有一条关联关系。

59、极限编程就是采取必要手段充分挖掘软件开发团队人员的极限能力,在最短的时间内交付软件的开发方法。

主观题试卷

1、举例说明软件对社会的正面影响(至少2条)和负面影响(至少2条)

2、如果在做需求分析时,遇见有两位对软件功能持不同看法的利益相关者,你会怎么做?描述你的过程。

3、用自己的话来描述如何把“敏捷”应用于软件项目。

4、通过这门课的学习,你掌握了哪些建模用的图?请列举不少于5种并解释它们分别有什么作用?