软件开发项目具有风险大,周期长的特点,由于行业的复杂性,对于很多开发小组,人员的更替是十分频繁的,而软件开发项目的特点又恰恰是需要统一定义的信息非常多,包括组件名、对象名、变量名、界面、版本号、配置文件、功能清单等等,而人员的更替往往带来的结果是是新成员需要长时间的适应项目规范、定义等,而由于定义混淆而造成的编码错误占软件开发错误很大比重,因此,软件项目组如果能有一个很好的规范定义体系,可以大幅度提高软件开发的效率及软件质量。
由于面向对象的软件开发模式在减少代码冗余,解除项目组成员过多耦合等软件项目管理问题中具有特殊的优势,现代的绝大多数软件开发项目都采用了此种模式进行开发。 在此种模式下,数据层、业务层、界面层的对象被分别封装在了各自的组件中,有不同的项目组成员负责编码及调试工作,因此在软件开发小组中,经常会进行组件间的方法调用、不同成员编码检查等工作,但一个令人痛苦的问题是,现在的变量命名都是用英文字母,结果是变量的含义在不同人理解中会千奇百怪,难以理解的程序八成是对变量或方法的不理解,尤其对于刚进入小组的程序员。
我们的做法是,在软件架构设计时,即按照对象所属的不同功能区域进行编号,如U01表示用户管理系统用户对象基类等,在扩展开,可以用U01_1表示用户对象的一个子类,比如管理员用户,在命名设计中,还可以添加U01_1_Admin来帮助理解对象内容,而在软件设计的编码时,也按照此类编码进行,对象处于不同层次时,还可以在前面加辅助识别码,如B_U01_1表示位于业务层的用户对象基类。这样成员间就很容易相互理解变量的含义了。
对于对象关联的现象,也可以用编码来解决,比如部门用U02表示,而对象所属部门就可以表示为U01.U02_Dept.
现代的大部分软件项目都采用了分层软件开发方式,同一个对象会出现数据层、业务层、界面层等出现,采用了此种编号方式后,可以实现界面层、业务层、数据层甚至是数据库的对象编号统一,这样一套编号体系可以很容易的进行演绎及继承,大幅度的降低编号的工作量。项目经理在组织项目管理的其他工作,如架构设计、功能设计、测试方案、进度跟踪、实施测试等工作时,也可以采用此统一的编码体系,以提高效率及质量。