乐于分享
好东西不私藏

系统架构师考试自习–软件开发环境与工具

系统架构师考试自习–软件开发环境与工具

一、整体定位

软件开发环境 = 支撑软件全生命周期的所有环境 + 工具 + 平台 + 规范
按软件生命周期分层,才叫系统。

二、软件开发全生命周期(唯一正确主线)

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部署 → 运行监控 → 项目管理
 

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 系统架构师考试自习–软件开发环境与工具

评论 抢沙发

5 + 1 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮