第一章
选择题
- 下列说法中正确的是(B)
- A.20世纪50年代提出了软件工程的概念
- 20世纪60年代提出了软件工程的概念
- 20世纪70年代出现了客户机/服务器技术
- 20世纪80年代软件工程学科达到成熟
- 软件工程危机的主要原因(D)
- 软件工具的落后
- 软件生产能力不足
- 实行严格的产品控制
- 软件本身的特点及开发方式
- 软件工程的3个要素是(C)
- 技术、方法和工具
- 方法、对象和类
- 方法、工具和过程
- 过程、模型和方法
- 在下列选项中,(A)不属于软件工程学科研究的基本内容
- 软件工程材料
- 软件工程方法
- 软件工程原理
- 软件工程过程
判断题
- 软件就是程序,编写软件就是编写程序。×
- 软件危机的主要表现是软件需求增加,软件价格上升。×
- 软件工程学科出现的主要原因是软件危机出现。√
- 软件工具的作用是延长软件产品的寿命。×(软件工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任务的完成)
简答题
- 简述软件工程研究的内容。
- 软件开发技术;主要研究软件开发方法、软件开发过程、软件开发工具和环境。
- 软件工程管理;主要研究软件工程经济学和软件管理学。
(技术和管理是软件开发中缺一不可的两个方面,没有科学的管理,再先进的技术也不能充分发挥作用。)
- 通常有哪几种软件开发方法。
- 结构化方法。
- 面向数据结构方法。
- 面向对象方法。
- 形式化方法。
第二章
选择题
- 增量模型本质上是一种(C)
- 线性顺序模型
- 整体开发模型
- 非整体开发模型
- 螺旋模型
- 软件过程是(C)
- 特定的开发模型
- 一种软件求解的计算逻辑
- 软件开发活动的集合
- 软件生命周期模型
- 软件生命周期模型不包括(B)
- 瀑布模型
- 用例模型
- 增量模型
- 螺旋模型
- 包含风险分析的软件工程模型是(A)
- 螺旋模型
- 瀑布模型
- 增量模型
- 喷泉模型
- 软件工程中描述生命周期的瀑布模型一般包括计划、需求分析、设计、编码、(D)、维护等几个阶段
- 产品发布
- 版本更新
- 可行性分析
- 测试
- 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)
- 分析阶段
- 设计阶段
- 编码阶段
- 测试阶段
- 螺旋模型综合了(B)的优点,并增加了风险分析
- 增量模型和喷泉模型
- 瀑布模型和快速原型模型
- 瀑布模型和喷泉模型
- 快速原型模型和喷泉模型
判断题
- 瀑布模型最大的优点是将软件开发的各个阶段划分的十分清晰。×
- 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。×
- 软件工程过程应该以软件设计为中心,关键是编写程序。×(质量为中心,质量+生产力)
- 极限编程属于增量模型。×
简答题
- 在统一软件开发过程模型中,核心工作流包含哪些?
业务建模;需求分析;分析设计;实现;测试;部署
- 敏捷过程的核心价值观有哪些?它对传统方法的“反叛”体现在哪些方面?
- 注重个人与交互;
- 提高客户参与度;
- 重点关注可以工作的软件;
- 以积极的心态响应需求变化;
敏捷方法对传统方法的“反叛”体现在以人为中心,不再依靠文档来控制过程,认为传统过程过于僵化,文档繁琐,主张对传统过程“瘦身”,在上述价值观的支配下,做到能够为准。
第三章
选择题
- 可行性研究也成为(D)
- 技术可行性研究
- 操作可行性研究
- 经济可行性研究