生物信息数据库系统开发流程感想

dbDEPC 2.0终于开发完成上线了,是由需求方的一个工作人员和一名程序员协作完成,前前后后历时两个多月,经过几次更改终于完成,后来就这个项目让程序做了个总结报告,我也是有感而发,想站在软件工程的角度进行一下总结,像生物信息数据库系统类似的专业性非常强的系统应该采用什么样的开发流程,应该采取什么样的方法最大限度的降低开发风险,保证开发进度。

专业软件开发,当然最好是既懂专业又懂开发的人员进行开发,但是这样的综合的人才还是可遇不可求的,许多的情况下都是像dbDEPC项目类似,一名专业人员负责系统应该开发成什么样子,而程序员负责实现,如果没有任何干预,就会像这个项目所经历的那样,付出非常大的交流与更改成本。程序员编程了专业人员的画笔,而专业人员却不知道如何使用画笔,只有画了擦,擦了画,那边程序员系统还在开发着,这边专业人员已经将数据库改的面目全非,并且还认为这些改动不会对系统造成太大的影响。还有许多功能的实现上,由于专业人员对于软件开发的不熟悉,实现一个功能往往要绕好多的弯子。而将整个开发过程与软件工程中的软件开发流程去对应,根本找不到软件工程方面的影子,或许这就是最大的问题。

遵循已有的软件工程方面的知识,可以减少项目风险,提高开发效率,降低开发成本,那么面对专业软件我们应该如何做呢?

  • 从用户手中夺走画笔,取得主动权;
  • 引导用户提供软件开发所需要的材料、知识,比如原形、需求分析;
  • 对于用户提供的材料,形成文档,并且请该行业的专家对于该系统进行评审,评审通过后再进行下一步的工作;
  • 明确流程与阶段,对于需求分析与软件设计阶段投入更多的时间与精力

数据库系统不外乎是这样的一个过程,数据存储组织、业务处理、数据展示,所以对于这三者最好都精通,组织不好,会造成业务处理流程复杂,数据展示没有设计好,同样会影响业务处理以及数据存储组织。成为行业专家,同样是程序员一个很好的出路。