软件工程.md 2.7 KB


title: 软件工程 tags:

  • topic
  • software-engineering
  • joplin type: topic source_type: reconstructed created: 2026-04-23 updated: 2026-04-23 aliases:
  • 软件工程重构 ---

软件工程

[!abstract] 本主题重构自 软件工程 系列笔记,重点不是零散背诵术语,而是把“软件为什么需要工程化、如何组织生命周期、如何做设计与测试、为什么维护成本高”整理成一套可复习框架。

这门主题在解决什么问题

  • 为什么软件开发会出现 [[软件危机]],以及为什么必须引入工程化方法。
  • 软件从立项到退役要经历哪些阶段,哪些开发模型适合不同场景。
  • 需求、设计、测试、维护这些关键过程如何协同,才能把复杂软件做成可交付产品。
  • 为什么 [[高内聚低耦合]]、测试分层和维护分类会反复出现在考试与项目实践中。

推荐复习顺序

  1. [[软件工程核心概念]]
  2. [[软件生命周期与开发模型]]
  3. [[软件工程关键过程与设计]]
  4. [[软件测试与维护]]

模块地图

  • [[软件工程核心概念]]:软件定义、软件危机、软件工程目标与三要素。
  • [[软件生命周期与开发模型]]:生命周期阶段、瀑布、原型、增量、螺旋、敏捷、喷泉等模型。
  • [[软件工程关键过程与设计]]:可行性研究、需求分析、建模工具、结构化设计、模块独立性。
  • [[软件测试与维护]]:测试层级、黑盒白盒、覆盖率、维护类型、维护策略。

关键概念

  • [[软件危机]]
  • [[软件生命周期]]
  • [[软件开发模型]]
  • [[高内聚低耦合]]
  • [[软件测试]]
  • [[软件维护]]

常见误区

  • 把软件工程理解成“会写代码”而不是“能稳定交付软件”。
  • 只记开发模型名字,不理解它们是在处理需求稳定性、风险和迭代速度的不同权衡。
  • 把需求分析、概要设计、详细设计混成一个阶段,不区分各自产出。
  • 把测试理解成上线前一次性检查,而不是贯穿开发全过程的质量保证。
  • 只背维护四分类,不理解为什么维护才是生命周期成本的大头。

来源范围

  • [[raw/Joplin/计算机专业基础/软件工程/_软件工程考研复试终极整理版.md]]
  • [[raw/Joplin/计算机专业基础/软件工程/1.软件工程——核心概念.md]]
  • [[raw/Joplin/计算机专业基础/软件工程/2.软件工程——软件生命周期.md]]
  • [[raw/Joplin/计算机专业基础/软件工程/3.软件工程——关键过程与工具.md]]
  • [[raw/Joplin/计算机专业基础/软件工程/4.软件工程——软件测试与维护.md]]

相关入口

  • [[joplin-overview]]
  • [[joplin-rebuild-schema]]