软件的功能越来越复杂、软件上市时间越来越短,需要软件开发商将复杂软件的功能拆分成多个组件,由不同的个人、团队进行开发、测试,最后由集成商进行集成。如何将各个组件快速组装在一起,并以整体风格进行呈现,这需要一套比较完整的开发平台进行支持。 ZXTD组件化开发平台支持软件的组件化开发、支持将不同组件进行快速组装并形成风格统一的软件。 开发本平台的初衷: a) 多人协作:大型软件都是由多个单位、团队、个人联合开发的,如何将多人/团队开发的软件进行快速集成为一个软件是大型软件开发面临的主要问题; b) 代码复用:软件的最好复用是不用修改代码,但目前都是模块级的复用,包括部分代码级的复用,组件级的复用率不高; c) 专注业务:大部分用户都期望专注于业务逻辑的开发,对显示、网络通信、数据管理、并行计算等不愿投入太多精力,如何向用户提供通用软件模块,让用户专注业务逻辑的开发; 本平台的优势: a) 组件复用:开发完成后的组件,可在多个项目中进行应用; b) 扩展性强:通过研制不同的组件,加载到框架中,可实现软件功能的升级; c) 加快开发:通过组件开发向导可自动形成组件代码框架,通过组件界面开发工具,可快速实现组件界面的开发; d) 增强协作:不同开发者负责不同组件的开发,组件间的低耦合和组件功能的高内聚,降低组件间功能的交叉,降低功能联试; 设计原则: a) 组件分层:组件分为表示层、业务层、数据层,实现表示与业务的分离,让用户专注于业务逻辑,让UI开发界面; b) 组件化框架集成:通过框架+组件的方法,形成组件化快速集成软件的方法; c) 组件授权:通过License管理机制,保证各组件开发方的利益,增强组件开发的积极性; d) 界面灵活布局:提供工具,可支持对多个组件形成的软件界面进行布局,支持多种界面显示风格; 图1 组件化开发平台组成图 图2 组件化开发平台演示图 组件化开发平台的主要功能如下: 序号 模块 功能 1 总线 l 支持内总线外总线两种机制 l 遵从对象管理组织(OMG)组织制定的DDS标准 l 低于50毫秒的延迟 l 低抖动,低于3毫秒的网络通信抖动 l 完全支持发布/订阅机制 l 提供QoS服务质量策略 l 支持跨平台,包括window(64位)系统和国产麒麟(64位)系统 2 框架 l 支持以配置文件方式对窗口进行布局,包括菜单、工具栏、组件界面等 l 支持多屏显示 l 各个模块动态调整位置,包括脱离主界面单独显示 l 提供组件管理功能,实现动态加载、卸载组件模块 l 提供权限管理功能 l 支持跨平台,包括window(64位)系统和国产麒麟(64位)系统 3 开发向导 l 构件、组件、程序的管理功能,包括版本管理、类型管理、用户权限管理等 l 构件与构件、组件与组件、程序与程序、构件与组件、组件与程序之间的信息交互封装功能 l 提供图形化方式展现构件、组件、程序接口 l 提供图形化方式配置管理组件内部、程序内部、项目内部的接口交互关系 l 动态生成代码,用于二次开发
组件化开发平台