当前位置:文档之家› 软件工程(习题与参考答案)

软件工程(习题与参考答案)

软件工程(习题与参考答案)
软件工程(习题与参考答案)

第1章概述(习题与参考答案)

[判断题]

1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。(×)

2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。(×)

3. 购买大多数计算机系统所需的硬件比软件更昂贵。(×)

4. 大多数软件产品在其生命周期中不需要增强功能。(×)

5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。(√)

6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。(×)

[选择题]

1. ()因素促使计算机系统越来越复杂。(D)

A. 计算机内存和存储容量上的巨大增长

B. 外部输入/输出选项的更加多样性

C. 计算机体系结构方面的深刻变化

D. 以上所有选项

2. 下面的()不再是现代软件工程师关注的问题。(A)

A. 为什么计算机硬件的成本这么高?

B. 为什么软件需要很长时间才能完成?

C. 为什么开发一个软件的成本这么高?

D. 为什么不能在产品发布前去除软件错误?

3. 软件会逐渐退化而不会磨损,其原因在于()。(C)

A. 软件通常暴露在恶劣的环境下

B. 软件错误通常发生在使用之后

C. 不断的变更使组件接口之间引起错误

D. 软件备件很难订购

4. 大多数软件仍然是定制开发的,其原因在于()。(C)

A. 软件组件重用是十分普遍的

B. 可重用的组件太昂贵而无法使用

C. 软件在不使用其他组件的情况下很容易构造出来

D. 商业组件在很多应用领域中可以得到

5. 下面的()说法是正确的。(C)

A. 软件危机在20世纪70年代末期全面爆发

B. 当前先进的软件工程方法已经解决了软件危机的问题

C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题

D. 软件危机是指在软件产品中存在一系列的质量问题

6. 软件工程的基本目标是()。(B)

A. 消除软件固有的复杂性

B. 开发高质量的软件

C. 努力发挥开发人员的创造性潜能

D. 更好地维护正在使用的软件产品

7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方

法、工具和过程三个要素。(D)

A. 软件产品

B. 软件过程

C. 软件测试

D. 软件工程

8. 软件工程的基本要素包括方法、工具和()。(C)

A. 软件系统

B. 硬件环境

C. 过程

D. 人员

9. 软件工程师在从事软件工作时应使用下面的()准则。(E)

A. 从来不为个人获利而窃取数据

B. 从来不散布或出售项目中自己工作的信息

C. 从来不故意毁坏或修改别人的程序、文件或数据

D. 从来不侵犯个人、小组或组织的隐私

E. 以上所有选项

第2章软件过程(习题与参考答案)

[选择题]

1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、

软件确认、软件改进等活动组成。(A)

A. 软件过程

B. 软件工具

C. 软件产品

D. 软件工程

2. 软件过程的基本活动是()。(A)

A. 分析、设计、实现、测试、演化

B. 沟通、计划、建模、构造、部署

C. 计划、分析、设计、实现、调试

D. 沟通、风险管理、度量、产品化、评审

3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。(B)

A. 真

B. 假

4. 软件开发的瀑布模型是()。(A)

A. 适用于需求被清晰定义的情况

B. 一种需要快速构造可运行程序的好方法

C. 最适合于大规模团队开发的项目

D. 已不能用于现代环境的过时模型

5. 软件开发的增量模型是()。(B)

A. 适用于需求被清晰定义的情况

B. 一种需要快速构造核心产品的好方法

C. 最适合于大规模团队开发的项目

D. 一种不适用于商业产品的创新模型

6. 快速原型开发模型是()。(B)

A. 适用于客户需求被明确定义的情况

B. 适用于客户需求难以清楚定义的情况

C. 最适合于大规模团队开发的项目

D. 很难产生有意义产品的一种冒险模型

7. 演进式软件过程模型()。(D)

A. 本质上是迭代的

B. 可以很容易适应需求的变化

C. 通常不会抛弃所产生的系统

D. 以上所有选项

8. 螺旋模型()。(C)

A. 在软件产品发布时结束

B. 比增量模型更加混乱

C. 在每一次迭代过程中包含项目风险评价

D. 以上所有选项

9. 基于组件的开发模型()。(C)

A. 只适用于计算机硬件设计

B. 不能支持可重用组件的开发

C. 在面向对象技术获得支持的情况下应用得更好

D. 增加了开发风险和成本

10. 形式化方法模型是将数学方法用于()。(D)

A. 定义计算机系统的规格说明

B. 开发无错误的计算机系统

C. 验证计算机系统的正确性

D. 以上所有选项

11. 下面的()不是RUP模型的阶段。(D)

A. 启动阶段

B. 精化阶段

C. 构造阶段

D. 确认阶段

第3章软件项目管理(习题与参考答案)

[选择题]

1. 软件项目管理的“4P”是()。(C)

A. people,performance,payoff,product

B. people,product,performance,process

C. people,product,process,project

D. people,process,payoff,product

2. ()项目管理在现代软件开发中是不太重要的,因为大多数项目能够及时完成并成功交付。(B)

A. 真

B. 假

3. 在软件开发的各种资源中,()是最重要的资源。(C)

A. 开发工具

B. 方法

C. 硬件环境

D. 人员

4. 软件项目规划的第一步是()。(D)

A. 确定项目预算

B. 选择团队的组织模型

C. 确定项目的约束

D. 建立项目的目标和范围

5. 下面的()方法最不适合你向团队成员解释他或她为什么表现不合格。(B)

A. 个人谈话

B. 项目团队会议

C. 正式报告

D. 电子邮件

6. 功能点估算技术需要以()为基础进行问题分解。(A)

A. 信息域

B. 项目进度

C. 软件功能

D. 过程活动

7. 软件开发团队的每一个成员都应该参与计划活动,以便()。(C)

A. 降低计划的粒度

B. 深入地分析需求

C. 所有成员同意该计划

D. 开始设计

8. 在攻克技术难题时,最佳的开发团队组织模型是()。(A)

A. 民主式结构

B. 主程序员式结构

C. 技术管理混合式结构

D. 以上所有选项都不是

9. 在选择开发团队组织结构时应考虑()因素。(E)

A. 沟通的复杂程度

B. 最终程序的规模大小

C. 发布日期的严格程度

D. 项目预算的多少

E. 选项A,B和C

10. 在软件开发过程中避免受挫的最佳方法之一是()。(A)

A. 给予团队成员对于过程和技术决策的更多控制权

B. 给予团队成员对于过程和技术决策的更少控制权

C. 向团队成员隐瞒坏消息直到事情有所改善

D. 根据生产效率奖励团队成员

11. 下面的()软件特性不是引起项目协调困难的一个因素。(B)

A. 互操作性

B. 性能

C. 规模

D. 不确定性

12. 在进行项目范围活动时,问题分解的主要范围是()。(E)

A. 客户工作流程

B. 需要发布的功能

C. 用于发布功能的过程

D. 软件过程模型

E. 选项B和C

13. ()随着项目计划的不断形成,产品分解和过程分解经常是同时发生的。(A)

A. 真

B. 假

14. 为了将项目失败的风险减少到最小,项目经理需要采取()。(D)

A. 将项目团队规模增加一倍

B. 要求更大的预算

C. 顺利地开始

D. 跟踪过程

E. 选项B和C

15. ()估算不可靠的唯一原因是估算人员缺乏经验。(B)

A. 真

B. 假

16. ()由于软件项目估算不完全可靠,所以项目开始后可以忽略这些估算。(B)

A. 真

B. 假

17. 软件项目规划的目的是()。(C)

A. 使客户相信项目是可行的

B. 使用历史项目数据

C. 使项目管理者合理地估算成本和进度

D. 在投标项目之前确定大概的利润边界

18. 软件项目所需的人数应该()。(D)

A. 在估计开发需要的努力之后决定

B. 由项目预算数量决定

C. 从评价系统复杂性来决定

D. 以上所有选项

19. ()估计待开发软件产品的规模必须基于像代码行等直接度量单位。(B)

A. 真

B. 假

20. 代码行估算技术需要以()为基础进行问题分解。(C)

A. 信息域值

B. 项目进度

C. 软件功能

D. 软件过程活动

21. 功能点估算技术需要以()为基础进行问题分解。(A)

A. 信息域值

B. 项目进度

C. 软件功能

D. 软件过程活动

22. 经验估算模型是基于()。(C)

A. 专家基于过去项目经验的判断

B. 期望值估计的细化

C. 来自历史项目数据的回归模型

D. 反复试验决定参数和系数

23. COCOMO II 是现代经验估算模型的一个实例,它需要以()为单位的程序规模信息。(B)

A. 功能点

B. 代码行

C. 工作量

D. 以上任何选项

24. ()功能点不能用于估算面向对象的软件。(B)

A. 真

B. 假

25. ()软件项目延迟是不可避免的,而且无法解释其原因。(B)

A. 真

B. 假

26. ()将开发团队人数增加一倍可以保证项目完成时间减少一半。(B)

A. 真

B. 假

27. 任务集是()的集合。(A)

A. 工作任务、里程碑、工作产品

B. 任务分配、成本估算、度量单位

C. 里程碑、可交付物、度量单位

D. 责任、里程碑、文档

28. ()主动的风险管理有时被描述为救火。(B)

A. 真

B. 假

29. 软件风险总是包括()两个特性。(C)

A. 救火和危机管理

B. 已知的和未知的风险

C. 不确定和损失

D. 安置人员和预算

30. 风险的三种主要类型是()。(B)

A. 商业风险、人员风险、预算风险

B. 项目风险、技术风险、商业风险

C. 计划风险、技术风险、人员风险

D. 管理风险、技术风险、设计风险

31. 下面的()是有效的软件配置项。(E)

A. 软件工具

B. 文档

C. 可执行程序

D. 测试数据

E. 以上所有选项

32. 下面的()配置对象通常不包括在项目数据库中。(C)

A. 设计规格说明书

B. 可执行程序

C. 组织结构描述

D. 测试计划

33. 基线(Baseline)是指在项目生命周期的不同时间点上,一个或一组配置项通过()而进入正

式受控的一种状态。(C)

A. 存取控制

B. 质量控制

C. 正式评审

D. 变更管理

34. ()软件工作产品一旦成为基线就不能再更改了。(B)

A. 真

B. 假

35. ()如果开发小组使用自动化的项目数据库工具,那么就不需要变更控制。(B)

A. 真

B. 假

36. 下面的()不是软件配置管理的任务。(C)

A. 变更控制

B. 配置状态报告

C. 统计质量控制

D. 版本控制

37. 配置状态报告的主要目的是()。(C)

A. 允许项目经理修改项目进度和成本估算

B. 评估软件开发人员和组织的绩效

C. 确保变更信息传达到受影响的团体

D. 选项A和C

E. 选项A、B和C

第4章需求工程(习题与参考答案)

[选择题]

1. ()在需求分析过程中,分析员要从用户那里解决的最重要的问题是明确软件做什么。(A)

A. 真

B. 假

2. ()软件需求规格说明书在软件开发中具有重要的作用,它是软件可行性分析的依据。(B)

A. 真

B. 假

3. 在项目初始阶段,开发任务的目标是()。(A)

A. 理解基本问题

B. 确定所需的解决方案

C. 确定需要解决方案的人员

D. 以上选项都不是

E. 选项A、B和C

4. 下面的()将造成需求获取困难的问题。(E)

A. 预算(budgeting)

B. 范围(scope)

C. 理解(understanding)

D. 挥发性(volatility)

E. 选项B、C和D

5. 需求分析的结果是产生定义下面()问题域的分析模型。(D)

A. 信息

B. 功能

C. 性能

D. 以上所有选项

6. ()目前存在一个很普遍的现象,即不同的客户提出的需求是相互矛盾的,但每个人都争辩自

己是正确的。(A)

A. 真

B. 假

7. ()利益相关者(stakeholders)是将来购买所开发软件系统的人。(B)

A. 真

B. 假

8. 需求规格说明描述了()。(A)

A. 计算机系统的功能、性能及其约束

B. 每个指定系统的实现

C. 软件体系结构的元素

D. 系统仿真所需要的时间

9. 组织需求评审的最好方法是()。(D)

A. 检查系统模型的错误

B. 让客户检查需求

C. 将需求发放给设计团队去征求意见

D. 使用问题列表检查每一个需求

10. 使用跟踪表有助于()。(C)

A. 在后续的检查运行错误时调试程序

B. 确定算法执行的性能

C. 识别、控制和跟踪需求的变化

D. 以上选项都不是

11. ()需求工程师的任务是将所有利益相关者的信息进行分类以便允许决策者选择一个相互一致

的需求集。(B)

A. 真

B. 假

12. 下面的()不是在项目启动阶段被提出的“与环境无关”的问题。(B)

A. 成功的解决方案将带来什么样的经济收益?

B. 谁反对该项目?

C. 谁将为该项目付款?

D. 谁将使用该解决方案?

13. ()开发人员与客户创建用例以帮助软件团队理解有多少类型的最终用户将使用这些功能。(B)

A. 真

B. 假

14. 在各种不同的软件需求中,()描述了用户使用产品必须要完成的任务,可以在用例模型或方

案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应

用对软件系统质量和特性的额外要求。(B,C)

A. 业务需求

B. 功能需求

C. 非功能需求

D. 用户需求

15. 需求导出后产生的工作制品将依赖于()而不同。(B)

A. 预算多少

B. 将要构建的产品规模

C. 正在使用的软件过程

D. 利益相关者的需要

16. ()用例参与者总是人员而不是系统设备。(B)

A. 真

B. 假

17. ()在需求确认过程中需求模型被评审以保证其技术可行性。(B)

A. 真

B. 假

18. 在需求开发过程中,软件工程师应与客户合作共同定义()。(E)

A. 客户可见的使用场景

B. 重要的软件特性

C. 系统的输入与输出

D. 选项A和B

E. 选项A、B和C

第5章面向对象基础(习题与参考答案)[选择题]

1. ()模型是对现实的简化,建模是为了更好地理解所开发的系统。(A)

A. 真

B. 假

2. ()UML语言支持面向对象的主要概念,并与具体的开发过程相关。(B)

A. 真

B. 假

3. 类的结构是()。(E)

A. 由代码来表示

B. 由属性和关系来表示

C. 由操作来表示

D. 由对象的交互来表示

E. 选项B和C

4. 类的行为是()。(A)

A. 由一组操作决定

B. 由类的属性决定

C. 对类的每一个对象唯一的

D. 由父类决定

E. 选项A和B

5. ()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,

外界只能通过有限的接口与对象发生联系。(C)

A. 多态性

B. 继承

C. 封装

D. 消息

6. ()意味着一个操作在不同的类中可以有不同的实现方式。(A)

A. 多态性

B. 多继承

C. 消息

D. 封装

7. UML是()的缩写。(B)

A. Unified Module Language

B. Unified Modeling Language

C. Universal Module Leveling

D. Universal Module Language

8. 顺序图反映对象之间发送消息的时间顺序,它与()是同构的。(C)

A. 用例图

B. 类图

C. 协作图

D. 状态图

9. ()定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体

实现。(A)

A. 用例图

B. 类图

C. 活动图

D. 状态图

10. 状态图包括()。(E)

A. 类的状态

B. 状态之间的转换

C. 类执行的动作

D. 触发类的动作的事件

E. 所有以上选项

第6章面向对象分析(习题与参考答案)

[选择题]

1. ()面向对象分析的核心在于建立一个描述软件系统的模型。(B)

A. 真

B. 假

2. 关于面向对象分析,下列的()是正确的。(A)

A. 它是系统需求建模的方法

B. 它是分析系统设计的技术

C. 可以从分析直接编写代码

D. 在软件生命周期中,它出现在面向对象设计之后

3. 下列的()不是分析建模的目的。(C)

A. 定义可验证的软件需求

B. 描述客户需求

C. 开发一个简单的问题解决方案

D. 建立软件设计的基础

4. 下列的()不属于面向对象分析模型。(C)

A. 用例图

B. 类图

C. 实体关系图

D. 顺序图

5. ()分析类用于描述系统中概念层次的对象。(A)

A. 真

B. 假

6. 在分析类中,()用于描述一个用例所具有的事件流控制行为。(D)

A. 实体类

B. 界面类

C. 接口类

D. 控制类

7. ()在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析类实例之间的

消息传递将用例的职责分配到分析类中。(A)

A. 真

B. 假

8. 开发人员使用()可以将用例的行为分配到所识别的分析类中。(B)

A. 用例图

B. 顺序图

C. 类图

D. 状态图

9. 分析模型一般采用()方式进行验证。(C)

A. 总结

B. 阶段性报告

C. 需求分析评审

D. 转化成设计模型

10. ()需求评审人员主要由开发人员组成,一般不包括用户。(B)

A. 真

B. 假

第7章软件体系结构设计(习题与参考答案)[选择题]

1. ()系统体系结构的最佳表示形式是一个可执行的软件原型。(B)

A. 真

B. 假

2. ()软件体系结构描述是不同项目相关人员之间进行沟通的使能器。(A)

A. 真

B. 假

3. ()良好的分层体系结构有利于系统的扩展与维护。(A)

A. 真

B. 假

4. ()消除两个包之间出现的循环依赖在技术上是不可行的。(B)

A. 真

B. 假

5. ()设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识。(A)

A. 真

B. 假

6. 程序编译器的体系结构适合使用()。(A)

A. 仓库体系结构

B. 模型-视图-控制器结构

C. 客户机/服务器结构

D. 以上选项都不是

7. 网站系统是一个典型的()。(C)

A. 仓库体系结构

B. 胖客户机/服务器结构

C. 瘦客户机/服务器结构

D. 以上选项都不是

8. 在分层体系结构中,()实现与实体对象相关的业务逻辑。(D)

A. 表示层

B. 持久层

C. 实体层

D. 控制层

9. ()可以帮助人们简单方便地复用已经成功的设计或体系结构。(B)

A. 商业组件

B. 设计模式

C. 遗留系统

D. 需求规格说明

10. ()用于封装具体的平台,从而使应用程序可以在不同的平台上运行。(A)

A. 抽象工厂模式

B. 外观模式

C. 观察者模式

D. 以上选项都不是

第8章面向对象设计(习题与参考答案)

[选择题]

1. ()面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型。

(A)

A. 真

B. 假

2. ()系统设计的主要任务是细化分析模型,最终形成系统的设计模型。(B)

A. 真

B. 假

3. ()关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据

库中的表。(B)

A. 真

B. 假

4. ()用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用

户拒绝使用该系统。(A)

A. 真

B. 假

5. 内聚表示一个模块()的程度,耦合表示一个模块()的程度。

(B,D)

A. 可以被更加细化

B. 仅关注在一件事情上

C. 能够适时地完成其功能

D. 联接其他模块和外部世界

6. 良好设计的特征是()。(E)

A. 模块之间呈现高耦合

B. 实现分析模型中的所有需求

C. 包括所有组件的测试用例

D. 提供软件的完整描述

E. 选项B和D

F. 选项B、C和D

7. ()是选择合适的解决方案策略,并将系统划分成若干子系统,从而建立整个系

统的体系结构;()细化原有的分析对象,确定一些新的对象、对每一个子系统接口和类进行准确详细的说明。(A,B)

A. 系统设计

B. 对象设计

C. 数据库设计

D. 用户界面设计

8. 下面的()界面设计原则不允许用户保持对计算机交互的控制。(D)

A. 允许交互中断

B. 允许交互操作取消

C. 对临时用户隐藏技术内部信息

D. 只提供一种规定的方法完成任务

第9章软件实现(习题与参考答案)

[选择题]

1. ()在程序设计中使用括号以改善表达式的清晰性。(A)

A. 真

B. 假

2. ()在程序设计中应尽可能对程序代码进行优化。(B)

A. 真

B. 假

3. ()不要修补不好的程序,要重新写。(A)

A. 真

B. 假

4. ()程序中的注释是可有可无的。(B)

A. 真

B. 假

5. ()对递归定义的数据结构不要使用递归过程。(B)

A. 真

B. 假

6. 为了使程序能在不同的计算机上运行,程序应当具有较好的()。(A)

A. 可移植性

B. 可重用性

C. 可维护性

D. 可适用性

7. 对于开发面向数据库应用的软件,应当选择的程序设计语言是()。(C)

A. C

B. PASCAL

C. SQL

D. JAVA

8. 下面对提高程序编码效率没有影响的是()。(D)

A. 选择良好的设计方法

最新软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

软件工程考试题库

软件工程考试题库 Final approval draft on November 22, 2020

一填空题 1.用原型过程代替全部开发阶段,这种快速原型是(实验型或演化型)原型。 2.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 3.结构图的主要内容有(模块)、(模块的控制关系)、(模块的信息传递)。 4.模块之间的联系越紧密,其耦合性就越(强),模块的独立性就越(差)。 5.软件工程研究的主要内容包括软件开发技术和软件开发管理两个方面,在软件开发技术方面,主要是研究(软件开发方法)、(软件开发过程)、(软件开发工具和环境),在软件开发管理方面,主要是研究(软件管理学)、(软件经济学)、(软件心理学)。 6.状态图反映了(状态)与(事件)的关系,状态图确定了由事件序列引起的(状态序列)。 7.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 8.在数据流图中,(数据流)是数据在系统内传播的路径,因此由一组(成分固定的数据项)组成,加工(又称为数据处理)是对数据流进行某些(操作或交换)。 9.(偶然内聚)指一个模块内的各处理元素之间没有任何联系,这是内聚程度最(差)的内聚。 10假如n个相同的系统(硬件或软件)进行测试,它们的失效时间分别是t1,t2,tn,则平均失效等待时间MTTF=(1/n )。 11(维护申请报告)是一种由用户产生的文档,它用作计划维护任务的基础。 12在软件开发和维护过程中,一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的(多个版本)。 13软件工具通常由工具、(工具接口)和用户工具三个部分组成。 14类的实例化是(对象)。 15形式化规约语言由(语法)、(语义)和(一组关系)组成。 16 软件质量保证应从(产品计划和设计)开始,直到投入使用和售后服务的软件生存期的每一个阶段中的每一步骤。 17 为了提高软件的质量,软件质量保证的任务大致可归结为以下8类:(正确定义用户要求)、(技术方法的应用)、(提高软件开发的工程能力)、(软件的复用)、(发挥每个开发者的能力)、(组织外部力量协作)、(排除无效劳动)、(提高计划和管理质量)。 18 软件测试时需要的三类信息,分别是(软件配置)、(测试配置)、(测试工具)。 19 在面向对象方法中,信息隐蔽通过对象的(封装性)来实现,类结构分离了(接口)与(实现),从而支持了信息隐蔽。 20 增量模型在开发工程中以一系列(增量方式)开发系统,推迟某阶段的(细节),从而(尽早)产生工作软件。 二选择题 1.(A)是计算机程序及其说明程序的各种文档。 A 软件 B文档 C 数据 D 程序 2.软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、(B)和维护等活动。 A 应用 B 测试 C 检测 D 以上答案都不正确 3.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)。 A 用于验证软件需求的原型 B 垂直原型 C 用于验证设计方案的原型 D 用于演化出目标系统的原型

软件工程试题与答案 (6)

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

软件工程试题与答案

安徽三联学院2011-2012学年度第一学期 《软件工程》期终考试试卷(A卷) 一、选择题(每小题2分,计20分) 1.请按顺序写出软件生命期的几个阶段__F__,__D__ ,__C__,___E_,__B__,___A_。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析 2.一个模块直接控制(调用)的下层模块的数目称为模块的_____B__。 A.扇入数 B、扇出数 C、宽度 D、作用域 3.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试 (A) A.单元测试 B.系统测试 C.集成测试D.确认测试 4.一个软件项目是否进行开发的结论是在___B___文档中作出的。 A.软件开发计划B、可行性报告C、需求分析说明书D、测试报告 5.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在 (B)阶段进行的。 A.需求分析B.总体设计C.详细设计D.编码阶段 6.CMMI标准的5个级别分别是完成级、管理级、定义级、量化管理级和( C ) A.初始级B.可重复级C.优化级D.过程级 7.PAD(Problem Analysi s Diagram)图是一种____工具。( B) A.系统描述B.详细设计C.测试D.编程辅助 二、填空题(每空格1分,计20分) 1、软件的通俗解释是软件= 程序+ 数据+ 文档资料。 4、系统测试包括的4种类型:恢复测试、安全测试、强度测试和性能测试。 6、统一建模语言(UML)提供的9种图分别是:用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件图和部署图。 7、软件工程标准的5个级别:国际标准、国家标准、行业标准、企业 规范 和项目规范。 三、名词解释题(每题4分,计20分) 1、软件工程: 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、再工程: 软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程3.模块化: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性 四、简答题(每题5分,计20分) 1、简述软件工程的基本原理? 1.严格按照软件生命周期计划进行管理.2.坚持进行阶段评审.3.实行严格的产品控制. 4.采用先进的程序设计技术. 5.结果应能清楚的审查.6.开发小组成员应少而精.7.承认不断改进软件工程实践的必要性

软件工程考试题库

软件工程概述 一单项选择 1.软件生命周期一般包括:软件开发期和软件运行期,下述(D)不是软件开发期所应包含的内容。 A需求分析B结构设计C程序编制D软件维护 2.软件是一种逻辑产品,它的开发主要是(A)。 A研制B拷贝C再生产D复制 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(C)。 A喷泉模型B增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B)阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计B可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C)产品 A有形B消耗C逻辑D文档 6.(C)把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A原型模型B螺旋模型C基于知识的智能模型D喷泉模型 7.(B)阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 A概要设计B详细设计C编码D测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A)。 A原型模型B瀑布模型C基于知识的智能模型D变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C)。 A可修改性B可靠性C可适应性D可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B)。 A可移植性B可重用性C容错性D可适应性 13.软件特性中,(A)是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性D可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B)。 A可理解性B可维护性C可适应性D可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C). A可理解性B可修改性C可移植性D可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是(D)。 A有效性B可适应性C正确性D可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A)。 A可修改性B可适应性C可维护性D可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B)。 A可理解性B可互操作性C可维护性D可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向

软件工程复习题库(挂答案)

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软件工程题库

软件工程单元一(概述) 一单项选择 1.软件是一种逻辑产品,它的开发主要是(A )。 A研制B拷贝C再生产D复制 2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是(C )。 A 可理解性 B 可互操作性C可追踪性 D 可维护性 20.软件的可修改性支持软件的(D )。 A 有效性 B 可互操作性C可追踪性 D 可维护性 21.软件的可移植性支持软件的(A )。 A 可适应性 B 可互操作性C可追踪性 D 有效性 22.软件的可理解性支持软件的(B )。

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

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

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

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

一、选择题 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)。

软件工程题库及答案

一、选择题 软件(2) 1.在软件开发的各种资源中,( D )是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 2.软件的复杂性是(A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D )。 A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.软件是一种(B )产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了 ( A ) A.软件危机B.软件工程C.程序设计革命D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式( C ) (A)成本高(B)生产率低 (C) 技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。 A 开发 B 使用C维护D更新 软件工程(2) 10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生 的基础。 (A) 运筹学(B) 工程学(C) 软件学(D) 数学 11.2.在软件工程时期,决定软件质量的主要因素是( A )

A.管理水平 B.个人程序技术C.小组技术水平 D.硬件的发展 12. 3. 软件管理工作涉及到的直接对象不包括( B )。 A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目 13. 4. 软件工程方法学有三个要素,它们是(A ) A.方法、工具和过程 B.质量、进度和成本 C.顺序、分支和循环 D.入口、过程、出口生命周期及模型(5) 14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维 护等几个阶段。 A.需求分析 B.需求调查 C.可行性分析 D.问题定义 15. 2.瀑布模型把软件生存周期划分为软件计划、软件开发与(C )三个阶段,而每一阶 段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行与维护 D. 测试与排错 16.3:下列哪个模型没有采用迭代的思想(A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 17.4:下列关于瀑布模型的描述正确的是( D )。 A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 18.5:瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 19. 6. 快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 20.7:瀑布模型的关键不足在于( B ) (A)过于简单(B)不能适应需求的动态变更 (C)过于灵活(D)各个阶段需要进行评审 21.8:瀑布模型存在的问题是( D )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 问题定义(1)

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析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.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程题库

软件工程题库 一单项选择 1.软件是一种逻辑产品,它的开发主要是(A )。 A研制B拷贝C再生产D复制 2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

相关主题
文本预览
相关文档 最新文档