一种提供导航提示的软件系统及方法

文档序号:6353518阅读:473来源:国知局
专利名称:一种提供导航提示的软件系统及方法
技术领域
本发明涉及导航提示软件设计领域,尤其涉及一种提供导航提示的软件系统及方法。
背景技术
当软件系统已经实现了全世界用户的普遍应用,通过现代软件工程学方法以及良 好的实践经验法则可以完美实现人们所需要的各种各样的功能,随着软件行业的发展,人 们对产品的期望也不再仅仅停留于其所具有的功能方面,很多时候还希望与其交互的系统 可以提供智能的导航提示以便告诉用户当前处于系统的哪一个视图(页面或者界面)以及 可能进行的业务操作流。
在软件设计的过程中对引入导航提示功能的问题上,传统的做法在每个视图的开 发过程中,将业务流相关的信息和导航提示信息静态地设置于同一个视图中,分别为各个 视图维护一套导航提示信息数据。具体来说,如图1所示的软件系统结构示意图,软件设计 者实际上是将导航提示信息的存储以及实现导航功能所需要的代码逻辑都掺杂到了软件 具体的业务模块当中,二者之间存在紧耦合的关联,一方面,许多业务流可能会拥有相同的 导航提示信息,这样在开发时会带来导航提示信息的重复,另外一方面,这种结构导致在导 航提示信息发生变动的情况下,必然要牵扯到数量巨大的与该导航提示信息紧耦合的业务 模块的改动,这种实现方法使得软件系统开发和维护过程的复杂程度大大增加。
在目前软件系统的规模不断趋于庞大和复杂、其视图和业务操作流的数量越来越 多的情况下,传统的将导航提示信息与具体的业务模块掺杂在一起的设计方法,必然会导 致大量冗余信息的存储,以及增加软件系统设计、管理和维护的复杂度和难度。发明内容
本发明实施例提供了一种提供导航提示的软件系统及提供导航提示的方法,用以 解决现有软件系统导航提示信息与业务模块存在紧耦合关系导致软件系统设计、管理和维 护的复杂度和难度较高的问题。
本发明实施例提供的一种提供导航提示的软件系统,包括
至少一个业务模块,用于向登录的用户提供相应的业务视导航模块,用于在用户在当前所处的所述业务视图上触发导航提示的操作时,根 据所述用户的属性信息、当前所处的业务流和当前所处的业务视图,查询对应的导航提示 信息并展示给所述用户。
本发明实施例提供的一种提供导航提示的方法,包括
向登录的用户提供相应的业务视在用户在当前所处的所述业务视图上触发导航提示的操作时,根据所述用户的属 性信息、当前所处的业务流和当前所处的业务视图,查询对应的导航提示信息并展示给所 述用户。
本发明实施例的有益效果包括
本发明实施例提供的一种提供导航提示的软件系统及方法,业务模块向登录的用 户提供相应的业务视图,在用户在当前所处的业务视图上触发导航提示的操作时,根据该 用户的属性信息、当前所处的业务流和当前所处的业务视图,查询对应的导航提示信息并 展示给用户,本发明实施例提供的软件系统的新的架构,使得负责导航提示的导航模块和 负责具体业务操作的业务模块独立开来,极大地解耦了软件系统内部各模块,方便了软件 系统的开发、管理和维护,避免了现有技术中将导航提示信息与具体的业务模块紧耦合的 方式所导致的大量冗余信息的存储、软件系统设计、管理和维护的复杂度和难度较高的问 题。


图1为现有技术中软件系统的结构示意图2为本发明实施例中提供导航提示的软件系统的结构示意图3为本发明实施例中业务视图的示意图4为本发明实施例中导航模块的结构示意图5为本发明实施例中提供导航提示的方法的流程图。
具体实施方式
下面结合附图,对本发明实施例提供的提供导航提示的软件系统及方法的具体实 施方式进行详细地说明。
本发明实施例中的提供导航提示的软件系统,如图2所示,包括至少一个业务模 块201和导航模块202;其中
至少一个业务模块201,用于向登录的用户提供相应的业务视导航模块202,用于在用户在当前所处的业务视图上触发导航提示的操作时,根据 该用户的属性信息、当前所处的业务流和当前所处的业务视图,查询对应的导航提示信息 并展示给该用户。
本发明实施例提供的提供导航提示的软件系统(以下简称软件系统),将涉及用 户导航功能的部分从用户的导航功能独立出来,只涉及导航相关信息的存储以及展示,具 体的业务模块不再涉及具体的导航提示信息的处理而只专注于自身的业务功能,只需要在 用户所在操作的具体业务视图上预留一个触发展示导航提示信息的入口,如此便可达到二 者解耦的目的,最大程度地实现软件内部模块的灵活性。
对于本发明实施例中的业务视图来说,如图3所示,包含有业务内容部分和导航 提示信息的触发入口。用户可通过导航提示信息的触发入口,触发导航提示信息的操作。
以Web应用为例,该触发入口可以是某个业务视图上的一个链接或者一个按钮, 用户点击这个链接或者按钮即弹出一个网页对话框,在其中展示业务流导航图。触发入 口对于每一个具体的业务视图而言都是一样的,所以可以采用模板技术实现这个统一的入 口。在具体实施时,可以采用模板技术实现这个统一的触发入口。具体来说,例如可采用基 于Java的Facelet模板技术,创建一个业务视图的模板文件global, xhtml,其代码为
< ! DOCTYPE composition PUBLIC" -//W3C//DTD XHTML 1.OTransitional//5EN" ‘‘ http://www. w3. org/TR/xhtmll/DTD/xhtmll-transitional. dt d〃 >
<ui: composition xmlns = http://www. w3. org/1999/xhtml>
在其中还定义了一个导航提示信息的触发入口( 一个链接)具体代码如下
<ui insert name =,,businessContent,,/>
<a href =,,···,,> 查看导航图 </a>
</ui: composition)
Facelet模板技术是一种Web页面的模板技术,支持将应用中各个视图中关键的 部分独立出来,然后以可扩展超文本标记语言(extensible HyperTextMarkup Language, xhtml)格式(也是一种可扩展标记语言XML格式)的视图碎片文件存在,某个具体的业务 视图(例如一个Web页面)将由这些碎片文件通过视图包含(ui:inClude)以及模板套用 (<ui: composition template=,,,,》的方式组织最终得到一个完整的视图(即Web页面), 从而实现复用。业务视图套用上述global, xhtml全局模板,它已经继承方式包含了触发导 航提示的链接,所以只是需要通过ui: define指令定义自身业务相关的businessContent 空白部分,而在全局模板中只需要通过ui: insert指令为具体的业务视图预留出导航提示 信息触发入口的位置即可。
该软件系统中的每个业务视图在开发时,都可套用该模板,使得业务模块的开发 能够与导航模块的开发互相独立,进行业务视图开发的人员只需要定义业务视图中与具体 业务内容相关的展示部分,而不需要再额外关注其所涉及的导航提示信息具体是如何展示 的。
进一步地,如图4所示,导航模块具体包括导航初始化子模块2021、导航定位子 模块2022和导航展示子模块2023 ;
导航初始化子模块2021,用于在该软件系统启动时,完成导航信息缓存的初始化 和用户当前导航信息缓存的初始化;导航信息缓存用于保存预设的用户角色信息、业务流 信息、业务视图信息以及各业务视图对应的提示信息之间的关联关系;用户当前导航信息 缓存用于保存当前已登录用户的用户属性信息、该用户当前所处业务流标识和所处业务视 图标识;
导航定位子模块2022,用于在用户登录、退出该软件系统以及在用户当前所处的 业务视图和/或用户所处业务流发生变化时,对该用户当前导航信息缓存中该用户的业务 视图标识和/或业务流标识进行更新;
导航展示子模块2023,用于当用户在当前所处的业务视图上触发导航提示的操作 时,查询该用户当前导航信息缓存,获取该用户的属性信息、该用户当前所处的业务流标识 和当前所处的业务视图标识,根据获取到的该用户的属性信息、当前所处的业务流标识和 当前所处的业务视图标识,在导航信息缓存中查询该用户对应的导航提示信息并展示给该 用户。
下面对上述导航初始化子模块2021、导航定位子模块2022和导航展示子模块 2023分别进行详细地说明。
导航初始化子模块2021,在该软件系统启动时,涉及下述两个方面的初始化任 务
1)初始化导航信息缓存(Navigation Cache),为了实现导航提示信息的展示,预先需要为该软件系统设置用户角色信息、业务流信息、业务视图信息以及各业务视图对应 的提示信息,以及用户角色信息、业务流信息、业务视图信息以及各业务视图对应的提示信 息之间的关联关系。在软件系统启动时,导航初始化子模块2021将这些信息加载到设定的 内存缓冲区中,加载策略可以有两种,一种是针对业务流信息较少、视图数量较少的应用, 直接在软件系统启动阶段一次性加载所有的信息到缓存;另一种是针对业务流较多、视图 数量庞大的应用,由于一次性加载时间较长,所以采取按需加载,即一旦用户启用或者激活 了某个业务流就把该业务流相关的信息加载到缓存。
用户角色信息的数据格式如下表1所示
权利要求
1.一种提供导航提示的软件系统,其特征在于,包括至少一个业务模块,用于向登录的用户提供相应的业务视图;导航模块,用于在用户在当前所处的所述业务视图上触发导航提示的操作时,根据所 述用户的属性信息、当前所处的业务流和当前所处的业务视图,查询对应的导航提示信息 并展示给所述用户。
2.如权利要求1所述的系统,其特征在于,所述导航模块,具体包括导航初始化子模块,用于在所述软件系统启动时,完成导航信息缓存的初始化和用户 当前导航信息缓存的初始化;所述导航信息缓存用于保存预设的用户角色信息、业务流信 息和业务视图信息以及用户角色信息、业务流信息和业务视图信息之间的关联关系;所述 用户当前导航信息缓存用于保存当前已登录用户的用户属性信息、该用户当前所处业务流 标识和所处业务视图标识;导航定位子模块,用于在用户登录、退出所述软件系统以及在用户当前所处的业务视 图和/或用户所处业务流发生变化时,对所述用户当前导航信息缓存中该用户当前所处业 务视图标识和/或业务流标识进行更新;导航展示子模块,用于当用户在当前所处的业务视图上触发导航提示的操作时,查询 所述用户当前导航信息缓存,获取该用户的属性信息、该用户当前所处的业务流标识和当 前所处的业务视图标识,根据获取到的该用户的属性信息、当前所处的业务流标识和当前 所处的业务视图标识,在所述导航信息缓存中查询该用户对应的导航提示信息并展示给所 述用户。
3.如权利要求2所述的系统,其特征在于,所述导航定位子模块,进一步用于在用户登 录所述软件系统时,在所述用户当前导航信息缓存中增加该用户的属性信息、该用户当前 所处的业务流标识和当前所处的业务视图标识的记录;以及在用户退出所述软件系统时, 在用户当前导航信息缓存中删除该用户的属性信息、该用户当前所处的业务流标识和当前 所处的业务视图标识的记录。
4.如权利要求2所述的系统,其特征在于,所述业务模块,还用于在用户切换业务视图 和/或切换业务流时,向所述导航模块发布用户切换业务视图和/或切换业务流的导航事 件;所述导航定位子模块,还用于对所述业务模块发布的导航事件进行监听,在监听到导 航事件时,使用用户切换后的业务视图和/或业务流的标识对用户当前导航信息缓存中该 用户对应的业务流标识和/或业务视图标识进行更新。
5.如权利要求2所述的系统,其特征在于,所述导航展示子模块,进一步用于根据获取 到的该用户的属性信息中的用户角色信息,在导航信息缓存中查询与所述用户角色信息对 应的所述业务流信息和业务视图信息;以及根据所述用户当前所处业务流标识和当前所处 业务试图标识,从确定出的业务流信息和业务视图信息中,进一步确定用户将要执行的业 务流以及该业务流中的各业务视图,以及所述将要执行的业务流以及该业务流中的各业务 视图对应的导航提示信息,将确定出的导航提示信息展示给所述用户。
6.一种提供导航提示的方法,其特征在于,包括向登录的用户提供相应的业务视图;在用户在当前所处的所述业务视图上触发导航提示的操作时,根据所述用户的属性信息、当前所处的业务流和当前所处的业务视图,查询对应的导航提示信息并展示给所述用户。
7.如权利要求6所述的方法,其特征在于,所述业务视图包括业务内容部分以及导航 提示信息的触发入口。
8.如权利要求6所述的方法,其特征在于,在向登录的用户提供相应的业务视图的步 骤之前,还包括初始化导航信息缓存和用户当前导航信息缓存;所述导航信息缓存用于保存预设的用 户角色信息、业务流信息和业务视图信息以及用户角色信息、业务流信息和业务视图信息 之间的关联关系;所述用户当前导航信息缓存用于保存当前已登录用户的用户属性信息、 该用户当前所处业务流标识和所处业务视图标识。
9.如权利要求8所述的方法,其特征在于,在用户登录、退出以及在用户当前所处的业 务视图和/或用户所处业务流发生变化时,还包括对所述用户当前导航信息缓存中该用户当前所处业务视图标识和/或业务流标识进 行更新。
10.如权利要求9所述的方法,其特征在于,所述在用户当前所处的业务视图和/或用 户所处业务流发生变化时,对所述用户当前导航信息缓存中该用户的业务视图标识和/或 业务流标识进行更新,包括对用户切换业务视图和/或切换业务流的导航事件进行监听,在监听到导航事件时, 使用用户切换后的业务视图和/或业务流的标识对用户当前导航信息缓存中该用户对应 的业务流标识和/或业务视图标识进行更新。
11.如权利要求6-10任一项所述的方法,其特征在于,根据所述用户的属性信息、当 前所处的业务流和当前所处的业务视图,查询对应的导航提示信息并展示给所述用户,包 括根据获取到的该用户的属性信息中的用户角色信息,在导航信息缓存中查询与所述用 户角色信息对应的所述业务流信息和业务视图信息;根据所述用户当前所处业务流标识和当前所处业务试图标识,从确定出的业务流信息 和业务视图信息中,进一步确定用户将要执行的业务流以及该业务流中的各业务视图,以 及所述将要执行的业务流以及该业务流中的各业务视图对应的导航提示信息,将确定出的 导航提示信息展示给所述用户。
全文摘要
本发明公开了一种提供导航提示的软件系统及方法,其中该软件系统包括至少一个业务模块,用于向登录的用户提供相应的业务视图;导航模块,用于在用户在当前所处的所述业务视图上触发导航提示的操作时,根据所述用户的属性信息、当前所处的业务流和当前所处的业务视图,查询对应的导航提示信息并展示给所述用户。本发明提供的软件系统的新的架构,使得负责导航提示的导航模块和负责具体业务操作的业务模块独立开来,极大地解耦了软件系统内部各模块,方便了软件系统的开发、管理和维护,避免了现有技术中将导航提示信息与具体的业务模块紧耦合的方式所导致的大量冗余信息的存储、软件系统设计、管理和维护的复杂度和难度较高的问题。
文档编号G06F9/44GK102043632SQ201110024038
公开日2011年5月4日 申请日期2011年1月21日 优先权日2011年1月21日
发明者杨文彬 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1