技术开发 频道

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

【IT168 技术文章】

    前言

    无论什么过程都不能适用于任何项目,我们应该根据项目的特点去选择合适的过程。只有这样才能在过程一级保证项目的成功。

    地税部门对项目的组织采用rup及xp结合的方式,根据项目的特点来决定对rup及xp的侧重。但一个至高无上的目标是必须遵守的,就是以最快的速度向客户提交可执行的版本,而要做到这一点则必须坚持小步骤迭代及测试自动化。

    过程分类

    rup

    属于重量级的开发过程,强调分析设计及迭代开发。对于研发型项目,前期没有基础,在形成稳定的框架之前应该走一段分析设计的过程。形成稳定的开发框架之后,则应该转向敏捷过程。

    Xp

    属于轻量级开发过程,强调重构(编程中的设计)及测试自动化。对于有一定基础的项目应该是首选。

    项目过程

    约束

    每个开发人员必须将服务器上的weblogic拷贝至本地,对程序的修改基于vss在本地进行修改测试,数据库配置成开发专用数据库。
    单元测试由开发人员自己负责,发布后的功能测试由测试组负责并将启用butterfly进行缺陷跟踪。
    发布专用数据库由DBA单独负责。任何人不得更改。
    开发过程中发现问题随时提出来,不要有事后诸葛亮得做法。
    开发之前搞清楚需求,不要出现大的反工。

    每天走之前简单描述自己的当前的工作成果,发送给开发负责人并抄送项目组所有成员,作为每天的工作周报。

    工具

    ant

    vss

    jdk

    junit

    checkStyle

    数据库同步脚本(刘明开发)

    rational rose

    visio

    butterfly

    核心思想

    尽快提交版本
    每日创建
    持续集成
    简单设计
    自动化单元测试与重构
    基于模型进行工作,自动化生成文档
    自动化检查代码规范
    自动化生成javadoc

    尽快提交版本

    衡量进度最直接的方法是可运行的软件。所以开发过程一个终极目标是持续快速的提交版本。开发组以最快的速度提交版本,提供测试人员进行测试。经过项目组测试人员测试的版本,同样以最快的速度提交客户测试人员进行测试。为达到这个目标,必须建立相应的机制,达到版本的快速持续发布。通过测试得到反馈,而这些反馈能够驱动开发

    尽快提交版本包括:

    开发人员尽快的将代码提交到配置管理开发库中,最长不能超过一天
    开发人员提交的代码必须是编译通过的
    开发人员本地代码与配置开发库代码尽量保持一致
    每日创建保证版本的快速全编译及部署,提供测试人员测试

    每日创建

    开发组每天的工作成果,在每天发布的版本中充分体现。每天晚上进行全版本的编译发布,第二天测试人员进行测试,将结果反馈给开发组。每日创建的实现完全基于ant实现,通过定时任务每日进行。

    步骤:

    1.取得vss中最新源代码
    2.取得vss中数据库操纵脚本并运行
    3.生成ormap
    4.编译最新源代码
    5.停服务器
    6.完全删除老系统
    7.部署新系统
    8.启动服务器

    详细内容参见自动发布脚本

    持续集成

    具备了每日创建的机制后,每天开发组完成的新功能或修改的bug将在当天晚上集成发布到测试服务器上。这样,开发组可以得到测试结果的快速反馈,又促进了下一轮的迭代。

    简单设计

    目前整个系统已经具备稳定的开发框架,所以我们的业务实现可以设计拖后,开始进行简单设计,明确接口及xml格式,在编程中通过重构进行设计,时刻把握一点就是最快的发布版本。

    自动化单元测试与重构

    为了达到最快速度的发布版本,我们可能会产生一个拙略的实现,这可以通过重构来在以后的版本中改进,当然,必须通过单元测试提供重构过程中的质量保证。

    基于模型进行工作,自动化生成文档

    维护模型比维护文档更轻松,在维护一致性方面也更有效。所以我们必须基于模型工作,而文档可以随时根据模板自动生成。

    通过rational rose建立一套分析设计模型,将rose与vss进行集成,整个项目组可以在整个模型上进行协作。通过定义rose模板实现文档的自动化。

    自动化检查代码规范

    代码规范的检查我们基于checkstyle进行,目前采用的检查模板是J2EE标准模板,我们可以开发自己的模板进行检查。

    Checkstyle对程序命名规范,缩进规范等,通过与ant集成可以自动化,并生成结果报告。

    自动化生成javadoc

    系统的接口等文档通过javadoc生成,通过ant发布脚本在每天的版本发布中可以自动生成。为了达到我们要求的格式,可以自己定义xsl样式表。
   
    对于框架稳定的软件,目前rup与xp相结合的软件开发过程,整个过程经历:

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

    2.用例(素材)分析

    3.简单设计

    4.测试驱动开发

    5.重构与持续集成

    6.版本迭代

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

    角色包括:

    需求分析人员:确认需求,理解需求,明示需求

    开发人员:设计、编码、单元测试

    测试人员:功能测试,一般与需求分析人员公用,客户人员进行验收测试更佳

    配置人员:开发环境的配置,包括配置管理、服务器配置等

    dba:数据库管理员

0
相关文章