软件工程是一门涉及软件开发全过程的学科,旨在通过规范化的工程方法提高软件的质量、可维护性和生产效率。在期末考试中,这些选择题和填空题涵盖了软件工程的基础概念、模型、方法和最佳实践。
1. 瀑布模型是经典的软件开发模型,将软件生命周期分为计划阶段、开发阶段和运行阶段。选择题中提到的空白处应填写“运行阶段”,因为前三个阶段是计划和开发,最后一个是运行和维护。
2. 在瀑布模型中,需求分析阶段定义的标准成为系统测试的目标。因此,正确答案是A. 需求分析阶段。
3. 软件工程的出现是因为“软件危机”的出现,即软件开发过程中遇到的质量、成本和进度问题。因此,答案是C. 软件危机的出现。
4. 软件工程方法得以实现的主要保证是开发人员的素质,所以C选项正确。
5. 结构化和原型化方法可以相互补充,以适应不同类型的项目需求。答案是B. 相互补充。
6. UML(统一建模语言)主要用于基于对象的面向对象的方法。因此,正确答案是C. 基于对象的面向对象的方法。
7. 原型化方法对软件设计和开发人员的要求最高,因为它强调快速迭代和灵活适应需求变化。所以答案是B. 原型化方法。
8. 结构化分析方法关注数据流,强调分析对象的数据流特性。所以答案是B. 数据流。
9. 软件开发的结构化生命周期方法分为计划阶段、开发阶段和运行阶段。答案是A. 计划阶段 . 开发阶段 . 运行阶段。
10. 在瀑布模型中,通常编码阶段会占用最多的人员,因为这是将设计转化为代码的实际工作阶段。答案是C. 编码阶段。
11. 面向对象方法学适合的生存周期模型是喷泉模型,因为它允许迭代和重叠的开发活动。答案是B. 喷泉模型。
12. 需求分析阶段是软件生命周期中最重要的,因为一旦需求分析出错,后续所有工作都可能受影响。答案是C. 需求分析阶段。
13. 在大多数场合,数据规范化会选择第三范式(3NF),以确保数据冗余最小,消除插入、删除和更新异常。答案是C. 3。
14. 可行性分析研究的目的是决定项目是否值得开发。答案是A. 项目值得开发否。
15. 内聚性是衡量模块质量的一个指标,其中功能内聚的内聚性最高,意味着模块只执行单一明确的功能。答案是D. 功能内聚。
16. 软件危机是指软件开发中的高成本和低质量之间的矛盾。答案是B. 软件危机。
17. 需求分析阶段的任务是确定软件系统的功能。答案是D. 软件系统的功能。
18. 完整的软件结构通常用HIPO图(Hierarchy Input Process Output)来表示,这是一种早期的系统设计表示方法。答案是B. HIPO图。
19. 在白盒测试中,语句覆盖是最弱的覆盖标准,因为它只确保每行代码至少被执行一次。答案是A. 语句。
20. 结构化生命周期方法因其瀑布式的线性顺序而被称为瀑布模型。答案是A. 瀑布模型。
填空题部分:
1. 系统流程图描述的是系统中元素间的信息流动情况。
2. 成本效益分析从经济角度评估项目的可行性。
3. 渐增式测试的组合策略包括深度优先策略和宽度优先策略。
4. 独立路径是包含一组新语句或条件的路径,且至少有一条其他独立路径中未有的边。
5. 汇编语言面向机器,用于完成高级语言无法完成的特殊任务,如与硬件交互。
6. 单元测试主要采用白盒测试,但也会辅以黑盒测试。
7. 详细设计确定每个模块的算法和使用的数据。
8. 软件维护申请报告也称为软件问题报告。
9. 维护支援技术用于提高维护效率和质量。
10. 科学工程计算中常用的编程语言包括FORTRAN、PASCAL、C和PL/1。
这些知识点体现了软件工程中的关键概念,包括软件开发模型、方法、设计原则、测试策略和维护管理。理解并掌握这些内容对于软件工程师来说至关重要。