网络系统设计中的程序设计分析论文(合集5篇)

时间:2019-11-19 05:40:08下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《网络系统设计中的程序设计分析论文》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《网络系统设计中的程序设计分析论文》。

第一篇:网络系统设计中的程序设计分析论文

摘要:在网络系统的程序设计过程中,并发性和复杂性带来的影响是非常严重的。本文从对于网络程序并发性与复杂性进行简析入手,对于网络程序并发性与复杂性问题的应对进行了分析。

【关键词】网络程序设计论文

网络系统设计中的程序设计并发复杂性问题是由于现今网络系统的性能和设计理念等多种因素所共同导致的,因此只有在做好前期分析工作的前提下,才能够促进网络系统设计中的程序设计并发复杂性得到有效的遏制。

1网络程序并发性与复杂性简析

网络程序并发性与复杂性是由多方面引起的,以下从环境差距过于明显、设计理念的限制、驱动模式有待优化等方面出发,对于网络程序并发性与复杂性进行了分析。

1.1环境差距过于明显

网络程序并发性与复杂性主要是因为单机环境和网络环境差距过于明显所导致的。大家都知道随着近年来高质量网络程序的不断开发,之前传统程序设计过程中存在的许多问题都被暴露出来。在这一过程中可以发现网络环境与单机环境之间的巨大差异性成为影响程序开发设计的关键。其次,并发性问题的存在实际上成为了网络程序设计发展的重要限制瓶颈,因此,如何能够对于并发性问题进行有效的解决,成为了摆在程序设计人员面前的要点。与此同时,环境差距过于明显还意味着混合性并发模型发展时间短和实际应用少的缺陷也会暴露出来,因此其对于并发性问题的解决效果还需要进一步的观察。

1.2设计理念的限制

网络程序并发性与复杂性的存在也跟之前的设计理念被软硬件功能限制有着密切的联系。通常来说网络程序的并发性问题的表现形式通常会以分布性、异构性、异步性和访问延误等形式表现出来。因此工作人员在将问题整合成一个整体后就会发现,并发性问题变得极其难以解决。其次,设计理念上的限制还会使得网络程序设计的整体效率受到非常大的影响。

1.3驱动模式有待优化

网络程序并发性与复杂性和驱动模式有着千丝万缕的联系。由于网络并发任务处理方法实际上可以根据语义将其分为反应式和前摄式两种。在反应式模型中应用程序必须通过接收到相应的事件通知,然后才能够在此基础上能够更加具有针对性的发出具体的操作指令,在这一过程中如果操作的结果是错误的,则工作人员可以从函数的返回值中即时获知。其次,驱动模式有待优化还指的是操作的错误情况通常会作为完成事件的参数,传递给应用程序如果需要同时发出多个相似的并发操作,则需要在发出操作指令时,增加一个标识参数,从而能够在此基础上对于并发操作进行更加细致的区分。

2网络程序并发性与复杂性问题应对

网络程序并发性与复杂性问题的应对应当从许多方面出发,以下从优化多线程模型、协调程序运作顺序、开发新型并发模型等方面出发,对于网络程序并发性与复杂性问题的应对进行了分析。

2.1优化多线程模型

网络程序并发性与复杂性问题应对的第一步是合理优化多线程模型。工作人员在优化多线程模型的过程中首先应当根据多线程并发模型多线程并发模型的线程调度来对其进行分别的分析。其次,工作人员在优化多线程模型的过程中应当确保线程的运行状况与应用层的控制无关,在这一过程中CPU是由调度器来进行控制的,并且调度器对于线程的调度是强制性的。与此同时,工作人员在优化多线程模型的过程中应当合理的实现CPU控制权的强制转移,从而能够在此基础上有效的规避因为上一个线程没有处理好当前线程所需要的各种数据,引发数据竞争,严重的甚因此,在对线程协作复杂或者并发性高的任务进行处理,最终可以减少系统出现崩溃的概率。

2.2协调程序运作顺序

网络程序并发性与复杂性问题应对的关键是协调程序运作顺序。工作人员在协调程序运作顺利的过程中首先应当理解到与抢占式调度相比CPU的控制权具有更强的优先度,因此这意味着只有在当前线程放弃数据处理后实际上才会将CPU的控制权转移到其他线程。其次,作人员在协调程序运作顺利的过程中还应当确保应用程序的线程操作必须经过系统调用,在这一过程中由于线程代码的移植具有很高的难度,因此实际上非常严重的影响了其普遍适应性,所以只有通过合理的协调才能够确保其运作顺序的合理优化。

2.3开发新型并发模型

网络程序并发性与复杂性问题应对离不开新型并发模型的开发与利用。工作人员在开发新型并发模型的过程中应当优先对于混合性并发模型进行应用。其次,工作人员在开发新型并发模型的过程中首先应当理解到无论是事件驱动模型还是多线程并发模型实际上都具有各自的优点和不足,因此这导致了其在实际应用中始终存在一定的局限性。对因此设计人员在开发新型并发模型的过程中应当勇于打破常规合理的将这两种模型融合在一起,最终能够期待形成全新的并发模型,最终能够促进程序设计合理性的有效提升。

3结束语

在网络程序的设计过程中并发性问题实际上是一个难以进行规避的复杂问题。因此工作人员在认清当前的技术条件下应当通过有效的提升网络程序的并发处理能力,并且在此基础上并发模型的性能进行完善,才能够促进网络程序设计效率的有效提升。

参考文献

[1]李慧霸,田甜,彭宇行,等.网络程序设计中的并发复杂性[J].软件学报,2011(1):132-148.[2]高伟,张学红.关于网络程序设计中的并发复杂性研究[J].网络安全技术与应用,2014(12):49-51.[3]潘珂,田勇.网络程序设计中的并发复杂性研析[J].科技致富向导,2014(27):84-85.[4]杨文福,王捷.网络系统设计中的程序设计并发复杂性[J].信息通信.2016,01(15):43-45.

第二篇:智能交通管理网络系统中城市道路监控设计.

智能交通管理网络系统中城市道路监控设计

随着机动车数量的逐年增长,城市交通问题也日益突现出来。交通拥挤,车流不畅,大大影响了人们的出行速度,进而降低了生产和工作效率。因此,城市交通拥挤问题成为当今我国城市发展的重要问题。实践证明,解决城市交通问题的有效方法是在现有交通基础设施的基础上,提高交通管理水平,达到从根本上解决问题的目的。先进的交通管理系统可以有效提高城市现代化交通的有效利用率和交通流量,减少道路的交通拥挤程度,交通事故的发生率以及由于交通拥挤交通事故等造成的出行延误。城市智能交通管理系统正是通过对高科技、高水平的技术的应用,来提高交通管理系统的工作效率,达到改变城市交通混乱的局面。

智能交通系统是将先进的信息技术、数据通讯传输技术、电子传感技术、电子控制技术及计算机处理技术等有效的集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的,实时、准确、高效的综合交通运输管理系统。城市智能交通系统是由交通信息采集和信息处理、决策、发布两部分组成。交通信息实时采集系统是交通路面的高清数字化视频系统采集。通过实时交通视频实时检测,记录来往车辆类型、车速等数据,将各监测点的各时段车辆行驶状态、车型种类、违法类型、平均车速、车流量、堵塞路口及路段的交通情况准确、快速、实时地发往交通指挥中心。道路交通信息接收、处理和发布系统是通过设置的交通信息采集网络,获取各种实时道路交通情报,经过综合处理和分析等,及时发布路面交通状况信息,向交通参与者提供有关信息,方便其选择出行路径。对采集来的信息通过计算机程序筛选处理,配合综合交通信息平台、GIS电子地图、交通疏导的决策支持等综合信息处理,分析得出整个交通的动态交通流分布状况和交通管理的预警信息,最后形成一目了然的诱导信息。

智能交通把交通信息统计系统和电子警察执法处罚系统引入到城市道路监控中,实现了城市道路的点面结合式监控,提高了城市整体安全防范水平,缓解了日益严重的交通压力,加强了驾驶员遵守交通法规的意识,降低了恶性事件发生率。下面主要介绍交通监控的几个系统及应用:

一、电子警察执法处罚系统

1、机动车闯红灯违章视频监测系统

机动车闯红灯违章行为,经常引发严重的交通事故。机动车闯红灯违章视频监测系统安装于交通路口,全天候对闯红灯的违章机动车辆进行监测,不仅能对违章车辆拍照,还能够实时对违章车辆的牌照和违章轨迹进行自动判断识别。公安交通管理部门以抓拍的违章照片、视频录像为依据对违章者进行处罚教育,从而大大提高机动车驾驶员的自觉性,增强交通安全意识,减少因闯红灯违章行为而造成的事故、堵塞和交通混乱,加快车辆在交通路口行驶速度,保证道路畅通。

该系统是一个基于网络的分布式系统,系统分为前端视频检测与抓拍系统、路口局部数据处理系统、远程数据传输系统、中心数据管理与处罚系统四大部分。

交通信号控制系统输出路口红绿灯信号,确定放行车道和禁行车道。禁行车道通过视频车辆检测单元,车辆检测单元检测到有车辆通过禁行车道时,通过主控机控制闯红灯违章抓拍单元拍摄违章车辆号牌图片和该方向的全景图片,为确保所拍照片能够作为民警执法依据,系统抓拍两幅连续全景图片,以反映车辆运行轨迹,所有处理结果都存储于主控机(工控机的存储单元中,同时系统具有硬盘录像功能,可以将违章事件的视频数据纪录在硬盘上。存储信息可通过通信子系统由人工控制下载给笔记本计算机,或自动通过光纤、无线等传输方式传给中心端数据管理子系统。这样对于违章闯红灯行为既有违章抓拍图片,又有视频图像,避免了违章处罚引发的争议,同时对于一些交通事故引发原因、责任判定提供了有力的证据。

2、机动车超速检测系统

随着国民经济的迅猛发展,我国高速公路、城市快速路上行驶的车辆越来越多、速度也越来越快,与车辆交通有关的案件也呈不断上升势头,交通肈事逃逸等案件时有发生。如何运用科学的手段帮助公安部门有效控制高速公路上超速违章现象、抓捕逃逸车辆,已成为公安交通部门亟待解决的问题。

基于这种情况,开发了机动车超速检测系统。系统利用视频图像处理技术,对高速公路车道上的汽车进行非接触式监控,获得超速车辆车速、车牌号码、违章照片等运行状态信息,可对高速公路或城市快速路上的超速车辆信息进行准确、稳定、全天候的检测和记录。同时与黑名单中的“稽查车辆”进行比对,可以很好的辅助治安监控管理。系统还可以将违章车辆信息送回指挥中心以及收费站,便于存档和对违章车辆进行处罚。这一套功能强大的智能交通监控系统可广泛应用于高速公路和城市快速路管理、卡口管理、巡逻执勤、逃逸车辆抓捕等场合,具有很好的应用前景。

该系统突破了大量的技术难点,实现了高速车牌识别。每车道在仅架设一台CCD(摄像头、有测速雷达的情况下精确的检测车速、捕捉车牌信息。该系统具有:成本低、识别率高、软件测速、高速识别、性能稳定、结构精简、维护容易、低故障、完全采用视频触发和识别(无需破坏路面埋设线圈或安装红外探头等技术优势,从而确定了在同类产品中的领先地位。

“机动车超速检测系统”是实时响应系统。其原理是将前端车辆图像信息采集CCD(摄像头架设在待测车道上方,识别软件采用图像触发的方法,对CCD(摄像头传回的数字视频信号进行分析,判断是否有车辆经过。当发现有车辆驶入监测区域,则立刻启动识别模块,获取实时车牌图像数据后,系统在极短时间(1秒左右完成车速检测、图像识别、车辆数据入库、图像数据入库、道路信息分析、检索数据等处理。如果发现通过车辆超速或是交警、公安机关需要查找的车辆(如被盗抢车辆,系统可通过远程数据网络,向“指挥中心”和“拦截站”发出告警信息,通知有关部门或有关人员。告警信息包括:发现触发报警车辆的时间、地点、车速、车牌号码、抓拍的车辆照片、车辆被缉查的原因。对于存放于数据库中的过车记录,可以随时进行检索,掌握车辆的去向,可以作为违章处罚的根据或对破案提供帮助。

3、移动式车辆稽查系统

移动式车辆稽查系统为将车辆视频检测、雷达测速、车牌自动识别和车辆稽查数据库实时比对等先进技术于一体的实时稽查系统。该系统可对行驶车辆进行测

速、牌照抓拍、识别和比对,在不影响正常交通的情况下,能自动实时稽查违规车辆,有效地进行交通执法。

移动稽查系统在自动运行的基础上增加了手动抓拍的工作模式。自动运行通过自动车辆触发算法实现车辆的自动抓拍和识别,可以实现系统全天候状态下的自动运行;手动工作模式可以人工参与系统的运行,以保证抓拍的图片更加准确,还可以对逆行、压黄线、违章停车等多种违法行为进行移动过程中的手动抓拍。两种可选的工作方式有效的满足了广泛的用户需求。系统可以实现各种违章抓拍、道路监控、记录核查过往车辆车牌与数据库比对,对记录在案的问题车辆及时报警,这种有效便捷、灵活多样的工作模式,大大提高了交警执法力度。

系统技术特点

1可在双动模式下工作,即在巡逻状态下行驶的警车对运动的目标车辆进行检测。

2采用先进的视频车辆检测技术,可以实时、准确地识别各种车牌。

3采用先进的Ka波段雷达测速仪进行速度测量,可支持速度锁定,最快速度跟踪等多种工作模式。

4可外接2个雷达探头。

5能够对违章车辆进行抓拍、录像与自动报警。6检测目标车辆速度范围:0-200km。车牌识别率>90%。7支持与指挥中心之间的GPRS数据通讯。8系统界面友好易用。

9可使用笔记本、小型工控机作为车载运算平台。

4、其它常见违章行为监测系统

电子警察系统的核心技术是车牌识别技术、视频虚拟线圈检测技术。利用核心技术可以附带开发出多种电子警察监测系统,自动监测、取证、执法处罚多种驾驶员违章行为,如“公交车道监测系统”、“压双黄线监测系统”、“非机动车道行车监测系统”、“逆行禁行车辆监测系统”、“紧急停车带行车监测系统”。

在机动车日益增多,而驾驶员自觉守法意识淡薄,监督警力不足的情况下,少数驾驶员在侥幸心理的驱使下,经常违章却很少受到处罚。在没有交警执法的情况下,公交车道、非机动车车道上经常出现机动车的身影,在没有隔离带的双向道路上,经常出现超车压黄线的情景,一些单行线上经常有逆行车辆出现,紧急停车带内经常有车辆长期停留,这些违章行为是交通事故的重大隐患,并由此引发的交通事故频频发生。

二、交通信息统计系统 车流量监测系统

车流量监测系统专门针对中国城市交通状况和混合交通流特性,采用相适应的智能数字图像信息处理技术,能满足城市交通智能化管理与监控的要求,具有技术先进、性能稳定、不破坏路面、适用性强、安装操作方便等诸多优点。在多年的工程应用中得到了不断的完善,在各项指标上都无可挑剔。此系统可以灵活的集成在各类ITS系统中。

“车流量检测软件”是实时响应系统。其原理是将车辆图像信息采集CCD(摄像头架设在待测车道上方,识别软件采用视频触发的方法,对CCD(摄像头传回的数字视频信号进行分析,判断是否有车辆经过。当发现有车辆驶入监测区域,则立刻启动车流量检测模块,每过一辆车,系统计数自动加一,系统在极短的时间内完成车流量检测、排队长度、等待时间、车道占有率、道路信息分析、检索数据等处理,与数据库中的交通流参数比对判断道路拥堵情况,利用计算机网络技术和分布式数据库同步技术进行远程数据发布、更新、查询等处理,严格保证各级数据库内容的数据一致性和完整性,通过LED显示屏显示出结果,使驾驶者了解哪一路段车流量大,哪一路段交通拥堵,自行选择行车路线。系统还能统计车辆通过情况,包括:按年月日统计

车流量、车辆等待时间车道、占有率等数据,其结果以表格、直方图、曲线图的形式输出、打印,并将统计结果传输到指挥中心,管理部门根据这些数据采取相应措施疏导交通,满足城市交通智能化管理与监控的要求。

系统技术特点

多参数同时检测:从视频信号中可以提取大区域范围内的多种交通参数,并可以提取一些采用其它方法难于检测到的参数。

大范围检测:一路视频信号可以覆盖4-6个车道,实现大区域范围的交通流检测。多阶段检测:可以检测进入路口的交通量需求及其变量,还能检测出信号控制方案执行的效果,完成信号自动控制全过程的检测。

设置、调整方便灵活:可以在视野范围内设置多个不同类型的虚拟检测区;可方便直观地在计算机上移动虚拟检测区的位置或改变其大小,以满足不同的交通应用和道路覆盖范围等方面要求。

无须破路、安装简便、维护方便:安装时无须破坏路面,无须干扰正常交通,就可完成检测器的重新设置;无须因道路路面维修而中断交通检测。

可扩展性强:交通流参数可以存贮在视频车辆检测系统内部,以备后用;基于该系统,还可以扩展出很多实用功能(如违章检测、联网。

三、智能化多媒体网络车牌识别系统

车牌识别作为交通监控的核心技术,应用在多项子系统中。智能化多媒体网络车牌识别系统广泛应用在过往车辆自动登记、验证,公路收费,车辆安全核查,小区、停车场管理等方面。

系统采用视频实时触发方式进行检测抓拍,能够自动侦测、准确识别及验证行驶或停泊中车辆的整车车牌号码。可对已抓拍图像与数据库资料及时进行比对,当发现应拦截车辆时,系统能在本地机和中心机上及时报警。系统采用先进的模糊图

像处理技术,通过程序能很好的实现对于车牌的整体倾斜、车牌的文字倾斜、车牌的污损和模糊等的处理,将人眼都很难辨别的车牌号识别出来。

车牌识别的流程可分为车牌定位、车牌预处理、字符分割和字符识别四个步骤。

系统实现功能和技术特点

★准确识别不同地区及各种类型的车牌号码。★采用图像自动触发方式,不需要其他外在触发机制。★自动完成车辆记数,车流量统计。

★对已抓拍图像能与数据库资料及时进行比对,当发现应拦截车辆时,在本地机和中心机上及时。

★内置的数据库管理软件能存储、搜索及整理车辆资料,能自动备份数据并完成统计报告。

★在网络的环境下实现各地的数据同步,可实时监控前端系统的运行状况。★对运动速度在180公里/小时以下的汽车车牌进行自动识别。

★在良好光照条件下,车牌识别率不低于96%,在阴雨天、夜间人工光照条件下,车牌识别率不低于90%。

★系统能够识别的车牌类型包括:普通民用汽车车牌、军用汽车车牌(含武警车牌、警用汽车车牌

★系统能够识别车辆类型,绘制出车辆的三维图像。★抓拍图像的时间小于0.03秒,识别图像的时间小于0.2秒。★系统适应全天候条件下工作。

四、电子警察在城市道路监控的应用

在我国但部分大中城市的道路监控系统中都有电子警察的身影,并且在使用数量上和功能需求上不断扩大和提高。电子警察的广泛应用和取得良好的社会效益和经济效益,再次体现了“科技强警”的重要意义。然而我国数量众多的中小城市在经济持续高速发展下,也面临着交通状况、治安状况恶化等问题,迫切需要建设城市道路监控系统。

大中城市道路监控系统由于监控点多、分布广且具监控中心距离较远,不能将所有监控点视频信号传输到监控中心进行监控,一般分将重要监视点的画面视频信号通过光缆传输到监控中心进行录像和电视墙画面监控,对电子警察系统则要求将自动记录的违章图片和其它信息数据回传到监控中心,作为执法处罚证据和资料存档。这样电子警察的控制部分就需要安装在路口的机柜中,控制主机则要求能在恶劣环境下长期工作的工控计算机,通过电话线等现有传输线缆将数据传回监控中心,同时将视频录像资料存在本地计算机中,控制中心可以调用这些视频资料用于判断有争议的处罚事件和判断交通事故原因。

一些中小城市主要路口少,监控点少,这些监控点距离监控中心近,这样可以从监控点到监控中心直接敷设光缆线,将监控点的视频信号直接传输到监控室。电子警察系统由于有视频虚拟线圈检测功能,可以将控制主机直接安放在控制中心,这种方式使前端摄像机即可用于道路监控又可用于电子警察检测取证。将电子警察系统安放在监控中心,对控制主机的要求降低,系统维护、维修成本降低,同时对于资金紧张的项目,可以用一套电子警察系统

通过人工切换对多个路口进行轮流使用,这样即可对经常违章的驾驶员有震慑作用,又缓解了资金紧张的矛盾,使监控系统分步完善。这种模式已经在一些地区使用,并取得很好的效果。

由于各地区气候环境不同、车辆牌照所用材质不同及其它特殊情况,造成视频图像的差异。这就意味着某个电子警察系统在甲地使用效果很好,在乙地使用效果不好,另外每个地区交警部门可能根据实际需求提出一些新要求。对于一个较为成

熟的电子警察系统,应该能满足大多数需求,同时能很方便地修改调整软件系统,满足用户的需求。随着监控数字化发展,城市道路监控完全数字化的时代为期不远了

第三篇:vb+sql程序设计论文

石家庄职业技术学院

图书信息管理系统

学 生 姓 名: 指 导 教 师: 系 别: 专 业: 年 级:

论文提交时间: ___________________

评 阅 人:___________________

年 月 日: ___________________

摘要

随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。

管理信息系统(简称MIS)是介于信息论,经济管理理论,统计学与运筹学及计算机科学之间的一门边缘性,综合性,系统性的交叉科学,它是随着管理科学,信息技术,计算机技术等的发展而产生和发展起来的。

图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。基于上述考虑本系统主要利用VB.NET作前端的应用开发工具,利用SQL server 2005 作为后台的数据库,利用WINDOWS作为系统平台开发的图书管理系统。另外本图书馆管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。

关键字 管理信息系统 图书管理 VB.NET的应用。

目录

第一章 系统需求分析......................................................3

1现行系统存在问题的分析..............................................................................3 2解决方案...................................................................................................3

第二章 总体设计............................................................4 系统目标设计.............................................................................................4 2 系统功能分析.............................................................................................4

第三章 数据库说明.........................................................5

1数据库的的表格介绍....................................................................................5 2各表关系与触发器的解释..............................................................................7

第四章 功能模块设计.....................................................11

1模块详解..................................................................................................11

第五章 重点研究问题及核心问题.......................................23

1数据库的核心问题......................................................................................23 2VB.NET的核心问题....................................................................................23

第六章 心得体会...........................................................23 附录..........................................................................24 参考文献:..................................................................29

第一章 系统需求分析

1.现行系统存在问题的分析

现图书馆工作大部分还是进行着手工管理,工作起来效率很低,工作量大,更加由于不可避免的人为因素,经常造成数据的遗漏、误报,给图书馆管理带来了很大的麻烦。近几年来,随着我国科技的飞速发展,人们越来越注重社会的科技化发展。为了满足客观的需要,完成信息的数字化,智能化,自动化,综合化管理,要求在现代化工作引进计算机信心管理技术。计算机信息化管理系统有着储存信息量大、速度快,操作简单等许多优点,提供给我们的处理信息及时快捷,同时也提高了图书管理人员的工作效率。

2.解决方案

基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。

图书馆信息管理系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是本系统建设的重要环节。

学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为四个方面:一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;另一方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;再有一方面是工作人员对学生们的借阅证发放;还有就是图书馆的核心工作,对图书的借阅管理。

这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。

在软、硬件方面对系统的需求,软件要求易学,界面简单,容易掌握,可以很简单明了方便的管理各种图书信息。硬件的配置要求不是太高,这样也很好的适应当前的学校图书馆得情况。

在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。

第二章

总体设计

1.系统目标设计

系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是添加图书基本信息(如:书名、作者、价格等)预先存入数据库中,供以后检索,以及查找、更新、删除图书信息。

能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息,以及查找、更新、删除读者信息。

能够对图书的借阅、归还。可以按图书借阅号等信息对图书进行查询,并能反映出图书的借阅情况。

能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。

提供较为完善的差错控制与友好的用户界面,尽量避免误操作。

2.系统功能分析

根据以上功能,将图书管理系统的数据分为:

数据输入部分:主要包括图书基本信息的录入、借阅人基本信息的录入、用户基本信息的录入。

数据输出部分:主要是各种统计查询,包括:根据图书信息(如书名、图书借阅号)查阅图书及其借阅者信息、统计输出图书类型等。

数据处理部分:主要涉及借阅和归还的处理,如一本书借出后,必须在数据库中将该书标记为已借出,以防出现数据库中有书但图书馆无书的情况;一本书归还后,同样必须在数据库中将其删除,以便再次借出。以及对图书基本信息,借阅人基本信息,用户基本信息的更新、删除。

第三章 数据库说明

1.数据库的的表格介绍

数据库在包括读者信息表,图书信息表,图书类别表,图书借阅表,用户信息表,库存表。

图4.1

部分表的图如下: 图书信息表:

图4.2

图书借阅表:

图4.3

用户信息表:

图书类别表:库存信息表:读者信息表:

图4.4

图4.5

图4.6

图4.7

一个联合了图书信息表、库存信息表、图书借阅表建立一个借阅图书时的图书查询---View1,其各表之间的关系如下: 视图中的示例信息如图:

图4.8

2各表关系与触发器的解释

图4.9

图4.10

为了更好的完善该系统,因此在数据库的建立一些主键、约束、触发器。关系有:图书信息表与图书类别表存在着外键约束;

读者信息表与图书借阅表存在着外键约束; 库存信息表与图书借阅表存在着外键约束;

图书信息表与图书借阅表存在着外键约束;

部分表中存在着主键,因为表中数据很少,主键只起到唯一性的作用,对于表的检索速度效果是不显著的。

在实际的图书馆的系统中,当读者借阅一本书时,那么图书馆中该书是少一本,还一本书,书库中则多一本,当书库中的数量为0时,则无法借阅该书,每名学生只能借2本,为模拟这种现象,也在表图书借阅中建立了触发器。Ck_读者信息表 功能:每名学生只能借6本

图4.11 Upda_库存量1功能:当借一本时,库存表中与之相应的图书库存量则少一本

图4.12

Upda_库存量2功能:当还一本书,库存表中与之相应的图书库量则多一本

图4.13

Upda_库存信息表功能:当库存信息为0时,则无法向借阅表中插入信息。

图4.14

第四章功能模块设计

1.模块详解

该图书管理系统包括如下界面:登录、主窗体、读者信息、图书信息、图书类别、借阅与归还、系统用户管理。其关系如下图。

图5.1

该窗体为初始窗体

图5.2

当登录时,先进入登录界面,然后进入主窗体中。关键代码:(见附录A)

图5.3

主窗体中包括基础数据:读者信息、图书信息、类别信息;图书借阅管理中包括:图书信息查询、借书管理、还书管理;系统维护中包括:用户添加,用户修改;另外,有一个关于窗体,最后一个模块就是退出系统。

图5.4

各模块的功能: 读者信息管理

该设计的功能主要是完成学校图书信息的入库编目管理,它包括读者信息的添加,图书的查询、更新、删除等功能。

读者信息添加:在此窗体中用户可以添加自己的个人有关信息。关键代码:(见附录B)

图5.5

读者作息查询

在窗体中用户可查询、删除自己的信息 关键代码: 查询代码:(见附录C)

删除代码:(附录

D)

图5.6

读者信息更新

该窗体可以更新读者信息 关键代码(附录E)

图5.7 读者信息浏览

该窗体可以实现所有读者信息 代码如下:(附录F)

图5.8

该设计的功能主要是完成学校图书信息的入库编目管理,它包括图书信息的添加,图书的查询、更新、删除等功能。(以下代码与上面代码类似,在此不做详解)

图书信息添加:在此窗体中图书管理员可以添加图书的相关信息

图5.9

图书信息查询:在此窗体中图书管理员可以查询、删除图书的相关信息

图5.10

图书信息更新:在此窗体中图书管理员可以更新图书的相关信息

图5.11

图书信息浏览:在此窗体中图书管理员可以浏览图书的相关信息

图5.12

图书类别管理:在此窗体中图书管理员可以添加图书类别的相关信息

图5.13

图书类别查询:在此窗体中图书管理员可以查询、删除图书类别的相关信息

图5.14

图书类别更新:在此窗体中图书管理员可以更新图书类别的相关信息

图5.15

图书类别浏览:在此窗体中图书管理员可以浏览图书类别的相关信息

图5.16

图书查询:读者可以在此行窗体中查找想要借阅的图书ISBN、库存、书名等信息。

图5.17

借阅:读者在此窗体中添加自己的信息,来借阅图书。关键代码(附录G)

图5.18

归还:读者在此窗体中删除自己的借阅信息,并归还图书。关键代码:(附录H)

图5.19

(1)口令识别

口令识别是一种低成本,易实现的用户识别技术。在计算机系统内广泛的使 用,在口令识别机制中,计算机系统给每个用户分配一个用户名和一个口令。用户名唯一确定一个用户是公开的;口令用于证实用户,是保密的,显示为*号。

(2)口令存取

系统要识别每个用户的口令,就必须把每个用户的口令存放起来,形成口令表,通常以文件或数据库形式存放。如果以明文的形式存放,则很容易被熟悉系统的人偷取,为了提高基于口令的身份识别方案的坚强度,应该在口令方案中引入加密机制。

用户添加:在此窗体中图书管理员可以添加用户相关信息

图5.20

用户管理:用户可以在此窗体中更新、删除用户信息。

图5.21

关于窗体:主要介绍该系统的一些基本信息

图5.22

第五章 重点研究问题及核心问题

1.数据库的核心问题

在实际的图书馆的系统中,当读者借阅一本书时,那么图书馆中该书是少一本,还一本书,书库中则多一本,当书库中的数量为0时,则无法借阅该书,每名学生只能借2本,为模拟这种现象,也在表图书借阅中建立了触发器。

2.VB.NET的核心问题

ADO.NET技术,数据访问控件的使用,手动创建数据库访问的编程方法。

第六章 心得体会

在对图书管理信息系统的开发过程有了基本了解后,本人使用VB.NET开发了这个“图书管理系统”。系统基本实现了内部图书借阅管理的系统化、规范化和自动化。例如添加读者信息以及查找、更新、删除读者信息, 添加图书信息以及查找、更新、删除图书信息,添加图书类别信息以及查找、更新、删除图书类别信息,图书的借阅、归还。可以按图书借阅号等信息对图书进行查询,并能反映出图书的借阅情况。实现了简单的统计分析功能,可以展示出库存图书馆藏图书的情况。还能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。

通过对该系统的设计、开发和调试,一方面使我更加熟练了SQL2005 的使用方法,熟悉了建库、建表、建视图的方法,以及如何建约束、触发器让数据更完整。另一方面,让我对VB.NET开发工具的有了更深一步的认识,熟悉了窗口、菜单以及一些可视化控件的使用方法。通过使用还了解到了各类控件的属性与方法。同时,在制作过程中遇到了不少问题和困难,通过查阅书籍及互连网以及和同学们的探讨让我得到了不小的帮助。

由于外部设备条件以及自身能力的限制,该管理系统还存在不少的缺点和漏洞,只能尽量改正与完善。不足之处,还望多多指教。

附录

附录A Dim cmd As New SqlCommand(“select * from user1 where user1='” & u_name & “' and pwd='” & u_pwd & “'”, cn)cn.Open()Dim dr As SqlDataReader = cmd.ExecuteReader If Not dr.Read Then MsgBox(“你的user1或pwd不对”)Else If dr.Item(“userTYPE”)= 0 Then FrmMain.ToolStripMenuItem3.Enabled = False//普通用户

Else FrmMain.ToolStripMenuItem3.Enabled = True//管理员

End If FrmMain.Show()Me.Close()End If 附录B

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs)Handles Button1.Click If TextBox1.Text = “" Or TextBox4.Text = ”“ Or TextBox5.Text = ”“ Or TextBox8.Text = ”“ Or TextBox9.Text = ”“ Then MsgBox(”均不能为空!“)Exit Sub End If Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”insert into 读者信息表 values('“ & TextBox1.Text & ”','“ & TextBox2.Text & ”','“ & TextBox3.Text & ”','“ & TextBox4.Text & ”','“ & TextBox5.Text & ”','“ & TextBox6.Text & ”','“ & ComboBox1.Text & ”','“ & TextBox7.Text & ”','“ & TextBox8.Text & ”','“ & TextBox9.Text & ”','“ & TextBox10.Text & ”')“, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()End Sub 附录C

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click If ComboBox1.Text = ”姓名“ Then Try Dim cn As New

SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlDataAdapter(”select * from 读者信息表 where name='“ & TextBox1.Text & ”' “, cn)Dim tb1 As New DataTable cn.Open()da.Fill(tb1)cn.Close()DataGridView1.DataSource = tb1 Catch ex As Exception MsgBox(ex.ToString)End Try ElseIf ComboBox1.Text = ”借阅证号“ Then Try Dim cn As New

SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlDataAdapter(”select * from 读者信息表 where isbn='“ & TextBox1.Text & ”' “, cn)Dim tb1 As New DataTable cn.Open()da.Fill(tb1)cn.Close()DataGridView1.DataSource = tb1 Catch ex As Exception MsgBox(ex.ToString)End Try End If End Sub 附录D Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button4.Click If ComboBox1.Text = ”姓名“ Then Try Dim cn As New

SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 读者信息表 where name='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try

ElseIf ComboBox1.Text = ”借阅证号“ Then Try Dim cn As New

SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 读者信息表 where isbn='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End If End Sub 附录E Private Sub readerupdate_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles Me.MouseClick

Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlCommand(”select * from 读者信息表 where isbn='“ & TextBox8.Text & ”' “, cn)Dim myread As SqlDataReader cn.Open()myread = da.ExecuteReader While myread.Read TextBox1.Text = myread(”Name“)TextBox2.Text = myread(”sex“)TextBox3.Text = myread(”age“)TextBox4.Text = myread(”identitycard“)TextBox5.Text = myread(”maxnum“)TextBox6.Text = myread(”keepmoney“)ComboBox1.Text = myread(”zj“)TextBox7.Text = myread(”zy“)TextBox8.Text = myread(”isbn“)TextBox9.Text = myread(”bztime“)TextBox10.Text = myread(”tel“)End While cn.Close()

Catch ex As Exception MsgBox(ex.ToString)End Try End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click Me.Close()End Sub Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles TextBox1.MouseClick Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlCommand(”select * from 读者信息表 where name='“ & TextBox1.Text & ”' “, cn)Dim myread As SqlDataReader cn.Open()myread = da.ExecuteReader While myread.Read TextBox1.Text = myread(”Name“)TextBox2.Text = myread(”sex“)TextBox3.Text = myread(”age“)TextBox4.Text = myread(”identitycard“)TextBox5.Text = myread(”maxnum“)TextBox6.Text = myread(”keepmoney“)ComboBox1.Text = myread(”zj“)TextBox7.Text = myread(”zy“)TextBox8.Text = myread(”isbn“)TextBox9.Text = myread(”bztime“)TextBox10.Text = myread(”tel“)End While cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”update 读者信息表 set name= '“ & TextBox1.Text & ”',sex='“ & TextBox2.Text & ”',age='“ & TextBox3.Text & ”',identitycard='“ & TextBox4.Text & ”',maxnum='“ & TextBox5.Text & ”',keepmoney='“ & TextBox6.Text & ”',zj='“ & ComboBox1.Text & ”',zy='“ & TextBox7.Text & ”',isbn='“ & TextBox8.Text & ”',bztime='“ & TextBox9.Text & ”',tel='“ & TextBox10.Text & ”' where isbn='“ & TextBox8.Text & ”' or name='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End Sub 附录F Private Sub 读者信息表BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 读者信息表BindingNavigatorSaveItem.Click Me.Validate()Me.读者信息表BindingSource.EndEdit()Me.读者信息表TableAdapter.Update(Me.TsglDataSet.读者信息表)

End Sub Private Sub readerupdate_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load 'TODO: 这行代码将数据加载到表“TsglDataSet.读者信息表”中。您可以根据需要移动或移除它。

Me.读者信息表TableAdapter.Fill(Me.TsglDataSet.读者信息表)End Sub 附录G

Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”insert into 图书借阅表 values('“ & TextBox1.Text & ”','“ & TextBox3.Text & ”',' no','“ & TextBox5.Text & ”','no')“, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()附录H

Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 图书借阅表 where bookisbn='“ & TextBox1.Text & ”'", cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()

参考文献:

[1]《软件工程导论》 张海藩 著 清华大学出版社 [2]《数据库原理与设计》 张龙祥、陶影 等编 西安交大出版社 [3]《管理信息系统原理与应用》罗超理、李万红

清华大学出版社 [4]《SQL Server 2005 实用教程》李岩、张瑞雪

清华大学出版社 [5]《Visual Basic.NET》

刘怀亮

冶金工业出版社

致 谢

本论文是在石家庄职业技术学院智立甫老师的悉心指导和帮助下完成的。在论文的选题、问题分析以及论文写作的整个过程中,处处渗透着老师的心血。非常感谢智老师的悉心指导。在跟随智立甫老师进行毕业设计的过程中,他渊博的学识,严谨的治学态度时刻激励和影响着我,使我在短期内不仅学识水平有了较大提高,而且更重要的是从老师那里学到了从事研究工作的方法和态度,这必将使我受益终生,同时我也会将智老师这种精益求精的精神渗透到我今后的学习工作中。在论文完成之际,特向智立甫老师表示衷心的感谢和崇高的敬意。我将永远铭记老师的谆谆教诲。

感谢赵恩同学在代码修改发面的方面的帮助!感谢郝鹏同学提供的图片素材!

你们的激励和厚望一直是我奋斗的动力源泉,但愿我的点滴进步能给你们带来欣慰。

第四篇:C语言程序设计教学分析与探索论文

[摘要]C语言是高校计算机类专业开设的一门非常重要的专业课程,学校往往在教学上投入很多,却收效甚微。学生普遍反映难学、难懂,理论与实践脱节,所以很难培养出满足社会需求的计算机专业人才。本文从学校教学和学生学习两个方面出发,分析C语言教学过程中现存的问题,通过多年的教学经验,对教学方式和方法进行总结,试图探索出一种符合现代人才培养需求的教学模式。

[关键词]C语言 程序设计 实践教学

一、前言

上个世纪70年代以来,C语言在以其目标代码质量高,使用灵活,数据类型丰富,可移植性好等特点而得到广泛的普及和迅速发展,成为一种在系统软件开发、科学计算、自动控制等各个领域广泛应用的程序设计语言。在众多高级程序设计语言竞显风流的当今社会,C语言以其强大的功能仍在高级程序设计领域占据着重要的地位。

C语言作为计算机类专业的一门专业课,是学生学习程序设计的开端,学生分析问题、解决问题的能力和程序设计过程理念的形成都与C语言有着密切的联系。C语言有着其它高级程序设计语言不可比拟的优点,同时也有其较难学习的一面。由于现行教学过程中存在着一些弊端和学生自身因素的原因,所以在学习中普遍反映“难学”、“不懂“,这也是学生普遍遇到的问题。

二、现行教学和学习中存在的问题

1.现行教学中理论课与实践课完全分离,不能相互促进。理论课中往往只注重对教材知识的分析和灌输,在广度上对知识没有拓展和延伸,必定会影响对知识深度的剖析,也会造成学生理解的困难。而实践课程通常被放到了次要的地位,很多时候是在走形式:一方面,学生对知识一知半解、往往用上网来对付实践课;另一方面,老师很难监控到每个学生,了解他们是否都在认真编写、调试程序。这就造成理论课没有起到为实践课打基础的作用,实践课也没有起到巩固、应用理论课的作用。

2.学生对计算机基础的学习不深入,严重影响了C语言的学习。因为C语言程序设计课程的延续性和拓展性非常的强,包含了算法、数据结构、计算机基础等相关专业课程和基础课程的课程的知识。在C语言教学中涉及到进制转换、取值范围和顺序存储等基础知识时,发现很多学生还没掌握这些基础知识,甚至根本不理解。在这样薄弱的基础上,C语言教学很难顺利进行。

3.学生在学习中处于被动的接受知识的地位,没有机会主动参与到学习中来,导致学习兴趣不浓、学习停留在表面、对知识学的一知半解。由于接受的多是课本知识,所以动手能力差、应用能力差,导致不能把自己所学的知识应用到实践中去。这样培养出来的学生不能满足社会的需要,也没有达到教学的目的。

三、探索新的教学方法

在多年的教学过程中,尝试多种教学方式,不断总结教学经验,探索新的教学方法。

1.上好第一堂课,引起学生的学习兴趣。第一堂课是最基础的理论知识课,如介绍C语言的发展、特点、优点等内容,往往不被教师所重视,认为应该把精力放到程序设计部分。其实恰恰相反,上好第一堂课至关重要,它关系着学生是否会对学习产生兴趣,渴望进行后继内容的学习问题,所以绝对不能照本喧科。而对C语言的发展追本溯源,将C语言领域的开发投入、研发过程、遇到的问题进行详细的分析,对C语言在现实中的应用以及C++、VC++进行介绍,往往能够引起学生学习C语言程序设计的兴趣、推动后续知识的学习。

2.详细讲解基础知识,深度剖析与后继课程相关的内容,激发学生学习动力。C语言程序设计教学中涉及的数据类型、取值范围、运算符、优先级、表达式等内容虽是基础知识,但对学生来说却是迈入程序设计大门的第一步。没有坚实的基础知识,便无从谈及程序设计,所以对基础知识的讲解一定要详细。比如遇到整型数据的取值范围问题时,可以适当拓展一些原码和反码的知识,让学生知其然,更知其所以然;链表知识是C语言的难点,这部分内容和数据结构联系密切,所以要深度剖析,尤其是对带表头结点的单、双链表更要讲解的清晰、透彻,为数据结构、JAVA语言等后继课程打下坚实基础。这样继往开来,不仅可以巩固以前的计算机基础知识,更能激发学生的学习动力。3.重点分析程序设计过程,培养学生良好的编程习惯,逐步提高学生编程能力。很多学生认为,进行程序设计就是用计算机语言编写源代码,这其实是学习程序设计的一个误区,编写源代码仅仅是完成了程序的编码,而程序设计从问题分析就开始了,它包括分析问题、选择算法、绘制流程图、编写源代码、调试并测试程序,直到取得正确结果这样一个完整的过程。其中绘制流程图能使程序员在编程时思路清晰,减少编程错误。利用流程图来分析、查找、解决程序设计中的问题能够一目了然。例如:下面这一简单的while循环结构,用流程图便可以轻易发现错误所在。图1是错误代码的流程图,它使程序陷入了死循环,图2是正确的流程图。所以绘制正确的流程图,是减少代码错误的有效手段。

Main(0

{int i,sum;

i=sum=0;

While(i<=100)

Sum+=i;

i++;

Printf(“1+2+3+…+100=%d’,sum);

}

在C语言程序设计教学过程中,即使对简单的程序设计的讲解也严格的按照程序设计的过程一步步的进行分析和引导,培养学生良好的编程习惯。

4.通过实践教学,让学生亲自体会程序设计全过程,巩固所学知识。学生通常在C语言的学习上投入了很多的精力与时间,但却离实际要求相差很远。因为缺乏了实践经验和能力,不能满足社会的需求,这也是计算机类学生的通病。为此,在教学中一定要注重理论与实践相结合。案例实验可以说是学习C程序设计最有效的方法之一,在教学过程中我们故意将赋值符号“=”和等号“= =”互换、漏写分号“;”和大括号“{}“,设置一些待解决的错误,引导学生在编程和调试过程中逐一解决这些问题,不仅能够巩固理论知识、养成编程的好习惯,更能调动学生思考问题和解决问题的积极性。同时在解决问题的过程中使学生有一种成就感,这对学习能力的提高和积极性的培养有很好的作用。

5.多种教学手段相结合,提高教学效果。理论教学与实践教学相结合,适当减少理论课、增加实践课,将理论教学融入实践教学中来,逐渐模糊两者之间的界限;传统教学与丰富多彩的多媒体教学相结合、教师讲解与学生课堂讨论相结合,以便调动学习的主动性和积极性。

6.注重对知识的归纳和总结,让学生温故而知新。在教学过程中,按章节、按阶段对相关重点知识进行归纳总结,让学生把模块化的知识连接起来,系统、全面的掌握所学内容。

四、结束语

目前C语言程序设计教学中仍然有很多需要改进的地方,如何提高实践教学质量,使理论与实践相结合,仍需要在教学过程中不断的探索和改革。

参考文献:

[1]杨路明等.C/C++程序设计教程.长沙:湖南科学技术出版社,2003.

[2]谭浩强.C语言程序设计教程.北京:高等教育出版社,1997.

[3]王士元.C高级实用程序设计.北京:清华大学出版社,1996.

[4]徐孝凯.数据结构实用教程(C/C++描述).北京:清华大学出版社,1999.

第五篇:DSP系统程序设计论文

近年来,计算机产品的应用领域越来越广,数字信号处理器的发展表现得尤为明显。DSp芯片制造商和DSp板开发商利用自身的优势不断开发出多DSp结构的产品来满足这种需求。通常的DSp设备是与嵌入式系统相结合,来实时地完成某一特定任务。随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中包括医学、图像处理、军事、工业控制、电信等许多领域。多处理器系统可以根据所需实现的功能和处理器的性能来调节处理结点的数目,使系统达到最佳的性能价格比。

实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系统的调节功能。这里选用的是AD公司新出品的SHARC级处理器ADSp21160。

ADSp21160具有很大的片内存储区、多重内部总线结构、独立的I/O子系统;具有构造多处理器系统的所有特点,能够真正支持处理器数目的可调节功能,十分适合组成高性能浮点的多DSp系统。

VxWorks是目前世界上用户数量最大的实时操作系统。这使它除了具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。由于它具有以上优点,本系统中选用了VxWorks作为MVME167的操作系统。

一、ADSp21160的特点

ADSp21160 是AD公司采用超级哈佛结构的一种新产品。21160的汇编代码与2106x兼容,处理器具有SIMD(单指令流多数据流)功能;而2106x只具有SISD(单指令流单数据流)功能。为了充分利用这种新的功能,一些指令做了一些改变。ADSp21160包括1个100/150MHz的运算核、双端片内SRAM、1个支持多处理器的集成在片内的I/O处理器和多重内部总线以消除I/O瓶颈。

ADSp21160的汇编源代码与2106x兼容。SIMD计算结构:2个32bit的计算单元,其中每一个单元包括乘法器、ALU、移位寄存器及寄存器文件。具有完备的与外围设备接口功能。包括独立的I/O处理器、4Mbit 的片内双端SRAM、可直接连接的多处理器特性及端口(串口、连接口、外总线及JTAG)。

ADSp21160包括2个运算处理单元,具有SIMD功能。处理单元指的是pEX和pEY。pEX始终是有效的,而pEY的有效是通过设置MODE1寄存器中的pEYEN位来实现的。当pEY模式有效时,同一条指令在2个处理器单元中都得到执行,但每一个处理器单元中的操作数不同。

SIMD模式在存储区和处理器单元之间的数据传输也是很有作用的。当使用SIMD模式,通过加倍数据带宽来保证处理器单元的操作。在SIMD模式,当使用DAGs来传输数据时,存储区每次访问所传输的是两个数据值。

ADSp21160包括4Mbit的片内SRAM,分为两块,每一块2Mbit。可以定义为不同字长的指令和数据存储。每一个存储块的双端口结构可以使存储块独立地被运算核处理和I/O处理器访问。21160的存储区最大可以容纳128K的32bit数据,或256K的16bit数据,或85K的48bit指令,或其他混合字长的数据,但总和最大为4Mbit。所有存储区可以16、32、48、64bit字长的字访问。外端口支持处理器与片外存储器及外设的接口,片外的4G地址空间属于21160的统一地址空间。

外端口支持同步、异步及同步BURST访问。DMA控制器的操作相对处理器运算核是独立和不可见的,即DMA操作可与执行指令同时进行。DMA传输可以在内部存储区与外部存储区、外围设备或主机之间进行。21160共有14个DMA通道,其中:连接口(linkport)占6个;串口占4个;外端口(external port)占4个。21160可以通过DMA传输来下载程序,外围异步设备也可以通过DMA请求/应答线来控制2个DMA通道。

21160具有许多特点支持多DSp系统。外端口与连接口支持多处理器系统的直接连接,外端口支持统一的地址空间,允许DSp之间互相访问。片内具有分布式总线仲裁逻辑,最多支持6片21160和主机连接。外端口的最大数据传输率为400MB/s,广播写信号可以同时发

送到各片21160。6个连接口提供了另一种方法实现多处理器之间的通信。连接口的最高传输速率为600MB/s。

整个系统基于VME总线。VME总线系统作为最早的国际通用开放式总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能不断完善,现已成为性能最好、应用最广的国际总线标准之一。

根据设计要求,采用了4片ADSp21160。片外共享内存SRAM可以被主机和各片DSp直接访问;EpROM用来存放初始化程序和各片DSp要运行的程序,在系统上电后这些程序被下载到各片DSp中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSp上,而且也使数据的传输模式更加灵活。

连接口(linkport)是SHARC系列DSp芯片的一个特点。ADSp21160共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行时,每个连接口可达100MB/s。连接口尤其适合多处理器间点到点的连接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应答握手线控制。4片DSp使用连接口实现DSp间两两互连。

21160的主机接口可以很方便地与标准微处理器总线(16/32bit)相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过Hbr、HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。

二、开发环境Tornado

VxWorks的开发环境是WindRiver公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、Hp-UX以及Win95/NT的工作站或个人计算机,VxWorks则运行在Intel x86、MC68K、powerpC或SpARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。

Tornado的体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通信机制。同时VxWorks具有良好的可剪裁性。因此它适用于各种嵌入式环境的开发,小到资源极其有限的个人手持式设备如pDA(personal Digital Assistant);大到多处理机系统,如VME系统。

Tornado可提供一个直观的、可视化的、用户可扩充的开发环境,极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。

主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。

为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主机平台上的工具可以用于所有的目标机系统。

作为一个应用软件开发环境,Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。

三、程序设计

我们选用的DSp开发工具是AD公司提供的VisualDSp。这是一个集成开发环境,支持对SHARC系列DSp芯片的开发。实时操作系统VxWorks的开发工具是WindRiver公司的Tornado集成开发工具。VisualDSp可以C语言或汇编语言编

写的DSp代码,最新版本的VisualDSp还支持C++。它还有1个优点,就是可以编译多片DSp的源代码,并产生下载文件,这就可以很方便地进行多DSp系统的软件模拟。

ADSp21160阵列的设计结构使它既可以构成单指令流多数据流(SIMD)的并行处理机,也可以构成多指令流单数据流(MISD)或多指令流多数据流(MIMD)的流水线处理机,视用户的要求而定。这两种并行方案的选择,简单来说就是选择分割数据流还是分割处理工序。SIMD方案的原理如图1所示。

以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等为VME插件,采用SHARC级DSp芯片阵列完成声纳信号实时处理,基于嵌入式实时操作系统VxWorks及X窗口系统的中央控制和显示。

图2是4片DSp的任务分配图。从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路做频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。

声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动检测、目标参数测定和动目标跟踪。

四、操作流水线

操作流水线是模块内数据计算与I/O的流水线,物理上表现为CpU与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例,输入数据率为2Mw/s,输出数据率为4Mw/s,高速连接口Linkport最高速率为100Mw/s,如果采用串行传输的话,通信时间就将占用60%以上的处理时间,计算时间显然严重不足。所以必须采用并行执行,流程图如图3所示。这也是一种异步流水线方式,每次传送和计算完成都须要设置标志以通知下一操作。

结束语

在VxWorks实时操作系统下,4片ADSp21160上的程序已经通过模拟输入和系统测试。采用SHARC DSp 阵列能够很好地完成声纳信号实时处理,每一片DSp至少有10%的计算裕量,基本达到设计要求。

送到各片21160。6个连接口提供了另一种方法实现多处理器之间的通信。连接口的最高传输速率为600MB/s。

整个系统基于VME总线。VME总线系统作为最早的国际通用开放式总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能不断完善,现已成为性能最好、应用最广的国际总线标准之一。

根据设计要求,采用了4片ADSp21160。片外共享内存SRAM可以被主机和各片DSp直接访问;EpROM用来存放初始化程序和各片DSp要运行的程序,在系统上电后这些程序被下载到各片DSp中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSp上,而且也使数据的传输模式更加灵活。

连接口(linkport)是SHARC系列DSp芯片的一个特点。ADSp21160共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行时,每个连接口可达100MB/s。连接口尤其适合多处理器间点到点的连接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应答握手线控制。4片DSp使用连接口实现DSp间两两互连。

21160的主机接口可以很方便地与标准微处理器总线(16/32bit)相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过Hbr、HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。

二、开发环境Tornado

VxWorks的开发环境是WindRiver公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、Hp-UX以及Win95/NT的工作站或个人计算机,VxWorks则运行在Intel x86、MC68K、powerpC或SpARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。

Tornado的体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通信机制。同时VxWorks具有良好的可剪裁性。因此它适用于各种嵌入式环境的开发,小到资源极其有限的个人手持式设备如pDA(personal Digital Assistant);大到多处理机系统,如VME系统。

Tornado可提供一个直观的、可视化的、用户可扩充的开发环境,极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。

主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。

为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主机平台上的工具可以用于所有的目标机系统。

作为一个应用软件开发环境,Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。

三、程序设计

我们选用的DSp开发工具是AD公司提供的VisualDSp。这是一个集成开发环境,支持对SHARC系列DSp芯片的开发。实时操作系统VxWorks的开发工具是WindRiver公司的Tornado集成开发工具。VisualDSp可以C语言或汇编语言编

写的DSp代码,最新版本的VisualDSp还支持C++。它还有1个优点,就是可以编译多片DSp的源代码,并产生下载文件,这就可以很方便地进行多DSp系统的软件模拟。

ADSp21160阵列的设计结构使它既可以构成单指令流多数据流(SIMD)的并行处理机,也可以构成多指令流单数据流(MISD)或多指令流多数据流(MIMD)的流水线处理机,视用户的要求而定。这两种并行方案的选择,简单来说就是选择分割数据流还是分割处理工序。SIMD方案的原理如图1所示。

以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等为VME插件,采用SHARC级DSp芯片阵列完成声纳信号实时处理,基于嵌入式实时操作系统VxWorks及X窗口系统的中央控制和显示。

图2是4片DSp的任务分配图。从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路做频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。

声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动检测、目标参数测定和动目标跟踪。

四、操作流水线

操作流水线是模块内数据计算与I/O的流水线,物理上表现为CpU与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例,输入数据率为2Mw/s,输出数据率为4Mw/s,高速连接口Linkport最高速率为100Mw/s,如果采用串行传输的话,通信时间就将占用60%以上的处理时间,计算时间显然严重不足。所以必须采用并行执行,流程图如图3所示。这也是一种异步流水线方式,每次传送和计算完成都须要设置标志以通知下一操作。

结束语

在VxWorks实时操作系统下,4片ADSp21160上的程序已经通过模拟输入和系统测试。采用SHARC DSp 阵列能够很好地完成声纳信号实时处理,每一片DSp至少有10%的计算裕量,基本达到设计要求。

下载网络系统设计中的程序设计分析论文(合集5篇)word格式文档
下载网络系统设计中的程序设计分析论文(合集5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    VB程序设计教学中游戏化案例设计

    VB程序设计教学中游戏化案例设计 浙江省普通高中信息技术课程教学要求指出,选修模块《算法与程序设计》以算法与程序设计为主线,揭示利用计算机解决实际问题的过程。我将VB......

    校园网络系统的设计与实施

    摘 要: 基于在计算机网络系统建设中积累的实际经验,重点阐述了校园计算机网络系统的设计和实现方法,包括系统设计原则、网络技术选择、综合布线系统、网络拓扑结构及设备选型,并......

    程序设计初步教学设计

    程序设计初步教学设计 内容分析:第一部分用几个实例让学生认识计算机程序解决问题的基本工作原理。 第二部分主要是通过执行几段计算机程序,了解程序的编制环境和工作过程。......

    论文程序设计流程画图规则

    流程图基本规则 2009-11-25 12:31 原件可到ftp下载 定义 流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的......

    VB程序设计改革研究论文

    摘 要 :Visual Basic程序设计作为非计算机专业公共基础课,其理论性、实践性强,教学难度大。文章就如何提高教学质量,培养学生综合应用程序开发能力作了探索和改革。 关键词:VB;程......

    jsp+sql2005办公自动化程序设计论文+说明

    OA程序设计 Xxxxxxxx学校 办公自动化系统 姓名: 指导教师: 系别: 专业: 年级: 学号: 论文提交时间:2011年5月29日......

    当代艺术中社会学分析论文

    文 章来源莲山 课件 w ww.5 Y k J.COm 9 【内容提要】本文从有关成都双年展的争论入手,讨论了中国当代艺术中的大众文化,从社会学的角度分析当代艺术的前卫性,提出艺术中的“微......

    县级广播电视台存储网络系统改造设计

    泸县广播电视台存储网络系统改造设计 摘要:网络化、数字化是目前广播、电视技术的主要发展方向。实现网络化、数字化有利于提高电视台的工作效率,规范采编制播工作流程,实现集......