基于arena平台高层业务软件的分层架构设计方法

文档序号:6608007阅读:406来源:国知局
专利名称:基于arena平台高层业务软件的分层架构设计方法
基于ARENA平台高层业务软件的分层架构设计方法
技术领域
本发明是一种基于模块化设计思想的软件设计方法,具体是一种基于ARENA平台高层业务软件分层架构设计方法。
背景技术
目前基于大唐ARENA平台整个软件UI实现层、业务层、平台层相关部分之间的藕合度太大,当更新UI、平台改变等都需要作较大的改变,这样给代码移植、功能扩展等带来很大困难,为此采用分层的方式减少模块之间、子模块之间的藕合度。同时业务层可向外独立提供模块接口,所以业务层接口设计中应包括模块启动、外部事件处理部分。目前高层业务软件部分实现主要分为三种情况(如图1所示)(1)第三方完成UI (用户界面her Interface)及业务部分,只需要移植完成 porting层代码。(2)第三方完成业务部分,应用需要完成UI及porting层。(3)独立研发完成所有功能(包括UI、业务部分以及UI层与业务层之间的藕合)。其中(3)中,独立研发模块UI层与业务层之间的藕合方式主要为三种(如图2所示)⑴消息;(2)接口; (3)代码藕合即直接调用。对于独立研发、第三方移植等模块与模块之间的交互主要采用接口、消息、AMS(启动,交互)和外部事件处理等。这样整个软件部分处于高藕合、低内聚状态,给移植、代码维护带来极大的不便。如图2所示,如果采用第一种方式即消息耦合,将此模块移植到其它平台且消息接口改变,则需要将所有消息接口改变;如果直接耦合UI代码(刷屏等接口),移植到其它平台时由于UI接口改变需求修改所有相关代码.如果采用注册回调方式,业务层只需要调用UI层实现的回调接口即可,即使移植到其它模块,业务层不需要作任务修改。

发明内容为了解决现有技术中存在的上述问题,本发明提出一种基于模块化设计思想的软件设计方法——基于ARENA平台高层业务软件分层架构设计方法,具体技术方案如下1、一种基于ARENA平台高层业务软件分层架构方法,其特征是包括步骤1)先把各个高层业务模块统一分解为UI层、业务层和适配层;2)再设定每一个高层业务模块的功能2. DUI层完成人机交互;为业务层提供业务刷屏接口 ;向与该UI层有接口交互的提供接口;2. 2)业务层完成本模块业务需求;提炼UI通知及平台相关接口 ;向与该业务层有接口交互的模块提供功能性接口 ;2. 3)适配层提供业务层与平台的适配接口。所述业务层提炼UI通知及平台相关接口,是在移植过程中由UI及平台实现。所述业务层中的实现避免与平台相关的接口和代码;业务层与其它高层业务模块的交互是以API接口方式进行;UI部分与业务部分完全分离,采用注册回调的方式进行刷屏UI处理,由业务层提取依赖平台和其它高层业务模块的适配接口。各个高层业务模块之间的交互包括a)模块启动、停止、暂停和恢复;b)模块之间的依赖关系;c)对外部事件的响应。UI层与其它高层业务模块是互相依赖,交互方式中排除类消息的方式。各个高层业务模块在实现分层过程中,将UI层、业务层、适配层实现分别存放在不同的文件中;同时将业务层单独编译成LIB库形式发布;在代码实现上避免子模块之间、 模块之间以共享内存、全局、消息方式的藕合。本方法采用结构化程序设计基本原则,少量借签面向对象设计基础对高层业务软件部分进行架构设计,适用于大唐ARENA平台等移动通信终端高层业务软件。高层业务软件采用本分层设计后,其进行跨平台移植、UI更改等只需要修改少量适配层代码即可完成新的项目开发,较大的提高了软件的可移植性、可扩展性。

图1是现有技术中高层业务软件实现结构图;图2是UI层与业务层藕合方式示意图;图3A是本方法的整体架构示意图;图;3B是本方法的业务层依赖关系示意图;图3C是本方法的各层接口示意图。
具体实施方式下面结合附图和具体实施方式
对本发明作进一步说明。一种基于ARENA平台高层业务软件分层架构设计方法,(如图3A所示)根据分层设计思想,把高层业务模块统一分解为UI、业务层、适配层(Porting layer)。其中UI层主要完成人机交互,同时需要向业务层注册UI刷屏回调接口 ;业务层主要完成本模块业务需求,其功能实现接口需要UI层及适配层完成,从而完全脱离UI与平台的依赖性。所以业务层需要提炼UI通知及平台相关接口,这些都要在移植过程中由UI及平台实现。同时业务层向其它模块提供必要的功能性接口。为了减少业务层部分与其它子模块的藕合度,业务层中实现不能包括与平台相关的接口、代码,同时其与其它模块的交互以接口方式进行,避免使用消息方式。为了减少模块内部之间的藕合度,减少其对UI及平台的依赖性,UI部分与业务部分完全分离,采用注册回调的方式进行刷屏UI处理,业务层提取依赖平台、其它模块的 Porting(适配)接口(如图2所示)。模块之间的交互主要是模块启动、停止、暂停、恢复;模块之间的依赖关系;对外部事件的响应。业务层、UI层与外部模块可互相依赖,但不能采用类消息的方式进行交互。如图3C所示,平台层需要向业务层提供适配接口,同时业务层向UI及外部模块提供调用API,UI层需要向业务层提供适配接口,同时向其它模块提供接口。模块在实现分层过程中,将UI层、业务层、Porting Layer实现分别存放在不同的文件中;同时将业务层单独编译成LIB库形式发布。在代码实现上避免子模块之间、模块之间以共享内存、全局、消息方式的藕合。在头文件组织方面采用如下方式按照模块的功能内聚划分,如模块XXX分为几个比较独立并具有一定内聚性的功能实体Fl,F2,F3,则头文件可定义为以下几个xxx_pub. h——定义所有与外部模块公共(module-glcAal)的类型、常量和宏,声明所有与外部模块公共(module-glcAal)的变量和函数原型。xxx_f 1. h——定义或声明所有与功能实体Fl相关的类型、宏、变量、函数原型以及任务原型xxx_f2. h——定义或声明所有与功能实体F2相关的类型、宏、变量、函数原型以及任务原型xxxx_f3. h——定义或声明所有与功能实体F3相关的类型、宏、变量、函数原型以及任务原型一般一个模块可以依据模块内部是否有几个比较独立的功能实体来决定选定一种方式划分头文件。如果头文件非常庞大则允许同时使用上面两种划分原则划分头文件。
权利要求
1.一种基于ARENA平台高层业务软件分层架构方法,其特征是包括步骤1)先把各个高层业务模块统一分解为UI层、业务层和适配层;2)再设定每一个高层业务模块的功能2.DUI层完成人机交互;为业务层提供业务刷屏接口 ;向与该UI层有接口交互的模块提供接口 ;2. 2)业务层完成本模块业务需求;提炼UI通知及平台相关接口 ;向与该业务层有接口交互的模块提供功能性接口 ;2. 3)适配层提供业务层与平台的适配接口。
2.根据权利要求1所述的基于ARENA平台高层业务软件分层架构方法,其特征是所述业务层提炼UI通知及平台相关接口,是在移植过程中由UI及平台实现。
3.根据权利要求1所述的基于ARENA平台高层业务软件分层架构方法,其特征是业务层中的实现避免与平台相关的接口和代码;业务层与其它高层业务模块的交互是以API接口方式进行;UI部分与业务部分完全分离,采用注册回调的方式进行刷屏UI处理,由业务层提取依赖平台和其它高层业务模块的适配接口。
4.根据权利要求1所述的基于ARENA平台高层业务软件分层架构方法,其特征是各个高层业务模块之间的交互包括a)模块启动、停止、暂停和恢复;b)模块之间的依赖关系; c)对外部事件的响应。
5.根据权利要求1所述的基于ARENA平台高层业务软件分层架构设计方法,其特征是 UI层与其它高层业务模块是互相依赖,交互方式中排除类消息的方式。
6.根据权利要求1所述的基于ARENA平台高层业务软件分层架构设计方法,其特征是各个高层业务模块在实现分层过程中,将UI层、业务层、适配层实现分别存放在不同的文件中;同时将业务层单独编译成LIB库形式发布;在代码实现上避免子模块之间、模块之间以共享内存、全局、消息方式的藕合。
全文摘要
一种基于ARENA平台高层业务软件分层架构方法,包括步骤1)先把各个高层业务模块统一分解为UI层、业务层和适配层;2)再设定每一个高层业务模块的功能2.1)UI层完成人机交互;为业务层提供业务刷屏接口;向其它模块提供接口;2.2)业务层完成本模块业务需求;提炼UI通知及平台相关接口;向其它模块提供功能性接口;2.3)适配层提供业务层与平台的适配接口。本方法采用结构化程序设计基本原则,少量借签面向对象设计基础对高层业务软件部分进行架构设计,适用于大唐ARENA平台等移动通信终端高层业务软件。高层业务软件采用本分层设计后,其进行跨平台移植、UI更改等只需要修改少量适配层代码即可完成新的项目开发,较大的提高了软件的可移植性、可扩展性。
文档编号G06F9/44GK102375729SQ20101025897
公开日2012年3月14日 申请日期2010年8月20日 优先权日2010年8月20日
发明者刘美红 申请人:希姆通信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1