软件开发的过程模型
2018-11-02 本文已影响0人
十二右
一. 传统的 - 瀑布模型
缺陷: 不适合移动互联网,无法拥抱需求变化
- 可行性分析 - 做还是不做? - 可行性分析报告
- 需求分析 - 做什么? - 需求规格说明书 / 产品界面原型 - 让用户确认
a. 需求源: 关键信息持有者 / 市场调研和竟品分析 / 行业经验
头脑风暴 -
b. 产品原型工具: Axure RP / Sketch / Briefs / 手绘
线框图 、高保真原型 - 概要设计和详细设计
a. 00AD - 面向对象分析和设计 - UML(统一建模语言Unified Modeling Language) -- 软件工程师的图纸,标准化的图形符号
UML图:
用例图 - 捕获需求
时序图 -
类图 - 描述系统中类的静态结构
b. 数据库设计 - ER图(概念模型图) - 物理模型图
工具 : PowerDesigner - 编码/测试
- 交付/上线/维护
二、敏捷开发 - Scrum
Scrum敏捷开发的关键字就是增量(increment)、迭代
迭代 - Sprint - 冲刺周期 - 2/4周
- 用户故事 - Backlog - 优先级/重要性
- 计划会议 - 当前周期要完成的用户故事 - 功能分解和评估(工作量/时间) (要计算学习时间)
- 日常开发 - 站立会议 / 结对编程 / 番茄工作法 / TDD / 代码重构
TDD -测试驱动开发(Test-Driven Development) - 测试和修复(问题描述、重现步骤、测试人员、被指派人)。
-
评审和回顾(Showcase、当前周期做得好和不好的地方)
明捷开发流程.jpg