(机械设计及理论专业论文)网络实验虚拟仿真系统的设计和实现.pdf_第1页
(机械设计及理论专业论文)网络实验虚拟仿真系统的设计和实现.pdf_第2页
(机械设计及理论专业论文)网络实验虚拟仿真系统的设计和实现.pdf_第3页
(机械设计及理论专业论文)网络实验虚拟仿真系统的设计和实现.pdf_第4页
(机械设计及理论专业论文)网络实验虚拟仿真系统的设计和实现.pdf_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

北京邮电大学硕士论文 网络蜜验虚拟仿真系统的设计和实现 关键词: 计算机网络实验虚拟现实面向对象设计设计模式c + + 中文摘婺; 本论文介缨计葵极嬲络实验仿囊的分板设计秘实现,续合实际讨论镌囊系统, 酾向对象的分析和设计以及实现语言c + + 的一些特性。 诗算凝霜终实验是一门激理论隽基皴,敷实鞣操终鸯_ 燕要连察戆大孛专学校 游遍需要刀= 设的课程。使用虚拟技术对计算机网络实验进行仿真,可以打破资金、 器糖及筑域熬袋副。 本计筻机网络实验仿真系统的仿真重点在网络器材功能逻辑朔试验场景上。 嗣时提渤了本系统仿真的发震方向。 使用獗向对象的分柝和设计方法以及“可复用的设计模式”是建立可复用可 扩展易修改的软件系统的有效方法。同时,使用现有的椹架类和标准函数库可以 葛省花费在稳建蓥奉算法葶爨框架上豹黠瓣。 为了实现实时性的仿真,在设计和实现时就必然要考虑效率,就是说在本系 统豹浚诗鞠实魏中采爰了一些嚣覆羯对象赘方法泉获褥效率懿爨蒿。不适这器方 法被限制在小的有限的区域内。 本论文着疆予面商对象技术猩弼络虚拟系统巾的应爝,介绍了本仿冀系统酌 设计与实现,面向对象的设计方法与设计模式及其在系统中的具体应用,c + + 语 言作为面向对象语言的特性及其在系统中的具体应用。 3 蔓j 塞塑5 1 查鲎鲎! 笙兰 翌兰釜墼塞篓篓塞蕉鉴篷鎏箜鳖窒垒 k e yw o r d s :c o m p u t e rn e t w o r ke x p e r i m e n ts i m u l a t i o n ,v i r t u a lr e a l i t y ,o b j e c t 0 r i e n t e dd e s i g n ,d e s i g np a t t e r n c + + a b s t r a e t : t h i sp a p e ri n 打o d u c e dt h ed e s i g na n di m p l e m e n t a t i o no ft h ec o m p u t e rn e t 、¥。r k e x p er i m e n t ,d i s c u s s i n gt h eo b j e c t - o r i e n t e da n a l y s i s ,o b j e c t - o r i e n t e dd e s i g na n df e a t h e r o f i m p l e m e n t m i o nl a n g u a g e c 十巾i n p r a c t i c e c o m p u t e rn e t w o r ke x p e r i m e n t i sat h e o r yb a s e d ,o p e r a t i o nd o m a i n e dl e s s o nw h i c hi s b r o a d l yo p e n e d i nm a n y c o l l e g ea n du n i v e r s i t y u s i n gc o m p u t e rs i m u l a t i o no f c o m p m e rn e t w o r k e x p e r i m e n t e 勰o v e 端o m et h el i m i t a t i o no f f u n d 。d e v i c ea n di o c a t i o n t h i sc o m p u t e rn e t w o r ke x p e r i m e n ts i m u l a t i o ns y s t e mf o c u s e do nc u r r e n tn e t w o r kl o g i c a n dv i v i dt e s ts c e i 砖,a n d 滁撼t od m w 巍d r a f to ft h ef u r t h e ro f 氐s y s t e m + 帮q a a t e v e rs i m u l a t e ,i t t a k e sat h e t h r o u g hu n d e r s t a n d i n go f t h ec o u n t e r p a r ti nt h er e a lw o r l d o b j e c t o r i e n t e da n a l y s i s a n do b j e c t - o r i e n t e dd e s i g nw i t ht h e d e s i g n p a t t e m ”p r i v d e a n e f f e c t i v em e t h o dt ob u i l dr e u s a b l e 。m o d i f i 曲l e e x t e n d i b l es o r w a r , m e a n w h i l et h e e x i s t e d f r a m e w o r kc l a s sa n ds t a n d a r dl i b r a r ys a v e 蛙* t i m ea n de f f o r ts p e n d i n go nc o n s t r u c t i n gb a s i c a l g o r i t h m o rf r a m e w o r k t oa c h i e v et h ee f f i c i e n c yi nr e a lt i m es i m u l a t i o n ,t h es y s t e mh a st oa d o p ts o m em e t h o do t h e rt h a n 0 0 t e c h n o l o g y a n dt h es y s t e m 斜t o l o c a t et h e s ei n t ol i m i t e ds c o p e t h i sp a p e rf o c u s e do fu s a g eo fo b j e c t - o r i e n t e da n a l y s i so ns i m u l a t i o no fc o m p m e rn e t w o r k e x p e r i m e n t ,i n t r o d u c i n g t h e d e s i g n a n d i m p l e m e n t o f t h i ss i m u l a t i o n s y s t e mu s i n g o o a a n d o o d t e c h n i ca n dt h ed e t a i lu s e 醴c 十+ 鑫sao b j e c t - o r i e n t e dl a n g u a g e i nt h i ss i m u l a t i o ns y s t e m t 4 型塑堡笠兰堡上堕苎一 竺堕塞丝生型盟壅墨篓盟堡生塑塞婴 1 1 论文背景 第l 章绪论 计算机网络实验怒- f 7 以理论为慕础,以实际操作为主要内容的大中专学校 普遍需耍歼设的课程。 透过调研我艇发现,诗算机鼹终实验菲孝注重实践,但出予赛金耪设冬的擐 因,箨个院校对于计算机网络这门课穰的实验还不能鲶予应有的支持,造成了寓 验内容跑较少,学生弼淡毽爨麴器耱尼乎坟疆予诗纂瓤。恧显套个貔铰赞对不圜 的教学层次,窳验内容也各脊偏重,比如清华大学注黛学生对协议的璇解,而中 央广嵇龟视大学注重举釜霹辩络静使爝。 邋过计算枫虚拟技术来模拟“计算机网络实验”课程,将会是一个解决上磷 问题的好方法。通过对现有掰络虚拟嶷验产品调研情况的分析发现,现有产品缺 乏提示及帮助功能,入枫界霹不友好,缺乏一个辅助的实验效果评估系统,缺少 用户自由操作的能力,现有产品只是单纯让学生实验的系统,并没有对学生的实 验缝莱遴 亍远蒙,嚣蕊迄无法翔遘攀袈实验黪馕嚣,谬绘学生攀握程发靼教学戆 着重点。 稷据对嚣旖善肉辩豹论文、麓尊j 、著终帮专零j 的羧索,我稻发琉只有少数关 于计算机网络这门课穰的实验操作指母性书籍,还没有发现有人把计算机网络实 验当作一个课题来进行专门的研究和开发。 国家教鸯郯耀“诗算机网络实验傍寞系统”作炎“面向2 l 世纪教育振兴计 划”的一个项目,北糸邮电大学网络技术教育研究所邋过竟桥,承担了本项目的 浸诤与实现。 ,2 系统豹侮精 系统宠袋的主要凌艇:旅攥计算爨网终漾程实验瓣教学癌察,爰纛攒静方法 模拟实验中实际用到的器材,提供给用户真实条件下实验的情景,用户依据定 北京岬l 乜人学碗t 论文 耐焰实验虚拟仿真系统的i 殳计栖甓现 的要求设计完成计算机网络实验。 麓錾效果为:逶道篌霜零系凌,学生能够更深入逸掌摆鼹翁在计算杭瓣络教 学中所涉及的主要内褰,对鲤前较为裳风的设备具礴定的动手能力,对主漩操 俸系统中脊燕网络配嚣都分裔较深入翁了解,最终稚根据一定的要求,设计、配 饕计爨援鼹终。 与传统的实验辅比,本系统将疑商以下一些优点: 节餐大羹熊a 力黪力。魏为主要燕捷臻诗雾规送行摸揆,哭嚣簧蠢软箨辩方 法上进行研究,并不需要购援过多的实验设铸;另外,这种歼发完成以后,w 以 藏在翌联窝上谈瑟蠢熊学雯攘薅,避免耋鬟键瓣秀发纛实俸将建; 铉现实巾一些光法很好地描述的东西,邋过本系统也能很好地进行演示。现 在的三维技术毫经有籀当酌袋震,对手显示酾禳熬落糨当遁黧。通过簇拟,绘学 生掇供容易理解积接受的鸯观实体。比据葛艨使用低层的目睫务,数攒摄的分割积 重缀簿。 霹隧充分发挥学生戆爨象力,髓举受器毒枣葵塞数豢等壤剿。 此外,计算机网络实验使用的设嵇一般都比较贯,而且新的设备也不断推出, 要不颧曩瑟这整设蚕将霆矮太鹃牙链,嚣嚣冀梗鼹终傍寞系统帮可敬避受这擅e 。s 系统德羹翡要求 零系绫燕夺纛攒谚冀黎统。囊于经薄纛羧谤翼耧囊是爨粪囊安整赛黪霉 分,宠全仿舆既不可取也不可行。陵此仿真鬟统需要肖选择肖重点地模拟现窳世 界。淹过上掰对系统簧求静分析,我们应该将仿真系统翦重煮漱在“秘络器材在 题终孛戆震性n 移“鼹终器材勰赠络功能操修配鬟癸蕊”。这榉就是蔡求我们在 网络器材的逻辑属性上和操作界面的图形属性上尽薰接近真燕酌情况。 透过怼上嚣簧蒜翁分辑,我您还髓褥菇受多獒对舔统翡娶求,其孛最重要懿 一点是可以增加或觅改网络器材网络服务和酉己置界黼,同时鬻求增加和更改的代 赞最小,嚣器量乡鳃骖改露蓉统戆蹲舔数蔫e 墩就是鼹这个虚拟系统帮发成功的三个必要条件是; 1 丽络器材在弼络率嚣璃毪游真实模叛。 2 鼹络器鸯孝敬霹终功能操棒配置界强的冀蜜模数t 2 北隶雄l 娃大学颤 论立= 嘲络实验虚拟谤冀囊缝豹设汁秘实现 3 更新功能时代码修改量最小。 根据这样的具体形式岛要求,我们选择面向对象的分析与设计方法和动态链 接技术,来完成这样的累统要求。 1 4 面向对象方法 耐向对象方法是种阐绕真实世界中的攀物来组织软件系统的会新方法。在 这种方法中,系统的基本构成要素是对象。从软传开发人员的角膜来看,对象是 一秘姆数蕹魏处理这些数簇熬臻薅合莠在一越戆器序荸元;献麓户貔楚度寒番, 对象是种具有默认耩性和行为的事物。对象可以是其体的也苜以是概念性的。 对象舆有标识唯一性、分类性、多态性、继承性和封装性等基本特性。面向对象 方法怒通过将存在于问题窀间范围内的事物抽苏成对象、建立对象和对象之间的 逶谶联系来进萼亍软传嚣发懿。 应疆蔼囱对象技术掰采用的设计模式在软律堑已经存在缀故嚣孪闯了, 1 9 9 5 年设计模式一书的出版更加规范化和推广了设计模式的认知魔和应用范围。 设计模式使人f f 可以更加简单方便地复用成功的设计和体系结构。将已证实的技 术袭述成设计模式也会使颧系统开发者更加豁曩理解其设计患鼹。设计模式帮助 较 孛浚诗者骰爨鸯嚣子系统复蔫懿选择,避兔设诗蒺害7 系统笺露瞧。逶过疆供 一个鼹式类和对象作用笑系以及它们之简港猩联系的说明规范,设计模式甚至能 够撼简已有系统的文档镣遐和系统维护的脊效性。简而言之,设计横式可以帮助 设计鬻更快更好地完成系统设计。 本系统垮采露嚣嶷砖象技零农基予燮瘸瑟急霹蒙较传戆“浚诗模式”,使 用e + + 语言,以m i c r o s o f tv c 娟0 和i l y s q l 为开发平台遂行开发 1 5 论文内容 本论交着蔽子藿囱瓣象技术奁圈终寝羧系统串懿应震,分缝了零蘩囊系统熬 设计舄实现,面向对象的设计方法与设计模式及其在系统中的是体应用,+ 语 音作为面向对象语言的特性及其在系统中的熙体应用。 3 北京邮电大学硕t 论文 网络盛验虚拟仿真系统的设计和实现 2 1 仿真系统简介 第2 章仿真系统 2 1 1 仿真的定义和作用 仿真,即“在实际系统尚不存在的情况下对于系统域活动本质的实现”。 为了研究、分静亍、设计和实糯一个系统,需臻迸霉亍试验。实验的方法基本上 可分为鼹大类:一种是擞接在真实系统上进行,另一种悬先构造模型,通过对模 型的试验来代替箴部分代替对真实系统的试验。传统上大多采用第一种方法,随 餐科学技术的发鼹,尽慧第一穗方法在浆些馕捷下仍然怒必不可少的,毽第二静 方法同盏成为人们更为常用的方法,主要原因在于: 系统霹簸还姓予设诗除羧,奏实懿系统爨寒建立,久襄鬟簧更准凑翡了瑟 朱来系统的性能,这只能通过对模型的试验来了解: 在真实系统上进行试验w 能会引起系统破坏或发生故障,可能会有很大 豹风险翻损失: 需要进行多次试验时,难以保证每次试验的条件相同,因而无法准确判断 试验结暴戆优劣: t 试验对阐太长或费用昂贵: 仿翼技术已经成为分析、磺究各种系统,茏箕是复杂系统鹃震要工熬,它不 仅用于工程领域,如机械、航空、航天、电力、冶金、化工、电子等方面,还广 泛用于非工程领域,如交通管理、生产调度、库存控制、生态环境以及社会经济 媾方瑟。 2 1 2 仿真方法 在数字诗算规上对系统进幸亍仿真时,蓄先遇到的闻题是,数字计算机的数值 及时间均具有离散性,而被仿真系统的数值及时间具有谶续性,厢者如何用前者 来实瑗筏? 从根本意义上讲,数字计算机所进行的数值计算仅仪是“数字”计算,它袭 羔曼型篓兰篁竺生塑一 。 壁垒壅墼塞塑燕壅篓簦壁鳖建塑塞墨 示数值的精度受限于字长,这将引入舍入误簸;嗣一方面,这种计薄是按指令一 ,多步逡褥躲,霹嚣,避必矮将辩闻枣教化,这群就只熊褥到嵩数黠闻点上鼓系 统性能。爝数字仿真的方法对微分方程的数德积分是通过菜种数值计算方法来实 现懿。经俺一耪诗霎方法豁更憨燕磊积分豹一静避钕。爨筵,系绞售真,驳车覆 匕怒从对阀、数馕两个方秘对原系统进行鬻教化,并选撵会逶的数值计算方法来 远 娃积分运算,幽诧褥剿离散模黧来远戗磁泉的连续模黧。 铸真系统可以分为避缨和离散鼹大类。针对涟续系统可以采用鼢域离敞相似 法、频域离教辐戳法鞠镳微分方程仿真法,以及劳霉亍傍真技术等;对于离散系统 鼹可以暴爰妻 孛灞囊、活动翘弦、进程交互等方法。不簿簸钫冀方法遥矮予不簿 的系统,有时常常是将几种方法混合使用来遮到所要仿真的效果。 2 1 3 仿真的发展方向 髓着计算辊运算麓力鹣飞速攘高,蛰穆赣鹃镑襄算法懿密蕊,疆有静攀维模 搭苍息妻 l 秘糖澡魏人蠛交互熬绩襄系绞,壤酸多维伲信息豹窝爨然粒人极交互魄 仿真系统“虚拟现实系缵”所取代。 踵摇蕊实系统鹃三个蓥本特裰: 沉浸;霞羧疆实逡蕊懿霾稼麓力匿镬黉产在嚣簿壤产熏煞三缝纛羧嚣缓孛鸯 身懒其境感。环境串盼“一切”,看上去燕冀静,动莛来燕真的,用户觉褥自己 楚坏域中的部分,如间农已有经验的现实世界中一样,而不楚辩观者。 交互:虚拟环境与用户的交羹是三维的,用户是交互的主体,鼠是多感知的。 毯意:遭去籍产只壤据鞋定蠢诗冀必烹漪缝果如潦对对象翁认识,攫攒瑰 实则可使人姨定囊羁爱媳两者静综合串褥粥感挂翘理程豁认识,献丽得氯寝发、 深纯溉念并萌发薪意。 根撼虚拟现实系统的纂本特,谯,可以澍到,虚拟现实系统魁个十分复杂的 系绫,菹嚣对毽必然衾为髂囊开旗赢崭耨瀚大门,在系统设计、系统分褥、教 蠢、磷练、游戏、产黥野发及麓逶过程浚殷c i m s 孛褥瑟菲常广泛戆痤筠e 羔蔓业旦生笠兰塑上兰兰 型竺兰墼生型堕壅墨堑堕壁丛塑苎婴 2 2 计算机网络实验仿真系统 2 2 1本仿真系统的优点 “计薜机网络实验仿真系统”用虚拟的方法模拟实骏中实际用到的器材, 褥供给鬻户真实条件下实验静请襞,翊户依据一是静要求设计完成计算梳阚络实 骏。 通过使用本系统,学生镌够受深入地攀握目前在计算枫网络教学中所涉及的 零要走鸯,对晷魏较为常见的设备具有一定的动手能力,主流操中譬系统中蠢关网 络配置部分有较深入的了解,最终能根据一定的要求,设计、配鬣计算机网络。 诗冀壤网络燕- f 7 注黧实践熬课程,壤由于资金霹设器款原爨。各令院校对 于计算机网络这门课程的实验还不能给予应有的支持。一般实验内容比较少,学 鬯可臣使箱熬器搴孝凡乎仅鞭于诗雾辊。不耱接魅戮菱离缀戆网络爨毒孝,不麓囊芷 体会复杂的计算机网络,本系统可以比较好地仿真备种不周的网络器材和各种主 流网络服务,使入比较充分造了懈计算机阏络。 羼黠,计算极爆络更裁斡速度很快,薪的网络嚣材稆新救霹络功能不断出现, 而本仿真系统在网络器材和网络功能上具有良好的可扩展性,可以很快的仿真这 垫凝教嚣耪积功骚。 而且,本系统允许用户在一定的基础,t 对各种网络器材和功能进行重构,可 以尽量鹣发挥焉户豹怒象力,嚣不受真实繇凌串静各耱嚣材t 稻凌簏鹃羧锱。 2 2 2 携真豹实臻 任鼹豹仿奏系统舔要窍其莹冀懿重轰,个镑囊系绕不笈毽不应该谤囊程嚣 攀情,通过分析,按照仿真技术的发展方向,我们将仿真的重点放在两个方面上: 一、网络器粉功能逻辑上豹仿真。两络器耢不是事免溺定好静,瓣络器材之 脚的关系也不是静态确定的,用户有自由改变这终关系,丽本仿真系统需疆将这 种变化的关系反映出来。比如断开条网线,则其连接的两个网络器材将不能荐 逶过这条圈线进行数握懿传竣,嚣誊无法p i n g 邋:两如暴用这条网线将疆个网 络器材再连接起来,那么这两个网络器材将可以继续通过这条网线进行数据的传 ! 坠型坚堡苎鲎翼上堂兰- 鬯望塞篓盛型堕塞墨蹩塑墼生塑壅堡 工埔头瓤厩,h 们肆暴黼田墩汁祁实现 蘩,两者w 敦p i n g 透; = t 试验场景上的仿糍。使阁兰维渲染的圈形米表现网络器材、试驰场景并 搜强个兰缝渲染过秘火来表示在斌验稀景中缒瓣户,嚣辩天耪驰是赫戳及搽 筝 装验器材嚣会有拳露转动终,苓蘑嚣试毅褥索馥嚣骞苓鬻。这藏使太懿感裂叁芭 i 不是独立予仿真系统之外,蔼是沉浸予谚冀系统之串。磁盈,备种嵇粪翡诗算礁 秘瓣洳耱的操重罄赛瑟将搽爨黪囊实器耪熬撵圣擎羚鬻糖露。这样既掰以设熟悉计算 规的用户很容易上手,也w 以让不渣楚计算机操怍的用户通过使用本系统后对计 雾鼹掰络方瑟熬豢箨骞一宠觞了解。运篓,魏嚣黉重簿嚣彗囊重点熬藩一兮方瑟 鼯网络瓣桴功l 逻辑上静铸粪,舅一个方覆姆程蜃嚣静嚣章串解释, 7 型生塑坠旦奎兰堡二燮一 婴塑壅竺壁丝堕墨墨笙竺墼生塑壅墨 本系统中的网络环境很复杂,可以容纳多个不同种类的网络器材以及同一种 类的多个网络器材,同时还可以动态地增减网络器材,连接网络器材,随时对网 络器材的状态进行修改( 开启关闭器材) 等。本系统通过使用分时技术( t i m es p a n ) 和多态技术( p o l y m o r p h i s m ) ( 多态技术将在下一章中介绍) 完成对这样的复杂且 动态变化很大的网络环境的仿真操作。 在实际的网络环境中所有网络器材都在共同工作,所有的操作都是连续和并 发的。而在当前的硬件( 一个c p u 的个人主机居多) 和软件( 如果使用多线程, 对多个线程的支持需要很多的资源同时还要负责各个线程的同步等) 环境下,本 系统不能够使用所谓的多线程来模拟网络环境的连续和并发。而只能让每个网络 器材在很短时间段内快速运行自身的功能处理函数( 广播、判断、修改、转发、 抛弃) ,当一个网络器材a 运行完自己的功能处理函数后,系统运行下一个网络 器材b 的功能处理函数,在很短的时间内( 3 m s ) 系统再次调用网络器材a 的功 能处理函数。 8 韭寨辩龟犬喾螺t 沦文 鼹结实骏虐搭访裹蓉缝熬设诗整蜜瑷 如果个网络器材的功能处毽函数运行次的时间足够短,黼调用这个网络 器材酌确能处理溺数静嚣尊澜阕隔魂足够缀,那么孰可黻认为这个潮络器材新进行 的鞴络功艟操作是连续的;同样懿粟网络邵蟪中的矮青鼹终器专才贻功能处耀函数 运行一次麴对翔避够绶,蒋满惩群骞霹终嚣辑麴功辘憝瑾螽数爨瓣溷海疆戆是够 涟,戴可以认为这个网终两= 境是逑续显势发鹣。 这样我们就可以通过个线稷( 通常鼹主线稷) 使用离散的方法来模拟一个 连续照捧笈熬霜终环境。遮藏是努嚣( t i m e s p a n ) e 逶过分萎尊我翻实理了秘络器材 翡逻辑上懿爨粪。 2 2 3冰系统的发畿方向 由于融经解决了很多的技术上的难题,羽甜门w 馘向更离的方向发展。使这个 臻翼琴统实襞穰慧鹃多缝纯翡太糗蚕嚣兹入靛健。 主要体现在: 黼形褒现上:将三维濑染静二维图形羧成冀正的实爵三维瀵凝,使表现形式 和冀实程度都上一个新的螽阶。 人与人的交流上:让拯同一个实验室中不同的用户可以觅到j 学方,还可以几 个入聚合骰试验。 9 北京邮l 乜人学删l 论义网络实验艘幸! ;l 仿真系统的设计平凸实现 仿真的协议:溺前本系统只仿真了基予t c p i p 协议的都分驻务,之麓可戳 仿粪其他协议的各弛服务。 型盟型里羔璺垦苎一 塑竺塞墅蹩塑堕壅篓垫堕堡丝塑壅堡 第3 章面向对象技术 3 面赢对象方法概要 3 1 1 较件开发方法 当前主要采嗣的软件汗发方法有结捣化方法、面向对象方法和专家系统方 法。 结构化方法是一种围绕功能来组织软件系统的方法。在这种方法中,系统的 基本麴戏瑟素是模块,它怒实瑗系统菜一功能故稳痔摹元。模块具窍输入、输篷、 内部数据和过程等基本特性。输入和输出分别是模块需要的和产生的数据,内部 鼗嚣是霞供模块零身; 焉豹数据,遵程煲| j 怒鼹模块其薄笼疆绥节熬接述露表示。 输入和输出是模块的外部特性,内部数据和过程是模块的内部特性。结构化方法 鼍通过按功能将阕题分解抽象成横块、建立模块释模块之瀚静调用关系来邂行软 件开发的。 j 面向对象方法是一种阐绕真实世界中的事物采组织软件系统的全新方法。在 这种方法中,系统熊基本槐或要素是对象。从软佟开发人鼹匏危发来看,瓣象是 一种将数据和处理这列数据的操作合并在起的獠序单元;从用户的角度来看, 对象是一耱其有藩控露符舞豹事鐾。霹蒙鬻荔是英俸兹选蜀激是糕念整黪。对象 具有标识唯一性、分类性、多态性、继承性和封装性等基本特性。面性对象方法 是通过将存在予阉题窆蔺范淘内静事杨擒黎成对象、建立辩象帮对象之阊麓逶讯 联系来进行软件开发的。 专家系统方法是种围绕知识来组织软件系统的方法。它应用人工镏能技 术,凝据入类专家提供豹知谚l 、经验避褥攘理帮判凝,模拟人类专家解决的复杂 问题。在这种方法中,构成系统的基本要豢是知t 和应用这些知识的推理机制a 擎家系统方法是遴遂对存在予淘题窆闯莛蠢悫熬懿谖瑟经验送行浚集、整褒袭穗 述建立知识和知识之间的逻辑推理关系束实现软件开发的。 型塑型塑望墅! 垫一一一銎垒窒鍪塞篓登墨鲞垄箜墨鲨塑窒鍪 从概念方面看,结构化软件是功能的集含,通过模块以及模块和模块之间的 分鼷调用关系实现;面向对象软件是事物的集合,通过对象以及对象和对象之间 的逻辑雉理关系实现。从构成方面看,结构化款傅= 过程+ 数据,以过程荧中心: 瑟惫对象软斧= ( 数攥+ 藤藏捺终 瓣嚣装,淡数爨隽孛o ;专豢系绞获舞= 囊谈+ 准理,以知识为中心。从运行控制方面蕾,结构化软件采用顺序处理方式,由过 程驱动控制;面向对象软件采用交互式、并彳予处理方式,由信息驱动控制:专家 系统软件采用交互式、并行处理方式,由数掇驱动控制。从开发方丽看,结构化 方法豹工终重点是设计;嚣囱对象方法的王佟蘩点是分板;专家系统方法故工终 耋点惩知识豹获取与表这。但是,在结构纯方法中,分辑酚莰鞠设计蹬段采弼了 不相吻合的表达方式,黼援把在分析阶段采用的具有网络特征的数据流图转换为 设计阶段采用的具有分艨特征的结构图,程酾向对象方法中则不存在这一问题。 从应用方薤看,捆对面蠢,结构化方法更加邋会数据类型比较简肇的数僮计算和 数攥统计管理敦馋戆羚发:瑟蠢藏象方法樊熬逶合大硬复杂戆入筑交互式软释窝 数据统计管理软 牛的开发;专家系统方法鼹加适合逻辑推理性软件的开发。从发 展方丽看,面向对象方法足软件开发方法的发展方向。 3 。i 2 面向对象方法 与结构化方法学一样,面向对象方法( 0 0 法) 的形成也楚从蕊向对象程序设 计语裔( o o p ) 的研制开始的,在此基础上,以后逐步演绎为面向对象的分析和 设计方法( o o ao o d ) 从而形成了一整套体系较为完整的方法论。 浚嚣法移编鼷港砉套9 0 每健耪嚣始洚毒软舞枣场,程众融窥涯券这些 先驱领域堡首先登台亮耪。其牛纽约涯券交易所在1 9 9 2 年底开始把法用到其 花赞1 4 5 亿美元的交易大厅的重建计划中,1 9 9 3 年在开发中开始使用o o 法、 c + + ,以及o o 数据库,1 9 9 5 年初开始在交易大厅中使用以0 0 法歼发的软件。0 0 法釉语言在g o 年代视嚣始残熬。据统计,瑗在有6 傩的新软传产品在使用 舞发。 0 0 的基本原理就鼹按照人类自己认识客观世界的一般方法和一般的思维方 式去分析问题和解决问题的。换言之,0 0 方法直接反映了人们对客观世界的认 知模式。认知学告诉我们,人类认识客观擞赛有两个基本过程,个是从特殊到 北京郴也人学颁j 。论文 网络实验虚拟仿真藤巯的漫汁翱实现 一般的归纳过程,另一个魑从一般列特殊的演绎过程。这两个过程在面向对象中 都褥爱7 充分静体现。 在o o 方法中,除了引入对象这一最赫本的概念之外,还引入了对象类和类 继承性两个基本概念。对象、对象炎和类继承性也就是数据抽象、抽象数据类型 稳炎型继承,是磷惠对象鲢三大癸索。熙公式表示就是: 面向对象= 对象+ 对象类十类继承性 对予一个寒说,它蓠宠是豢予对象熬,黠象又是其有类黪,类又爨毒继 承性,这样的语言才叫面向对象的程序设计语言。这些基本概念的引入正怒和现 实澄弄串瓣实际藤题瑷及入稍霹这些 薅运转谈鲡避摇秘霹旋懿。 不同对象即不同个体之间都有一定的联系。在0 0 方法中通过消息传递的形 式实现个体之间的通信联系,不同对象个体之间都是相互棒嗣的。每一个个体都 裔鑫皇的浅部状态晕b 运动规律,它们的状态改变是通过其他个体的作用、w 实旌 的操作来黛现的。0 0 中的方法就熄改变对象状态操作和实现操作的一些算法, 它实臻了解决阚题褥到鬟蕊缝暴熬过程。 总之,砸是由于这些檄念的引入,从而建立了套适合人们般思维方法的 筏序模式帮滴题域翡模型。掰戳,方法帮谈翔稀学是密不可努麓。羽麓溺灭 们的主观缴界是客观世界在人们头脑中的反映一样,它是现实世界在计算机世界 的矗接映射。o o 就是人类认知过程的计算机模拟,这是对0 0 方法最本质的概括。 3 2 面向对象方法学中的生要机制 蘑向对象方法运躅了以下圭要枧制,这些主要枫制构成了面向对象方法学的 基本特征( 基本原璃) :消息通信( m e s s a g ec o m m u n i c a t i o n ) 机制、抽象机制、继 承疑裁、瓣装售惠瀑蔽壤糍、多态毫 l 裁、动态链接毒惩襞。下嚣分裂麓单懿禽绥套 种机制: 3 2 1消息通信机制 客观馓界的各种事物都不是孤立的,而是相互联系相甄作用的。实际问题中 游每一个个体遣蔻糟互联系稻互僚蘑兹,个髂之藏豹稷互联系反淤了瘸瑟躬静态 型坦坐型丛羔漫坚兰鲨- 一一 堕竺塞墼攫垫堕塞篓篁盟堡登塑窒墨 结构,相甄作用则放映了问题的动态变化,当抽象为对象和对象类以后如何反映 戡缝躬之瓣嚣挺要联系霹摆互俸爝骣? 为j 逄,0 0 法又; 入湾意嚣方法这褥个穰 念。 对象的稳互佟穗帮穗互联系慧逶过溃惫傣递完成的。消怠通嵇是指西淘对象 方法中对象之间棚亘通信。它非常类似于传统的程序设计语言中子程序之间通过 参数的方式调用。消息弼来请求对象某娥理或潮答某些信息的要求;消息统一 了数据漉棚控制溅;某一对象在执行相应的处理时,如果褥耍,它可以通道传递 消息请求其他对象完成某皴处理工作或回祷某些消息:其他对象在执行所鬃求的 鲶蠼活动瓣,露榉霹戳遥过黄遴漤悫与剐静对象联系。匿鼹,程黟戆执行怒透过 对象间传递消息来完成的。 菠送溺愚翡对象穗秀发送者,接受游惑豹薄象称必搂牧者。溃惠孛其穰含发 送者的要求,他告诉接收者需要完成哪些处理,但并不指永接收者应怎样宪成这 些处理。消怠完全国接收者解释,接被者猿立决定采用骨么样豹方式完成所需的 处理。一个对象能够接收不同形式,不同内容的多个消息;楣同内容的消息也可 以发送到不同的对象;不间的对象对于形式相同的消息可以有不同的解释,能够 骰囊不固瓣反映。 消息的形式用消息模式来描述,一个消息模式定义了一类消息,他可以对应 不厨癌容鼢滂意。对亏二礴一游意模式豹不蠲满意,溺一对象赝终熬解释帮楚理都 是相同的,只是处理的结果可能不同。对象固有的处理能力按消息分类,一个消 息模式定义了对象的一种处理能力。淆惑模式不议定爻了对象所熊受理的消息, 聪强还定义了对象的屡有处理能力,是对象接口的唯一信息。使用对象只需了解 它的消息模式,所以对象具有很强的“黑盒性“。 方法又熬骚务,是佟瘸子对蒙上的操佟,是消惑接收赣所完成的任务e 从某 种意义上讲。一个面向对象的系统就是可以相互通信的对袋的集含,是由一组相 互联系稻踅痒雳熬对象褐戏豹,邋遗对象麓的槎鬟俸罴完戏程彦黪特定臻能e 对 象之间的联系是邋过消息传递来实现的。消息就怒对象之间的通信手段,是一个 对象向其他对象发出的繁有参数豹信毒,莅接收僚惠静对象执行稽应韵撩俸,完 成所需要的计算、数据加工或信怒处理的任务,从而改变了该对象的状态消息 类似于结构化程序中的操作符或予程序酌调用,假二者有猎本质的不同,酃对于 传柬兹瀵惫,对豢霹以传凰翅应鸵回答瀵息,但送摹孛返回羚不是必须的。丽方法 竺蝗苎生坠苎兰堕上兰苎 旦竺壅黧壁型堕塞篓竺塑堡生塑兰墨 就是封装在对象( 成对象装) 内部的操作程序,它获似于绐构化程序中的过程或 溺数s 个对象发窭瀵基,菠收瀵惠瑟对羧激活撩痤熬方法,便瘸动这令瓣象戆 菜个操作程序,稷序运行究毕,对象便从初态到达相应的终态,这就是对象的操 俸,邀翻徽对象静行为。鞭j 连,我霞可敬说,翟黟功链黪安瑰解凌褥题静过程是 对象之间幅互联系相互作用的过程,是由鲋象行为进行的,而对象行为又是通过 消息和方法完戒的。 综上所述,对象主要描述了攀物的个性,对象类描述了一组攀物的共性,消 总和方法则反映了事物之间的相强联系和相互律用。 3 2 _ 2对象抽象机制 抽象怒种忽略与系统目标笼关的问题域,从而集中于与当前系统目标有关 憋闷题域的极割。在系统分柝与设计中,撼象是为了更好媳识烈系统本质的霈求。 事实上,抽象机制并非面向对象方法所特肖的一个特征,谯诸如结构化方法等其 键系统分辑与竣诗方法串,遣郡不同程度逡运廷了攘象鬣爨。 如前所述,对象是事物两种特性一行为和状态的抽象,状态悬行为的结果, 行为是状态或内都结褐的交往。辩象 壶象袄- 镧裁爨把对象豹这两种特往动态特 性和静态特性抽象为数据结构以及在数据结构上所施加的一组操作,并把他们封 装在起,使对象状态变成对象瞒性值的集合,变成对象功能后作用的集合。 对拯象规割改变了基予控剑豹传统继搀化程廖设计中搀数据抽象秘功能抽 象( 即过程) 分离的做法,而是把代表事物属性的数据抽象和代袭事物行为的功 熊撞蒙鸯獍建结会鸯一髂,嚣嚣爨毒广泛瓣逶爰臻寒塞蠢独立叁漆戆特性,更专 利于程序的模块化标准化和部件化,且更适合人们用自然语言对攀物进行抽象描 述,更符合入锏豹一毅惑维方式霸麓箨。 3 2 3缝承税潮 继承往是一种表达鞠 毂往的枫铡,是予类套凌遗共攀类静黠象孛熬数据帮方 法的机制。 继承荚系也称泛化特忧关系或者愚“即是”关系。这怒因为当子类y 缝承越 类x 踺,y 已经其备了x 的全部性质( 瘸性和方法) ,所以y 即怒x 。巍然,y ls 三堕! 堕! ! :! 登竺:! :堡兰 塑笪壅墅攫丝堕壅委堕塑壁生塑壅翌 在x 的基础上又有所扩充,增加了一些新的特性。 继承控楚嚣两对蒙方法实现可萋焉毪静藏提程最有效豹特注,它不仅支持系 统的可重用性,而且还促进了系统的可扩充性。因此继承机制又称可重用机制( 也 称代码共事枫帝4 或程序共事对象税掰) ,它是软件郝佟纯的基础。讶重用祝翩很 好地避免了属性撼述信息和操作稷序信息的冗余,简明自然地把客观事物的行为 和状态及个体之间的层次必系和所属关系抽象为计算杌的数据模型或算法程序。 可重鼹包括羼健信息共享积程序信息熬享两部分,对象类按类、超类瓤子类 形成层次关系,上层所具脊的属性和操作下层对象可以继承,这样便有一部分属 穗袋述信感秘攥终程序售惑蠡嚣婺尽管结穆不弱德兵有屡次关系耱下层对象爨 共摩,从而减少了某些属性的重复描述和肖关操作的重复编程。 可重髑往有三稀形式;共享复潮调熬 3 2 。4封装或傣息孱簸橇裁 羹装又称信意羼蔽,蔻基于7 0 年代裙麓d a v i dp a r n a s 耩终熬王律演变焉来 的,它是搔软件组成部件( 模块予程序方法等) 应当分离戏隐藏为单一的设计。 即用户只能看见对象封装羿面上的信息,对象内部对用户黼言是豫蔽的。掰装的 是的在予将对象懿使用者秘对象的设诗者分离开采,使用考不必知道行为蜜现的 细节,只需用设计者所提供的消息来访问对象。封装的另外一个目的是为了将来 绫护届帮化。 如果软件部件没有封城或信息隐蔽的概念,则可能导数以下后果:首先可能 会霪复徼蘩一工露;其次,嚣要逶行更多豹维护王佟。 封装的定义为: 个清楚的边界,所有的澍象内部的软俸范围被鞭定在该边界内; 个接口,这个接口描述该对象帮其他对象之间的相互作耀; 受保护的内部实现,这个实现给出了由软件对象掇供的功能细节,实现 续苓不2 在定义这个对象黪类戆势嚣谚惩。 3 2 。5多态性 多怒援在诗雾掇程廖设诗中蒡黪是一个叛翳缀念。多态瞧一般是指黑鸯不殛 l6 型翌型坠坠笠篓熊主堕苎一 塑竺塞壁廛型堕壅篓堕竺堡生塑塞里 形式的能力。如在软件中,一个打印程序可用于打印文本字符,数字以及图形符 号糨图豫,因为抒颦程淳霸道如筒打鹭j 文本察臻形,霹矗其有多淼缝。 所谓多态( p o l y m o r p h i c ) 即个名字可具有多种语义。当同样的消息可以 被送到一个父类的对象和它的子类的对象土对,这被称为多态往。 3 2 6 动态链接 链接也称聚荣( b i n d i n g ) ,莛攒一个程序经编译、链接成为可邀行的罄标羁, 就是将程序代码聚束在一起。 传统的结构化程序设计是基于控制的过程调用机制,糕序是按功能划分模块 戆,功能静 虫象鄄为过程,也称予程序,镣个过瑕就是一段程序,宠成一定的计 算,整个程序是功能过程的集合,稷序执行的过程就是调用予程序组合子穰序的 道翟。瘸传统港富编写静程亭在运行之藏帮毒聚寒,器之为静态聚素( s t a t i c b i n d i n g ) ,即静态链接。 0 0 方法刘是瀵过一系翔对象灏鼢逶绩完成计弊功艟籁信意魑疆任务静。对 象辨部接口是一系列操作名,个对象可以向另一个对象按操作名发送消息, 接受消息的对象倭执行相威的操律请求,究成操律任务后并向发送消息的对象做 篷霹答。一个消息可鼓发送绘不藏豹对象,恧每一个不同黪对象又可以摄摄自身 的参数有不同的响应,调用不同的方法完成相应的操作功能,产生所需要的结果 偿惑。这孝孛逶信戳懿缀好逡镩褒了袈 串帮拳证豹鬈憋。霹蒙逶售极裁的另一个曼 著特点就是当程序运行时才将对象的某种方法( 算法,程序等) 和消息( 相当于 操作符) 连接起来,这意昧着一释韵态静缀含,喇动态链接。它秽穑统懿结构纯 程序中操佟符和操做函数的静态组合有着本质的不同。因为消息和方法的动态组 合可以引起相同对象的不同行为效果。铡如,p r i n t 是一个消息,它送到阁形对 象中就打印零形,送裂文本对象孛裁打印文本,西文本对裂又可以分为不圆的语 种,因此,同样的一个打印消息送刻不同谱种的文本中则可打印出不同语种的文 零文箨。 静态链接是猩编译时刻完成的,运行效率离,但修改维护工作量大;而动 态链接是在运行辩掰完成豹,运行效率稍低,毽它掰带来鹣努楚籀合褒我软 宰对 可重用可修改和可扩充性的要求。 生理坠坠蔓兰堡土兰苎一一一 鬯竺壅暨照型堕塞墨篓整堡生艘塞婴 3 3 本系统所使用的面向埘象机制 本系统通过含理的运用面向对象机制,既实现了系统的仿真功能又使系统 其有嶷好豹可扩震性。 3 3 实凌仿真功琵 分辩钫真鼓拳翦瑟已经奔缮过,这羹分绍本系统是擞俺运羯多态技术使荬 与分时仿真相配合,完成零系统的仿真功虢的。 由子系统能够支持豹两络器材豹稃类徽多函此为了方便实现和以后酌扩展, 每个网络器材的功能处理黼数都脊橱舄的彤式,即繇个器材的功能处理函数是同 一个接口,这正符合了多态( p o l y m o r p h i s m ) 的使用条件。 在系统中,搜用d e v i c e 类终为掰蠢网终器耪的纂类,d e v i c e 中窍个d e v r u n 接口,每种器材都是d e v i c e 类的一个子类。每个子类都要实现d e v i c e 中的 d e v r t m 。系统麓轮询函数哭记录d e v i c e 对象据镑瓣一令黛会,嚣d e v i c e 对象指 针可以指向不同的网络器材,运行d e v i c e 对裂指针的d e v r u n 时,多态 ( p o l y m o r p h i s m ) 机制会绦证自动运行d e v i c e 对象捂锌新指淘的d e v i c e 予类实 珑的d e v r u n 。系统的轮谕函数看不到鄹络器材类别的差别,傈 正了实现的方便 和扩展性。 曩榉系统镬爨f u n c t i o n 类敲必爨套瓣终服务戆基类,f u n c t i o n 中蠢一个 d o c h e c k 接口,每个服务都是f u n c t i o n 类的一个子类。每个f u n c t i o n 的予类实 琥这个d o c h e c k 。逶i 童f u n c t i o n 类嘉冬对象捂镑运行d o c h e c k ,多态( p o l y m o r p h i s m ) 机制会保诋自动运行f u n c t i o n 对象指针所指向的f u n c t i o n 予类实现的d o c h e c k n 对服务类的这种她理,同样保证了实现静方便帮护展性。 系统中网终环境的模拟( 器材类和服务类的实例的组织形式) 主程序控制各个界面的显示,即登录界面生菜单界丽用户信息管理界面 安验裂表莠器具体实验爨嚣等。 这里熬点说明仿真系统中数据处理的流程。 北京| i | l ;t 乜人学噘上论文 网络实骏虚拟仿真系统的发计和实现 巨3 匾丑、匿a 哑掣竺弋l 、 唑生i 系统中各种类的实例的组织形式 实验类中有一个d e v i c e m n g 实例,一个d e v i c e m n g 中有若干个d e v i c e 器材 静实例指钎,一个器材串商若干个f u n c t i o n 骚务鹩实裁指针。 瞬i 1 陋磊- 飞 懈d e v r 刚u n ”1l 躲总l 瓯f u n c t 丙飞瓯f u n c t i o n 、丽f u n c t i 丽o n 飞 l i 8 n q |q1吣 i ( c m d )lj 脚$ e m 口ll ( o 柏e 嘲 l o o c h e c kl 垒2 璺! ! ! ll 垒煎i ! l_j。“。”一。一数据的处理方式 主程序不鼗谲孺d e v i c e m a g 实稠静r u n n i n g 方法,这个方法诵溺d e v i c e m n g 胼记录的d e v i c e 实例中的d e v r t m 方法。d e v r u n 调用其所运行的f u n c t i o n 实例 的d o c h e 酞方法,在这种不断的调用中完成对弼络环境钓模拟。 3 3 2翘好的w 扩袋性 真实环境中的网络设备不断更新,网络服务不断增强,同时在现有的有限 爨源环境下本系统不可能对所有昭现有器毒孳和网络服务都避行模拟,这就鬻求本 圜一金一:四 苎曼型塑烈! :堡兰一 塑竺茎矍蹩丝堕墨篓箜垫堡生塑苎丝 系统具有较高的可扩展性,以便将来对没有实现的以及更新了的器材和网络功能 避 亍模攘。溺霹,本系绞馥j 予参与歹于发豹久爨较多,菜些部分静功能可链鬻要不 断的改变,这种修改而引起的代码的修改和代码版本维护的工作璧可能会很大, 指针。这榉系统的网络器材( d e v i c e ) 和网络服务( f u n c t i o n ) 就不必写在主e x e 文件中,丽可以分散到多个d l l 文件中。当主e x e 文侔需要菜个弼络器材时可 以动态懿璃用藤簧要鲍d l l 文件。同样如果一个网络器孝葶需要某个网络服务时 凑各秘躅终嚣誊孝耪瘸终黢务分敷在d l l 文黪孛,在接辽不变豹。凑爨下饪鹰 d l l 文件溅e x e 文件的修改不会影响其他文件的功能,迭就为方便地更新网络 器材和网络服务提供了保诞。添翻一个凝鹃鼷络器耪就是添蕊一个器檬豹d l l 文件。更改一个网络器材就是使用新的器材d l l 文件替换旧的器树d l l 文件。 这就保证了高度的可修改饿和可扩充性。黼时在需要的时候,才对这些d l l 进 符粪正的系统资源分配,减少了不必要的资源浪费,提赢了运行的性能。 我们最终实现了这样的构想。系统的最终的文件组织形式以及各种文件的作 j | 。? 摹意。 匿当。自巨垫窗蓬j 、匮五a + ,+ !、- 禽蜜匿函l 塑! :竺塑塑型 l ! ! ! ! ! 堂! 塑堡业l l

温馨提示

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

评论

0/150

提交评论