软件产品开发周期

类别:软件工程 点击:0 评论:0 推荐:

软件产品开发周期一般由:规划,设计,实施,稳定和发布五个阶段组成, 每个阶段又都是重复的相互迭代的过程,
这个过程需要多方的合作找出最佳的实践过程.
第一阶段:规划(Plan)
目标:规划软件的整体架构
各部门完成标准:
 1.市场开发人员
   衡量市场机会提供市场机会文件(MOD)
   定义用户需求提供市场需求文件(MRD)
   认定主要用户案例User Scenarios
 2.项目经理 
   确定产品的视觉提供产品视觉文件
   确定查品功能定义,定义项目和产品的深广度
   定义小组的组建计划,用户协助计划
 3.产品设计和用户研究人员
   概念性设计,用户界面图形化(Visualize UI)
 4.开发/测试人员:调查将可使用的流程,技术和工具
 5.服务人员
   评估潜在的用户流量
   评估推行和维护此产品的可行性

第二阶段:设计(Design)
 目标:确定如何开发
 各部门完成标准
 1.市场开发人员:对新功能设计提供反馈意见,完成品牌战略推荐文件
 2.项目经理:
   完成功能规范(functional specs)提供功能规范设计
   完成由下至上的日成表
 3.产品设计和用户研究人员:用户界面模型设计
 4.发人员:完成开发体系的机构设计
 5.测试人员:完成总体测试计划(细化)
里程碑:规划和设计的完成是软件开发的第一个里程碑
    规划和设计的迭代过程:规划的形成是经过“设计”确认,重新定位和校正,
    在设计过程中重新估价可能改变规划时的决定

第三个阶段:实施(Implement)
  主要里程碑,多个小产品周期
 完成标准:
 1.市场开发人员:推广计划文件,完成市场定位和咨询策略框架 完成市场推广计划蓝图
 2.项目经理:修正功能规范,管理进度,风险,相关性及关系
 3.产品设计和用户研究人员:冻结用户界面模型设计上的改变
 4.开发人员:编写代码和修理bugs
    单元测试
    完成编写代码(Code Complete)
 5.测试人员:编写测试功能规范,完成测试工具和流程的准备工作

第四阶段:稳定      
 完成标准:发布市场测试(bata)版
           发布技术测试(Bata)版
           继续bug  Triage
           达到零个bug,测试版本被内部采用
 部门责任:
 1.市场开发人员:完成包装。推广公关,广告计划,产品演示
 2.项目经理:组织Triage会议,消除程序bug
 3.开发人员:修理Bugs ,只在设计改变的情况下写新的代码
 4.测试人员:发现bugs ,记录bugs 最后整体测试
 5.服务人员:安装测试版本

第五个阶段:发布
  完成标准:产品发布推广,产品售后服务,技术支持开始运作
  部门责任:
  1.市场人员:执行产片市场的推广计划
  2.项目经理:收尾工作,筹备下一个产品
  3.开发人员:修理bugs
  4.测试人员:记录bugs ,做最后的测试修改
  5.为用户提供售后服务,技术支持
开发过程实践关键:
  1.利用工作流程和相应模板书写相应的文档文件(需求文档,设计文档,测试文档)
  2.评估开发周期指定详细的进度管理
  3.风险无处不在不要忽略各种危险信号,不要担心失败而隐瞒实况
  4.工具管理:着中重复性工作的工具开发(例如测试工具),提高开发效率
  5.沟通管理:各个部门协调工作,及时通过email 会议沟通
  6.Bug 管理:开发测试阶段bugs 和用户实际使用过程中碰到的bugs 都要及时采集记录和处理
  7.源代码管理 :使用vss 或者css 等源代码管理软件 管理软件版本

参加了去年在北京举办的TechED2003会议 感觉受益匪浅,终于有时间整理了一下资料,本文是根据微软软件测试工程李丹老师讲的软件开发后整理所得

本文地址:http://com.8s8s.com/it/it37114.htm