基础认知
软件开发流程
从生到死的一个过程,软件经历的哪些环节:
- 需求分析阶段:确定业务需求、用户痛点以及功能边界、形成需求文档。
- 产品经理:主导需求收集(用户调研、竞品分析、自研),协调各方确认需求优先级。
- 项目经历:评估需求可行性,指定项目计划与资源预算,同步需求变更风险。
- 设计阶段:完成技术架构设计、交互逻辑设计以及数据库设计
- 系统架构师:指定技术栈,设计系统分层架构,规划组件间通信协议
- 数据库工程师:设计数据表结构,优化索引策略,指定数据存储与备份方案
- UI/UX 设计师:设计原型界面,交互流程以及用户体验相关的内容
- 开发阶段:按照设计文档进行具体的开发,完成测试与代码评审。
- 前端开发工程师:写Web界面,对接后端工程师完成API调用。
- 移动开发工程师:安卓 IOS 鸿蒙 手机app端开发
- 后端开发工程师:主要用于开发业务逻辑,封装API接口,集成第三方应用的SDK。
- 测试阶段: 验证开发功能的正确性,检验功能覆盖的范围。
- 单元测试:开发工程师对开发的部分模块进行百合测试。比如接口测试、局部数据结构测试、错误处理测试、边界测试
- 集成测试:也是联调测试,对接口和集成后的功能进行测试。
- 系统测试:将整个系统进行测试,包括功能、性能以及软硬件环境的测试,包括了回归测试和冒烟测试。
- 验收测试:部署软件前的最后一个测试操作。也是向用户交付并展示软件是否足够满足原始需求。
- 部署与运维:将代码部署至生产环境当中,监控运行状态,处理线上问题。
- 运维工程师:配置服务器环境、监控运行状态、管理各种数据以及域名等问题。
- 网络工程师:负责网络架构设计,设备部署以及日常运维。
- 安全工程师:通过技术手段,与策略设计,保护网络设备以及服务器设备,重点保护服务器中的应用以及数据安全。