(船舶与海洋结构物设计制造专业论文)基于oracle数据库的船舶油漆涂装设计系统的设计与实现.pdf_第1页
(船舶与海洋结构物设计制造专业论文)基于oracle数据库的船舶油漆涂装设计系统的设计与实现.pdf_第2页
(船舶与海洋结构物设计制造专业论文)基于oracle数据库的船舶油漆涂装设计系统的设计与实现.pdf_第3页
(船舶与海洋结构物设计制造专业论文)基于oracle数据库的船舶油漆涂装设计系统的设计与实现.pdf_第4页
(船舶与海洋结构物设计制造专业论文)基于oracle数据库的船舶油漆涂装设计系统的设计与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(船舶与海洋结构物设计制造专业论文)基于oracle数据库的船舶油漆涂装设计系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 船舶油漆涂装设计系统是为了提高船舶企业油漆涂装工艺流程的设计效率而提出 的,它是船舶企业信息化建设的一部分。近年来,面向对象的软件工程思想,和以数 据库技术和网络技术为核心的c s ( c l i e n t s c r v e r ) 、b s ( b r o w s e r s e r v e r ) 架构,在企业级 的运算环境中起着越来越重要的作用。本文在以面向对象的软件设计思想指导下,采 用o r a c l e 数据库和j a v a 技术的c s 架构,开发了船舶油漆涂装设计系统。 在分析了船舶企业涂装工艺的现状,和对目标系统的提出的功能及性能要求后, 选择了适应企业级运算强度的o r a c l e 数据库及跨平台的j a v a 技术为基础的c s 体系结 构。 系统主要包括两部分,即服务器端数据库和客户端应用程序。数据库部分的设计 主要包括表格模式设计和p l s q l ( p r o c e d u m ll a n g u a g e s t r u c t u r e dq u e r yl a n g u a g e ) 程序 包设计。客户端主要包括j d b c o c i ( j a v a d a m b 髂ec o n n e c t i o n o r a c l ec a l l a b l ei n t e r f a c e ) 数据库访问和以m v c ( m o d e l v i e w - c o n t r o l l e r ) 模式为基础的s w i n g 界面设计。 系统的整个设计、开发过程以面向对象思想为指导,使用u m l ( u n i f i e dm o d e l i n g l a n g u a g e ) 为建模语言,j b u i l d e r 为开发工具完成。 在完成了基本的功能设计后,对系统进行了性能优化。 本系统对于提高船舶企业涂装工艺的设计效率,以及促进船舶企业的信息化建设, 具有较大的实用价值和重要的现实意义。 关键词:船舶油漆涂装 j d b c o c i 接口 u m l 建模 m v c 模式 p “s q l 性能优化 华中科技大学硕士学位论文 a b s t r a c t t h es n i p - p a i n t - s y s t e mi sp u tf o r w a r d e dt oi m p r o v et h ee f f i c i e n c yo fs h i pp a i n t i n g d e s i g n ,i t s a p a r t o fi n f o r m a t i o n i z a t i o no fs h i p b u i l d i n ge n t e r p r i s e r e c e n t l y , t h e o b j e c t o r i e m e d s o f t w a r e e n g i n e e r i n gt h e o r y , a n d d a t a b a s ea n dn e t w o r kb a s e dc s a r c h i t e c t u r et a k eam o r ea n dm o r ei m p o r t a n tr o l ei nt h ee n t e r p r i s ec o m p u t i n ge n v i r o n m e n t u n d e rt h eg u i d e l i n eo f o b j e c t o r i e n t e ds o f t w a r ed e s i g nt h e o r y , t h et h e s i sa d o p t sao r a c l e d b m sa n dj a v a t e c h n o l o g y b a s e dc sa r c h i t e c t u r et oi m p l e m e n tt h es y s t e m a f t e rt h ea n a l y s i so ft h es t a t u sq u oo f p a i n t i n gp r o c e s sa n dt h er e q u i r e df u n c t i o na n d p e r f o r m a n c eo ft h eo b j e c t i v es y s t e m ,t h es y s t e ms e l e c t ae n t e r p r i s e c o m p u t i n gi n t e n s i t y a d a p t e d o r a c l ed b m sa n d p l a t f o r m c r o s sj a v at e c h n o l o g y b a s e dc sa r c h i t e c t u r e t h es y s t e mm a i n l yc o m p o s e do ft w op a r t s ,v i z t h es e r v e re n dd a t a b a s ea n dc l i e n te n d a p p l i c a t i o n t h ed a t a b a s ee n di n c l u d e st h e t a b l es c h e m aa n dp l s q lp a c k a g ed e s i g n , h o w e v e r , t h ec l i e n te n dc o n s i s t so ft h ej d b c o c id a t aa c c e s sa n dm v c b a s e ds w i n g i n t e r f a c ed e s i g n i nt h ew h o l e p r o c e s so f t h es y s t e md e s i g na n dd e v e l o p m e n t ,t h eo b j e c t - o r i e n t e dt h e o r y i sh e a v i l yu s e d t h es y s t e mu s e st h eu m lf o rs o f t w a r em o d e l i n g ,a n dj b u i l d e rr a d f o r c o d i n g a f t e rt h eb a s i cf u n c t i o nd e s i g na n d i m p l e m e n t a t i o n ,p e r f o r m a n c et u n i n g i sm a d eb o t ha t t h ed a t a b a s ee n d a n dt h ec l i e n te n d t h e s y s t e m c a ni m p r o v et h e p a i n t i n gd e s i g ne f f i c i e n c y i t s i n n o v a t i v ea n dv e r y i m p o r t a n tf o r t h ei n f o r m a t i o n i z a t i o no f t h es h i pb u i l d i n ge n t e r p r i s e k e y w o r d s :s h i pp a i n t i n g j d b c o c ii n t e r f a c e u m l m o d e l i n g m v cp a t t e r n p l s q l p e r f o r m a n c et u n i n g i i 独创性声明 本人声明所里交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个 人或集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:、幻戏七f 日期:柏争年5 月占日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本沦文属于 不保密囱。 ( 请在以上方框内打“”) 学位论文作者签名:刁残怀 指导教师签名:彩规 r 期:1 c f 年;月6 日 日期:冽4 年f 月l 。日 华中科技大学硕士学位论文 1 1 课题背景 1 绪论 当前,信息化浪潮在全球风起云涌,人类社会在经历了农业经济和工业经济后, 正在步入一种崭新的经济发展模式信息经济。信息经济的主要特征是信息技术在 经济发展中起着关键性的作用。信息经济的到来主要得益于信息革命。同样,由于信 息革命,人类正在进入一种全新的社会形态信息化社会】。 特别是自从本世纪9 0 年代以来,信息技术给这个世界带来了日新月异的变化,发 达国家由于在信息技术方面起步更早于发展中国家,这使得它们世界经济的统治地位 得到进一步的巩固弘l 。 目前,世界各国对信息技术对国民经济的促进寄予厚望,并相应地制定了一些政 策法规,为信息技术的发展提供方便,以使其更好地为国民经济服务。在国内,国家 也认识到信息技术的重要性,并制定了相应的应对措旋。由于国内处于一个尚未完成 工业化的阶段,为了赶上这趟快车,国家采取了“以信息化带动工业化” 3 1 的英明决 策。企业作为经济活动的基本单元,是经济发展的主要增长点,企业的成败关系到国 家的盛衰。所以说,这项决策的本质,是要实现企业的信息化。 所谓企业信息化,即是挖掘先进的管理理念,应用先进的计算机网络技术去整合 企业现有的生产、经营、设计、制造、管理,及时地为企业的“三层决策”系统( 战术 层、战略层、决策层) 提供准确而有效的数据信息,以便对需求做出迅速的反应 4 1 。 船舶企业作为一种传统的重型制造业,也正面临和经历这场如火如荼的信息化浪 潮。传统的船舶制造过程,就是对原材料进行加工处理,然后生成几十万种零件,再 把零件装配成船,最后卖出去。这是一种物质制造过程,它几乎已进入利薄如纸的时 代。目日f 需要转变一种观念,即从单纯物质制造观,转变到一种信息制造观。所谓“信 息制造观”就是把整个一个制造过程看成是信息的获取、储存、加工、处理的过程, 而实现这个的目标的基础则是要在物质的造船企业的基础上构造信息化的造船企 华中科技大学硕士学位论文 业。为了在未来能够支撑以智能化为基础的体系结构,在构造企业的体系结构时应该 具有三个层次:最上面一层是决策层,中间是信息层,最下面是物质层。信息层对上 是支持决策,对下是规范和控制物测郇。 1 2 船舶涂装工艺 造船是一个非常复杂的过程。要经历分段制造与预舾装、船台或坞内合拢、下水、 码头舾装与系泊试验、试航等过程。在这个过程中,有一道重要的设计工作,即是进 行船舶的油漆涂装设计【6 ,7 1 。 船舶的涂装工作,主要是指船体结构与各种类型的舾装件的钢铁表面处理与涂料 的涂敷作业。船舶的涂装质量直接关系到船舶的维修周期、航速和使用寿命。而采用 怎样的涂料,以怎样的方式方法进行涂装作业则直接关系到船舶的建造周期和成本。 因此,涂装设计工作与船东和船厂的经济效益有着密切的关系。 船舶涂装设计工作的任务是解决船舶要达到怎样的防腐、防污和美化装饰的目的 以及怎样达到上述目的。因此,船舶涂装设计不仅需要制订表面处理与涂装的技术要 求,而且要制订工艺措施和管理方法。科学的涂装设计是保证船舶涂装质量的基础, 也是缩短造船周期,提高造船经济效益的有力手段。 目前,我国造船企业大多按传统的设计、工艺、生产、物资等划分,各个部门之 间的信息沟通主要通过技术文件的形式提供,设计部门的设计方案以图纸的形式提供; 工艺部门在此基础上制定工艺方案或加工流程,生成各种技术文件和表格;生产部门 依据这些资料进行生产。 涂装工艺主要涉及的数据有,1 ) 从设计部门来的产品零件图纸,其中包含各种需 要涂刷油漆的零件,2 ) 各种油漆产品信息。涂装设计过程其实就是工艺员运用已经掌 握的涂装经验,针对不同的零件,决定旅工的位置、除锈等级、油漆、颜色、涂装方 式、用量等的过程。 在涂装工艺中存在的一个问题是工艺员为完成涂装设计不得不手工查询大量的图 纸和工艺手册以取得各种技术参数,其效率甚低。而且,各种油漆定额的计算量也是 相当大的,经常难免会出现计算错误。其实油漆的定额是依赖于零件的涂装面积和使 华中科技大学硕士学位论文 用的油漆种类的,所以这种大量的计算只是一种重复计算,完全可以用计算机实现自 动化,工艺员要做的只是决定涂何种油漆。而且各种油漆的统计工作也可以实现程序 化【引。 本课题的主要目的是要解决船舶企业的油漆涂装工艺设计过程的计算机化,提高 设计效率。它是船舶企业信息化的一部分。 1 3 课题的技术方案 首先必须决定系统的总体架构。目前比较流行的有b s 和c s 结构。两种结构各 有优、缺点。为了保证系统的性能,本系统选择了c s 结构,即客户端服务器架构, 在服务器端运行关系数据库,在客户端运行应用程序。 为保证系统能够承受较大的工作强度,以及为了能够在以后更好地与其它系统集 成,必须综合考虑两方面的因素,一是性能,二是跨平台性 9 a o 。经过权衡,决定在 服务器端使用基于o r a c l e 的数据库管理系统,而在客户端使用基于j a v a 的应用程序。 o r a c l e 是经过时间考验的、用户可以信赖的关系型数据库管理系统。它不但保证 高性能,而且也具备跨平台性。服务器端主要包括各种表格数据以及访问数据的 p l s q l 代码。在这里采用p l s q l 主要是考虑性能因素,而且这也为以后的s q l 代 码优化提供了方便【11 , 1 2 , 1 3 。 j a v a 是面向对象的典型代表,它是由s u n m i c r o s y s t e m 公司发明的。它之所以如此 流行主要在于它跨平台的优势。它具备“一次编写,到处运行”的能力,在一个平台 下开发的应用代码几乎不用修改就可以在其它任何平台下运行。j a v a 几乎是一种无 所不能的技术。其内容何其广大。本系统主要运用其中的两个方面,一是j d b c o c i , 二是s w i n g 。前者用于与o r a c l e 数据库的通信,后者完成用户界面设计。 1 4 论文的主要内容 本论文主要描述了船舶油漆涂装设计系统的设计及实现过程,具体来讲包括如下 内容: 华中科技大学硕士学位论文 1 ) ,阅读相关资料,了解完成课题所需的理论知识和相关技术细节。 2 ) ,完成需求分析,实际走访船舶企业油漆涂装设计单位,了解业务流程,明确 目标系统的功能及性能要求。 3 ) ,完成总体设计,主要包括总体架构的选择,服务器端数据库的选定,客户端 访问技术的选定。 4 ) ,服务器端数据库表格模式及p l s q l 程序包的设计,完成数据存取和一致性 的维系。 5 ) ,客户端数据库访问及界面代码应用,完成用户交互功能。 6 ) ,优化系统性能,主要是服务器端s q l 代码的优化。 华中科技大学硕士学位论文 2 需求分析 需求分析,又称为系统定义,其任务是要回答系统“必须做什么”的问题,该阶 段所需要完成的任务是: 1 ) ,规定系统所满足的总体目标; 2 ) ,确定系统和经费,周期、人力、技术等方面的可行性; 3 ) ,确定完成系统各个目标所采取的策略,包括硬件选型、软件选型、开发工具选 型等等; 4 ) ,确定所需的成本及进度。 在需求分析阶段,最为关键的任务是系统使用者( 用户) 和系统开发者的多次交流。 即:用户能够使丌发者明确系统所应具备的所有功能,而系统开发者要能够使用户明 确所需求的功能中哪些可以实现,哪些不能实现,除此之外,还可实现哪些功能。经 过多次交流,双方最终取得系统目标的共识。作为系统开发人员,该阶段的大忌是未 弄明白用户的需求就急不可耐地开始编写软件。由于需求分析阶段是软件工程的第一 阶段,该阶段工作的优劣,将直接影响到下面几个阶段的工作。换言之,该阶段工作 未做好,将肯定造成今后几个阶段的返工,而得不偿失。所谓磨刀不误砍柴功,对于 需求阶段是再合适不过的比喻了。 2 1 业务流程的分析 涂装设计工作的内容是工艺员根据产品图纸和油漆信息库,依靠自身掌握的涂装 工艺知识和相关的涂装规范,制定涂装的工艺流程并确定工艺定额。具体来讲步骤如 下: 1 ) ,从设计部门取得零件图纸 2 ) ,设计涂装工艺方案 ( 1 ) ,根据零件图纸,计算零件上需要涂刷油漆的部位的面积 ( 2 ) ,确定施工的阶段,是在船台,还是在码头 华中科技大学硕士学位论文 ( 3 ) ,使用油漆的牌号及名称 ( 4 ) ,使用油漆的颜色 ( 5 ) ,涂装的方式,是喷,还是刷 ( 6 ) ,根据涂装面积和油漆种类计算油漆用量 ( 7 ) ,根据涂装面积和油漆种类计算稀释剂用量 3 ) ,填写并打印涂装明细表 2 2 目标系统的功能 该系统的用户大致可以分为两类,分别是涂装工艺员和油漆采购员。由于他们各 自的业务范围不同,所以他们对系统也存在不同的功能要求。这些要求可以描述如下: 涂装工艺员: 1 ) ,可以插入、更新、删除零件相关参数( 如面积) 等 2 ) ,可以查询油漆信息,如各种参数或指标 3 ) ,对不同的零件进行涂装设计,要求旦零件面积和油漆种类确定,自动 计算油漆及稀释剂定额,而且以后无论何时更新面积或油漆种类,其油漆 定额和稀释剂定额自动更新 4 ) ,对涂装记录进行插入、更新、删除等 5 ) ,能够生成并打印输出涂装明细表 油漆采购员: 1 ) ,可以对油漆记录及相关参数进行插入、更新、删除等操作 2 ) ,能够对各个零部件的油漆用量进行分类统计 3 ) ,能够生成并打印输出油漆订购单 经过对业务过程的分析及用户对目标系统的要求,可以得出系统中所涉及的实体 及相互关系,这就是系统的概念数据模型1 6 ,可以用图2 1 所示的表示: 华中科技大学硕士学位论文 2 3 系统用例 图2 - 1 概念数据模型 按照u m l 的观念,系统的功能可以用用例表示。所谓用例是指系统的外部事物( 活 动者,或角色) 与系统的交互,它表达了系统的功能,即系统所提供的服掣1 7 , 1 8 o 用例图是一种描述用例的可视化工具,它用简单的图形元素表示出系统的活动者 ( a c t o r ) 、用例,以及它们之间的联系,准确地表达了活动者与系统的交互情况和系 统所能提供的服务1 9 , 2 0 , 2 1 。 经过对涂装业务的分析,可以得出该系统的用例图,如图2 2 所示: 图2 - 2 系统用例图 由用例图可以看出,涂装工艺员和油漆采购员对系统功能有不同的使用范围,而 以前者为主。涂装工艺员可以查询油漆记录,但不能增删油漆记录,而油漆采购员则 9 q 员天嫩v 凇 屉毫 一 。一么 拳 华中科技大学硕士学位论文 可以进行插入、更新、删除等全部油漆维护操作。 在得到系统的用例图后,可以用顺序图( s e q u e n c ed i a g r a m ) 对系统中的关键用例 进行详细的描述。顺序图描述对象是如何交互的,并且将重点放在消息顺序上,也就 是浣,描述消息是如何在对象间发送和接收的。顺序图有两个坐标轴:纵坐标轴显示 时间,横坐标轴显示对象。顺序图也显示特殊情况下的对象交互:在系统执行期间的 某一时间点发生在对象间的特殊交互( 如,当用到一个特殊功能时) 2 2 , 2 3 , 2 4 】。 下面以涂装为例,用顺序图进行描述,如图2 3 所示: 匦回国区 维护冶 图2 - 3 涂装顺序图 下面对顺序图给出简单的解释: 1 ) ,涂装工艺员首先输入用户名和密码,试图登录系统,经过系统对用户的权限 进行验证,如果为合法用户,则允许用户进入系统,并进行进一步的操作。 2 ) ,用户试图获取零件及其参数,系统将查询零件库,并返回零件信息给用户。 3 ) ,用户在得到零件信息之后,试图获取油漆,系统将查询油漆库,并返回油漆 信息给用户。 华中科技大学硕士学位论文 4 ) ,用户在得到零件信息和油漆信息之后,依据涂装规范和所掌握的涂装知识, 对零件进行涂装。完成之后,系统将涂装记录插入到涂装方案表。到此,次涂装成 功完成。 系统的一些其它用例,如油漆维护、打印报表等,也可以用相应的顺序图加以详 细的描述,其过程与此类似,限于篇幅,在此不再赘述。 华中科技大学硕士学位论文 3 总体设计 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样 做”的时候了。总体设计的基本目的就是回答“概括地说,系统应该如何实现? ”这个 、u j 题,因此,总体设计又称为概要设计或初步设计。 总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案; 结构设计,确定软件结构。软件设计的最终目标是要取得最佳设计方案。所谓“最佳” 是指,在若干个候选方案中就节省研制费用、降低资源消耗、缩短研制时间的条件下, 赢得较高的工作效率,以及较高的软件可靠性和可维护性【1 5 , 2 5 】。 3 1 体系结构的选择 在软件开发过程中对整个软件系统的体系结构进行分析与设计远比对算法与数据 结构的选择更加重要。软件体系结构关心的正是整个软件系统的结构,它决定一个软 件系统由什么样的组件构成,以及这些组件之间的交互关系如何,并提供一种模式指 导组件的合成。软件体系结构在软件工程中已扮演着越来越重要的角色。 从系统实现的技术角度来说,一个成功企业应用系统的实现应当遵从一种开放、 规范的企业计算模式。计算模式的发展经历了从7 0 年代的终端主机模式、8 0 年代的 客户机朋艮务器( c l i e n t s e r v e r ,c s ) 模式和9 0 年代出现的基于w e b 的浏览器服务 器( b r o w s e r s e r v e r ,b s ) 计算模式三个历史阶段。在这三种计算模式中,终端主机模 式由于缺乏足够的灵活性,目前已经很少使用了。而c s 模式的出现已经有很长的时 间,但它并没有因为b s 模式的兴起而销声匿迹。当然,b s 模式目前因为i n t e m e t 的流行而大有后来居上之势。不管怎样,不同的计算模式将适合不同的应用场合。下 面简单的对c s 、b s 模式加以比较,以便为系统选择更合理的系统架构形式1 5 】。 1 ) ,客户机朋匮务器f c s ) 体系结构 c i s 模式卜要由客户应用程序( c l i e n t ) 、服务器管理程序( s e r v e r l 和中问什 i m i d d l e w a r e ) :个部件组成。客户应用程宇是系统中用,、与数据进行交互的部件。服务 器豫f 亭负贞何效地管理系统资源,如管理一个信息数据库,其主要工作足当多个客, 华中科技大学硕士学位论文 一发地清求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客 户臆用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。 笫层为客户端它往往是一个具有丰富表现力的g u i 界而的应用程序。它一般 运行存p c 机上,并具备一定的逻辑处理能力。 第:层为服务器,它往往是具有强大处理能力的高端工作站或服务器。在上面运 行伞部的数据库服务和应用服务。 c s 模式的系统结构可以用图3 - 1 描述如下: 图3 - 1c s 系统架构 2 ) ,浏览器朋殴务器( b s ) 体系结构 b s 模式是一种以w e b 技术为基础的架构模式。把传统c s 模式中的服务器音1 5 分 分解为一个数据服务器与一个或多个应用服务器( w e b 服务器) ,从而构成一个三层结 构的客户服务器体系。 第一层客户机足用户与整个系统的接口。客户的应用程序精简到一个通用的浏览 擀软件,如n e t s c a p en a v i g a t o r ,微软公司的i e 等。浏览器将h t m l 代码转化成图文 呐笺的刚页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息 挺交给后台,并提i h 处理请求。这个后台就是第二层的w e b 服务器。 第:二层w e b 服务器将启动相应的进程来响应这一请求,并动态生成一串h t m l 代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数 搏的仃驳,w e b 服务器还需与数据库服务器防同完成这一处理工作。 华中科技大学硕士学位论文 第i 层数据库报务器的任务类似于c s 模式,负责协调不同的w e b 服务器发出的 s 0 l 清求,管理数据库。 c i s 横式的系统结构可以用图3 2 描述如下: 幽3 - 2b s 系统架构 3 ) ,c s 与b s 的对比 c s 与b s 各有优缺点,具体的对比如下: f 1 1 ,b t s 模式的优势 莳党,它简化了客户端。它无需象c s 模式那样在不同的客户机上安装不同的客 ,应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与 内存i m 且使安装过程更加简便、网络结构更加灵活,相对于c s ,b s 的维护具有更 人的灵活性,当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对 w e b 服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去 r 维护州协涧工作的不少麻烦。如果一个公司有上千台客户机,并且分向在不同的地 c i i ,1 f j | j 么便予维护将会显得更加莺要。 再次,它使用户的操作变得更简单。对rc s 模式,客户应用程序有自已特定的 觇格,使用者需要接受专门培i j i l 。而采用b s 模式时,客户端只是一个简单易用的浏 饱器软件。无沦是决策层还是操作层的人员部尤需培训i ,就可以直接使用。 域后,b s 特别适用于网卜信息发布。这是c s 所无法实现的。卜面让我们来看 ( s 棚对j 二b s 的一些优势。 r :) ,c s 模式的优势 华中科技大学硕士学位论文 首先,交互性强足c s 固有的一个优点。在c s 中,客户端有一套完整的应用程 咿,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。 b s 虽然山j a v a s c r i p t 、v b s c 邱t 提供了定的交互能力,但与c s 的一整套客户应用 f j 比是太有限了。 其次,c s 模式提供了更安全的存取模式。由于c s 是配对的点对点的结构模式, 采用适用于局域网、安全性比较好的网络协议( 例如:n t 的n e t b e u i 协议) ,安全性可 以得到较好的保证。而b s 采用点对多点、多点对多点这种开放的结构模式,并采用 t c p i p 这类运用于i n t e m e t 的开放性协议,其安全性只能靠数据服务器上管理密码 的数据库来保证。 再次,采用c s 模式将降低网络通信量。b s 采用了逻辑上的三层结构,而在物理 l 的网络结构仍然是原来的以太网或环形网。这样,第一层与第二层结构之间的通信、 第一层与第三层结构之涮的通信都需占用同一条网络线路。而c s 只有两层结构,网 络通信量只包括c l i e n t 与s e r v e r 之间的通信量。所以,c s 处理大量信息的能力是b s 所? 无法比拟的。 最后,山于c s 在逻辑结构上比b s 少一层,对于相同的任务,c s 完成的速度 总比b s 快。使得c s 更利于处理大量数据。 鉴于对c s 和b s 的比较,到底应该选择哪种模式呢,最终还是要取决于应用的 特殊性。 由于本系统具有如下的特点: 1 ) ,用户并不是很多,大约就是几个,或十几个人。 2 ) ,系统对性能要求比较高,数据量较大。 3 ) ,用户与系统的交互较复杂,要求系统界面有较强的表现力。 基于这些特殊情况的考虑,系统最终选择了c s 模式的系统架构,可以较好的满 足要求。 3 2 服务器端( 数据库) 设计 在选定了系统的总体架构之后,就可以开始分别设计服务器端和客户端了。服务 华中科技大学硕士学位论文 器端要完成的主要任务是数据管理,而客户端则去访问这些数据。 数据管理的内容包括数据的分类、组织、编码、存储、检索和维护。从计算机诞 生到现在,数据管理经历了从人工管理、文件系统再到数据库管理的几个阶段。数据 库可以提供独立于应用程序的数据,并保证低冗余度和高可靠度。 就数据库而言,大致说来,经历了从层次数据库、网状数据库到关系数据库、对 象数据库的发展过程。就目前来看,正处于从关系数据库向对象数据库过渡的阶段。 1 9 7 0 年e d g a i lr + t o d d 发表了第一篇关于关系数据库理论的论文”ar e l a t i o n a l m o d e lo fd a t af o rl a r g es h a r e dd a t ab a n k s ”,首次提出了关系模型的概念。关系 数据库从此诞生,经过3 0 余年的发展,其理论已经相当成熟。 建立在关系理论上的关系数据库产品种类颇多,不过其中具有领导地位的只有三 家,即o r a c l e 、i b md b 2 、m ss q ls e r v e r 。相比之下,前两者皆能提供可运行于大多 数流行的操作系统平台的数据库,而后者目前只提供运行于w i n d o w s 平台的数据库。 为保证数据库的平台无关性,应尽可能选择o r a c l e 或i b m 的产品。鉴于客户方已 与o r a c l e 公司建立长期的合作关系,选择o r a c l e 作为系统的数据库运行平台也是理所 当然。 o r a c l e 公司自7 0 年代以来,一直为业界提供性能卓越的数据库产品。其版本也不 断更新,比较有代表性的几个版本如:7 3 4 、8 1 7 、9 2 【2 6 j 等。自o r a e l e 8 i 以来,为了 迎接来自“面向对象”的挑战,其产品中不断加入面向对象特性,并广泛采用j a v a 技 术,使其跨平台性进一步增强。 o r a c l e 具备高可靠和高性能的特征。它提供基于角色的权限访问机制,非常有利 于对错踪复杂的用户访问进行有效的控制;经过优良设计和调熬的o r a c l e 数据库能够 在多用户并发访问下保持高性能。 o r a c l e 数据库是基于标准s q l 的关系型数据库,并在此基础上做了一些扩充。主 要包括一些高效的s q l 语法和过程化的访问机制。我们知道,o r a c l e 数据库与a n s i s q l 高度兼容,但其扩充部分,则是不兼容的。但恰恰是这些扩充部分,为我们提供 了与众不同的性能优势。客观地讲,一个应用系统的架构,其不同部分的可变程度是 不一样的,就底层数据库而言,可以说一经确定,就很少改变。因为数据库是整个应 华中科技大学硕士学位论文 用系统的基础,不是说想变就变的。因此,在确定了采用某种特定的数据库平台后, 是可以利用其扩充功能的,这或许会对所谓的移植性有一定的影响,但由于移植数据 库平台的可能性微乎其微,所以宁愿选择高性能,而不是通用性。 o r a c l e 所提供的p l s q l 过程语言,就是其扩展部分的重要部分。我们知道,标准 的s q l 语言,是一种第四代( 4 g l ) 的非过程化语言。它非常高级,你只需向它提出数 据请求,而不必告诉它怎么取得数据,它自然会为你提供合适的数据。事实上,这些 任务都交给d b m s 去完成了。在为用户提供了方便的同时,却加重了d b m s 的负担。 由于s q l 只是一种非过程化的语言,所以它缺乏常见的连续、选择、重复等控 制逻辑。这使得它在处理较复杂的业务过程时往往显得力不从心。这就是需要过程化 语言的理由。 p l s q l 是o r a c l e 公司为其实数据库产品开发的一种第三代( 3 g l ) 过程化语言。它 可以提供各种常见的控制结构,用以辅助s q l 语言完成比较复杂的数据逻辑。它通常 以程序包的形式存在于服务器端,某些时候也可用在客户端口7 ,2 鲋。 p l s q l 可以提供性能优势的原因在于,它以已编译形式封装复杂的数据逻辑,应 用程序在将s q l 请求发送到d b m s 时,d b m s 不用重新解析s q l 语句,就可以立即 执行。使用p l s q l 的一个优势就是它非常有利于以后的s q l 性能优化,这将在本文 的第6 章加以详述。另外,客户端可以同时将多个s q l 语句绑定在一个p l s q l 块中, 作为一个单元发送到d b m s ,这样做的一个明显好处是减少了网络流量,因为如果不 用p l s q l ,每一个s q l 请求都将在客户机与服务器之间有一个往返过程( 这个过程 可以用图3 - 3 描述) 【2 9 3 0 1 。 0 r a c i e 数攒库 i 幸幸幸 l髯产随 j ! i 程序 ld 姒c l e 敷据库 亩 謇产应糊程序 图3 - 3 使用s q l 与使用p l s q l 的调用比较 华中科技大学硕士学位论文 在本系统中,为提供更好的系统性能,在服务器端采用了p l s q l 程序设计。主 要思路是在基本的表格模式基础上设计一个p l s q l 程序包,完成应用中所需的全部数 据逻辑,这样,在编写客户端程序的数据库访问代码时,只需象传统的a p i 调用那样 就可完成数据库操作。 p l s q l 程序包由包规范和包体两部份组成,前者是包的公共接口,供外部程序调 用,后者是程序包的具体实现。本系统设计了程序包p a i n t p k g ,下面以其中一小部分 为例子,说明其使用方法: c r e a t e o rr e p l a c ep a c k a g ep a i n t p k gi s 。 - f u n c t i o ni n 5 e t p a i n n n g p p a r u h op a z t - p a r t _ n o t y p e , p _ a c t i o n p l a c ep a i n t i n g a c t i o np l a c e t y p e ,; p _ d e r l :p , a n kp a i n t i n g d o r u s t - r a n k t y p e , p _ p a i n t n a mp a i n t p a i n t _ n a m e t y p e , pc o l o rp a i n t i n g c o l o r i 了p e ,+ | p _ s t y l ep a i n t i n g s c y l e t y p e ,; pt i m e sp a i n t i n g t i m e s t y p e ,l p _ p a i n t d o s a g ep a i n t i n g p a i n l d o s a g e t y p e , p _ 1 h i n n e e d 0 5 a g ep a i n t i n q t h i n n e r d o s a g e t y p e ) r e t u r wi r t e g e r ;4 。 e n dp a i n t p k g :- 一 图3 4p l s q l 程序包规范片断 这是程序包的接口规范,其实现将在下一章讨论,客户程序只需按a p i 调用方式 直接调用它就可以了,其调用方式将在也将在下一章讨论。 3 3 客户端( 用户界面) 设计 以c s 体系架构的应用系统的客户端,通常是运行在p c 机上的具有g u i 界面的应 用程序。它一般完成与用户的交互,并承担部分简单的数据处理,如数据验证等。目 前构造g u i 的工具多为各式各样的r a d ( r a p i da p p l i c a t i o nd e v e l o p e r ) 如v c 、v b 、d e l p h i 、p o w e r b u i i d e r 等,它们能帮助程序员以“所见即所得”( w h a ty o u s e ei sw h a ty o ug e t ,w y s i w y g ) 的方式快速地构造出应用程序界面。 相比之下,前端开发工具的选择余地比后端数据库平台的选择要广泛得多。基本 | 二依程序员的喜好而定。尽管如此,还是存在一些其它的因素会限制选择的范围。比 如,就本系统而言,要求尽可能保证平台移植性,所以以上所列工具皆不适用,因为 华中科技大学硕士学位论文 它们所提供的a p i 是平台相关的,甚至仅仅在一种平台可用。 考虑到这些因素,本系统采用了基于j a v a 的技术来构造前端界面。 j a v a 技术是由s u nm i c r o s y s t e m 公司发明的一种纯面向对象语言,它以其“一次 编写,随处运行”的高度可移植性而深受用户喜爱。j a v a 之所以是可移植的,是因 为它是运行在一个所谓的“j a v a 虚拟机”上的,j a v a 虚拟机承担了不变的代码与可变 的操作系统平台之间的桥接任务【l ”。 j a v a 几乎可以完成任何任务。从只有指甲大小的微处理器,到大型分布式企业信 息系统,都是j a v a 的使用场合。s u n 针对不同的应用环境发布了三个不同的版本,即 适用于移动通信的j 2 m e ( j a v a2m i c r oe d i t i o n ) 、适用于桌面应用的j 2 s e ( j a v a2 s t a n d a r de d i t i o n ) 和适用于企业级应用的j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 。相比 之下,j 2 s e 是更基础的东西。 j a v a 包括的内容甚广,本系统所需要的将涉及到其中的两个方面。一是用于访问 数据库的j d b c 技术,二是用于构造用户界面的s w i n g 技术。 j d b c 是一种用于执行s q l 语句的j a v a a p i 。它由一组用j a v a 编程语言编写的 类和接口组成。j d b c 为工具数据库开发人员提供了一个标准的a p i ,使他们能够用 纯j a v aa p i 来编写数据库应用程序。在s u n 为用户提供通用的j d b c 驱动程序的同 时,各数据库厂商往往为其数据库产品提供了相应的增强型j d b c 驱动程序,并保证 它与标准j d b c 驱动程序兼容。这些增强型驱动程序对数据库产品进行了特定的性能 优化。本系统为了尽可能提高系统的运行效率,就采用了o r a c l e 公司提供的驱动程序。 可用于与数据库的驱动程序可用图3 5 表示( 参考 o r a c l e 8 ij d b cd e v e l o p e r sg u i d e a n dr e f e r e n c e ) d h : 华中科技大学硕士学位论文 幽3 - 5o r a c l ej d b c 驱动程序 在客户端常用的两类驱动程序分别是j d b ct h i nd r i v e r 驱动程序和j d b co c i d r i v e r 。二者的适用环境有所不同。相比之下,前者不需要在客户端安装本地支持库, 主要适用于轻量的w e b 访问。后者需要在客户端安装本地支持库,主要适用于强度较 高的数据访问。一般情况下,前者通用性更好,而后者性能更高。经过权衡,本系统 采用了j d b co c id r i v e r 驱动程序。 在用j d b c 从数据库取得数据之后,就需要将数据呈现给用户了。在基于c s 的j a v a 应用程序中,用于构造g u i 界面的技术似乎不多,大家所熟知的大约只有s w i n g 了。 另外,目前由e c l i p s e 团队开发的s w t 技术是另一种选择,不过它还未被广泛接受, 而待其成熟也尚需时目。因此,本系统还是选择了s w i n g 技术来开发前端应用界面。 s w i n g 的插入式界面样式由一个基于s m a l l t a l k 的“模型一视图一控制器 ( m o d e l v i e w c o n t r o l l e r ,m v c ) ”设计的组件体系结构和用于管理界面样式的下层 构件组成。其基本架构如图3 - 6 所示 3 2 , 3 3 】: 8 华中科技大学硕士学位论文 m o d e l 模型 c o n t r o li e r 依据 接收到的事件, 魁新帅d e i m o d e l 将数据传递 给v i e 鼻,以蔷璺现 c o n t r o ll e r 控制嚣 v i e w 揽圈 v ie _ 决定哪些事抖 传递剖c o n t r o lie r , 以餐处理 图3 - 6m v c 基本架构 m v c 体系结构是为那些需要为同样的数据提供多个视图的应用程序而设计的。m v c 把应用程序分为三种对象类型: 模型:维护数据并提供数据访问方法。 视图:绘制模型的部分数据或所有数据的可视图。 控制器:处理事件。 模型负责维护数据,例如,一个笔记本应用程序将把文档文本存储在模型中。模 型通常提供访问和修改数据的方法。当模型变化时,这个模型还把事件发送给已登记 的视图,对此,视图根据模型的变化来更新自己。 视图负责提供模型的部分数据的可视图。例如,一个笔记本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论