【软件工程】是一门涉及软件开发全过程的学科,旨在通过科学的方法和工程化的实践提高软件的质量、可维护性和生产效率。本试题旨在帮助学生更好地复习软件工程的相关知识,以下是根据试题内容提炼的关键知识点:
1. **软件开发技术**:包括软件需求获取、软件设计、软件实现与测试。这三个阶段构成了软件开发的基本流程。
2. **软件工程学基本原则**:可行性、完整性、可修改性、可理解性。这些原则指导软件工程活动,确保软件项目的有效性和可持续性。
3. **可行性分析**:通常从经济可行性、操作可行性、技术可行性、法律可行性、开发方案可行性等方面进行,以评估项目是否值得投入资源开发。
4. **模块独立性**:衡量标准是内聚性和耦合性。高内聚表示模块内部元素紧密相关,高耦合表示模块间相互依赖程度低,都是追求的理想状态。
5. **面向对象的软件工程方法**:包括面向对象分析、面向对象设计、面向对象编程、面向对象测试和面向对象的软件维护。这些步骤覆盖了软件生命周期的主要阶段。
6. **提高软件质量和可靠性技术**:分为预防技术和修复技术。预防技术主要是在开发阶段采取措施,如规范编码、单元测试等;修复技术则是在软件出现故障后进行的改进。
7. **程序效率**:通常指的是时间和空间效率,即程序运行速度和内存占用。
8. **OO方法中的对象关系描述**:通常使用继承、封装、多态和关联来描述对象之间的关系。这些概念是面向对象编程的核心。
9. **选择题知识点**:
- 文档:软件开发过程中的关键文档包括需求规格说明书、概要设计说明书和详细设计说明书。
- 详细设计工具:图形工具常用于详细设计,如数据流图、类图等。
- 结构相似性:题目中的结构对比体现了模块的组织形式,内容耦合是最强的耦合类型,意味着一个模块直接访问另一个模块的内部数据。
- 软件质量因素:包括正确性、健壮性、可维修性、效率和互运行性。
- 内容耦合:当一个模块直接修改或使用另一个模块的内部数据时,发生内容耦合。
10. **判断改错知识点**:
- Jackson方法:确实是一种面向数据流的开发方法,用于结构化程序设计。
- 需求分析:其任务是确定系统的功能需求,而非实现细节。
- 面向对象编程:对象包含数据(属性)和操作(方法)。
- 模块内聚性:是对模块功能集中程度的度量,而非模块间连接程度。
- UML:包含表示法(如用例图、类图等)和元模型,是建模的强大工具。
- 测试方法:静态分析和动态测试是设计测试用例的两种常见方法,前者不执行代码,后者需要实际运行代码。
以上内容详细解释了软件工程试题中的知识点,涵盖了软件开发的多个方面,包括基本概念、原则、方法以及具体的分析、设计和测试技术。通过理解和掌握这些知识点,学生可以更好地准备软件工程的期末考试。