资源描述
毕业论文 第36页
毕业设计(论文)
设计(论文)题目:基于WEB的电话会议系统的设计与实现
学生姓名
专业班级
指导老师
系主任(院长)
评 阅 人
年5月31日
基于WEB的电话会议的系统的设计与实现
摘 要
传统的会议召开方式都要求与会者必须面对面坐在一起进行。但实际当中,由于地域或时间等因素的限制很难做到所有与会者在同一时间、同一地点、同时出席某一会议。交互式电话会议的出现,从企业管理层需要出发,打破了传统会议在空间和时间上的局限性,有效地解决了总部与分支机构在会议过程中面临的各种问题。
B/S是目前常见的平台模式,论文指出了它的特点。确定了基于WEB的MVC模式为系统的设计模式,根据系统的技术实现,论述了J2EE技术和AJAX技术,并基于UML技术对系统需求,系统功能和系统架构进行了建模分析。
MVC设计模式分离了数据的控制层和数据的表现层,在实现多层WEB应用系统中具有明显的优势。论文论述了基于MVC模式的电话会议系统的系统设计和实现过程,主要包括系统体系结构设计,系统功能设计,数据库设计,系统界面的设计以及其中的关键技术的实现。论文最后对系统实现过程进行了总结。
关键词: 交互式电话,B/S,MVC,AJAX,UML
Designing and Implementing Telephone Conference System
Based on WEB
ABSTRACT
Holding a traditional conference, the conferees have to come together and seat themselves face-to-face。But in reality, it is very difficult to make sure that all conferees attend a certain meeting at the same time and the same place because of the limitations of such factors as the region or time,etc.. The appearance of the interactive teleconference, with the view to meet the administration and
supervision authorities of enterprises, has broken the limitation on space and time of traditional meeting, and solved various kinds of problems that general headquarters and branch face in the course of meeting effectively。
B/S is a common design mode at present。Determining the MVC pattern which based on WEB is system design pattern。According to the technical realization,the paper discuss J2EE and AJAX technology,and makes modeling analysis of system demand,system function and system framework based on UML technology。
MVC design pattern separates control layer of data from representation layer,therefore has the advantage of implementation of multi-layer WEB applications。The paper also discuss the system design and the implement of the telephone conference system based on MVC pattern。Which mainly includes the design of system structure,system function,database,system interface and the implement of key technology。At last,the paper draws the conclusion of the system implement。
Keywords: Integrating Telephone,B/S,MVC,AJAX,UML
目 录
摘 要 I
ABSTRACT II
目 录 III
插图索引 V
1 绪论 1
1.1 本课题的目的和意义 1
1.2 本课题的课题来源 2
2 系统的平台体系总体分析 3
2.1 系统平台模式的分析 3
2.2 系统基于Internet的解决方案的分析 4
2.3 系统框架原型分析 5
2.4 系统的语音应用 6
2.5 现有Web界面的问题分析 6
2.6 小结 7
3 基于UML的可视化建模系统分析 8
3.1 系统需求获取 8
3.2 系统流程分析 9
3.3 系统设计模式和框架的选用 10
3.4 系统的分析建模 11
3.5 小结 15
4 电话会议系统WEB的设计与实现 16
4.1 系统研发的原则 16
4.2 系统功能和体系结构设计 17
4.3 数据库总体设计 18
4.3.1 数据库设计基本规范 19
4.3.2 数据库逻辑结构设计 19
4.3.3 数据库的安全性设计 21
4.4 用户界面设计与关键技术的实现 22
4.5 监控模块关键技术的实现 26
4.6 系统运行的界面 29
4.7 小结 31
结 论 32
致 谢 34
参考文献 35
插图索引
图 2.1 B/S架构图 3
图 2.2 基于Internet的解决方案 4
图 2.3 J2EE典型四层结构 5
图 3.1 管理端简单流程图 9
图 3.2 用户端简单流程图 9
图 3.3 监控端简单流程图 10
图 3.4 J2EE标准的四层结构轻量级表现形式 10
图 3.5 系统总体的模式架构图 11
图 3.6 管理端用例图 12
图 3.7 用户端用例图 12
图 3.8 监控端用例图 13
图 3.9 管理端时序图 13
图 3.10 用户端时序图 14
图 3.11 监控端时序图 14
图 4.1 客户端与管理端的体系结构 17
图 4.2 监控端体系结构 18
图 4.3 数据库表结构 20
图 4.4 数据库表结构 20
图 4.5数据库表结构 21
图 4.6 用户界面设计的迭代过程 22
图 4.7 用户端页面设计框架 24
图 4.8 管理端页面设计框架 25
图 4.9 监控端页面设计框架 25
图 4.10 用户端登陆面 29
图 4.11 客户端主页面 30
图 4.12 监控端主页 30
1 绪论
1.1 本课题的目的和意义
传统的会议召开方式都要求与会者必须面对面坐在一起进行。但实际当中,由于地域或时间等因素的限制很难做到所有与会者在同一时间、同一地点、同时出席某一会议。对于大型机构、集团用户而言,一般每年都将定期召开各种类型的办公会议或者临时会议。如果有分支机构分布在不同地区,要按传统的方式在某地召开集中式会议,势必伴随着基层人员的旅途奔波,这既会给企业带来较大的差旅费支出,同时也会增加大量的组织工作,造成人力资源的浪费,会议的时效性也大打折扣。
交互式电话会议的出现,从企业管理层需要出发,打破了传统会议在空间和时间上的局限性,有效地解决了总部与分支机构在会议过程中面临的各种问题。和传统的集中式会议相比,交互式电话会议的出现无疑带来会议方式的一场革命性变化。
而如果通过电话进行一系列的操作,按键烦多,在对于不太熟悉的用户而言,一般情况下要在听完一段语音流程后才能做出相应的操作,而且在误操作后,多数情况下可逆性很低,这无疑在很大程度上造成了用户的时间上的浪费。当用户要对整个电话会议进行一系列的管理时,操作又是非常繁杂、不可见性的。无法从整体上对整个会议的进程进行很好的操控。在如今互联网普及的今天,Internet是如今用户再熟悉不过的一个词汇了,通过WEB对电话会议的进行管理、操控是大势所趋的事情。用户只要用浏览器进入相应的网页就可以对会议进行相应的种种操作了,更迅速快捷,更有利于推广。对于用户来说有以下几个优点:
1) 无需拨打电话,可直接使用web召开会议,预约会议
2) 网页操作便捷易用,全部功能均可两步内完成
3) 界面美观具有很强的用户可操作性
本课题主要研究基于web的电话会议系统,其主要有三个方面:管理员平台,用户平台,会议监控。通过web网页对电话会议功能进行一系列的快捷操作。
1.2 本课题的课题来源
随着电话会议业务在全国性的推广,企业内部平台的建全,Internet的迅猛发展,B/S模式在行业内的全面发展,以及跨平台性等诸多的要求。急需用户在无需下载任何应用,或者插件的情况下,通过浏览器就可以对电话会议的功能进行一系列的操作。对于系统的更新升级,也变得更便利,维护的成本也低。而无需要给每个客户端都更新其应用。因此本课题是基于B/S模式的电话会议功能在J2EE的开发进行的研究设计及其实现。
2 系统的平台体系总体分析
2.1 系统平台模式的分析
传统大部份系统模式大部份是C/S(Client/Server,客户端/服务端)模式,其维护性代价高,可扩展性差等缺点和随着网络的发展,C/S结构已经不能满足企业日益发展的需求。
随之产生的B/S(Browser/Server,浏览器/服务端)平台模式,是一种新型的软件架构,是软件发展的必然趋势,较以往C/S软件架构是一次质的飞跃。B/S平台模式设计的软件系统,明显解决了C/S平台模式维护成本高的缺点,对整个软件系统的维护只需维护服务器,所有的客户端只是浏览器,所有的客户端都不需要做任何的维护。如果是异地,只需要把服务器连接专网即可实现远程维护,升级。
B/S平台模式中,处于第一层的是客户端。处于第二层的是应用服务器,由一台或多台服务器组成,该层具有良好的可扩充性,可以随着应用的需要增加服务器的数组。处于第三层是数据层,由数据库组成,如图2.1所示。
图 2.1 B/S架构图
论文论述的系统的主要客户网通与电信这样的企业,而用户却是来自各地市的企业与个人用户。如果对于每个用户都安装并维护一个客户端,维护的费用可见一般,同时也不利于业务的推广。另一方面随着业务量的增大,需要在不影响当前环境的情况下方便快捷的提高服务器的性能与容量。考虑上述的种种的问题,同时适应大局上的发展,论文决定采用B/S平台模式来实现系统。
2.2 系统基于Internet的解决方案的分析
目前,行业内基于Internet的两种流行的解决方案分别是Microsoft的.NET和Sun的J2EE。其大体的框架如图2.2所示。
图 2.2 基于Internet的解决方案
J2EE为搭建具有可伸缩性、灵活性、易维护性的企业信息系统提供了良好的机制,它的优势体现在以下方面:保留现存的资产,高效开发,支持异构环境,可伸缩性。而.NET只能应用于Windows的平台,作为企业级的应用来说,需要能运行在大型的服务器上,且要尽量减少平台移植带来的费用。
目前,三种流行的动态网页技术分别是JSP,ASP,PHP,下面的表2.1对其各方面进行了比较。[7]
表2.1 JSP, ASP, PHP性能比较
JSP
ASP
PHP
平台选择
均可
windows
Windows/unix
运行速度
快
较快
较快
运行开销
小
较大
较大
分布式处理
支持
支持
不支持
扩展性
很好
好
不好
安全性
好
不好
好
数据库支持
多
多
多
应用程度
较广泛
较广泛
较广泛
厂商支持
广泛
少
较广泛
对xml支持
支持
不支持
支持
对组件支持
支持
支持
支持
综合了上述的各方面信息后,论文论述的系统作为一个企业级的应用,需要高效的性能,快捷的响应,支持平台的移植等特性。这些因素决定了本系统应该选用J2EE的方案来进行设计与实现。
2.3 系统框架原型分析
现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。
J2EE典型的四层结构如图2.3所示。
图 2.3 J2EE典型四层结构
论文论述的系统是建立在J2EE典型四层结构上设计的,并进行相应的扩展与改进,使其能更适合系统的整体设计,系统的需求,与更好的体现出J2EE方案的优点。
2.4 系统的语音应用
语音应用是通过用户语音接口代替图形化接口的来执行的输入,输出的交互。商业应用能使语音变成用户的强大工具,称为“语音向导”,可以用语音代替键盘和鼠标与网页的基本数据进行交互。这些的应用是由包含servlets, JSP,和JavaBean这些企业架构。你能用VoiceXML,Java Bean或者语音响应状表使语音和Web应用一体化。[10]
电话会议系统的语音应用呼叫的基本流程式包含以下几个步骤:
1) 客户拨打呼叫中心,系统进行应答并调用相应合适的应用,例如:被叫号码识别业务或者自动号码识别。
2) 应用为客户播放必要欢迎语和提示信息。
3) 应用等待响应信息。客户可以通过说话或者电话按钮进行响应。
4) 应用基于客户的响应采取合适的动作。例如,它可能升级数据库中的信息,重新收取信息并播放返回声音,或者播放一个帮助信息。
5) 客户能通过简单的挂机或者指出交互完成(例如,说“停止”或者“退出”)随时中断该通话。
论文论述的系统是需要与相应的语音流程应用进行配合,才能够成个整体。电话会议系统的语音应用就是典型的语音应用的进一步的扩展,本质上还是体现出其交互性,使其真正达到交互式电话会议的目的。其语音流程方面是运行在新太科技的IPSwitch上,这部份由平台部来实现其功能,在论文中不进行相关的论述。
2.5 现有Web界面的问题分析
目前编写应用程序有两种基本的选择:桌面应用程序和Web应用程序,两者是类似的。桌面应用程序通常以CD为介质(有时候可从网站下载)并完全安装到客户的计算机上。桌面应用程序可以使用互联网下载更新,但运行这些应用程序的代码在桌面计算机上。Web应用程序运行在某处的Web服务器上,要通过Web浏览器访问这种应用程序。
比这些应用程序的运行代码放在何处更重要的是,应用程序如何运转以及如何与其进行交互。桌面应用程序一般很快(就在本地的计算机上运行,不用等待互联网连接),具有漂亮的用户界面(通常和操作系统有关)和非凡的动态性。可以单击、选择、输入、打开菜单和子菜单、到处巡游,基本上不需要等待。
另一方面,Web应用程序是最新的潮流,它们提供了在桌面上不能实现的服务(比如A和eBay )。但是,伴随着Web的强大而出现的是等待,等待服务器响应、等待屏幕刷新、等待请求返回和生成新的页面。
论文论述的系统的监控模块功能需要实现这种屏幕无刷新,更新显示信息,给用户一种更好的用户体验,给用户提供一种即时响应的策略。所以将采用Ajax来负责如何开启线程会话,并负责与服务端建立Socket连接。
Ajax不是一种技术,它由几种蓬勃发展的技术以新的强大方式组合而成。它包含:基于XHTML和CSS标准的表示;使用Document Object Model进行动态显示和交互;使用XMLHttpRequest与服务器进行异步通信;使用JavaScript绑定一切。[2]
Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。
2.6 小结
本章节详细的分析了系统的整体的体系结构,并论述了其平台模式,解决方案的优点跟使用其的必要性。
3 基于UML的可视化建模系统分析
系统分析是软件工程的重要阶段,是所有开发的依据。在系统分析阶段,通过对系统的综合研究,对问题域进行抽象,准确的理解系统需求和系统内部运行机制,有助于准确的掌握系统的需求,从而正确的定义问题域,确定软件开发的具体内容。通过系统分析,我们要完成确定系统需求的内容、确定所有涉及到的要素、为当前需要的问题建立相应的模型等工作,做到充分理解用户对系统的需求。
在对系统的分析过程中,论文采用面向对象分析(OOA),应用可视化面向对象建模技术UML(统一建模语言,Unified Modeling Language)建立系统模型。
3.1 系统需求获取
由于是基于吉林网通的新会场业务为依托进行相应的开发的系统,所以其系统都是按照满足其业务需求设计的,确定了系统应实现的以下各方面的功能:
1) 采用浏览器访问方式,各种用户可能通过Internet来连接网站,打开首页后,可以按照自己的需求进行操作。
2) 管理员系统,对各种类型的用户进行分类及权限管理,对所有会议的信息进行统计。
3) 用户系统,可以即时召开会议,预约会议,查询会议,通讯录管理,等功能。
4) 监控系统,可以对会议进行实时的控制,给用户提供一种即时响应的策略。
5) 网络安全管理。
6) 要具备良好的导航及查询功能,可按各种分类标准进行模糊和精确检索。
3.2 系统流程分析
所谓系统流程,就是用户在使用系统时的工作过程。系统流程分析是系统分析的重要组成部分,也是系统设计的重要基础。下面的图为系统的三个部分的简单的流程图,为了系统的具体的设计提供了很好的基础:
图 3.1 管理端简单流程图
图 3.2 用户端简单流程图
图 3.3 监控端简单流程图
3.3 系统设计模式和框架的选用
基于需求分析的确定,并且根据计算机软件的发展,我们考虑到系统对灵活性、J2EE可靠性和开放性的需要以及满足跨平台系统开发的需要,本次开发选用了基于J2EE技术的B/S系统架构。从系统结构上采用 J2EE标准的4层结构的轻量级的表示形式,如图3.4所示
图 3.4 J2EE标准的四层结构轻量级表现形式
鉴于采用B/S结构,为了提高系统可维护性和组件的复用性,提高软件开发效率,决定采用MVC设计模式,如图3.5所示,使用MVC方案的主要驱动力是将创建和操作数据的代码与表达数据的代码分离的愿望。
视图是用户看到并与之交互的界面,视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理;模型是应用程序的主体,模型表示业务数据和业务逻辑,一个模型能为多个视图提供数据;控制器接受用户的输入并调用模型和视图去完成用户的需求。
论文模仿Apache Struts的框架方案,写了自己相应简单的框架。模型由实现业务逻辑JavaBean组成,控制器由ActionServlet和Action来实现,视图由一系列JSP组成和页面显示信息的配置文件组成。系统的总体模式架构图如下图:
图 3.5 系统总体的模式架构图
3.4 系统的分析建模
系统边界确定以后,建构系统使用的硬件及软件环境,应用基于UML的可视化建模技术,参考RUP的需求获取的过程,进行需求的获取,需求的定义和描述包括了:用例、用例图、活动图、补充说明、术语表、系统架构要求几方面。一般用例的描述使用用例描述文字框架,描述包括:用例的名称、使用者、前提条件、执行结果、用例的主业务流、分支业务流、相关扩展用例、特殊需要等信息,遵循一定的准则进行描述。
根据系统的需求分析,建立系统需求的用例图如下面几幅图片所示:
图 3.6 管理端用例图
图 3.7 用户端用例图
图 3.8 监控端用例图
时序图是一种强调消息的时序交互图。它由活动者(actor)、对象(object) ,消息(message)、生命线(lifeline)、和控制焦点(focus of control)组成。时序图供不同种类的用户使用。用户可以从时序图中看到业务过程的细节;分析人员可以从时序图中看到处理流程;开发人员可以看到开发的对象和对这些对象的操作。时序图对项目的各方面人才都有重要作用。
根据系统的需求分析,建立系统需求的时序图如下图所示:
图 3.9 管理端时序图
图 3.10 用户端时序图
图 3.11 监控端时序图
3.5 小结
系统分析是软件工程的重要阶段,是所有开发的依据。本章利用了可视化建模语言UML和Rational统一过程,根据需求分析,对系统进行分析建模的设计。
4 电话会议系统的设计与实现
系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了软件系统的质量。
4.1 系统研发的原则
在系统设计过程中,主要遵循如下原则:
1) 开放性和标准化原则
系统应具有标准化的开放接口,支持与其他应用系统的互联互通,支持跨平台应用。通过使用多层B/S体系结构、分布式组件服务、基于WEB中间件等技术满足系统应具备的开放性,能够满足分布式应用,可以适用于多种计算机网络环境的要求。
2) 先进性原则(高效、便民、国际化、技术适度超前)
坚持技术先进,软硬件建设要采用国内外先进并且成熟的技术、设备和手段。注重应用,讲求实效。通过电话会议系统组织管理电话会议,能够真正做到高效、快捷。
3) 可扩充性原则
网络系统设计和建设要立足创新,适度超前,具有可扩展性和升级能力,能够适应信息技术、计算机技术不断发展的要求,适应新的网络应用不断扩展的需要。而且可以及时响应业务需求的变更。
4) 可靠性原则
应用数据自动转储和恢复技术,同时提供良好的备份恢复手段,具有高可靠性和高容错能力,保证局部出错不影响全系统的正常工作;应用系统提供对用户的操作顺序、输入的数据进行正确性、逻辑性检查,并以显著方式提示错误信息的功能;应用系统使用系统出错处理机制,明确提示错误信息并指导用户按照系统错误处理手册进行处理:管理系统提供的运行监视和故障恢复机制,建立系统运行的日志文件,跟踪应用系统的所有操作。
5) 安全性原则
采用多层结构实现对数据的请求与响应,切实保障信息的安全性,并防止非法用户的任意超限行为。[15]
4.2 系统功能和体系结构设计
根据需求分析,论文可以把电话会议WEB系统功能概况成以下三个模块。
表4.1 功能模块详细列表
后台管理
用户维护
会议监控
管理员管理
用户管理
费用统计
业务统计
会议召集
预约会议
会议查询
通讯录管理
修改密码
会议锁定
会议录音
显示离线人员
修改成员状态
成员分组
合并分组
会议密谈
结束会议
外呼成员
呼叫秘书
背景音乐
依据系统的需求分析及J2EE技术的特点,对于管理端与用户端我们拟定了如下的体系结构:表示层,控制层,业务层,数据层。如图4.1所示。
图 4.1 客户端与管理端的体系结构
论文采用J2EE四层结构与组件技术的WEB应用系统来进行系统构架,系统的每个模块都是严格遵循四层这样一个架构模式的。表示层由浏览器支持,用户在客户端启动一个浏览器,通过网络连接到JSP/Servlet产生动态HTML信息的WEB服务器,再由控制层将用户要求的服务传达给业务逻辑层(Java Bean层)来进行相关的分析处理,最后通过查询数据层的数据库,得到解答用户问题的信息,再经过逐层转化,处理,返回给用户Web页面格式信息,也就是用户在客户端得到需求的信息。
对于会议监控模块,论文采用AJAX技术与Servlet进行异步通信,给用户一种即时无刷新的响应,Servlet通过Socket同步的与ICMaint通信,业务逻辑层是由一个Bean来控制消息的收发消息的格式,最终由Servlet组织消息格式,返回给表示层显示给用户。具体的框架,如图4.2所示。
图 4.2 监控端体系结构
4.3 数据库总体设计
数据库就是存储在一个或多个文件的一个永久性的,自描述的数据仓库。数据库的设计在一个系统开发中是至关重要的,它的设计好坏直接影响整个系统的性能。论文采用的是Syabse数据库。这是一个RDBMS(关系型数据库管理系统),是以二维表为基本管理单元的,所以对象模型最终是由二维表及表间关系来描述的。对象模型需要向数据库模型进行映射,就是对象需要向数据库表进行变换。[5]
4.3.1 数据库设计基本规范
1) 所有的表以 CONF_ 开头,所有的存储过程以 proc_ 开头,表示为电话会议业务专用。
2) 所有的表、字段名、索引等为大写,保证Sybase和Oracle的兼容。
3) 所有的字段以 XX_ 开头, XX 为该表的表名的缩写。
4) 尽量给每个表建主键或者索引,主键和索引要尽量能体现表名和字段名。
5) 所有的表加上“LOCK DATAROWS”,强制设为行锁。
6) 每次修改要将修改内容记录在本脚本中,每一张表、每一个字段,每一个存储过程,每一个参数都要有说明
7) 每个存储过程都要有返回参数表明存储过程执行状况,最好有两个返回参数,一个整型,一个字符型。整型 @STATUS 用于表示存储过程运行成功、失败等状态,字符串型 @PROMPT 用于具体的提示信息。默认 @STATUS =0 成功,@STATUS !=0 失败。
8) 所有的存储过程的 OUTPUT 参数全部放在最后****。
9) 对于NULL的判断只能使用IS 和 IS NOT,不可以使用 = <>。
4.3.2 数据库逻辑结构设计
根据需求分析,确定数据库主要由以下图中几张表构成,以下几张图也给出了其整体之间的关系的信息。
图 4.3 数据库表结构
图 4.4 数据库表结构
图 4.5数据库表结构
4.3.3 数据库的安全性设计
系统在使用过程中,必须保证其数据的安全性和保密性,否则影响网站系统的正常运行。可能存在的隐患包括用户误操作、硬件损坏、计算机病毒以及人为破坏等,故系统采用以下的办法来保护数据。
安全性方面主要有:
1) 用户管理严格。用户需要访问的数据库管理系统、数据库系统、操作系统、文件系统以及网络系统在用户管理方面非常相似,采用的方法和措施也十分相似,在一个多用户系统中,进而在一个开放的网络环境中,识别授权用户永远是安全控制机制中最重要的一个环节,也是第一防线。标识一般包括UserID和passWord,因此,标识和密码很重要,不要使用极敏感的容易识别的密码,如生日、姓名等。
2) 恰当分配权限。数据库管理系统对数据库的存取比操作系统对文件的存取控制机制要复杂得多,数据库管理系统可以对更加精细的数据粒度加以控制。因此,我们可以根据用户身份对数据库表、记录、属性字段值的访问加以控制。
3) 审计和日志。为了保证数据库中数据的安全,我们将所有的数据库操作(读和写)都记录到日志文件中。
4) 硬件系统在数据层外增加防火墙。
5) 数据库服务器要准备双服务器,或另备移动硬盘,作为备份服务器或备份盘。在用户使用服务器资源之前,首先应检查其合法性---身份验证。凡是要使用本系统的用户计算机,必须要经过登陆验证服务器的检验,才能成为网络合法用户进行系统操作。
6) 建立严格的规章制度,禁止无关人员进入机房操作服务器。
7) 控制软件及光盘的使用,减少因计算机病毒而引起的数据损坏。
8) 通过全方位多层次的培训工作,增强员工的操作能力和管理技能。
4.4 用户界面设计与关键技术的实现
一个良好的用户界面设计对一个系统的成功是至关重要的。一个使用起来困难的界面,会造成用户直接拒绝使用该系统,而不管系统的功能如何。因此,用户界面的设计是系统成功完成的重要组成部分。
探索性的开发是用户界面设计的最有效方式,如图4.6所示,为用户界面设计的迭代过程。[19]
图 4.6 用户界面设计的迭代过程
用户界面是Web应用和用户交互的窗口。用户界面可以向用户输出信息,也可以接收用户的输入信息。根据用例,可以制定出用户界面,包括用户界面的功能、与用户交互的信息,以及用户界面之间的切换信息。
表4.1 用户界面设计原则
原则
描述
用户熟悉,界面友好
界面所有的术语和概念应该来自于用户的经验,这些用户是将要使用系统最多的人
一致性
界面应该是一致的,即尽可能地让相似的操作有同样的触发方式
操作简单
界面使用简单,明白图标,菜单及符号
可恢复性
界面应该有一种机制来允许用户从错误中恢复
用户指南
在错误发生时,界面应该提供有意义的反馈,并有上下文感知能力的用户帮助功能
用户差异性
界面应该为不同类型用户提供合适的交互功能
另外由于该系统最终作为业务推广,加上各地市有自己不同的信息,在设计时还考虑到消息可定制性,使得客户只需要改变配置文件中的相应的内容,就可改变页面上要显示的信息内容。做到表示层上显示与内容上的分离。
本文的系统是由于基于新太科技的openEAP平台进行开发的,openEAP允许客户通过网页对WAR中的相关的配置文件进行修改,所以采用XML来组织配置信息,其信息可读性强,便于用户对配置信息的理解并做出合适的修改。在用户第一次登陆时,将读取配置文件取得相关的配置信息并存入session中,以后的信息就直接到session中取出,减少了每次都读文件的造成的系统开销。读取配置文件的核心代码如下:
public static HashMap getPropertyMap(String strCatalog, String strPage) {
……
propertyMap = readXml.readXML(flin,strCatalog,strPage);
return propertyMap;
}
页面上处理配置文件信息的核心代码如下:
HashMap resourceMap = new HashMap();
if(session.getAttribute("top.index")==null){
resourceMap=ResourceManager.getPropertyMap("top", "index");
session.setAttribute("top.index",resourceMap);
}else{
resourceMap=(HashMap)session.getAttribute("top.index");
}
页面显示配置文件信息,做到显示与内容层上的分离,其核心代码如下:
<%=resourceMap.get("top.index.account")%>
配置文件的内容格式如下:
<?xml version="1.0" encoding="gb2312"?>
<catalogs>
<catalog name="top">
<page name="index">
<element key="title" description="标题">新会场</element>
……
</page>
……
</catalog>
……
</catalogs>
通过上述的几个方面,就可以很好的实现各地市定制业务的特定信息的显示修改,现场的工程人员需要维护的只是各地市的特定信息的配置文件,开发人员更可以专注于业务逻辑上的开发。更好的做到了通用性,可操作性。
用户端的主界面为main.jsp文件,内用了框架(frame)来显示的指定的页面,减少了代码的冗余,用户端的页面框架设计,其详细信息如图4.7所示:
图 4.7 用户端页面设计框架
管理端是通过应用发布在openEAP上,作为一个portal上的一个应用的。其详细信息如图4.8所示:
图 4.8 管理端页面设计框架
监控端页面设计框架详细信息如图4.9所示:
图 4.9 监控端页面设计框架
4.5 监控模块关键技术的实现
会议实时监控是用户通过页面实时查看会议的目前的与会情况,会议状态,以及控制当前会议的进程。它需要实现页面无刷新的与后台的异步交互,达到良好的用户体验,提供给用户一种即时响应的策略。而每个会话又要起个相应的线程,并建立与服务端的Socket通信。通过TCP连接,发送规定格式的消息包与接收规定格式消息包。另外一个会议监控只能有一个帐号进行管理。由此提出了以下几个需要解决的问题:
1) 怎么样实现信息的动态刷新?
2) 一个会话起相应一个线程并起一个Socket连接的问题?
3) 不同的会话判断用户的是否已经创建Socket连接,并取得该连接的问题?
4) 相同的会话在断线时或消息阻塞时,消息处理以及重新连接的问题?
5) 用户在刷新页面时,重新连接的问题?
6) 用户在强行关闭客户端时,用户登陆和超时判断的问题?
问题1:我们在第二章的中已经讨论到Ajax技术实现无刷新的数据更新技术以达到跟Servlet之间的异步的信息交互,达到良好的用户体验。其实现的核心代码如下:
function sendRequestToServer(oper){
xmlHttp=createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
var objDate=new Date();
xmlHttp.open("get","../ControlOperation?oper="+oper+"&date="+objDate.valueOf(),true);
xmlHttp.send(null);
}
问题2:由于采取的是一个服务端的Socket对应多个客户端的Socket的模式。系统实现了一个叫做SocketBean的类继承了Thread类并在run方法实现读消息包的处理。从而实现一个服务端与多个客户端之间的通信。服务端平台部已经实现,论文中不做其论述,其实现代码如下:
public class SocketBean extends Thread {
……
public void run() {
while (running) {
readMessagePackage();// 读包信息并处理
……
展开阅读全文