课程设计报告

网络工程课程设计

1.1、华山医院网背景

上海华山医院医疗技术力量雄厚,全院2000余名职工之中,医疗专业技术人员占80%,华山医院的应用有很多的特殊性,而且华山医院的应用也是多种多样的,不仅有要求传输效率,以文本信息为主的门诊收费信息;还有以传输质量为前提,进行大量图片,视频传输为主的PACS系统的应用;同时,无线说网络的应用在医疗行业内也在悄然兴起,基于RFID应用的无线网络在医院中也被大力推广。

因此,后期华山医院的网络建设的目标是建设一个集各种数字化医疗设备和器械为一体的综合数字医疗系统,而网络平台作为这些数字应用的基础设施,成为数字化建设首先考虑的重点,如何建设一个稳定,可靠,安全,应用集中的综合业务网络平台,是华山医院信息化建设的根本出发点。

1.2、需求分析

1、商业目标分析

(1)提高医疗专业技术人员及其他职员的效率,允许专业技术人员之间一起参加项目研究。

(2)提高医疗人员对信息的获取、处理、上传、保存效率。

(3)允许用户使用它们的无线笔记本计算机从医院网络访问因特网。

(4)保护网络,防止入侵。

(5)提高关键任务应用程序及数据的安全性和可靠性。

2、技术目标分析

(1)设计IP地址规划。

(2)为用户提供安全、私密的无线网络。

(3)为提高安全性,保护因特网连接和内部网络,防止入侵。

(4)系统支持7×24小时工作,可靠性在99.999% 。

(5)使用网络管理工具,提高IT部门的效率和效果。

(6)保证良好的网络性能,包括传输速率和PACS系统的需求。

(7)具有良好的可扩展性,可以在将来支持多媒体应用。

3、网络应用分析

表1为该医院网典型网络应用分析。

13网络分析与设计

1、网络架构设计

网络出口设计需要考虑四条出口,一是社保局的VPN出口,二是医保VPN出口,三是银行机构VPN出口、四是干保VPN出口,且各条VPN出口均是独立的电信或者联通线路。出口设计要求安全、可控。

根据要求,结合实际建网情况和前期网络建设,在充分研究了目前国内外网络界对园区网设计所采用的各种网络主干技术,并充分考虑到技术发展的主流和趋势后,建议选择万兆以太网为目标,构建华山医院的网络建设,设计“万兆核心、千兆支干、千兆交换桌面” 的三层设计思路,即核心到楼层汇聚为万兆,楼层汇聚到接入层为千兆,接入层同时提供高密度千兆接入,整个设备分布分为核心层、汇聚层、接入层和数据中心等,根据需求分析,结合对应用系统的考虑,提出本期网络系统的设计目标:高性能、高可靠性、高稳定性、高安全性、可管理、可增值的智能安全网络。

设计“双核心、汇聚双链路”的环状互为备份容错互连结构,构建强壮的网络架构。核心层设计2台高性能十万兆核心路由交换机,通过万兆链路聚合互连,为华山医院的医疗服务提供强劲的数据传输的网络核心。汇聚层设备全部采用万兆汇聚交换机,通过万兆双链路上联两台核心设备;为了充分保障新大楼各系统的稳定,为大楼设计每个每个汇聚交换机网架构,充分保障门诊系统的7*24小时稳定可靠。

同时通过千兆链路下联接入层全千兆智能安全交换机;实现对接入用户的安全控制。

而作为医院信息服务的中心,数据中心通过两台万兆数据中心交换机冗余备份设计,为医院各种业务系统提供高速、稳定、不间断的数据服务,保障各种诊疗服务的的正常运行。全网通高效的冗余备份技术,为各种诊疗业务开展提供永不间断的数据传输服务。同时,结合锐捷网络交换所特有的安全防护机制,全面提升网络系统的抗攻击能力,为医院提供一个无侵扰的医疗信息环境,保障各种业务的开展。结合信息中心部署的网络管理系统,为确保医院能够及时的发现各种网络事件,并进行快速响应和处理,为使华山医院提供更好的医疗服务,提供强有力的支持。

2、网络设备选择

1、核心层/区域大汇聚交换机:RG-S8610

支持速率:10Mbps/100Mbps/1000Mbps/10000MMbps 应用级别:企业级 工作协议层:三层 网络覆盖范围:广域网交换机 传输速度:万兆

概况简介: RG-S8600是锐捷网络推出的面向十万兆平台设计的下一代高密度多业务IPV6核心路由交换机,满足未来以太网络的应用需求,支持下一代的以太网100G速率接口,提供10竖插槽设计和6横插槽设计两种主机:RG-S8606和RG-S8610。 RG-S8600系列高密度多业务IPV6核心路由交换机提供3.2T/1.6T背板带宽,并支持将来更高带宽的扩展能力,高达1190Mpps/595Mpps的二/三层包转发速率可为用户提供高密度端口的高速无阻塞数据交换。 RG-S8600系列高密度多业务IPV6核心路由交换机提供全面的安全防护体系,提供分布式的业务融合平台,满足未来网络对安全和业务的更高需求。

2、楼层汇聚交换机:RG-S5700

接入交换机:RG-S2900

数据中心:S7806

数据中心位于门诊楼一楼,拥有各类型的服务器110台,全千兆以太网接口,在这里,通过两台万兆数据中心交换机S7806,使用冗余备份设计,为医院各种业务系统提供高速、稳定、不间断的数据服务,保障各种诊疗服务的的正常运行。全网通高效的冗余备份技术,为各种诊疗业务开展提供永不间断的数据传输服务。

汇聚交换机配置18台RG-S5750P-24GT,提供增强型24端口10/100/1000M自适应电口(支持Poe远程供电),12个复用的SFP接口,2个扩展槽,提供2个万兆单模模块连接核心交换。

接入层交换机,配置12台RG-S2924G,24口10/100/1000M自适应电口交换机,4个复用的SFP接口,使用千兆以太网电口连接汇聚交换

接入层交换机,配置63台RG-S2951XG,48口10/100/1000M自适应电口交换机,4个复用的SFP接口,使用千兆以太网电口连接汇聚交换

       同时,汇聚交换机已提供24个千兆电口均为POE远程供电端口,每层的7个无线网络AP接入点,均可直接连接汇聚交换机,使用远程供电。

3.4  网络的稳定性、可靠性

1. 采用高可靠的稳定性架构。网络三层分层架构:核心层、汇聚层和接入层

2. 采用智能存储系统,保证流量的稳定和安全。

3. 采用无线应急措施。因为各楼层配置了7个AP,可以做无线备份。当接入层交换机出现故障时,可以用AP应急。

4. 虚拟交换技术(VSU),保证核心工作量减少,以及在一台发生故障时能立马切换,不影响正常工作。

5. 部署IPFIX流量分析系统,可以查看网络上流量的走向,发生异常可以即时分析和解决。

可靠性:

医院信息网络由于运行整个医院的业务系统,需要保证网络的正常运行,不因网络的故障或变化引起政府业务的瞬间质量恶化甚至内部业务系统的中断这点十分重要。网络作为数据处理及转发中心,应充分考虑可靠性。

网络的可靠性通过冗余技术实现,包括电源冗余、处理器冗余、模块冗余、设备冗余、链路冗余等技术。

模块冗余考虑网络汇接点的主干设备和核心设备的所有关键模块和环境部件应具备1+1或1:N热备份的功能,所有模块具备热插拔的功能,当某一关键模块出现故障时,可由备份模块接替其功能。例如在核心交换机上,配置了1+1冗余备份的电源模块,保证在任何一个电源模块故障的时候,整个网络仍然能够正常运行。在主控制引擎方面,也配置了高度可靠的冗余引擎,引擎之间利用状态热备份技术保证故障的快速切换,在同等条件下提供业界最为快速的故障切换时间。

3.5、基于端口的VLAN划分

VLAN技术允许跨越多个交换机的多个不同端口划分VLAN,不同交换机上的若干个端口可以组成同一个虚拟网。

根据大楼内部各个不同的功能区域现有的网络用户分布情况,我们可以采用基于各个接入交换机的物理端口划分VLAN的解决方案,以一个单独单位或者一个特定的用户群(每一层)为一个VLAN,作为一个子网,从而实现相互之间的隔离。于是所有的在这个VLAN里面的广播包和未知目的地的Unicast包都不会去到VLAN的其他任何端口,它们只会到这个VLAN的上连端口出去,每个客户都不会收到其他客户的广播或者匿名包,这样就避免的在客户端的用户用类似网络邻居或者其他广播的方式发现对方,也避免了各个单位和接入端所出现的不必要或者恶意的广播风暴,保护了网络的安全。

3.6、IP地址划分

由于网络中既有跨越全网的VLAN 又有范围较小的VLAN,且普遍采用802.1Q协议的上连方式,为避免混乱及出错,应对网络中的VLAN ID统一规划,禁止出现网中的ID相同而又不在同一个VLAN中的情形。

此次方案的设计,我们决定采用一个内部私有C类地址(192.168.0.0)对医院的网络设备编址。由于从方案本身的网络拓扑图采用了典型的层次化设计,所以对ip地址的编址设计也应采取层次化的设计来完成,并采用VLSM来拓展有限的IP地址。

采用DHCP分配IP

由各个网段的三层交换机充当路由器做DHCP中继代理,交换机将客户机的DHCP信息转发给网内唯一的DHCP服务器,在服务器上分别建好各个网段的地址池,并在每个池的配置的“路由器”信息中将该网段的网关填入。这样就能完美地分配地址,并且各段都能通

3.7、网络安全设计

实现对全院用户的入网身份管理,确保入网用户的合法性。通过在网络中心部署RG-SMP安全管理平台软件,实现对全院用户的入网身份管理,确保入网用户的合法性,提升网络的安全性和可靠性。

 RG-SMP安全管理平台软件系统是锐捷网络GSN全局安全网络解决方案的核心组成部分,GSN全局安全网络解决方案定位于网络访问控制NAC领域,从网络接入者的身份、接入主机的健康性以及网络通信的安全性等多方面为用户构建一个全局的安全网络。RG-SMP安全管理平台软件作为GSN解决方案的核心,承载着以上三个方面的重要功能。

3.8、无线部署

在“瘦AP+无线交换机”解决方案中,瘦AP不负责执行用户认证、数据加密等安全工作,而是由无线交换机来执行。使用无线交换机作为认证者(Authenticator)时,用户接入无线网络,瘦AP将用户的身份验证请求发送给无线交换机,再由无线交换机将认证信息封装转发给身份验证服务器进行验证。

RG-WS5708万兆无线控制器是锐捷网络推出的面向下一代高速无线互联网络无线控制器产品,采用业界领先的MIP64多核处理器架构,可提供强大的处理能力和多业务扩展。

无线选型:     室外:RG-AP220-E 室内:RG-AP620-H

无线功能设计:无缝漫游,移动不掉线;统一射频管理,AP间无干扰;安全

无线备份:作为接入层的备份使用。

无线.jpg

3.9、网络出口设计

网络出口设计需要考虑四条出口,一是社保局的VPN出口,二是医保VPN出口,三是银行机构VPN出口、四是干保VPN出口,且各条VPN出口均是独立的电信或者联通线路。出口设计要求安全、可控。

在这里,我们在结构上,使用一台高端路由器加一台防火墙/VPN设备来组合提供完整解决方案。

路由器配置中,使用策略路由功能,首先在上联出口商,建立四个三层网络接口,分别配置四个VPN地址段的地址,然后采用基于源地址+目的地址的策略,优先指定某些特殊地址段,只能通过指定的地址向上级转发;另外一些用户,需要访问多个网络的,则根据其访问的目的地址,选择4个VPN的下一跳地址。

在路由器上面,配置VPN设备,在VPN设备上,建立四条VNP通道,分别连接社保局的VPN出口,医保VPN出口,银行机构VPN出口、干保VPN出口。

路由器位置,我们建议选择RG-R3740路由器,提供2个10/100/1000M自适应速度以太网口/1000M SFP光以太口。

VPN网关位置,我们建议选择RG-WALL V1600E,作为SSL/IPsec VPN安全网关,提供固化6个GE口+2个SFP口;提供2个模块化插槽,支持4GE/4SFP扩展,可扩展至24个千兆口,配置冗余电源,标准2U设备;自带10个RG-SRA-LICENSE,SSL/IPsec VPN共用隧道

3.10、 网络的未来扩展性

从我国医院信息系统的发展来看,目前随着门诊系统,住院系统、PACS系统以及远程医疗的网络化,应用系统的大规模使用使得业务流膨胀是必然的趋势,网络系统面临数据流量增大的压力,在设计医院系统信息网络时应充分考虑系统的可扩展性,从而保护网络系统投资。

 网络的扩展能力包括设备交换容量的扩展能力、端口数量的扩展能力、主干带宽的扩展,以及网络规模的扩展能力。

交换容量扩展应具备在现有基础上继续扩充2~4倍容量的能力,以适应IP类业务急速膨胀的需求。设备的选型应充分考虑包转发能力以及数据交换能力。

端口密度扩展需要认真分析用户和应用系统的扩展可能性,在具备扩展可能性的信息节点配置高可扩展性的网络设备,满足网络扩容时对用户接入以及系统互联的需要。主干设备应具备充足的接口,满足4~8倍甚至更高的带宽扩展能力,以适应IP类应用及业务急速膨胀的需求。

网络规模扩展需综合考虑网络体系结构、路由协议的规划和设备的CPU路由处理能力,应能满足网络扩容时对用户接入以及数据流量变化或增大时处理能力的需要。

3.11网络设备管理平台设计

为了提高管理员的工作效率,做到足不出户就能控制整个网络,并对接入的机器进行控制,锐捷网管软件平台StarView为用户提供了很好的解决方案。

StarView管理系统能提供整个网络的拓扑结构,能对以太网络中的任何通用IP设备、SNMP管理型设备进行管理,结合管理设备所支持的SNMP管理、Telnet管理、Web管理、RMON管理等构成一个功能齐全的网络管理解决方案,实现从网络级到设备级的全方位的网络管理。StarView可以对整个网络上的网络设备进行集中式的配置、监视和控制,自动检测网络拓扑结构,监视和控制网段和端口,以及进行网络流量的统计和错误统计,网络设备事件的自动收集和管理等一系列综合而详尽的管理和监测。通过对网络的全面监控,网络管理员可以重构网络结构,使网络达到最佳效果。

设备清单

 

第二篇:综合课程设计报告

摘要

本报告介绍了一个运用c++设计一个个人的记账软件具体过程。实现了添加、查询、删除、修改等功能。能够大致的记录个人的收入支出情况。

开发背景

个人理财在我国得到大众的认可和金融机构的重视是近几年的事情。人们对个人理财的重视程度,与我过市场经济制度不断完善、资本市场的长足发展、金融产品的日趋丰富以及居民总体收入水平的上升等等是分不开的。但是比起发达国家我们的理财观念还远远不足。 但是理财并不困难,并非非要靠个人理财专业人士的建议才能身体力行。只要了解收支状况、设定财务目标、拟定策略、编列预算、执行预算到分析成果这六大步骤,便可以轻松的达成个人的财务管理。至于要如何预估收入掌握支出进而检讨进则有赖于平日的财务记录,也就是需要一款便于记账的软件。

最近越来越多的人具有记账的习惯。家庭、个人的收入支出结构在日益变化,单纯的靠本子记录收入支出无法满足对于收入支出结构的统计分析,因此以个人用户为目标的记账软件应运而生。相应的各种面向家庭以及个人的理财软件也越来越多。但是众多个人理财软件操作专业,对于个人用户而言功能过于强大,分析数据用语也不易理解。因此开发一个操作简便、统计结果直观并对个人用户理财有参考价值的记账软件无疑能为广大个人用户提供方便。 总而言之,在不久的将来家庭使用理财软件也将成为国内家庭的必需品。能提供简单明了的功能以及操作的记账软件更是被广泛需要。这种软件也会为提升人们的胜过品质发挥它最大的作用。

技术背景

C语言是国内广泛使用的一种计算机语言,学会使用c语言进行程序设计是计算机工作者的一项基本功。对于我们大学生来说,学习这样一门c程序课程更是有必要。此次课程设计我所采用的环境是vc++,使用基本控制结构,如循环和选择,着重实现管理系统的增删改以及查询等典型的功能。程序设计是一门实践性很强的课程,既要掌握概念又要动手编译,更多的是要上机去调试,虽然初学时很麻烦,但是养成习惯后我相信受益匪浅。 开发环境

Vc++,win7.

设计目标

为了满足用户的需要,本系统将实现以下功能:

记录日常收支情况,查找某天的收支情况,插入忘记的收支功能,显示账单,统计数据。 可行性分析

本课题是基于vc++环境进行开发,实现记账的功能。为了使本设计更具有可行性,本系统严格按照软件工程的设计思想一步一步进行,首先对系统进行可行性分析。为了使分析更为清晰、完整,设计本系统的时候,将可行性分析分为经济、操作、技术三个层次、 首先vc++是免费的开源软件,使得开发成本大大下降。而且可重用性高,节省了二次开发的成本。资源利用率高,成本低。

该设计的模块界面简洁,方便快捷,简单易学。即便是初学者花点时间也可以操作所有系统的功能。并不需要掌握什么复杂的专业知识。

该课程设计对c语言要求并不是很高,我相信即使是初学者也能够写出大概。 总体设计

软件总体设计是把需求分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从需求分析到总体设计,是一个逐渐扩充模型的过程。系统总体设计确定实现系统的策略和目标系统的高层结构。确定设计中的类、关联。接口形式以及实现操作的算法。符合传统面向对象设计的准则:模块化,抽象,信息隐藏,低耦合,高内聚。

记账系统面向的主要是个人用户,用户只要记录流水账信息便可经过测算得到相应的统计结果,接货实际调查的其他资料可以得出系统的主要功能和辅助功能,并进行主控界面;以及基本对象的设计。根据上述分析,结合用户的具体需求,确定系统主要包括几个功能。 详细设计

软件详细的设计过程是软件工程的重要阶段,软件详细设计细化了高层的体系结构设计,将软件结构中,主要部件划分为能独立编码、编译、测试的软件单元,并进行软件单元的设计,并最终将影响软件实现的成败。优秀的详细设计在提高编码质量、保证开发周期、节约开发成本等各方面都起着非常重要的作用,是一个软件项目成功的关键保证。

按照面向对象的分析与设计方法的基本思想,以对象为核心,根据个人记账系统的具体情况分析主要对象有流水账、统计数据等。

流水账对象代表用户锁记录的每一笔账目。没一笔账目信息包括日期,摘要,类别,具体金额。

本来统计数据对象可以不设立,因为全部的统计数据都可以通过计算得到。但是考虑到用户查询较为频繁,为了避免每次查询均要计算一次,特别设立了统计数据对象。实际上,用于

保存计算结果的数据量比较小,牺牲了着些许的空间却能换来整个系统的高性能,这无疑是值得进行设计的。统计数据对象包含了消费结构锁需要的各项收支的统计计算结果。

在设计系统主程序时,着重考虑项目的核心功能,并围绕核心功能进行设计。显然本项目的核心功能就是记账。用户需要很方便的进行记账活动,并且可以快速的查看到记账结果。因此我得到的主界面如图:

综合课程设计报告

具体实现过程

首先是要建立用户,并且通过对文件的操作对用户进行保存,以便下次直接登陆,并且保存每个用户输入的记录,实现结果如图:

综合课程设计报告

实现代码如下:

string name,road;

cout<<"请输入新建用户名"<<endl;

cin>>name;

ofstream afile1("C:\\用户名.txt",ios::app);//创建保存用户名文件 afile1<<name<<"\n"; afile1.close(); road="C:\\"+name+"in.txt"; ofstream afile2(road.c_str(),ios::app);//创建用户专属文件记录收入情况 afile2.close(); road="C:\\"+name+"out.txt"; ofstream afile3(road.c_str(),ios::app);//创建用户专属文件记录支出情况 afile3.close(); road="C:\\"+name+"total.txt";

ofstream afile4(road.c_str(),ios::app);//创建用户余额文件 afile4<<'0';

afile4.close();

goto next1;

其次是实现增加一条收入记录,实现如图:

综合课程设计报告

实现代码如下:

cout<<"请输入选择:\na、增加收入记录\nb、增加支出记录"<<endl;

string str1;

cin>>str1;

if(str1=="a")

{

float total,total1;

ofstream file(road2.c_str(),ios::app);

struct income

{

int month;

int day;

string abstruct;

float shouru;

}first1;

cout<<"输入收入时间(月,日),摘要,金额"<<endl; cin>>first1.month;

cin>>first1.day;

cin>>first1.abstruct;

cin>>first1.shouru;

file<<"month "<<first1.month<<" day "<<first1.day<<" zhaiyao "<<first1.abstruct<<" shouru "<<first1.shouru<<endl;

//写入收入记录

file.close();

ifstream file1(road1.c_str(),ios::in);

file1>>total1;

file1.close();

total=total1+first1.shouru; ofstream file2(road1.c_str(),ios::out); file2<<total<<endl; file2.close();

cout<<"操作完成,自动返回"<<endl;

goto next2;

实现增加一条输出记录,如图:

综合课程设计报告

实现代码如下:

cout<<"输入支出时间(月,日),摘要,类别(eat,dress,play,study),金额"<<endl; cin>>first2.month;

cin>>first2.day;

cin>>first2.abstruct;

cin>>first2.kind;

cin>>first2.zhichu;

file3<<"month "<<first2.month<<" day "<<first2.day<<" zhaiyao "<<first2.abstruct<<" kind "<<first2.kind<<" zhichu "<<first2.zhichu<<endl;

//写入支出记录 file3.close(); ifstream file4(road1.c_str(),ios::in); file4>>total1; file4.close(); total=total1-first2.zhichu; ofstream file5(road1.c_str(),ios::out); file5<<total<<endl; file5.close();

查看所有记录结果如图:

综合课程设计报告

cout<<"操作完成,自动返回"<<endl; goto next2;

实现代码如下:

static char sa[100];

ifstream filea(road2.c_str(),ios::in);

while(!filea.eof())

{

filea.getline(sa,100);

cout<<sa<<endl;

}

filea.close();

cout<<"操作完成,自动返回"<<endl;

goto next2;

按照具体时间查看记录:

综合课程设计报告

实现代码如下:

string b[8];

int sb1,sb2,sb3,sb4,b1,b3;//b1,b2用来判断时间

cout<<"输入查看的起始日期和终止日期,用空格隔开"<<endl; cin>>sb1>>sb2>>sb3>>sb4;

ifstream fileb(road2.c_str(),ios::in);

while(!fileb.eof())

{

fileb>>b[0];

fileb>>b1;

fileb>>b[2];

fileb>>b3;

fileb>>b[4];

fileb>>b[5];

fileb>>b[6];

fileb>>b[7];

if(sb1==sb3)

{

if(b1==sb1&&sb2<=b3&&b3<=sb4)

cout<<b[0]<<" "<<b1<<" "<<b[2]<<" "<<b3<<" "<<b[4]<<" "<<b[5]<<" "<<b[6]<<" "<<b[7]<<endl;

}

else if(sb1<=b1&&b1<=sb3)

{

if(sb1==b1&&sb2<=b3&&b3<=31)

{

cout<<b[0]<<" "<<b1<<" "<<b[2]<<" "<<b3<<" "<<b[4]<<" "<<b[5]<<"

"<<b[7]<<endl;

}

if(sb1<b1&&b1<sb3)

{

cout<<b[0]<<" "<<b1<<" "<<b[2]<<" "<<b3<<" "<<b[4]<<" "<<b[5]<<"

"<<b[7]<<endl;

}

if(sb3==b1&&1<=b3&&b3<=sb4)

{

cout<<b[0]<<" "<<b1<<" "<<b[2]<<" "<<b3<<" "<<b[4]<<" "<<b[5]<<"

"<<b[7]<<endl;

}

}

b1=0;//无此句文本中最后一行数据会重复操作,下面相似操作原因同此

}

fileb.close();

cout<<"操作完成,自动返回"<<endl;

goto next2;

}

else

{

cout<<"输入错误,请重新输入!"<<endl;

goto next4;

}

}

}

break; "<<b[6]<<" "<<b[6]<<" "<<b[6]<<"

相关推荐