系统架构师考试自习–软件开发环境与工具
一、整体定位
软件开发环境 = 支撑软件全生命周期的所有环境 + 工具 + 平台 + 规范
按软件生命周期分层,才叫系统。
二、软件开发全生命周期(唯一正确主线)
1. 需求与设计阶段
2. 编码与开发阶段
3. 构建与依赖管理阶段
4. 测试与质量保障阶段
5. 部署与发布阶段
6. 运行与运维监控阶段
7. 协作与项目管理阶段
下面每一阶段都按:目标 → 环境 → 工具 → 技术栈 → 作用给你写死。
三、需求与设计阶段
3.1 目标
明确需求、梳理业务、产出设计文档。
3.2 环境
– 办公环境:Windows/macOS
– 文档协作环境:内网/云文档
3.3 工具
需求管理
– Jira、Tapd、禅道、PingCode
– Confluence、语雀、Notion
原型设计
– Axure RP
– Figma、Sketch
-墨刀、Mastergo
UML & 架构设计
– Enterprise Architect(EA)
– StarUML
– Draw.io / ProcessOn
– PlantUML
数据库设计
– PowerDesigner
– Navicat Data Modeler
– PDMan
3.4 产出物
– 需求规格说明书
– 原型图
– 用例图、时序图、类图
– ER图、架构图
四、编码与开发阶段(核心)
4.1 目标
编写高质量、可维护、可运行的源代码。
4.2 基础环境
1. 操作系统环境
– Windows:.NET、桌面、游戏、通用开发
– macOS:前端、iOS、Android、通用开发
– Linux(Ubuntu/CentOS):服务器、云原生、后端
2. 运行时环境 Runtime
– JVM:Java/Kotlin/Scala
– CLR:C#/.NET
– Node.js:JS/TS 后端
– Python Interpreter:Python
– Docker 容器环境:跨平台统一运行
4.3 开发工具
编辑器(轻量)
– VS Code:全栈通用
– Vim/Neovim:服务器/极客
– Sublime Text
IDE(集成开发环境)
– Java:IntelliJ IDEA、Eclipse
– C/C++:Visual Studio、CLion、Qt Creator
– Python:PyCharm、Jupyter
– 前端:WebStorm
– 移动端:Android Studio、Xcode
– 数据库:DataGrip、Navicat
4.4 语言工具链
– 编译器:gcc/g++、javac、go build、rustc
– 解释器:python、node、php
– 调试器:GDB、JDB、IDE Debugger、Chrome DevTools
4.5 框架与库(按领域)
后端
– Java:Spring Boot、Spring Cloud、MyBatis
– Go:Gin、Echo
– Python:FastAPI、Flask、Django
– Node.js:Express、NestJS
前端
– Vue、React、Angular
– Vite、Webpack
移动端
– Flutter、React Native
– Jetpack Compose、SwiftUI
中间件
– 缓存:Redis
– 消息队列:Kafka、RocketMQ、RabbitMQ
– 搜索引擎:Elasticsearch
– 网关:Spring Cloud Gateway、Kong
五、构建与依赖管理阶段
5.1 目标
自动拉包、编译、打包、生成可执行文件。
5.2 工具
Java
– Maven:约定大于配置
– Gradle:灵活,Android 首选
前端
– npm、yarn、pnpm
Python
– pip、poetry、conda
C/C++
– CMake、Make、Ninja
通用
– Webpack、Vite、Rollup(前端构建)
5.3 核心功能
– 依赖下载
– 编译/打包
– 多环境切换
– 版本管控
– 插件扩展
六、测试与质量保障阶段
6.1 目标
保证功能正确、性能稳定、安全可靠。
6.2 测试分层
1. 单元测试
– Java:JUnit 5、Mockito
– Python:pytest
– JS:Jest
2. 接口测试
– Postman、Apifox
– RestAssured、JMeter
3. UI 自动化
– Selenium、Playwright
– Appium(APP)
4. 性能测试
– JMeter
– LoadRunner
5. 安全测试
– 漏洞扫描
– 代码审计工具
6.3 代码质量
– SonarQube:代码坏味道、漏洞、覆盖率
– JaCoCo:测试覆盖率
– CheckStyle、Alibaba Java Coding Guidelines
七、版本控制与协作开发
7.1 目标
多人协作、代码回溯、分支管理。
7.2 工具
– Git(主流)
– SVN(传统企业)
7.3 平台
– GitHub、GitLab、Gitee
7.4 流程
– Git Flow
– GitHub Flow
– GitLab Flow
八、部署与发布阶段(CI/CD)
8.1 目标
自动构建 → 测试 → 部署。
8.2 环境
– 测试环境
– 预发环境
– 生产环境
8.3 工具
– Jenkins
– GitLab CI
– GitHub Actions
– Azure DevOps
8.4 容器化
– Docker:打包应用+环境
– Kubernetes:容器编排、自愈、扩缩容
– Helm:K8s 包管理
九、运行、监控与运维
9.1 目标
保证系统稳定运行、快速排障。
9.2 工具
日志
– ELK:Elasticsearch、Logstash、Kibana
– Loki
监控
– Prometheus + Grafana
– Zabbix
– 云监控(阿里/腾讯/华为云)
链路追踪
– SkyWalking
– Zipkin
– Jaeger
配置中心
– Nacos
– Apollo
– Spring Cloud Config
十、项目管理与团队协作
10.1 目标
进度可控、质量可控、风险可控。
10.2 工具
– 项目管理:Jira、Tapd、禅道
– 文档:Confluence、语雀
– 沟通:飞书、钉钉、企业微信
– 知识库:Notion、Wiki
十一、完整体系结构图(极简但最系统)
plaintext
需求设计 → 编码开发 → 构建依赖 → 测试质量 → 版本控制 → CI/CD部署 → 运行监控 → 项目管理
夜雨聆风
