水库防洪防汛语音查询与报警系统论文_第1页
水库防洪防汛语音查询与报警系统论文_第2页
水库防洪防汛语音查询与报警系统论文_第3页
水库防洪防汛语音查询与报警系统论文_第4页
水库防洪防汛语音查询与报警系统论文_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文语音信息服务系统PagePAGE32ofNUMPAGES332003-6目录TOC\o"1-4"\f\h\z摘要……………4引言……………51.总体介绍………………………61.1语音信息服务系统简介: 61.1.1.关于CTI产品 61.1.2.关于计算机电话集成(CTI)技术 61.1.3.飞环公司Fi4408PCI系列多功能语音卡 61.2.开发背景: 61.3.系统概述: 71.3.1.语音信息系统分为查询、报警、设置三部分(如图所示)。 71.3.2.查询 71.3.3.报警 8.1.3.4.设置 82.系统分析与设计 82.1.硬件接口介绍: 82.1.1板卡布局示意图 82.1.2用户模块 92.1.3中继模块 92.1.4高阻模块 92.1.5直流电源和铃流电源 92.1.6MVIP电缆 102.1.7电话接口接线盒 102.2功能模块介绍: 112.2.1用户校验及水库选择模块: 112.2.2.信息类别选择模块: 122.2.3.信息播报模块: 142.2.4.水库安全监测语音报警部分: 152.3.系统流程设计: 162.3.1语音查询系统详细设计程序流程图: 162.3.2语音报警系统详细设计程序流程图: 182.4呼叫流程………………192.4.1.外线通道呼叫流程 192.4.1.1.外线呼出流程 192.4.1.2.外线呼入流程 202.4.2.内线通道呼叫流程 212.4.2.1.内线呼出流程(呼叫内线,即使内线振铃) 212.5.编程概述: 232.6.自定义函数及过程: 242.7.数据库说明(只限语音部分): 263.系统测试与优化 283.1.测试简述: 283.2.测试出现的问题及相应的解决方案: 283.2.1.系统假死: 283.2.3.一些数据精度过高 293.2.4.报警闪断: 293.2.5.报警与查询冲突: 293.2.6.用户选项过多: 293.3.系统优化方案: 293.3.1.通用性: 293.3.2.稳定性: 293.3.3.易操作性: 303.3.4.可扩展性: 304系统运行状态…………………304.1.主控界面 304.2.服务设置界面 304.2.1.数据库设置 314.2.2.系统参数设置 315.心得与体会…………………325.1.软件需求调研的重要性 325.2.系统分析的理解 325.3.编码和文档规范的必要性 325.4.系统测试的重要性 336.结束语………………………33致谢 33参考资料 33语音信息服务系统-水库防洪防汛语音查询与报警系统摘要本论文从认识语音信息服务系统出发,深入地对整个项目进行了解。论文主要针对语音查询和语音报警系统的功能要求进行细致分析与实验。语音信息服务系统是信息领域中信息传递、交流和控制的重要部分。通过该系统的语音查询部分实现相关人员对水库信息的实时了解,自动汇报准确、实时的数据,以达到控制和调度各个水库的相关系数;另外,通过其语音报警部分对各水库的安全进行实时监测,一旦超过危险指标,就会自动通过电话给有关负责人进行报警提示,达到预报和防范的目的,以便作出更好的计划和措施来消除隐患。本模块采用DELPHI程序设计语言进行程序设计,采用C/S结构开发,开发硬件接口为深圳飞环电子有限公司的“Fi4408PCI语音卡”。关键词CTIMVIPOnCallInanswerSpeechinformationservicesystemYangzhenxi,DepartmentoftheComputerScience,GuiZhouAbstractThethesissetsoutthecognitionofthesoundinformationservicesystem,.Irealizedthewholeitemdeeply.Thethesisaimsatthesoundqueryandthesystemofsoundalarmtoprocessanalysisandexperiment.Thesystemofsoundinformationserviceisaimportantpartofinformationpass、informationcommunionandinformationcommand.Itcanrealizepersonnelknowthecomprehensionoccasionally、automaticreportandreal-timedatumofreservoirtocontrolandattempertheinterrelatedquotietyofeveryreservoir;Inaddition,itmayinspectthesafetyofreservoirreal-timethroughthesoundannunciator,ithasalarmhintthroughtelephoneaswellasexceedingthetargetofdanger.Thisfunctionisordertoeliminatehiddentrouble.ThemoduleusedDELPHIprogramminglanguageandC/Sstructuretocompletethewholedevelopment.ThedevelopmenthardwareinterfaceistheFi4408PCIsoundcard,itismadeintheShengZhengFeiHuanElectronicLtd.KeywordsCTIMVIPOnCallInanswer引言随着科学技术的发展,人类社会已进入信息时代。计算机技术的发展一日千里,硬件性能成倍提高,软件技术的发展也更加成熟,界面更加友好,使用更加方便。如今计算机的应用已经渗透到各行各业各个部门;水利行业是一个历史十分悠久的行业,也是信息十分密集的行业。一方面,水利部门要向国家和相关行业提供大量的水利信息,如汛情旱情信息、水量水质信息、水环境信息和水工程信息等,另一方面,水利本身也离不开相关行业的信息支持,如气象信息、地理地质信息、社会经济信息等。当今信息技术飞速发展,对水利信息的采集、处理、共享的方式都发生了很大的变化,信息技术加速向水利行业渗透,水利行业面临着全面技术升级的大好机遇。水利政务、防汛减灾、水资源监控调度、水环境综合治理、大型水利工程的设计和施工、大中型灌区的综合管理等都迫切需要采用计算机技术、通信网络技术、微电子技术、计算机辅助设计技术、3S技术(遥感、地理信息系统、全球定位系统)等一系列高新技术进行技术改造。为了更好的防汛减灾,急需综合运用远程自动遥测技术、3S技术、通信网络技术、数值预报技术和数据库技术实现防汛信息的自动采集、传输、处理、存储、查询和集成,做到信息传递及时、洪水预报准确、调度指挥优化、防汛管理可视,为现代防汛指挥提供强大的决策支持。21世纪,以信息化带动水利现代化,是我国水利发展的重要途径。水利信息化,就是充分利用现代信息技术,开发和利用水利信息资源,包括对水利信息进行采集、传输、存储、处理和利用,提高水利信息资源的应用水平和共享程度,从而全面提高水利建设和水事处理的效能和效益。其中CTI(ComputerTelephonyIntegration)是在电话网络进入数字化时代,计算机技术广泛应用于通讯领域后逐渐发展起来的一门综合技术。从早期数字通信技术替代模拟通讯技术以来,计算机已经不只是简单作为电信交换和传输网络的控制部分而存在,而是逐渐演变成语音通信的一部分,将智能化的语音延伸到通信网络的每一个角落。这种计算机电话集成技术的发展从简单的语音信箱应用开始,很快发展起来了智能网业务、IP电话技术、ATM语音技术、统一消息技术、交互式会话系统等,其中IP电话和交互语音(IVRInteractiveVoiceRespond)是目前发展最快和应用前景最为广泛的两种技术,并且已经逐步渗透到无线通信网络和和其他相关行业中,水利信息化的中也扮演这不可缺少的角色,他将为现代防汛信息的查询与指挥提供方便、快捷、实时的专业服务,是电子、计算机,信息处理的综合运用,具有重大的实际意义和超额的实用价值。1.总体介绍1.1语音信息服务系统简介1.1.1关于CTI产品CTI(ComputerTelephoneIntegration)产品是近年来随着通讯与计算机技术的发展而产生的一种融电脑与通讯技术于一体的电脑周边产品,已形成了模拟和数字两大系列十多个品种,涵盖了电话语音、传真与数据通讯及INTERNET网关等诸多方面的需求,在邮电、通讯、金融、证券、企业等许多领域得到广泛应用,为通过电话为媒体的信息采集和传播提供了一种很有效的手段,具有很高的实用价值和广阔的发展前景(如电信的语音服务系统…)。1.1.2.关于计算机电话集成(CTI)技术CTI技术,是指利用计算机来处理电话相关业务。由于计算机系统固有的低成本、高性能和丰富灵活的平台软件,更随着信息产业(IT)和电子商务的蓬勃发展,CTI相关产业更加得以迅速的以展,并大量应用于社会生活的各个方面。如我们身边的168声讯业务,110报警中心,证券委托业务、电话银行业务以及最新的呼叫中心(CallCenter)和电子商务等。CTI在改善服务质量、提高政府企业效率方面起了巨大作用。其中电话语音卡作为联系计算机网络和电话网络的纽带,是CTI技术中关键的硬件基石。利用电话语音卡,结合计算机软件处理技术,可以非常灵活地构造各种交互语音应答(IVR)系统,自动排队(ACD)系统,呼叫中心系统,客户关系管理(CRM)等。1.1.3.飞环公司Fi4408PCI系列多功能语音卡随着CTI技术和IT技术的迅速发展,对电话语音卡提出更多的要求,最突出的要求是。而传统的电话语音卡只能处理单一的语音业务,远远满足不了当前客户发展需求。飞环公司根据当前的要求,推出新一代PCI系列多功能语音卡,实现多功能业务处理能力。如传真业务、VOIP业务、数据传输、语音信箱、语音合成、语音识别等,由于采用先进的数字信号处理(DSP)技术,具有非常强大的多功能业务处理能力。因此,系统架构可扩展性和可靠性均得以大大提高,而系统成本更大幅度降低。是因为卡上集成了语音、传真、VOIP、电话会议功能。另外,飞环多功能语音卡采用高速PCI总线结构体系,由于PCI具有即插即用(PnP)特性,用户无需任何繁锁的设置,包括IO资源分配、Memory资源分配、中断号分配等。因此非常简单易用,符合当前电子设备简单、易用的发展要求。在软件架构方面,飞环公司保持一贯稳定、统一、易用的特性。由于采用了WDM驱动程序,因此适用于当前最流行的Windows98/WinNT/Win2000/WinXP操作系统。1.2.开发背景:软件系统名称:遵义城区水库群应急调度系统任务提出者:遵义市水利局任务开发者:东方世纪公司技术开发部软件用户:遵义市水利局和水库工作人员计算机网络:遵义市水利局内部网+电话线+水库终端由于遵义市防洪任务的日渐严峻,根据国家防洪抗旱总指挥部办公室“办库[1999]第44号”文件精神和《遵义市防洪规划报告》,贵州东方世纪科技有限责任公司受遵义市水利局委托,将在2003年5月31日前完成“遵义市城市水库群洪水应急调度系统”。本系统是一个综合性的洪水预报、查询、调度系统,包括5个水库和4个控制断面的洪水预报调度,其中语音查询与报警系统是该系统的一个子系统,是为了更加快捷,方便的查询和预报洪水状况的信息服务系统。“遵义市城区水库群洪水应急调度系统”要实现各类防汛信息的采集和处理,并符合行业信息规范标准,能及时将遥测站的水情和雨情信息的收集入库,并为各级领导提供图形化和语音化的信息服务,能帮助决策者解决一些难度较大,结构复杂的防洪调度问题。充分利用GIS技术、CTI技术和.NET的优势,使防汛相关信息畅通,信息流向合理。1.3.系统概述:1.3.1.语音信息系统分为查询、报警、设置三部分如图1-1所示.语音信息系统语音信息系统服务设置语音报警语音查询服务设置语音报警语音查询报警用户报警间隔报警电话大坝报警水位报警雨量报警警戒值大坝查询水库查询闸门查询水位查询雨量查询报警用户报警间隔报警电话大坝报警水位报警雨量报警警戒值大坝查询水库查询闸门查询水位查询雨量查询图1-1语音信息系统1.3.2.查询查询是指根据电话中的语音提示,通过按电话键来进行查询雨量、水位、闸门、水库、大坝信息;系统自动对用户的操作进行应答,并以语音形式将信息反馈给用户。并多用户同时查询(根据实际需求,该系统采用两路通道,准许两个用户同时查询)。其查询树如图1-2所示。语音信息查询系统语音信息查询系统用户校验用户校验水库n退出系统返回5.大坝信息4.闸门信息3.水库信息2.水位信息测站信息信息水库n退出系统返回5.大坝信息4.闸门信息3.水库信息2.水位信息测站信息信息水库1水库2水库1水库21.雨量信息1.雨量信息测站信息信息测站信息信息测站信息信息测站信息信息图1-2查询树1.3.3.报警报警是指当雨量和水位超过警戒值时系统自动拨打用户电话告知当前雨量和水位情况进行报警,并根据用户报警的时间间隔进行重复报警,用户还可以在查询部分进行报警设置。1.3.4.设置设置是指对服务器电话,各中警戒值指标,报警用户,报警间隔,系统中断时间进行设置。2.系统分析与设计2.1.硬件接口介绍:2.1.1板卡布局示意图板卡布局示意图如图2-1。图2-1板卡布局示意图2.1.2用户模块用户模块,用来直接驱动电话机。它向电话机馈电,并使电话机产生振铃信号。因此,当语音卡有用户模块时,需要外接的直流电源和铃流电源。用户模块也可称作内线模块。从颜色上分,用户模块为黑色。2.1.3中继模块中继模块本身相当于一部标准的电话机。与市话网的电话线或交换机的用户线相连,由交换机向中继模块馈电。中继模块也可称作外线模块,从颜色上分,中继模块为蓝色。2.1.4高阻模块高阻模块用来并联在市话网的电话线或交换机的用户线上,监听双方通话的内容。高阻模块阻抗很高,它不会影响被监听的用户。从颜色上分,高阻模块为黄色。2.1.5直流电源和铃流电源当卡上有用户模块时,需配有—48V(或—24V)直流电源和25HZ、60~90V的交流铃流电源,我公司提供这种电源,用户也可以自己配。2.1.6MVIP电缆如图2-2示,MVIP电缆为40针扁平电缆线和相应的插座构成。图2-2MVIP电缆2.1.7电话接口接线盒如图2-3所示,有数字表示1~16,对应语音卡上相应的模块。它通过25针D形连接电缆与语音卡上的D行插座相连接。这样便可以用接线盒上的插座与标准的电话水晶头相连,将电话线与语音卡有机的连结起来。如果只用一块8线语音卡,只需要将D形电缆连结至电话接线盒上的“8线卡1”的位置上;如果用两块8线语音卡,它们可以共用一个电话接线盒,分别将其中一个接到“8线卡1”的位置和“8线卡2”的位置。“8线卡1”对应的电话插座为1~8,图2-3电话接口接线盒2.2.功能模块介绍:2.2.1.用户校验及水库选择模块用户校验及水库选择如图2-4。图2-4用户校验及水库选择2.2.2.信息类别选择模块信息类别选择如图2-5。图2-5信息类别选择2.2.3。信息播报模块信息播报如图2-6。图2-6信息播报2.2.4水库安全监测语音报警部分语音报警如图2-7。图2-7语音报警2.3.系统流程设计:2.3.1语音查询系统详细设计程序流程图语音查询系统详细设计程序流程如图2-8。图2-8语音查询系统详细设计程序流程2.3.2语音报警系统详细设计程序流程图语音报警系统详细设计程序流程如图2-9。图2-9语音报警系统详细设计程序流程2.4.呼叫流程:所谓呼叫流程,是指电话通道的通道状态在运行的过程中随呼叫的发生、结束所产生的变化过程。2.4.1.外线通道呼叫流程.外线呼出流程外线呼出流程如图2-10。MakeCall()MakeCall()语音卡IDLE应用程序用户摘机OUT_CALLING振铃OUT_RINGINGOnCallOutFinishOUT_TALK图2-10交换机拨号摘机回铃音停止回铃音OnAnswer用户先挂机用户先挂机挂机忙音OUT_HANGUPOnHangupHangup()挂机IDLE应用程序先挂机应程序先挂机Hangup()挂机IDLE忙音挂机摘机检测忙音检测发送主叫.外线呼入流程(如图2-11):交换机用户应用程序语音卡交换机用户应用程序语音卡摘机IDLE摘机IDLE拨号拨号振铃振铃回铃音IN_CALLING回铃音IN_CALLING主叫发送主叫发送ININ_RINGINGOnOnCallInAnswer()摘机Answer()摘机IN_TALKIN_TALK停止回铃音停止回铃音挂机挂机忙音检测忙音用户先挂机用户先挂机忙音检测忙音用户先挂机用户先挂机ININ_HANGUPOnHangupOnHangupHangup()Hangup()挂机挂机IDLEIDLEHangup()应用程序先挂机应用程序先挂机Hangup()应用程序先挂机应用程序先挂机挂机挂机忙音IDLE忙音IDLE挂机挂机图2-11外线呼出流程2.4.2.内线通道呼叫流程.内线呼出流程(呼叫内线,即使内线振铃) 内线挂机状态下应用程序让内线振铃流程如图2-12MakeCall()MakeCall()语音卡IDLE应用程序OUT_CALLING振铃OUT_RINGINGOnCallOutFinishOUT_TALK内线摘机OnAnswer用户先挂机用户先挂机挂机OUT_HANGUPOnHangupHangup()IDLE发送主叫图2-12呼叫内线.内线呼入流程(内线摘机) 内线非振铃状态下用户摘机流程如图2-13:语音卡语音卡IDLE应用程序IN_RINGINGIN_TALK内线摘机OnCallIn用户先挂机用户先挂机挂机IN_HANGUPOnHangupHangup()IDLEAnswer()图2-13内线摘机2.5编程概述:Fi4408PCI系列语音卡均采用统一d的WDM驱动程序,适用于Windows98/NT/2000/XP操作系统。提供三个层次的编程接口,支持三种编程方法,(A)、Phonic.OCX控件编程接口(B)、Phonic.DLL动态连接库编程接口(C)、PhonicBase.DLL动态连接库编程接口根据实际情况我将采用Phonic.OCX控件编程接口来进行开发,另外,该系统采用方便快捷的DELPHI程序设计语言进行程序设计,采用C/S结构开发。其软件编程接口层次结构如图2-14所示:Fi4408设备驱动程序PhonicA8.sysFi4408设备驱动程序PhonicA8.sys内核层应用层PhonicBase.DLLPhonic.OCXPhonicDemo.EXE功能演示程序其它基于控件的应用程序仿真接口(各类仿真DLL)基于其它编程接口的应用程序PPI2PPI3PPI1PPI4图2-14编程接口层次结构Fi4408语音卡Phonic.DLLA8Test.EXE演示程序2.6自定义函数及过程(如表2-1):类别名称入口参数出口参数主要功能ProcSet_phonic()CallerId:主叫号码Phonenum:被叫号码Overtime:呼叫超时时间根据参数设置语音卡的呼叫属性Procplay_sounds()Filename:文件名播放指定的语音文件ProcDatatosound()Num:数据把相应数据转换成声音ProcstrtosoundStr:字符数据把相应字符窜转换成声音Proccall_bj()呼叫报警用户电话Funcreg_init()返回初始化是否成功系统参数注册Funcget_file()Yybs:标识内容Flags:标识/内容标志该语音文件名根据语音标识/语音内容获得相应的语音文件名Funcset_custor()Custorid:选择标识,s_e:选择/修改newid:新标识选择/修改用户标识('s'表查找,其他表示修改)FuncGet_mokuai()Mkbs:模块标识根据模块标识返回该模块是否要处理FuncGet_sk()Tab_name:数据表名Array_sk:水库列表返回水库数及其名称列表Funcget_czsk:数据表名flag:水库类别array_cz:水库测站列表,对用户选的水库的测站进行检测统计Funcget_value()tab_name,field_name:指定表和其字段values:string;指定条件返回指定字段的值/动态获得指定表,指定条件的指定字段的值Funcget_czyy()id_sk:水库编码id_cz:测站编码获得测站的相应语音文件Funcget_ylxx()Id_sk:水库号id_cz:该水库的测站号yl_data:该站日降水,Yl_hour:该站最近一小时降水量,获得水库各测站的降水量数据FuncFloatto12()str:stringii:integer返回安精度要求取得的数//将相应的数据安ii取其小数精度FuncGet_swxx()Id_sk:水库号id_cz:该水库的测站号sw_hour,liul_hour:该测站最近一小时水位:流量获得水库各测站的水位及流量数据FuncGet_skxx()id_sk,id_cz:水库号,Id_sk:测站号sk_kl:库内水位,sk_kc:存水量sk_rk:入库量sk_ck:出库量;获得水库的:库内水位,存水量,入库量,出库量FuncGet_zmxx()id_sk,id_cz:水库号,Id_sk:测站号zm_flag:测站闸门的启闭zm_qbgd:启闭高度Zm_ll:该站的过闸流量获得水库的闸门相关信息及数据Funckai_bj()yh:用户标识flag:开/关报警标志返回该用户的报警开关开启或关闭用户报警FuncGet_dbxx()id_sk,id_cz:水库号,Id_sk:测站号获得水库的大坝相关信息及数据Funcset_time()char_yhbs:用户标识string;新的时间间隔设置用户报警的时间间隔Funcyl_bj()id_sk,:水库号,Id_sk:测站号curr_yl:当前雨量over_yl:超过雨量获得测站雨量报警数据ture:有报警数据Funcsw_bjid_sk,id_cz:水库curry_sw:当前水位over_sw:超过水位获得水库水位报警数据ture:有报警数据Funcczsw_bjid_sk,:水库号,Id_sk:测站号curry_sw:当前水位over_sw:超过水位获得测站水位是否超过警戒水位及报警数据ture:有报警数据Funcbzsw_bjid_sk,:水库号,Id_sk:测站号curry_sw:当前水位over_sw:超过水位获得测站水位是否超过保证水位及报警数据ture:有报警数据Funcsjsw_bjid_sk,:水库号,Id_sk:测站号curry_sw:当前水位over_sw:超过水位获得测站水位是否超过设计水位及报警数据ture:有报警数据Functime_bj()根据用户的报警开关和时间间隔来获得相应用户FuncFloatto12()Str:string;Ii:integerStr:string根据用户的的要求即ii参数,对一实数进行精确度的取舍。返回取舍后的实数的字符串型。表2-12.7.数据库说明(只限语音部分):说明:数据库名:SKJC,类型:SQL_SERVER,*:表示为关键字(如表2-2)所示表2-2数据表名称字段名称字段类型字段意义说明语音用户表*水库代码nvarchar水库代码*用户nvarchar系统用户名称电话nvarchar语音用户的报警电话*用户标识Int语音用户查询的用户名报警间隔时间Int给用户报警的时间间隔报警开关Char是否报警最后报警时间Datetime最后给用户报警的时间语音模块选择表*模块编号nvarchar*模块名称nvarchar启动模块的名称是否打开nvarchar是否在该系统中启用语音文件表*语音标识nvarchar语音的识别标识语音文件名nvarchar相应标识的语音文件名语音内容nvarchar相应语音文件的内容语音按键对照表*提示音名称nvarchar语音提示音的语音名称提示音标识nvarchar语音提示音的语音标识名按键号码nvarchar相应的按键按键音标识nvarchar该按键的语音标识名语音类别nvarchar该提示音的类别语音参数表*自动编号nvarchar参数标识nvarchar系统语音参数的名称标识参数值nvarchar器相应的参数值参数说明nvarchar语音参数说明水库基本情况表*水库代码nvarchar水库代码水库名称nvarchar水库名称日降水量表,*水库代码nvarchar水库代码*测站编码nvarchar测站编码*日期时间Datetime获得该记录的日期时间日降水量Float该记录该时间的日降水量时段为1时降雨量表*水库代码nvarchar水库代码*测站编码nvarchar测站编码*日期时间Datetime获得该记录的日期时间降雨量Float该记录该1时段的日降水量最新1时段水位流量表*水库代码nvarchar水库代码*测站编码nvarchar测站编码*日期时间Datetime获得该记录的日期时间水位Float该记录该1时段的水位流量Float该记录该1时段的流量水库水情表*水库代码nvarchar水库代码*测站编码nvarchar测站编码*日期时间Datetime获得该记录的日期时间库内水位Float该水库该时间的库内水位入库流量Float该水库该时间的入库流量出库流量Float该水库该时间的出库流量蓄水量Float该水库该时间的蓄水量测站水库编码表*水库代码Nvarchar水库代码水库名称Nvarchar该水库的名称*测站编码Nvarchar测站编码测站名称Nvarchar该测站的名称测站别名Nvarchar该测站的别名名称语音文件名Nvarchar该测站对应的语音文件名水库水文特征值表*水库代码Nvarchar水库代码主汛期汛限水位Float改水库主汛期汛限水位主汛期起讫日期Nvarchar主汛期起讫日期后汛期汛限水位Float改水库后汛期汛限水位后汛期起讫日期Nvarchar后汛期起讫日期正常蓄水位Float不在汛期的正常蓄水位控制站水文特征值与防洪任务表*水库代码Nvarchar水库代码*测站编码Nvarchar测站编码警戒水位Float该测站的警戒水位值保证水位Float该测站的保证水位值设计水位Float该测站的设计水位值雨量警戒值表*水库代码Nvarchar水库代码*测站编码Nvarchar测站编码警戒值Float该雨量站的雨量警戒值3.系统测试与优化3.1.测试简述——软件测试(SoftwareTesting)是软件工程过程的一个重要阶段,是发现软件中错误和缺陷的主要手段,是在软件投入运行前,对软件需求分析、设计和编码各阶段产品的最终检查,是为了保证软件开发产品的正确性、完全性和一致性,从而检测软件错误、修正软件错误的过程。软件开发的目的是开发出实现用户需求的高质量、高性能的软件产品,软件测试以检查软件产品内容和功能特性为核心,是软件质量保证的关键步骤,也是成功实现软件开发目标的重要保障。软件测试的对象为软件开发各阶段的输出结果,包括需求分析、概要设计、详细设计及程序编码等各阶段所产生的文档,其根本任务是以实现规范及用户要求为出发点,检查软件开发的最终产品在内容上的正确性和完全性、软件内部结构上的一致性,以及软件开发各过程阶段的产品结果内容上的正确性和完整性、过程之间逻辑上的协调性和一致性。软件测试依据测试任务要求的类型可分为有效性测试和验证测试两种类型:(1)有效性测试:—有效性测试以实现用户需求为根本点,确认软件的功能、性能和其他特性是否与用户的要求相一致,内容包括:需求规格说明、用户文档、程序文档等的有效性确认;有效性测试有静态分析和动态分析两种基本方式:(2)验证测试:检验软件开发各个阶段,以及阶段间的逻辑协调性、完备性和正确性,例如:需求分析是概要设计的依据,概要设计必须以满足需求为出发点和充分体现需求,使得阶段产品内容保持逻辑上的一致性和协调性。软件测试可应用多种测试方法来实现测试任务要求,黑盒测试与白盒测试是广泛使用的两种基本的测试方法。其中黑盒测试是功能测试、数据驱动测试或基于规格说明的测试。在不考虑程序内部结构和内部特性的情况下,测试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选择测试用例,推断程序编码的正确性;白盒测试是结构测试、逻辑驱动测试或基于程序的测试。测试者熟悉程序的内部结构,依据程序模块的内部结构来设计测试用例,检测程序代码的正确性;—3.2.测试出现的问题及相应的解决方案:3.2.1.系统假死:当用户打进电话进行查询时,如用户一直不挂机,系统将会一直处于线路连通状态,以致该通道始终被占用而没有释放,如这样的情况多次发生,将会使系统处于繁忙主状态,其他用户就不能再打进来查询了,出现系统假死现象。其解决方案为:为每一条通道设置一个时间计数器,当用户呼叫进入时开始计数,根据需要设置计数时间的极限值,若该通道连通时间超过该值,系统将自动中断该通道的服务,以释放通道资源给其他用户,从而解决系统假死现象。2.2.系统延迟:当用户查询完毕后按免提挂机时,系统偶尔会出现延迟现象,即系统不能及时的响应挂机,会保持连通1-2分种,此时,若想马上重拨会出现线路忙而不能立即拨通。解决办法有:(1).在系统中设置退出按键,当用户查询完后按#号键,会立即挂断该通道退出系统,就可以马上重拨进行重新查询;(2). 在程序中对个通话通道进行时实监测,一旦没有通话响应就立即逐发中断事件,不用等到中断事件的自动逐发,这样就可以减少延迟时间了.3.2.3.一些数据精度过高由于采集数据的精度比较高,在入库时其精度也很高,所以在进行播报数据库中的数据时也会随着数据的位数而出现不太合理的情况,比如某个数据小数有10位,在电话播报时也会读到小数点后10位去,以致使语音查询的数据不够简洁,明了。解决方法:在程序中写一个取舍小数精度的函数,根据精度需求进行自动的取舍,在播报该数据前用该函数进行处理即可。3.2.4.报警闪断:当程序在进行报警时,偶尔会出现闪断现象,即当用户接起电话时出现闪断,系统立即就断了,出现该情况是由于起初的程序中没考虑到这种情况,对者中情况没做任何处理。其解决办法是在程序中对用户闪断进行处理,若在报警时的闪断只时报警暂停1-2秒,然后继续播报报警内容。3.2.5.报警与查询冲突:当用户在进行查询时,若当前有报警数据,那么系统将不能及时给该用户报警,这样有可能导致报警不能完成,即就是当同一用户在查询和报警同时发生时,此时的报警就不能达到及时的效果,根据用户的要求和安全性,要对报警数据的优先级提高,当两者同时发生时,以报警为重,先处理报警。解决方案:进行优先级的设置与判断,当出现这种冲突现象时,立即中断查询通道进行报警即可。3.2.6.用户选项过多:在起初的程序设计中,没有考虑当用户的选项超过9项的情况,程序中的按键选择都是从0到9,所以当选项大于9时就不行了,为了以后的升级,必须要求能动态的添加选项。解决办法为:当用户进行选项选择时要求输入按键后按#号结束,然后程序进入下一步,这样就可以任意设置选项了。3.3系统优化方案:3.3.1.通用性:根据实际需要,要求对该系统做成相对通用的程序,即不仅实用与此次水库防洪系统,还要能够用于其他水库,在一定程度上达到通用,因此在进行程序设计时,分成不同的子模块进行组装,对个功能全部写成相对独立的函数和过程来实现代码重用技术,对相对独立的模块进行系统封装,以后使用只需更改相关参数即可重用,在进行程序编写时进行仔细全面的分析,提炼出系统的整体可通用框架,完成相对的通用性,为以后相关系统的开法提供模板,提高程序的开发效益,这将具有重要的社会价值。3.3.2.稳定性:由于该系统属于信息服务系统,是运行于服务器端的信息处理系统,当其运行后就不再需要多少人力进行维护和管理了,因此要求该系统要具有很强的稳定性,否则,就达不到方便、高效的目的。为了增强该系统的稳定性,在进行程序设计是对可预知和不可预知的错误进行综合分析,凡是存在安全隐患的地方都进行了代码优化和异常跟踪,及时对错误进行合理的处理,以致一处出现错误时而不会导致其它地方发生连锁错误,另外,还要对用户的错误操作进行尽可能周到的考虑进去,在进行测试时,对各种可能出现的误操作进行统计,并对相应的错误进行处理,使系统的稳定性得以增强。经过仔细的测试和代码优化,该系统已相对很稳定了,不会出现服务死机之类的错误。3.3.3易操作性:由于该系统的使用者是遵义市水利局和水库工作人员,他们在计算机方面的应用还有一点欠缺,特别是对一些特殊的服务设置,所以要求在程序的使用上尽量简单,快捷。因此在进行程序设计时在不影响功能的前提下尽可能的减少操作,对绝大多数的功能设置都由系统自动完成,对用户界面设计得简单、明了,你只需根据提示进行设置即可。为了更加体贴用户,该系统还设计了全自动的安装程序,用户只需运行该安装程序,系统就会自动安装完整个系统,只要用户有一点计算机操作的基本知识就能很好的使用此系统了。3.3.4可扩展性:由于用户和实际需求的不确定性,任何系统在开发完成后都可能要根据实际需求进行二次开法和维护,为了是延长该系统的生存周期,为了以后的系统维护,在一次开发时就要求在可扩展性方面有较好的扩展接口,因此,在程序设计过程中始终采用模块化,充分利用面向对象开法工具的优势,对系统中的动态数据进行动态加载,如:对水库进行动态加载,就可以根据需要添加,更改水库,另外,对查询信息类别的动态加载又可以满足用户以后添加和删除查询信息种类和数量,这些设计都是为将来系统扩展提供较好的接口。4.系统运行状态4.1.主控界面主控界面如图4-1:图4-1主控界面4.2.服务设置界面:4.2.1.数据库设置数据库设置如图4-2.图4-2数据库设置4.2.2.系统参数设置系统参数设置如图4-3.图4-3系统参数设置5.心得与体会在这次项目的开发过程中,使我真正从实际出发,根据软件工程及项目开发的全过程进行了实践,通过这次实习加深了我对软件开发全过程的理解,在各个方面都有所体会和收获,主要如下:5.1.软件需求调研的重要性软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明的一系列的活动。需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。因此为更好的做好需求分析,必须通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求;为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义;如果在需求分析阶段没做好,那以后的工作就不会顺利,就难以高效、优质的完成项目了。我以前都认为该部分工作不重要,只要写好程序就行了,但这此使我真正认识到了需求的重要性不可轻视。5.2.系统分析的理解系统分析是项目开发中最艰巨的工作,本阶段需要特别注意的工作重点在于:补充完善上一阶段可能欠缺的系统的性能需求;系统分析员需要站在全局出发,设计合理可行的设计方案;在需求不明的情况下设计多种解决方案供客户选择,将系统分解模块,最大限度地设计代码复用;使用UML建模方式,将客户变化的需求映射到模型中,大大提高系统的扩展性和开发效率。因此系统分析员需要面向用户的思想。应当将自己扮演成用户,来了解要交付的项目看起来想什么样式,感觉想什么,从而了解用户的想法并挑选出合理部份去开发。我虽然在系统分析方面还比较欠缺,但通过这此参与的项目开发,使我对系统分析又有了新的认识和理解。5.3.编码和文档规范的必要性在进行程序设计过程中,养成一种好的习惯和写出规范的文档是非常重要的事情,

温馨提示

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

评论

0/150

提交评论