|
|
软件开发过程指南 |
俎涛,火龙果软件 |
件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程,软件开发工程师是软件团队最重要的角色之一,一个软件团队唯一不能或缺的角色可能就是软件开发工程师了,因为软件本身是软件团队最重要交付物。软件开发前要进行相应的理解需求、理解架构、制定编码规范,进行数据和程序设计、编写代码、调试程序,最终进行测试、上线。涉及到多个角色和众多的工件,为了描述清楚,采用iSpace建立了软件开发工程师的工作模型,涉及到三个方面: |
工作流
角色
工件 |
具体细节如下: |
1.过程 |
1.1
过程图 |
 |
1.2
活动列表 |
如下是基于工作流模型生成的活动列表,可以基于活动列表制定工作计划。 |
任务 |
角色 |
输入 |
输出 |
计划完成日期 |
实际完成日期 |
当前状态 |
需求分析 |
需求分析师 |
|
架构设计,
需求模型 |
|
|
|
架构设计 |
需求分析师 |
需求分析 |
架构模型 |
|
|
|
理解需求 |
架构师 |
需求模型 |
理解架构 |
|
|
|
理解架构 |
软件开发工程师 |
架构模型,
理解需求 |
制定编码规范,
数据设计 |
|
|
|
制定编码规范 |
软件开发工程师 |
理解架构 |
编码规范 |
|
|
|
数据设计 |
软件开发工程师 |
理解架构 |
数据结构,
程序设计 |
|
|
|
程序设计 |
软件开发工程师 |
数据设计 |
程序结构,
编写代码 |
|
|
|
编写代码 |
软件开发工程师 |
程序设计 |
code,
调试 |
|
|
|
调试 |
软件开发工程师 |
编写代码 |
单元测试 |
|
|
|
单元测试 |
软件开发工程师 |
调试 |
测试代码,
功能测试 |
|
|
|
功能测试 |
软件开发工程师 |
单元测试 |
性能测试,
软件 |
|
|
|
性能测试 |
软件开发工程师 |
功能测试 |
软件 |
|
|
|
软件测试 |
测试工程师 |
软件 |
产品 |
|
|
|
|
对于活动列表中的二级工作流图,展开如下: |
理解需求 |
 |
理解架构 |
 |
制定编码规范 |
 |
数据设计 |
 |
程序设计 |
 |
编写代码 |
 |
调试 |
 |
单元测试 |
 |
架构重构 |
 |
功能测试 |
 |
性能测试 |
 |
2.人员 |
2.1
角色图 |
 |
2.2
角色列表 |
如下是基于角色模型生成的角色列表,可以基于角色列表制定工作计划。 |
人员/角色 |
任务 |
计划完成日期 |
实际完成日期 |
当前状态 |
需求分析师 |
需求分析 |
|
|
|
功能变更需求 |
|
|
|
数据需求分析 |
|
|
|
数据概念分析 |
|
|
|
功能需求分析 |
|
|
|
架构师 |
架构设计 |
|
|
|
制定集成计划 |
|
|
|
软件开发工程师 |
理解需求 |
|
|
|
理解架构 |
|
|
|
制定编码规范 |
|
|
|
数据设计 |
|
|
|
程序设计 |
|
|
|
编写代码 |
|
|
|
调试 |
|
|
|
单元测试 |
|
|
|
功能测试 |
|
|
|
性能测试 |
|
|
|
测试工程师 |
软件测试 |
|
|
|
数据测试准备 |
|
|
|
单元测试准备 |
|
|
|
用户代表 |
用户反馈 |
|
|
|
开发工程师 |
功能需求分解 |
|
|
|
接口需求分析 |
|
|
|
数据需求分析 |
|
|
|
质量工程师 |
定义质量标准 |
|
|
|
白盒测试工程师 |
使用编码规范 |
|
|
|
代码检查 |
|
|
|
|
3.工件 |
3.1
工件图 |
 |
3.2
工件列表 |
如下是基于角色模型生成的角色列表,可以基于角色列表制定工作计划。 |
工件 |
负责人 |
计划完成日期 |
实际完成日期 |
当前状态 |
需求文档 |
|
|
|
|
架构文档 |
|
|
|
|
编码规范 |
|
|
|
|
程序设计说明书 |
|
|
|
|
需求模型 |
|
|
|
|
架构模型 |
|
|
|
|
数据模型 |
|
|
|
|
程序模型 |
|
|
|
|
需求条目 |
|
|
|
|
组件目录 |
|
|
|
|
数据对象目录 |
|
|
|
|
变更记录 |
|
|
|
|
功能实现代码 |
|
|
|
|
单元测试代码 |
|
|
|
|
程序原型 |
|
|
|
|
软件 |
|
|
|
|
|
更详细的信息请参考《能力模型:软件开发工程师》
|
欢迎联系:客户经理
联系方式:010-62670969
邮件:teacher@uml.net.cn |
|
1377 次浏览 12 次
|