title: 软件工程
tags:
- topic
- software-engineering
- joplin
type: topic
source_type: reconstructed
created: 2026-04-23
updated: 2026-04-23
aliases:
- 软件工程重构
---
软件工程
[!abstract]
本主题重构自 软件工程 系列笔记,重点不是零散背诵术语,而是把“软件为什么需要工程化、如何组织生命周期、如何做设计与测试、为什么维护成本高”整理成一套可复习框架。
这门主题在解决什么问题
- 为什么软件开发会出现 [[软件危机]],以及为什么必须引入工程化方法。
- 软件从立项到退役要经历哪些阶段,哪些开发模型适合不同场景。
- 需求、设计、测试、维护这些关键过程如何协同,才能把复杂软件做成可交付产品。
- 为什么 [[高内聚低耦合]]、测试分层和维护分类会反复出现在考试与项目实践中。
推荐复习顺序
- [[软件工程核心概念]]
- [[软件生命周期与开发模型]]
- [[软件工程关键过程与设计]]
- [[软件测试与维护]]
模块地图
- [[软件工程核心概念]]:软件定义、软件危机、软件工程目标与三要素。
- [[软件生命周期与开发模型]]:生命周期阶段、瀑布、原型、增量、螺旋、敏捷、喷泉等模型。
- [[软件工程关键过程与设计]]:可行性研究、需求分析、建模工具、结构化设计、模块独立性。
- [[软件测试与维护]]:测试层级、黑盒白盒、覆盖率、维护类型、维护策略。
关键概念
- [[软件危机]]
- [[软件生命周期]]
- [[软件开发模型]]
- [[高内聚低耦合]]
- [[软件测试]]
- [[软件维护]]
常见误区
- 把软件工程理解成“会写代码”而不是“能稳定交付软件”。
- 只记开发模型名字,不理解它们是在处理需求稳定性、风险和迭代速度的不同权衡。
- 把需求分析、概要设计、详细设计混成一个阶段,不区分各自产出。
- 把测试理解成上线前一次性检查,而不是贯穿开发全过程的质量保证。
- 只背维护四分类,不理解为什么维护才是生命周期成本的大头。
来源范围
- [[raw/Joplin/计算机专业基础/软件工程/_软件工程考研复试终极整理版.md]]
- [[raw/Joplin/计算机专业基础/软件工程/1.软件工程——核心概念.md]]
- [[raw/Joplin/计算机专业基础/软件工程/2.软件工程——软件生命周期.md]]
- [[raw/Joplin/计算机专业基础/软件工程/3.软件工程——关键过程与工具.md]]
- [[raw/Joplin/计算机专业基础/软件工程/4.软件工程——软件测试与维护.md]]
相关入口
- [[joplin-overview]]
- [[joplin-rebuild-schema]]