UB+深圳市企管通科技U8二次开发规范摘要目前U8产品越来越庞大,提供的应用与服务也越来越多样化。公司整体的发展战略要求U8要成为一个能支持规模化交付的产品。为了达到这样的目标,仅仅通过我们的水平产品是无法满足客户的行业化、个性化的要求的。所以二次开发就成为一个能满足可以要求的填充剂,填补水平产品与客户的需求中的差异的空隙。什么是二次开发?二次开发是与一次开发是相对应的,所以凡是由U8产品开发部提供的U8产品、套件以外的都应属于二次开发的产品。从这个定义出发以下行为属于开发开发范畴。■分公司、大区的基于U8的开发行为。■第三方合作伙伴的基于U8的开发行为。■行业开发本部基于U8产品的开发行为。主要的开发模式。1.独立开发模式,独立于产品•模式描述:在开发过程中基本不利用U8产品的构件(只利用登录构件),开发成果形成单独的可执行文件及动态库,模块不需要与U8门户程序集成,二次开发模块的权限设置、功能升级、部署均独立于产品。•优点:对产品的影响小,产品可升级性强,不受产品功能制约。模块功能灵活度大,能够实现很复杂的功能。•缺点:二次开发的模块产品风格与U8产品风格差距较大,产品中一些很完善的功能(权限、打印、格式设置、输出等)不能被二次开发利用,打印、输出等基础功能需要重新开发,开发效率低。•注意问题:如果使用了U8登录构件,在产品升级后,应测试登录构件是否向下兼容,如果不兼容要根据新版登录构件的使用文档对二次开发程序的登录部分作修改。•禁止行为:为最大限度的保证产品的可升级性,禁止直接修改产品的系统数据表、视图、存储过程等数据库对象。•适用需求:与产品关联度小,二次开发的功能与产品相对独立,属单独的功能需求,不影响产品的业务流程,但允许由产品中取数。例如:在U8产品的基础上增加提成管理系统。2.通过产品插件接口开发模式•模式描述:此模式的开发是利用产品开放的插件接口对原产品模块做功能扩展。开发成果形成单独的动态链接库,模块功能不能单独使用,一般由产品模块通过插件接口依据插件注册信息自动调用。二次开发模块的权限设置、功能升级、部署均独立于产品。•优点:利用插件方式开发,对产品影响小,产品可升级性强。插件机制可以规范二次开发模块的开发方式,插件产品重用性强,功能配置灵活。•缺点:受产品插件接口开放程度的限制,目前只有库存模块提供了二次开发插件接口,其他模块还未提供,而库存模块也只提供了单据保存、审核、明细行双击等部分事件的插件接口,面对用户多种多样的二次开发需求,产品的插件接口开放程度还很不够。•注意问题:插件开发应完全符合U8产品提供的插件二次开发规范,尽量采用与产品一致的开发语言(VB6.0)做插件,保证插件数据库操作与产品的数据库操作在同一事务中。•禁止行为:•适用需求:客户需求与产品模块结合紧密,需要基于某一产品模块做功能扩展,尽量采用插件方式。目标针对目前的开发现状现我们分几个方面制定开发行为规范,以此规范开发人员的行为告诉二次开发人员哪些行为是安全的,哪些行为是危险的。U8二次开发行为规范1、独立模块开发规范利用VB或其他开发工具开发独立的模块是目前一般的开发行为,这种开发方式对U8的依赖最低,藕合度小,受到的升级的影响也最小。在目前U8开发性比较低的情况下这是一种合理的选择。但是这种方式无法做到与系统的无缝结合。在UI的风格上也有可能造成较大的差异。开发分以下阶段进行。•需求调研阶段:调研规范:二次开发调研不同于产品功能调研,客户提出的需求有可能代表一类行业的应用方式,但也有可能为该客户独有的需求。要求二次开发人员必须仔细分析客户提出需求的原因,首先确定是否可以通过软件以变通的方式实现用户的需求,确认没有其他解决方案后才可定义为二次开发需求。需求规范:对于典型行业的二次开发的需求,且符合集团行业开发部做行业项目支持的条件,需要遵循行业开发部提供的二次开发需求模板编写二次开发需求文档。需求文档要严格按照模板内容逐项编写,特别要注意业务算法、数据精度、效率要求等设计相关的内容一定要作深入调研。对于分公司负责开发的项目...