《软件工程》是一门深入探讨软件开发全过程的学科,它旨在解决软件开发中的问题,即所谓的“软件危机”。软件危机是指在软件开发过程中遇到的诸如成本超支、进度延迟、质量无法保证等一系列问题。为应对这些问题,软件工程应运而生,通过系统化、规范化的流程来提高软件的质量和生产效率。 1. **软件工程与软件危机**:软件危机的出现,促使人们寻找更为有效的软件开发方法,从而引出了软件工程的概念。软件工程是将工程化的管理理念应用于软件开发,包括需求分析、设计、编码、测试和维护等阶段,以实现软件的高效、可靠和可维护性。 2. **瀑布模型**:这是一种经典的软件开发模型,按照需求分析、设计、编码、测试和维护的顺序进行,各阶段依次依赖,形成瀑布式的流程。其特点是线性和顺序,但缺点在于不灵活,一旦前期阶段出错,后期修改成本高昂。 3. **软件生存周期**:软件从需求收集到最终废弃的全过程,包括需求分析、设计、编码、测试、部署和维护等阶段。每个阶段都有其特定的任务,例如需求分析阶段需要明确用户的需求,设计阶段则要制定软件架构。 4. **数据流图和数据字典**:数据流图是一种图形表示法,用于描述信息在系统中的流动和处理过程;数据字典是对数据流图中所有元素的详细定义,包括数据流、数据存储和数据项等。 5. **软件设计**:分为概要设计和详细设计两个步骤。概要设计关注整体架构,确定软件的主要模块和接口;详细设计则深入到每个模块,包括具体的算法和界面设计。 6. **软件测试**:其目的是发现并修复软件中的错误。常见的测试方法有白盒测试(结构测试,关注代码逻辑)和黑盒测试(功能测试,关注软件行为)。白盒测试通常用于单元测试,黑盒测试常用于集成测试和系统测试。 7. **软件维护**:软件上线后,需要根据用户反馈和新的需求进行修改和更新,分为改正性维护、适应性维护、完善性维护和预防性维护四类。 8. **简答题涉及的知识点**:软件危机的成因和影响,软件工程的三要素(人员、过程和产品),以及瀑布模型与其他方法(如面向过程和面向对象方法)的比较。 9. **综合应用题**:数据流图是系统分析的重要工具,用于描绘信息处理过程;用例图展示了用户与系统的交互,用于需求分析;顺序图则是UML中的一种动态模型,描述对象间的交互顺序。 理解并掌握这些知识点对于理解和实践软件工程至关重要,它们构成了软件开发过程的核心概念和技术。在准备软件工程的考试时,不仅需要记忆这些概念,还要能够应用到实际的软件开发情境中。
- 粉丝: 29
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助