软件工程是一门涉及软件开发全过程的学科,旨在通过规范化的流程和工程化的方法来提高软件的质量、可维护性和生产效率。以下是对试卷中选择题和填空题知识点的详细解释:
1. 瀑布模型是软件开发的经典模型,分为计划阶段、开发阶段和运行阶段。其中,开发阶段包括可行性研究、需求分析、系统总体设计、详细设计、编码、测试和运行,而运行阶段是软件交付后长期的维护和更新。
2. 在瀑布模型中,需求分析阶段定义的标准成为系统测试的目标,因为系统测试是验证软件是否满足最初的需求。
3. 软件工程的出现是由于软件危机,即软件开发的复杂性和成本不断增加,而质量却无法保证。
4. 实施软件工程方法的主要保证是开发人员的素质,包括专业技能、团队协作能力和对规范的理解与执行。
5. 结构化和原型化方法不是相互排斥的,而是可以相互补充,根据项目的特性和需求灵活选择或结合使用。
6. UML(统一建模语言)主要用于基于对象的面向对象的方法,支持软件的可视化建模。
7. 原型化方法对软件设计和开发人员的要求最高,因为它通常涉及快速迭代和灵活适应用户反馈。
8. 结构化分析方法强调数据流,通过数据流图等工具来理解系统的数据处理过程。
9. 结构化生命周期方法将软件生命周期划分为计划阶段、开发阶段和运行阶段。
10. 在瀑布模型中,编码阶段可能占用人员最多,因为这是将设计转化为实际代码的过程。
11. 面向对象方法学的软件生存周期模型,如喷泉模型,更适合迭代和增量式的开发。
12. 需求分析阶段出错对软件的影响最大,因为后续的所有工作都是基于这些需求进行的。
13. 数据规范化通常选择第三范式(3NF),以确保数据的独立性和一致性。
14. 可行性分析的目的是评估项目是否值得开发,考虑经济、技术和社会因素。
15. 功能内聚是模块内聚性最高的类型,表示模块只完成单一明确的功能。
16. 软件危机是指软件开发中遇到的高成本、低质量和难以维护的问题。
17. 需求分析阶段的任务是确定软件系统的功能,这是项目的基础。
18. 完整的软件结构通常用HIPO图(Hierarchical Input Process Output图)来表示。
19. 在白盒测试中,语句覆盖是最弱的覆盖标准,因为它只确保每行代码至少被执行一次。
20. 结构化生命周期方法因其线性的顺序步骤而被称为瀑布模型。
填空题知识点:
1. 系统流程图描述了系统中元素间的信息流动情况。
2. 成本效益分析是从经济角度评估项目可行性。
3. 渐增式测试的深度优先策略和宽度优先策略用于组合模块的测试。
4. 独立路径在程序图中包含未处理的语句或条件,且至少有一条其他路径没有的边。
5. 汇编语言面向机器,适用于处理高级语言难以实现的硬件交互。
6. 单元测试结合白盒测试和黑盒测试,但以白盒为主。
7. 详细设计确定模块的算法和使用的数据。
8. 软件问题报告是维护申请的标准形式。
9. 维护支援技术用于提高维护效率和质量。
10. 科学工程计算常用的编程语言包括FORTRAN、PASCAL、C和PL/1,它们都提供了丰富的数值计算库。
以上知识点涵盖了软件工程的生命周期、模型、方法、分析、设计、测试和维护等多个方面,展示了软件开发过程中的关键概念和实践。