欢迎来到天天文库
浏览记录
ID:8540308
大小:2.02 MB
页数:36页
时间:2018-03-31
《激光模拟射击比赛系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、激光模拟射击比赛系统的设计与实现激光模拟射击比赛系统的设计与实现摘要射击项目一直是我国奥运比赛的传统优势项目,历届奥运健儿为国取得了骄人的成绩,但射击训练人才的培养却存在着诸多制约问题。由于枪弹保管和实弹射击中的诸多安全考虑,射击训练一直不能如同乒乓球等项目那样广泛自由的开展,这一直制约着射击项目在青少年中广泛开展,更成为了制约训练的瓶颈。而今激光模拟射击训练的方式已经为不少射击训练组织采用,其安全、普及性好、成本低的特点尤为突出。为了更好的普及激光模拟射击的训练,需要开发一套配合激光模拟射击系统的网络化比赛
2、系统。这套系统在方便青少年平时训练的同时,更能借助计算机网络,模拟传统实弹射击比赛流程,实时提供个参赛人员的射击数据,从而辅助教练员做出更加具有针对性的射击训练方案。该系统,以光代弹的特点,决定了其没有目前射击训练及比赛中枪弹保管,实弹射击等繁琐的安全问题。因此借助该系统,可以很好的推动我国青少年普及与深入开展射击运动,它更可以作为青少年初期射击训练、竞赛和省市级运动队辅助训练的专用器材。本文将从六个方面介绍激光模拟射击比赛系统的设计和开发等主要工作。1)项目研发背景分析和介绍了国内射击项目训练和比赛的现状,
3、在总结了射击项目发展和普及的若干制约因素后,国家体育总局决定开发一套基于激光模拟射击的比赛训练系统,经多方分析,该系统可以很好的解决目前射击项目训练难、普及难的问题,更能为我国培养更多的神枪手。而激光模拟射击比赛系统就是其中一个重要组成部分。因此,开发一套基于网络的射击比赛系统迫在眉睫,它可以很好的普及我国青少年的射击比赛训练。2)分布式系统的技术准备激光模拟射击比赛系统是一套基于.Net平台,采用分布式技术进行应用程序开发的网络系统。本文将介绍分布式技术的发展,结合项目本身的业务需求等实际情况,在比较了We
4、bService与Remoting的分布式应用的特点和区别后,因Remoting技术执行效率高,安全性好,可扩展性强,可按引用传递对象的特点,决定采用.NetRemoting进行本项目的分布式开发。Remoting技术封装了复杂的底层通信细节,通过多层封装技术,将底层对象与应用对象完全隔离,在.Net的CLR的支持下,我们调用远程对象的方法基本和调用本地对象相同,采用该分布式技术,能帮我们从复杂的网络底层细节中解放出来,让我们更好的关注于业务逻辑。在介绍了Remoting的优缺点后,本文对其的分布式对象技术的
5、原理也有详细涉及。3)系统的流程设计与需求分析本文将参照现有的射击比赛流程,设计了一整套适用于激光模拟射击训练器械的比赛流程,在经过详细的流程设计后,采用用例建模的方式对软件系统进行详细的需求分析,本系统需要实现创建比赛、登入比赛、验证选手、执行比赛和比赛存储等用例,文中将对上述的各个功能用例进行详细描述,并给出了系统的用例图和比赛流程的状态图。29激光模拟射击比赛系统的设计与实现在总结了系统的功能性需求外,还对本系统的易用性、可靠性、可扩展性、性能和设计约束等非功能性需求进行了具体分析。进而明确激光模拟射击
6、比赛系统的需求规约,这将大大的有助于系统的后续设计、开发和测试。1)比赛系统的设计在分析了系统的流程与需求规约的基础上,对激光模拟射击比赛系统进行详细的软件架构设计。本系统将采用Client、Server和Database的三层分布式结构。对Client端和Server端均采用以GUI、Controller、BusinessService三层为主的逻辑架构进行设计。其中,GUI层使用ViewModel模式,借助WPF技术中的Binding通道实现界面的显示与用户操作。Controller层的实现则借助接口技术
7、以保证远程对象类型实现的隐密性,并因.NetRemoting分布式对象技术的远程服务的需要,采用SingleTon设计模式进行对象设计。根据比赛系统的功能需求,明确各实体类间的业务关系,完成业务逻辑的设计。并针对用例需求中比赛文件的存储,设计各个比赛实体类的xml存储格式。2)比赛系统的实现与测试按照系统架构设计,对激光模拟射击比赛系统完成了编码实现,实现了包括比赛名单录入、参赛人员验证、参赛者定位、开始/结束比赛等业务逻辑功能。本文对系统的网络通讯接口部分,Remoting实现部分给予详细描述,并例举比赛射
8、击流程中关键接口的实现。在实现比赛功能需求的业务逻辑以外,本文还给出了一种基于双射击信号的错靶识别算法。通过判断扳机扣下的主射击信号与靶面激光点消失的辅助射击信号间的时间差长短,判定靶面的激光点归属,从而消除错靶射击的干扰,以确保射击运动员射击成绩的正确性。在系统的编码实现阶段,使用迭代的方式不断的对各个软件模块进行功能性测试,功能测试采用黑盒方式进行。参照比赛设计的流程,采集和设计测试用例,并应用
此文档下载收益归作者所有