版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-PAGE2-大规模网络仿真拓扑编排及监测系统的需求分析与总体设计案例目录TOC\o"1-3"\h\u32532大规模网络仿真拓扑编排及监测系统的需求分析与总体设计案例 1125611.1需求分析 1244921.1.1需求概述 1300371.1.2功能需求分析 2169891.1.3非功能需求分析 466381.1.4数据需求分析 5238551.2系统总体设计 6255311.2.1系统概要设计 652771.2.2系统功能模块设计 8本章工作是根据客户的实际需求,对大规模网络仿真系统的前端部分做出需求分析与总体设计。在需求分析阶段,主要对大规模网络仿真系统前端的功能做出了详细的分析;总体设计阶段对系统的架构,以及模块的划分做出了设计。1.1需求分析1.1.1需求概述在大规模网络仿真系统前端部分开发过程中,首先需要对系统的功能有明确的认知,所以了解用户的需求是必不可少的,要充分理解系统的前端需要完成什么功能,才能进行后续的工作。本项目来源于国家级项目,在整个大规模网络仿真系统中笔者负责的是前端部分的搭建,给用户提供良好的GUI和交互是不可或缺的,在对用户以及其他仿真软件例如华为模拟器eNSP(EnterpriseNetworkSimulationPlatform)进行了调研之后,总结出前端部分有以下几点需求:用户可以方便地通过拖拽网元方式新建拓扑。用户可以自由地在网元之间建立链路的连接。用户可以交互式地配置链路以及网元的关键信息。用户可以在配置好拓扑后一键启动仿真服务。用户可以点开网元的shell窗口输入命令。系统应可以展示出仿真过程中数据包的传输。1.1.2功能需求分析本项目的开发成果暂时不面向商用,故使用者角色比较单一,分析用户需求后可得用例图如图1-1。系统用户的用例为,建立网络拓扑,配置网络拓扑关键信息,启动仿真服务,向后台发送命令。图3-1系统用例图对用例图进行详细的分析,可得出需求具体如下几点:建立可用的网元库网络拓扑中节点的类型在建立拓扑连接之前应该设计好,所以应该在用户界面上清楚地告知用户哪些类型的网元是可用的。这样才能让用户在建立网络拓扑之前就做好网元的选择,避免要建立拓扑时发现部分网元不支持,要重新设计拓扑的尴尬情况,使得用户使用系统的体验更佳。网元的交互式拖拽如何方便地建立网络拓扑是值得思考的问题,考虑以下两种方案:读取用户写好的配置文件生成拓扑以及采用拖拽的方法动态地生成拓扑。采用前者来建立拓扑带来的问题是用户需要额外填写很多繁琐复杂的配置信息,而且不能实时地查看当前拓扑的效果;而采用交互式拖拽的方法来建立网络拓扑一方面可以省去用户很多繁琐的配置,另一方面实时性比较好,可以很方便地查看,调整当前拓扑的效果。网元及链路的交互式配置网元及链路需要对一些关键信息进行配置以便于后台仿真的正确运行,例如配置网元的名称,网元网卡的数量,每个网卡的名称,IP,掩码以及网关地址等;对于链路来说,需要配置链路连接的分别是两个网元的哪个网卡。故需要设计交互式的友好UI来对网元及链路进行交互式配置。拓扑的层级展示如图3-2所示,网络拓扑经常是分层的。在大规模网络拓扑的展示中存在一个问题,即如果网络规模过大,很难在屏幕上展示出拓扑的全貌。可以利用网络分层的特性,添加层级展示的功能,在创建网络拓扑时支持拓扑的层级展示,以便用户操作。图3-2网络拓扑层级示意图[17]将配置好的拓扑生成配置文件用户完成拓扑的创建及网元链路关键信息的配置之后,可以启动后台的网络仿真。然而用户创建的拓扑以及配置的信息的格式与后台网络仿真所需的配置文件格式相去甚远,故需要将配置好的拓扑转换成后台能理解的配置文件,以保证仿真过程的顺利运行。将配置文件发送给后端启动服务后端服务器需要接收到完整的拓扑及其配置信息才能启动网络仿真,所以需要在生成配置文件后将信息发送给后端以确保仿真流程的正确性。从后端获取数据包信息后台启动仿真服务后前端需要实时得到整个拓扑上的网络信息以呈现给用户,所以需要从后端得到所有的数据包信息,具体包括数据包类型以及数据包的流向。将数据包信息以动画的形式展示大规模仿真系统前端部分的功能主要是交互与展示,展示部分需要尽量清晰易懂。如果只是将收集所有的数据包信息打印出来,会给用户的阅读造成很大困难,所以接收到数据包的信息后以动画形式在拓扑上表示出来。在模拟运行过程中输入命令在网络仿真运行的过程中,用户需要对特定的网元输入特定的命令以按照用户计划的过程来进行仿真。所以大规模仿真系统的前端需要可以弹出选中网元的shell窗口,以支持用户与后台容器的交互,保证仿真过程的顺利进行。1.1.3非功能需求分析除开软件的功能需求,为了更好地满足用户的使用体验以及系统后续的维护升级,在设计开发软件时还应考虑到以下几点非功能需求:系统易用性:界面的设计要美观简介,符合用户的操作逻辑;常用功能的设置应简单明确,降低用户的学习成本;对于用户的操作,系统需要迅速响应,以提供更好的交互感;在执行所需时间较长的操作时,应增加进度条或过渡动画,减少系统的卡顿感。系统先进性:大规模仿真系统前端的设计应采取先进的技术路线及软件设计方法,保证系统在设计语言,设计方法,选用技术,系统架构等多方面的先进性,在短时间内不会被市场淘汰。系统可靠性:系统可靠性要求用户运行时不会出现预期之外的错误并且提供给用户的信息是正确的可靠的。开发过程中应充分考虑到使用技术的特性及用户可能有的操作,在测试阶段模拟系统的正常运行,找出系统可能会出现的问题并设法规避。系统可扩展性:大规模仿真系统项目尚处于初级阶段,随着项目的逐步推进,前端部分难免也要对现有功能进行一些修改以及增加部分新功能,这时现有系统的可扩展性便显得尤为重要。可扩展性要求系统的架构合理,单个模块高内聚,模块之间低耦合。这样才能在修改现有模块以及新增功能时时不会出现“牵一发而动全身”的窘境,充分地保证系统的可扩展性。1.1.4数据需求分析本小节针对用户的需求,详细分析了系统运行过程中的数据流向,绘制了数据流向示意图3-3向用户展示相关的数据流向。大规模网络仿真系统前端的用户只有一种,他与系统发生的信息交互如下:用户可以提供拓扑图信息给大规模网络仿真系统的前端部分,以建立并配置网络拓扑;用户可以在网络仿真运行时,提供命令信息给系统前端,以操控后台的运行;系统前端可以发送配置文件信息给系统后端以启动网络仿真服务;系统前端可以发送命令信息给系统后端以按用户需求进行网络仿真;系统前端可以展示仿真数据信息给用户,给与用户当前仿真的一些结果信息;仿真系统后端可以发送数据包信息给系统前端。图3-3数据流向示意图 1.2系统总体设计本小节对大规模网络仿真系统进行了总体设计,主要体现为系统的概要设计与功能模块的设计。概要设计阶段在软件开发的过程中位于需求分析与详细设计之间,将需求分析的结果向实际上的系统设计转变,为系统的详细实现做好准备。 1.2.1系统概要设计大规模网络仿真系统的前端部分是基于Vue.js搭建的,它采用MVVM的架构模式。MVVM架构如图3-4,是MVC架构的升级版,其中M是指Model,表示的是数据模型;V指View,表示视图展示,VM指ViewModel,表示的是视图适配器,它将View层与Model层进行了解耦,完成了统一两者的工作。图3-4MVVM示意图[18]整个前端页面被划分为几个具体的模块或组件,每个模块都有其独立的视图层与数据模型,视图层用来展示UI,并展示有与数据模型进行了双向绑定的数据。服务层API负责与后台服务端进行交互,发送及接收数据。整个大规模网络仿真拓扑编排及监测系统采用了B/S架构,这样可以将核心的功能放在服务器上,用户只需要安装浏览器,降低了整个系统对运行环境的依赖以及用户的硬件压力,采用了前后端分离的思想进行了开发,将前后端进行了解耦,他们之间通过API接口进行交互,前端发送命令以及数据给后端,后端执行相应的命令之后发送数据给前端。大规模网络仿真拓扑编排及监测系统的总体架构如图3-5所示,下面对前端部分进行重点解释:通用工具库是将各个模块中重复使用的一些方法抽象出来,形成了自定义的一个工具库,其中有多个工具方法,需要使用的地方可以直接引入使用。通用类库中含有多个类,将各个模块中共同使用的类定义在其中,避免了代码的重复。组件库是将各个模块会共同使用的部分抽离成了组件,需要使用时直接引入组件使用,目的是提高代码的可复用性。框架配置文件包含了大规模网络仿真系统前端部分的配置文件,具体有babel的配置,typescript的配置,webpack的配置等等,通过这种方法可以减少对业务代码的改动,增加项目的可维护性。 图3-5大规模网络仿真拓扑编排及监测系统架构 1.2.2系统功能模块设计根据网络仿真需要进行的操作以及用户的需求进行了深度调研,明确了所需实现的功能,又对其进行了细分,整合,最终敲定的系统功能模块设计如图3-6所示。大规模网络仿真系统前端部分主要包含以下功能模块:全局变量模块:该模块主要是托管系统中的全局变量,以减少其他模块之间值传递的过程。 网元库模块:该模块主要是对可用网元的种类进行展示以及支持拓扑的拖拽式生成,具体功能如下:展示可用网元:该功能是在界面上展示出用户可用来创建拓扑的网元,方便用户选择网元创建拓扑。支持网元拖拽生成拓扑:该功能是指用户可以点击选中网元库上的某个网元,然后拖拽到拓扑图中,类似于ProcessOn等图编辑器的功能。搜索所需网元:当网元库中可用网元过多时,用户从中选出自己所需的网元就变得有些困难,用户可以利用此功能在搜索框中输入所需网元的关键词来进行查找。拓扑的展示模块:该模块主要是进行当前拓扑的展示编辑,以及以动画的形式显示网络仿真过程中的数据包传输情况,具体功能如下:支持网元之间连线:网络拓扑图由网元及链路共同构成,网元的添加由网元库模块来完成,链路的添加需要网元之间可以连线。通过此功能,用户可以从网元A拉出链路连接到网元B来完善拓扑图。展示当前拓扑图:通过此功能,用户可以实时地看到当前的网络拓扑,以更好地进行编辑。支持动画的显示:大规模网络仿真系统前端在接收到后台传来的数据包信息之后,需要以用户友好的形式清晰明确地展示出数据包信息。此功能根据数据包在链路上的流向在网络拓扑上添加动画效果,数据包信息一目了然。查看当前选中网元的子网:网络拓扑图常常是一层一层的,在网络拓扑过大时可以进行拓扑图的层级展示。通过此功能可以查看当前选中网元的子网,并进行该网元子网的编辑。返回上层网络:该功能的主要作用是,用户进行完子网的编辑之后,可以通过此功能返回上层网络。工具栏模块:该模块主要是辅助网络拓扑图的编辑过程,具体功能如下:完成网络拓扑编辑所需的一些辅助功能,例如删除节点,放大或缩小当前网络拓扑等等。为用户提供操作UI。关键信息配置模块:该模块由两个子模块共同组成,主要是对节点以及链路进行一些关键信息的配置,以完善网络拓扑,具体如下:节点配置框模块:该模块主要是对节点进行一些关键信息的配置,以完善网络拓扑,具体功能如下:增加网元的网卡数量:每个网元都可以有很多网卡,通过此功能可以增加选中网元的网卡数量。编辑网元的网卡信息:此功能使得用户可以随意地编辑选中网元的所有网卡信息,包括网卡名称,MAC地址,对应IP,网关地址,子网掩码。编辑网元的名称,用户可以通过该模块对网元的名称进行编辑。链路配置框模块:该模块主要是对链路进行一些关键信息的配置,以完善网络拓扑信息,具体功能如下:编辑链路的样式。用户可以通过链路配置框模块进行链路样式的编辑,包括链路的颜色,链路的宽度,起点与终点箭头
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年顺德职业技术学院单招职业适应性考试题库带答案详解
- 2025年湖北光谷东国有资本投资运营集团有限公司招聘第二批9人笔试历年参考题库附带答案详解
- 2025年池州市投资控股集团有限公司选聘中层管理人员笔试历年参考题库附带答案详解
- 2025年枣庄市薛城区人才发展集团有限公司公开招聘聘用制驾驶员笔试及笔试历年参考题库附带答案详解
- 滦南县奔城街道招聘社区网格员考试试题附答案详解
- 2025年度中天合创煤炭分公司面向社会公开招聘煤炭专业技术人员笔试历年参考题库附带答案详解
- 2026年青岛远洋船员职业学院单招职业适应性测试题库含答案详解
- 2025年岳阳人才集团有限责任公司公开招聘工作人员笔试历年参考题库附带答案详解
- 2025年山东菏泽市郓城县县属国企招聘43人笔试历年参考题库附带答案详解
- 2025年山东烟台市正源投资控股集团有限公司招聘工作人员15人笔试历年参考题库附带答案详解
- (完整版)100以内加减法竖式计算题
- 中远集团财务信息系统SAP操作手册
- 查缉战术课件大纲
- 3.辽宁2017定额宣贯《房屋建筑与装饰工程定额 》
- 交通事故民事起诉书模板(合集8篇)
- 安全施工监理实施细则
- 民航概论全套课件
- GB/T 4622.2-2008缠绕式垫片管法兰用垫片尺寸
- GB/T 32622-2016社会保险征缴稽核业务规范
- GB/T 18926-2008包装容器木构件
- 助产技术操作技能考核评分标准Microsoft-Word-文档
评论
0/150
提交评论