乐于分享
好东西不私藏

系统架构师考试自习–软件开发生命周期

系统架构师考试自习–软件开发生命周期

一、基本概念

1. 软件开发生命周期(SDLC):软件从构思、开发、交付、运维到退役的整个过程。
2. 核心目的:保证质量、控制成本与进度、降低风险、便于维护与扩展。
3. 架构师在SDLC中的核心作用:
1)整体技术选型与架构设计
2)制定技术规范、评审关键设计
3)保障性能、安全、高可用等非功能需求
4)跨阶段技术决策与风险把控

二、标准SDLC通用阶段(必考)

2.1 可行性研究与立项

1.输入:初步业务想法、市场需求、用户诉求
2. 核心活动:技术、经济、操作、法律可行性分析
3. 输出:可行性研究报告、项目立项书、初步范围

2.2 需求工程

1. 需求获取
2. 需求分析
3. 需求规格说明(SRS)
4. 需求验证
5. 需求管理(基线、变更控制)
6. 输出:需求规格说明书、用例、数据字典、需求基线

2.3 软件设计

2.3.1 概要设计(架构师核心)

1. 系统总体架构、模块划分
2. 接口设计、部署架构
3. 技术栈、数据库、中间件选型
4. 输出:架构文档、模块结构图、部署图、接口规范

2.3.2 详细设计

1. 类设计、算法、数据结构
2. 数据库表结构、流程细节
3. 输出:详细设计文档、类图、时序图、ER图

2.4 编码实现

1. 按设计进行编码
2. 单元测试、代码评审
3. 架构师工作:搭建框架、制定编码规范、关键模块指导

2.5 软件测试

1. 单元测试
2. 集成测试
3. 系统测试
4. 验收测试
5. 附加:回归、性能、压力、安全测试
6. 输出:测试报告、缺陷报告

2.6 部署与发布

1. 环境准备、部署方案
2. 发布策略:灰度、蓝绿、金丝雀
3. 架构关注点:高可用、容灾、回滚、监控

2.7 运行与维护

1. 纠错性维护:修复缺陷
2. 适应性维护:适配环境变化
3. 完善性维护:功能优化、增强
4. 预防性维护:提前优化,防未来问题
5. 架构关注点:扩容、监控、故障处理、技术债务

2.8 退役与迁移

1. 数据归档、业务迁移
2. 系统下线、替换方案

三、典型SDLC模型(高频考点)

3.1 瀑布模型

1. 特点:线性、阶段顺序执行、不可回溯
2. 适用:需求非常稳定、小型简单项目
3. 缺点:风险后置、变更成本高

3.2 V模型

1. 核心:开发阶段与测试阶段一一对应
2. 需求分析 ↔ 验收测试
3. 概要设计 ↔ 系统测试
4. 详细设计 ↔ 集成测试
5. 编码 ↔ 单元测试
6. 特点:强调测试尽早设计,但仍偏线性、变更不灵活

3.3 原型模型

1. 快速构建可运行原型,验证需求
2. 分类:抛弃型原型、演化型原型
3. 适用:需求不明确、UI/交互复杂场景

3.4 增量模型

1. 分批次、分增量交付可用功能
2. 优点:快速产出、降低整体风险
3. 要求:先做整体架构,再做增量,避免结构混乱

3.5 迭代模型

1. 多次循环:需求→设计→实现→测试
2. 每次迭代完善功能与架构
3. 适用:需求不明确、大型复杂系统

3.6 螺旋模型

1. 四象限:制定计划 → 风险分析 → 工程实施 → 客户评估
2. 核心:每轮都做风险分析
3. 适用:大型、复杂、高风险项目(架构师高频考点)

3.7 敏捷开发

1. 核心:个体交互、可用软件、客户协作、响应变化
2. 典型:Scrum、XP
3. 架构要求:轻量化、演进式架构、CI/CD

3.8 DevOps

1. 开发 + 测试 + 运维一体化
2. 核心:自动化、持续集成/部署、监控闭环
3. 架构关键词:云原生、容器、IaC、可观测性

四、架构师在SDLC中的关键考点

4.1 各阶段核心关注点

1. 需求阶段:识别非功能需求(性能、安全、可用、可扩展)
2. 设计阶段:架构风格、分层、分布式、数据、缓存、消息队列
3. 开发阶段:编码规范、框架、代码质量、技术债务
4. 测试阶段:非功能测试、容错、性能压测方案
5. 部署阶段:集群、容灾、扩容、发布策略
6. 运维阶段:监控、告警、容量规划、故障演练

4.2 核心设计原则

1. 高内聚、低耦合
2. 关注点分离
3. SOLID 原则
4. 无状态、幂等、最终一致性
5. 安全左移、测试左移、风险左移

4.3 常见风险

1. 需求蔓延、需求不清
2. 架构过度设计或设计不足
3. 技术选型错误
4. 性能、安全、可用性风险后置
5. 技术债务累积

五、过程管理与标准

5.1 过程改进

1. CMMI:初始级→可管理级→已定义级→量化管理级→优化级
2. PSP:个体软件过程
3. TSP:团队软件过程

5.2 核心管理活动

1. 配置管理:版本、基线、变更、发布
2. 质量管理:质量计划、QA、QC
3. 风险管理:识别→分析→应对→监控

六、高频必背结论(选择题常考)

1. V模型:开发与测试阶段一一对应
2. 螺旋模型 = 迭代 + 风险分析
3. 瀑布模型:需求稳定;敏捷:需求变化快
4. 架构师核心阶段:概要设计(架构设计)
5. 软件生命周期中,维护阶段成本占比最高(约60%~70%)
6. 非功能需求必须在架构早期确定

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

评论 抢沙发

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