《软件工程》是一门深入探讨软件开发全过程的学科,涵盖了从需求分析到系统维护的各个环节。离线考核的目的是检验学生对这些概念的理解和应用能力。以下是对考核中提到的一些关键知识点的详细解释:
1. **软件生存周期模型**:这是软件开发过程的一种框架,描述了软件从诞生到消亡的所有阶段,包括需求分析、设计、编码、测试、部署和维护等。常见的模型有瀑布模型、增量模型、螺旋模型、敏捷模型等,每种模型都有其适用的场景和优势。
2. **数据字典 (DD)**:在系统分析中,数据字典是至关重要的工具,它包含了系统中所有数据元素的详细定义,如数据流、数据存储、数据项和处理逻辑等。数据字典帮助确保对数据的理解一致,避免在项目过程中出现误解。
3. **内聚性**:这是模块化设计的一个重要原则,衡量一个模块内部元素之间的关联程度。高内聚意味着模块内的元素紧密相关,功能集中,有利于提高代码的可读性和可维护性。通常分为七类内聚:偶然、逻辑、时间内、过程、通信、功能和顺序内聚。
4. **JSP 方法**:JavaServer Pages (JSP) 是一种动态网页开发技术,它将内容的生成和显示分离,允许开发者使用Java语言编写页面逻辑,而HTML用于表现。JSP 方法强调基于数据结构的设计,简化了复杂应用程序的构建。
5. **多态性**:多态性是面向对象编程的一个核心特性,指的是一个接口可以有不同的实现,或者一个消息可以被不同类型的对象响应。这提供了灵活性,允许程序设计者创建通用的代码,同时支持多种类型的操作。
6. **简答题 - 容错技术**:容错技术是为了提高系统可靠性,防止因硬件故障或软件错误导致系统崩溃。四种主要手段包括:
- **结构冗余**:通过提供备份组件,当主组件故障时,备份组件可以接管工作。
- **信息冗余**:通过添加校验信息,比如校验码或错误检测和纠正算法,来检测和修复传输或计算中的错误。
- **时间冗余**:重复执行任务以确保正确性,例如在航空航天领域,某些指令会重复执行多次来避免临时故障的影响。
- **检测与恢复**:设计机制来检测错误并自动恢复,如事务处理中的回滚和重试机制。
以上内容展示了《软件工程》考核的部分重点,包括基础理论和实践应用。理解和掌握这些知识点对于软件工程师来说至关重要,因为它们构成了软件开发过程中的基石。