




已阅读5页,还剩75页未读, 继续免费阅读
(轮机工程专业论文)基于网络中间件的化学品船作业仿真培训软件开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文摘要随着网络通信技术和计算机仿真技术的迸一步发展,网络通信技术支撑下的船舶作业仿真培训软件获得了更广阔的发展空间。本课题主要研究了专用于网络数据通信的中间件的设计与开发和化学品船作业系统的仿真过程及其远程控制功能的实现。本文详细讲述了网络中间件的开发过程和化学品船作业仿真培训软件的远程控制的实现过程,其中包括网络中间件的概念和本质、软件设计思想、程序设计中采用的计算机编程技术、网络通信技术等。所开发的化学品船作业仿真培训软件是以化学品船的设备作业( 操作)模型和船舶数学模型为基础,结合计算机仿真技术,在计算机上生成具有真实感的仿真环境,实现船上压载、装卸货、洗舱、充惰等多种作业的操作培训仿真。采用网络中间件设计的化学品船操作软件具有应用范围广阔、支持网络教学、培训和考试等特点。网络中间件的应用较好地解决了各种类型数据的传输、客户端识别、远程控制等问题,满足了其对网络通信的需要。本课题采用了基于网络中间件的网络通信技术、c s 程序范式设计、动态链接库技术、多线程技术、远程控制技术、计算机屏幕抓取技术、网络并发控制、内存有效管理以及软件复用技术等计算机技术。开发的中问件支持自定义类型数据的通信,支持远程监视和控制,提供了开放的接口函数。化学品船作业仿真培训软件的开发涉及到系统建模和计算机仿真等知识和技术,其中采用了系统建模思想、动态链接库技术、设备环境绘图等计算机仿真技术和方法,并通过网络中间件技术实现了化学品船作业仿真培训软件的远程通信和控制功能。关键词:网络中间件,网络并发,粘包,化学品船,系统仿真武汉理工大学硕士学位论文a b s t r a c tw i t ht h ef = l l r t h e rd e v e l o p m e n to fn e t w o r kc o m m u n i c a t i o nt e c h n o l o g ya n dc o m p u t e rs i m u l a t i o nt e c h n o l o g y , t h es h i p p i n gw o r ks i m u l a t i o ns o f t w a r eb a s e do nn e t w o r kc o m m u n i c a t i o nt e c h n o l o g yg e t sm o r ee x t e n s i v ed e v e l o p m e n ts p a c e t h i sp r o j e c tm a i n l yi n v e s t i g a t e st h ed e s i g na n de x p l o r a t i o no ft h em i d d l e w a r ew h i c hi ss p e c i a l i z e di nn e t w o r kd i g i t a lc o m m u n i c a t i o na n dt h es i m u l a t i o np r o c e s s e so fc h e m i c a lt a n k e ro p e r a t i o ns y s t e mw i t l lt h ei m p l e m e n to fi t sr e m o t ec o n t r o lf u n c t i o n t h i sp r o j e c td e s c r i b e sa m p l yt h ed e s i g np r o c e s s e so fn e t w o r km i d d l e w a r ea n dt h ei m p l e t i o np r o c e s s e so fr e m o t ec o n t r o lc h e m i c a lt a n k e ro p e r a t i o na n dt r a i n i n gs o f t w a r e ,i n c l u d i n gt h em i d d l e w a r ec o n c e p ta n de s s e n c eo fs o f t v v r y ed e s i g ni d e a ,c o m p u t e rp r o g r a mt e c h n o l o g ya d o p ti np r o g r a m - d e s i g n e d ,n e t w o r kc o m m u n i c a t i o na n ds oo n t h eo p e r a t i o ns i m u l a t i o ns o f t w a r eo fc h e m i c a lt a n k e r , w h i c hb a s e do nm a c h i n e r yo p e r a t i o n a lm o d e lo f c h e m i c a lt a n k e r sa n dt h em a t h m a t i c sm o d e lo ft a n k e r s ,a n dc o m b i n i n gt h ec o m p u t e rs i m u l a t i o nt e c h n o l o g y , i sa no p e r a t i o na n dt r a i n i n gs i m u l a t i o ns y s t e mg e n e r a t e di nc o m p u t e rw h i c hh a sar e a l f e e l i n gs i m u l a t i o ne n v i r o n m e n ta n dc a r r i e so u tb a l l a s t i n g ,c a r g oh a n d l i n g ,t a n k e r sw a s h i n g ,i n e r tg a sc h a r g i n ga n do t h e ro p e r a t i o n s t h eo p e r a t i o n a ls o f t w a r eo f c h e m i c a lt a n k e r sw h i c ha d o p t st h et e c h n o l o g yo fn e t w o r km i d d l e w a r e ,c a nb ea p p l i e dt oal a r g e rr a n g eo fu s a g es u p p o r t i n go n l i n ee d u c a t i o n ,t r a i n i n g ,e x a m i n a t i o na n do t h e ri m p l i c a t i o n s t h eu s a g eo fn e t w o r km i d d l e w a r ei nt h en e t w o r ki m p l i c a t i o no ft h i ss o f t w a r eg i v e sab e r e rs o l u t i o nt ot h ep r o b l e m ss u c ha st h et r a n s m i s s i o no fd a t u mo fd i f f e r e n tk i n d si nc h e m i c a lt a n k e r s ,i d e n t i f y i n go fc l i e n t , r e m o t ec o n t r o l l i n ga n dp r o b l e m s ,a n dc a t e ri t sn e e do fc o m m u n i c a t i o no n l i n e t h i sp r o j e c ta d o p t sn e t w o r kt e c h n o l o g i e sb a s e do nn e t w o r km i d d l e w a r e ,c sp r o g r a m - d e s i g n i n g ,d l lt e c h n o l o g i e s ,m u l t i t h r e a d i n gp r o c e s s o rt e c h n i q u e ,r e m o t ec o n t r o lt e c h n o l o g i e s ,c a p t u r i n gt h es c r e e no fr e m o t ec o m p u t e r , t h en武汉理工大学硕士学位论文c o n t r o l l i n go fn e t w o r ki n t e r c u r r e n t ,e f f e c t i v em e m o r ym a n a g e m e n t , s o f t w a r et g u s ea n ds oo n i na d d i t i o n ,t h em i d d l e w a r es u p p o r tt h ec o m m u n i c a t i o no fu s e r - d e f i n e dd a t a , r e m o t em o n i t o r i n ga n dc o n t r o l ,a n dp r o v i d eo p e ni n t e r f a c ef u n c t i o n t h ec h e m i c a lt a n k e ro p e r a t i o na n dt r a i n i n gs o f t w a r ed e v e l o p m e n tr e f e r st os y s t e mm o d e l i n ga n dc o m p n t e rs i m u l a t i o ni na d d i t i o nt oo t h e rk n o w l e d g ea n dt e c h n o l o g y i th a su s e dt h es y s t e mm o d e l i n gt h o u g h t , d y n a m i cl i n kl i b r a r y ,d e v i c ec o n t e x ta n ds oo nc o m p n t e rs i m u l a t i o nt e c h n o l o g ya n dm e t h o d b e s i d e st h i s ,i ta l s or u mc h e m i c a lt a n k e ro p e r a t i o na n dt r a i n i n gs o f t w a r e sr e m o t ec o m m u n i c a t i o na n dc o n t r o lf u n c t i o ni n t or e a l i t yb yu s i n gt h et e c h n o l o g yo fn e t w o r km i d d l e w a r e k e yw o r d s :n e t w o r km i d d l e w a r e ,n e t w o r kc o n c u r r e n t ,d a t aa d h e r i n g ,c h e m i c a lt a n k e r , s y s t e ms i m u l a t i o n i i i武汉理工大学硕士学位论文第1 章绪论1 1 化学品船发展概述随着工业技术的发展,化学工业越来越向大型化、高效率的新水平发展,向连续化、流水化、机械化、自动化生产发展。这种生产方式的发展和改变,使得用陈旧的包装运输方法难以适应新的需要。散装化学品船所从事散装运输的液体,是指石油或具有火灾危险程度超过石油产品的易燃品,及具有其他重大危险性的货品以外的,其蒸汽压力在温度为3 7 8 c 时,不超过0 2 8 m p a 绝对压力的液体。散装化学品船至今已发展为第四代化学品船,以韩国大宇造船公司为总部设在美国的挪威斯图文特尼尔森公司建造的化学品船为代表。化学品船是高技术、高附加值船型,其造价为巨型油船的5 倍左右“】。现代化学品船在承运的化学品液货品种方面向多样化发展;液舱防腐能力、泵系和管系分隔、舱壁以及泵和管系材料等方面都在不断改进和发展,并朝着自动化程度高和节能方向发展。1 2 基于网络的化学品船培训软件化学品船作为世界航运中船舶液货运输中的一种,和液化气船( l p g 和l n g ) 、油船一起成为当代航运中操作难度较大、对船员要求更高的特种船舶。由于其本身运载货物的特性,化学品船的操作难度和危险性比一般船舶都要高,船员的不慎操作都可能会导致环境严重污染甚至灾难性的事故发生。因此,s t c w 7 8 9 5 公约第v 章对化学品船员的培训、发证要求就规定了相关在船上的操作修理、和保养及应急细则,在船员正式在该种船舶上工作之前需要进行一系列的安全培训,必须能够熟练操作之后才能上船工作。基于网络中间件的化学品船作业仿真培训软件设计主要研究了专用于网络通信的中间件的设计与开发和化学品船作业过程系统仿真及其远程控制功能的实现。通过网络中间件设计的具有远程控制能力的化学品船操纵软件应用范围更加广阔,其可以支持网络教学、培训和考试等应用。网络中间武汉理工大学硕士学位论文件在该软件的网络化应用中较好解决了化学品船各种类型数据的传输、客户端识别、远程控制等方面的问题,满足了其对网络通信的需要。1 3 中间件的概念和作用中间件( m i d d l e w a r e ) 是继操作系统和数据库管理系统之后随着网络的兴起和发展而新兴的一种基础软件,是在网络环境下的一种起承上( 应用软件) 启下( 操作系统) 作用的应用支撑平台。”,如图i - 1 所示。图1 - 1中间件在应用中的层次地位“1中间件属于可复用软件的范畴,位于操作系统软件之上、业务应用系统之下的广阔领域,是应用系统和系统软件之间的一类软件,发展极其迅速。其被称为有史以来发展最快的软件产品,在技术上还处于成长阶段,还没有统一的标准和模型,但它已经与操作系统、数据库并列为三大基础软件。中间件本质上是对分布式应用的抽象,抛开了与应用相关的业务逻辑的细节,保留了典型的分布交互模式的特征,将复杂的分布式系统以统一的层面形式呈现给应用。应用在中间件提供的环境中可以更好地集中于业务逻辑上,并以构件化的形式存在,最终自然而然地在异构环境中实现良好的协同工作嘲嘲。中间件是一类独立的系统软件或服务程序,分布式应用系统借助这类软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信,它是一系列规范和服务的集合,可以帮助我们更容易更有效地创建分布式的应用,它具备以下四个最基本的特征”1 :2武汉理工大学硕士学位论文1 ) 中间件是一类软件,而非一种软件;2 ) 运行于多种网络、硬件和o s 平台,可实现应用之间的互操作:3 ) 支持分布式计算,其最突出的特点是网络通信功能;4 ) 支持标准的协议,具有标准的接口。中间件的主要作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。采用中间件技术开发应用程序有显著的优越性,可以从以下三个方面描述中间件的作用。1 ) 中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。2 ) 中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。s t a n d i s h 的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少5 0 左右。3 ) 中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中问件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。1 4 中间件的分类中间件所包括的范围十分广泛,针对不同的应用需求所涌现出来的中间件产品也是多种多样、各具特色。在不同的角度或不同的层次上,对中间件的分类也会有所不同。综合市场上各种中间件产品的主要特点,大致可以划分为数据库中间件、远程过程调用中间件( r p c ) 、面向消息中间件( m o m ) 、对象请求代理( o r b ) 、事务处理管程( t p m ) 、专用中间件( p m ) 等m “】1 ) 数据库中间件通常是数据库供应商的产品,它只提供数据库连接,与o d b c 的某些功能相近,其应用比较固定。大多数的客户服务器系统都有一个客户程序存取服务器上的数据库,如果这个客户程序设计为只存取一种数3武汉理工大学硕士学位论文据库类型,并且将来也是如此,那么采用数据库中间件十分理想。2 ) 和数据库中间件相比,远程过程调用中间件更有利于向客户服务器计算,应用程序开发者就象使用接口函数调用本地数据库一样通过r p c 去访问一个远端服务器上的数据,同时,一个r p c 也能将程序控制传递到远端服务器中。3 ) 面向消息中间件基于消息传递和消息队列,可以提供一个更可靠的连接,避免了网络或服务器错误导致的系统瘫痪。m o m 根据开发者处理错误事件方式的不同,消息可以有多个目的地,也可以根据它是同步或是异步消息而具有多种传送方式。4 ) 对象请求代理被视为从面向对象技术过渡到分布式计算的推动力量。从封装和管理对象的方式上看,o r b 与r p c 类似,但是分布对象可以包含比r p c 或大多数m o m 更复杂的分布式请求或服务信息,并且可以用于非结构化的或非关系型的数据。5 ) 事务处理管程经过发展已经成为中间件中一个大的门类。t p m 的长处在于提供了一个事务处理的语法和a p i 让用户编写分布式应用,将速度和可靠性在程序中实现。6 ) 最后一种中间件是专用中间件。许多客户服务器开发工具和大型客户服务器应用都有它们自己的中间件技术。这些专用中间件专门为特定的工具或应用环境优化定制,其运转良好,但是却很难适用到现有的客户) l l i 务器环境、工具及其它应用中。1 5 中间件的发展状况及趋势在基础软件中,如果说我国在操作系统和数据库的研发方面已丧失了不少机遇,那么中间件为我们提供了切入基础软件的良好契机。介于操作系统和网络应用之间的广袤疆域都是中间件驰骋的领地,至今世界上也没有出现具备全面垄断能力的中间件产品。而且,我国在中间件技术方面醒得较早,跑得较快,目前至少已有四项中间件成果获得国家科技进步二等奖,从技术上说,处在与国际同步发展的地位。在国家8 6 3 等计划的支持下,国防科技大学、中科院软件所、北京大学和北京航空航天大学等国内研究机构已开发出产品化程度较高的、具有国际先进水平的中间件成果。4武汉理工大学硕士学位论文与此同时,国内已涌现出中创软件中间件、东方通科技、中和威软件、金碟中间件等一批从事中间件产品开发的专业公司,并在金融、电信、交通、政务、军事等领域获得大量成功应用,有的还替代了原有的国外中间件产品。中间件技术的诞生是为了用自身的复杂换取应用开发的简单,但目前的中间件技术本身已经有过于复杂和过于通用的倾向,使得用户在选择和使用时遇到很多麻烦。因此,如何使中间件技术能更简便、明了地满足应用的需要,将成为中间件技术的一个发展方向,也就是中间件软件自身需要整合和调整。一方面,中间件需要提供满足个性化应用的解决方案,形成一种特别适用的支撑环境:另一方面,中间件需要整合,使应用只需面对一个可以解决问题的软件平台,而非一大堆中间件产品。但不管如何,中间件技术的发展将会更加贴近应用,更加实用,满足用户需求。1 6 网络中间件在工业过程中的应用网络中间件属于专用中间件的一种,是专门用于各种网络服务的中间件技术,对于应用程序开发者来说,可以屏蔽掉烦琐的网络程序的设计,从而专注于实际应用对象的程序的设计嘲。在分布式系统中,各节点之间通过交换信息而相互协作,构成一个有机整体。通信是分布式系统的基础,其效率高低将决定系统的整体性能。网络中间件通过通信控制完成数据的可靠传输;采用多线程技术并发处理客户请求,极大地提高了处理能力;封装底层通信细节,为分布式系统的其他模块提供了统一透明的调用接口;兼顾效率和可靠性的要求,可以为分布式系统提供高效和可靠的通信服务,在分布式操作系统中得到了很好的应用。在工业过程系统仿真与控制中,网络中间件技术可以说是一种先进的网络监控技术,通过网络中间件可以很方便的实现工业控制对分布交互式系统数据通信与监控的功能“”“”。将网络中间件技术直接应用在实际的工业控制中,可以直接实现工业控制对网络监控的实时性、可靠性和可维护性、通信功能等方面的要求,以满足工业生产过程控制、交通运输、航空航天等领域不同程度的需求。本实验室的轮机仿真系统不仅涉及被仿真的系统本身,而且还涉及与之相关的其他系统。它是- - 1 3 涉及系统科学、计算机技术、过程控制、数据库5武汉理工大学硕士学位论文理论、自动控制、网络通信等多学科的交叉性研究领域。随着科学技术的进步,基于i n t e r n e t 的网络中间件技术应用在轮机模拟器中可以使得轮机模拟器可在局域网、校园网以及在i n t e r n e t 上进行培训、评估、研究等应用。分布交互式训练仿真系统通过计算机网络进行集成,将最先进的网络监控技术应用在轮机模拟器中,从而实现更大规模的综合训练。这是模拟器发展的大趋势。1 7 本课题研究的主要工作化学品船作业仿真培训软件是以化学品船的设备作业( 操作) 模型和船舶数学模型为基础,结合计算机仿真技术,在计算机上生成具有真实感的仿真环境,实现了船上压载、装卸货、洗舱、充惰等多种作业的操作培训仿真系统。网络中间件是在w i n s o c ka p i 接口函数和网络通信协议基础上设计的满足各种网络服务的中间件软件。其中包括多种类型网络数据通信、数据解析和存储、远程监视与控制和文件传输等内容。其开发难点主要集中在如何设计出一种高效的通信模式,以满足多客户端同时大量数据的通信需求、保证数据传输的实时性并支持多种数据结构的传输与解析。本课题研究的主要任务有:( 1 ) 利用系统分析方法分解船舶仿真模块,建立数学模型;( 2 ) 完成各子模块的界面设计,并设计仿真主程序:( 3 ) 实现模块间的通信、控制和数学模型的调度,实现仿真作业过程;( 4 ) 实现网络中间件多种类型数据通信;( 5 ) 通过网络中间件技术实现培训软件的远程通信与控制。6武汉理工大学硕士学位论文第2 章基于局域网的网络通信中间件设计思想网络中间件是在客户端服务器程序设计范式的基础上按照软件工程设计思想,结合大量的计算机程序设计技术和网络通信技术设计并实现的。本章节将介绍主流中间件的开发模型、网络中问件技术所采取的程序设计思想、相关w i n d o w s 编程技术和网络通信技术以及网络并发的控制。2 1 主流中间件的开发模型2 1 1c o m d c o m 模型d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) ,也即分布式组件对象模型,它是一系列微软的概念和程序接口,利用这些接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象“。d c o m 是c o m ( c o m p o n e n to b j e c tm o d e l ,组件对象模型) 的扩展,它支持不同的两台机器上的组件间的通信,而且不论它们是运行在局域网、广域网、还是i n t e r n e t 上。借助d c o m 的应用程序将能够任意进行空间分布。d c o m可以屏蔽底层网络协议的细节,应用程序则只需要集中精力于实际的应用。c o m 运行库向客户和组件提供了面向对象的服务,并且使用r p c 和安全机制产生符合d c o m 线路协议标准的标准网络包。在现在的操作系统中,各进程之间是相互屏蔽的。当一个客户进程需要和另一个进程中的组件通信时,它不能直接调用该进程,而需要遵循操作系统对进程间通信所做的规定。c o m 使得这种通信能够以一种完全透明的方式进行:它截取从客户进程来的调用并将其传送到另一进程中的组件。当客户进程和组件位于不同的机器时,d c o m 仅仅只是用网络协议来代替本地进程之间的通信。图2 - i 表明d c o m 的整体结构,以及c o m d c o m 运行库是怎样提供客户进程和组件之间的联系的。目前可以支持d c o m 部件开发的编程语言很多,如j a v a 、v i s u a lc + + v i s u a lb a s i c 、d e l p h i 、p o w e r b u i i d e r 等。7武汉理工大学硕士学位论文2 1 2j 2 e e 模型j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) ,是s u n 公司提出的一个标准。j 2 e e是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t应用中保护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v as e r v l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。2 1 3c o r b a 模型c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 。公共对象请求代理体系结构) 是由o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织)制订的一种标准的面向对象应用程序体系规范。c o r b a 体系结构是o m g 为解8武汉理工大学硕士学位论文决分布式处理环境中硬件和软件系统的互连而提出的一种解决方案。c o r b a 定义了一种面向对象的软件构件构造方法,包括一系列a p i 、通信协议和物件服务信息模型,使得异质应用程序能够互相操作。这些应用程序可以用不同的程序语言编写,运行在不同的平台上。c o r b a 为定义明确的物件提供了平台和位置的透明性,这些物件是分布式计算平台的基础。c o r b a 把用其他语言开发的程序码和关于该程序码能力和如何调用该程序码的资讯包到一个套装( p a c k a g e ) 中,包成套装的物件则可以在网络上被其他程序( 或c o r b a 物件) 调用。c o r b a 使用一种接口定义语言用于刻画物件将呈现出来的接口。c o r b a规定了从i d l 到特定程序语言( 如c + + 或j a v a ) 实现的映射。这个映射精确描述了c o r b a 资料类型是如何被用户端和服务器端实现的。2 2 软件工程设计思想和方法2 2 1 软件工程基本概念软件工程( s o f t w a r ee n g i n e e r i n g ,简称为s e ) 是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科“”。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。软件工程的框架包括目标、过程和原则。实施一个软件工程要选取适宜的开发范型,采用合适的设计方法,提供高质量的工程支撑,实行开发过程的有效管理,以求高效地开发高质量软件。软件工程涵盖了软件生存周期的所有阶段,包括计划、分析、设计、实现、测试、集成、交付、维护等。2 2 2 软件开发过程及常用模型软件工程的最终目标是高效开发高质量的软件,而软件的质量因素却很多,如正确性、性能、可靠性、容错性、易用性、灵活性、可扩充性、可理解性、可维护性等等。软件工程的主要过程包括可行性与需求分析、系统设计、程序设计,测试、维护等。软件工程模型就是用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,如同工厂的生产线。常见的开发模型包括瀑布模型、9武汉理工大学硕士学位论文渐增式模型、快速原型模型、螺旋模型、形式化描述模型等“。瀑布模型也即线性模型,是依次按照程序开发的步骤设计的最简单的模型;渐增式模型实质就是分段的线性模型,螺旋模型是接连的弯曲了的线性模型,如图2 2 ,2 3 所示。图2 - 2 软件工程的瀑布模型图2 - 3 软件工程的渐增式模型2 2 3 面向对象程序设计方法国外大的软件公司和机构一直在研究软件开发方法这个概念性的东西,而且也提出了很多实际的开发方法,比如:结构化方法、面向数据结构方法、原型化方法、面向对象方法等等。结构化开发方法也称为面向功能的软件开发方法或面向数据流的软件开发方法;面向数据结构的软件开发方法把问题分解和设计为顺序、选择和重复三种数据结构的组合,进而导出程序框架结构,以得到完整的程序结构图;面向问题的分析法的基本思想是考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合;原型化方法一般经过确定用户需求、开发原始模型、征求用户对初始原型的改进意见、修改原型等几个阶段。随着o o p ( 面向对象编程) 向o o d ( 面向对象设计) 和o o a ( 面向对象分析) 的发展,最终形成面向对象的软件开发方法o m t ( o b j e c tm o d e l i n g1 0武汉理工大学硕士学位论文t e c h n i q u e ) 。这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。所以o m t 彻底实现了面向问题方法没有完全实现的目标。不仅如此,面向对象技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破,基本地解决了在这些方面存在的严重问题。面向对象方法也就是将现实世界中的实物按其所具有的共同特性进行一定的抽象,并描述相关的思维和行为,这就是所谓的类( c l a s s ) 。对类进行实例化,就得到相应的对象。面向对象系统采用了自底向上的归纳、自顶向下的分解的方法,它通过对对象模型的建立,能够真正建立基于用户的需求,而且系统的可维护性大大改善“。面向对象方法和可视化开发工具的结合是当前程序开发的流行方式。可视化开发工具作为程序设计和开发的一种辅助工具,比如s y b a s e 的s - d e s i g n 、v c + + 、v b 、d e l p h i 和c + + b u i l d e r 等开发工具都是可视化的开发工具。2 3 客户服务器程序设计范式客户j j 务器程序设计范式是在设计c l s 网络通信控制或者数据交互的应用中总结出来的一些具有代表性的、可以给其它程序设计提供范例的程序设计框架,在实际应用中具有指导和规范作用。该类程序的客户程序的编写通常比服务器程序容易些,因为客户中进程或者线程的控制要少得多。因此,设计范式主要也是针对服务器程序的设计,主要分为迭代服务器和并发服务器两大类“”1 。2 3 1 迭代服务器迭代服务器( i t e r a t i v es e r v e r ) 的工作模式是在一个循环中依次完成每个客户的请求完成后再执行一个循环的工作过程。该模式总是在处理完某个客户的请求之后才转向下一个客户,在执行某任务期间不会侦听和处理其它任何任务。其依次执行接受连接、处理请求、关闭连接、等待下一个连接四个循环步骤。这样的服务器程序比较少见,其中没有进行任何的进程或线武汉理工大学硕士学位论文程控制。2 3 ,2 并发服务器,每个客户一个进程该并发服务器( c o n c u r r e n ts e r v e r ) 直接派生一个子进程来处理每个客户,这使得服务器能够通过多个子进程同时为多个客户服务。客户数目的唯一限制是操作系统对于以其名义运行服务器的用户i d 能够同时拥有多少子进程的限制。其缺点是该并发服务器需要耗费大量c p u 时间为每个客户现场派生一个子进程。随着网络应用的爆发式增长,这种模式的服务器显得无法适应现代的需要。该模式的增强模式就是采取预先派生子进程技术,在启动阶段就派生一定数量的子进程,当每个客户连接到达时,这些子进程立即就能提供服务。这种技术的优点在于无须引入父进程执行派生进程的开销就能处理新到的客户,缺点是父进程必须在服务器启动阶段猜测需要预先派生多少子进程,以避免造成子进程数量过多造成计算机资源浪费或者数量不够导致后续连接的客户端无法正常工作。2 3 3 并发服务器,每个客户一个线程该类服务器为每个客户创建一个线程,以减少为每个客户派生子进程的资源消耗,因为一个线程占用的资源远比一个子进程占用的资源要少得多程序设计中也可以在服务器启动阶段预先创建一个线程池以取代为每个客户现场创建一个线程的做法以提高性能加速。在等待客户端连接时则可以每个线程各自a c c e p t ,其中采用互斥锁保护,也可以由主线程统一a c c e p t 。本程序的设计是采取由主线程统一a c c e p t 并创建工作线程的。在并发服务器中选择进程还是线程来设计需要根据实际的情况决定。进程是一种代价昂贵的东西,它们在启动、清除、被操作系统追踪记录等方面都需要消耗大量的c p u 时间。进程和线程之间的代价几乎相差2 3 个数量级。系统同时存在5 0 0 个线程犹有可能,但同时存在5 0 0 个进程绝无可能。每秒钟产生和摧毁许多个线程尾可能的,每秒钟产生和摧毁许多个进程则是不可能的。但是进程的安全性和稳定性更强,予进程出崩溃并不影响主进程的正常运行,而进程中的一个线程出现问题则就会导致该进程的垮掉“。1 2武汉理工大学硕士学位论文2 4t c p ip 协议和o s i 模型2 4 1o s i 模型o s i 模型是设计网络系统的分层次的框架,它使得所有类型的计算机系统之间可以通信。o s i 模型并不是协议,它是对了解和设计灵活的、稳健的和可互操作的网络体系结构的有用模型,其目的是为了使得两个不通的系统能够较容易地通信,而不需要改变底层的硬件或软件的逻辑“”。o s i 模型包括七个分离但又相关的层次,其中每一层都定义了通过网络传送信息的一些过程。o s i 模型的物理层、数据链路层和网络层是网络支持层,其任务是在物理上将数据从一个设备传送到另一个设备。会话层、表示层和应用层可以看成是用户支持层,使得一些无关的软件系统有了互操作性。运输层将上面两个层组链接起来,使得低层所发送的是高层可使用的形式。在单台机器中,每一个层通过两层间的层间接口调用其下一层的服务,取出对该层有意义的数据。在机器之间则是使用某个给定层的协议的对等进程进行通信,这种通信是由一些协议来控制的,协议就是实现都同意的一组规则和约定。对等进程是指每一个机器的某个给定层上进行通信的进程。2 4 2t c p i p 协议族t c p i p 协议( t r a n s m i s s i o nc o n t r o lp r o t o c 0 1 i n t e r n e tp r o t o c 0 1 ) 叫做传输控制网际协议,该协议是i n t e r n e t 国际互联网络的基础和事实上的标准。通常说t c p i p 是指i n t e r n e t 协议族,它由t c p 、i p 、u d p 、i c m p 、r i p 、t e l n e t 、f t p 、s m t p 、a r p 、t f t p 等大量的各种功能的协议组成。t c p i p 协议族由五层组成:物理层、数据链路层、网络层、运输层和应用层( 也有将前两层合称为接口层) 。前四层和与o s i 的前四层相对应,提供物理标准、网络接口、网际互连以及运输功能,o s i 的上三层在t c p i p中则由应用层来表示。对应关系如图2 - 4 所示。1 3武汉理工大学硕士学位论文图2 - 4t c p i p 和o s i 模型的关系在物理和数据链路层中t c p i p 并没有定义任何特定的协议,它支持所有标准的和专用的协议。网络层提供主机到主机的通信服务,负责将分组从发送主机送到接收主机。网络层通过选路算法和协议为分组选择通过通信子网最适当的路径,并通过路由器的将数据报从源主机转发到目的地主机。运输层的作用是将两个端系统间的i p 交付服务扩展为运行在两个端系统上的进程之间的交付服务,提供进程逻辑通信功能”“。运输层协议是在端系统而不是在路由器中实现的,其中包括u d p 和t c p 。应用层为不同的端系统提供通过计算机网络交换报文互相通信的功能。应用层协议定义了进程间交换的报文格式和顺序,以及传输和接收到报文时采取的动作,其中包括交换的报文类型、各种报文类型的语法、字段的语义、报文响应规则等”。t c p i p 协议是在a r p a n e t 协议基础上发展起来的,并在1 9 8 3 年成为了正式的协议,包括i p v 4 、i p v 5 和i p v 6 三个版本。现行的t c p i p 协议的版本是i p v 4 。i p v 4 使得网络应用有了很大的发展,但是随着i n t e r n e t 的飞速发展,i p v 4 的设计方案已经暴露出设计的弊端并制约着i n t e r n e t 的发展。i p v 4有3 2 b i t 的地址空间,采用两级地址结构( n e t i d 和h o s t i d ) ,分为五类( a 、b 、c 、d 和e ) 。其编址方法消耗了大量的不必要的地址空间,从而造成地址空间使用效率低下,很快就会没有可留给新的i n t e r n e t 系统的地址”1 。虽然划分子网和构造超网策略减轻了编址问题的困难,但却使得路由选择更加1 4武汉理工大学硕士学位论文复杂。另外i p v 4 没有提供实时音频和视频的传输等功能,需要有下一代的新的网际协议版本来代替现有的i p v 4 版本。新的版本有i p v 5 和i p v 6 两个版本。i p v 5 版本是基于o s i 模型提出的,但是其研制的预期费用太高而始终停留在建议阶段。i p v 6 又称为i p n g ,其中修改了很多网际协议,以适应i n t e r n e t 不可预见的增长。与i p v 4 相比,i p v 6 具有更大的地址空间( 1 2 8 b i t 的地址空间) 、更好的首部格式、更新的选项、允许扩充、支持资源分配、支持更多的安全性等优点1 。2 4 3 套接字及套接字i 0 模型1 ) 套接字的相关概念套接字( s o c k e t ) 是内核对象中的一种通信结构,它提供网络进程间的数据通信功能。形象上说套接字就是进程的门户。套接字地址是套接字通信结构的描述和定义。套接字描述符就是一个整数类型的值,在w i n d o w s 中的类型是s o c k e t 。套接字描述符实质即是某套接字内核对象的一个“句柄”,套接字描述符所在的进程则通过该“句柄”访问和操作该套接字。每个进程的进程空间里都有一个套接字描述符表,该表中存放着套接字描述符和套接字数据结构的对应关系。该表中有一个字段存放新创建的套接字的描述符,另一个字段存放套接字数据结构的地址。因此根据套接字描述符就可以找到其对应的套接字数据结构。每个进程在自己的进程空间里都有一个套接字描述符表,但是套接字数据结构都是在操作系统的内核缓冲里,可供多个进程使用。2 ) 套接字通信模式和i o 模型啪加w i n d o w s 套接字执行i o 操作可以设定为锁定或非锁定模式。在锁定模式下,在i o 操作完成前执行操作的w i n s o c k 函数( 如s e n d 和r e c v ) 会一直等待下去,而不会返回并将控制权交给程序。在非锁定模式下无论结果如何,w i n s o c k 函数的调用都会立即返回。因此,这种套接字需要选择一种i o模型来帮助应用程序判断一个套接字何时可供读写。w i n d o w s 操作系统提供了五种套接字i o 模型,分别为选择( s e l e c t ) 、异步消息( w s 从s y n c s e l e c t ) 、事件通知( w s a e v e n t s e l e c t ) 、重叠i 0 ( o v e r l a p p e di 0 ) 和完成端口( c o m p l e t i o np o r t ) 模型1 s武汉理工大学硕士学位论文s e l e c t 模型是w i n s o c k 中最常见的i o 模型。它的“中心思想”便是利用s e l e c t 函数实现对i 0 的管理。s e l e c t 函数可以使在套接字调用过程中被无辜“锁定”的应用程序采取一种有序的方式,同时对多个套接字进行管理。利用s e l e c t 函数可以判断套接字是否存在数据或能否向一个套接字写入数据。w s a a s y n c s e l e c t 模型是一个支持w i n d o w s 窗口例程的异步i o 模型。利用该模型,应用程序可在一个套接字上,接收以w i n d o w s 消息为基础的网络事件通知。当套接字s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区治理与公共政策的关系试题及答案
- 项目需求变更的管理策略与试题与答案
- 教育政策的多维度影响试题及答案
- 软件设计师备考指南试题及答案
- 机电工程行业的核心竞争力探讨试题及答案
- 项目管理中的有效学习与分享机制试题及答案
- 公共政策评估中的数据挖掘方法试题及答案
- 软件设计师考试模拟试题及答案分析
- 反腐败政策的国际经验借鉴试题及答案
- 深入研究西方国家的公共卫生治理试题及答案
- 静脉治疗并发症的预防及处理护理课件
- tws蓝牙耳机点胶工艺
- 《鼠小弟的生日》
- 全麻术后舌后坠护理
- 韩国《寄生虫》电影鉴赏解读
- GB 4806.13-2023食品安全国家标准食品接触用复合材料及制品
- 新能源汽车研究结论论文题目
- 政府采购基础知识培训(最终稿)
- 重庆大学大学化学Ⅰ期末考试卷A
- 1例新冠病毒感染患者护理查房
- 经闭孔无张力尿道中断悬吊术
评论
0/150
提交评论