技术开发 频道

一位软件工程师的软件过程总结

    发布计划、迭代计划及任务分配

    发布计划:作为一次大的发布,一般给客户或测试人员一个完整的阶段性版本

    迭代计划:开发组内部迭代,可以每天多次,至少每天一次

    原则:

    任务细分:细化到每个功能模块的各个阶段,包括
    1.需求人员分析
    2.需求人员向开发人员讲解(内部评审)
    3.开发人员简单设计
    4.开发人员多个版本迭代,尤其明确第一个提交测试的版本发布时间
   
    责任到单个人:单人负责,杜绝多人负责同一项任务
    明确第一个提交测试的迭代版本的时间点:明确第一个版本的发布时间至关重要,这也是测试驱动开发的起点
    每个小版本迭代不超过一天,整个功能模块开发的迭代次数不超过一周
    任务接受制:计划宣布,没有异议,视为接受任务,则严格按计划执行
    计划中各任务的含义要当面说清楚,确保任务负责人明摆任务的具体含义

    用例(素材)分析

    用例分析部分采用rational rose,整个小组在rose模型上协同工作,共同维护模型的一致性,通过建立“单元”以及rose与vss的集成保证模型完整性及一致性。实现对需求的统一管理。通过定义rose模板,实现文档的随时自动生成。

    需求人员组织内部评审时将分析的结果与开发人员进行交流,确保开发人员正确理解需求。需求人员完成的内容包括:

    业务逻辑分析
    界面设计
    数据库表格初步设计
    简单设计

    目前开发框架基本稳定,具体业务的设计可以拖后,开发人员可以通过简单设计明确接口并快速进入版本迭代,在迭代过程中通过不断重构及持续集成来达到非常好的设计。

    前置条件:开发人员正确理解需求分析的结果

    后置条件:

    1.明确包结构
    2.明确类的职责
    3.明确接口定义
    4.明确参数的格式定义及其内在含义
    5.内部评审通过

    测试驱动开发

    测试的功效在测试之外,测试优先的原则,除了在实现前先写测试能够明确业务外,还可以促使开发人员在设计结构上进一步优化。每天运行的单元测试程序还能够尽早的发现程序中的错误,避免错误曝露延后带来的维护成本,也就在开发方法上保证了效率的提高。

    前置条件:

    简单设计后,明确了接口定义及参数格式定义,对业务理解基本清楚

    后置条件:

    1.根据接口定义实现JUNIT测试代码,彻底明确业务
    2.在没有具体实现的条件下,搭出业务实现框架,尽快发布版本
    3.实现业务逻辑,频繁运行测试程序
    4.进行多次版本迭代

    重构与持续集成

    重构能够改善既有代码的设计,重构的过程是设计的过程,优化的过程。

    测试程序给重构提供了质量保证。

    重构结果通过持续集成体现在各版本中

    前置条件:

    基本实现了业务框架,已经发布了第一个版本。也可以随时重构,但不能影响版本发布

    后置条件:

    1.优化了程序结构
    2.优化代码质量
    3.修改了bug
    代码review的过程

    版本迭代

        
  

    配置、版本管理贯串整个过程

    环境:

    1.开发环境:
    2.客户端:rational rose2002、jbuilder10或eclipse30、vss client等
    3.应用服务器:weblogic704、ant16、jdk13、junit381、checkstyle、数据库同步脚本
    4.数据库服务器:开发专用数据库oracle9i
    5.配置管理:vss client
    6.测试环境:
    7.应用服务器:weblogic704、ant16、jdk13、junit381、checkstyle、数据库同步脚本
    8.数据库服务器:测试专用数据库oracle9i
    9.版本数据库:
    10.用于数据库脚本抽取

    版本管理:

    小发布:开发人员每天提交代码到vss开发库,开发环境每天集成自动发布,提供开发人员及内部测试人员测试。测试后满足需求则成为产品代码。不满足反馈开发人员修正。

    每日创建脚本自动执行以下功能:

    1.vss打标签,以便以后可以取到每天的版本
    2.自动运行junit测试程序并生成测试报告
    3.自动运行编码规范检查并生成报告
    4.自动编译部署
    5.自动完成抽取数据库脚本并迁入vss
    大发布:根据发布计划,每周(假定)发布测试版本提供集成、验收测试,最好是客户人员测试。通过一套自动发布脚本完成。配置人员负责组织、汇总《版本发布说明》

    相关规范及模板

    请参考配置库中相关规范及模板

    ant发布脚本
    数据库版本同步脚本
    编码规范
    代码格式检查模板xml
    分析设计模板
    项目执行规范
    版本发布增量说明_20040916_发布人》
    butterfly问题流转规范
    数据库开发活动管理规范
    其他 

0
相关文章