视听2020.08|一、开发平台的选用和介绍
该款评分软件使用Visual Studio 2019平台开发,Microsoft Visual Studio (以下简称为VS )是美国微软公司的开发工具包系列产品。VS 是一个基本完整的开发工具集,包含了整个软件生命周期所需要的大部分工具。评分系统使用C#语言为基础开发语言,采用.NET 平台WebAPI 模式开发服务器端,采用Bootstrap 、knockout.js 、WPF 构建跨平台客户端,利用Jquery 的AJAX 方法调用和服务器端进行数据交互实现。
二、系统功能及可行性分析
该款评分系统采用B/S 、C/S 架构,在服务器端实现
会员注册、会员权限管理、参赛数据收集、评分数据读写等功能;在客户端通过Jqury 的AJAX 方法调用实现和服务器端的数据交互,从而实现评分过程。之所以采用WebAPI 模式开发服务器端是出于客户端跨平台特性的考虑。采用WebAPI 模式时,服务器和客户端传输数据可选择JSON 格式。JSON 格式是一种轻量级通用的数据交换格式,可以轻松将JSON 格式数据转换成JavaScript 对象。得益于JavaScript 在多种应用中的广泛
使用,JSON 可在手机浏览器、电脑浏览器、
电脑程序、等多类客户端和服务器实现无差别通讯,
丰富客户端形式。以下从服务器端及客户端分析系统可行性。
(一)服务器端
完成服务器端会员注册、会员权限管理、
参赛数据收集、评分数据读写等基本功能,
首先要建立会员模型、权限管理模型、参赛模型和评分模型,
然后利用VS 平台的代码优先规则建立从模型到数据库关联,
进而实现模型数据读写的基本功能。相应模型、
相关数据库建立以及服务器寄宿方式设置如下。
1.会员及权限模型。构建该系统的权限管理模型时,该系统对会员身份的需求大致可以分为系统管理员、比赛管理员、评委、参赛者和普通会员五类。系统登
录采用注册登录制,系统管理员具有更改已注册会员身
份的权限,
采用ASP.NET 的Identity 模块来实现该系统的会员功能。ASP.NET Identity 可用于所有的ASP.NET
框架,如ASP.NET MVC 、Web 窗体、
网页和WebAPI 。采用ASP.NET 的Identity 建立模型可简单实现跨平台的用户管理。主要用户模型字段及角模型字段建立如表1。
业务流程如图1,管理员划分角。
图1注册管理流程
2.评分模型。系统管理员添加比赛并分配比赛管理
员,比赛管理员完成添加比赛评委及参赛者后,
添加单场比赛评分项,评委根据比赛进程进行打分操作,
主要涉及评分模型字段建立和评分流程,
如表2和图2。表2数据库表格
图2评分流程
3.创建数据库。至此已经设置好主要模型,通过VS 的代码优先编程模型,可以依据数据模型创建数据库实体。为给定数据模型协调实体框架功能的主类是数据库上下文类,通过创建派生自DBContext 的类来定义这种对应关系。根据前述设置好的模型,通过代码优先规则共生成了用于存储数据的5张数据表,分别用于存储用户、角、比赛和评分记录等信息。
4.服务器寄宿方式。服务器端可通过设置寄宿方
网络评分系统的设计与实现
阴谭正龙
摘要:针对各类打分型评比遇到的评分计算问题,
需要设计开发一个网络评分系统。这款软件应实现多终端网络评分,具备运算显示排名结果的功能,基本解决评分问题,有效提高工作效率。
关键词:网络评分系统;C#;WebAPI ;JavaScript ;
knockout.js
表1
用户模型
表
技术与应用
263
|RADIO &TV JOURNAL 2020.08
式,达到支持多类型客户端的目的。WebAPI 寄宿的本质是利用一个具体的应用程序为WebAPI 提供一个运
行的环境,并最终解决“请求的接收和响应的回复”。该评分系统采用Web Host 方式寄宿WebAPI 接收以及响
应来自、移动客户端浏览器、
电脑端浏览器的请求,采用Self Host 方式寄宿WebAPI 接收以及响应来自电
脑应用程序的请求,
如图3。图3寄宿方式
(二)客户端
该评分系统支持多种形式的客户端,
主要包括移动设备浏览器、电脑浏览器、和电脑应用程序,
采用电脑程序端可以实现评分过程、评分结果的投屏显示,
方便评分进程公开化。下面主要以移动设备端以及电脑程序端进行说明。
1.移动设备端。移动设备客户端采用Jquery 的A-JAX 异步通信模式和服务端实现数据交互,
移动设备客户端发送的请求通过服务器的Web Host 模式路由到达
对应的服务处理程序中进行处理,
服务器再将处理结果返回客户端。为了在多种屏幕大小不一样的设备中获取最佳使用体验,使用了Bootstrap 和knockout.js 进行界面的设计以及界面元素和后端数据的绑定。
2.电脑应用程序端。电脑应用程序设计是为了获得更好的投屏显示效果,因此采用了VS 平台中的WPF
来进行开发。WPF 的优势在于图形向量渲染引擎,
能开发出较为酷炫的界面以满足投屏显示评分过程及评分结果的需求。电脑应用程序端发送的请求通过服务器的Self Host 模式路由到对应的服务处理程序中进行处理,服务器再将结果返回客户端显示。
三、主要代码设计与实现
(一)在服务器实现Web Host 寄宿以支持与移动设备浏览器、、电脑浏览器的连接与数据交互。采用Web Host 方式寄宿WebAPI ,ASP.NET 自身的路由系统会成为接收请求的第一道屏障,因此我们需要做的就是根据需求注册相应的路由。在项目中添加一个Global.asax 文件,并建立Application_Start 方法,在方法中完成路由设立,代码如下:
(二)在服务器实现Self Host 寄宿以支持与电脑应
用程序的连接与数据交互。对比Web Host 寄宿方式,
Self Host 不仅要完成必要的路由注册,
还需要完成手工加载定义了HttpController 类型的程序集。jquery实现ajax
之后在WPF 应用程序端的启动程序中设置Http-Client 访问服务器,通过HttpClient 的GetAsync 方法获
得需要的数据。
(三)在客户端通过调用Jquery 的AJAX 方法来实现与服务器的连接与数据交互。由于该方法重用率高,应建立AJAXHelper 工具以方便重复调用AJAX 方法。
四、结语
本文阐述了网络评分系统的设计与实现,包括系统
数据模型的建立,服务器与客户端主要功能部分的实现过程等内容。评分系统由服务器、多类客户终端组成,操作简单,可实现移动设备如手机端打分,具有较强的通用性,适应多种场景,可以为各项活动、比赛、晚会等评分、显示提供便利途径,提高打分的效率及准确率。
(作者单位:广西广播电视台
)
技术与应用
264
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论