软件资产
软件生命周期不同的阶段有着不一样的目标、主要任务与输出产物,对于目标和主要任务是劳动活动,而输出产物则是劳动的成果,在软件行业成为软件资产。
软件生命周期不同的阶段有着不一样的目标、主要任务与输出产物,对于目标和主要任务是劳动活动,而输出产物则是劳动的成果,在软件行业成为软件资产。
软件资产具有多样性,通过分类归纳大致可以分为以下几类:
- 代码
- 软件包
- 镜像
- HelmChart
- 话题
- 文档
- 非结构化文件
- 运行态服务
- 其他差异化资产
对于不同类型的资产,管理的方式也不相同,因此需要不同的系统或工具来进行管理,这也导致了管理的分散性与复杂性,特别是开源软件项目。
因此,我打算参考藏经阁建立藏云阁,搜藏天下优秀的开源软件资产,以供有缘人在需要时能方便的找到自己所需。

软件生命周期的目标、任务与产物
概念与可行性分析阶段
核心目标: 确认项目商业价值与技术可实现性
主要任务:
- 识别业务痛点与市场机会
- 评估技术路线风险(如技术栈成熟度)
- 测算经济成本与ROI(投资回报率)
- 分析法律合规约束(如GDPR、网络安全法)
输出产物:
- 业务需求说明书(Business Requirement Document, BRD)
- 可行性分析报告(技术/经济/法律可行性)
- 初步风险评估报告
- 项目章程草案(含目标/范围/关键干系人)
- 商业论证(Business Case)
需求分析阶段
核心目标: 精准定义系统功能与非功能需求
主要任务:
- 将模糊需求转化为可量化指标(如“高并发”→QPS≥10,000)
- 绘制用户旅程地图(User Journey Map)
- 定义验收标准(Acceptance Criteria)
- 建立需求追溯机制(确保后续阶段可回溯)
输出产物:
- 软件需求规格说明书(SRS,含用户故事/用例图)
- 需求追溯矩阵(Traceability Matrix)
- 系统原型(低保真UI原型/Axure/Mockups)
- 非功能性需求文档(性能/安全/兼容性要求)
- 术语表(Glossary)
系统设计阶段
核心目标: 构建可扩展、安全的系统技术骨架/蓝图
主要任务:
- 架构设计:选择微服务/单体/Serverless等模式
- 接口设计:规范API契约(REST/gRPC)
- 数据建模:设计数据库Schema与存储策略
- 容灾设计:制定故障隔离与恢复方案
- 安全设计:实施威胁建模(STRIDE方法)
输出产物:
- 架构设计文档(含技术栈/部署图)
- 高层设计(HLD:模块划分/接口定义)
- 详细设计(LLD:类图/时序图/数据库ERD)
- UI设计规范(Sketch/Figma设计稿+切图资源)
- API规范(OpenAPI/Swagger文件)
- 安全设计白皮书(威胁模型/加密方案)
开发阶段
核心目标: 产出符合设计规范的可执行代码
主要任务:
- 实施测试驱动开发(TDD)或行为驱动开发(BDD)
- 代码质量管理(SonarQube扫描/Code Review)
- 构建CI流水线(自动化编译、静态检查)
- 生成SBOM(软件物料清单)管理第三方依赖风险
输出产物:
- 源代码(含版本控制提交记录)
- 单元测试用例及报告(JUnit/pytest等)
- 持续集成流水线配置(Jenkinsfile/GitLab CI)
- 技术债务清单
- 容器镜像(Dockerfile及镜像仓库地址)
- 依赖清单(SBOM软件物料清单)
测试阶段
核心目标: 证明系统满足需求且具备生产可靠性
主要任务:
- 功能测试:验证业务逻辑正确性
- 非功能测试:
- 压力测试(模拟峰值流量)
- 渗透测试(OWASP Top 10漏洞扫描)
- 兼容性测试(跨浏览器/OS/设备)
- 用户验收测试(UAT)获得业务方签字
输出产物:
- 测试计划与策略文档
- 测试用例集(TestRail/Xray管理)
- 自动化测试脚本(Selenium/JMeter代码)
- 缺陷跟踪报告(JIRA/Bugzilla记录)
- 性能测试报告(LoadRunner/Gatling结果)
- 安全扫描报告(OWASP ZAP/SonarQube)
- UAT验收签字确认书
部署与发布阶段
核心目标: 安全交付生产环境
主要任务:
- 设计渐进式发布策略(金丝雀发布/蓝绿部署)
- 自动化环境构建(IaC工具管理资源)
- 生成可审计的发布包(含数字签名)
- 制定回滚预案(5分钟内恢复服务)
- 核心目标:安全交付生产环境
输出产物:
- 部署流程图(含回滚方案)
- 安装包/可执行文件(exe/dmg/apk)
- 基础设施即代码(Terraform/CloudFormation)
- 发布说明(Release Notes)
- 容器编排配置(Kubernetes YAML/Helm Charts)
- 云服务配置模板(AWS AMI/Azure VM Image)
- 交付物清单(含第三方证书/许可证)
运维与监控阶段
核心目标: 保障系统SLA(服务等级协议)
主要任务:
-
建立监控三维度:
- 指标(Metrics):CPU/错误率等阈值告警
- 日志(Logs):关键业务链路的ELK分析
- 链路追踪(Tracing):分布式系统性能诊断
-
实施自动化扩缩容(K8s HPA策略)
-
执行灾难恢复演练(Chaos Engineering)
输出产物:
- 运维手册(故障处理SOP)
- 监控仪表盘(Grafana/Prometheus配置)
- 日志分析规则(ELK/Splunk配置)
- 备份策略文档
- 容量规划报告
- 补丁更新记录
维护与优化阶段
核心目标: 持续提升系统价值
主要任务:
- 技术债务管理(定期重构/架构演进)
- 性能调优(数据库索引优化/缓存策略调整)
- 功能迭代开发(基于用户反馈闭环)
- 安全补丁管理(CVE漏洞快速响应)
输出产物:
- 用户反馈分析报告
- 技术优化方案(重构/架构调整)
- 热修复补丁包(Hotfix Packages)
- 版本迭代计划(Roadmap)
- 技术升级评估(如JDK升级影响分析)
退市阶段
核心目标: 有序终止服务
主要任务:
- 数据合规处置(匿名化或物理销毁)
- 用户迁移支持(提供数据导出工具)
- 知识转移(架构文档归档至组织知识库)
- 法律流程闭环(解除供应商合同/许可证注销)
输出产物:
- 退市计划书(含数据迁移方案)
- 法律合规声明(数据销毁证明)
- 历史归档包(代码/文档/数据库快照)
- 用户迁移指南
- 项目复盘报告