软件结构与实现

软件结构与实现

ID:37563641

大小:397.81 KB

页数:89页

时间:2019-05-12

软件结构与实现_第1页
软件结构与实现_第2页
软件结构与实现_第3页
软件结构与实现_第4页
软件结构与实现_第5页
资源描述:

《软件结构与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章软件结构与实现1人机交互技术编写组内容提要窗口系统对交互系统实现的支持窗口系统提供设备独立性和资源的共享,在窗口系统,程序员不用担心输入和输出设备的初始化,应用程序从窗口系统管理器接收事件请求流,完成相应的交互操作。用户界面管理系统UIMSUIMS是抽象层次更高的支持交互系统实现的开发环境,为交互系统实现提供更高层支持。支持复杂人机交互系统的实现的软件体系结构包括E-O模型Seeheim模型MVC模型智能体模型2人机交互技术编写组7.1窗口系统窗口系统强调为程序员提供硬件设备独立性,交互系统的实现建立在一个抽象的设

2、备上,对抽象设备的操作通过设备驱动程序转换成具体的设备上的操作,这可以使交互系统的开发变得简单,也使交互系统的移植非常方便。3人机交互技术编写组7.1窗口系统窗口系统为单一输入输出设备建立多个抽象设备来实现其资源的共享。每个抽象设备都可看作一个窗口的独立的输入输出设备,窗口系统为这些设备提供并发控制。从应用的角度看,每个应用程序独立地对设备进行操作,另一方面,窗口系统还为每个窗口提供一个抽象显示设备,这可以通过为每个活动的抽象显示设备建立一个窗口来实现。设备独立性和多任务管理是窗口系统的最重要的两个特性。4人机交互技术编

3、写组7.1.1窗口系统结构窗口系统一般有三种结构:在各个应用程序内部实现和管理多任务,由于每个应用程序都需要处理复杂的多任务管理,并且移植起来不方便。在操作系统核心集中处理多任务管理,应用程序不再对多任务进行管理,由于过分的依赖操作系统,应用程序需要处理因操作系统的不同而引起的差异。多任务的管理可由独立的管理程序进行管理,应用程序通过调用该管理程序提供的接口来实现对多任务的管理和设备的独立性操作,该管理程序可以在不同的操作系统下运行,因而基于此管理程序开发的交互系统是最容易移植的。5人机交互技术编写组一种客户/服务器结构

4、客户应用程序客户应用程序客户应用程序﹒﹒﹒客户抽象终端抽象终端﹒﹒﹒抽象终端资源管理器设备驱动程序服务器设备鼠标窗口1窗口2窗口n键盘图7-1客户/服务器结构6人机交互技术编写组服务器端运行的三部分程序资源管理器是整个窗口系统的核心,负责多任务的管理,并通过设备驱动程序来管理外部设备。设备驱动程序负责外部设备的驱动,接受输入设备的输入,并将输入数据转换成统一的格式,通过设备驱动程序实现设备的独立性。抽象终端负责和客户应用程序的接口,对每个应用程序由窗口管理程序为其分配一个抽象终端。7人机交互技术编写组工作方式当外部设备产

5、生一个输入请求,如鼠标单击某一个窗口内的一点,资源管理程序从设备驱动程序获得鼠标数据,产生鼠标驱动事件,并将该事件分发给与该窗口相对应的抽象终端,与抽象终端相对应的应用程序接受事件并进行相应的处理。实现时,客户程序和服务器程序可以在一台机器上,也可以分布在不同的机器上。8人机交互技术编写组7.1.2设计交互应用程序在客户/服务器结构中,交互系统的应用程序通过调用服务器端一个独立的管理程序来管理多任务和提供设备的独立性,相当于客户-服务器中结构中的客户。交互应用一般来讲是由用户驱动的,即用户从外部设备上输入数据,应用程序的

6、动作由用户输入来决定,应用程序可以采用下面的两种控制流程实现用户的交互。9人机交互技术编写组1.应用程序内部事件处理循环设备客户应用程序开始读输入过程输入退出?结束服务器图7-2事件处理循环10人机交互技术编写组事件处理循环的程序代码while(1){read_event(myevent);switch(myevent.type){casetype_1:do_type1_process();/*处理对应事件1的动作*/break;casetype_2:do_type2_process();break;…casetype_

7、n:do_typen_process();break;}}11人机交互技术编写组2.事件注册方式窗口系统为每一个应用程序建立一个事件处理中心,事件处理中心负责事件的处理。应用程序将自己感兴趣的事件处理事先通过登记注册的方式通知事件处理中心,注册时同时告诉事件处理中心当事件产生时,应用程序需要进行的处理(回应过程)。当事件处理中心从窗口系统接收一个事件,分析这个事件属于哪个应用程序,然后把事件和控制转向该事件注册的回应过程,处理完后,回应过程把控制返还给事件处理中心,事件中心继续接收事件或者请求终止。12人机交互技术编写组

8、应用程序开始启动通知者处理事件读输入请求回应退出?是否通知者图7-3事件注册方式处理流程图发送给正确的回调函数向通知者注册回调函数结束13人机交互技术编写组2.事件注册方式这种方式的好处是一般应用程序不需要设计事件处理循环,只关心应用程序需要处理哪些交互事件,当事件发生时应用程序如何处理。当应用程序不需要处理某个事件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。