毕业设计(论文)- 基于面向方面编程技术的上下文敏感帮助.doc
《毕业设计(论文)- 基于面向方面编程技术的上下文敏感帮助.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)- 基于面向方面编程技术的上下文敏感帮助.doc(50页珍藏版)》请在三一文库上搜索。
1、基于面向方面编程技术的上下文敏感帮助 1 中文摘要中文摘要 随着计算机的不断发展,软件技术不断创新,人类设计的软件功能越来越强 大,由此产生的软件使用问题也越来越复杂,用户希望软件使用简易化的同时, 也希望软件提供的帮助更加智能化。即要求帮助程序能自动感应程序运行的上下 文,并根据当前上下文提供合适的帮助。本文介绍了现有上下文敏感帮助的实现 方法,指出它们的缺点,并提出了一个基于面向方面编程技术上下文管理框架, 使用该框架可降低上下文敏感帮助实现的复杂性,使其具有更大的灵活性,并适 用于其他基于程序上下文的应用软件。论文详细介绍了该框架的三个组成部分: 提供上下文的原程序、上下文缓冲池管理器和
2、上下文应用程序。文章还探讨了如 何采用面向方面编程技术向原程序加入感应其运行时上下文的程序代码的方法, 论述了如何对上下文进行收集、分析、管理、传送等技术,并研究了如何采用观 察者设计模式建立原程序与上下文应用程序之间的依赖联系。本文还分析了原程 序与上下文缓冲池管理器之间、上下文缓冲池管理器与上下文应用程序之间的通 信模式。另外,我们还参照 CORBA,将框架中传递的上下文信息用上下文对象进行 封装,建立了上下文之间的层次结构。文章还通过在一个开源项目 FreeSudoku 的 基础上进行上下文敏感帮助设计,验证了基于面向方面编程技术的上下文敏感帮 助是一个提高软件帮助智能化的可行灵活的实现
3、技术,并说明了我们提出的框架 的可行性和易扩展性。 关键词关键词:上下文敏感,帮助系统,面向方面编程,上下文结构,通信模式 基于面向方面编程技术的上下文敏感帮助 2 ABSTRACT Along with the development of the computer and innovation of the software technology, the functions of the software is becoming more and more powerful result in the problem of using software is becoming more
4、complex. Consequently, users not only hope to use the software easily, but also hope to get a more intelligent help provided by the software. This paper describes the realization of the currently context-sensitive help and analyses their shortcomings. Afterward we present a context management framew
5、ork based on AOP. This framework can reduce the complexity of the implement, get greater flexibility and easily be applied to other application based on program context. Three components of the framework are introduced particularly later: original application, context pool manager and context-sensit
6、ive application. Next, we explain the technology about weaving code to aware runtime context with AOP. We describe the method of the context collection, analysis, management, and transfer. We use the Observer design pattern to establish the relationship between original application and context-sensi
7、tive application. The paper goes on to analyze the communication model among original application, context pool manager and context-sensitive application. In addition, we refer to CORBA to encapsulate the context information in a context object and establish the hierarchical structure of context. At
8、 last, we implement the context management framework within an open source application: FreeSudoku. As a conclusion, the context-sensitive help based on AOP is a feasible and flexible technology to improve the intelligent of the software help system and the framework is feasible and expandable Key W
9、ords:context-sensitive, help system, AOP, context structure, communication model 基于面向方面编程技术的上下文敏感帮助 3 目录目录 中文摘要中文摘要.1 ABSTRACT.2 1. 引言引言.5 1.1. 研究背景与意义.5 1.1.1.上下文敏感的研究5 1.1.2.上下文敏感帮助系统的研究6 1.2.当前上下文敏感研究遇到的问题7 1.3.当前实现上下文敏感帮助系统的方法8 1.4.利用面向方面技术实现上下文敏感帮助10 2.相关介绍相关介绍.11 2.1.上下文的相关概念11 2.1.1.上下文11 2.1
10、.2.程序上下文11 2.1.3.上下文敏感12 2.2.面向方面编程(AOP)13 2.2.1.AOP与OOP的关系.13 2.2.2.AOP的核心.13 2.2.3.AOP的主要概念.13 2.2.4.AOP的开发步骤.14 2.2.5.AOP的优势.14 2.2.6.AOP工具.14 2.3.相关的设计模式15 2.3.1.设计模式15 2.3.2.Observer模式15 2.4.CORBA 的相关概念 .17 2.4.1.CORBA.17 2.4.2.CORBA对象通信18 3.框架分析框架分析.22 3.1.框架布局22 3.2.建立基于上下文的应用23 3.2.1.利用上下文23
11、 3.2.2.体现上下文敏感的sensor24 3.2.3.实现上下文敏感应用24 3.3.应用 OBSERVER 设计模式25 3.4.通信方式27 3.4.1.sensor与CPM之间27 3.4.2.Sensor与handler之间.28 3.4.3.整体关系28 3.5.上下文对象28 3.6.上下文结构29 4.上下文敏感帮助案例研究上下文敏感帮助案例研究FREESUDOKU.31 4.1.关于 SUDOKU 介绍31 4.2.上下文敏感帮助实现过程32 4.2.1.主要思想32 4.2.2.实现功能32 4.2.3.实现时序32 4.2.4.上下文敏感实现的类关系33 4.3.SE
12、NSOR的 AOP 实现.34 基于面向方面编程技术的上下文敏感帮助 4 4.4.CPM 实现.36 4.5.HANDLER 搜索帮助.39 4.5.1.XML 注册文件39 4.5.2.FreeHandler 实现.41 4.6.实现界面41 5.总结和展望总结和展望.45 5.1.工作总结45 5.2.未来的工作45 致谢致谢.47 参考文献参考文献.48 附录附录.49 基于面向方面编程技术的上下文敏感帮助 5 1. 引言引言 1.1. 研究背景与意义研究背景与意义 1.1.1. 上下文敏感的研究上下文敏感的研究 正随着计算机技术的发展,硬件性能不断提高,手提电脑、掌上电脑、手机、 各类
13、嵌入式系统等纷纷进入了我们的日常生活,在其上运行的软件越来越多,各 种浏览软件、播放软件、游戏软件为我们的生活带来了无限的精彩与乐趣;各类 编程软件,开发工具为软件设计师的软件开发工作提供了巨大的帮助;形形色色 的管理工具、编辑工具给人们的日常工作带来了工作方式的革命;大量专用的嵌 入式系统,为我们的生活提供了更大的方便,创造出更多的可能 一些软件为提高其应用的专业性,在同一领域处理更多业务、提供更多服务, 于是在软件中加入了大量功能,于是,越来越多集成软件出现在我们面前,软件 规模越来越大,正向专业化逐步发展。在软件功能多元化的同时,用户的操作选 择越来越多,操作也越来越复杂,这同时也对用户
14、的能力提出了更高的要求。一 个功能强大的软件可能附带一本厚厚的使用手册,用户在享受软件提供的强大服 务之前必须学习大量关于该软件的知识,如各类功能所需的操作、专业术语、配 置环境信息。随着人性化要求的不断提高,软件开发时应考虑更多人为与环 境因素,因此我们希望软件能具备智能化,能通过简单的操作实现强大的功能。 对于单个软件而言,我们希望软件能根据用户操作的行为判断用户的意图,自动 执行相关代码并引导用户正确使用软件。对多个软件而言,由于不同类型软件间 可能没有统一的接口或没有一个公认的通信机制,很多时候需要用户进行手工配 置以达到不同软件间相互配合工作的目的,因此我们希望软件间合作也具有自适
15、应性。 在要求软件专业化的同时,我们也要求软件具有通用性。因为软件应用平台 越来越多,不可能针对每种平台为同一应用设计专用软件,正如 JAVA 所提出的: 一次编译,多处执行。我们希望软件也具有适应各种应用环境的能力,这也促进 了普适计算研究的发展。普适计算的目标是使计算机在整个物理环境中都是可获 得的,而用户又察觉不到计算机的存在。其两个特点为:“随时随地”和“透明” , “其中“随时随地”指人们无论在何时何地都可以获得数字化服务,而不需要特 意走到一个专门的计算机面前;而“透明”是指人们 获得这种服务不需要花过多 的注意力,相比“随时随地” , “透明”性这一特性是普适计算一个更本质的要求
16、, 实现“透明”性,要求计算和服务的访问方式是十分自然的,甚至用户本身注意 不到的、蕴涵的方式进行”1。这要求计算机设备能够更好地理解环境状态和用 户的需求,对不同的环境状态和用户需求,提供不同的多元化服务,并且通过蕴 涵的状态信息提高计算机和服务的效率。所以,充分感应环境中的上下文是实现 普适计算系统“透明”性这一本质目标的重要途径。 基于面向方面编程技术的上下文敏感帮助 6 上下文敏感技术因此成为实现软件智能化和软件通用化目标的关键性技术。 上下文敏感技术主要是对动态上下文信息进行捕获,特别在普适计算中,上下文 将随任务而变化,而且由于工作环境是具体的,软件执行的背景情况不但复杂而 且是动
17、态变化的,使上下文的动态问题更加突出。利用动态的上下文信息来引导 软件的提供各类人性化服务,即软件具有上下文敏感的特性,是未来软件发展的 一个方向。 1.1.2. 上下文敏感帮助系统的研究上下文敏感帮助系统的研究 由于软件功能的多样性和使用方法的复杂性,软件不可避免需要具备一个帮 助系统。帮助系统主要为用户提供各类帮助,是人机交互的一种重要方式。而上 下文敏感在人机交互中尤其重要,软件需根据用户使用的环境,使用习惯和当前 操作方式,提供有效的帮助信息。这所有的信息都是软件运行的上下文。具有上 下文敏感的帮助系统(Context-Sensitive Help)可以减少用户输入计算机的上下文信 息
18、,增强帮助的对应性,使帮助更加透明化;通过感应上下文判断用户意图,自 动提供帮助,使用户随时随地得到准确的帮助,也是增强软件易用性的一种表现。 那什么样的帮助系统才是一个优秀的帮助系统呢?这主要有以下三个方面要 求: 无处不在的帮助 用户对帮助信息的需求可谓是多方位的:用户拿到一个新软件的时候,会先 翻看帮助系统的新特点部分;在日常使用中,他可能需要任何一个对话框中各选 项的帮助信息;如果用户界面上有比较独特的工具或状态栏中出现不常见的显示, 他会调用“这是什么”的帮助功能;用户在对某种功能有疑问时,帮助系统能提 供相关的帮助主题。对于用户的误操作,除了给予明确的提示外,还应提供相关 的帮助信
19、息。当用户不能明确描述遇到的问题时,帮助搜索和疑难解答将为他提 供必要的信息。当以上的一切都无能为力的时候,应当提示用户拨打技术支持电 话或访问技术支持网站。如果一个软件的帮助系统在各个方面都从用户角度进行 设计,那么使用这样的软件是一件多么轻松而愉快的事情。 细粒度的帮助 帮助系统能够根据多种信息搜索相关的帮助。用户手册与帮助系统都能够帮 助用户使用软件,但优秀的搜索功能则使软件帮助系统的使用率大大高于用户手 册。帮助索引能否为用户提供真正的帮助,与帮助的粒度有很大关系。以办公软 件中段落格式功能的帮助页为例,索引词最少可以有一个,即段落;也可以有多 个,如段落、行距、缩进、排版等;好的帮助
20、系统将设置多层索引,如段落-行距- 缩进-排版等。索引词的丰富和层次化,将大大缩小帮助的粒度,使用户在需要的 时候能真正得到帮助。 准确有效的帮助 基于面向方面编程技术的上下文敏感帮助 7 功能表述上不出现错误只是对帮助系统最基本的要求,帮助系统还应当做到 排版统一、格式美观;表达风格一致;没有病句、不使用过长的句子;帮助形式 多样,这些都是优秀的帮助系统应当做到的。与其他用户文档不同,帮助系统还 涉及到与软件的连接问题,保证帮助系统与软件运行上下文的挂接正确性和帮助 文件中各页面间交叉引用的正确性,也是帮助系统制作的一个重要任务,需要编 程人员和文档开发人员的协同工作。 因此,帮助文件的编写
21、制作工作是极其繁琐的,但却是软件开发不可缺少的 部分,不同的软件可以按照各自的风格选择帮助文件的内容、格式和风格。具备 优秀的帮助系统,可以提高用户对软件的信赖程度。 上下文敏感帮助系统由于考虑了用户上下文和程序本身的上下文信息,因此 可以从多个角度判断用户需要帮助的情况,增大帮助的范围,当软件帮助系统能 根据上下文判断用户需要帮助时,自动弹出帮助,实现软件向用户主动交流,并 共同配合完成工作。上下文信息可以是各种类型的,可以是用户的环境信息,如 系统语言、物理位置、当前时间、网络状况,也可以是程序运行时的各类定位信 息,如所在窗口、组件,更可以是用户操作的各类信息,如同一个错误操作出现 的次
22、数、习惯操作的步骤等。上下文信息的丰富多样大大增强软件帮助系统搜索 相关帮助的能力。上下文敏感帮助系统是对原有帮助系统的一种改进,因此可以 利用充分当前大量的帮助系统制作工具,还可以根据上下文信息,实现多类帮助 形式之间的自动选择,集合各类帮助文件的优点,共同服务用户。综上所述,加 入上下文敏感的帮助系统会使软件帮助更加灵活,更加人性化,是一个优秀的帮 助系统。 1.2. 当前上下文敏感研究遇到的问题当前上下文敏感研究遇到的问题 当前,业界还还在努力研究希望给出上下文的精确定义,而实践方面,开发 人员也面临巨大的挑战,当前主要面临以下三类棘手问题,这些问题阻碍了上下 文应用的建立和使用: 感知
23、上下文所固有的困难 如何获取、使用和存储上下文,如何建立上下文敏感的应用系统,在理论研 究方面还存在很多争议,没有一个统一的框架;在实践方面,上下文的获取通过 许多非传统设备,随着技术的不断进步,室外的 GPS 可获取位置信息,通过 Wireless Sensor Network 技术可获取室内定位信息,通过各类图像捕获设备、探测 设备,我们获得更多可用的上下文信息,上下文信息已甚少来自鼠标键盘。另一 方面,上下文具有动态特性,如何实时发现上下文、应用上下文,也是一个不可 回避的问题。面对上下文种类的多样性、数据格式和精度的不同,如何对上下文 进行管理、抽象和分析集成,是实现上下文敏感系统的面
24、临的第一道难题。 尽管存在以上困难,研究者们仍通过各种方法对上下文进行了各式应用,但 基于面向方面编程技术的上下文敏感帮助 8 是这些系统仅专注于某个特定领域或特定的过程,他们的成果很难被其他系统所 重用。 上下文敏感系统向通用化发展 传统的上下文敏感系统一般都是专有系统,这些系统的应用程序通常直接与 硬件设备交互,这虽然在一定程度上有利于效率的提高,但同时也限制了系统的 发展和对环境系统的应变能力,而上下文敏感系统却正是为面向动态多变的环境 而设计的。相关的研究工作者开始意识到这个问题,因此,提高上下文敏感系统 的通用性研究正渐渐得到重视。 上下文敏感应用规模日益扩大 鉴于上下文的利用对系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计论文- 基于面向方面编程技术的上下文敏感帮助 毕业设计 论文 基于 面向 方面 编程 技术 上下文 敏感 帮助
链接地址:https://www.31doc.com/p-3280845.html