阶段 | 制品 | UML | |
起源 | 任务陈述或非正式的需求 | 否 | |
任务 | 否 | ||
责任 | 否 | ||
项目计划 | 否 | ||
工作本 | 否 | ||
术语表(全面更新) | 否 | ||
测试计划 | 否 | ||
需求 | 业务 | 参与者列表(带有描述) | 否 |
用例列表(带有描述) | 否 | ||
用例细节 | 否 | ||
活动图(可选) | 是 | ||
通信图(可选) | 是 | ||
系统 | 参与者列表(带有描述) | 否 | |
用例列表(带有描述) | 否 | ||
用例细节 | 否 | ||
用例图 | 是 | ||
用例调查 | 否 | ||
用户接口框架 | 否 | ||
分析 | 类图 | 是 | |
通信图 | 是 | ||
设计 | 系统 | 部署图 | 是 |
层图 | 否 | ||
子系统 | 类图 | 是 | |
顺序图 | 是 | ||
数据库模式 | 否 | ||
类规范 | 注释 | 否 | |
实现 | 源代码 | 否 | |
测试 | 测试报表 | 否 | |
部署 | 压缩打包的解决方案 | 否 | |
手册 | 否 | ||
培训材料 | 否 | ||
维护 | 错误报告 | 否 | |
递增计划 | 否 |
1.项目来源(与顾客一起进行)
a.了解顾客的需求,或者告诉他们需要什么
b.从顾客处获取需求文档,作为任务陈述或较长的文档;如果没有这些文档,就和顾客一起编写非正式的需求文档。
2.分配任务
a.确定开发任务(例如规划、管理、计时、开发、测试、系统管理)。
b.确定每个任务由谁负责。
3.编写业务手册:在纸上或者在线业务手册上包含所有的项目制品。
4.编写术语表
a.编写一个术语表,以记录项目术语的定义。
b.在整个开发过程中更新术语表。
5.制订项目计划
a.为螺旋式递增阶段进行初步的规划,并制订一个进度表。
b.在整个开发过程中,定期检查、调整项目计划。
6.制订测试计划:考虑不间断的测试、测试阶段、顾客评估、开发和维护。
7.业务需求(与顾客一起):
a.制订业务参与者列表(及其描述)
b.制订业务用例列表(及其描述)
c.(可选)用活动图描述业务用例
d.(可选)用通信图描述业务用例
e.确定业务用例的细节
8.系统需求(与顾客一起):
a.使用用户界面草图描述系统交互
b.制订系统参与者列表(及其描述)
c.制订系统用例列表(及其描述)
d.绘制系统用例图
e.制订系统用例调查表
f.确定系统用例的细节
g.给系统生成辅助需求
h.确定系统用例的优先级
9.分析:
a.绘制分析类图
b.制订属性列表(及其描述)
c.(可选)使用状态机给复杂的生命周期建模,在状态机图上记录结果
d.实现用例,使用通信图描述结果
e.制订操作列表(及其描述)
10.系统设计
a.选择技术
b.确定重用的可能性(库、模式和框架)
c.绘制层图
d.编写层交互策略
e.设计包结构,在包图上记录它
f.绘制部署图
g.制订安全策略
h.制订并发策略
11.子系统设计
a.定义业务服务
b.确定更多重用的可能性(库、模式和框架)
c.把分析类映射到业务层类上:类列表(及其描述)、类图、字段表(及其描述)。
d.生成数据库模式
e.为其他层设计类(例如服务器和协议、服务小程序、控制、持久)
f.实现业务服务,在顺序图上记录结果
g.制订消息列表(及其描述)
h.最后确定用户界面的设计
12.类的规范
a.为每个类生成非正式规范
b.在设计和源代码中记录非正式规范
13.实现
a.编写单元测试
b.编写实现代码
14.测试
a.让测试小组测试系统
b.修改错误
15.部署
a.生成手册和课件
b.在客户的系统上安装代码制品
c.培训客户
16.维护
a.修改错误
b.把顾客的反馈、改进意见和市场变化合并到新的递增版本中