已阅读5页,还剩58页未读, 继续免费阅读
(通信与信息系统专业论文)基于j2ee的铁通资源管理系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 1 课题背景 第一章绪论 随着信息时代的到来,新业务和新技术迅速推广应用,通信 网业务种类、数量急剧增加,全网干线通信设备日益更新,通信 网络正变得性能更强、分布更广和规模更为庞大。全网的干线通 信设备经历了从明线传输到电缆传输,从电缆传输到光纤传输, 从模拟设备到数字设备的发展过程。近几年,通信干线又从p d h 设备逐步转换到s d h 同步传输设备及d w d m 密集波分复用设 备。随着用户生活水平的提高,电话初装量的不断增加,各种新 型用户,例如网吧、话吧等不断涌现,按入网设备和线缆变得越 来越庞大、复杂。 而现有的长途通信网络资源、长途通信业务、设备数据的管 理还是依靠对链路台账、设备履历、停机台账、电路应急倒代台 账等各种台账进行手工记录、人工管理;故障申告或调令下达还 是靠电报、电话和人工传递:各种网络性能指标是靠人工统计和 计算:并且没有一套先进的管理手段对有关市场及客户的信息进 行有效的管理。目前的号线管理也基本停留在人工台帐管理之上, 初装电话时需要查询大量台帐,并人工进行选路配置,效率比较 低下,而且不能保证交接箱、分歧头等接入网设备和线缆的有效 利用和管理。 通信网管理正面临着使运行管理及维护现代化、标准化、简 北京交通大学硕士学位论文 单化和自动化的直接的和紧迫的需求。所以有必要建设一套长途 通信业务、号线资源管理计算机综合管理信息系统,改善和提高 生产、指挥效率、从而进一步发挥既有通信设备的作用,有效的 管理和分配整个网络资源,使网络管理从单项的、人工的、独立 的、局部的和数据的,走向综合的、智能的、统一的、整体的和 可视化的,为铁通公司网络运行指挥管理提供先进的手段。 1 2 课题主要研究工作 1 2 1 课题目标 基于j 2 e e 多层结构,结合g i s ( 地理信息系统) 技术,使用 m a p x t r e m ef o rj a v a 中间件,设计并实现铁通瓷源管理系统。系 统的设计目标是对各种干线资源包括局结点、机房、设备、管道、 线缆、电路进行有效的可视化管理,可以方便地添加、删除、配 置网络资源,并提供完善的查询统计功能。 1 2 2 本文的研究工作 在项目开发过程中,做为项目负责人参与了从系统分析到编码实现的 全过程。具体的工作包括: 系统三层模型的设计 系统需求分析与u m l 建模 持久层的设计与实现 地图操作的设计与实现 北京交通大学硕士学位论文 1 3 本文组织 本文主要围绕基于j 2 e e 三层模型的铁通资源管理系统的设 计与实现进行了阐述。 第一章介绍了课题背景和目标。 第二章简要介绍了系统用到的主要技术:j 2 e e 平台和 m a p x 订e m ef o rj a v a 中间件。 第三章介绍了系统的分析与设计。系统采用u m l 分析与设 计。 第四章详细介绍了系统两个关键模块的实现,包括数据库访 问的实现和地图操作的实现。 第五章总结了系统的优势与不足。 北京交通大学硕士学位论戈 ;翌剥答謦理 姓坠鹱酉桶妥副朝攀喾菇鬻e 蟮牲曼型,馥羯矧监馘筠“箱 垂羹翱霍j 季骱耋娃i 鞠鞘藕豁;礤蒙臻暮薹签醋馨掌矗霾甥球噬m 燮蕊丽巧壤啪渤嗽缒显赫矧引姘菩基亭巍氧帮德;墅轻矩蜡一 扼捌醚彰| 螂 磊罄鼎攀晕士廷j 弹x 鳓够麴奄蒜谗罐陌堪灞 馑擦罐噶, 建岛罐嚆滢厢毯琅睡穗;褒簿雒懈锫忙磷澎硐镯灌遵淫潆 涸,毳圈副蚋琵媸葡处理地图数据的插件m a p x 根据用户数收取 费用,采用c s 模式,每一个客户端都需要购买一个擂件,费用昂贵。 采用b s 模式,并且采用瘦客户端模式( 参见第二章) ,客户 端只需要浏览器,没有业务逻辑,即使系统在服务器端进行了升 级也不会影响客户端的使用。 采用b s 模式,只需要在服务器端使用m a p x t r e l n ef o rj a v a 插件,只需要购买一份拷贝。大大降低了系统的费用。 综上,系统采用基于j 2 e e 的多层w 如g i s ( 地理信息系统) 架构。系统的结 x 北京交通大学颈士学位论文 e j b 规范定义了3 种不同类型的e j b :会话b e a i l ,实体b e 姐 消息驱动b e a n 。如图所示: 图2 2 e j b 的b e a i l 结构 会话b e a i l 代表短暂的与客户的会话,当客户结束执行时,会 话b e a l l 及它的数据就消失了。与会话b e a n 相比,实体b e a n 代表 存储在数据库的表,如果客户结束程序或服务器关闭,潜在的服 务方法会将数据存储。 2 1 2 多层模型 j 2 e e 平台使用多层分布式的应用模式。应用逻辑根据其功能 分成多个组件,各种不同的应用组件构成分布在不同的依赖于层 的机器上的j 2 e e 程序。下面列出了位于不同层的组件: 运行在客户机上的客户层组件 运行在j 2 e e 服务器上的网络层 运行在j 2 e e 服务器上的逻辑层 运行在e i s 服务器上的企业信息层 尽管j 2 e e 应用程序可以由三层或四层构成,j 2 e e 应用程序 北京交通大学硕士学位论文 通常由三层构成,因为他们分布于三个不同的位置:客户及,服 务器,后台数据库服务器。通过这种方式运行的三层应用模式拓 展了基于客户服务的两层模式。 图2 3j 2 e e 三层结构 在传统的c l i e 州s e r v e r 两层结构中,客户端直接连接到数据 库服务器,由二者分担业务处理,这样体系有以下的缺点: c l i 锄t 与s e r v e r 直接连接,安全性低。非法用户容易通 过c i i e n t 直接闯入中心数据库,造成数据损失; c l i e n t 程序肥大,并且随着业务规则的变化,需要随时更 新c l i e n t 端程序,大大增加维护量,造成维护工作困难; 每个c l i e n t 都要直接连到数据库服务器,使服务器为每 个c l i e n t 建立连接而消耗大量本就紧张的服务器资源: 大量的数据直接c l i e 州s e n 他r 传送,在业务高峰期容易 1 2 北京交通大学硕士学位论文 造成网络流量暴增,网络阻塞。 j 2 e e 使用多层模型改善传统两层模型的不足。在多层分布式 体系中,系统资源被统一管理和使用,用户可以通过网格门户透 明地使用整个网络资源。多层分布式体系具有以下优点: 安全性:中间层隔离了客户直接对数据服务器的访问,保护 了数据库的安全: 稳定性:对于要求2 4 7 工作的业务系统,多层分布式体系提 供了更可靠的稳定性: 1 、中间层缓冲c l i e n t 与数据库的实际连接,使数据库的实际 连接数量远小于c l i e m 应用数量。当然,连接数越少,数据 库系统就越稳定。 2 、f a i l r e c o v e r 机制能够在一台服务器当机的情况下,透明 地把客户端工作转移到其他具有同样业务功能的服务上。 易维护:由于业务逻辑在中间服务器,当业务规则变化后, 客户端程序基本不做改动; 快速响应:通过负载均衡以及中间层缓存数据能力,可以提 高对客户端的响应速度; 系统扩展灵活:基于多层分布体系,当业务增大时,可以在 中间层部署更多的应用服务器,提高对客户端的响应,而所 有变化对客户端透明。 2 1 3 关键技术 j 2 e e 平台涉及的技术很多,包括j s p s e l e t 、j d b c 、 r m i i i o p 、j n d i 、j m s 等等。本节着重介绍系统用到的j s p s e 1 e t 和j d b c 。 北京交通大学硕士学位论文 s e n r i e t s e r v l e t 是一种独立于平台和协议的服务器端的j a v a 应用程 序,可以生成动态的w 曲页面。 s e r v l e t 是位于w e b 服务器内部的服务器端的j a v a 应用程序, 与传统的从命令行启动的j a v a 应用程序不同,s e r v l e t 由w 曲服 务器进行加载,该w 如服务器必须包含支持s e r v l e t 的j a v a 虚拟 机。 j a v as e r v l e ta p i2 2 的类和接口组成两个j a v a 包,即: j a v a x s e r v l e t 和j a v a x s e 1 e t t h t f p 。 j a v a x s e l e t 包提供了控制s e 1 e t 生命周期所必需的 s e r v l e t 接口,是编写s e r v l e t 时必须要实现的。 j a v a x s e l e t h 仕p 包提供了从s e l e t 接口派生出的专门用于 处理h t t p 请求的抽象类和一般的工具类。 下面主要介绍j a v a x s e r v l e t h t l p 提供的 r r r ps e l e t 应用编程 接口。h t t p s e l d 类包含i i l i t o 、d e s t m “) 、s e r v i c e ( ) 等方法。其 中 x 北京交通大学硬士学位论文 解释。 一个h t t p 错误响应,重定向到另一个u r l 、s e r v l e t 、j s p 。 ( 3 ) d e s t m y ( ) 方法 d e s t r o y ( ) 方法仅执行一次,即在服务器停止且卸装s e r 、,l e t 时执行该方法。典型的,将s e l e t 作为服务器进程的一部分来 关闭。缺省的d e s 仃o y ( ) 方法通常是符合要求的,但也可以覆盖 它,典型的是管理服务器端资源。例如,如果s e r v l e t 在运行时 会累计统计数据,则可以编写个d c s t r o y 0 方法,该方法用于 在未装入s e r v l e t 时将统计数字保存在文件中。另一个示例是关 闭数据库连接。 当服务器卸装s e r v l e t 时,将在所有s e r v i c e ( ) 方法调用完成 后,或在指定的时间间隔过后调用d e s 廿o y ( ) 方法。一个s e l e t 在运行s e r v i c e ( ) 方法时可能会产生其它的线程,因此请确认在调 用d e s t m y ( ) 方法时,这些线程已终止或完成。 ( 4 ) g e t s e r v l e t c o n f i 9 0 方法 g e t s e 1 e t c o l l f i 9 0 方法返回一个s e r v l e t c o 曲g 对象,该对象 用来返回初始化参数和s e r v l e t c o n t e x t 。s e l e t c o n t e x t 接口提供 有关s e r v l e t 的环境信息。 ( 5 ) g e t s e l e t i n f o ( ) 方法 g e t s e r v l e t i n f o ( ) 方法是一个可选的方法,它提供有关s e l e t 的信息,如作者、版本、版权。 当服务器调用s e v l e t 的s e n ,i c e 0 、d o g e t ( ) 和d o p o s t 0 这三个 方法时,均需要”请求”和”响应”对象作为参数。”请求”对象提供 有关请求的信息,而”响应”对象提供了一个将响应信息返回给浏 览器的一个通信途径。i a v a ) 【s e n r l c t 软件包中的相关类为 北京交通大学硕士学位论文 着越来越多的程序员开始使用j a v a 编程语言,对从j a v a 中便捷 地访问数据库的要求也在日益增加。 j a v a 和j d b c 的结合,使信息传播变得容易和经济。企业 可继续使用它们安装好的数据库,并能便捷地存取信息,即使这 些信怠是储存在不同数据库管理系统上。新程序的开发期很短。 安装和版本控制将大为简化。程序员可只编写一遍应用程序或只 更新次,然后将它放到服务器上,随后任何人就都可得到最新 版本的应用程序。对于商务上的销售信息服务,j a v a 和j d b c 可为外部客户提供获取信息更新的更好方法。 j d b c 是一种低级a p i ,是高级a p l 的基础。j d b c 是个 “低级”接口,也就是说,它用于直接调用s q l 命令。在这方面 它的功能极佳,并比其它的数据库连接a p i 易于使用,但它同 时也被设计为一种基础接口,在它之上可以建立高级接口和工具。 高级接口是“对用户友好的”接口,它使用的是一种更易理解 和更为方便的a p i ,这种a p i 在幕后被转换为诸如j d b c 这样 的低级接口。j d b ca p i 既支持数据库访问的两层模型,同时也 支持三层模型。 在两层模型中,j a v a 印p l e t 或应用程序将直接与数据库进行 对话。这将需要一个j d b c 驱动程序来与所访问的特定数据库管 理系统进行通讯。用户的s q l 语句被送往数据库中,而其结果 将被送回给用户。数据库可以位于另一台计算机上,用户通过网 络连接到上面。这就叫做客户机服务器配置,其中用户的计算机 为客户机,提供数据库的计算机为服务器。网络可以是i n t 瑚e t ( 它可将公司职员连接起来) ,也可以是n e m e t 。 在三层模型中,命令先是被发送到服务的“中间层”,然后由 北京交通大学硕士学位论文 驱动程序加到他们现有的数据库中间件产品中。 本地协议纯j a v a 驱动程序:这种类型的驱动程序将j d b c 调用直接转换为d b m s 所使用的网络协议。这将允许从客户机 机器上直接调用d b m s 服务器,是i n 缸| 趴e t 访问的一个很实用 的解决方法。由于许多这样的协议部是专用的,因此数据库提供 者自己将是主要来源。 2 2m a p x t r e m ef o rj a v a 通过m a p x t r e m ef b rj a v a 可以开发出适合自己的地图应用, 如使用数据可视化和地图化辅助商业决策;实现更有效的资源和 资产管理,提高运作效率等。由于m a p x l r e m ef b rj a v a 是服务器 端软件,所以对于系统的可扩展性,可维护性,稳定性,安全性 总体成本等方面都有很大优势。使用m a p x t r c m ef b rj a v a 开发出 的应用,可以适合i n t m e t 和i n t e m e t 。 m a p x t r e m ef o rj a v a 版本是一套1 0 0 纯j a v a 类。它带有一 系列可视和非可视的j a v a b e a n ,易于集成在常见的j a v a 开发环境 中,例b o r l a n dj b u i l d e r ,o r a c l ej d e v e l o p e r 和s u n 的f o n e 。 m a p x _ 【r e m ef o rj a v a 于各个层次的开发者,如精通j a v a 的开 发者可以使用m a p ja p i 定制自己的应用,一般的开发者也可以 通过j a v a b e a n 开发应用,甚至不懂j a v a 的人也可以通过创建 x 北京交通大学硕士学位论文 组件化设计 组件化的设计使m a p x t r e m e 既可以用于c i i e m s e e r 结构 也可用于b r 0 ,s e r s e n ,e r 结构。 1 连接远程数据的能力 可以将地图数据放在空间数据库里通过m a p x t r e m e 访 问。 兼容w e b 环境 兼容支持i s a p i ,n s a p i ,c g i 的w e b 环境。 建议使用能够产生j a v a 对象实例的a p p l i c a t i o n s e n ,e r ,如 a p a c h e + t b m c a t 等。 编程方便 提供创建应用向导和j s p t a g s ,可以减少编码工作。此外 还提供了j a v a b e a n 。 2 2 2 应用结构 m 印x t r e m ef o rj a v a 典型的三层结构如图2 4 所示,客户端是 浏览器,应用逻辑在中间层,包括m a p j 的使用, m a p x t r e m e s e r v l e t ,数据库放在数据层。应用可能使用s e r v l e t 、 j a v a s e “e r p a g e 或j a v a b e 蛆实现。 北京交通大学硕士学位论文 图2 4m a p x t r e m e 三层结构 用户通过浏览器上的h t m 】或a p p l e t 和地图应用交互,如向服 务器发送地图请求。w e b s e e r 接收请求,服务器端的应用程序 和地图服务器交互得到新的地图,并嵌入到h t n l l 或印p i e t 中。如 果地图放在) b m s 中,需要使用j d b c 得到地图数据。 m a p x 订e m ef o rj a v a 通过浏览器,能够支持多种w e b 应用,包 括瘦客户端、中型客户端和胖客户端。他们的不同在于传输数据 量的不同。 北京交通大学硕士学位论文 图2 5 三种客户端 在瘦客户端应用中,所有的地图生成渲染是由服务器端完成 的。客户端只是接收g i f 或j p e g 图像( 交互式的) 。在服务器 端,m a p x t r e m e 作为一个s e r v l e t 与w e b 服务器相连接,或者集 成了w e b 服务器和应用服务器的功能。 在中型客户端应用中,w e b 浏览器装载了一个j a v a a p p l e t , 但是仍然从m a p x t r e m e 的s e l e t 获取g i f 或j p e g 格式的地图 图像。这样的环境可以允许更健壮和更灵活的用户界面,同时减 少从服务器端下载的数据量。 在胖型客户端应用中,装载了a p p l e t 后,地图以一系列矢量 的形式传输到a p p l e t 中。这样,除了从远程数据库中接收空间对 象外,所有的地图操作都由客户端印p l e t 完成。这样的环境最适 合于宽带内部网,所有的矢量数据都传输副每个客户端。要使用 这种模式,m a d x t r e m e 必须以命名用户方式注册。 北京交通大学硕士学位论文 2 2 3 主要类介绍 m a p x t r e m ej a v a 主要有四个组件:m a p x t r e m e s e l e t 、m a p j o b j e c t 、r e n d e r e r s 和d a t a p r o v i d e r s 。 m a p x t f e m e s e n ,l e t 是m a p x t r 锄ej a v a 提供的m a p p i n g s e r v e r , 支持客户端的三种请求: 请求地图图像 请求矢量地图数据 请求元数据( 如某一个图层的字段名) 可以通过m a p j 向m 印x t r e m e s e n ,l c t 发送请求,也可以使用 m 印x t r e m e j a v ax m lp r o t o c a l 和m 印x t r e m e s e 1 e t 通讯。 m 印x t r e i n c s e n ,l e t 不会记录信息,所有的地图状态信息都需 要由客户端提供。在完成实现地图请求对,图像的输出由多线裎 的r c n d e r e rs e r v e r 处理,数据的处理由d a t a p r 0 “d e rs e r v e r 处理。 m a p x t r e m e s e r v l e t 配置在s e l e t 容器中。这样分布可以使 m a p x t r e m e s e r v l e t 稳定的工作。 m a p x t r e m e s e r v l e t 完成地图工作,而s e 1 e t 容器负责负载平 衡、容错处理和安全性。在s 呲的j a v a w 曲s e r v c r 中有s e l e t 容 器,在b e aw 曲1 0 9 i c 中也有。a p a c h e 和i i s 中没有s e r v l e t 容器, 但可以使用单独的s e r v l e t 容器插件( 如j n m 或t 0 m c a t ) 。 m 叩j 用来管理整个地图状态,如地图中心,视野范围,投影, 距离单位,图层等等。m a p j 是m a p x 雠m e j a v aa p i 中最顶级的对 象。 m a p j 可以配置和不同的r e n d e r e r 和d a t a p r o v i d e r 工作。在许 多情况下,m 印j 相对于m a p x 仃e m e s e r v l e t 是c 1 i e m 端,它向s e i e t 2 7 北京交通大学硕士学位论文 发送请求( 包括地图状态) ,然后从s e n r l e t 获得地图图像和数据。 m a p j 是基于组件设计的,所以也可以直接访问地图数据,产 生图片。所以m a p j 可以配置成许多应用。 另外,m a p j 仅负责管理地图状态,所以占用较少内存。所以 很适合在多层结构的应用中工作在中间层。 r e n d e r e r 负责显示数据,m a p x t r e m e j a v a 有四种r e n d e r 。 l l o c a l r 船d e r e r 该r e n d e r 使用d a t a p r o v i d e r 从本地直接获 得数据,然后输出到j a v a g r a p h i c 2 d 对象上。 2 m a p x t r e m e i m a g e r e n d e r e r使 用该r e n d e r e r, m a p x t r e m e s e n ,1 e t 负责渲染图像。实际上,在m a p x t r e m e s e r v l e t 中是使用l o c a l r e n d e r e r 输出指定格式图像的。 3 i n t r a s e r v l e t c o n t a i n e r r e n d e r e r 这种r e l l d e r e r 可以用在 s e r v l e t 传递中。 4c o m p o s i c c r e n d e r e r 这种r e n d e r e r 可以只更新有数据变化 的图层,如实现g p s 目标监控。 d a t ap r o v i d e r 是关联m 印j 和地图数据的对象。m a p j 中每一 个图层都有一个d a t a p r o v i d e r ,d a t a p r o v i d c r 连接数据源并返回矢 量地图数据。 m a p x t r e m e j a v a 提供了连接如下数据源的d a t a p r o v i d c r : m 印i n f 0 1 a b l e o r a c l e 8 iw i 也s p a t i a lo p t i o n i n f 0 肌i xu 埘v e r s a ls e r v e rs p a t i a l m 珊d a t a b l a d e d b 2 s p a t i a l 、) i h r ee x t c n d e r 包含坐标信息的j d b c 表 e s r is h a p e 文件 北京交通大学硕士学位论文 第三章系统分析与设计 本章首先分析了系统的具体需求。然后使用u m l 对系统进 行建模,采用用例图描述系统的需求,并在用例图的基础上找出 系统中的领域模型。最后根据m v c 模式设计系统的包结构。 3 1 系统具体需求 系统的总的目标是对铁通公司各种干线资源包括局结点、机 房、设备、管道、线缆、电路进行有效的可视化管理,可以方便 地添加、删除、配置网络资源,并提供完善的查询统计功能。 系统按照功能划分主要包括五部分:节点管理,设备管理, 故障管理,线缆管理和系统管理。各部分具体需求如下: 3 1 1 结点管理 省节点、地区节点、局节点和机房统称为节点。节点的管理 包括打开结点,添加、删除节点,查找结点和查看节点属性等。 打开结点:打开选中结点,进入下一层。首先关闭原结点所属层, 添加结点 删除结点 结点属性: 然后显示下属层,合适设置缩放尺度。 以图形化操作添加结点。 删除指定结点。删除结点时,系统自动判断网络连接 和使用情况。节点中含有下一级节点时不允许删除。 显示结点基本属性,并可进行对基本信息进行修改, 北京交通大学硕士学位论文 并验证修改权限。 查找结点:按指定条件进行结点查找,将结果以列表方式显示。 3 1 2 设备管理 设备管理负责管理机房内各种类型通信设备。 添加设备:添加新设备。设备类型以图形库的方式提供,可根据 需要扩展新设备类型。 删除设备 移动设备 设备属性 设备查询 设备配置: 时隙配置 删除设备。当设备内含有机框卡板时不能删除。 移动设备,任意调整机房布局。 显示设备属性。 按指定条件查询设备。分简单查询和复杂查询两种, 均支持精确查询和模糊查询。 配置设备的机框、卡板、卡板端口及其连接属性。系 统以图形方式显示当前用户机框卡板信息。 进行端口时隙配置。 3 1 3 线缆管理 线缆管理负责管理长途和局间线缆。线缆主要包括光缆和电 缆两种。 添加线缆 删除线缆: 线缆属性: 添加新线缆。线缆类型以图形库的方式提供,可根据 需要扩展新线缆类型。线缆位置由用户选择的两个端 点决定。 删除线缆。当线缆正在使用时无法删除。 显示线缆属性。 北京交通大学硕士学位论文 线缆查询:按指定条件查询线缆。分简单查询和复杂查询两种, 均支持精确查询和模糊查询。 3 1 4 故障管理 故障管理负责设备的故障申报、恢复和统计。 故障申报:申报设备故障。将设备工作状态设为“故障”,设备图 故障修复 故障统计: 标将会变成红色,相应结点也变成红色,提示结点内 有非正常设备。系统会给出影响范围。 恢复设备故障。将设备工作状态设为“正常”,设备、 结点图标恢复原貌。 对设备故障申报或修复操作进行历史列表。 3 1 5 系统管理 系统管理负责维护使用系统的用户信息和日志。 用户管理:对目前可以使用本系统的用户进行管理,包括添加、 删除、修改操作。 权限设置:对员工分配权限。 系统日志:以列表方式显示所有员工韵全部操作过程。 3 2 系统结构 铁通公司的各种资源在地理上十分散并且和地理位置联系紧 密,例如各种设备的位置。使用传统的m i s 系统用文字的形式标 识设备的位置使得设备的选择非常的不直观。所以系统采用g i s 技术实现。 北京交通人学硕l 上学位论文 ( 1 ) 表明用例的某部分是可选的( 或者可能可选) 的系 统行为。将模型中的可选行为和必选行为分开。 ( 2 ) 表明只有在特定条件下( 有时候是异常情况下) 才执 行的分支流,如触发警报。 ( 3 ) 表明可能有一组行为段,其中的一个或者多个段可以 在基本用例中的扩展点处插入。所插入的行为段( 以及插入的顺 序) 将取决于在执行基本用例时与主角进行的交互。 3 3 2 系统用例图 根据上一节的系统具体需求,系统的参与者包括设备管理员 和系统管理员。设备管理员与系统的交互主要包括: 登录、查看端局、查看机房、查看设备、故障申报和故障恢复等。 其中查看设备又包括查询设备和选择设备子用例。故障申报和故 障恢复又包括选择设备子用例。 系统管理员与系统的交互主要包括: 登录和管理用户 系统总的用例图如下图所示: 北京交通大学硕士学位论文 替代流程用例中报少使用的逻辑路径,那些在变更工作方 式、出现异常或发生错误的情况下所遵循的路径。 以下一章将详细讨论的选择设各和故障申报用例为例。 用例1 :选择设各 主要参与者:系统管理员 用例描述:设备管理员从地图上选择设备。该用例是查看设备 故障申报,故障恢复的子用例。 前置条件:a c t o r 已登录 基本流程: 1a c t o r 进入机房管理页面 2a c t o r 输入设备的位置 3 系统查找该位置的设备 4 系统标注选择的设备 替代流程: 3 a 系统查找不到当前位置的设备 1 系统提示重新输入设备位置 后置条件:系统标注选择的设备 北京交通大学硕士学位论文 3 4 系统领域模型 领域模型是现实世界概念类或领域中现实对象的可视化表 示。领域模型说明问题域里有意义的概念类。通常可以用不定义 操作的一组类图来表示。可以表示:领域对象或概念类i 概念类 之间的关联:概念类的属性。 非正式的,个概念类就是一个观点、事物或者对象。概念 类的正式定义可以按照它的符号、内涵和外延来考虑: 符号代表一个概念类的单词或图片 内涵概念类的定义 外延概念类应用的一组实例 通常可以通过两种途径识别概念类:使用概念类分类列表和 识别名词短语。其中根据名词短语识别概念类简单实用。 领域模型的建立主要经过四步: i 用概念类分类列表或名词短语识别找出当前需求中的候选 概念类。 2 在领域模型中描述这些概念类。 3 在概念类之间添加必要的关联来记录那些需要保存记忆的 关系。 4 添加用来实现需求的必要属性 根据上一节得到的用例的文本描述,从中选出名词短语作为 概念类的候选。将其中一些舍弃,一些作为概念类的属性。最后 得到系统的领域模型。如图所示: 北京交通大学硕士学位论文 图3 3 系统领域模型 北京交通大学硕士学位论文 3 5 系统包结构 3 5 1m v c 设计模式 系统构架基于m v c 设计模式。m v c ( 模型视图一控制器) 是x e r o xp a r c 在八十年代为编程语言s m a l l t a l k 一8 0 发明的一 种软件设计模式,它强制性的使应用程序的输入、处理和输出分 开。m v c 应用程序分成三个核心部件:模型、视图、控制器。 视图是用户看到并与之交互的界面。在视图中其实没有真正 的处理发生,作为视图来讲,它只是作为一种输出数据并允许用 户操纵的方式。 模型表示企业数据和业务规则。在m v c 的三个部件中,模 型拥有最多的处理任务。被模型返回的数据是中立的,就是说模 型与数据格式无关,这样一个模型能为多个视图提供数据。由于 应用于模型的代码只需写一次就可以被多个视图重用,所以减少 了代码的重复性。 控制器接受用户的输入并调用模型和视图去完成用户的需 求。所以当单击w 曲页面中的超链接和发送h t m l 表单时,控 制器本身不输出任何东西和做任何处理。它只是接收请求并决定 调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模 型处理返回的数据。 m v c 的处理过程,首先控制器接收用户的请求,并决定应 该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的 请求并返回数据,最后控制器用相应的视图格式化模型返回的数 据,并通过表示层呈现给用户。 4 l 北京交通大学硕士学位论文 3 5 2m v c 模式的实现 在本系统中,包图如图所示: v i e w 包括两部分j s p 和m a p d i 印l a y 。j s p 负责显示数据和与用 户交互,j s p 中不包含任何业务逻辑。m 印d i s p l a y 封装了显示地图 的相关类。 c o n t r o l 包括三部分:m a p c o n t r o l 、c o n t r o l s e n r l e t 和m a n a g e 。 其中m a p c o m r o l 包负责实现地图相关逻辑。c o r l t m l s e r v l e t 负责程 序流程的调度,调用相应的模型和处理。m a n a g e 负责执行相应的 业务逻辑。 模型部分为e n t i t y 包。主要包括上一节确定的领域模型中的概 念类。 在m v c 之外,还有一个p e r s i s t e n c e 包。用于管理模型的持久 化。模型保存在关系数据库o r a c l e 中,用j d b c 进行访问。为了避 免将持久层的变动波及到业务逻辑层,将数据库访问进行了封装, 每一个e n t i t y 包中的类对应于一个d a 0 类。数据库的访问将在下 一章详细介绍。 北京交通大学硕士学位论文 v i e w c o n t r o l 淅o d e l 图3 4 系统包图 北京交通大学硕士学位论文 第四章关键模块实现 本章介绍了系统两个关键模块的实现。 第一部分介绍了数据库访问的实现。j 2 e e 中对数据库的访问 通常采用e j b ,尤其是c m p 实体b e a n 。考虑到应用服务器的造 价以及系统的规模,本系统没有使用e j b ,而是使用j d b c 直接 访问数据库。同时使用d a o 模式对j d b c 进行了封装。 第二部分介绍了地图操作的实现。由于相关资料很少( 实际 上只有产品的联机文档d e v e l o p e rg u i d e ) ,使用m a p x t r e m ef o r j a v a 实现地图操作是本系统的难点所在。 4 1 数据库访问的实现 系统使用j d b c 访问0 r a c l e 。j d b c 负责持久性数据访问和 管理,根据数据库类型的不同,s q l 语句的词法和语法也会有所 不同,这就造成了程序代码和数据访问代码之间的依赖关系;当程 序组件,即实体b e a n 、会话b e a n 或s e r v l e t 、j s p 等需要访问数据 源时,它们会使用正确的应用程序接口来得到连接并管理数据源, 但这样也会造成这些组件与数据源物理实现之间的依赖关系,从 而使得应用程序很难从一个数据存储实体移植到另一个数据存储 实体中去;当数据源的物理实现变化的时候,应用程序也必须相 应地加以改变。 4 1 1 d a 0 模式 数据访问对象( d a t aa c c e s so b j e c t ,d a o ) 模式将数据访问逻辑 4 5 北京交通大学硕士学位论文 的代码。同时也提高了应用系统的整体可读性和开发率。 集中处理所有数据访问。由于所有的数据访问操作都移交给 数据访问对象,这样应用系统其他部分就与数据访问实现隔离开 来,而全部相关操作都与数据访问对象集中处理,这样也使得相 关操作更加容易被维护和管理。 d a o 设计模式的缺陷: 添加了额外的层面。数据访问对象在数据用户和数据源之间 添加了一个层面,也就增加了一些额外的设计和实现的负担。 4 1 2 事务和异常处理 d a o 所执行的每一个操作,如创建、更新或者删除数据都 与一个事务相关联。事务界定是定义事务边 x 北京交通大学硕士学位论文 用程序的其余部分。只有在可以合理地预期调用者可以处理异常 时,d a o 接口中的方法才应该抛出检查过的异常。如果调用者 不能以有意义的方式处理这个异常,那么考虑抛出一个未检查的 ( 运行时) 异常。 4 1 3 d a o 实例 以设备的持久化为例。总共包括接口d a o ,抽象类 a b a 仃a c t d a o 和类e q u i p d a o 、d b u m 、d a o f a c t o r y 五个类。其 中涉及到了工厂模式和模板方法。类图如下: 4 9 北京交通大学硕士学位论文 中定义一个实现了算法骨架的方法( 模板方法) ,该方法包括可变 和不可变部分。模板方法调用其它方法,其中一些方法在子类中 覆盖。由此,子类覆盖的可变方法可以在可变点加入自己的特定 行为。例如,f i n d b y p k 方法是接口对应方法的实现,完成异常包 装,数据库资源的获得与释放,同时它调用了抽象方法 f i n d b y p k d b 。f i n d b y p k d b 由具体的d a o 覆盖( e q u i p d a o ) , 实现从具体的数据库表中根据主键查找记录并包装成e q u i p 返回 的操作。 a b s t r a c tp u b l i cc l a s sa b s t r a c t d a 0 i m p l 锄e n t sd a o c o n n e c “o nc o n n n m x 北京交通大学硕士学位论文 ) 类d a o f a c t o r y 用于获得d a 0 的实例。没有直接在业务逻辑层调 用n e w 生成实例,而是用f a c t o r y 进行封装是考虑到系统的可扩 展性。即使将来持久层的机制变化了,例如采用别的数据库,只 需修改d a o f a 鼬o r y 返回适当的d a o 实现,持久层的变化不会波 及到业务逻辑层,减少了层与层之间的耦合。 p u b l i cc l a s sd a o f a c t o r y p u b l i cs t a t i cd a og e t e q u i p d a 0 0 ( r e t u mn e we q u i p d a 0 0 ; ) 其它实体类的d a 0 类e q u i p d a o 是真正使用s q l 与数据库交互的类。覆盖了超类的 抽象方法。 p u b l i cc l a s se q u i p d a o e x t e n d sa b s 他衙d a o s 订i n gs e l e c t = ”s e l e c t + f r o me q u i p 帆r ee q u i p i d = ? ”; i n s e r td e l e t eu p d a t e p u b l i co b j 。c tf i n d b y p k 2 d b ( o b j e c tp k ) 廿w ss q l e x c 印t i o n i n ti d = ( ( i n t e g e r ) p k ) i n t v 矾u e o ; p s t = c o n n p r e p a r e s t a t e m e n t ( s e l e c t ) ; p s t s e t i n t ( 1 ,i d ) ; r s = p s t e x e c u t e q l l e l 了o ; r c t u mc r e a t e e q u i p f r o m r s ( r s ) ; 北京交通大学硕士学位论文 覆盖其它继承来的抽象方法 ) 持久层类的应用在下一节的地图操作模块的实现中介绍。 4 2 地图操作的实现 4 2 1 地图的组成 在一幅地图中,可以有多个图层,每个图层只显示部分信息, 例如街道、建筑、行车路线、行政区界等。下面是一个图层的示 例,四个图层组成一个地图。 图4 4 地图中的图层 地图由多个图层组成,而每个图层由多个地图图元组成。图 元分为点图元、线图元和面图元。还是以上图为例,自上而下, 图层1 和图层2 由点图元组成,图层3 由面图元组成而图层4 由 线图元组成。 地图中的图元与三种数据相联系。 图元的地理信息,包括位置和类型( 点、线、面) ; 北京交通大学硕士学位论文 图元的业务属性,以表示国家的图元为例,业务属性可能 包括国家的名称、人口、首都等 图元的显示方式。包括图元本身的显示和标签的显示。例 如填充的图标和颜色,线和面图元还包括线的类型等。 4 2 2 地图的m a p x t r e m e 表示 地图以图层为单位存储于数据库或文件系统。一个图层上的 所有f e a t u r e 构成整个图层。在概念上,图层相当于表,所以可以 将f e a t u r e 理解为记录r e c o r d 。实际上地图中的层在o r a c l e 中 就是一个表,表的每一条记录是本图层的一个图元。图层表的结 构正好对应于上节所述的图元所关联的三类信息。 对应于地图的概念,m a p x 仃e m e 用m a p j 类表示。m a p j 实际 上对应于个x m l 文档。其中记录了组成地图的各个图层的存 储位置以及所有图层的公共信息,例如坐标系。 m 印x t r e m e 用l a y e r 表示地图的图层。每一个l a y e r 是同一 种图元的集合。同时l a y e r 中还包括该图层的渲染信息,使得图 层可以根据用户的需要显示不同的信息。 m a p x t r e m e 用f e a 眦e 表示图元。图元的显示是三方面共同 作用的结果。首先是本图层的显示方式。存在于数据库的辅助表 m a p i n f b m a p c a t a l o g 中。然后是本图元的显示方式,存在于本图 层对应的表中。最后,也就是最上层的显示,是该图元所在的主 题的显示方式。 m a p x t r e m e 中的t h e m e 指的是满足一定条件的图元的集合所 对应的显示方式。例如,在世界地图中将所有人口超过一亿的国 北京交通大学硕士学位论文 涉及的主要类包括e w e q u i p j s pj sp m a n 鸥e e q u i ps e “i e t ,e q u i p 实体类,e q u i p d a of a i l l l r e d a 0 数据访问对象和m a p j 地图类。 e w e q u i p j s p 接受用户的输入,返回结果。主要结构是一个包含图片输入的 f o m l ,主要代码如下: 在f o m 中嵌入t y p e 为i m a g e 的i n p 吡t 。接收用户的鼠标点击事件。 用户在图上点击鼠标后,f o 蛐提交,并将鼠标点击的相对于图片 的位置保存在r e 日u e s t 中。 m a n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防溺水安全教育主题班会
- 电子电气产品能效检验员岗前工作水平考核试卷含答案
- 高炉炼铁操作工安全操作知识考核试卷含答案
- 耐火材料烧成工成果水平考核试卷含答案
- 家用电器产品维修工安全操作竞赛考核试卷含答案
- 皮鞋制作工道德能力考核试卷含答案
- 26年恶性胸水检测用药适配要点
- 26年LDT质控管理手册
- 医学26年:急性肾功能不全处理 查房课件
- 2026 减脂期汤品营养强化课件
- 道路(普通)货物运输企业安全管理制度
- 2025年大学《统计学-多元统计分析》考试备考题库及答案解析
- 成都2025年生地会考试卷及答案
- 《妇产科》住院医师规范化培训结业理论考试题库496至683题
- 普通货物运输安全生产管理制度
- 岗位应知应会知识培训课件
- 【《四自由度自动螺栓拧紧机器人结构设计》14000字(论文)】
- 2025中国带状疱疹相关性疼痛全程管理指南解读课件
- 新22G04 钢筋混凝土过梁
- 东北电网调度运行规程与操作策略解析
- 变压器维护保养培训课件
评论
0/150
提交评论