软件工程

设计模式、测试、CI/CD — 构建可靠系统的方法论

14 个节点 入门 3 进阶 8 高级 3

知识结构

学习路径

1
软件生命周期与过程模型

软件生命周期(SDLC)是软件从概念到退役的全过程——瀑布模型按阶段推进,敏捷开发迭代演进,V 模型强调测试与开发的对应关系

#software-eng#sdlc 4 个子节点
入门
2
敏捷开发与 Scrum

敏捷(Agile)是迭代增量式的开发方法——Scrum 是敏捷的框架,Sprint 是 2-4 周的迭代周期。敏捷强调"响应变化优于遵循计划"

#software-eng#agile#scrum 1 个子节点 1 个前置
入门
3
版本控制(Git)

Git 是分布式版本控制系统——记录每次修改,支持分支协作,是软件开发的基础设施

#software-eng#git 1 个前置
入门
4
需求获取与分析

需求分析(Requirements Analysis)是确定"系统应该做什么"的过程——功能需求描述行为,非功能需求描述质量属性(性能、安全、可用性)

#software-eng#requirements 1 个子节点 1 个前置
进阶
5
软件架构与设计模式

软件架构(Software Architecture)是系统的"骨架"——模块划分、组件关系、通信方式。设计模式(Design Pattern)是常见问题的可复用解决方案

#software-eng#architecture#design-patterns 2 个子节点 1 个前置
高级
6
UML 建模

UML(统一建模语言)是用图形表达软件设计的标准语言——类图描述结构,时序图描述交互,用例图描述需求

#software-eng#uml 1 个前置
进阶
7
SOLID 原则

SOLID 是面向对象设计的五大原则——让代码更易维护、扩展、测试

#software-eng#solid#oop 1 个子节点 1 个前置
进阶
8
软件测试(单元/集成/E2E)

软件测试是保证代码质量的核心手段——单元测试测函数,集成测试测模块协作,E2E 测试测完整业务流程

#software-eng#testing 1 个子节点 1 个前置
进阶
9
CI/CD 与 DevOps

CI(持续集成)频繁把代码合并到主分支并自动构建测试,CD(持续部署/交付)自动化部署到生产环境——DevOps 是开发(Dev)和运维(Ops)的文化融合

#software-eng#devops#cicd 1 个子节点 2 个前置
进阶
10
代码审查与重构

代码审查(Code Review)让其他开发者检查你的代码——发现 Bug、提高可读性、分享知识。重构是在不改变外部行为的前提下优化内部结构

#software-eng#code-review#refactoring 1 个前置
进阶
11
API 设计与 REST

API(应用程序接口)是软件系统之间的通信契约。REST 是最流行的 API 设计风格——以资源为中心,用 HTTP 方法操作资源

#software-eng#api#rest 1 个子节点 1 个前置
进阶
12
数据库设计与 ORM

ORM(对象关系映射)把关系数据库的表映射到编程语言的对象——让你用面向对象的方式操作数据库,不用写 SQL

#software-eng#orm#database 1 个前置
进阶
13
安全编程实践

安全编程(Secure Coding)是编写不易受攻击的代码——输入验证、输出编码、最小权限、纵深防御是四条基本原则

#software-eng#security#secure-coding 1 个子节点 1 个前置
高级
14
性能分析与调优

性能调优是系统的"体检"和"治疗"——先测量、找出瓶颈、再优化。"先测再改"是黄金法则,不要凭感觉优化

#software-eng#performance#profiling 1 个前置
高级